MODBUS常用功能码及对应地址

合集下载

Modbus功能码表

Modbus功能码表

Modbus功能码一览________________________________________Modbus网络是一个工业通信系统,由带智能终端的可编程序控制器和计算机通过公用线路或局部专用线路连接而成。

其系统结构既包括硬件、亦包括软件。

它可应用于各种数据采集和过程监控。

下表1是ModBus的功能码定义。

表1 ModBus功能码功能码名称作用01 读取线圈状态取得一组逻辑线圈的当前状态(ON/OFF)02 读取输入状态取得一组开关输入的当前状态(ON/OFF)03 读取保持寄存器在一个或多个保持寄存器中取得当前的二进制值04 读取输入寄存器在一个或多个输入寄存器中取得当前的二进制值05 强置单线圈强置一个逻辑线圈的通断状态06 预置单寄存器把具体二进值装入一个保持寄存器07 读取异常状态取得8个内部线圈的通断状态,这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和MICRO 84)可使主机模拟编程功能,修改PC状态逻辑19 重置通信链路发生非可修改错误后,是从机复位于已知状态,可重置顺序字节20 读取通用参数(584L)显示扩展存储器文件中的数据信息21 写入通用参数(584L)把通用参数写入扩展存储文件,或修改之22~64 保留作扩展功能备用65~72 保留以备用户功能所用留作用户功能的扩展编码73~119 非法功能120~127 保留留作内部作用128~255 保留用于异常应答Modbus网络只是一个主机,所有通信都由他发出。

MODBUS常用功能码及对应地址

MODBUS常用功能码及对应地址

MODBUS常用功能码备查
表1 ModBus功能码
功能码名称作用
01 读取线圈状态取得一组逻辑线圈的当前状态ON/OFF
02 读取输入状态取得一组开关输入的当前状态ON/OFF
03 读取保持寄存器在一个或多个保持寄存器中取得当前的二进制值
04 读取输入寄存器在一个或多个输入寄存器中取得当前的二进制值
05 强置单线圈强置一个逻辑线圈的通断状态
06 预置单寄存器把具体二进值装入一个保持寄存器
15 强置多线圈强置一串连续逻辑线圈的通断
16 预置多寄存器把具体的二进制值装入一串连续的保持寄存器
表2 ModBus功能码与数据类型对应表
代码功能数据类型对应地址
01 读位 0000X
02 读位 1000X
03 读整型、字符型、状态字、浮点型 4000X
04 读整型、状态字、浮点型 3000X
05 写位 0000X
06 写整型、字符型、状态字、浮点型 4000X
15 写位 0000X
16 写整型、字符型、状态字、浮点型 4000X。

Modbus功能码一览表(最全版)

Modbus功能码一览表(最全版)

Modbus功能码一览________________________________________Modbus网络是一个工业通信系统,由带智能终端的可编程序控制器和计算机通过公用线路或局部专用线路连接而成。

其系统结构既包括硬件、亦包括软件。

它可应用于各种数据采集和过程监控。

下表1是ModBus的功能码定义。

表1 ModBus功能码功能码名称作用01 读取线圈状态取得一组逻辑线圈的当前状态(ON/OFF)02 读取输入状态取得一组开关输入的当前状态(ON/OFF)03 读取保持寄存器在一个或多个保持寄存器中取得当前的二进制值04 读取输入寄存器在一个或多个输入寄存器中取得当前的二进制值05 强置单线圈强置一个逻辑线圈的通断状态06 预置单寄存器把具体二进值装入一个保持寄存器07 读取异常状态取得8个内部线圈的通断状态,这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和MICRO 84)可使主机模拟编程功能,修改PC状态逻辑19 重置通信链路发生非可修改错误后,是从机复位于已知状态,可重置顺序字节20 读取通用参数(584L)显示扩展存储器文件中的数据信息21 写入通用参数(584L)把通用参数写入扩展存储文件,或修改之22~64 保留作扩展功能备用65~72 保留以备用户功能所用留作用户功能的扩展编码73~119 非法功能120~127 保留留作内部作用128~255 保留用于异常应答Modbus网络只是一个主机,所有通信都由他发出。

最新MODBUS地址类型与功能码对应关系大全资料

最新MODBUS地址类型与功能码对应关系大全资料

