故事作者:赵欣

最近创作

看看TA的故事

【PLC通信原理探秘】大讲堂幕后彩蛋之花明

已锁定

赵欣

官方工程师

  • 帖子

    391
  • 精华

    54
  • 被关注

    186

论坛等级:奇侠

注册时间:2006-07-07

黄金 黄金 如何晋级?

【PLC通信原理探秘】大讲堂幕后彩蛋之花明

9802

17

2020-03-12 09:14:05

star star star

专家大讲堂《PLC通信原理探秘》系列视频:https://www.ad.siemens.com.cn/service/elearning/series/288.html

 

连载之一: 【PLC通信原理探秘】大讲堂幕后彩蛋之序言

连载之二: 【PLC通信原理探秘】大讲堂幕后彩蛋之初探

连载之三: 【PLC通信原理探秘】大讲堂幕后彩蛋之失败

连载之四: 【PLC通信原理探秘】大讲堂幕后彩蛋之曙光

连载之五: 【PLC通信原理探秘】大讲堂幕后彩蛋之黑暗

连载之六: 【PLC通信原理探秘】大讲堂幕后彩蛋之破局

连载之七: 【PLC通信原理探秘】大讲堂幕后彩蛋之扬帆

连载之八: 【PLC通信原理探秘】大讲堂幕后彩蛋之柳暗

 

        2007年的夏天慢慢走远,迎来了北京最好的季节-秋季,秋高气爽,总是让人心旷神怡。CCP和时间片的概念探索已经初见成效,仿佛自己也随着天气的变化,变得轻松许多!

 

        Profinet IO的刷新时间和CPU的循环周期时间是不同步的,各自有各自的周期时间。如果编写的用户程序过大,那么CPU的循环周期自然会变长,假设100ms,但是如果此时想快速的刷新IO设备,例如8ms,此时的程序是不能做到真正按照8ms来刷新IO的,因为CPU的循环周期是100ms。

 

        那如何来解决呢?除了瘦身程序外,首先想到的是使用指令PIW/PQW这样的指令,并在循环的组织块,例如OB35,循环周期8ms中调用,这样就能够实现真正按照8ms来刷新IO设备。

 

        而对于PIW/PQW指令,它真的像很多工程师想象的那样,这个指令去直接访问分布式IO设备上的IO数据吗?这真的是一个误区,而且这样认为的人还是大有人在。通过Wireshark抓包,可以看见并没有因为该指令的出现而出现一些特殊的读写IO数据的报文,仍旧是周期性的循环数据帧。

 

        那么既然PIW/PQW这样的指令不是直接访问分布式IO的IO数据,那么也就说明它们访问的CPU内部的缓冲区,是哪个数据缓冲区呢?就是前面我所给大家定义的外设IO区,此区域是数据随着PN IO的刷新周期而变化,PIW/PQW就是访问于此,能够直接和外设IO区进行数据交换,从而达到真正按照8ms刷新时间去刷新分布式IO。

 

        理解了PIW/PQW的工作原理,那么在使用它们的时候,尤其在编程时,需要注意的是因为它们直接访问外设IO区,那么在CPU的循环周期内是不一致的,如果在编程时,多次使用并访问相同的IO地址区时,需要特别注意,因为有可能前面的结果被后面的程序执行所覆盖。上述原理同样适用于S7-1500使用:P指令的操作。

 

        至此,我把PII/PIQ以及使用PIW/PQW指令的背后的原理和概念全部弄清楚了。这些概念同样也适用Profibus DP,那么作为CPU循环周期中的最后两个拼图PII/PIQ对于通信的作用是什么呢?

 

        前面提到了时间片和CCP,例如S7-400与PG进行通信时,数据通信发生在时间片,而300PLC发生在CCP。结合的这个测试,说明也不是所有的通信都发生在时间片或CCP,例如PN IO和PB DP,这两种通信是独立存在的,也就是说20%参数的调整不能改善任何关于这两个通信的性能。这里为了归类和好理解,我把 PN IO和PB DP的通信,归结到PII/PIQ,这样一个完整的CPU的循环周期,能在各个部分PII/PIQ/AP/CCP中看到各种各样的通信服务,也说明在CPU周期中通信无处不在!(需要特别说明的是当使用S7-1500CPU的X2端口时,进行的PN IO通信却不是这样的,后面再给大家说明。)

 

        此外,回过头再看300/400PLC中属性中的循环部分,默认的PII/PIQ大小一般是256字节,这说明刷新PII和PIQ的时间不能被忽略,最起码它会影响CPU的循环周期时间,也就是说如果该区域设置过大,那么CPU就要消耗更多的时间进行扫描,交换数据,自然CPU的循环周期会延长。而再看如今的1500CPU时,默认都是过程影响区,这就说明1500性能真的强大,无需优化这些参数来降低CPU的循环周期。

 

        20%的谜题基本上解开了,即20%的参数只能优化发生在时间片上的通信服务,对于发生在CCP,PII/PIQ上的通信服务无能为力。

 

        整个CPU循环对于通信服务的操作和背后原理的总结,在探索通信原理的道路上终于前进了一大步,对于笔记本中所记载的哪些问题,我只能说,前进吧!

 

----------未完待续----------

连载之十: 【PLC通信原理探秘】大讲堂幕后彩蛋之远航

连载汇总: 【PLC通信原理探秘】系列连载故事汇总

 

【PLC通信原理探秘】大讲堂幕后彩蛋之花明 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

西家技术派

共有64条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

top
X 图片
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。