[WEINVIEW] MODBUS地址类型与功能码对应关系

合集下载

modbus解读

modbus解读

Modbus是一种比较简单且易组网安全,性价比高的协议!Modbus仅仅是协议!具体的物理层没有规定!可以是232也可以是485,Modbus只关心接收到的数据的格式和校验。

Modbus的格式很简单,主要有单字读,单字写,多字读,还有广播等。

注意,所有的操作都是以字为单位。

Modbus是一种主从式协议,即一个系统中只有一个主设备,所有的操作都是主设备发起。

通过查询和回应的机制进行通信。

(1)查询查询消息中的功能代码告之被选中的从设备要执行何种功能。

数据段包含了从设备要执行功能的任何附加信息。

例如功能代码03是要求从设备读保持寄存器并返回它们的内容。

数据段必须包含要告之从设备的信息:从何寄存器开始读及要读的寄存器数量。

错误检测域为从设备提供了一种验证消息内容是否正确的方法。

(2)回应如果从设备产生一正常的回应,在回应消息中的功能代码是在查询消息中的功能代码的回应。

数据段包括了从设备收集的数据:象寄存器值或状态。

如果有错误发生,功能代码将被修改以用于指出回应消息是错误的,同时数据段包含了描述此错误信息的代码。

错误检测域允许主设备确认消息内容是否可用。

地址域消息帧的地址域包含两个字符(ASCII)或8Bit(RTU)。

可能的从设备地址是0...247 (十进制)。

单个设备的地址范围是1...247。

主设备通过将要联络的从设备的地址放入消息中的地址域来选通从设备。

当从设备发送回应消息时,它把自己的地址放入回应的地址域中,以便主设备知道是哪一个设备作出回应。

地址0是用作广播地址,以使所有的从设备都能认识。

当Modbus协议用于更高水准的网络,广播可能不允许或以其它方式代替。

功能域消息帧中的功能代码域包含了两个字符(ASCII)或8Bits(RTU)。

可能的代码范围是十进制的1...255。

当然,有些代码是适用于所有控制器,有此是应用于某种控制器,还有些保留以备后用。

当消息从主设备发往从设备时,功能代码域将告之从设备需要执行哪些行为。

WEINVIEW modbus通讯协议 中文版

WEINVIEW modbus通讯协议 中文版

摘要:工业控制已从单机控制走向集中监控、集散控制,如今已进入网络时代,工业控制器连网也为网络管理提供了方便。

Modbus 就是工业控制器的网络协议中的一种。

关键词: Modbus 协议;串行通信; LRC 校验; CRC 校验; RS-23 2C一、 Modbus 协议简介Modbus 协议是应用于电子控制器上的一种通用语言。

通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信。

它已经成为一通用工业标准。

有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控。

此协议定义了一个控制器能认识使用的消息结构,而不管它们是经过何种网络进行通信的。

它描述了一控制器请求访问其它设备的过程,如果回应来自其它设备的请求,以及怎样侦测错误并记录。

它制定了消息域格局和内容的公共格式。

当在一 Modbus 网络上通信时,此协议决定了每一个控制器须要知道它们的设备地址,识别按地址发来的消息,决定要产生何种行动。

如果需要回应,控制器将生成反馈信息并用Modbus 协议发出。

在其它网络上,包含了 Modbus 协议的消息转换为在此网络上使用的帧或者包结构。

这种转换也扩展了根据具体的网络解决节地址、路由路径及错误检测的方法。

1、在 Modbus 网络上转输标准的 Modbus 口是使用一 RS-232C 兼容串行接口,它定义了连接口的针脚、电缆、信号位、传输波特率、奇偶校验。

控制器能直接或者经由 Modem 组网。

控制器通信使用主—从技术,即仅一设备(主设备)能初始化传输(查询)。

其它设备(从设备)根据主设备查询提供的数据作出相应反应。

典型的主设备:主机和可编程仪表。

典型的从设备:可编程控制器。

主设备可单独和从设备通信,也能以广播方式和所有从设备通信。

如果单独通信,从设备返回一消息作为回应,如果是以广播方式查询的,则不作任何回应。

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是一种串行通信协议,是Modicon于1979年,为使用可编程逻辑控制器(PLC)而发表的。

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

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

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

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

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

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

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

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

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

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