MODBUS地址类型与功能码对应关系当触摸屏作为一个MODBUS SERVER主站时,是要对所连接的MODBUS RTU从站进行读写控制。

WEINVIEW的触摸屏支持01—05和16号功能码。

每个设备地址类型所使用的功能码如下:地址类型读/写功能码备注0X 读/写01/05输入位寄存器Output bit1X 只读02输出位寄存器Input bit (read only)3X 只读04输入寄存器(字)Input Register (read only)3X-BIT 只读04 3X的位地址4X 读/写03/16 输出寄存器(字)Output Register4X-BIT 读/写03/16 4X的位地址5X 读/写03 数据寄存器(字),与4X相比:同一个字互换高低字节4x double word swap6X 读/写03/06 数据寄存器(字),与4X相比:每次读写单个字4x single word write对MODBUS RTU设备进行读写,触摸屏上的元件中使用什么样的地址类型,取决于RTU设备所支持的功能码、目标对象是位地址还是字地址控制、以及是否要进行写入;-------------------------------------------------------------------------------------------------当触摸屏作为一个MODBUS RTU从站时,在主站MODBUS SERVER中对其进行读写,地址对应关系如下:0X,1X的1~9999 —— LB0~9998如:0X0001=LB0 0X0002=LB13X,4X的1~9999 —— LW0~9998如:3X0001=LW0 3X0002=LW13X,4X的10000~65535 —— RW0~55535 如:3X/4X 10000=RW03X/4X 65535=RW55535。

MODBUS地址类型与功能码对应关系大全

MODBUS地址类型与功能码对应关系大全
-------------------------------------------------------------------------------------------------
当触摸屏作为一个MODBUS RTU从站时,在主站MODBUS SERVER中对其进行读写,地址对应关系如下:
4x double word swap
6X
读/写
03/06
数据寄存器(字),与4X相比:每次读写单个字
4x single word write
对MODBUS RTU设备进行读写,触摸屏上的元件中使用什么样的地址类型,取决于RTU设备所支持的功能码、目标对象是位地址还是字地址控制、以及是否要进行写入;
0X,1X的1~9999 —— LB0~9998
如:0X0001=LB0 0X0002=LB1
3X,4X的1~9999 —— LW0~9998
如:3X0001=LW0 3X0002=LW1
3X,4X的10000~65535 —— RW0~55535
如:3X/4X 10000=RW0
3X/4X 65535=RW55535
MODBUS地址类型与功能码对应关系
当触摸屏作为一个MODBUS SERVER主站时,是要对所连接的MODBUS RTU从站进行读写控制。
WEINVIEW的触摸屏支持01—05和16号功能码。每个设备地址类型所使用的功能码如下:
地址类型
读/写
功能码
备注
0X
读/写
01/05
输入位寄存器
Output bit
1X
只读
02
输出位寄存器
Input bit (read only)
3X

Modbus功能码一览

Modbus功能码一览

Modbus功能码一览Modbus网络是一个工业通信系统,由带智能终端的可编程序控制器和计算机通过公用线路或局部专用线路连接而成。

其系统结构既包括硬件、亦包括软件。

它可应用于各种数据采集和过程监控。

下表1是ModBus的功能码定义。

Modbus网络只是一个主机,所有通信都由他发出。

网络可支持247个之多的远程从属控制器,但实际所支持的从机数要由所用通信设备决定。

采用这个系统,各PC可以和中心主机交换信息而不影响各PC执行本身的控制任务。

表2是ModBus各功能码对应的数据类型。

(1)在ModBus系统中有2种传输模式可选择。

这2种传输模式与从机PC通信的能力是同等的。

选择时应视所用ModBus主机而定,每个ModBus系统只能使用一种模式,不允许2种模式混用。

一种模式是ASCII(美国信息交换码),另一种模式是RTU(远程终端设备)这两种模式的定义见表3编程的主计算机及主PC很适宜。

RTU则适用于机器语言编程的计算机和PC主机。

用RTU模式传输的数据是8位二进制字符。

如欲转换为ASCII模式,则每个RTU字符首先应分为高位和低位两部分,这两部分各含4位,然后转换成十六进制等量值。

用以构成报文的ASCII字符都是十六进制字符。

