Modbus -RTU规约详解(中文版)

Modbus -RTU规约详解(中文版)
Modbus -RTU规约详解(中文版)

第一章Modbus协议

□介绍Modbus协议介绍□两种串行传输模式

□信息帧

□错误检查方法

Modbus协议介绍

Modbus可编程控制器之间可相互通讯,也可与不同网络上的其他设备进行通讯,支撑网络有Modicon的Modbus和Modbus+工业网络。网络信息存取可由控制器内置的端口,网络适配器以及Modicon提供的模块选件和网关等设备实现,对OEM(机械设备制造商)来说,Modicon可为合作伙伴提供现有的程序,可使Modbus+网络紧密地集成到他们的产品设计中去。

Modicon的各种控制器使用的公共语言被称为Modbus协议,该协议定义了控制器能识别和使用的信息结构。当在Modbus网络上进行通讯时,协议能使每一台控制器知道它本身的设备地址,并识别对它寻址的数据,决定应起作用的类型,取出包含在信息中的数据和资料等,控制器也可组织回答信息,并使用Modbus协议将此信息传送出去。

在其他网络上使用时,数据包和数据帧中也包含着Modbus协议。如,Modbus+或MAP网络控制器中有相应的应用程序库和驱动程序,实现嵌入式Modbus协议信息与此网络中用子节点设备间通讯的特殊信息帧的数据转换。

该转换也可扩展,处理节点地址,路由,和每一个特殊网络的错误检查方法。如包含在Modbus协议中的设备地址,在信息发送前就转换成节点地址,错误检查区也用于数据包,与每个网络的协议一致,最后一点是需用Modbus协议,写入嵌入的信息,定义应处理的动作。

图1说明了采用不同通讯技术的多层网络中设备的互连方法。在信息交换中,嵌入到每个网络数据包中的Modbus 协议,提供了设备间能够交换数据的公共的语言。

图1:Modbus 协议应用示意图 * MB+为 Modbus

主处理器

4个Modus

设备或网络

编程器

编程器

(去MB+) S980(去MAP)

AT/HC-984 和 HOST /MMHI

AT/HC-984 HOST /MMHI

984A/B 和 S985

Modbus 上的数据传输

Modicon 控制器上的标准Modbus 端口是使用一个RS-232兼容的串行接口,定义了连接器,接线电缆,信号等级,传输波特率,和奇偶校验,控制器可直接或通过调制解调器(以后简称Modems)接入总线(网络)。控制器通讯使用主从技术,即主机能起动数据传输,称查询。而其它设备(从机)应返回对查询作出的响应,或处理查询所要求的动作。典应的主机设备应包括主处理器和编程器。典应的从机包括可编程控制器。

主机可对各从机寻址,发出广播信息,从机返回信息作为对查询的响应。从机对于主机的广播查询,无响应返回Modbus 协议报据设备地址,请求功能代码,发送数据,错误校验码,建立了主机查询格式,从机的响应信息也用Modbus 协议组织,它包括确认动作的代码,返回数据和错误校验码。若在接收信息时出现一个错误或从机不能执行要求的动作时,从机会组织一个错误信息。并向主机发送作为响应。

在其它总线上传输数据

除标准的Modbus 功能外,有些Modcon 控制器内置端口或总线适配器,在Modbus+总线上实现通讯或使用网络适配器,在MAP 网络上通讯。

在这些总线上,控制器间采用对等的技术进行通讯,即任意一个控制器可向其它控制器启动数据传送。因此,一台控制器既可作为从机,也可作为主机,常提供多重的内部通道,允许并列处理主机和从机传输数据

在信息级,尽管网络通讯方法是对等的,但Modbus 协议仍采用主从方式,若一台控制器作为主机设备发送一个信息,则可从一台从机设备返回一个响应,类似,当一台控制器接受信息时,它就组织一个从机设备的响应信息,并返回至原发送信息的控制器。 查询响应周期:

图2:主从查询响应周期

查询:

查询中的功能代码为被寻址的从机设备应执行的动作类型。数据字节中包含从机须执行功能的各附加信息,如功能代码03将查询从机,并读保持寄存器。并用寄存器的内容作响应。该数据区必须含有告之从机读取寄存器的起始地址及数量,错误校验区的一些信息,为从机提供一种校验方法,以保证信息内容的完整性。 响应:

从机正常响应时,响应功能码是查询功能码的应答,数据字节包含从机采集的数据,如寄存器值或状态。如出现错误,则修改功能码,指明为错误响应。并在数据字节中含有一个代码,来说明错误,错误检查区允许主机确认有效的信息内容。

主机查询信息

设备地址 功能代码 8 位 数据字节 错误校验

设备地址 功能代码 8 位 数据字节 错误校验

从机响应信息

两种串行传输模式

控制器可使用ASCII或RTU通讯模式,在标准Modbus上通讯。在配置每台控制器时,用户须选择通讯模式以及串行口的通讯参数。(波特率,奇偶校验等),在Modbus总线上的所有设备应具有相同的通讯模式和串行通讯参数。

选择ASCII或RTU模式用于标准的Modbus总线。它定义了总线上串行传输信息区的“位”的含义,决定信息打包及解码方法。

如在MAP和Modbus+总线上时,Modbus信息以帧的方式出现,并与串行传输无关,如请求读保持寄存器可以在Modbus+上的两个控制器之间处理,而与使用的控制器的Modbus端口无关。

ASCII 模式

当控制器以ASCII模式在Modbus总线上进行通讯时,一个信息中的每8位字节作为2个ASCII字符传输的,这种模式的主要优点是允许字符之间的时间间隔长达IS,也不会出现错误。

ASCII码每一个字节的格式:

编码系统:16进制,ASCII字符0-9,A-F 1个16进制

数据位:1起始位

7位数据,低位先送

奇/偶校验时1位;无奇偶校验时0位

(LRC)1位带校验1停止位;无校验2止位

错误校验区:纵向冗余校验

RTU模式

控制器以RTU模式在Modbus总线上进行通讯时,信息中的每8位字节分成2个4位16进制的字符,该模式的主要优点是在相同波特率下其传输的字符的密度高于ASCII模式,每个信息必须连续传输。

RTU模式中每个字节的格式:

编码系统:8位二进制,十六进制0-9,A-F

数据位:1起始位

8位数据,低位先送

奇/偶校验时1位;无奇偶校验时0位

停止位1位(带校验);停止位2位(无校验)

带校验时1位停止位;无校验时2位停止位

错误校验区:循环冗余校验(CRC)

Modbus信息帧

何论是ASCII模式还是RTU模式,Modbus信息以帧的方式传输,每帧有确定的起始点和结束点,使接收设备在信息的起点开始读地址,并确定要寻址的设备(广播时对全部设备),以及信息传输的结束时间。可检测部分信息,错误可作为一种结果设定。

对MAP或Modbus+协议可对信息帧的起始和结束点标记进行处理,也可管理发送至目的地的信息,此时,信息传输中Modbus数据帧内的目的地址已无关紧要,因为Modbus+地址已由发送者或它的网络适配器把它转换成网络节点地址和路由。

ASCII帧

在ASCII模式中,以(:)号(ASCII3AH)表示信息开始,以回撤一换行键(CRLF) (ASCII OD和OAH)表示信息结束。

对其它的区,允许发送的字符为16进制字符0-9,A-F。网络中设备连续检测并接收一个冒号(:)时,每台设备对地址区解码,找出要寻址的设备。

字符之间的最大间隔为1S,若大于1S,则接收设备认为出现了一个错误。

典型的信息帧见下表

图3 ASCII信息帧

例外:对于584和984A/B/X控制器,一个ASCII信息可在LRC区后正常终止,而不需发送CRLF字符,此时出现>IS的时间间隔,控制器也将认为是正常中断。

RTU帧

RTU模式中,信息开始至少需要有3.5个字符的静止时间,依据使用的波特率,很容易计算这个静止的时间(如下图中的T1-T2-T3-T4)。接着,第一个区的数据为设备地址。

各个区允许发送的字符均为16进制的0-9,A-F。

网络上的设备连续监测网络上的信息,包括静止时间。当接收第一个地址数据时,每台设备立即对它解码,以决定是否是自己的地址。发送完最后一个字符号后,也有一个3.5个字符的静止时间,然后才能发送一个新的信息。

整个信息必须连续发送。如果在发送帧信息期间,出现大于1.5个字符的静止时间时,则接收设备刷新不完整的信息,并假设下一个地址数据。

同样一个信息后,立即发送的一个新信息,(若无3。5个字符的静止时间)这将会产生一个错误。是因为合并信息的CRC校验码无效而产生的错误。

图4 RTU信息帧

Modbus信息帧(Continued)

地址设置

信息地址包括2个字符(ASCII)或8位(RTU),有效的从机设备地址范围0-247,(十进制),各从机设备的寻址范围为1-247。主机把从机地址放入信息帧的地址区,并向从机寻址。从机响应时,把自己的地址放入响应信息的地址区,让主机识别已作出响应的从机地址。

地址0为于广播地址,所有从机均能识别。当Modbus协议用于高级网络时,则不允许广播或其它方式替代。如Modbus+使用令牌循环,自动更新共享的数据库。

功能码设置

信息帧功能代码包括字符(ASCII)或8位(RTU)。有效码范围1-225(十进制),其中有些代码适用全部型号的Modicon控制器,而有些代码仅适用于某些型号的控制器。还有一些代码留作将来使用,有关功能代替码的设置将在第2章说明。

