文档库 最新最全的文档下载
当前位置:文档库 › PLC寄存器地址与Modbus地址对应的问题

PLC寄存器地址与Modbus地址对应的问题

PLC寄存器地址与Modbus地址对应的问题
PLC寄存器地址与Modbus地址对应的问题

Modbus 地址

通常Modbus 地址由 5 位数字组成,包括起始的数据类型代号,以及后面的偏移地址。Modbus Master 协议库把标准的Modbus 地址映射为所谓Modbus 功能号,读写从站的数据。Modbus Master 协议库支持如下地址:

?00001 - 09999:数字量输出(线圈)

?10001 - 19999:数字量输入(触点)

?30001 - 39999:输入数据寄存器(通常为模拟量输入)

?40001 - 49999:数据保持寄存器

Modbus Master 协议库支持的功能

为了支持上述Modbus 地址的读写,Modbus Master 协议库需要从站支持下列功能:

表 1. 需要从站支持的功能

Modbus 地址读/

Modbus 从站须支持

的功能

00001 - 09999 数字量输

出读功能 1

功能5:写单输出点

功能15:写多输出点

10001 - 19999 读功能 2 写-

数字量输

30001 - 39999 输入寄存

器读功能 4 写-

40001 - 49999 保持寄存

器读功能 3

功能6:写单寄存器

单元

功能16:写多寄存器

单元

如何理解Modbus 地址与功能码的区别?

Modbus 地址与Modbus 的功能码是两个层次的概念。

根据Modbus 通信协议,Modbus 数据的地址使用0xxxx、1xxxx、3xxxx 和4xxxx 的形式,分别表示数字量输出、数字量输入、模拟量输入等数据地址。在使用S7-200 的指令库时,Modbus 数据地址与S7-200 的I/O 和数据存储区地址间有特定的对应关系。

有些设备表明它支持Modbus RTU 通信协议,但也详细提供了读写数据的详细通信帧格式,其中包括如何指定Modbus 站的地址,需要读写数据类型、长度等等。数据帧有特定字节指出此指令读写的数据类型和地址,此字节的数据内容即所谓“功能码”,如功能 1 指定读取单个/多个数字量输出点的值。

支持Modbus 协议的设备或软件,使用时用户直接设置或看到的应当是Modbus 数据地址。Modbus 地址所访问的数据,是通过各种“功能”读写而来。功能码是Modbus 地址的底层。如果Modbus 通信的一方提供的所谓Modbus 协议只有功能码,则需要注意了解此功能号与Modbus 地址间的对应关系。

使用modbus地址时应注意下述问题:

1)40001~4xxxx是美国modicon公司和ge公司plc使用的modbus地址,它是基于1的地址,即同类元件的首地址为1。西门子plc的modbus地址是基于0的地址。

2)美国的modbus地址左起第2位用来表示元件的类型,例如i0.0的modbus地址为010001。因为数据类型已经包含在功能码中了,西门子的i0.0的modbus地址实际上为000000,i2.0的modbus地址为000016(或十六进制数16#0010),而不是010017。

其他问题:

1、modbus的保持和输入寄存器是以word(16bit)为单位的。(Data is packed as two bytes per register.)

比如4****(保持寄存器/输出寄存器)和3****(输入寄存器)是以字为单位的。

所以,如果读40001寄存器开始的一个16位的无符号数,那么返回2个Byte,并可以从40002开始读下一个16位的无符号数。

但是,如果读40001寄存器开始的一个32位浮点数,那么,返回4个Byte,而且,下一个32位浮点数必须从40003开始。

客户问题:

1)、将40001定义为一个Byte的数据;

2)、将40001定义为32位浮点数,40002为下一个32位浮点数。我们可以参考一下国标GBT_19582-1 2008 (基于Modubs协议的工业自动化网络规范)的功能码表:

2、寄存器最小地址为1,而报文起始地址为0。(Register 1 is addressed as 0)

