Modbus故障码速查手册(故障码含义、分析原因、详细解读)

在这里插入图片描述

Modbus故障码速查手册

引言

当涉及到Modbus通信协议的故障排查和调试时,速查手册是一项极为重要的资源。了解故障码及其含义能够帮助工程师在通信问题出现时迅速定位和解决相关故障。

本篇文章旨在为读者提供一个方便快速查阅的资源,以便快速获取有关Modbus通信中可能出现的故障码的信息。通过仔细研究这些故障码,读者可以更有效地诊断和解决通信问题,减少故障排查的时间。

深入了解故障码使得我们可以快速、准确地解决Modbus通信中的问题,提高系统的稳定性和可靠性。因此,我希望这份速查手册能成为大家在处理Modbus通信问题时的重要参考资源。


故障码表

故障码码英文名中文名英文描述中文描述
01IllegalFunction非法功能码The function code received in the query is not recognized or allowed by the device大多数情况下是由于主站发送了非法的功能码,例如读取了不支持的寄存器类型或者写入了只读的寄存器。
02IllegalDataAddress非法数据地址The data address received in the query is not allowed by the device典型的情况是主站设备发起了一个超出从站设备寄存器范围的读/写操作。
03IllegalDataValue非法数据值A value contained in the query data field is not an allowable value for the device通常是由于主站设备试图写入一个超出从站设备可接受范围的值。
04SlaveDeviceFailure从设备故障An unrecoverable error occurred while the slave was attempting to perform the requested action表示从站设备在尝试执行请求操作时发生了无法恢复的错误。
05Acknowledge应答Specialized use in conjunction with programming commands. The device has accepted the request and is processing it通常在写入命令后出现,表示设备已经接受了请求并正在处理。
06SlaveDeviceBusy从设备忙The device is engaged in processing a long-duration program command表明从站设备正在处理持续时间较长的程序命令。
08MemoryParityError存储器奇偶校验错The parity of the memory module is not consistent with the memory module state表明内存模块的奇偶校验不一致。
0AGatewayPathUnavailable网关路径不可用Specialized for Modbus gateways. Indicates a misconfigured gateway专用于Modbus网关。表示网关配置错误。
0BGatewayTargetDeviceFailedToRespond网关目标设备未响应Specialized for Modbus gateways. No response was received from the target device专用于Modbus网关。表示未收到目标设备的响应。

故障详解

0x01 IllegalFunction

中文名称: 非法功能码
故障描述: 大多数情况下是由于主站发送了非法的功能码,例如读取了不支持的寄存器类型或者写入了只读的寄存器。

The function code received in the query is not recognized or allowed by the device

故障分析:
当使用Modbus主站发送读取函数(如读取线圈状态、读取输入状态、读取保持寄存器或读取输入寄存器)的请求时,从站可能会返回错误码01。 这可能是由于以下几种情况引起的:

  1. 请求的功能码(FunctionCode)无效:错误码01表示请求的功能码不在从站所支持的范围内。每个从站都有特定的功能码支持,如果主站发送的功能码不是从站支持的,从站会返回该异常码。
  2. 请求的数据地址无效:错误码01也可能表示请求的数据地址超出了从站支持的范围。每个从站都有特定的数据地址范围,如果主站发送的读取请求包含了不支持的地址,从站将返回该异常码。

0x02 IllegalDataAddress

中文名称: 非法数据地址
故障描述: 典型的情况是主站设备发起了一个超出从站设备寄存器范围的读/写操作。

The data address received in the query is not allowed by the device

故障分析:
当Modbus主站向从站发送读取或写入请求时,从站可能会返回这个异常码,以指示所请求的数据地址无效。

这个异常码发生的情况包括但不限于以下几种可能的原因:

  1. 请求的数据地址超出了从站支持的范围。每个从站设备都有特定的数据地址范围,如果主站发送的请求包含了不在范围内的地址,从站会返回此异常码。
  2. 请求的数据地址未对齐。根据Modbus协议规范,某些数据类型(如保持寄存器和输入寄存器)需要按字(16位)对齐。
  3. 请求的数据地址不符合从站的规范。不同的从站可能对数据地址有不同的规则要求,例如某些从站可能要求地址从1开始,而不是从0开始。
  4. 从站设备无法识别或处理请求中的数据地址。(可能是由于从站设备的硬件故障、配置错误或其他原因导致的)

修复此异常通常需要确保主站发送的请求的数据地址符合从站支持的范围、对齐要求和规范。


0x03 IllegalDataValue