当主机向从句发送信息时,功能代码向从机说明应执行的动作。如读一组离散式线圈或输入信号的ON/OFF 状态,读一组寄存器的数据,读从机的诊断状态,写线圈(或寄存器),允许下截、记录、确认从机内的程序等。当从机响应主机时,功能代码可说明从机正常响应或出现错误(即不正常响应),正常响应时,从句简单返回原始功能代码;不正常响应时,从机返回与原始代码相等效的一个码,并把最高有效位设定为“1”。

如,主机要求从机读一组保持寄存器时,则发送信息的功能码为:

0000 0011 (十六进制03)

若从机正确接收请求的动作信息后,则返回相同的代码值作为正常响应。发现错时,则返回一个不正常响信息:

1000 0011(十六进制83)

从机对功能代码作为了修改,此外,还把一个特殊码放入响应信息的数据区中,告诉主机出现的错误类型和不正常响应的原因。主机设备的应用程序负责处理不正常响应,典型处理过程是主机把对信息的测试和诊断送给

从机,并通知操作者。

数据区的内容

数据区有2个16进制的数据位,数据范围为00-FF(16进制),根据网络串行传输的方式,数据区可由一对ASCII字符组成或由一个RTU 字符组成。

主机向从机设备发送的信息数据中包含了从机执行主机功能代码中规定的请求动作,如离散量寄存器地址,处理对象的数目,以及实际的数据字节数等。

举例说明,若主机请求从机读一组寄存器(功能代码03),该数据规定了寄存器的起始地址,以及寄存器的数量。又如,主机要在一从机中写一组寄存器,(则功能代码为10H)。该数据区规定了要写入寄存区的起始地址,寄存器的数量,数据的字节数,以及要写入到寄存器的数据。

若无错误出现,从机向主机的响应信息中包含了请求数据,若有错误出现,则数据中有一个不正常代码,使主机能判断并作出下一步的动作。

数据区的长度可为“零”以表示某类信息,如,主机要求-从机响应它的通讯事件记录(功能代码OBH)。此时,从机不需要其他附加的信息,功能代码只规定了该动作。

信息帧

错误校验

标准Modbus总线,有两类错误检查方法,错误检查区的内容按使用的错误检查方法填写。

SDCII

使用ASCII方式时,错误校验码为2个ASCII字符,错误校验字符是LRC校验结果。校验时,起始符为(:)冒号结束符为CRLF字符。

RTU

使用RTU方式时,错误校验码为一个16位的值,2个8位字节。错误校验值是对信息内容执行CRC校验结果。CRC校验信息帧是最后的一个数据,得到的校验码先送低位字节,后送高位字节,所以CRC码的高位字节是最后被传送的信息。

串行传送信息

在标准的Modbus上传送的信息中,每个字符或字节,按由左向右的次序传送:

最低有效位:(LSB)最高有效位:(MSB)

ASCII数据帧位序:

图5 ASCII位序

RTU数据帧位序:

图6 RTU位序无奇偶校验带奇偶校验无奇偶校验带奇偶校验

错误校验方法

标准的Modbus串行通讯网络采用两种错误校验方法,奇偶校验(奇或偶)可用于校验每一个字符,信息帧校验(LRC或CRC)适用整个信息的校验,字符校验和信息帧校验均由主机设备产生,并在传送前加到信息中去。从机设备在接收信息过程中校验每个字符和整个信息。

主机可由用户设置的一个预定时间间隔,确定是否放弃传送信息。该间隔应有足够的时间来满足从机的正常响应。若主机检测到传输错误时,则传输的信息无效。从机不再向主机返回响应信息。此时,主机会产生一个超时信息,并允许主机程序处理该错误信号。注意:主机向实际并未存在的从机发送信息时也会引起超时出错信号。

在MAP或Modbus+等其它网骆上使用时,采用比Modbus更高一级的数据帧校验方法。在这些网络中,不再运用Modbus中的LRC或CRC校验方法。当出现发送错误时,网络中的通讯协议通知发送设备有错误出现,并允许根据设置的情况,重试或放弃信息发送。若信息已发送,但从机设备未作响应,则主机通过程序检查后发出一个超时错误。

奇偶校验

用户可设置奇偶校验或无校验,以此决定每个字符发送时的奇偶校验位的状态。何论是奇或偶校验,它均会计算每个字符数据中值为“1”的位数,ASCII方式为位数据;RTU方式为8位数据。并根据“1”的位数值(奇数或偶数)来设定为“0”或“1”

如一个RTU数据帧中8位数据位为:

1100 0101

在该帧中,值为“1”的总位数为4,即偶数。如采用奇校验方式时,则“1”的总位数为奇数,即5。

发送信息时,计算奇偶位,并加到数据帧中,接收设备统计位值为“1”的数量,若与该设备要求的不一致时产生一个错误。在Modbus总线上的所有设备必须采用相同的奇偶校验方式。

注意:奇偶校验只能检测到数据帧在传输过程中丢失奇数“位”时才产生的错误。如采用奇数校验方式时,一个包含3个“1”位的数据丢失2个“1”位时,其结果仍然是奇数。若无奇偶校验方式时,传输中不作实际的校验,应附加一个停止位。

LRC校验

ASCII方式时,数据中包含错误校验码,采用LRC校验方法时,LRC校验信息以冒号“:”开始,以CRLF 字符作为结束。它忽略了单个字符数据的奇偶校验的方法。

LRC校验码为1个字节,8位二进制值,由发送设备计算LRC值。接收设备在接收信息时计算LRC校验码。并与收到的LRC的实际值进行比较,若二者不一致,亦产生一个错误。

在梯形图中,CKSM函数可计算数据信息中LRC的校验。用于主计算机时请查阅附录C中的一个实例,它详细说明LRC的校验的过程。

错误校验方法

CRC校验

RTU方式时,采用CRC方法计算错误校验码,CRC校验传送的全部数据。它忽略信息中单个字符数据的奇偶校验方法。

CRC码为2个字节,16位的二进制值。由发送设备计算CRC值,并把它附到信息中去。接收设备在接收信息过程中再次计算CRC值并与CRC的实际值进行比较,若二者不一致,亦产生一个错误,校验开始时,把16位寄存器的各位都置为“1”,然后把信息中的相邻2个8位字节数据放到当前寄存器中处理,只有每个字符的8位数据用于CRC处理。起始位,停止位和校验位不参与CRC计算。

CRC校验时,每个8位数据与该寄存器的内容进行异或运算,然后向最低有效位(LSB)方向移位,用零填入最高有效位(MSB)后,再对LSB检查,若LSB=1,则寄存器与预置的固定值异或,若LSB=0,不作异或运算。

重复上述处理过程,直至移位8次,最后一次(第8次)移位后,下一个8位字节数据与寄存器的当前值异或,再重复上述过程。全部处理完信息中的数据字节后,最终得到的寄存器值为CRC值。

CRC值附加到信息时,低位在先,高位在后。在梯形图中,CKSM函数计算信息中的CRC值。用于主计算机时,可查阅附录C中的一个实例,它详细说明了CRC的校验。

第二章

数据和控制功能

?Modbus 功能代码格式?Modbus 功能代码总结?Modbus 功能代码说明

功能代码格式

数字值表达

若无特殊说明在此节文中用+进制值表示,图中的数据区则用十六进制表示。

Modbus 信息中的数据地址

Modbus 信息中的所有数据地址以零作为基准,各项数据的第一个数据地址的编号为0如:

?在可编程控制器中“coil 1”在Modbus信息中其地址值表示为0000

?Coil 127(十进制)在Modbus信息中则为007EH(126十进制)

?保持寄存器40001,在信息中数据地址为寄存器0000。功能代码区为保持寄存器类型规定的操作,因此,“4XXXX”是缺省的地址类型。

?保持寄存器40108寻址寄存器地址为006B hex(+进制107)

Modbus信息中区内容

图7为一个例子,说明了Modbus的查询信息,图8为正常响应的例子,这两例子中的数据均是16进制的,也表示了以ASCLL或RTU方式构成数据帧的方法。主机查询是读保持寄存器,被请求的从机地址是06,读取的数据来自地址从40108至40110 3个保持寄有器。注意,该信息规定了寄存器的起始地址为0107 (006BH)。

从机响应返回该功能代码,说明是正常响应,字节数“Byle count”中说明有多少个8位字节被返回。因无论是ASCII方式还是RTU方式,它表明了附在数据区中8位字节的数量。ASCII方式时,字节数为数据中ASCII 字符实际数的一半,每4个位的16进制值需要一个ASCII字符表示,因此在数据中应由2个ASCII字符来表示一个8位的字节。

如RTU方式时,63H 用一个字节(01100011)发送,而用ASCII方式时,发送需2个字节,即ASCII“6”(0110110)和ASCII“3”(0110011)。8个位为一个单位计算“字节数”,它忽略了信息帧用(ASCII或RTU)组成的方法。

字节数使用方法:当在缓冲区组织响应信息时,“字节数”区域中的值应与该信息中数据区的字节数相等。

图8说明“字节数”区在一个贡型响应中的应用。

图8:从机采用ASCII/RTU方式响应

Modbus+数据内容

在Modbus+网络发送的Modbus信息应需嵌入到LLC (逻辑连接控制)级数据帧,Modbus信息区由8位字节的数据组成,类似于RTU中的信息组成。

