1,ILX34-MBS485可以通过程序MBS485的Status标签获取每一条命令的错误代码
以及命令对应的从站设备的通讯状态。0代表没有错误,其他非零值代表有错误,具体
CmdError的错误代表对应表如下:
标准 Modbus 错误代码 | ||
Code | 描述 | 描述 |
1 | Illegal Function | 非法功能码 |
2 | Illegal Data Address | 非法数据地址 |
3 | Illegal Data Value | 非法数据值 |
4 | Failure in Associated Device | 分配设备失败 |
5 | Acknowledge | 确认已经收到 |
6 | Busy, Rejected Message | 忙,拒绝信息 |
Modbus 通讯错误代码 | ||
Code | 描述 | 描述 |
20 | Checksum Error | 校验错误 |
21 | Modbus Invalid Message | 接收到Modbus非法信息 |
22 | Timeout waiting for response after request | 请求后等待响应超时 |
26 | Float Word Swap Uneven Word Count | 浮点数交换不是偶数的长度 |
-47 | Parity Error | 校验位错误 |
MBS Label | 描述 |
Status.Module | 模块状态: 1=准备发送命令 2=正在发送命令 3=等待命令响应 4=处理命令响应 |
Status.RXCount | 接收命令数量 |
Status.TXCount | 发送命令数量 |
Status.ErrorCount | 命令错误数量 |
2,也可以通过GSV指令获取模块的硬件错误代码和状态信息
完整程序图:
指令放大图:
通过GSV指令可以获取模块就可以获取到模块的状态信息和模块的故障信息,具体信息内容可以参考RS5000或者Studio5000的帮助手册,在软件里点击F1就可以弹出帮助。
部分错误代码和模块状态描述如下:
模块本身的状态信息如下图所示:
模块本身部分错误代码如下图所示,其他的错误也参考帮助手册即可:
同时可以再对错误代码做一个二次的判断处理,当FaultCode不等于0时将错误代码保存在一个故障记录数组内,或者保存在数据库中,便于故障记录和分析。