Modbus协议的常用基本定义——(RS485总线系统应用之2)续
功能码 本文引用地址:https://www.eepw.com.cn/article/201612/330195.htm | 名 | 作 |
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 | 读 | 字符型 |
评论