故事作者:赵欣

最近创作

看看TA的故事

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

已锁定

赵欣

官方工程师

  • 帖子

    391
  • 精华

    54
  • 被关注

    186

论坛等级:奇侠

注册时间:2006-07-07

黄金 黄金 如何晋级?

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

6587

9

2020-04-30 09:58:27

star star star

 专家大讲堂《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通信原理探秘】系列连载故事汇总


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

请填写推广理由:

本版热门话题

西家技术派

共有64条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

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