1)控制PLC的启停(指令41 )
翻阅通讯手册,我们也能找到每个指令的解释与实例。
如下两图,为命令码41的格式与实例,
控制码为0表示停止PLC,为1表示启动PLC。
根据这些信息,我们就可以编写出控制PLC启停的帧,
以及PLC回应的帧我们也能提取出信息,具体代码在下面。
PLC回应的帧我们这里不核对校验码,
简单通过判断错误码来判断PLC是否成功执行指令。
错误码为0表示PLC执行成功。
如下图指令格式中,错误码在第5个字节。
我们就可以写出控制PLC启动与停止指令。
char c[9]
c[0] = 0x02
c[1] = '0' //0x30
c[2] = '1' //0x31
c[3] = '4' //0x34
c[4] = '1' //0x31
//0x30 为停止PLC指令,
//0X31为启动PLC指令.
c[5] = ‘0’
//c[6],c[7]为和校验码,
//即前面数据相加c[6]为高字节,
//c[7]为低字节。
c[6]
c[7]
c[8] = 0x03//帧尾
2)读取PLC连续多个寄存器资料(指令46 )
翻阅通讯手册,我们也能找到指令46的解释与实,
如下两图。
读取的寄存器个数在第一个字节指定,
读取的起始寄存器地址紧跟其后,
传统6个字节表示单字寄存器,
传递7个字节表示双字寄存器,
PLC支持的寄存器手册上也有介绍,
在后边有截图。
PLC回应帧格式里,
我们也能看出错误码在第5个字节,其后紧跟数据。