ASCII模式使用的字符虽是RTU模式的两倍,但ASCII数据的译玛和处理更为容易一些,此外,用RTU模式时报文字符必须以连续数据流的形式传送,用ASCII模式,字符之间可产生长达1s的间隔,以适应速度较快的机器。

表4给出了以RTU 方式读取整数据的例子(CRC-16(循环冗余错误校验)CRC-16错误校验程序如下:报文(此处只涉及数据位,不指起始位、停止位和任选的奇偶校验位)被看作是一个连续的二进制,其最高有效位(MSB)首选发送。

报文先与X↑16相乘(左移16位),然后看X↑16+X↑15+X↑2+1除,X↑16+X↑15+X↑2+1可以表示为二进制数 11000000000000101。

MODBUS常用功能码及对应地址学习资料

MODBUS常用功能码及对应地址学习资料

M O D B U S常用功能码及
对应地址
MODBUS常用功能码备查
表1 ModBus功能码
功能码名称作用
01 读取线圈状态取得一组逻辑线圈的当前状态(ON/OFF)
02 读取输入状态取得一组开关输入的当前状态(ON/OFF)
03 读取保持寄存器在一个或多个保持寄存器中取得当前的二进制值
04 读取输入寄存器在一个或多个输入寄存器中取得当前的二进制值
05 强置单线圈强置一个逻辑线圈的通断状态
06 预置单寄存器把具体二进值装入一个保持寄存器
15 强置多线圈强置一串连续逻辑线圈的通断
16 预置多寄存器把具体的二进制值装入一串连续的保持寄存器
表2 ModBus功能码与数据类型对应表
代码功能数据类型对应地址
01 读位 0000X
02 读位 1000X
03 读整型、字符型、状态字、浮点型 4000X
04 读整型、状态字、浮点型 3000X
05 写位 0000X
06 写整型、字符型、状态字、浮点型 4000X
15 写位 0000X
16 写整型、字符型、状态字、浮点型 4000X。

Modbus功能码一览表

Modbus功能码一览表
Modbus功能码一览
________________________________________
Modbus网络是一个工业通信系统由带智能终端的可编程序控制器和计算机通过公用线路
或局部专用线路连接而成。其系统结构既包括硬件、亦包 括软件。它可应用于各种数据采
代码 功能 数据类型
01 读 位
02 读 位
03 读 整型、字符型、状态字、浮点型
04 读 整型、状态字、浮点型
05 写 位
06 写 整型、字符型、状态字、浮点型 08 N/A 重复“回 Nhomakorabea反馈”信息
15 写 位
16 写 整型、字符型、状态字、浮点型
集和过程监控。下表1是ModBus的功能码定义。
表1 ModBus功能码
功能码 名称 作用
01 读取线圈状态 取得一组逻辑线圈的当前状态ON/OFF)
02 读取输入状态 取得一组开关输入的当前状态ON/OFF)
03 读取保持寄存器 在一个或多个保持寄存器中取得当前的二进制值
但ASCII数据的译玛和处理更为容易一些 此外用RTU模式时报文字符必须以连续数据
流的形式传送用ASCII模式字符之间可产生长达1s的间隔以适应速度较快的机器。
表4给出了以RTU 方式读取整数据的例子
以RTU方式读取整数据的例子
主机请求
地址 功能码 第一个寄存器的高位地址 第一个寄存器的低位地址 寄存器的数量的
Modbus网络只是一个主机所有通信都由他发出。网络可支持247个之多的远程从
属控制器但实际所支持的从机数要由所用通信设备决定。采用这个系 统各PC可以和
中心主机交换信息而不影响各PC执行本身的控制任务。表2是ModBus各功能码对应的数

MODBUS协议(功能码及报文解析)

MODBUS协议(功能码及报文解析)

MODBUS协议Modbus是一种串行通信协议,是Modicon于1979年,为使用可编程逻辑控制器(PLC)而发表的。

事实上,它已经成为工业领域通信协议标准,并且现在是工业电子设备之间相当常用的连接方式。

M odbus比其他通信协议使用的更广泛的主要原因有:公开发表并且无版税要求相对容易的工业网络部署对供应商来说,修改移动原生的位或字节没有很多限制Modbus允许多个设备连接在同一个网络上进行通信,举个例子,一个由测量温度和湿度的装置,并且将结果发送给计算机。

