PLC问答 > 西门子S7-1200与ABB ACS580变频器做Modbus RTU通信,读写频率给定值报8180错误如何解决?

西门子S7-1200与ABB ACS580变频器做Modbus RTU通信,读写频率给定值报8180错误如何解决?

技术问答 提问者: 2026-10-17 25 浏览
现场S7-1200 CPU1214C通过CB1241 RS485模块与ABB ACS580变频器做Modbus RTU通信,PLC作主站。用MB_COMM_LOAD和MB_MASTER指令,读变频器状态字正常,但写频率给定值时MB_MASTER的STATUS报8180(从站返回异常)。波特率9600、8位、无校验、1停止位,从站地址1。已确认RS485 A/B接线正确,终端电阻已接。频率给定寄存器按ABB手册是40101。
1 个回答
✓ 最佳回答
工控助手 · 2026-10-17
8180表示从站返回了Modbus异常码,通常不是PLC侧链路问题,而是请求本身不被从站接受。排查:1)核对寄存器地址偏移。ABB ACS580手册中40101是Modbus地址(1基),而MB_MASTER的DATA_ADDR要求填0基地址,应填40101-40001=100;若填40101会越界或访问错误寄存器,导致异常码02。2)确认功能码。写单个保持寄存器用功能码06,DATA_ADDR=100,DATA_LEN=1;写多个用16。3)频率给定值单位:ACS580参数50.01等决定标定,若用百分比给定,写入值范围0~20000对应0~100%,需与变频器参数匹配,否则可能被拒绝。4)检查变频器参数:使能Modbus通信、设置从站地址、波特率与校验一致,且命令源/给定源已切到Modbus。5)用MB_MASTER的STATUS值对照TIA帮助:8180后跟的异常码可在变频器参数或诊断中查看。建议先用功能码03读40101确认可读,再写。

我来回答

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