西门子1500PLC X2接口 PROFINET 通信时应遵循的特别注意事项
一、问题点
在使用西门子S7-1500系列PLC,如1516-3PN, X2接口做PROFINET通信时候,对于固件版本为 2.0 及更高版本的 CPU,如果在其第 2 个 PROFINET 接口 (X2) 上组态 PROFINET IO 通信,则将产生额外的系统负载,该系统负载的大小取决于连接IO站的数量以及通信数据量的大小。

二、案例举例
使用西门子PLC做运动控制的工程师都知道,使用OB91和OB92的默认优先级为分别为26和24,而26是1500CPU中组织块最高的优先级,几乎没有更高的优先级事件来中断这些组织块。但是一旦我们使用了X2接口做PROFINET通信时,那么此时PROFINET 通信的优先级会比我们用户的程序的所有的优先级都高,也就是高于26,这意味着X2接口的PROFINET IO通信会中断运动控制的组织块,OB91或者OB92,所以这必然会影响运动控制的效果和导致CPU循环周期的延长。

三、解决办法
1.延时同步循环中断或硬件中断的执行
这种额外的系统负载取决于:
• PROFINET X2 接口的通信量
(接口的通信量(以每秒的帧数表示)会产生通信负载和系统负载。不能使用“通信负 载”(Communication load) 参数限值通信量。)
• PROFINET X2 接口上 CPU 在 1 ms 内更新的 IO 设备数目
• 使用“RT_INFO”(读取 RUNTIME 统计信息)指令时,可通过 Mode 参数(模式 10 或模式 20)确定额外的系统负载。
2.降低额外的系统负载
通过以下措施,可降低第 2 个 PROFINET 接口上的通信负载:
• 减少所连 HMI 设备的数量或减慢 HMI 设备的更新循环
• 减少或缓慢与其它 CPU 的通信
3.TIA Portal 中指定给 PROFINET 接口 (X2) 的所有IO设备的更新时间
• 在 STEP 7 的“网络视图”(Network view) 中,选择“I/O 通信”(I/O Communication)。
• 将“更新模式”(Update mode) 参数设置为“可调整”(Adjustable)。
• 在下拉列表中,选择一个较高的“更新时间 [ms]”(Update time [ms]) 参数值。
四、总结
所以一旦我们使用X2接口的PN通信,就需要注意它可能会对所有的程序产生中断,从而可能造成工艺控制不准确,CPU周期的超时等。那么在必要时,我们需要使用通信模块来避免这样的问题。
***关于通讯负载设定可以参考以上文章
如何查看并合理设置西门子S7-1200/1500 CPU的通讯负载率?
