(1)下行和上行报文分别用“发:”和“收:”区别开来。在颜色上也不同,发为绿色,收
为蓝色。报文不论对错,只要是从串口和得到的数据都会显示出来。所以有时可以直接根据
报文显示的情况发现一些问题。具体见第二大条。
(2)报头和报尾:所有完整报文帧的报头一定以字符“@”开始,最后以“*”和一个回车
符(界面上是不可见的,但如果用鼠标左键选中报文尾部,是可以看到此字符确实存在且能
够被选择,只是无法显示出来)结束。如果没有这两个明显的字符,此帧是无效帧,不会参
与处理。
(3)PLC 回应信息符(也就是指编程手册中的结束码):一共用两个字符来表示,这是对
当前通讯状态的一个比较重要的指示,表示了本次问答的 PLC 与后台间数据的交换是否正
常。具体各数值的意义见第二大条。本 PLC 回应信息符位于回答帧的第六和第七两个字符。
如正常回答时,前面一部分报文会是:@01RD00 0000……。PLC 回复的回应信息符就是这
里的字符 D 后面紧跟的那两个字符。这里 00 是表示正常回应,如果 FCS 校验也正确的话,
那么一切都 OK,可以对本帧数据进行处理了。注意,如果是某些遥控或者强制等WR 命令
时,PLC 回复的回应信息符就是字符 R 后面紧跟的那两个字符了。非 00 表示出错了。
(4)协议是遵守 MODBUS 协议的。所以如果对 MODBUS 协议有一定了解的话,本报文
是很容易看懂的。无论上行还是下行报文,帧格式都为:
报头(即@)+ 机号 + 命令 + 起始地址 + 长度 + FCS 校验 + 报尾(即 *+回车符 )
参考报文:
收:@01RD00 0001 300E 0000 0000 0000 0000 0000 0000 0000 0000 0000 55*
报头和报尾不再赘述。
机号:一号机为 01,二号机为 02,为 PLC 设置里面下传时设定,需对应起来。
命令:常用到的是读命令 RD 和写命令 WR、WD。以前的另一种 PLC 型号出现过扩展区 E
区,所以对应还有 RE,WE 等命令。
起始地址:表示本帧的读或者写操作的对象区域开始处。与 PLC 程序里面的内存区完全对
应。如协议中规定在 PLC 里面放置当前水机事故个数到 D0020 里面。那么上面例子中的
RD0020….就会对从 D0020 这个寄存器开始读起。返回报文的第一个字就是 D0020,也就是
当前的事故条数了。
FCS 校验:PLC 硬件自动响应上传报文及自动计算和校验FCS 校验码,不用PLC 程序进行
额外的编写。
报文中各字符在程序中体现的数据含义的在参考说明书中的设置后,再结合看第三条的详细
解释。
(1)报文是乱码,可能原因是 RS422 的接线出错,请仔细检查。也可能是 PLC 的第四个
通讯拨码没有拨(一般发货前会在一楼联调时拨好)。
(2)运行过程中,数据不来,或者事故不上传,遥测遥信数据不对等其它不正常情况。首
先是要根据回应信息符来判断,如果回应信息帧正确(为 00),那么就要查是不是 PLC 程
序中出了问题了。不为 00 时,要根据下面的列表来解决问题了。