在数据采集与监视控制系统(SCADA)中,Modbus通常用来连接监控计算机和remote terminal unit (RTU)。

Modbus协议目前存在用于串口、以太网以及其他支持互联网协议的网络的版本。

大多数Modbus设备通信通过串口EIA-485物理层进行[1]。

对于串行连接,存在两个变种,它们在数值数据表示不同和协议细节上略有不同。

Modbus RTU是一种紧凑的,采用二进制表示数据的方式,Modbus ASCII是一种人类可读的,冗长的表示方式。

这两个变种都使用串行通讯(serial communication)方式。

RTU格式后续的命令/数据带有循环冗余校验的校验和,而ASCII格式采用纵向冗余校验的校验和。

被配置为RTU变种的节点不会和设置为ASCII变种的节点通信,反之亦然。

对于通过TCP/IP(例如以太网)的连接,存在多个Modbus/TCP 变种,这种方式不需要校验和的计算。

对于所有的这三种通信协议在数据模型和功能调用上都是相同的,只有封装方式是不同的。

Modbus 有一个扩展版本 Modbus Plus(Modbus+或者MB+),不过此协定是Modicon专有的,和 Modbus不同。

它需要一个专门的协处理器来处理类似HDLC的高速令牌旋转。

它使用1Mbit/s的双绞线,并且每个节点都有转换隔离装置,是一种采用转换/边缘触发而不是电压/水平触发的装置。

Modbus功能码一览表

Modbus功能码一览表

Modbus功能码一览________________________________________Modbus网络是一个工业通信系统,由带智能终端的可编程序控制器和计算机通过公用线路或局部专用线路连接而成。

其系统结构既包括硬件、亦包括软件。

它可应用于各种数据采集和过程监控。

下表1是ModBus的功能码定义。

表1 ModBus功能码功能码名称作用01 读取线圈状态取得一组逻辑线圈的当前状态(ON/OFF)02 读取输入状态取得一组开关输入的当前状态(ON/OFF)03 读取保持寄存器在一个或多个保持寄存器中取得当前的二进制值04 读取输入寄存器在一个或多个输入寄存器中取得当前的二进制值05 强置单线圈强置一个逻辑线圈的通断状态06 预置单寄存器把具体二进值装入一个保持寄存器07 读取异常状态取得8个内部线圈的通断状态,这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和MICRO 84)可使主机模拟编程功能,修改PC状态逻辑19 重置通信链路发生非可修改错误后,是从机复位于已知状态,可重置顺序字节20 读取通用参数(584L)显示扩展存储器文件中的数据信息21 写入通用参数(584L)把通用参数写入扩展存储文件,或修改之22~64 保留作扩展功能备用65~72 保留以备用户功能所用留作用户功能的扩展编码73~119 非法功能120~127 保留留作内部作用128~255 保留用于异常应答Modbus网络只是一个主机,所有通信都由他发出。

MODBUS地址类型与功能码对应关系大全

MODBUS地址类型与功能码对应关系大全

WEINVIEWMODBUS 地址类型与功能码对应关系当触摸屏作为一个MODBUS SERVER 主站时,是要对所连接的MODBUS RTU 从站进行读写控制。

WEINVIEW 的触摸屏支持01—05和16号功能码。

每个设备地址类型所使用的功能码如下:地址类型 读/写 功能码 备注 0X 读/写 01/05 输入位寄存器 Output bit 1X 只读 02 输出位寄存器 Input bit (read only) 3X 只读 04 输入寄存器(字) Input Register (read only)3X-BIT 只读 04 3X 的位地址 4X 读/写 03/16 输出寄存器(字) Output Register 4X-BIT读/写03/164X 的位地址5X 读/写 03数据寄存器(字),与4X 相比:同一个字互换高低字节 4x double word swap 6X 读/写 03/06数据寄存器(字),与4X 相比:每次读写单个字4x single word write对MODBUS RTU 设备进行读写,触摸屏上的元件中使用什么样的地址类型,取决于RTU 设备所支持的功能码、目标对象是位地址还是字地址控制、以及是否要进行写入;-------------------------------------------------------------------------------------------------当触摸屏作为一个MODBUS RTU 从站时,在主站MODBUS SERVER 中对其进行读写,地址对应关系如下:0X,1X 的1~9999 —— LB0~9998如:0X0001=LB0 0X0002=LB13X,4X 的 1~9999 —— LW0~9998如:3X0001=LW0 3X0002=LW13X,4X 的 10000~65535 —— RW0~55535如:3X/4X 10000=RW03X/4X 65535=RW55535。

