当前位置:网站首页 > 编程语言 > 正文

bt1120协议(bt1120协议详解 422)



10.5.13

(0x11)报告从站ID(仅用于串行链路)

1. 功能说明

17功能码用于读取从站设备的ID、类型描述、当前状态以及其他信息,不支持广播模式。响应消息的构成依赖于设备而不尽相同。

2. 查询报文

查询报文中不包含请求数据字段。举例说明,从站设备地址为5,获取相关信息,如下表所示。

功能码17查询报文示例:

字段
(Hex) ASCII
模式字符型 RTU模式8位
(Hex) 帧头 “:” 从设备地址 0x05 “0”,“5” 0x05 功能码 0x11 “1”,“1” 0x11 差错校验 LRC(2字符) CRC(2字节) 帧尾 CR/LF 合计字节数 9 4


3. 响应报文

对于从设备,在正常情况下,响应报文包括从站ID、运行状态以及其他附加信息,如下表所示。运行状态字段占用1字节,且0x00=OFF,0xFF=ON,而响应报文的组成则由开发者决定。

功能码17响应报文示例:

字段
(Hex) ASCII
模式字符型 RTU模式8位
(Hex) 帧头 “:” 从设备地址 0x05 “0”,“5” 0x05 功能码 0x11 “1”,“1” 0x11 字节数 设备相关 设备相关 设备相关 从设备ID 设备相关 设备相关 设备相关 运行状态 0xFF “F”,“F” 0xFF 附加情报1 设备相关 设备相关 设备相关 …… 设备相关 设备相关 设备相关 差错校验 LRC(2字符) CRC(2字节) 帧尾 CR/LF 合计字节数 17 8


10.5.14

Modbus异常响应

以上介绍了一些常见的公共功能码的报文(消息顿)构成,广播模式以外的查询报文都希望能够获取一个正常的响应报文。在通常情况下,从站设备将返回一个正常响应报文,但是在某些特殊情况下将返回异常响应报文。

对于查询报文,存在以下4种处理反馈:

①正常接收,正常处理,返回正常响应报文。

②因为通信错误等原因造成从站设备没有接收到查询报文,主站设备将按超时处理:从站设备接收到的查询报文存在通信错误(如LRC、CRC错误等),此时从站设备将丢弃报文不响应,主站设备将按超时处理。

③从站设备接收到正确的报文,但是超过处理范围(如不存在的功能码或者寄存器等),此时从站设备将返回包含异常码(Exception Code)的响应报文。

④异常响应报文由从站地址、功能码以及异常码构成。其中,功能码与正常响应报文不同,在异常响应报文中,功能码最高位(即MSB)被设置为1。因为Modbus协议中的功能码占用1字节故用表达式描述为:

异常功能码=正常功能码+0x80

举例说明,如下表所示,查询报文的起始地址为0x012C(十进制300),即需要读取寄存器地址为30301开始的值。若从站设备中不存在输入寄存器30301,则从站设备将返回一个异常响应报文,参见下表的功能码和异常码。

异常响应示例(功能码04查询报文):

字段
(Hex) ASCII
模式字符型 RTU模式8位
(Hex) 帧头 “:” 从设备地址 0x07 “0”,“7” 0x07 功能码 0x04 “0”,“4” 0x04 起始地址
(高位) 0x01 “0”,“1” 0x01 起始地址
(低位) 0x2c “2”,“c” 0x2c 寄存器数
(高位) 0x00 “0”,“0” 0x00 寄存器数
(低位) 0x03 “0”,“3” 0x03 差错校验 LRC(2字符) CRC(2字节) 帧尾 CR/LF 合计字节数 17 8






异常响应示例(功能码04响应报文):

字段
(Hex) ASCII
模式字符型 RTU模式8位
(Hex) 帧头 “:” 从设备地址 0x07 “0”,“7” 0x07 功能码 0x84 “8”,“4” 0x84 异常码 0x02 “0”,“2” 0x02 差错校验 LRC(2字符) CRC(2字节) 帧尾 CR/LF 合计字节数 11 5


常见的异常码如下表所示:

常见异常码说明:

异常码 名称 说明 01 非法功能码 从站设备不支持此功能码 02 非法数据地址 指定的数据地址在从站设备中不存在 03 非法数据值 指定的数据超过范围或者不允许使用 04 从站设备故障 从站设备处理响应的过程中出现未知错误等

到此这篇bt1120协议(bt1120协议详解 422)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • pdf为什么无法打印(pdf无法打印出来)2025-09-25 11:27:07
  • 速排(速排卵会有伤害吗?)2025-09-25 11:27:07
  • sigmod会议2024(sigmod会议文章在哪里看)2025-09-25 11:27:07
  • 获取位置信息失败怎么解决呢(获取定位位置信息失败)2025-09-25 11:27:07
  • git上传到指定目录(git上传文件到指定文件夹中)2025-09-25 11:27:07
  • 圈一圈英语怎么写(圈一圈的英语是什么)2025-09-25 11:27:07
  • u盘启动盘制作制作后需要安装系统吗(u盘启动盘制作制作后需要安装系统吗为什么)2025-09-25 11:27:07
  • gikj是什么意思(gik是什么意思网络用词)2025-09-25 11:27:07
  • py文件怎么执行(py文件怎么执行电脑)2025-09-25 11:27:07
  • junit4怎么导入(junit4怎么导入idea)2025-09-25 11:27:07
  • 全屏图片