在数据报文中,所有的modbus地址都是从0开始的。也就是首次出现的数据项在报文中的地址为0。比如:(All data addresses in Modbus messages are referenced to zero. The first occurrence of a data item is addressed as item number zero. For example:)

1. 在控制器中,“线圈1”在Modbus报文的地址域中的地址

为00 00。

(The coil known as …coil 1? in a programmable

controller is addressed as coil

0000 in the data address field of a Modbus message.)

2. 线圈127的十六进制报文地址为007E hex(十进制的

126)

Coil 127 decimal is addressed as coil 007E hex (126

decimal).

3. 保持寄存器40001的报文地址为00 00。因为报文功能码

明确要操作“保持寄存器”,所以,协议就以“4XXXX”代表

这个寄存器。

Holding register 40001 is addressed as register 0000 in

the data address field

of the message. The function code field already

specifies a …holding register?

operation. Therefore the …4XXXX? reference is implicit.

4. 保持寄存器40108的报文地址为006B hex (十进制107)

Holding register 40108 is addressed as register 006B

hex (107 decimal).

上面摘自Modicon_Modbus协议.pdf Page27

总之,Modbus地址一般指4****(保持寄存器/输出寄存器)和3****(输入寄存器),这时应用层面的:

比如设备说明书可以简要说明设备支持Modbus RTU标准协议,并详细描述其地址对应关系为:40001 ——模拟量采集通道1,16位有符号数,.....。

比如组态软件的地址设置,一般为输出寄存器,从地址1开始,连续多少个。或者指明400001:16位有符号数。

但是,在数据报文层面,寄存器起始地址从0开始。

数据报文包括:设备地址+功能码+起始地址+寄存器个数+校验位。其中,起始地址是从0开始的。

举例说明:从设备17读40001开始的2个寄存器数据的报文

设备地址功能码起始地址寄存器个数校验

11 03 00 00 00 02 --

客户问题:

1)、使用和定义40000地址;

2)、分析报文时,直接将报文起始地址当作应用层寄存器地址。

Modbus功能表

Modbus网络是一个工业通信系统,由带智能终端的可编程序控制器和计算机通过公用线路或局部专用线路连接而成。其系统结构既包括硬件、亦包括软件。它可应用于各种数据采集和过程监控。下表1是ModBus的功能码定义。 表1 ModBus功能码

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

(1)ModBus的传输方式 在ModBus系统中有2种传输模式可选择。这2种传输模式与从机PC通信的能力是同等的。选择时应视所用ModBus主机而定,每个ModBus系统只能使用一种模式,不允许2种模式混用。一种模式是ASCII(美国信息交换码),另一种模式是RT U(远程终端设备)这两种模式的定义见表3 表3 ASCII和RTU传输模式的特性

ASCII可打印字符便于故障检测,而且对于用高级语言(如Fortan)编程的主计算机及主PC很适宜。RTU则适用于机器语言编程的计算机和PC主机。 用RTU模式传输的数据是8位二进制字符。如欲转换为ASCII模式,则每个RTU字符首先应分为高位和低位两部分,这两部分各含4位,然后转换成十六进制等量值。用以构成报文的ASCII字符都是十六进制字符。ASCII模式使用的字符虽是RTU模式的两倍,但ASCII数据的译玛和处理更为容易一些,此外,用RTU模式时报文字符必须以连续数据流的形式传送,用ASCII模式,字符之间可产生长达1s的间隔,以适应速度较快的机器。表4给出了以RTU 方式读取整数据的例子 以RTU方式读取整数据的例子

modbus地址对应表

