恭喜,你发布的帖子
发布于 2016-07-22 11:00:49
4楼
谢谢回复, 从机回复的指令长度是一致的,都是9位, 只是其中的状态位会根据是否有报警显示不同的数值。Port1口的接收缓冲区根据smb194 来判断。
不对效验码进行验证
有趣的是 设备对于A错误 和B错误是同样回复 01 65 09 0B 00 00 01 xx xx (最后两位相同的效验位)
通过串口调试工具发现 回复A错误时 设备回复以上指令会有0.5s的延时,
而回复B错误时,几乎没有延时,当PLC向设备发出指令后,串口调试工具立刻就收到了回复
这就是我怀疑当SM187.7 还未来的及切换时 其实B错误的回复就已经发出了。
时序出错了,建议用接收字符中断来把控每个接收到的字符的内容以及每次接收总个数。
请填写推广理由:
分享
只看
楼主