专家大讲堂《PLC通信原理探秘》系列视频:https://www.ad.siemens.com.cn/service/elearning/series/288.html
最新更新:
连载之十六: 【PLC通信原理探秘】大讲堂幕后彩蛋之愁深
连载之十七: 【PLC通信原理探秘】大讲堂幕后彩蛋之砥砺
连载之十八: 【PLC通信原理探秘】大讲堂幕后彩蛋之前行
连载之十九: 【PLC通信原理探秘】大讲堂幕后彩蛋之一步
连载之二十: 【PLC通信原理探秘】大讲堂幕后彩蛋之之遥
连载之二十一: 【PLC通信原理探秘】大讲堂幕后彩蛋之残余
当我逐步掌握这些通信的原理和背景知识,就可以游刃有余的解决来自客户的问题和处理各种相关的案例。只能说“天空飘了5个字,那都不是事!”。然而,当问题出现,解决相关问题的知识都不是独立存在的,都是要各种相关的系统知识去尝试从而解决它。而且当我面对这些问题的时候,从来没有绕路过去,即换个模块,换台设备或环境试试,都是要正面面对它,即使棘手,也还是要不断的测试,推论,再测试,再推论,直到发现真正的原因。
当S7-1500PLC横空出世的时候,相关的通信一样我也要过一遍,看看是否存在一些不同,或者特殊的地方,已解决来自客户的问题。绝大部分的通信行为性能都是和S7-400PLC相同的,没有质的改变。然而在CPU1500的X1接口存在一个选项,称为 “Limit data infeed into the network” (CPU1518的X2接口也有该选项) 。这个选项根据手册和在线帮助,我没有看明白到底是限制外来的流量还是自己产生的流量,而且为什么1500CPU有这个选项,300/400PLC却没有?
为了弄清这个基本方向,我向总部求证了这个该参数的作用。原来300/400PLC都是有的,只不过没有开放,都是默认勾选的,而对于1500PLC这个参数开放了,我们可以根据自己的应用来调整该参数。那么此参数的作用是用于限制控制器所产生的NRT数据对于整个网络的影响,例如,即使产生大量的TCP/IP的数据涌进网络中,使能该参数,通信负荷可以被限制且平滑的进入到网络中,而不必产生负荷高峰,从而影响到其它的数据通信。
那么需要实验来验证一下限制网络负荷是如何限制的。取两个1500CPU,设置Communication Load为50%,目的就是不限制时间片上的通信。建立若干个TCP的连接,在一侧全部是TSEND,另一侧全部是TRECV,以尽可能快的频率去触发发送使能,参考前面的AN Q0.0的程序,只需要改成M0.0即可,然后使用跳转程序逐一投入发送功能块,通过Wireshark进行抓包,然后使用Wireshark IO graphs进行分析,分析发送TCP的帧的带宽流量。结果如下,左侧的图形使能了“Limit data infeed into the network”,右侧图形中CPU没有使能该参数,由于操作失误,左侧图形中的1,2发送同时投入,所以会看见比右侧的高,然而这并不影响最终的结果,接着投入3,4,5,发现到第5个发送投入时,左侧的限制非常明显,约为14Mbps,而右侧图形中没有做相应的限制,占用网络带宽约为20Mbps。这就是这个参数的作用和意义!那么这是否与Communication Load有一定关系呢?还是和OB1的循环周期相关呢?后者说限制负荷高峰这是唯一的方法吗?
这些问题似乎前面都提到过,都是老问题了,需要澄清这些问题,看来是需要老生常谈了。
----------未完待续----------
连载之二十三: 【PLC通信原理探秘】大讲堂幕后彩蛋之老生
连 载 汇 总: 【PLC通信原理探秘】系列连载故事汇总