既然电台通讯正常了,数据不正确一般是由于两边定义串口波特率、起始位、停止位、奇偶校验这些不同导致的数据不正确。你应该先用两个串口调试助手测试一下电台通讯数据,找出9600波特率下的串口设置参数,然后再连接上PLC调试。编程软件是PPI协议,你一开始就用编程软件测试的话,在你压根不知道PPI协议数据格式下也就无从知道数据是否正确了。还有,PPI默认延时是1秒,不存在服务说的160ms延时造成的问题。PPI协议是主从关系的,PLC是从、编程软件是主。
我以前用的无线路由连接DDC是可以和普通串口一样使用的。可以下载、可以在线仿真。
给你个建议,找一台台式机,再买块扩展双串口的PCI扩展卡安装上,并且安装附带的驱动。接着找根串口交叉线测试,运行两个串口调试助手,每个串口调试助手对应串口卡的串口,测试串口都正常收发数据通讯后,就取下串口交叉线,连接上电台进行测试。
先把一个电台设为主设备,把另外一个电台设为从设备,然后在对应主设备的串口调试软件里面发数据,此时主电台上的发送指示灯应该闪烁,同时从电台上的接收指示灯应该闪烁,然后连接从电台的串口调试助手应该接收到数据。接着连接从电台的串口调试助手,发送另外一个数据响应主电台的请求,那么连接主电台的串口调试助手也应该接收到数据。
这样测试,思路就很清晰了,通讯不上,出错在那一环上一目了然了。
在测试玩单个字节收发正常后,再测试多字节收发,就可以知道电台支持多少个字节收发了。
modbusRTU协议最多是245个字节的数据流、PPI协议不太清楚了。