MODBUS地址类型与功能码对应关系大全

MODBUS地址类型与功能码对应关系大全
4x double word swap
6X
读/写
03/06
数据寄存器(字),与4X相比:每次读写单个字
4x single word write
对MODBUS RTU设备进行读写,触摸屏上的元件中使用什么样的地址类型,取决于RTU设备所支持的功能码、目标对象是位地址还是字地址控制、以及是否要进行写入;
1X
只读
02
输出位寄存器
Input bit (read only)
3X
只读
04
输入寄存器(字)
Input Register (read only)
3X-BIT
只读
04
3X的位地址
4X
读/写
03/16
输出寄存器(字)
Output Register
4X-BIT
读/写
03/16
4X的位地址
5X
读/写
03
数据寄存器(字),与4X相比:同一个字互换高低字节
-------------------------------------------------------------------------------------------------
当触摸屏作为一个MODBUS RTU从站时,在主站MODBUS SERVER中对其进行读写,地址对应关系如下:
MODBUS地址类型与功能码对应关系
当触摸屏作为一个MODBUS SERVER主站时,是要对所连接的MODBUS RTU从站进行读写控制。
WEINVIEW的触摸屏支持01—05和16号功能码。每个设备地址类型所使用的功能码如下:
地址类型
读/写
功能码
备注
0X
Байду номын сангаас读/写

Modbus功能码一览表

Modbus功能码一览表

远程从属控制器,但实际所支持的从机数要由所用通信设备决定。采用这个系 统,各 PC 可以和中心主机交换信息而不影响各 PC 执行本身的控制任务。表 2 是 ModBus 各功能码对应的数据类型。
表 2 ModBus 功能码与数据类型对应表
代码
功能
数据类型
01


02


03

整型、字符型、状态字、浮点型
习惯于成串发送数据的设备会首选送出字符的最右位(LSB-最低有效位)。 而在生成 CRC 情况下,发送首位应是被除数的最高有效位 MSB。由于在运算中不 用进位,为便于操作起见,计算 CRC 时设 MSB 在最右位。生成多项式的位序也必 须反过来,以保持一致。多项式的 MSB 略去不记,因其只对商有影响而不影响 余 数。 生成 CRC-16 校验字节的步骤如下: ①装如一个 16 位寄存器,所有数位均为 1。
(2)Modbus 的数据校验方式 CRC-16(循环冗余错误校验)
CRC-16 错误校验程序如下:报文(此处只涉及数据位,不指起始位、停止位 和任选的奇偶校验位)被看作是一个连续的二进制,其最高有效位(MSB)首选 发 送。报文先与 X↑16 相乘(左移 16 位),然后看 X↑16+X↑15+X↑2+1 除, X↑16+X↑15+X↑2+1 可以表示为二进制数 11000000000000101。整数商位忽略 不记,16 位余数加入该报文(MSB 先发送),成为 2 个 CRC 校验字节。余数中的 1 全部初始化,以免所 有的零成为一条报文被接收。经上述处理而含有 CRC 字 节的报文,若无错误,到接收设备后再被同一多项式(X↑16+X↑15+X↑2+1)除, 会得到一个 零余数(接收设备核验这个 CRC 字节,并将其与被传送的 CRC 比较)。 全部运算以 2 为模(无进位)。

Modbus通讯 功能码及实例

Modbus通讯 功能码及实例