由发送设备把从机地址转换成Modbus+路由地址,CRC数据不在Modbus信息中发送,因为会在更高级的数据链路控制层(HDLC)中进行CRC校验。

其余的信息与原标准格式一致,应用软件(控制器中的MSTR或主机中的Modcom III)可将这些信息帧组成数据包。

图9示例说明了如何将读寄存器值的请求嵌入到+Modbus 网络的数据帧中。

H D LC级

前导工作标记广播地址M A C/LLC区C R C结束标志

M A C级:

目的地址原地址M A C功能字节数LLC区

LLC级:

输出路由路由器传送次序路由M O D BU S 信息帧

计数器

M O D B U S信息:

从机地址功能代码高位起始低位起始高位寄低位寄

地址地址存器数量存器数量

图9:Modbus+数据内容

控制器支持的功能代码

下表列出Modicon控制器支持的功能代码:以十进制表示。

“Y”表示支持“N”表示不支持。

代码名称384 484 584 884 M84 984

01 读线圈状态Y Y Y Y Y Y

02 读输入状态Y Y Y Y Y Y

03 读线保持寄存器Y Y Y Y Y Y

04 读输入寄存器Y Y Y Y Y Y

05 强制单个线圈Y Y Y Y Y Y

06 预置单个寄存器Y Y Y Y Y Y

07 读不正常状态Y Y Y Y Y Y

08 诊断(见第3章)

09 程序484 N Y N N N N

10 查询484 N Y N N N N

11 通讯事件控制Y N Y N N Y

12 通讯事件记录Y N Y N N Y

13 程序控制器Y N Y N N Y

14 查询控制器Y N Y N N Y

15 强制多个寄存器Y Y Y Y Y Y

16 预置多个寄存器Y Y Y Y Y Y

17 报告从机ID Y Y Y Y Y Y

18 程序884/M84 N N N Y Y N

19 通讯链路复位N N N Y Y N

20 读通用参考值N N Y N N Y

21 写通用参考值N N Y N N Y

22 Mask Write 4X Register N N N N N (1)

23 Read/Write 4X Registers N N N N N (1)

24 Read FIFO 队列N N N N N (1)

(1)功能代码仅由984-785控制器支持

01 读线圈状态

描述

读从机离散量输出口的ON/OFF 状态,不支持广播。附录B列出由不同控制器型号支持最大的参数清单。

查询

查询信息规定了要读的起始线圈和线圈量,线圈的起始地址为零,1-16个线圈的寻址地址分为0-15。例:请求从机设备17读20-56线圈。

图10: 读线圈状态-查询

响应

响应信息中的各线圈的状态与数据区的每一位的值相对应,

1=ON; 0=OFF。第一个数据字节的LSB为查询中的寻址地址,其他的线圈按顺序在该字节中由低位向高位排列,直至8个为止,下一个字节也是从低位向高位排例。

若返回的线圈数不是8的倍数,则在最后的数据字节中的剩余位至字节的最高位全部填零,字节数区说明全部数据的字节数。

图11: 读线圈状态-响应

线圈27-20的状态用CDH表示,二进制值为11001101,该字节的MCB为线圈27,LSB 为20。线圈从左(27)向右(20)状态分别为ON-ON-OFF-OFF-ON-ON-OFF-ON,因此第一个字节中的线圈从左到右应是27-20。下一个字节的线圈应为35至28。位数据串行转输从低位到高位,即20…27,28…35。

最后一个数据字节中,56-52线圈的状态为1BH(或二进制00011011),线圈56是左数第4位,线圈52是该字节的最低位,所线圈56至52的状态分别为ON-ON-OFF-ON-ON注意3个剩余位(至最高位的数)全部填0。

02读输入位状态

说明

读从机离散量输入信号的ON/OFF状态。不支持广播。附录B列出各种型号控制器所支持的最大参数量。查询

查询信息规定了要读的输入起始地址,以及输入信号的数量。输入起始地址为0,1-16个输入口的地址分别为0-15。

例:请求读从机设备17的10197-10218的输入位状态。

图12: 读输入位状态-查询。

响应

响应信息中的各输入口的状态,分别对应于数据区中的每一位值,1 = ON; 0 = OFF,第一个数据字节的LSB 为查询中的寻址地址,其他输入口按顺序在该字节中由低位向高位排列,直至8个位为止。下一个字节中的8个输入位也是从低位到高位排列。

若返回的输入位数不是8的倍数,则在最后的数据字节中的剩余位直至字节的最高位全部填零。字节的最高位,字节数区。说明了全部数据的字节数。

例:对查询作出响应(参见上页)。

图13:读输入位状态-响应。

输入位10204-10197的状态用35H (或二进制00110101) 表示。输入位10218为左数第3位,10213输入位为LSB,输入位10218-10213的状态分别为ON-ON-OFF-ON-OFF-ON,注意最位还有2个剩余位需填零。

03读保持寄存器

说明

读从机保持寄存器的二进制数据不支持广播,附录B列出了由各种型号控制器所支持的最大的参数量

查询

查询信息规定了要读的寄存器起始地址及寄存器的数量,寄存器寻址起始地址为0000,寄存器1-16所对应的地址分别为0-15

图14:读保持寄存器-查询

响应

响应信息中的寄存器数据为二进制数据,每个寄存器分别对应2个字节,第一个字节为高位值数据,第二个字节为低位数据。

对984-X8X型控制器(如984-685等),扫描数据的速率为每次125个寄存器。对其它控制器型号的扫描速率为每次32个寄存器,全部数据完成组合后返回响应信息。

例按查询要求返回响应。

图15:读寄存器-响应

寄存器40108的数据用022BH 2个字节(或用十进制555)表示,寄存器40109-40110中的数据为0000和0064H,(十进制时为0和100)

04读输入寄存器

说明

读从机输入寄存器(3X类型)中的二进制数据,不支持广播

附录B列出了由各种型号控制器所支持的最大的参数量

查询

查询信息规定了要读的寄存器的起始地址及寄存器的数量,寻止起始地址为0,寄存器1-16所对应的地址分别为0-15。

例:请求读从机设备17中的30009寄存器。

图16:读输入寄存器-查询

响应

响应信息中的寄存器数据为每个寄存器分别对应2个字节,第一个字节为高位数据,第二个字节为低位数据。

对984-X8X型控制器(如984-685等),扫描数据的速率为每次125个寄存器,对其它型号的控制器为每次32个寄存器。数据完成组合后,返回响应信息。

例按查询要求返回响应

图17:读寄存器-响应

寄存器30009中的数据用000AH 2个字节(或用十进制10)表示

05强制单个线圈

说明

强制单个线圈(0X类型)为ON或OFF状态。广播时,该功能可强制所有从机中同一类型的线圈均为ON或OFF状态。

注意:该功能可越过控制器内存的保护状态和线圈的禁止状态。线圈强制状态一直保持有效直至下一个控制逻辑作用于线圈为止。控制逻辑中无线圈程序时,则线圈处于强制状态。

附录B中列出了由各种型号控制器所支持的最大的参数量。

查询

查询信息规定了需要强制线圈的类型,线圈起始地址为0,线圈1的寻址地址为0

由查询数据区中的一个常量。规定被请求线圈的ON/OFF状态,FF00H值请求线圈处于ON状态,0000H 值请求线圈处于OFF状态,其它值对线圈无效,不起作用。

例:强制从机设备17中的173线圈为ON状态

图18:强制单个线圈-查询

响应

线圈为强制状态后即返回正常响应

例:按查询要求返回响应

图19:强制单个线圈

06预置单个寄存器

说明

把一个值预置到一个4X类型保持寄存器中。广播时,该功能把值预置到所有从机的相同类型的寄存器中。

注意:该功能可越过控制器的内存保护。使寄存器中的预置值保持有效。只能由控制器的下一个逻辑信号来处理该预置值。若控制逻辑中无寄存器程序时,则寄存器中的值保持不变。

附录B中列出了各种型号控制器所支持的最大的参数量

查询

查询信息规定了要预置寄存器的类型,寄存器寻址起始地址为0,寄存器1所对应的地址为0。

请求的预置值在查询数据区,M84或484控制器使用一个10位二进制值,其中高6位设定为0,而其它类型的控制器使用16位值。

例:请求把从机设备17中的40002寄存器预置为0003H值。

图20:预置单个寄存器-查询

响应

寄存器内容被预置后返回正常响应

例:按查询要求返回响应

图21:预置单个寄存器-响应

07读不正常状态

说明

读从中机中8个不正常状态线圈的数据,某些线圈号已在不同型号的控制器中预定义,而其它的线圈由用户编程,作为有关控制器的状态信息,如“machine ON/OFF”,“heads retraced”,(缩回标题),“safeties satisfied”(安全性满意),“error conditions”(存在错误条件)或其它用户定义的标志等。该功能码不支持广播。

该功能代码为存取该类信息提供了一种简单的方法,不正常线圈的类型是已知的(在功能代码中不需要线圈类型) 预定义的不正常线圈号如下:

控制器型号线圈设定

M84,184/384,584,984 1-8 用户定义

484 257 电池状态

258-264 用户定义

884 761 电池状态

762 内存保护状态

763 R10工况状态

764-768 用户预定义

查询

例请求读从机设备17中的不正常状态

图22:读不正常状态-查询

响应

正常响应包含8 个不正常的线圈状态,为一个数据字节,每个线圈一位。LSB对应为最低线圈类型的状态。例:按查询要求返回响应:

