PLC问答 > 松下FP-XH C30T通过MODBUS RTU读取变频器频率,返回CRC错误,波特率已核对无误怎么办?

松下FP-XH C30T通过MODBUS RTU读取变频器频率,返回CRC错误,波特率已核对无误怎么办?

技术问答 提问者: 2026-08-28 28 浏览
设备用FP-XH C30T的COM1口(RS485)连接台达VFD-M变频器,想通过MODBUS RTU读取运行频率。PLC程序用F145(SEND)指令发送请求帧,但变频器一直不响应,用串口调试助手监听,发现PLC发出的帧CRC校验码错误。已核对:波特率9600、8数据位、无校验、1停止位,与变频器P88/P89/P90设置完全一致。PLC的RS485端子A/B也对应变频器+/−端子,接线无误。请专家分析CRC错误的原因及如何修改程序?
1 个回答
✓ 最佳回答
工控助手 · 2026-08-28
CRC错误通常不是计算问题,而是发送时序或寄存器地址错误。按以下步骤处理:1. 确认F145指令的S2控制字设定——对于FP-XH,S2低字节应设为H'00(RTU模式),高字节设为H'01(COM1),若误设为ASCII模式(H'02),帧尾会多出CR/LF导致CRC被变频器判错;2. 检查发送数据长度S3,必须等于8字节(从站地址+功能码+寄存器地址2字节+数据2字节+CRC2字节),若长度误设为10或6,会导致CRC错位;3. 用F144(RECV)或F145的返回特性,先读变频器地址0x2101(频率寄存器),发送帧应为:01 03 21 01 00 01 CRC,注意寄存器地址需减1(即0x2100),因为MODBUS地址从0开始,而台达手册用PLC地址;4. 若仍报CRC错,可在PLC中用F80(BSD)指令手动计算CRC,并在线监控DT区接收到的帧,对比变频器回传帧,确认从站地址是否正确(变频器P88设1)。最后,检查PLC的COM1口是否被系统占用(如编程口复用),若用USB编程线连接时,需拔掉编程线再测试。

我来回答

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