modbus地址对应表 Modbus是一种串行通信协议,由Modicon公司(现在的施耐德电气Schneider Electric)于1979年发布,用于可编程逻辑控制器(Programmable logic controllers,PLCs)。Modbus事实上已经成为工业领域通信协议的业界标准,并且现在是工业电子设备之间常用的连接方式。在工业应用场景中使用Modbus的主要原因是: 考虑到Modbus本就为了工业应用而开发, 公开发布,并且无版权要求, 易于部署和维护, 未对供应商修改移动本地比特或字节施加限制。 Modbus支持多个设备连接到同一网络上进行通信,例如,一个能测量温度和湿度并将结果传送给计算机的装置。在数据采集与监视控制(Supervisory control and data acquisition, SCADA)系统中,Modbus常用于连接监控计算机与远程终端设备(Remote terminal unit,RTU)。许多数据类型是根据梯形逻辑及其驱动继电器在工业上的使用而得名的:单比特物理输出称为线圈,单比特物理输入称为离散输入或触点。 自2004年4月施耐德电气将权利转让给Modbus组织以来,该组织一直管理着Modbus协议的开发和更新。Modbus组织是一个倡

导持续使用该技术的协会,其由兼容Modbus设备的用户和供应商组成。 Modbus协议目前存在多个用于串行端口、以太网和其他支持互联网协议套件的网络版本。Modbus协议有许多变体: Modbus RTU —这用于串行通信,并采用数据的紧凑二进制表示进行协议通信。RTU格式使用带有循环冗余校验的校验和的命令/数据作为错误校验机制,以确保数据的可靠性。Modbus RTU是Modbus 最常见的实现方式。Modbus RTU消息必须连续传输,不能有字符间的延迟。Modbus消息由空闲(静默)时段构成(分隔)。 Modbus ASCII —用于串行通信,并利用ASCII字符进行协议通信。ASCII格式使用纵向冗余校验的校验和。Modbus ASCII消息由前导冒号(":")和尾随换行符(CR/LF)组成。 Modbus TCP/IP或Modbus TCP —这是一种通过连接502端口,基于TCP/IP网络通信的Modbus变体。它不需要计算校验和,因为底层已经提供校验和保护。 基于TCP/IP的Modbus或基于TCP的Modbus 或Modbus RTU/IP—这是一个与Modbus TCP不同的Modbus变体,其在有效载荷中和Modbus RTU一样包含校验和。 基于UDP的Modbus—一些人已经尝试在IP网络上使用基于UDP 的Modbus,这消除了TCP所需的开销。 Modbus Plus (Modbus+、MB+或MBP)-Modbus Plus是施耐德

modbus地址对应表

modbus地址对应表 曾经做过单片机和以下20种PLC的Modbus RTU串口通信,现将这20种PLC输入、输出和寄存器元件与Modbus编号地址对应表分享出来。 三菱FX3G-40MR/ES-A、西门子S7-200 CPU226 AC/DC/RLY、欧姆龙CP1H-X40DR-A、松下AFPX-C40R、台达DVP-12SA2、信捷XC5-48、永宏FBs-40MC、产电XBC-DR40S、汇川H2u-2416MT-XP、英威腾IVC2H-1616MAT6、基恩士KV-N40AR、施耐德电气TM218LDAE40DRPHN、海为H40S2R系列、维控LX3V1212MT系列、和利时LE5109、台安AP-340BR-A、罗克韦尔1766-L32BWA、合信CTH200系列CPU H226L、富士SPE NW0P40R-31、步科K508-40AR。, 三菱 X元件支持Modbus之02功能码; Y元件支持Modbus之01、05、15功能码; D元件支持Modbus之03、06、16功能码。 西门子

I元件支持Modbus之02功能码; Q元件支持Modbus之01、05、15功能码; V元件支持Modbus之03、06、16功能码。 欧姆龙 CIO0元件支持Modbus之02功能码; CIO100元件支持Modbus之01、05、15功能码;D元件支持Modbus之03、06、16功能码。 松下 X元件支持Modbus之02功能码; Y元件支持Modbus之01、05、15功能码; DT元件支持Modbus之03、06、16功能码。 台达 X元件支持Modbus之02功能码; Y元件支持Modbus之01、05、15功能码; D元件支持Modbus之03、06、16功能码。

modbus地址对应表