图23:读不正常状态—响应

该例子中,线圈数据为6DH (二进制0110 ,1101),从左到右(最高位至最低位) 的线圈状态分别为: OFF – ON – ON – OFF – ON – ON – OFF – ON。若控制器型号为984,这些位表示线圈8 至1 的状态;若控制器型号为484 则表示线圈264 至257 的状态。

11 (0B Hex) 取通讯事件计数器

说明

由从机通讯事件计数器返回一个状态字和事件数,依据一串信息前后读取的当前数值,由主机决定其信息是否已被从机正常处理,该功能代码不支持广播。

信息成功完成 1 次,使控制器的事件计数器加1,不正常响应,查询命令或取事件计数器命令等,对计数值不起作用。

通过诊断功能代码(08),(若重起动通讯选择子功能代码0001) 或计数器和诊断寄存清零器代码(000A) 等可对事件计数器复位。

查询

例:请求读取从机设备17 的通讯事件计数器

图24:读取通讯事件计数器—查询

响应

正常响应含一个带 2 个字节的状态字和一个双字节的事件数,若从机还未处理完以前发出的程序值状态字中的各位。均为 1 (FFFFH),处理完时,各位值均为0(0000H)。

例:按查询要求返回响应

图 25:读取通讯事件计数器—响应

该列子中,状态字是 FFFFH ,说明从机还在处理程序,控制器计算的事件数为 264 (0108H)

12 (0C Hex) 读取通讯事件记录

说明

由从机返回一个状态字,事件数,信息数和一个事件的数据区。不支持广播

状态字和事件数与读取通讯事件计数器功能代码(11,OBH )返回值相同。信息计数器包含从机处理,(最后一次再起动,计数器清零操作,或通电)的信息量,该值与由诊断功能代码 (08),总线信息数子功能代码 (11,0BH) 返回的值相同。事件数据区包含 0-64 个字节。每个字节对应Modbus 送出的一个状态,或子机接收操作的一个状态。由子机把事件送到顺序排列的区域。字节

0 为最新的事件,最大新的确字节刷新该区域的最老的字节。 查询

例:请求从机设备 17 读取通讯事件记录

图 26:读取通讯事件记录—查询

响应

正常响应含一个 2 个字节的状态字区,一个 2 个字节的事件数区和一个 2 个字节的信息数区,以及有 0-64 个字节的事件区,一个字节数区定义上述 4 个区的数据的总长度。 例:按查询要求返回响应

图 27:读取通讯事件记录—响应

在这例子中状态字为 0000H ,说明从机已完成程序处理从机计算的事件数为 264 (0108H),已处理的信息数为 289 (0121H)。 最近的通讯事件在 Event 0 字节中。数值 20H 表示该从机已最后进入了只听状态 (Listen Only Mode)。

以前的事件在Event 1 字节中,数值00H 表示该从机接收了一个通讯再起动事件(Communications Restart),响应事件的字节会在后面叙述。

12 (0C Hex) 读取通讯事件记录

事件字节内容

读取通讯事件记录功能代码返回的一个事件字节可为 4 种类型之一,每一个字节中的高7 位定义该字节的类型,高 6 位可进一步说明该字节,见下面说明。

从机Modbus 接收事件

从机接收查询信息时,储存事件字节的类型,并在处理前。储存该事件字节的类型。把高7 位置1 定义这事件,如果相应条件“真”(true),则其他位也置1,字节中各位的含义如下。

Bit Contents

0 未用

1 通讯错误

2 未用

3 未用

4 字符超限

5 只听模式

6 接收广播

7 1

从机Modbus 发送事件

从机完成查询信息处理后返回正常(或不正常)响应,或无响应后,储存事件字节的类型。通过高7 位置“0”,高 6 位置“1”定义事件,若相应的条件“真”(TRUE),则其他位置“1”。

字节中各位含义如下:

Bit Contents

0 读不正常发送(不正常功能码1-3)

1 从机放弃不正常发送(不正常功能码4)

2 从机放弃不正常发送(不正常功能码从5-6)

3 从机程序NAK不正常发送(不正常功能码从7)

4 从机程序NAK不正常发送,出现写入超时错误

5 从机程序NAK不正常发送,当前只听方式

6 1

7 0

从机进入只听模式

当从机进入只听模式时储存这类事件字节,事件由04H 数据定义,如下:

Bit Contents

0 0

1 0

2 1

3 0

4 0

5 0

6 0

7 0

从机初始化通讯再起动

通讯口再起动时由从机储存事件字节的类型,诊断功能代码(08)再带起动通讯选择子功能代码(0001) 使从机通讯再起动。该功能可把从机配置成错误时继读方式(Continue on Error) 或错误时停止方式(Stop on Error)。

MODBUS通讯协议及编程

通讯协议及编程 通讯协议分为协议和协议,我公司的多种仪表都采用通讯协议,如:2000智能电力监测仪、巡检表、数显表、光柱数显表等。下面就协议简要介绍如下: 一、通讯协议 (一)、通讯传送方式: 通讯传送分为独立的信息头,和发送的编码数据。以下的通讯传送方式定义也与通讯规约相兼容: 初始结构= ≥4字节的时间 地址码 = 1 字节 功能码 = 1 字节 数据区 = N 字节 错误校检 = 16位码 结束结构= ≥4字节的时间 地址码:地址码为通讯传送的第一个字节。这个字节表明由用户设定地址码的从机将接收由主机发送来的信息。并且每个从机都有具有唯一的地址码,并且响应回送均以各自的地址码开始。主机发送的地址码表明将发送到的从机地址,而从机发送的地址码表明回送的从机地址。 功能码:通讯传送的第二个字节。通讯规约定义功能号为1到127。本仪表只利用其中的一部分功能码。作为主机请求发送,通过功能码告诉从机执行什么动作。作为从机响应,从机发送的功能码与从主机发送来的功能码一样,并表明从机已响应主机进行操作。如果从机发送的功能码的最高位为1(比如功能码大与此同时127),则表明从机没有响应操作或发送出错。 数据区:数据区是根据不同的功能码而不同。数据区可以是实际数值、设置点、主机发送给从机或从机发送给主机的地址。 码:二字节的错误检测码。 (二)、通讯规约: 当通讯命令发送至仪器时,符合相应地址码的设备接通讯命令,并除去地址码,读取信息,如果没有出错,则执行相应的任务;然后把执行结果返送给发送者。返送的信息

中包括地址码、执行动作的功能码、执行动作后结果的数据以及错误校验码。如果出错就不发送任何信息。 1.信息帧结构 地址码:地址码是信息帧的第一字节(8位),从0到255。这个字节表明由用户设置地址的从机将接收由主机发送来的信息。每个从机都必须有唯一的地址码,并且只有符合地址码的从机才能响应回送。当从机回送信息时,相当的地址码表明该信息来自于何处。 功能码:主机发送的功能码告诉从机执行什么任务。表1-1列出的功能码都有具体的含义及操作。 数据区:数据区包含需要从机执行什么动作或由从机采集的返送信息。这些信息可以是数值、参考地址等等。例如,功能码告诉从机读取寄存器的值,则数据区必需包含要读取寄存器的起始地址及读取长度。对于不同的从机,地址和数据信息都不相同。 错误校验码:主机或从机可用校验码进行判别接收信息是否出错。有时,由于电子噪声或其它一些干扰,信息在传输过程中会发生细微的变化,错误校验码保证了主机或从机对在传送过程中出错的信息不起作用。这样增加了系统的安全和效率。错误校验采用16校验方法。 注:信息帧的格式都基本相同:地址码、功能码、数据区和错误校验码。 2.错误校验 冗余循环码()包含2个字节,即16位二进制。码由发送设备计算,放置于发送信息的尾部。接收信息的设备再重新计算接收到信息的码,比较计算得到的码是否与接收到的相符,如果两者不相符,则表明出错。 码的计算方法是,先预置16位寄存器全为1。再逐步把每8位数据信息进行处理。在进行码计算时只用8位数据位,起始位及停止位,如有奇偶校验位的话也包括奇偶校验位,都不参与码计算。 在计算码时,8位数据与寄存器的数据相异或,得到的结果向低位移一字节,用0 填补最高位。再检查最低位,如果最低位为1,把寄存器的内容与预置数相异或,如果最低位为0,不进行异或运算。 这个过程一直重复8次。第8次移位后,下一个8位再与现在寄存器的内容相相异或,这个过程与以上一样重复8次。当所有的数据信息处理完后,最后寄存器的内容即为码值。码中的数据发送、接收时低字节在前。 计算码的步骤为:

精编通讯规约通信规约

DL/T645-1997 通讯规约通信规约 1 、范围 该通信规约适用于本地系统中多功能表的费率装置与手持单元(HHU )或其它数据终端设备进行点对点的或一主多从的数据交换方式,规定了它们之间的物理连接、通信链路及应用技术规范。 2 、引用标准 GB/T3454-1994 数据通信基本型控制规程 GB/T9387-1995 信息处理系统开放系统互连基本参考模型 DL/T614-1997 多功能电能表 IEC1107-1996 读表、费率和负荷控制的数据交换---直接本地数据交换 IEC1142--1993 读表、费率和负荷控制的数据交换---本地总线数据交换 ITU-TV。24—1993 非平衡双流接口电路的点特性 ITU-TV。28—1993 数据终端设备(DTE )和数据电路终接设备(DCE )之间的 接口电路定义表 3 、RS-485 标准串行电气接口 本协议采用RS-485 标准串行电气接口,使用点连接成为可能.RS-485 接口的一般性能应符合下列要求. 3.1驱动与接收端、耐静电(ESD)±5kV(人体模式)。 3.2共模输入电压:-7V?+12V。 3.3 差模输入电压:大于0.2V 3.4驱动输出电压:在负载阻抗54欧姆时,最大5V,最小1.5V 3.5 三态方式输出 3.6半双工通信方式3.7驱动能力不小于32个同类接口。

