当前位置: 主页 > PLC控制

MODBUS ASCⅡ协议通信块

请问一下,1200与第三方设备通过MODBUSASCⅡ协议通信,该调用哪个通信块?软件都是MODBUSRTU协议的通信块

图片说明:

3c30dba18b73520a70052f436CEfb137MODBUS ASCⅡ协议通信块

最佳答案

一、1200的通信块中没有MODBUSASCII功能。
二、可以用自由口通信指令自己来实现MODBUSASCII通信。思路是:
1、将你要发送的16进制报文转换成ACSII码,比如:010300000001+校验码,转换成16进制3A303130333030303030303031+校验码
2、请自由口指令将3A303130333030303030303031+校验码发送出去。
3、将接收到的回复报文,由ASCII码转换成16进制(过程与第1步相反)
4、对第3步接收到的16进制报文进行判断。对接收到的报文计算校验码(具体方法是求和取反加1)。
5、用第4步计算得出的校验码与第3步中收到的校验码进行比较,如果相同,说明接收到的报文是正确报文可以使用。
6、进行下一次发送、接收、判断。

这个过程比较繁琐,需求写多个功能块。需要多试几次。

整体思路是:
用自由口指令发送相应的报文;
对接收到的回复报文进行判断,如正常则使用,如错误则丢弃。

提问者对于答案的评价:
感谢两位老师的解答

  • 关注微信

猜你喜欢

微信公众号