modbus地址对应表 协议版本 Modbus协议目前存在用于串口、以太网以及其他支持互联网协议的网络的版本。 大多数Modbus设备通信通过串口EIA-485物理层进行。 对于串行连接,存在两个变种,它们在数值数据表示不同和协议细节上略有不同。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 Plus到计算机需要特别的接口,通常是支持ISA(SA85),PCI或者PMCIA总线的板卡。 通信和设备 Modbus协议是一个master/slave架构的协议。有一个节点是master节点,其他使用Modbus协议参与通信的节点是slave节点。每一个slave设备都有一个唯一的地址。在串行和MB+网络中,只有被指定为主节点的节点可以启动一个命令(在以太网上,任何一个设备都能发送一个Modbus命令,但是通常也只有一个主节点设备启动指令)。 一个ModBus命令包含了打算执行的设备的Modbus地址。所有设备都会收到命令,但只有指定位置的设备会执行及回应指令(地址0例外,指定地址0的指令是广播指令,所有收到指令的设备都会运行,不过不回应指令)。所有的Modbus命令包含了检查码,以确定到达的命令没有被破坏。基本的ModBus命令能指令一个RTU改变它的寄存器的某个值,控制或者读取一个I/O端口,以及指挥设备回送一个或者多个其寄存器中的数据。

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

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设备类型读到的

PLC寄存器地址与Modbus地址对应的问题

Modbus 地址 通常Modbus 地址由 5 位数字组成,包括起始的数据类型代号,以及后面的偏移地址。Modbus Master 协议库把标准的Modbus 地址映射为所谓Modbus 功能号,读写从站的数据。Modbus Master 协议库支持如下地址: ?00001 - 09999:数字量输出(线圈) ?10001 - 19999:数字量输入(触点) ?30001 - 39999:输入数据寄存器(通常为模拟量输入) ?40001 - 49999:数据保持寄存器 Modbus Master 协议库支持的功能 为了支持上述Modbus 地址的读写,Modbus Master 协议库需要从站支持下列功能: 表 1. 需要从站支持的功能 Modbus 地址读/ 写 Modbus 从站须支持 的功能 00001 - 09999 数字量输 出读功能 1 写 功能5:写单输出点 功能15:写多输出点 10001 - 19999 读功能 2 写-

数字量输 入 30001 - 39999 输入寄存 器读功能 4 写- 40001 - 49999 保持寄存 器读功能 3 写 功能6:写单寄存器 单元 功能16:写多寄存器 单元 如何理解Modbus 地址与功能码的区别? Modbus 地址与Modbus 的功能码是两个层次的概念。 根据Modbus 通信协议,Modbus 数据的地址使用0xxxx、1xxxx、3xxxx 和4xxxx 的形式,分别表示数字量输出、数字量输入、模拟量输入等数据地址。在使用S7-200 的指令库时,Modbus 数据地址与S7-200 的I/O 和数据存储区地址间有特定的对应关系。 有些设备表明它支持Modbus RTU 通信协议,但也详细提供了读写数据的详细通信帧格式,其中包括如何指定Modbus 站的地址,需要读写数据类型、长度等等。数据帧有特定字节指出此指令读写的数据类型和地址,此字节的数据内容即所谓“功能码”,如功能 1 指定读取单个/多个数字量输出点的值。

modbus协议对应地址