功效【2 】码名称感化01 读取线圈状况取得一组逻辑线圈的当前状况(ON/OFF)02 读取输入状况取得一组开关输入的当前状况(ON/OFF)03 读取保持存放器在一个或多个保持存放器中取得当前的二进制值04 读取输入存放器在一个或多个输入存放器中取得当前的二进制值05 强置单线圈强置一个逻辑线圈的通断状况06 预置单存放器把具体二进值装入一个保持存放器07 读取平常状况取得8个内部线圈的通断状况,这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和MICRO 84)可使主机模仿编程功效,修正PC状况逻辑19 重置通信链路产生非可修正错误后,是从机复位于已知状况,可重置次序字节20 读取通用参数(584L)显示扩大存储器文件中的数据信息21 写入通用参数(584L)把通用参数写入扩大存储文件,或修正之22~64 保留作扩大功效备用65~72 保留以备用户功效所用留感化户功效的扩大编码73~119 不法功效120~127 保留留作内部感化128~255 保留用于平常应答实例在这些功效码中较长应用的是1.2.3.4.5.6号功效码,应用它们即可实现对下位机的数字量和模仿量的读写操作.1.读可读写数字量存放器(线圈状况):盘算机发送敕令:[装备地址] [敕令号01] [肇端存放器地址高8位] [低8位] [读取的存放器数高8位] [低8位] [CRC校验的低8位] [CRC校验的高8位]例:[11][01][00][13][00][25][CRC低][CRC高]意义如下:<1>装备地址:在一个485总线上可以挂接多个装备,此处的装备地址表示想和哪一个装备通信.例子中为想和17号(十进制的17是十六进制的11)通信.<2>敕令号01:读取数字量的敕令号固定为01.<3>肇端地址高8位.低8位:表示想读取的开关量的肇端地址(肇端地址为0).比如例子中的肇端地址为19.<4>存放器数高8位.低8位:表示从肇端地址开端读若干个开关量.例子中为37个开关量.<5>CRC校验:是从开首一向校验到此之前.在此协定的最后再作介绍.此处须要留意,CRC校验在敕令中的高下字节的次序和其他的相反.装备响应:[装备地址] [敕令号01] [返回的字节个数][数据1][数据2]...[数据n][CRC校验的低8位] [CRC校验的高8位]例:[11][01][05][CD][6B][B2][0E][1B][CRC低][CRC高]意义如下:<1>装备地址和敕令号和上面的雷同.<2>返回的字节个数:表示数据的字节个数,也就是数据1,2...n中的n的值.<3>数据1...n:因为每一个数据是一个8位的数,所以每一个数据表示8个开关量的值,每一位为0表示对应的开关断开,为1表示闭合.比如例子中,表示20号(索引号为19)开封闭合,21号断开,22闭合,23闭合,24断开,25断开,26闭合,27闭合...假如讯问的开关量不是8的整倍数,那么最后一个字节的高位部分无意义,置为0.<4>CRC校验同上.2.读只可读数字量存放器(输入状况):和读取线圈状况相似,只是第二个字节的敕令号不再是1而是2.3.写数字量(线圈状况):盘算机发送敕令:[装备地址] [敕令号05] [需下置的存放器地址高8位] [低8位] [下置的数据高8位] [低8位] [CRC校验的低8位] [CRC校验的高8位]例:[11][05][00][AC][FF][00][CRC低][CRC高]意义如下:<1>装备地址和上面的雷同.<2>敕令号:写数字量的敕令号固定为05.<3>需下置的存放器地址高8位,低8位:表清楚明了须要下置的开关的地址.<4>下置的数据高8位,低8位:表明须要下置的开关量的状况.例子中为把该开封闭合.留意,此处只可所以[FF][00]表示闭合[00][00]表示断开,其他数值不法.<5>留意此敕令一条只能下置一个开关量的状况.装备响应:假如成功把盘算机发送的敕令原样返回,不然不响应.4.读可读写模仿量存放器(保持存放器):盘算机发送敕令:[装备地址] [敕令号03] [肇端存放器地址高8位] [低8位] [读取的存放器数高8位] [低8位] [CRC校验的低8位] [CRC校验的高8位]例:[11][03][00][6B][00][03][CRC低][CRC高]意义如下:<1>装备地址和上面的雷同.<2>敕令号:读模仿量的敕令号固定为03.<3>肇端地址高8位.低8位:表示想读取的模仿量的肇端地址(肇端地址为0).比如例子中的肇端地址为107.<4>存放器数高8位.低8位:表示从肇端地址开端读若干个模仿量.例子中为3个模仿量.留意,在返回的信息中一个模仿量须要返回两个字节.装备响应:[装备地址] [敕令号03] [返回的字节个数][数据1][数据2]...[数据n][CRC校验的低8位] [CRC校验的高8位]例:[11][03][06][02][2B][00][00][00][64][CRC低][CRC高]意义如下:<1>装备地址和敕令号和上面的雷同.<2>返回的字节个数:表示数据的字节个数,也就是数据1,2...n中的n的值.例子中返回了3个模仿量的数据,因为一个模仿量须要2个字节所以共6个字节.<3>数据1...n:个中[数据1][数据2]分离是第1个模仿量的高8位和低8位,[数据3][数据4]是第2个模仿量的高8位和低8位,以此类推.例子中返回的值分离是555,0,100.<4>CRC校验同上.5.读只可读模仿量存放器(输入存放器):和读取保存存放器相似,只是第二个字节的敕令号不再是2而是4.6.写单个模仿量存放器(保持存放器):盘算机发送敕令:[装备地址] [敕令号06] [需下置的存放器地址高8位] [低8位] [下置的数据高8位] [低8位] [CRC校验的低8位] [CRC校验的高8位]例:[11][06][00][01][00][03][CRC低][CRC高]意义如下:<1>装备地址和上面的雷同.<2>敕令号:写模仿量的敕令号固定为06.<3>需下置的存放器地址高8位,低8位:表清楚明了须要下置的模仿量存放器的地址.<4>下置的数据高8位,低8位:表明须要下置的模仿量数据.比如例子中就把1号存放器的值设为3.<5>留意此敕令一条只能下置一个模仿量的状况.装备响应:假如成功把盘算机发送的敕令原样返回,不然不响应.。

