• 新乡市天科测控仪表有限公司

    全国统一服务热线:18637357823

    电 话:0373-2695792

        0373-2695798

        0373-2695799

    传 真:0373-2695791

    邮 箱:xxtkyb@126.com

    地 址:河南省新乡牧野区北环路西段小里工业区

新闻动态首页 > 新闻动态

气体涡轮LWQ-D2头 MODBUS-RTU协议

发布:xxtkyb123 浏览:2635次

  
MODBUS-RTU协议  
1.数据格式说明  
1、1通讯模式  
本仪表采用MODBUSRTU格式。  

协议用于主从查询模式,进行数据通讯。通讯流程如下图。  


在RTU模式下,数据格式说明如下。  


1、2数据格式  
数据格式为n,8,1(1个起始位、8个数据位、无校验、1个停止位)  

波特率可选五种,1200、2400、4800、9600、19200  


其中:T1、T2、T3、T4为每帧之间的时间间隔,两帧之间的传输必须大于间隔时间。  
1、3地址  
协议中规定仪表的地址为“01-99”,“0”地址用于广播,本协议不支持广播,其余地址保留。  
2.命令说明  

2.1本仪表使用了MODBUS协议中3条指令:  

命令03(HEX)

读单个或多个寄存器

 

命令06(HEX)

写单个寄存器

此命令包含在“命令10”中

命令10(HEX)

写多个寄存器

此命令包含“命令6”

 

2.2数据格式  
协议中的数据包括:16进制数、整数、BCD码、浮点数  
寄存器地址下列表中的属性指数据的读写属性,R-只读;W-写;R/W-既可读,也可写入。  
单精度浮点数SINGLE格式为IEEE754,数据由低到高。  
32位浮点数共计32位,折合4字节。  
由高到低位分别是第31、30、29、……、0位。  

31

30-23

22-0

S

阶码

尾数

 

31位是符号位(S),1表示该数为负,0反之;  
30-23位,一共8位是阶码;  
22-0位,一共23位是尾数。  
BCD码格式有两种:  
格式1:4字节BCD编码,数据低→高,如数据20100617,表示为4字节  

2

0

1

0

0

6

1

7

地址低

 

地址高

 

格式2:(内部应用)6字节BCD编码,表示固定小数点的数据,数据低→高,如12345.678表示为6字节  

0

0

0

0

1

2

3

4

6

7

8

地址低

 

地址高

 

小数点默认为第9位数的后面。  
无符号整数Uint为0-65536。  
各指令的格式及示例见下面的说明。  
  
命令3格式如下(读寄存器命令):  
MODBUS请求  

仪表地址

1 BYTE

01-99

功能码

1 BYTE

03

起始地址

2 BYTE

0-FFFF

读取数量

2 BYTE

1-7D

CRC低位

1 BYTE

 

CRC高位

1 BYTE

 

MODBUS 响应

仪表地址

1  BYTE

01-99

功能码

1  BYTE

03(06、10)

字节计数

1  BYTE

N

输入状态

N*2  BYTE

 

CRC低位

1 BYTE

 

CRC高位

1 BYTE

 

错误 响应

仪表地址

1  BYTE

01-99

功能码

1  BYTE

03(06、10)+ 80

错误代码

1  BYTE

01、02、03

CRC低位

1 BYTE

 

CRC高位

1 BYTE

 

举例

请求

响应

域名称

数据(hex)

域名称

数据(hex)

仪表地址码

01

仪表地址码

01

功能码

03

功能码

03

起始地址高(字节)

00

字节计数

06

起始地址低(字节)

6B

寄存器高(108)

02

读取数量高(字节)

00

寄存器低(108)

2B

读取数量低(字节)

03

寄存器高(109)

00

 

寄存器低(109)

00

寄存器高(110)

00

寄存器低(110)

64

CRC校验

校验码

CRC校验

校验码

命令6格式如下(写单个字节):

MODBUS 请求

仪表地址

1 BYTE

01-99

功能码

1 BYTE

10

寄存器地址

2 BYTE

0-XFFFF

寄存器内容

2 BYTE

 

CRC低位

1 BYTE

 

CRC高位

1 BYTE

 

MODBUS 响应

仪表地址

1  BYTE

01-99

功能码

1  BYTE

03(06、10)

寄存器地址

2  BYTE

0-FFFF

寄存器内容

2  BYTE

 

CRC低位

1 BYTE

 

CRC高位

1 BYTE

 

错误 响应

仪表地址

1  BYTE

01-99

功能码

1  BYTE

03(06、10)+ 80

错误代码

1  BYTE

01、02、03

CRC低位

1 BYTE

 

CRC高位

1 BYTE

 

举例

请求

响应

域名称

数据(hex)

域名称

数据(hex)

仪表地址码

01

仪表地址码

01

功能码

06

功能码

06

寄存器地址高

00

起始地址高(字节)

00

寄存器地址低

6B

起始地址低(字节)

6B

高位寄存器值

00

高位寄存器值

00

低位寄存器值

0F

低位寄存器值

0F

CRC校验

校验码

CRC校验

校验码

命令10格式如下(写多个字节):

MODBUS 请求

