当前位置:文档之家› MODBUS2简易监控通讯协议

MODBUS2简易监控通讯协议

中央监控器MODBUS通信协议

监控器采用Modbus RTU通讯规约,可方便地进行遥测、遥信、遥控、遥调操作。

1.物理接口

1).串行通信口RS-232。

2).信息传输方式为:异步,1位起始位,8位数据位,1位停止位。

3).数据传输速率:9600B/S。

4).当传送2字节数据时,高8位在前,低8位在后;传送CRC校验码时,高8位在前,低8位在后。

5).传输的数据采用二进制码。

6).监控器在系统中的地址为:0C0H(十进制数192),不支持广播命令。

2.功能码03,读取点和返回值:

中央监控器采用Modbus RTU通讯规约,利用通讯命令,可以进行读取点(“保持寄存器”) 或返回值(“输入寄存器” )。保持和输入寄存器是16位(2字节),并且返回值高位在前。协议规定一次只能读取单个寄存器地址(一个整型数值,2 BYTE)。由于一些可编程控制器不用功能码03,所以功能码03被用作读取点和返回值。从机响应的命令格式是从机地址、功能码、数据区及CRC码。数据区的数据都是每二个字节高位在前,CRC校验码低位在前,高位在后。

信息帧格式举例:

从机地址为C0,起始地址0000的单个寄存器地址。

此例中寄存器数据地址为:

地址数据

0000 EA60

主机发送字节数举例

从机地址 1 C0 发送至从机0C0H

功能码 1 03 读取寄存器

起始地址 2 00 起始地址为 0032

32

读取点数 2 00 读取1个寄存器(共2字节)

01

CRC码 2 Low 由主机计算得到的CRC码

High

从机响应字节数举例

从机地址 1 C0 来自从机0C0H

功能码 1 03 读取寄存器

读取字节数 1 02 2个寄存器字节总数

寄存器数据1 2 EA 地址为0032内的内容

60

CRC码 2 H 由从机计算得到的CRC码

L

其中标示红色的地方,客户一般只要显示这些比较重要的量,每问一句只能采集一个数据。

3.功能码06,单点保存:

主机利用这条命令把单点数据保存到的存储器。从机也用这个功能码向主机返送信息。

信息帧格式举例:

从机地址为C0,保存起始地址0000的1个值。在此例中,数据保存结束后,从机中地址为0002内的内容为0002。

主机发送字节数举例

从机地址 1 CO 发送至从机0C0H

功能码 1 06 单点保存

起始地址 2 00 起始地址为 0002

02

保存数据 2 00 保存的数据为0002

02

CRC码 2 H 由主机计算得到的CRC码

L

从机响应字节数举例

从机地址 1 C0 来自从机0COH

功能码 1 06 单点保存

起始地址 2 00 起始地址为 0002

02

保存数据 2 00 保存的数据为0002

02

CRC码 2 H 由从机计算得到的CRC码

L

错误返回值:

如果主机发出的数据地址错误或数据值错误,则中央监控器向主机回送错误信息,功能码的最高位为1,即中央监控器返回给主机的功能码是在主机已送的功能码上加128。

从机返回的错误码的格式如下:

地址码:1字节

功能码:1字节(最高位为1)

错误码:1字节

CRC码:2字节

错误码如下:

01.收到错误的功能码,本协议只用03和06功能,如果收到其它码,则返回01错误码。

02.CRC校验码错。

03.非法的数据地址:接收到的数据地址的范围。

04.非法的数据值:接收到的数据值超出相应地址的数据范围。

05.非法的寄存器地址数:本协议规定一次只读一个寄存器地址,所以上位机企图一次读多个或0个寄存器地址,将返回错误码05。

相关主题