×
嵌入式 > 嵌入式开发 > 详情

Modbus协议的常用基本定义——(RS485总线系统应用之2)续

发布时间:2020-08-17 发布时间:
|
表1. ModBus功能码定义

功能码

01

读取线圈状态

取得一组逻辑线圈的当前状态(ON/OFF)

02

读取输入状态

取得一组开关输入的当前状态(ON/OFF)

03

读取保持寄存器

在一个或多个保持寄存器中取得当前的二进制值。

04

读取输入寄存器

在一个或多个输入寄存器中取得当前的二进制值。

05

强置单线圈

强置一个逻辑线圈的通断状态。

06

预置单寄存器

把二进制值装入一个保持寄存器。

07

读取异常状态

取得8个内部线圈的通断状态,线圈的地址由控制器决定,用户逻辑可将这些线圈定义,以说明从机状态,短报文适宜于迅速读取状态。

08

回送诊断校验数据

把诊断校验数据发送到从机,以对通信结果进行评鉴

09

编程(只用于484)

使主机模拟编程器作用,修改PC从机逻辑。

10

控询(只用于484)

可使主机与一台正在执行长程序任务的从机通信,探询该从机是否已完成操作任务。仅在含功能码9的报文发送后,本功能码才得发送。

11

读取事件计数

可使主机发出单询问,并随即判定操作是否成功,尤其是在该功能或其应答产生通信错误时。

12

读取通信事件记录

可使主机检索每台从机的Modbus事务处理通信事件记录。如果某项事务处理未完成,记录会给出有关错误。

13

编程(184/384 484 584)

可使主机模拟编程器功能,修改PC从机逻辑。

14

探询(184/384 484 584)

可使主机与正在执行长程序任务的从机通信,定期探询该从机是否已完成程序操作。仅在含有功能13的报文发送后,本功能码才得发送。

15

强置多线圈

强置一串连续逻辑线圈的通断。

16

预置多寄存器

把二进制值装入一串连续的保持寄存器。

17

报告从机标识

可使主机判断编址从机的类型及该从机运行指示灯的状态。

18

编程(884和Micro84)

可使主机模拟编程功能,修改PC状态逻辑。

19

重置通信链路

发生非可修正错误后,使从机复位于已知状态。可重置顺序字节。

20

读取通用参数( 584L)

显示扩展存储器文件中的数据信息。

21

写入通用参数(584L)

把通用参数写入扩展存储器文件,或修改。

22~64

保留,作扩展功能备用

65~72

保留,作用户功能备用

留作用户功能的扩展编码。

73~119

非法功能

120~127

保留

留作内部用。

128~255

保留

用于异常应答。

表2. ModBus功能码对应的数据类型表

功能码

功能

返回的数据类型

01

02

03

整形,字符型,浮点型,状态字

04

整形,浮点型,状态字

05

06

整形,字符型,浮点型,状态字

08

N/A

重复“回路反馈”信息

15

16

整形,字符型,浮点型,状态字

17

字符型



『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
NXP推出Wi-Fi 6E三频段SOC 充分释放6GHz频谱潜力