请教一下,200smart和传感器之间通过modbus RTU通讯,传感器波特率是9.6K,偶校验,从站地址是1H,功能码是03H,首地址是7,数据长度是6。 用串口调试助手发送01 03 00 07 00 06 74 09,传感器返回数据是01 03 0C 00 A0 B3 33 00 00 00 00 01 07 01 08 96 F0;返回6个word。
然后用PLC上自带的485串口的3、8端子和传感器通讯,借用官方标准例程,部分程序如下;两个功能块的done位是1,error位是0,没有显示通讯失败或故障,但VB100~VB111里一直是0;断电把485口的3和8端子的线对调了一下,继续测试仍然没有数据。请问这是为什么,应该如何编?是不是在CPU-通信-RS485端口-地址(1~12)中的地址需要修改一下啊?我用地址1和2都测试过了,没有效果
= L60.0
LD Always_On
= L63.7
LD L60.0
CALL MBUS_CTRL, L63.7, 9600, 2, 0, 1000, MBUS_CTRL_Done, MBUS_CTRL_Error
LD Start_MBUS_MSG
= L60.0
LD Start_MBUS_MSG
EU
= L63.7
LD L60.0
CALL MBUS_MSG, L63.7, 1, 0, 40007, 6, &VB100, Read_Register_Done, MB3
另外,用万用表量485口3和8端子的电压是4.5V,但用串口调试助手正常通讯时量485线间电压的话是-0.2V~0.4V之间跳动。