品牌:SIEMENS/西门子
西门子(SIEMENS)的PLC产品包括LOGO、S7-200、S7-1200、S7-300、S7-400、S7-1500等。 西门子S7系列PLC体积小、速度快、标准化,具有网络通信能力,功能更强,可靠性高。S7系列PLC产品可分为微型PLC(如S7-200),小规模性能要求的PLC(如S7-300)和中、高性能要求的PLC(如S7-400)等
如何判断S7通信中断
通过Get/Put向导中的状态字判断
Get/Put向导创建的每一个操作都会有状态字。点击左侧项目树程序块---向导中NET_EXE,可以看到每个操作对应的状态字,本测试程序中CPU2的PUT对应的状态字为VB340,CPU3的PUT对应的状态字为VB380。
图3.状态字
在状态图表中监控VB340和VB380,格式选择二进制,状态字VB340和VB380的第6位(通信已经激活标志位)正常情况下是01不断变换,当某一个远程通信伙伴方线路断开后,该位会一直保持为1。
如何获取S7通信的错误代码
接着上文中“方式二”的测试,状态字的低4位为错误代码,通过判断错误代码来判断通信是否已经中断,这里需要特别注意,当通信伙伴线路断开时,本地CPU并没立马收到错误代码,需在RUN---STOP—RUN切换后才能收到错误代码。错误代码(错误代码5)只会存在一个扫描周期,所以需要用上升沿来捕捉错误代码,如下图所示。
图4.错误代码的读取