3.8在传输速率不大于100kbps条件下,有效传输不小于1200m 3.9总线是无源的,由费率装置或数据终端、提供隔离电源。 4.1字节格式 每字节含8位二进制码,传输时加上一个起始位(0 )、一个偶校验位和一个停止位(1)共11 位。其传输序列如图1。D0是字节的最低有效位,D7是字节的最高有效位。先传低位,后传高位。 起始位8位数据偶校验位停止位 图1 字节传输序列 4.2帧格式 帧是传送信息的基本单元。帧格式如图2所示 图2 帧格式 421帧起始符68H :标识一帧信息的开始,其值为68H=01101000B 422地址域A0 s A5 :

MODBUS_RTU通信规约

MODBUS_RTU通讯规约(本协议采用主从问答方式) PDM系列仪表/变送器: PDM系列仪表/变送器采用全新的设计,革命性地改变了传统电表的概念;具有多功能、高精度、数字式、可编程、结构紧凑、多画面显示的特点,它可以满足电力工业未来对电表的需求。 MODBUS通讯协议: ModBus通讯规约允许PDM系列仪表/变送器与施耐德、西门子、AB、GE等多个国际著名品牌的可编程顺序控制器(PLC)、RTU、SCADA系统、DCS或与第三方具有ModBus 兼容的监控系统之间进行信息交换和数据传送。 PDM系列仪表/变送器只要简单地增加一套基于计算机(或工控机)的监控软件(如:组态王、Intouch、FIX、synall等)就可以构成一套电力监控系统。 广泛的系统集成: PDM系列仪表/变送器提供了标准的RS-485/422通讯接口及ModBus通讯协议,这个通讯协议已广泛被国内外电力行业及工控行业作为系统集成的标准。 通讯数据的类型及格式: 信息传输为异步方式,并以字节为单位。在主站和从站之间传递的通讯信息是11位的字格式: 字格式(串行数据) 11位二进制 起始位1位 数据位8位 奇偶校验位1位:有奇偶校验位/无:无奇偶校验位 停止位1位:有奇偶校验位/2位:无奇偶校验位 ●通讯数据(信息帧)格式 数据格式:地址码功能码数据区错误校检 数据长度:1字节1字节N字节 16位CRC码(冗余循环码) ★ 注:1、1个字节由8位二进制数组成(既8 bit)。 2、ModBus是Modicon公司的注册商标。

一、通讯信息传输过程: 当通讯命令由发送设备(主机)发送至接收设备(从机)时,符合相应地址码的从机接收通讯命令,并根据功能码及相关要求读取信息,如果CRC校验无误,则执行相应的任务,然后把执行结果(数据)返送给主机。返回的信息中包括地址码、功能码、执行后的数据以及CRC校验码。如果CRC校验出错就不返回任何信息。 1.1 地址码: 地址码是每次通讯信息帧的第一字节(8位),从0到255。这个字节表明由用户设置地址的从机将接收由主机发送来的信息。每个从机都必须有唯一的地址码,并且只有符合地址码的从机才能响应回送信息。当从机回送信息时,回送数据均以各自的地址码开始。主机发送的地址码表明将发送到的从机地址,而从机返回的地址码表明回送的从机地址。相应的地址码表明该信息来自于何处。 1.2 功能码: 是每次通讯信息帧传送的第二个字节。ModBus通讯规约可定义的功能码为1到127。PDM系列仪表/变送器仅用到其中的一部分功能码。作为主机请求发送,通过功能码告诉从机应执行什么动作。作为从机响应,从机返回的功能码与从主机发送来的功能码一样,并表明从机已响应主机并且已进行相关的操作。 表8.1 MODBUS部分功能码 功能码定义操作(二进制) 02 读开关量输入读取一路或多路开关量状态输入数据 01 读开关量输出读取一路或多路开关量输出状态数据 03 读寄存器数据读取一个或多个寄存器的数据 05 写开关量输出控制一路继电器“合/分”输出 06 写单路寄存器把一组二进制数据写入单个寄存器 10 写多路寄存器把多组二进制数据写入多个寄存器 1.3 数据区: 数据区包括需要由从机返送何种信息或执行什么动作。这些信息可以是数据(如:开关量输入/输出、模拟量输入/输出、寄存器等等)、参考地址等。例如,主机通过功能码03告诉从机返回寄存器的值(包含要读取寄存器的起始地址及读取寄存器的长度),则返回的数据包括寄存器的数据长度及数据内容。对于不同的从机,地址和数据信息都不相同(应给出通讯信息表)。 PDM系列仪表/变送器采用Modbus通讯规约,主机(PLC、RTU、PC机、DCS等)利用通讯命令(功能码03),可以任意读取其数据寄存器(其数据信息表详见附录)。PDM 系列仪表/变送器的数据寄存器存储的电量多达几百个(如:电流、电压、功率、0~31次谐波分量等),并且都是16位(2字节)的二进制数据,并且高位在前;一次最多可读取寄存器数(既各种电量的数量)是50个。 PDM响应的命令格式是从机地址、功能码、数据区及CRC码。数据区的数据都是两个字节,并且高位在前(电能量除外)。 注:1、PDM-820AC/ACM/ACR、PDM-800AC/ACM具有“03”、“06”、“10”功能码; 2、如果PDM采用MODBUS ASCII通讯协议,其通讯数据格式为;7个数据位,1个 停止位,偶校验。

Modbus通讯协议学习

Modbus通讯协议学习 了解了它,会使你对串口通信有一个清晰的认识!通用消息帧ASCII消息帧(在消息中的每个8Bit 字节都作为两个ASCII字符发送) 十六进制,ASCII字符0...9,A...F 消息中的每个ASCII字符都是一个十六进制字符组成每个字节的位1个起始位n个数据位,最小的有效位先发送1个奇偶校验位,无校验则无1个停止位(有校验时),2个Bit(无校验时)错误检测域LRC(纵向冗长检测) RTU 消息帧8位二进制,十六进制数0...9,A...F 消息中的每个8位域都是一个两个十六进制字符组成每个字节的位1个起始位8个数据位,最小的有效位先发送1个奇偶校验位,无校验则无1个停止位(有校验时),2个Bit(无校验时)错误检测域CRC(循环冗长检测) CRC校验 (https://www.360docs.net/doc/5115208020.html,/view/1664507.htm) public static string CRCCheck(string val) { val = val.TrimEnd(' '); string[] spva = val.Split(' '); byte[] bufData = new byte[spva.Length + 2]; bufData = ToBytesCRC(val); ushort CRC = 0xffff;

ushort POLYNOMIAL = 0xa001; for (int i = 0; i < bufData.Length - 2; i++) { CRC ^= bufData[i]; for (int j = 0; j < 8; j++) { if ((CRC & 0x0001) != 0) { CRC >>= 1; CRC ^= POLYNOMIAL; } else { CRC >>= 1; } } } return Maticsoft.DBUtility.HLConvert.ToHex(System.BitConverter .GetBytes(CRC)); } /// <summary>

MODBUS-RTU通讯规约【消防系统】

火灾报警控制系统MODBUS RTU通讯规约 1规约制定的依据: 1.1火灾报警控制系统的特点: 1.1.1火灾本身是小概率事件,很少发生; 1.1.2所带探测类设备和控制类设备众多; 1.1.3火灾报警控制系统的设备种类非常多; 1.1.4每个探测类设备均有正常、故障、报警三种状态,可能发生隔离、释放信息; 1.1.5每个控制类设备均有正常、故障、动作、恢复四种状态,可能发生隔离、释 放、启动、停动信息。 1.2由于以上特点,火灾报警控制系统的通讯设计成事件出发的形式;默认每个设备 处于正常状态,如发生故障、隔离、报警事件,形成包含事件类型、设备编码、 设备类型的事件信息;通过MODBUS传送给主机,主机进行事件的文本或图形 显示。 2通讯说明: 1、通讯协议:MODBUS RTU; 2、波特率:4800; 3、奇偶校验:无; 4、停止位:1位,每字节数据共10位; 5、配接控制器通讯接口卡: INET-03A接口卡(RS232接口) 程序名称: GST5000控制器:500modbusv1.0.hex GST200控制器:200modbusv1.0.hex 6、Modbus从站地址设定: 针对GST200控制器,该网卡需进行注册,并在开机注册时显示联网系统正常,并且正常运行时,红灯闪烁;设定控制器联网地址,该地址即为Modbus从站地址; 针对GST5000控制器,该网卡在系统中注册为CRT卡,设置彩色显示器CRT地址,该地址即为Modbus从站地址; 7、应用中,需配合控制器设备点表来实现对设备的监控; 3 火灾报警控制系统MODBUS规约 2、寄存器模式通讯协议 2.1、主机使用MODBUS功能码3对火灾报警控制器设备状态寄存器进行查询,寄 存器点数由控制器设备点数决定,因此,该方案适合小点数的火灾报警控制器; 2.2、寄存器状态说明: 寄存器与设备对应说明: MODBUF的查询寄存器40001对应控制器的0回路的1号设备; GST200控制器: GST200控制器共可接242个设备,设备二次码编码应按照***001~***242设