CPU 上的通信口(Port0)支持 Modbus RTU 从站通信协议 S7-200 CPU上的通信口Port0可以支持Modbus RTU协议,成为Modbus RTU从站。此功能是通过S7-200的自由口通信模式实现,因此可以通过无线数据电台等慢速通信设备传输。 如果想在S7-200 CPU之间、或者其他支持Modbus RTU的设备使用Modbus RTU 协议通信,需要由有S7-200 CPU做Modbus主站。S7-200 CPU做主站必须由用户自己用自由口模式,按相关协议编程。 详情请参考《S7-200系统手册》之相关章节。 要实现Modbus RTU通信,需要STEP 7-Micro/WIN32 V3.2以上版本的编程软件,而且须安装STEP 7-Micro/WIN32 V3.2 Instruction Library(指令库)。Modbus RTU功能是通过指令库中预先编好的程序功能块实现的。 Modbus RTU从站指令库只支持CPU上的通信0口(Port0)。 参考:Modbus RTU 主站指令库 基本步骤: 1.检查Micro/WIN的软件版本,应当是STEP 7-Micro/WIN V3.2以上版本。 2.检查Micro/WIN的指令树中是否存在Modbus RTU从站指令库(图1),库中应当包 括MBUS_INIT和MBUS_SLA VE两个子程序。如果没有,须安装Micro/WIN32 V3.2的Instruction Library(指令库)软件包;

图1. 指令树中的库指令 3.编程时使用SM0.1调用子程序MBUS_INIT进行初始化,使用SM0.0调用 MBUS_SLA VE,并指定相应参数。关于参数的详细说明,可在子程序的局部变量表中找到;

MODEBUS 地址说明

MODEBUS 地址说明 在帮助目录的库栏目。 通常以 5 个字符值的形式写入Modbus 地址,其中包含数据类型和偏移量。第一个字符决定数据类型,后四个字符包含值。 Modbus 主站寻址 Modbus 主站指令将地址映射至正确功能,以发送到从站设备。Modbus 主站指令支持下列Modbus 地址: 00001 至09999 是离散量输出(线圈) 10001 至19999 是离散量输入(触点) 30001 至39999 是输入寄存器(通常是模拟量输入) (40001 至49999)和(400001 至465535)是保持寄存器 所有Modbus 地址均从 1 开始,也就是说第一个数据值从地址1 开始。实际有效地址范围取决于从站设备。不同的从站设备支持不同的数据类型和地址范围。 Modbus 从站寻址 Modbus 主站设备将地址映射至正确的功能。Modbus 从站指令支持下列地址: 00001 至00256 是映射到- 的离散量输出 10001 至10256 是映射到- 的离散量输入

30001 至30056 是映射到AIW0 - AIW110 的模拟量输入寄存器 40001 至49999 和400001 至465535 是映射到V 存储器的保持寄存器。将Modbus 地址映射到CPU 地址 所有Modbus 地址均从 1 开始。 将Modbus 地址映射到CPU 地址 所有Modbus 地址均从 1 开始。 将Modbus 地址映射到CPU 地址 Modbus 地址CPU 地址 00001 00002 00003 ...... 00255 00256 10001 10002 10003 10255

2020年modbus协议对应地址(精选干货)

CPU 上的通信口(Port0)支持 Modbus RTU 从站通信协议 S7-200 CPU上的通信口Port0可以支持Modbus RTU协议,成为Modbus RTU从站。此功能是通过S7-200的自由口通信模式实现,因此可以通过无线数据电台等慢速通信设备传输。 如果想在S7-200 CPU之间、或者其他支持Modbus RTU的设备使用ModbusRTU协议通信,需要由有S7-200 CPU做Modbus主站。S7-200 CPU做主站必须由用户自己用自由口模式,按相关协议编程。 详情请参考《S7-200系统手册》之相关章 节。 要实现Modbus RTU通信,需要STEP 7-Micro/WIN32 V3.2以上版本的编程软件,而且须安装STEP 7-Micro/WIN32 V3.2 Instruction Library(指令库)。ModbusRTU功能是通过指令库中预先编好的程序功能块实现的.......感谢聆听

Modbus RTU从站指令库只支持CPU上的通 信0口(Port0)。 参考:Modbus RTU 主站指令库 基本步骤: 1.检查Micro/WIN的软件版本,应当是STEP 7-M icro/WIN V3.2以上版本。 2.检查Micro/WIN的指令树中是否存在Modbus RTU 从站指令库(图1),库中应当包括MBUS_INIT和M BUS_SLAVE两个子程序。如果没有,须安装Micro/WIN32 V3。2的Instruction Library(指令库)软件包;