对于通过TCP/IP(例如以太网)的连接,存在多个Mod bus/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网络只是一个主机,所有通信都由他发出。

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

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

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

05和16号功能码。

每个设备地址类型所使用的功能码如下: WEINVIEW的触摸屏支持01—地址类型读/写功能码备注输入位寄存器 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 Register4X-BIT 读/写 03/16 4X的位地址数据寄存器(字),与4X相比:5X 读/写 03 同一个字互换高低字节4x double word swap数据寄存器(字),与4X相比:6X 读/写 03/06 每次读写单个字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=RW55535WEINVIEW---------------------------------------------------------------范文最新推荐------------------------------------------------------ 电力安全月工作总结 [电力安全月工作总结]电力安全月工作总结 2011年3月1日至3月31日为我公司的安全生产月,**变电站围绕;夯实基储提高素质、树立标杆、争创一流;的主题,开展了丰富多彩、形式多样的具体行动:通过看板形式宣传安全第一、预防为主的方针,通过48+4的学习机会,进行安全生产大讨论,通过安全活动进行查找本站的隐患的活动,电力安全月工作总结。

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

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

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

每个设备地址类型所使用的功能码如下:
对MODBUS RTU设备进行读写,触摸屏上的元件中使用什么样的地址类型,取决于RTU设备所支持的功能码、目标对象是位地址还是字地址控制、以及是否要进行写入;
EB8000软件中MODBUS协议的设备类型为0x、1x、3x、4x、5x、6x,还有3x_bit,4x_bit,6x_bit,0x_multi_coils等,下面分别说明这些设备类型在MODBUS协议中支持哪些功能码。

0x:是一个可读可写的设备类型,相当于操作PLC的输出点。

该设备类型读取位状态的时候,发出的功能码是01H,写位状态的时候发出的功能码是05H。

写多个寄存器时发出的功能码是0fH。

1x:是一个只读的设备类型,相当于读取PLC的输入点。

读取位状态的时候发出的功能码为
02H。

3x:是一个只读的设备类型,相当于读取PLC的模拟量。

读数据的时候,发出的功能码是04H。

4x:是一个可读可写的设备类型,相当于操作PLC的数据寄存器。

当读取数据的时候,发出的功能码是03H,当写数据的时候发出的功能码时10H,可写多个寄存器的数据。

5x:该设备类型与4x的设备类型属性是一样的。

即发出读写的功能码完全一样,不同之处在于:当为双字时,例如32_bit unsigned格式的数据,使用5x和4x两种设备类型分别读取数据时,高字和低
字的位置是颠倒的。

例如,使用4x设备类型读到的数据是0x12345678,那么使用5x设备类型读到的
数据是0x56781234。

6x:是一个可读可写的设备类型,读取数据的时候,发出的功能码也是03H,与4x不同之处在于写数据的时候发出的功能码时06H,即写单个寄存器的数据。

3x_bit:该设备类型发出的功能码与3x设备类型完全一致,不同之处是,3x是读数据,而3x_bit 是
读数据中的某一个位的状态。

4x_bit:该设备类型发出的功能码与4x设备类型完全一致,不同之处是,4x是读数据,而4x_bit 是
读数据中的某一个位的状态。

6x_bit:该设备类型发出的功能码与6x设备类型完全一致,不同之处是,6x是读数据,而6x_bit 是
读数据中的某一个位的状态。

0x_multi_coils:该设备类型发出的功能码与0x设备类型完全一致,不同之处是,0x是读16整数倍位数的bit,而0x_multi_coils可读任意位数的bit。

-------------------------------------------------------------------------------------------------
当触摸屏作为一个MODBUS RTU从站时,在主站MODBUS SERVER中对其进行读写,地址对应关系如下:
0X,1X的1~9999——LB0~9998
如:0X0001=LB00X0002=LB1
3X,4X的1~9999——LW0~9998
如:3X0001=LW03X0002=LW1
3X,4X的10000~65535——RW0~55535
如:3X/4X10000=RW0
3X/4X65535=RW55535。

相关文档
最新文档