tcp协议之基础知识

TCP/IP协议(传输控制协议/网间协议) TCP/IP 协议集确立了Internet 的技术基础。TCP/IP 的发展始于美国DOD (国防部)方案。IAB (Internet 架构委员会)的下属工作组IETF (Internet 工程任务组)研发了其中多数协议。IAB 最初由美国政府发起,如今转变为公开而自治的机构。IAB 协同研究和开发TCP/IP 协议集的底层结构,并引导着Internet 的发展。TCP/IP 协议集记录在请求注解(RFC)文件中,RFC 文件均由IETF 委员会起草、讨论、传阅及核准。所有这些文件都是公开且免费的,且能在IETF 网站上列出的参考文献中找到。 TCP/IP 协议覆盖了OSI 网络结构七层模型中的六层,并支持从交换(第二层)诸如多协议标记交换,到应用程序诸如邮件服务方面的功能。TCP/IP 的核心功能是寻址和路由选择(网络层的IP/IPV6 )以及传输控制(传输层的TCP、UDP)。 IP (网际协议) 在网络通信中,网络组件的寻址对信息的路由选择和传输来说是相当关键的。相同网络中的两台机器间的消息传输有各自的技术协定。LAN 是通过提供6字节的唯一标识符(“MAC”地址)在机器间发送消息的。SNA 网络中的每台机器都有一个逻辑单元及与其相应的网络地址。DECNET、AppleTalk 和Novell IPX 均有一个用来分配编号到各个本地网和工作站的配置。 除了本地或特定提供商的网络地址,IP 为世界范围内的各个网络设备都分配了一个唯一编号,即IP 地址。IPV4 的IP 地址为4字节,按照惯例,将每个字节转化成十进制(0-255)并以点分隔各字节。IPV6 的IP 地址已经增加到16字节。关于IP 和IPV6 协议的详细说明,在相关文件中再另作介绍。 TCP (传输控制协议) 通过序列化应答和必要时重发数据包,TCP 为应用程序提供了可靠的传输流和虚拟连接服务。TCP 主要提供数据流转送,可靠传输,有效流控制,全双工操作和多路传输技术。可查阅TCP 部分获取更多详细资料。 在下面的TCP/IP 协议表格中,我们根据协议功能和其在OSI 七层网络通信参考模型的映射关系将其全部列出。然而,TCP/IP 并不完全遵循OSI 模型,例如:大多数TCP/IP 应用程序是直接在传输层协议TCP 和UDP 上运行,而不涉及其中的表示层和会话层。 ************************************ *********************88 **************************8 TCP/IP协议详解 悬赏分:30 - 解决时间:2007-8-29 23:29 提问者:4252002 - 试用期一级最佳答案 这部分简要介绍一下TCP/IP的内部结构,为讨论与互联网有关的安全问题打下基础。TCP/IP

恒瑞电力保护装置Modbus通信规约

微机保护装置通讯协议 MODBUS-RTU- V1.1版 珠海市恒瑞电力科技有限公司 2013-3

一、协议概述 ●本协议适用于HDPx、DPx、EDPx、DPML系列保护装置。 ●本协议为轮询方式的应答式规约,允许一个主站对应32个从站。 ●数据帧间的间隔时间应大于50ms。 ●数据为字时,均采用高字节在前、低字节在后、高位字在前、低位字在后的原则(校验码除外)。 ●从站地址为00时为广播方式。 1、物理层: ●传输方式:RS-485 ●通信地址:1~255 ●通信波特率:2400bps~19200bps。 ●传输介质:屏蔽双绞线 2、链路层: ■传输方式:主从半双工方式。 数据在一根通信线路上进行双向传输的应答式连接(发送完后,再接收)。主站首先寻址到唯一的从站,接着主站将会收到对应的终端设备发出的应答信号。 协议只允许应用在主站与终端设备之间,禁止在独立的终端设备之间互相交换数据。 ■数据帧格式,表1-1如示: ■数据包格式,表1-2如示: 当从站接收到主站的数据帧后,首先进行地址验证,如是从站,则从站进行数据帧的CRC校验码计算,并与接收到的主站发出的CRC码进行比较,如相等,则执行相应的功能码,并对主站做出响应(从站的地址、功能码、数据区、CRC的低字节,CRC的高字节);如经地址验证不为该从站,则退出,不做出任何的响应。 ●地址域 从站地址为一个字节,该字节标明了主站与从站进行通信的入口,所以该地址是每个从站所必须的,并且有且只有一个,从站之间绝不能相互重复,否则会引起通信链路上的冲突而导致通信错误。有效的从站地址范围从1~247。从站地址为00时为广播方式。 ●功能域 该码值为一个字节,它标识了主站要在终端设备上是做何种操作。详细内容参见表1-3所示。

Modbus 通讯协议简化V1.0(含具体说明).

Modbus通讯协议简化 V1.0 2004-5-21 1 Modbus协议概述 Modbus协议是主从站通讯协议,用异步串行口完成通讯,物理层采用RS485或RS232。传输速率可以达到115kbps,理论上可接(寻址)一台主站和至多247台从站。受线路和设备的限制,最多可接一台主站和32台从站。 Modbus理,以及所执行的功能等,都不能随便改动。其他特性属于用户可选的,如传输介质、波特率、字符奇偶校验、停止位的个数等等,传输模式为RTU。用户所选择的参数对于各个站必须一致,在系统运行时不能改变。 1.1 Modbus协议传输模式 Modbus的传输模式:RTU方式。 表1-1 RTU传输模式的特性 特性编码系统 每个字符的位数起始位 数据位 奇偶校验位 停止位 1.2 帧 Modbus协议的帧(报文)格式:RTU帧。 下表是RTU传输模式的一般格式命令帧。 从站地址 8位 2 Modbus协议 2.1 通讯方式 Modbus有两种通讯方式:应答方式和广播方式。 应答方式是主站向某个从站(地址1~247)发出命令,然后等待从站的应答;从站接到主站命令后,执行命令,并将执行结果返回给主站作为应答,然后等待下一个命令。 广播方式是主站向所有从站发送命令(从站地址为0),不需要等待从站应答;从站接到广播命令后,执行命令,也不向主站应答。 除了会送诊断校验外,只有05、06、15、16这四项功能(见2.3)对广播方式有效。功能码数据校验和 8位位位十六进制 1位 8位 0或1位 1或2位校验和(循环冗余校验) 2.2 Modbus帧

Modbus的帧按应答方式分为命令帧(询问帧)和应答帧。命令帧为一般格式命令帧,应答帧有显长度帧和隐长度帧之分,图2-1、2-3、2-4给出了典型的帧格式。从站地址 功能码 数据 数据起始寄存器高位 数据起始寄存器地位 数据寄存器高位 数据寄存器地位 校验和 图2-1 一般格式命令帧 从站地址 从站地址 2.2.1 功能码 从站地址字段 数据 图2-4 隐长度应答帧 帧中的从站地址字段表示接收主站报文的从站地址。当从站地址字段为0时,表示所有从站,此时的报文是广播报文。 用户必须设定每台从站的专用地址。只有被编址的设备才能对主机的命令(询问)做出应答。从站发送应答报文时,报文中地址的作用是向主站报告正在通讯的是哪台从站。 2.2.2 功能码字段 功能码字段同志从站应执行何种功能。表2-1列出了功能码的意义和作用。2.3节给出了各个功能码对应报文的详细格式和功能。表2-1 Modbus功能码 功能码 01 02 03 04 05 06 07 08 09 10 11 12 名称 读取开出状态读取开入状态读取模出状态读取模入状态强制单路开出强制单路模出读取异常状态回送诊断校验编程探询读取事件计数读取通讯事件记录 作用(对主站而言) 取得一组开关量输出的当前状态取得一组开关量输入的当前状态取得一组模拟量输出的当前状态取得一组模拟量输入的当前状态强制设定某个开关量输出的值强制设定某个模拟量输出的值取得从站的一些状态(8位)

MODBUS通信规约解析

MODBUS通信规约 第一章MODBUS协议简介 MODBUS协议详细定义了校验码、数据序列等,这些都是特定数据交换的必要内容。 MODBUS协议在一对通讯线上使用主从应答式连接(半双工),这意味着在一对单独的通讯线上信号沿着相反的两个方向传输。首先,主计算机的信号寻址到一台唯一的终端设备(从机),然后,终端设备发出的应答信号以相反的方向传输给主机。 MODBUS协议只允许在主计算机和终端设备之间通讯,而不允许独立的设备之间的数据交换,这样各终端设备不会在它们初始化时占用通讯线路,而仅限于响应到达本机的查询信号。 1.1 传输方式 传输方式是一个数据帧内一系列独立的数据结构以及用于传输数据的有限规则,下面定义了与MODBUS协议-RTU方式相兼容的传输方式。 ◆Coding System 二进制编码8位 ◆Start bit 起始位1位 ◆Data bits 数据位8位 ◆Parity 校验无奇偶校验 ◆Stop bit 停止位1位