图1.指令树中的库指令...... 感谢聆听 3.编程时使用SM0.1调用子程序MBUS_INIT进行初 始化,使用SM0.0调用MBUS_SLAVE,并指定相应参数.关于参数的详细说明,可在子程序的局部变量表中找到;

modbus地址对应表

Modbus协议定义的寄存器地址是5位十进制地址,即: 线圈(DO)地址:00000~09999 触点(DI)地址:10000~19999 输入寄存器(AI)地址:30000~39999 输出寄存器(AO)地址:40000~49999 由于上述各类地址是唯一对应的,因此有些资料就以其第一个数字区分各类地址,即:0x代表线圈(DO)类地址,1x代表触点(DI)类地址、3x代表输入寄存器(AI)类地址、4x代表输出寄存器(AO)类地址。 在实际编程中,由于前缀的区分作用,所以只需说明后4位数,而且需转换为4位十六进制地址。 Modbus是一种串行通信协议,是Modicon公司(现在的施耐德电气Schneider Electric)于1979年为使用可编程逻辑控制器(PLC)通信而发表。Modbus已经成为工业领域通信协议的业界标准(De facto),并且现在是工业电子设备之间常用的连接方式。 Modbus是一种串行通信协议,是Modicon公司(现在的施耐德电气Schneider Electric)于1979年为使用可编程逻辑控制器(PLC)通信而发表。Modbus已经成为工业领域通信协议的业界标准(De facto),并且现在是工业电子设备之间常用的连接方式。Modbus比其他通信协议使用的更广泛的主要原因有: 对供应商来说,修改移动本地的比特或字节没有很多限制

Modbus允许多个(大约240个) 设备连接在同一个网络上进行通信,举个例子,一个由测量温度和湿度的装置,并且将结果发送给计算机。在数据采集与监视控制系统(SCADA)中,Modbus通常用来连接监控计算机和远程终端控制系统(RTU)。

omronplc地址转modbus协议

本文的地址对应同样适合CJ2M+CJ1W-SCU41-V1模块做Modbus-RTU从站。 一、简单概述 (1) 二、硬件安装与连接 (2) 三、Omron PLC与Modbus地址对应及使用 (9) 一、简单概述 要将OMRON PLC接入支持MODBUS协议的上位DCS系统中,通过ASC模块可满足用户的这一需求。方法为:将编有MODBUS接口软件的ASC模块安装在OMRON PLC上,并配以相应的梯形图程序的运行,即可实现链接。 本手册提供了MODBUS接口软件ASCST-V2的安装和使用方法及注意事项,用户在使用前,应仔细阅读本手册,理解了本手册的内容后再进行操作。 MODBUS协议的通讯方式分ASC方式和RTU方式,由于RTU方式比ASC方式快,一般用户都选择采用后一种方式。故ASC模块只支持ASC方式。 注:1.本手册中所出现的ASC模块都是以C200H-ASC21为例的。若用户用到其他ASC模块,请参照<>。 2.本手册都是以C200HE/HG/HX为例的,请参阅<>.若用户使用C200H/HS或CS1的,请参阅相应的编程手册。 通讯结构构成如下:

