一个指令判断通信是否正常
在PLC通讯的过程中,怎样通过一个指令就能判断通信是否正常,以态网通信防呆诊断为程序锦上添花;下面以S7单边通信为例,来实现添加一个指令判断通信是否正常。用系统集成的指令去做这种诊断不仅稳定而且反应迅速。
条件
现在是两台PLC一个是服务端,一个是客户端,并且在客户端侧写了PUT/GET通讯,现在我们在客户端添加批令来判断通信是否正常。当通信不正常的进候立即启动报错闪红灯的操作。
实现步骤
1、在通讯指令集里面找到开放式用户通讯,找到其它然后再找到T-DIAG指令,它的名称叫"检查连接"; 它可以检查TCP通信,UDP,Modbus TCP, S7通信的连接状态是否正常。
在数据块中新建一个变量名为诊断,其类型为TDiag_Status;这个结构里面有它输出结果的详细信息。
2、填写指令的参数,一个是通讯的ID也就是通讯的ID ;
将两台PLC下载并启动,并且可以看到连接成功,发送数据和连接数据都在不断增加,说明通讯交互的数据都正常。
当我们将通讯线掉掉或断开PLC通讯就没有数据了,status的值也由原来的4变成了1说明连接中断。而且还可以通过T-DIAG指令获取更多关于通信的相关信息。