Error checking 错误检测CRC(循环冗余校验)1.2协议 当数据帧到达终端设备时,它通过一个简单的“端口”进入被寻址到的设备,该设备去掉数据帧的“信封”(数据头),读取数据,如果没有错误,就执行数据所请求的任务,然后,它将自己生成的数据加到取得的“信封”中,把数据帧返回给发送者。返回的响应数据中包含了以下内容:终端从机地址(Address)、被执行了的命令(Function)、执行命令生成的被请求数据(Data)和一个校验码(Check)。发生任何错误都不会有成功的响应。 1.2.1数据帧格式 1.2.2地址(Address)域 地址域在帧的开始部分,由一个字节8位(0~255)组成,这些位标明了用户指定的终端设备的地址,该设备将接收来自与之相连的主机数据。每个终端设备的地址必须是唯一的,仅仅被寻址到的终端会响应包含了该地址的查询。当终端发送回一个响应,响应中的从机地址数据便告诉了主机哪台终端正与之通信。

103规约详细解析

一、DL/T667-1999(IEC60870-5-103) 通信规约基本要点 1. 通信接口 1.1 接口标准:RS232、RS485、光纤。 1.2 通信格式:异步,1位起始位,8位数据位,1位偶校验位,1位停止位。字符和字节传输由 低至高。线路空闲状态为1,字符间无需线路空闲间隔,两帧之间线路空闲间隔至少33位 (3个字节) 1.3 通信速率:可变。 1.4 通信方式:主从一对多,Polling方式。 2. 报文格式 870-5-103通信规约有固定帧长报文和可变帧长报文两种报文格式,前者主要用于传送“召唤、命令、确认、应答”等信息,后者主要用于传送“命令”和“数据”等信息。 2.1 固定帧长报文 启动字符 控制域 地址域 代码和 结束字符 注:代码和=控制域+地址域(不考虑溢出位,即256模和) ————启动字符1(1byte) ————长度(1byte) ————长度(重复)(1byte) ————启动字符2(重复)(1byte) ————控制域(1byte) ————地址域(1byte) ————链路用户数据[(length-2)byte] ————代码和(1byte) ————结束字符(1byte) 注:(1)代码和=控制域+地址域+ ASDU代码和(不考虑溢出位,即256模和)(2)ASDU为“链路用户数据”包,具体格式将在下文介绍 (3)Length=ASDU字节数+2 2.3 控制域 控制域分“主 从”和“从 主”两种情况。 (1)“主 从”报文的控制域 D7 D6 D5 D4 D3 D2 D1 D0 备用PRM FCB FCV 功能码 0 1 1 (A)PRM(启动报文位)表明信息传输方向,PRM=1由主站至子站;PRM=0由子站至主站。

信息与通信专业基础知识

一、信息与通信工程 - 主要研究方向 1.数字电视图像通信 2.光纤通信 3.计算机通信及网络安全 4.无线通信 5.统计信号处理 6.生物信息技术 7.多媒体技术 8.智能信息处理 二、计算机通信简介: 计算机通信是一种以数据通信形式出现,在计算机与计算机之间或计算机与终端设备之间进行信息传递的方式。它是现代计算机技术与通信技术相融合的产物,在军队指挥自动化系统、武器控制系统、信息处理系统、决策分析系统、情报检索系统以及办公自动化系统等领域得到了广泛应用。 计算机通信按照传输连接方式的不同,可分为直接式和间接式两种。 直接式是指将两部计算机直接相联进行通信,可以是点对点,也可以是多点通播。间接式是指通信双方必须通过交换网络进行传输。 按照通信覆盖地域的广度,计算机通信通常分为局域式、城域式和广域式三类。

局域式是指在一局部的地域范围内(例如一个机关、学校、军营等)建立计算机通信。局域计算机通信覆盖地区的直径在 数公里以内。 城域式是指在一个城市范围内所建立的计算机通信。城域 计算机通信覆盖地区的直径在十公里到数十公里。 广域式是指在一个广泛的地域范围内所建立的计算机通信。通信范围可以超越城市和国家,以至于全球。广域计算机通信 覆盖地区的直径一般在数十公里到数干公里乃至上万公里。 在通常情况下,计算机通信都是由多台计算机通过通信线路连接成计算机通信网进行的,这样可共享网络资源,充分发挥 计算机系统的效能。 三、各种无线通信传输方式简介 目前随着通信技术的发展,无线通信技术的使用已经渗透到社会的各个角落。要实现全球对无人驾驶智能车的监控,无线 通信自然不能少。在我们实际生活中,可以接触到的无线通信 技术有:红外线、蓝牙、UWB、以及我们早期使用的Zigbee、无线数传电台、WIFI、GPRS、3G等等。下面针对这些技术做 一些简单的介绍。目前随着通信技术的发展,无线通信技术的 使用已经渗透到社会的各个角落。要实现全球对无人驾驶智能 车的监控,无线通信自然不能少。在我们实际生活中,可以接

Modbus标准通讯协议格式【最新】

Modbus通讯协议 下表是Modbus的功能格式: 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、写数字量(线圈状态):

Modbus -RTU规约详解(中文版)

第一章Modbus协议 □介绍Modbus协议介绍□两种串行传输模式 □信息帧 □错误检查方法

Modbus协议介绍 Modbus可编程控制器之间可相互通讯,也可与不同网络上的其他设备进行通讯,支撑网络有Modicon的Modbus和Modbus+工业网络。网络信息存取可由控制器内置的端口,网络适配器以及Modicon提供的模块选件和网关等设备实现,对OEM(机械设备制造商)来说,Modicon可为合作伙伴提供现有的程序,可使Modbus+网络紧密地集成到他们的产品设计中去。 Modicon的各种控制器使用的公共语言被称为Modbus协议,该协议定义了控制器能识别和使用的信息结构。当在Modbus网络上进行通讯时,协议能使每一台控制器知道它本身的设备地址,并识别对它寻址的数据,决定应起作用的类型,取出包含在信息中的数据和资料等,控制器也可组织回答信息,并使用Modbus协议将此信息传送出去。 在其他网络上使用时,数据包和数据帧中也包含着Modbus协议。如,Modbus+或MAP网络控制器中有相应的应用程序库和驱动程序,实现嵌入式Modbus协议信息与此网络中用子节点设备间通讯的特殊信息帧的数据转换。 该转换也可扩展,处理节点地址,路由,和每一个特殊网络的错误检查方法。如包含在Modbus协议中的设备地址,在信息发送前就转换成节点地址,错误检查区也用于数据包,与每个网络的协议一致,最后一点是需用Modbus协议,写入嵌入的信息,定义应处理的动作。

图1说明了采用不同通讯技术的多层网络中设备的互连方法。在信息交换中,嵌入到每个网络数据包中的 图1:Modbus 协议应用示意图 * MB+为 Modbus 主处理器 4个Modus 设备或网络 编程器 编程器 (去MB+) S980(去MAP) AT/HC-984 和 HOST/MMHI AT/HC-984 HOST/MMHI 984A/B 和 S985

现代通信基础知识汇总

构成通信网的三个必不可少的要素是什么? 用户终端传输设备交换设备 电路交换,分组交换的虚电路方式以及ATM交换都采用面向链接的工作方式,他们有何异同? 相同点:通信过程均可分为三阶段:连接建立,传送信息,链接拆除 不同点:电路交换传送信息之前建立通信的 通信网的分集方式有哪些网络,拓扑结构常见的主要有哪几种类型? 根据支持业务的不同进行分类:电话通信网,电报通信网,数据通信网,综合业务数字网根据采用传输模式的不同分类:电路传送网,分组传送网,异步传送网 根据使用场合的不同进行分类:公用通信网,专用通信网 根据采用传输媒介的不同分类:有线通信网,无线通信网 根据传输和交换采用信号的不同分类:数字通信网,模拟通信网 星型网,环形网,网状网,树形网,总线型网,复合型网 通信的支撑网络主要包括哪三种网络,它们分别起何种作用? NO.7信令网:是现代通信网的“神经网络”,为现代通信网提供高效,可靠的信令服务 数字同步网:用于保证数字交换局之间,数字交换局与数字传输设备之间信号时钟的同步,并且使通信网中所有数字交换系统和数字传输系统工作在同一个时钟频率 下 3电信管理网:是一个完整,独立的管理网络,在这个网络中各种不同应用的管理系统按照TMN的标准接口互连成为一个紧密联系的实体,并且在有限点上与电 信网接口,典型网络互通,从而达到控制和管理整个电信网的目的,TMN 是一个标准化的,智能化的,综合的电信管理系统 6电路交换,分组交换的虚电路方式以及ATM交换都采用面向连接的工作方式,它们有何异同? 相同:通信过程均分为三个阶段:连接建立,传送信息,连接拆除 异:电路交换传送信息之前,建立通信源和目的之间的信息通路的链接,它是一条物理通路。分组交换通过通信连接上的所有交换节点保有选路结果和路由连接关系来实现连接是逻辑通路。ATM:分虚通道和虚信道。 第二章 举例说明什么是严格无阻塞网络,可重排无阻塞网络,广义无阻塞网络? 答:1严格无阻塞路由,交换网络中只要连接的起点与终点是空闲的,则任何时候都可以在交换网络建立一个链接。2.可重排无阻塞网络大小:任何时候都可以在交换网络中按间地时连接重新建立一个链接,只要这个起点低于空闲状态。 第三章 1.用户电路的BORSCHT七大功能是什么,还有哪些功能在一些特殊应用时会用到? 用户电路的七大功能:1.B馈电 2.D过压保护 3.R振铃控制 4.S监视 5.C编译码和滤码 6.H混合电路7.T测试。另外还有主叫号码显示,计算脉冲发送,极性反转等功能2.数字中断电路完成哪些功能? 1.码型变换 2.帧同步 3.复帧同步 4.时钟提取 5.提取和插入信号 6.帧定位(再定时)3.什么是集中控制,什么是分散控制,他们各有什么缺点?