中文名称: 非法数据值
故障描述: 通常是由于主站设备试图写入一个超出从站设备可接受范围的值。

A value contained in the query data field is not an allowable value for the device

故障分析:

  1. 这可能是因为数据值超出了从站支持的范围。每个从站设备对允许的数据值范围有限制,如果主站发送的请求中包含了超出这个范围的数据值,从站会返回此异常码。
  2. 可能是由于所请求的写入值与从站设备的功能不匹配。例如,从站设备配置为只读方式,因此无法处理写入请求,从而返回该异常码。

0x04 SlaveDeviceFailure

中文名称: 从设备故障
故障描述: 表示从站设备在尝试执行请求操作时发生了无法恢复的错误。

An unrecoverable error occurred while the slave was attempting to perform the requested action

故障分析:

  1. 可能是由于从站设备的通信模块或处理器故障导致的。
  2. 可能是由于从站设备正在进行重启或其他处理导致无法响应请求。

0x05 Acknowledge

中文名称: 应答
故障描述: 通常在写入命令后出现,表示设备已经接受了请求并正在处理。

Specialized use in conjunction with programming commands. The device has accepted the request and is processing it

故障分析:
这个错误码通常在从设备(例如传感器或执行器)因为一些原因无法立即响应主站设备(如控制器或监视器)时产生。
当主站设备发送请求并收到Acknowledge错误码时,它意识到从设备已经收到请求并正在处理,但需要额外的时间。这通常发生在从设备需要进行一些计算或处理数据的情况下,或者如果从设备正在处理其他请求时。主站设备通常会等待一段时间,然后重新发送请求,或者根据具体的情况采取其他操作。


0x06 SlaveDeviceBusy

中文名称: 从设备忙
故障描述: 表明从站设备正在处理持续时间较长的程序命令。

The device is engaged in processing a long-duration program command

故障分析:
从站设备当前无法立即响应主站的请求,因为它正忙于执行其他任务。这可以是由于以下几种情况造成的:

  1. 从站设备正在进行处理或执行其他请求:从站设备可能正在进行耗时的操作,比如执行复杂的计算、进行与其他设备的通信、进行数据存储器的擦除等。在这种情况下,从站设备会返回错误码06,以表明它无法立即响应主站的请求。
  2. 从站设备的通信资源被占用:如果从站设备的通信资源(如串口或网络接口)被其他任务或设备占用,它可能无法处理主站请求,而返回错误码06。这可以是由于通信故障、通信资源分配不当或其他因素导致的。

0x08 MemoryParityError

中文名称: 存储器奇偶校验错
故障描述: 表明内存模块的奇偶校验不一致。

The parity of the memory module is not consistent with the memory module state

故障分析:
这种错误可能是由于以下原因造成的:

  1. 内存故障:从站设备的内部存储器可能存在硬件问题,如存储单元损坏或数据线路干扰,导致内存读写操作时出现校验错误。
  2. 数据传输错误:在数据传输期间,可能发生了临时的干扰或噪声,导致内存中的数据校验错误。

0x0A GatewayPathUnavailable

中文名称: 网关路径不可用
故障描述: 专用于Modbus网关。表示网关配置错误。

Specialized for Modbus gateways. Indicates a misconfigured gateway

故障分析:
这个异常码通常是在Modbus RTU over TCP/IP或Modbus TCP中使用的,用于指示网关设备无法获取到它所连接的Modbus从站设备的响应。
当网关设备发出一个请求到Modbus从站设备,但没有收到从站的响应时,网关会返回错误码0A。这通常表示从站设备出现了故障,或者由于其他原因无法响应网关的请求。


0x0B GatewayTargetDeviceFailedToRespond

中文名称: 网关目标设备未响应
故障描述: 专用于Modbus网关。表示未收到目标设备的响应。

Specialized for Modbus gateways. No response was received from the target device

故障分析:
这个异常码通常是在Modbus RTU over TCP/IP或Modbus TCP中使用的,用于指示网关设备无法获取到它所连接的Modbus从站设备的响应。
当网关设备发出一个请求到Modbus从站设备,但未能收到从站的响应时,网关会返回错误码0B。这通常表示从站设备出现了故障,或者由于其他原因无法响应网关的请求


结语

希望本篇速查手册对您在处理Modbus通信问题时能够提供帮助。如果您对本文有所收获,欢迎点赞收藏,以便随时在需要时查阅。我们也欢迎您分享给其他人,让更多的人受益。

  • 3
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

猿长大人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值