可能原因分析
按概率从高到低排序:
1. D8120 通讯参数寄存器设置错误(高概率)
三菱PLC通过RS指令或扩展板进行自由口/Modbus通讯时,D8120 是决定通讯格式的核心寄存器。
判断依据:标准 Modbus RTU (9600, 8, N, 1) 对应的 D8120 十六进制值通常为 H81 或 HE081(取决于具体机型和是否启用Modbus专用模式)。如果用户将其改为 H0 或 H1(即十进制0或1),则波特率、校验位全部错误,必然通讯失败。
支持程度:强。作为Modbus RTU使用时,D8120需设置为特定值(如HE081对应9600/8/n/1)。
2. 站号不匹配或D8121设置错误
判断依据:温湿度传感器设定为3号站。如果PLC程序中发送的帧头站号为1或2,或者D8121(从机站号,若PLC做主机则此寄存器影响较小,但需注意M8196等标志位)未正确初始化,会导致传感器忽略请求。
需要观察:使用串口调试助手监听PLC发出的报文,确认第一个字节是否为 0x03。
3. 物理接线与半双工/全双工模式错误
判断依据:
若使用FX内置编程口(RS422四线制)转RS485模块,需确认A/B线极性。
若使用FX-485-BD或内置RS485端子,需确认 D8120 Bit10 是否设置为半双工(1为半双工RS485,0为全双工)。许多小型PLC默认全双工,接两线制RS485时必须改为半双工。
本机标配若使用RS485,D8120的Bit10必须设置为1(半双工)。
4. 程序逻辑中RS指令参数错误
判断依据:如果使用 RS 指令而非系统库,需检查:
发送缓冲区长度是否正确。
CRC校验码是否在PLC端正确生成并附加到帧尾。
超时时间是否过短。
[此贴子已经被cvlsam于2026/10/30 8:57:02编辑过]