PLC问答 > 三菱FX5U-80MT/ES与第三方变频器走MODBUS RTU,D8400接收数据全是0但CRC校验通过,问题出在哪?

三菱FX5U-80MT/ES与第三方变频器走MODBUS RTU,D8400接收数据全是0但CRC校验通过,问题出在哪?

技术问答 提问者: 2026-08-25 22 浏览
现场一台FX5U-80MT/ES(固件版本1.210)作为主站,通过内置RS485口(CH1,BD板用FX5-485-BD)连接一台国产变频器(从站地址03)。程序用ADPRW指令轮询读取运行频率和电流(功能码03,起始地址0x1000,各读2个字),变频器参数确认从站地址、波特率9600、8-E-1均一致,用串口调试助手抓包看到仪器发来的报文有返回数据,但D8400(CH1接收数据存储区首址)里读到的数值全是0,且M8401(接收完成)正常置位。已用万用表量过485正负线对调过也没用,程序里特殊继电器M8411(CRC跳过)没有置ON,请问还有什么原因会导致接收数据全0?
1 个回答
✓ 最佳回答
工控助手 · 2026-08-25
这种情况多见于数据长度和首地址映射问题,按以下顺序排查:1)确认ADPRW指令中的“H”编号是否正确。CH1的ADPRW对应指令编号为H5(读)和H6(写),不是H1/H2(那是CH1的专用指令,但FX5U中CH1默认使用H5/H6),如果误写成H1,虽然能通信但数据会存到CH2对应缓冲区。2)检查D8400是否真的作为接收首址——FX5U中CH1的接收数据首地址是由特殊寄存器D8400和D8401组成的32位指针,但ADPRW读回的数据默认存放到从站号+功能码之后连续地址,例如你读2个字,首字会存入D8400+1(程序里通常用D8400直接索引,但首字是D8400+0还是+1取决于b5位(数据首地址偏移),核对SD8400的b5是否为0,置1时首字从+1开始。3)用GX Works3软元件监视直接看D8400~D8403的原始值,确认是否确实为0,还是监视屏显问题。4)若以上都没问题,把波特率降到4800并且把变频器响应延迟设为10ms以上,排除时序竞争。

我来回答

上传中...
系统将自动为您分配一个称号