可是说一下不正常是哪里不正常,是通讯 不上么?还是通讯的数据不对
可以看看modbus的收发的数据是什么,进行对比一下,看看是不是检验不对。
或是测量一下电路中的信号,看看与程序上收到的一样么
有两种可能,硬件方面,比如波特率太高,数据线过长,附近干扰大,可以测量ab脚上的波形是否正常
软件方面,通讯协议问题,485的地址或者寄存器有误,导致通讯出错,仔细检查协议
这些都会导致通讯出错
不正常的现象是什么样子呢,是串口上的还是网络上的modbus呢。
请从硬件与软件方面进行排查,协议问题或是电路问题
一般布线长时,就要把通讯速度降低一些,就会正常了
还有就是你程序上的CRC16的计算,与接收的帧的处理方式对不对了