仪表地址

1 BYTE

01-99

功能码

1 BYTE

10

寄存器起始地址

2 BYTE

0-FFFF

寄存器数量

2 BYTE

1-7D

字节计数

1 BYTE

N

设置内容

N*2 BYTE

 

CRC低位

1 BYTE

 

CRC高位

1 BYTE

 

MODBUS 响应

仪表地址

1  BYTE

01-99

功能码

1  BYTE

03(06、10)

寄存器起始地址

1  BYTE

0-FFFF

寄存器数量

2  BYTE

 

CRC低位

1 BYTE

 

CRC高位

1 BYTE

 

错误 响应

仪表地址

1  BYTE

01-99

功能码

1  BYTE

03(06、10)+ 80

错误代码

1  BYTE

01、02、03

CRC低位

1 BYTE

 

CRC高位

1 BYTE

 

举例

请求

响应

域名称

数据(hex)

域名称

数据(hex)

仪表地址码

01

仪表地址码

01

功能码

10

功能码

10

起始地址高

00

起始地址高(字节)

00

起始地址低

6B

起始地址低(字节)

6B

设置数量高

00

设置数量高(字节)

00

设置数量低

02

设置数量低(字节)

02

字节数

4

 

 

设置寄存器高

00

 

 

设置寄存器低

0F

 

 

设置寄存器高

06

 

 

设置寄存器低

08

 

 

CRC校验

校验码

CRC校验

校验码

3.数据项定义

记录信息表

属性

地址

(hex/word)

寄存器长度(word)

数据类型

描述

说明

备注

(举例)

采集数据信息

R

0001

2

SINGLE

M3/h

瞬时流量

 

R

0003

2

SINGLE

M3/h

累积流量

 

R

0005

2

SINGLE

V

CPU电压

 

流量信息

R/W

0007

2

SINGLE

M3/h

满量程

备用

R/W

0009

2

SINGLE

M3/h

小流量切除

备用

修正信息

R/W

0010

2

SINGLE

K

仪表平均系数

备用

R/W

0012

2

SINGLE

F1

频率1点

备用

R/W

0014

2

SINGLE

K1

系数补偿1点

备用

R/W

0016

2

SINGLE

F2

频率2点

备用

R/W

0018

2

SINGLE

K2

系数补偿2点

备用

R/W

001A

2

SINGLE

F3

频率3点

备用

R/W

001C

2

SINGLE

K3

系数补偿3点

备用

R/W

001E

2

SINGLE

F4

频率4点

备用

R/W

0020

2

SINGLE

K4

系数补偿4点

备用

R/W

0022

2

SINGLE

F5

频率5点

备用

R/W

0024

2

SINGLE

K5

系数补偿5点

备用

R/W

0026

1

UINT

T

阻尼时间

备用

R/W

0027

1

UINT

FH

频率上限

备用

 

输出信息(备用)

R/W

0030

1

Uint

POUT

脉冲输出选择

1:L/PULSE

2:10L/PULSE

3:100L/PULSE

R/W

0031

2

SINGLE

ZERO

4mA电流调整

零点流量M3/h

R/W

0033

2

SINGLE

FULL

20mA电流调整

满度流量M3/h

通讯信息(备用)

R/W

0040

1

Uint

BAUD

波特率

1:1200

2:2400

3:4800

4:9600

5:19200

R/W

0041

1

Uint

ADR

通信地址

01-99

辅助信息(备用)

R/W

0050

1

BCD-1

SERNO

仪表序列号

20100617

R/W

0052

1

BCD-1

TIME

仪表出厂日期

20100617

R/W

0054

1

BCD-1

VER

版本号

10

4. 版本

版本号

日期

描述

作者

V1.0

2010-6-13

创建

 

5.参考

Modicon-ModbusProtocolReferenceGuide(PI-MBUS-300);REVJ;June,1996  
6.自定义RS485通讯协议  
通讯线路:采用RS485数据通讯线路,半双工通讯  
通讯协议:(120024004800960019200),NONE/0DD/EVEN,8位数据,1停止位  
读瞬时流量、累积流量  
1.主机命令格式  

0

1

2

指令包包头

设备地址高位(ASCII)

设备地址低位(ASCII)

5a

30~39

30~39

2.设备回应格式

0

1

2

3~9

10~20

21

22

23

返回包包头

设备地址高位(ASCII)

设备地址低位(ASCII)

瞬时流量(ASCII)

累积流量(ASCII)

累加和高位

累加和低位

结束符

3d

30~39

30~39

xxxxxxx

xxxxxxxxxxx

xx

xx

ff

 注:流量计返回数据格式定义:
瞬时流量:   xxxxxxx          7字节
累积流量:   xxxxxxxxxxx      11字节
读流量数据举例(以下数据均为十六进制):
指令包: 5a                                         包头
         32 34                                      流量计485地址

返回包: 3d                                         包头
         32 34                                      流量计485地址
         31 32 33 2e 34 35 36                       瞬时流量=123.456 m3/h
         20 20 20 20 20 31 32 33 34 2e 35           累积流量=1234.5 m3
03 d3                                      累加和高位、累加和低位
      ff 结束符