Modbus通讯协议详解含程序

Modbus通讯协议详解(1) 作者:来源于:发布时间:2006-11-28 16:22:00 工业控制已从单机控制走向集中监控、集散控制,如今已进入网络时代,工业控制器连网也为网络管理提供了方便。Modbus就是工业控制器的网络协议中的一种。 一、 Modbus 协议简介 Modbus 协议是应用于电子控制器上的一种通用语言。通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信。它已经成为一通用工业标准。有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控。此协议定义了一个控制器能认识使用的消息结构,而不管它们是经过何种网络进行通信的。它描述了一控制器请求访问其它设备的过程,如果回应来自其它设备的请求,以及怎样侦测错误并记录。它制定了消息域格局和内容的公共格式。 当在一Modbus网络上通信时,此协议决定了每个控制器须要知道它们的设备地址,识别按地址发来的消息,决定要产生何种行动。如果需要回应,控制器将生成反馈信息并用Modbus协议发出。在其它网络上,包含了Modbus协议的消息转换为在此网络上使用的帧或包结构。这种转换也扩展了根据具体的网络解决节地址、路由路径及错误检测的方法。 1、在Modbus网络上转输 标准的Modbus口是使用一RS-232C兼容串行接口,它定义了连接口的针脚、电缆、信号位、传输波特率、奇偶校验。控制器能直接或经由Modem 组网。 控制器通信使用主—从技术,即仅一设备(主设备)能初始化传输(查询)。其它设备(从设备)根据主设备查询提供的数据作出相应反应。典型的主设备:主机和可编程仪表。典型的从设备:可编程控制器。 主设备可单独和从设备通信,也能以广播方式和所有从设备通信。如果单独通信,从设备返回一消息作为回应,如果是以广播方式查询的,则不作任何回应。Modbus协议建立了主设备查询的格式:设备(或广播)地址、功能代码、所有要发送的数据、一错误检测域。 从设备回应消息也由Modbus协议构成,包括确认要行动的域、任何要返回的数据、和一错误检测域。如果在消息接收过程中发生一错误,或从设备不能执行其命令,从设备将建立一错误消息并把它作为回应发送出去。 2、在其它类型网络上转输 在其它网络上,控制器使用对等技术通信,故任何控制都能初始和其它控制器的通信。这样在单独的通信过程中,控制器既可作为主设备也可作为从设备。提供的多个内部通道可允许同时发生的传输进程。 在消息位,Modbus协议仍提供了主—从原则,尽管网络通信方法是“对等”。如果一控制器发送一消息,它只是作为主设备,并期望从从设备得到回应。同样,当控制器接收到一消息,它将建立一从设备回应格式并返回给发送的控制器。 3、查询—回应周期 (1)查询 查询消息中的功能代码告之被选中的从设备要执行何种功能。数据段包含了从设备要执行功能的任何附加信息。例如功能代码03是要求从设备读保

通信规约及点表

通信接口协议书 接口系统: BAS与消防应急电源EPS 版本V01 北京动力源科技股份有限公司

1.1物理接口描述: 1.2 1.2.1通信传输介质及连接方式 说明: 1.3通讯约定: 1.3.1EPS提供标准的MODBUS RTU通信方式,并按照以下格式设 置通信口: 波特率:9600bps, 4800bps, 2400bps可选 8个数据位 无奇偶验位 1个停止位 CRC(循环冗余检测) 1.3.2通信协议介绍 1.3. 2.1协议简介 Modbus通讯采用主—从技术,即主设备查询从设备,从 设备根据主设备的查询指令,提供数据响应。

1.3. 2.2(1)查询 查询指令中的功能代码告之被选中的从设备要执行何种功 能。数据段包含了从设备要执行功能的任何附加信息。例如 功能代码03是要求从设备读保持寄存器并返回它们的内 容。数据段包含了告之从设备的信息:从何寄存器开始读及 要读的寄存器数量。错误检测域为从设备提供了一种验证消 息内容是否正确的方法。 (2)响应 如果从设备产生一个正常的响应,响应消息中的功能代码是 对查询消息中的功能代码的回应。数据段包括了从设备收集 的数据:如寄存器值或状态。 传输方式及信息帧 同一个Modbus网络上的所有设备都应选择相同的传输模式和串口参数。 Modbus RTU信息帧结构如下: T1-T2-T3-T4所示)。在最后一个传输字符之后,一个至少3.5个字符时间的停顿标定了消息的结束。一个新的消息可在此停顿后开始。 2监控点表 2.1EPS与 BAS的通讯数据

注:以上所有传送数值均为实际显示值 2.240011字所对应系统状态解释 项目解释: 1.市电状态:是指设备交流输入市电发生掉电,缺相,电压高或低等异常情况 2.逆变状态:是指逆变器正常工作或发生无逆变输出,输出电压高低等异常情况 3.运行状态:是指设备当前工作于自动转换或手动转换方式 4.负载位置:是指接于该设备的负载是由市电供电还是由逆变供电 5.强制运行:设备是否强制运行表明电池保护开关是否有效。如果设备处于强制运行状态则电池保护开关无效。 6.电池状态:是指蓄电池组中任何一节电池的正常或者故障。 7.充电状态:是指设备内部充电器工作的正常或者故障。 8.输出状态:是指设备内部每一路输出分路的正常或者故障。 (注: 1.EPS也可以提供标准RS232物理接口,但RS232与RS485不能同时使用 2.2006年8月以前出厂设备的协议与此协议不附,如需通信请升级控制器的程序)

MODBUS-RTU通讯规约重点讲义资料

附录一:MODBUS_RTU通讯规约(本协议采用主从问答方式) PDM系列仪表/变送器: PDM系列仪表/变送器采用全新的设计,革命性地改变了传统电表的概念;具有多功能、高精度、数字式、可编程、结构紧凑、多画面显示的特点,它可以满足电力工业未来对电表的需求。MODBUS通讯协议: ModBus通讯规约允许PDM系列仪表/变送器与施耐德、西门子、AB、GE等多个国际著名品牌的可编程顺序控制器(PLC)、RTU、SCADA系统、DCS或与第三方具有ModBus兼容的监控系统之间进行信息交换和数据传送。 PDM系列仪表/变送器只要简单地增加一套基于计算机(或工控机)的监控软件(如:组态王、Intouch、FIX、synall等)就可以构成一套电力监控系统。 广泛的系统集成: PDM系列仪表/变送器提供了标准的RS-485/422通讯接口及ModBus通讯协议,这个通讯协议已广泛被国内外电力行业及工控行业作为系统集成的标准。 通讯数据的类型及格式: 信息传输为异步方式,并以字节为单位。在主站和从站之间传递的通讯信息是11位的字格式: 字格式(串行数据1位二进 起始 数据 奇偶校验有奇偶校验无:无奇偶校验 停止位1位:有奇偶校验位/2位:无奇偶校验位 ●通讯数据(信息帧)格式

数据格式:地址码功能码数据区错误校检 数据长度:1字节1字节N字节16位CRC码(冗余循环码) ★注:1、1个字节由8位二进制数组成(既8 bit)。 2、ModBus是Modicon公司的注册商标。 3、“从机”在本文件中既为PDM。 一、通讯信息传输过程: 当通讯命令由发送设备(主机)发送至接收设备(从机)时,符合相应地址码的从机接收通讯命令,并根据功能码及相关要求读取信息,如果CRC校验无误,则执行相应的任务,然后把执行结果(数据)返送给主机。返回的信息中包括地址码、功能码、执行后的数据以及CRC校验码。如果CRC校验出错就不返回任何信息。 1.1 地址码: 地址码是每次通讯信息帧的第一字节(8位),从0到255。这个字节表明由用户设置地址的从机将接收由主机发送来的信息。每个从机都必须有唯一的地址码,并且只有符合地址码的从机才能响应回送信息。当从机回送信息时,回送数据均以各自的地址码开始。主机 发送的地址码表明将发送到的从机地址,而从机返回的地址码表明回送的从机地址。相应的地址码表明该信息来自于何处。 1.2 功能码: 是每次通讯信息帧传送的第二个字节。ModBus通讯规约可定义的功能码为1到127。PDM 系列仪表/变送器仅用到其中的一部分功能码。作为主机请求发送,通过功能码告诉从机应执行什么动作。作为从机响应,从机返回的功能码与从主机发送来的功能码一样,并表明从机已响应主机并且已进行相关的操作。 表8.1 MODBUS部分功能码 功能码定义操作(二进制) 02 读开关量输入读取一路或多路开关量状态输入数据 01 读开关量输出读取一路或多路开关量输出状态数据 03 读寄存器数据读取一个或多个寄存器的数据 05 写开关量输出控制一路继电器“合/分”输出 06 写单路寄存器把一组二进制数据写入单个寄存器 10 写多路寄存器把多组二进制数据写入多个寄存器 1.3 数据区: 数据区包括需要由从机返送何种信息或执行什么动作。这些信息可以是数据(如:开关量输入/

相关文档
最新文档