MODBUS协议的上位DCS系 统 主 从 OMRON PC OMRON PC ······MODICON PC MODICON PC ······ 二、硬件安装与连接 安装步骤: 1.完成所有的硬件连线。 2.对OMRON PLC传送相应的梯形图程序。 3.PLC的DM(m+1)设置为“自动运行“方式,即值为5A;(m=1000+100×单

modbus地址对应表

Modbus通讯协议: Modbus是一种串行通信协议,是Modicon公司于1979年为使用可编程逻辑控制器(PLC)通信而发表。Modbus已经成为工业领域通信协议的业界标准(De facto),并且现在是工业电子设备之间常用的连接方式。 简介: Modbus是一种串行通信协议,是Modicon公司于1979年为使用可编程逻辑控制器(PLC)通信而发表。Modbus已经成为工业领域通信协议的业界标准(De facto),并且现在是工业电子设备之间常用的连接方式。 公开发表并且无版权要求 易于部署和维护 对供应商来说,修改移动本地的比特或字节没有很多限制 Modbus允许多个(大约240个) 设备连接在同一个网络上进行通信,举个例子,一个由测量温度和湿度的装置,并且将结果发送给计算机。在数据采集与监视控制系统(SCADA)中,Modbus通常用来连接监控计算机和远程终端控制系统(RTU)。 协议版本: Modbus协议目前存在用于串口、以太网以及其他支持互联网协议的网络的版本。 大多数Modbus设备通信通过串口EIA-485物理层进行。 对于串行连接,存在两个变种,它们在数值数据表示不同和协议

细节上略有不同。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 Plus到计算机需要特别的接口,通常是支持ISA(SA85),PCI或者PMCIA总线的板卡。

modbus协议对应地址

CPU上的通信口(Porto )支持Modbus RTU从站通信协议 S7-200 CPU上的通信口PortO可以支持Modbus RTI协议,成为Modbus RTL从站。此功能是通过S7-200的自由口通信模式实现,因此可以通过无线数据电台等慢速通信设备传输。 如果想在S7-200 CPU之间、或者其他支持Modbus RTU的设备使用Modbus RTU 协议通信,需要由有S7-200 CPU做Modbus主站。S7-200 CPU做主站必须由用户自己用自由口模式,按相关协议编程。 详情请参考《S7-200系统手册》之相关章节。 要实现ModbusRTl通信,需要STEP7-Micro/WIN32 V3.2以上版本的编程软件,而且须安装STEP7-Micro/WIN32 V3.2 Instruction Library (指令库)。Modbus RTU功能是通过指令库中预先编好的程序功能块实现的。 Modbus RTU从站指令库只支持CPU上的通信0 口(Port0)。 参考:Modbus RTU主站指令库 基本步骤: 1. 检查Micro/WIN 的软件版本,应当是STEP 7-Micro/WIN V3.2 以上版本。 2. 检查Micro/WIN的指令树中是否存在Modbus RTU从站指令库(图1),库中应当包 括MBUS_INIT 和MBUS_SLAVE两个子程序。如果没有,须安装Micro/WIN32 V3.2 的 Instruction Library (指令库)软件包;

图 1. 指令树中的库指令 3. 编程时使用SM0.1 调用子程序MBUS_INIT 进行初始化,使用SM0.0 调用MBUS_SLA VE ,并指定相应参数。关于参数的详细说明,可在子程序的局部变量表中找到; 图中参数意义如下: a. 模式选择:启动/停止Modbus, 1=启动;0=停止 b. 从站地址:Modbus从站地址,取值1~247 c. 波特率:可选1200,2400,4800,9600, 19200,38400, 57600,115200 d. 奇偶校验:0=无校验;仁奇校验;2=偶校验 e. 延时:附加字符间延时,缺省值为0 f. 最大I/Q位:参与通信的最大I/O点数,S7-200的I/O映像区为128/128,缺省值为 128 g. 最大AI字数:参与通信的最大AI通道数,可为16或32 h. 最大保持寄存器区:参与通信的V存储区字(VW) i. 保持寄存器区起始地址:以&VBx指定(间接寻址方式) j. 初始化完成标志:成功初始化后置1 k. 初始化错误代码 l. Modbus执行:通信中时置1,无Modbus通信活动时为0。

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

WEINVIEW MODBUS 地址类型与功能码对应关系 当触摸屏作为一个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/16 4X 的位地址 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=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地址与SIXNET地址对应关系

Modbus地址与SIXNET地址对应关系 大多数SIXNET产品同时支持Modbus及SIXNET协议。 使用寄存器对时(两个16位寄存器): 使用Daniel扩展时(一个32位寄存器): 注意:实际输入Modbus地址时,应去掉类型标志与地址间的冒号。 例如: Modbus地址1:0001对应SIXNET DI:0 Modbus地址1:0006对应SIXNET DI:5 Modbus地址3:0001对应SIXNET AI:0 Modbus地址3:0003对应SIXNET AI:2 Modbus地址0:0001对应SIXNET DO:0 Modbus地址0:0006对应SIXNET DO:5 长整型与浮点数据的Modbus读写支持两种方式: 标准Modicon Modbus协议,及Daniel扩展 标准Modicon Modbus协议将一个长整型或浮点数据作为两个连续的16位模拟寄存器。Daniel扩展Modbus命令3、4及16,将一个长整型或浮点数据作为一个32位模拟寄存器。 标准Modicon Modbus协议例子:

3:5001 = Long input 0(LX0)4:5001 = Long output 0(L Y0) 3:5003 = Long input 1(LX1)4:5003 = Long output 1(L Y1) 3:5007 = Long input 3(LX3)4:5007 = Long output 3(L Y3) 3:7001 = Floating input 0(FX0)4:7001 = Floating output 0(FY0)3:7003 = Floating input 1(FX1)4:7003 = Floating output 1(FY1)3:7007 = Floating input 3(FX3)4:7007 = Floating output 3(FY3) Daniel扩展Modbus协议例子: DLI:0001 = Long input 0(LX0)DLO:0001 = Long output 0(L Y0)DLI:0002 = Long input 1(LX1)DLO:0002 = Long output 1(L Y1)DLI:0004 = Long input 3(LX3)DLO:0004 = Long output 3(L Y3) DFI:0001 = Floating input 0(FX0)DFO:0001 = Floating output 0(FY0)DFI:0002 = Floating input 1(FX1)DFO:0002 = Floating output 1(FY1)DFI:0004 = Floating input 3(FX3)DFO:0004 = Floating output 3(FY3)

MODBUS RTU地址与S7-200的地址对应关系

Modbus RTU协议在S7-200中的应用 发表时间:2007-7-3 16:22:43 1 引言 工业控制已从单机控制走向集中监控、集散控制,如今已进入网络集约制造时代。工业控制器连网也为网络管理提供了方便。Modbus就是工业控制器的网络协议中的一种。Modbus 协议是应用于电子控制器上的一种通讯约规。通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信。它已经成为主流的工业标准之一。他为符合Modbus 协议的不同厂商生产的控制设备可以连成工业网络,进行集中监控。 2 Modbus RTU协议在S7-200中的应用原理 2.1 Modbus RTU协议与S7-200相互关系简介 S7-200 CPU上的通讯口Port0可以支持Modbus RTU协议,成为Modbus RTU从站。此功能是通过S7-200的自由口通讯模式实现,因此可以通过无线数据电台等慢速通讯设备传输。 如果想在S7-200 CPU与其他支持Modbus RTU的设备使用Modbus RTU协议通讯,需要由有S7-200 CPU做Modbus主站。S7-200 CPU做主站必须由用户自己用自由口模式,按相关协议编程。 在S7-200控制系统应用中,Modbus RTU从站指令库只支持CPU上的通讯0口(Port0)。要实现Modbus RTU通讯,需要Step7-Micro/WIN32 V3.2以上版本的编程软件,而且须安装S tep7-Micro/WIN32 V3.2 Instruction Library(指令库)。Modbus RTU功能是通过指令库中预先编好的程序功能块实现的。 2.2 Modbus RTU协议在S7-200中应用的基本过程 (1) 首先检查S7-200控制系统中所用Micro/WIN的软件版本,应当是Step7-Micro/WI N V3.2以上版本。 (2) 检查Micro/WIN的指令树中是否存在Modbus RTU从站指令库(图1),库中应当包括MBUS_INIT和MBUS_SLAVE两个子程序。如果没有,须安装Micro/WIN32 V3.2 Instruction Library(指令库)软件包,如图1所示。

相关文档
相关文档 最新文档