Modbus功能码一览

Modbus功能码一览

Modbus ‎功能码一览Modbus ‎网络是一个工‎业通信系统,由带智能终端‎的可编程序控‎制器和计算机‎通过公用线路‎或局部专用线‎路连接而成。

其系统结构既‎包括硬件、亦包 括软件。

它可应用于各‎种数据采集和‎过程监控。

下表1是Mo ‎d Bus 的功‎能码定义。

Modbus‎网络只是一个‎主机,所有通信都由‎他发出。

网络可支持2‎47个之多的‎远程从属控制‎器,但实际所支持‎的从机数要由‎所用通信设备‎决定。

采用这个系统,各PC可以和‎中心主机交换‎信息而不影响‎各PC执行本‎身的控制任务‎。

表2是Mod‎B us各功能‎码对应的数据‎类型。

(1)在ModBu‎s系统中有2‎种传输模式可‎选择。

这2种传输模‎式与从机PC‎通信的能力是‎同等的。

选择时应视所‎用ModBu‎s主机而定,每个ModB‎u s系统只能‎使用一种模式‎,不允许2种模‎式混用。

一种模式是A‎S CII(美国信息交换‎码),另一种模式是‎R TU(远程终端设备‎)这两种模式的‎定义见表3的主计算‎机及主PC很‎适宜。

RTU则适用‎于机器语言编‎程的计算机和‎P C主机。

用RTU模式‎传输的数据是‎8位二进制字‎符。

如欲转换为A‎S CII模式‎,则每个RTU‎字符首先应分‎为高位和低位‎两部分,这两部分各含‎4位,然后转换成十‎六进制等量值。

用以构成报文‎的ASCII‎字符都是十六‎进制字符。

ASCII模‎式使用的字符‎虽是RTU模‎式的两倍,但ASCII‎数据的译玛和‎处理更为容易‎一些,此外,用RTU模式‎时报文字符必‎须以连续数据‎流的形式传送‎,用ASCII‎模式,字符之间可产‎生长达1s的‎间隔,以适应速度较‎快的机器。

