技术论坛

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

返回主题列表
作者 主题
赵欣
官方工程师
西门子官方工程师西门子官方工程师

经验值:5577
发帖数:387
精华帖:52
楼主    2020-04-30 09:58:27
主题:【PLC通信原理探秘】大讲堂幕后彩蛋之老生 精华帖 

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

 

最新更新:

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

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

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

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

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


     时光如梭,一转眼在西门子技术支持这个岗位上工作快15年了,我也从一名年轻的工程师也变成了老工程师。很遗憾,没有经历过S5到S7换代,那时我还在学校里,到工作中直接使用的是S7,可以说S7是看着我成长的,我也是看着它更新换代的,从S7-300/400PLC更新到S7-1500PLC,而它的很多通信的基本概念和理论没有改变。像我这样的“老生”还需要把这些“老”概念再好好谈一谈。


     S7-300/400PLC通信负荷默认20%,到1500PLC的默认50%,前面提到很多通信,例如TCP都是发生在时间片的,并且这个参数的调整是直接影响这些发生在时间片上的通信的。那么调整通信负荷对于通信的影响到底是什么?


     首先,根据手册公式,用来计算在一定通信负荷情况下的CPU的实际的循环周期。

 

 

     我们都知道通信负荷会延长PLC的周期时间的,如果纯粹的OB1的循环周期是10ms,那么当通信负荷为20%的时候,切记这里说的不是参数调整为20%,是指实际的通信负荷为20%,那么PLC的循环周期会延长到12.5ms。那么设置通信负荷参数15%和50%,对于通信的影响是什么呢?

 

                 

      使用2台CPU1516-3PN/DP,取消最小循环周期为1ms的使能,建立TCP/IP通信,数据发送字节数为64K。在设置通信负荷为15%的时候,发送TCP的64K数据大约需要160ms,该时间的计算是来在Wireshark中的64K的TCP报文首尾的时间差。而在设置通信负荷为50%的时候,同样发送TCP的64K数据大约需要28ms。这意味着设置高的通信负荷可以在单位时间内发送出更多的数据,这是好的方面,因为这符合你设置高的通信负荷的预期,而负面影响就是产生高的带宽负荷,这又是你需要格外考虑的。


     如果纯粹的OB1的循环周期是10ms,且设置最小的循环周期是15ms,通信负荷为20%,那么意味着整个循环周期将延长到18.75ms,而通信部分是3.75ms,死区时间是5ms。

              

      但是由于CPU内部的优化,实际上的通信可用的时间是8.75ms,即如果设置的通信负荷是20%,这种情况下可用的通信负荷实际上高达46.67%。那么如果有这么高的可用的通信负荷是不是通信更快了呢?


              

 

       仍然使用2台CPU1516-3PN/DP,设置最小循环周期为50ms,建立TCP/IP通信,发送数据仍为64K。在设置通信负荷为50%的时候,发送TCP的64K数据通过Wireshark查看大约需要350ms。什么?是不是哪里弄错了?


     按照上面的公式,且不说可用的通信负荷可以超过50%,就单纯的通信负荷为50%,发送64K的数据,对于1500来说是绰绰有余的,上面的实验只需要28ms。而现在的350ms是什么原因导致的呢?看来还有未解之谜。


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

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

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


读万卷书 行万里路
小釉
至圣

经验值:10019
发帖数:2779
精华帖:26
3楼    2020-05-11 15:25:42
精华帖  主题:回复:【PLC通信原理探秘】大讲堂幕后彩蛋之老生

WINCC或者触摸屏和PLC大数据量的通讯

赵工,我看到你在一个地方提到,WINCC或者触摸屏和PLC大数据量的通讯会增加CPU的扫描周期。

比如通讯负载我设置成了50%,那么这20%都会被WINCC或者是触摸屏使用完毕。

如果我把通讯负载设置成20%,是不是CPU的扫描周期就会降下来呢?降低通讯负载的话,对通讯有什么影响。在时间片中处理的通讯,实时性相对于PN通讯来说,优先级会低,没有硬性的规定说一个扫描周期内,时间片必须处理掉所有的通讯任务吧,分好几个扫描周期处理不可以吗?

触摸屏和WINCC和PLC都是通过S7通讯来实现的,如果我设置成了20%,我就拿20%的时间来处理和WINCC或者触摸屏的通讯,一个扫描周期处理不完所有的数据,我可以在下一个扫描周期再去处理可以吗?

还是说必须在一个扫描周期内,将所有触摸屏上的变量通讯都得刷新一遍?

www123456
至圣

经验值:12233
发帖数:2431
精华帖:86
5楼    2020-05-11 19:29:49
精华帖  主题:【故事】回复:【PLC通信原理探秘】大讲堂幕后彩蛋之老生
我认为一个扫描周期内,时间片不一定处理完所有的通讯任务,与外设通信相对于扫描周期是异步的,要分好几个扫描周期的。
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。