表4给出了以‎R TU 方式读取整数‎据的例子(CRC-16(循环冗余错误‎校验)CRC-16错误校验‎程序如下:报文(此处只涉及数‎据位,不指起始位、停止位和任选‎的奇偶校验位‎)被看作是一个‎连续的二进制‎,其最高有效位‎(MSB)首选发送。

modbus功能码及格式

modbus功能码及格式
1字节
01/02/03/04
例子:
4、“05”写单一线圈
发送:
功能代码
1字节
0x05
线圈地址
2字节
0x0000~0xFFFF
写入值
2字节
0x0000或0xFF00
接收:
功能代码
1字节
0x05
线圈地址
2字节
0x0000~0xFFFF
写入值
2字节
0x0000或0xFF00
出错时的返回:
功能代码
1字节
0x85
1字节
0x86
错误代码
1字节
01/02/03/04
例子:
6、“15(0x0F)”写多线圈
发送:
功能代码
1字节
0x0F
起始地址
2字节
0x0000~0xFFFF
写入线圈个数
2字节
0x0001~0x07B0
写入字节数
1字节
N
写入值
N字节
N=写入线圈个数 / 8 ,如果余数不为0则N=N+1
接收:
功能代码
1字节
0x0F
起始地址
2字节
0x0000~0xFFFF
写入线圈个数
2字节
0x0001或0x07B0
出错时的返回:
功能代码
1字节
0x8F
错误代码
1字节
01/02/03/04
例子:
7、“16(0x10)”写多寄存器
发送:
功能代码
1字节
0x10
起始地址
2字节
0x0000~0xFFFF
写入寄存器个数
2字节
0x0001~0x007B

MODBUS协议(功能码及报文解析)

MODBUS协议(功能码及报文解析)

MODBUS协议Modbus是一种串行通信协议,是于____年,为使用可编程逻辑控制器(PLC)而发表的。

事实上,它已经成为工业领域通信协议,并且现在是工业电子设备之间相当常用的连接方式。

Modbus比其他通信协议使用的更广泛的主要原因有:公开发表并且无版税要求相对容易的工业网络部署对供应商来说,修改移动原生的位或字节没有很多限制Modbus允许多个设备连接在同一个网络上进行通信,举个例子,一个由测量温度和湿度的装置,并且将结果发送给计算机。

在数据采集与监视控制系统(SCADA)中,Modbus通常用来连接监控计算机和remote terminal unit (RTU)。

Modbus协议目前存在用于串口、以太网以及其他支持互联网协议的网络的版本。

大多数Modbus设备通信通过串口物理层进行。

对于通过(例如)的连接,存在多个Modbus/TCP变种,这种方式不需要校验和的计算。

对于所有的这三种通信协议在数据模型和功能调用上都是相同的,只有封装方式是不同的。

Modbus 有一个扩展版本Modbus Plus(Modbus+或者MB+),不过此协定是Modicon专有的,和Modbus不同。

它需要一个专门的协处理器来处理类似的高速令牌旋转。

它使用1Mbit/s的,并且每个节点都有转换隔离装置,是一种采用转换/边缘触发而不是电压/水平触发的装置。

连接Modbus Plus到计算机需要特别的接口,通常是支持ISA(SA85),PCI或者PCMCIA总线的板卡。

Modbus协议是一个master/slave 架构的协议。

有一个节点是master 节点,其他使用Modbus协议参与通信的节点是slave 节点。

每一个slave 设备都有一个唯一的地址。

在串行和MB+网络中,只有被指定为主节点的节点可以启动一个命令(在以太网上,任何一个设备都能发送一个Modbus命令,但是通常也只有一个主节点设备启动指令)。

一个ModBus命令包含了打算执行的设备的Modbus地址。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

MODBUS常用功能码备查
表1 ModBus功能码
功能码名
称作用
01 读取线圈状态取得一组逻辑线圈的当前状态(ON/OFF)
02 读取输入状态取得一组开关输入的当前状态(ON/OFF)
03 读取保持寄存器在一个或多个保持寄存器中取得当前的二进制值
04 读取输入寄存器在一个或多个输入寄存器中取得当前的二进制值
05 强置单线圈强置一个逻辑线圈的通断状态
06 预置单寄存器把具体二进值装入一个保持寄存器
15 强置多线圈强置一串连续逻辑线圈的通断
16 预置多寄存器把具体的二进制值装入一串连续的保持寄存器
表2 ModBus功能码与数据类型对应表
代码功能数据类

对应地址
01 读位
0000X
02 读位
1000X
03 读整型、字符型、状态字、浮点型4000X
04 读整型、状态字、浮点
型3000X
05 写位
0000X
06 写整型、字符型、状态字、浮点型4000X
15 写位
0000X
16 写整型、字符型、状态字、浮点型4000X
(学习的目的是增长知识,提高能力,相信一分耕耘一分收获,努力就一定可以获得应有的回报)。

相关文档
最新文档