电磁流量转换器MODBUS通讯协议.docx
- 文档编号:12289095
- 上传时间:2023-04-17
- 格式:DOCX
- 页数:19
- 大小:154.45KB
电磁流量转换器MODBUS通讯协议.docx
《电磁流量转换器MODBUS通讯协议.docx》由会员分享,可在线阅读,更多相关《电磁流量转换器MODBUS通讯协议.docx(19页珍藏版)》请在冰豆网上搜索。
电磁流量转换器MODBUS通讯协议
电磁流量转换器
MODBUS通讯说明书
2008-9-2
一、概述
二、读流量信息
三、读参数
四、改写参数
五、安装与布线
六、通讯测试
一、概述
在传统的自动化监控及信息集成系统中,很多现场层设备与控制器之间的连接是一对一(一个I/O点对设备的一个测控点)所谓I/O接线方式,信号传递通常是采用4-20mA(传送模拟量信息)或24VDC(传送开关量信息)信号。
但是这样的系统存在一些明显的缺点,那就是信息集成能力不强;系统不开放、可集成性差、专业性不强;可靠性不易保证;可维护性不高等等。
如果现场层设备配有串行数据接口(如RS-232/485),控制器就可以按接口规定协议,通过串行通信方式(而不是I/O方式)完成对现场设备的监控。
如果设想全部或大部分现场设备都具有串行通信接口并具有统一的通信协议,控制器只需一根通信电缆就可将分散的现场设备连接,完成对所有现场设备的监控,这就是所说的采用现场总线技术。
我公司的电磁流量计都配有串行数据接口(如RS-232/485),根据总线协议的不同,用户可以选择不同通讯功能的电磁流量计。
目前,我公司开发了多种采用485总线协议的通讯,包括带MODBUS总线协议的通讯、带PROFIBUS-DP接口的通讯、带HART总线协议的通讯及自定义的、带MBmagCPV1.0协议的485/232通讯。
Modbus协议是由MODICON公司为其控制器设计的一种可靠而有效的工业控制系统通信协议。
从功能上看,是一种现场总线。
Modbus协议定义了消息域格式和内容的公共格式,使控制器能认识和使用消息结构,而无需考虑通信网络的拓扑结构,它描述了一个控制器访问其它设备的过程。
当采用Modbus协议通信时,此协议规定每个控制器需要知道自己的设备地址,识别按地址发来的消息,如何响应来自其它设备的请求,如何侦测错误并记录。
其数据通讯采用主—从方式,主机只能有1台,每个从机都有指定的地址,地址范围在0~247之间(其中0为广播地址),只有主机具有主动权,从机只能对主机发送的命令作出响应。
当主机端发出数据请求消息(查询)时,从机端接收到正确消息后就可以发送数据到主机端以响应请求;主机端也可以直接发消息修改从机端的数据,实现读和写。
查询—回应周期如图1。
如果采用广播方式(地址为0)查询,从机不作任何回应
我公司电磁流量转换器MODBUS通讯采用标准MODBUS通讯协议,MODBUS模块和上位机进行通讯的波特率为600–19200,波特率设备地址可以通过键盘进行设置。
通讯由主机发起,主机首先发送消息帧,消息帧的发送间隔必须大于3.5个以上字符的发送时间。
消息帧发送的第一个字节是设备地址,从设备不断的侦测网络总线当接收到第一个字节,每一个设备都进行解码以判断是否是发往自己的消息帧;接收到一个字符之后,如果停顿时间超过3.5个以上字符的发送时间,标志着前一个消息帧发送结束,一个新的消息帧在此停顿后开始。
字符间隔不能大于一个字符,否则认为是一条新的消息帧开始,老的消息帧结束。
消息帧定义如下:
0
1
2
3
4
5
6
7
设备地址
功能编码
地址高字节
地址低字节
数据高字节
数据低字节
CRC低字节
CRC高字节
8位字节
8位字节
8位字节
8位字节
8位字节
8位字节
8位字节
8位字节
Modbus通讯协议规定了2种通讯方式。
RTU(REMOTE TERMINAL UNIT)方式通讯采用8位字节的二进制数据通讯,数据校验采用CRC循环冗余校验,通讯速度较快;ASCII方式采用7位ASCII码进行通讯,数据校验采用LRC逻辑冗余校验,通讯速率较慢。
目前,我公司的Modbus通讯只是采用的RTU模式。
针对MODBUS在电磁流量转换器上的应用,在MODBUS的功能码中,我公司只用了3个功能码:
03、04、06。
03号功能码主要用来读取流量信息,包括瞬时流量、流速、流量百分比、电极电阻、正向累计、反向累计、仪表口径、报警状态等;04号功能码用来读取键盘参数,06号功能码用来设置键盘参数。
二、读流量信息
现场仪表的流量信息,由瞬时流量、流速、百分比、报警状态等参数进行反映,参数存放地址定义如下:
参数存放首址
参数定义
参数取值范围
01
瞬时流量
数据长度
04
流速
3
07
百分比
3
10
空管电阻
3
13
正向累计
3
16
反向累计
3
19
仪表口径
3
22
报警状态
3
读取流量信息时,主机发出功能编码03:
读取输入寄存器值。
参数存放首址对应输入寄存器首址的低字节。
主机发送命令格式如下:
从机地址(1Byte)+功能编码(1Byte)+输入寄存器首址(2Byte)+输入寄存器个数(2Byte)+CRC校验值(2Byte)
从机地址值范围在1-99
输入寄存器高字节全部是0,低字节范围在01~09,对应上面表格中参数存放首址。
输入寄存器个数高字节是0,低字节是3
从机回应格式如下:
从机地址(1Byte)+功能编码(1Byte)+读出的字节个数(1Byte)+字节内容(6Byte)+CRC校验值(2Byte)
返回的参数占6个字节,故字节个数是6。
注:
读取流量信息时,对瞬时流量、流速、百分比、报警状态等参数,用户可以分别读取,即一次只读取一个参数。
用户也可以一次性读取所有的8个参数或一次读取其中的几个参数。
读出的流量信息有两种表示方法:
整形数表示法和浮点数表示法。
如没有特殊声明,仪表采用整形数据进行传输。
详细信息结构定义如下:
1)、瞬时流量信息定义
主机发送:
01H
03H
00H
01H
00H
03H
54H
0BH
从机响应:
01H
03H
06H
D0
D1
D2
D3
D4
D5
CRC16低
CRC16高
如果数据以整形数格式进行传输,则D0、D1代表瞬时流量整数部分的高4位(16进制),D2、D3代表瞬时流量整数部分的低4位(16进制),D4、D5代表瞬时流量小数部分值(16进制)。
2)、流速信息定义
主机发送:
01H
03H
00H
04H
00H
03H
44H
0AH
从机响应:
01H
03H
06H
D0
D1
D2
D3
D4
D5
CRC16低
CRC16高
如果数据以整形数格式进行传输,则D0、D1代表流速整数部分的高4位(16进制),D2、D3代表流速整数部分的低4位(16进制),D4、D5代表流速小数部分值(16进制)。
3)、流量百分比信息定义
主机发送:
01H
03H
00H
07H
00H
03H
B4H
0AH
从机响应:
01H
03H
06H
D0
D1
D2
D3
D4
D5
CRC16低
CRC16高
如果数据以整形数格式进行传输,则D0、D1代表百分比值整数部分的高4位(16进制),D2、D3代表百分比值整数部分的低4位(16进制),D4、D5代表百分比值小数部分值(16进制)。
4)、电极电阻信息定义
主机发送:
01H
03H
00H
0AH
00H
03H
25H
C9H
从机响应:
01H
03H
06H
D0
D1
D2
D3
D4
D5
CRC16低
CRC16高
如果数据以整形数格式进行传输,则D0、D1代表电极电阻整数部分的高4位(16进制),D2、D3代表电极电阻整数部分的低4位(16进制),D4、D5代表电极电阻小数部分值(16进制)。
5)、正向总量信息定义
主机发送:
01H
03H
00H
0DH
00H
03H
94H
08H
从机响应:
01H
03H
06H
D0
D1
D2
D3
D4
D5
CRC16低
CRC16高
如果数据以整形数格式进行传输,则将D0、D1由16进制转换成10进制X0X1X2X3,将D2、D3由16进制转换成10进制X4X5X6X7,将D4、D5由16进制转换成10进制X8X9X10X11,数据由X0X1X2X3X4X5X6X7X8X9组成,小数点位置和累计单位由X10X11决定。
列表如下:
X10X11
0
1
2
3
4
5
6
7
单位
0.001L
0.01L
0.1L
1L
0.001m3
0.01m3
0.1m3
1m3
X10X11
8
9
10
11
12
13
14
15
单位
0.001USgal
0.01USgal
0.1USgal
1USgal
0.001igal
0.01igal
0.1igal
1igal
X10X11
16
17
18
19
20
21
22
23
单位
0.001kg
0.01kg
0.1kg
1kg
0.001t
0.01t
0.1t
1t
举例说明如下:
如接收到的数据是
01H
04H
06H
00H
22H
16
43
0C
84
68
6B
则0022(16进制)=34(十进制)
则1643(16进制)=5699(十进制)
则0C84(16进制)=3204(十进制)
则数据可表示为34569932,04是小数点位数,查表为0.001m3,故实际数据为34569.932m3。
6)、反向总量信息定义
主机发送:
01H
03H
00H
10H
00H
03H
04H
0EH
从机响应:
01H
03H
06H
D0
D1
D2
D3
D4
D5
CRC16低
CRC16高
数据表示方法和正向总量一样。
7)、仪表口径信息定义
主机发送:
01H
03H
00H
13H
00H
03H
F4H
0EH
从机响应:
01H
03H
06H
D0
D1
D2
D3
D4
D5
CRC16低
CRC16高
如果数据以整形数格式进行传输,则D0、D1代表仪表口径整数部分的高4位(16进制),D2、D3代表仪表口径整数部分的低4位(16进制),D4、D5代表仪表口径小数部分值(16进制)。
8)、报警状态信息定义
主机发送:
01H
03H
00H
16H
00H
03H
E4H
0FH
从机响应:
01H
03H
06H
D0
D1
D2
D3
D4
D5
CRC16低
CRC16高
如果数据以整形数格式进行传输,则D2、D3代表报警状态整数值(十六进制),D0、D1、D4、D5保留。
报警状态的值范围不会超过1024,用二进制位表示为:
Bit9Bit8Bit7Bit6Bit5Bit4BIT3bit2Bit1Bit0,分别定义如下:
位定义:
Bitx=0无警状态;Bitx=1报警状态;
ALAM位
Bit0
Bit1
Bit2
Bit3
Bit4
报警定义
保留
励磁报警
电极报警
空管报警
上限报警
ALAM位
Bit5
Bit6
Bit7
Bit8
Bit9
报警定义
下限报警
保留
保留
保留
保留
三、读参数
现场仪表的各个参数,参数编号定义如下:
读写参数时,各个参数的定义如下:
参数编号
显示文字
设置方式
默认值
1
语言选择
选择
中文
2
测量管道口径
选择
100
3
流量量程单位
选择
m3/h
4
流量量程倍率
选择
-2
5
流量量程设定
设置
28274
6
量程自动切换
选择
禁止
7
测量阻尼时间
选择
4.0S
8
流量方向选择
选择
正向
9
流量零点修正
设置
+0.000
10
小信号切除点
设置
0.5%
11
切除允许选择
选择
允许
12
变化率限制值
设置
00%
13
不敏感时间值
设置
00S
14
流量积算单位
选择
1.0m3
15
脉冲输出方式
选择
频率
16
脉冲当量选择
设置
10
17
脉冲当量单位
选择
0
18
频率输出满度
设置
2000
19
空管报警允许
选择
0
20
电极报警阀值
设置
200.0K
21
上限报警允许
选择
禁止
22
上限报警阀值
设置
90.0%
23
下限报警允许
选择
禁止
24
下限报警阀值
设置
15.0%
25
反向测量允许
选择
禁止
26
传感器系数值
设置
1.0000
27
励磁方式选择
选择
方式一
28
仪表标定系数
设置
1.0000
29
电流零点修正
设置
1.0000
30
电流满度修正
设置
1.0000
31
出厂标定系数
设置
1.0000
1)、语言选择
参数值=0:
中文
参数值=1:
英文
2)、测量管道口径选择
参数值
代表管径
参数值
代表管径
参数值
代表管径
0
3
15
200
30
1400
1
6
16
250
31
1600
2
8
17
300
32
1800
3
10
18
350
33
2000
4
15
19
400
34
2200
5
20
20
450
35
2400
6
25
21
500
36
2600
7
32
22
600
37
2800
8
40
23
700
38
3000
9
50
24
800
10
65
25
900
11
80
26
1000
12
100
27
1100
13
125
28
1200
14
150
29
1300
32)、流量量程单位选择
参数值
0
1
2
3
4
5
6
7
单位
m3/s
m3/min
m3/h
L/s
L/min
L/h
USg/m
USg/h
参数值
8
9
10
11
12
13
14
15
单位
ig/m
ig/h
t/s
t/m
t/h
kg/s
kg/min
kg/h
33)、流量量程冥指数选择
参数值=0:
0
参数值=1:
-1
参数值=2:
-2
参数值=201:
1
参数值=202:
2
参数值=203:
3
参数值=204:
4
参数值=205:
5
5)、流量量程设置:
0~65535。
34)、量程自动切换选择
参数值=0:
禁止
参数值=1:
1:
2
参数值=2:
1:
4
参数值=3:
1:
8
7)、测量阻尼时间选择
参数值
0
1
2
3
4
5
6
7
阻尼时间
0.2s
0.5s
0.8s
1.0s
2.0s
3.0s
4.0s
5.0s
参数值
8
9
10
11
12
13
14
阻尼时间
6.0s
8.0s
10.0s
20.0s
30.0s
50.0s
100.0s
8)、流量方向选择
参数值=0:
正向
参数值=1:
反向
9)、流量零点设置:
±0.000~±9.999。
设置正数时,按照设置值进行输出。
设置负数时,输出值为设置值的绝对值加上32.768。
10)、小信号切除点设置:
0~99.9%。
11)、小信号切除允许选择
参数值=0:
允许
参数值=1:
禁止
12)、变化率限制值设置:
0~29%。
13)、不敏感时间值设置:
0~19S。
14)、流量积算单位选择
参数值
0
1
2
3
4
5
6
7
单位
0.001L
0.01L
0.1L
1L
0.001m3
0.01m3
0.1m3
1m3
参数值
8
9
10
11
12
13
14
15
单位
0.001USgal
0.01USgal
0.1USgal
1USgal
0.001igal
0.01igal
0.1igal
1igal
参数值
16
17
18
19
20
21
22
23
单位
0.001kg
0.01kg
0.1kg
1kg
0.001t
0.01t
0.1t
1t
15)、脉冲输出方式选择
参数值=0:
频率
参数值=1:
脉冲
16)、脉冲当量单位选择
参数值=0:
0.01L/P
参数值=1:
0.1L/P
参数值=2:
1L/P
参数值=3:
2L/P
参数值=4:
5L/P
参数值=5:
10L/P
参数值=6:
100L/P
参数值=7:
1m3/P
参数值=8:
10m3/P
参数值=9:
100m3/P
18)、频率输出满度设置:
1~5999Hz。
19)、空管报警允许选择
参数值=0:
禁止
参数值=1:
允许
20)、电极报警阀值设置:
0~999.9KΩ。
21)、上限报警允许选择
参数值=0:
禁止
参数值=1:
允许
22)、上限报警阀值设置:
0~199.9%。
23)、下限报警允许选择
参数值=0:
禁止
参数值=1:
允许
24)、下限报警阀值设置:
0~199.9%。
25)、反向测量允许选择
参数值=0:
禁止
参数值=1:
允许
26)、传感器系数值设置:
0~3.9999。
27)、励磁方式选择
参数值=0:
方式一
参数值=1:
方式二
参数值=2:
方式三
参数值=3:
方式四
28)、仪表标定系数值设置:
0~3.9999。
29)、电流零点修正值设置:
0~1.9999。
30)、电流满度修正值设置:
0~3.9999。
31)、出厂标定系数设置:
0~3.9999。
读取仪表参数时,主机发出功能编码04:
读取保持寄存器内容。
通讯时,仪表的参数编号,分别对应保持寄存器首址的低字节。
主机发送命令格式如下:
从机地址(1Byte)+功能编码(1Byte)+保持寄存器首址(2Byte)+保持寄存器个数(2Byte)+CRC校验值(2Byte)
从机地址值范围在1-99
保持寄存器高字节全部是0,低字节范围在01~31,对应仪表参数编号。
保持寄存器个数高字节是0,低字节是1。
从机回应格式如下:
从机地址(1Byte)+功能编码(1Byte)+字节个数(1Byte)+字节内容(2Byte)+CRC校验值(2Byte)
返回的参数占2个字节,故字节个数是2。
四、改写参数
改写仪表参数时,主机发出功能编码06:
预置单寄存器值。
主机发送命令格式如下:
从机地址(1Byte)+功能编码(1Byte)+单寄存器首址(2Byte)+字节内容(2Byte)+CRC校验值(2Byte)
从机地址值范围在1-99
单寄存器高字节全部是0,低字节范围在01~37。
从机接收到命令后,将收到的数据原样传回,主机可用于校验。
从机回应格式如下:
从机地址(1Byte)+功能编码(1Byte)+单寄存器首址(2Byte)+字节内容(2Byte)+CRC校验值(2Byte)
如果设置成功,MODBUS返回的字节内容和发出去的字节内容一样。
五、安装与布线
接线图如下:
工控机或PC机通过串口连接到RS232/RS485转换器,转换器的+A、+B分别连接到各个电磁流量计。
如果是分体式电磁流量计,将RS232/RS485转换器的+A、+B分别和电磁流量计的A2、B2相连接,如果接线较长,连接的仪表较多,有必要在远端加一个100Ω-200Ω的匹配电阻。
如果是一体式电磁流量计,将RS232/RS485转换器的+A、+B分别和电磁流量计的TRX+、TRX-相连接,如果接线较长,连接的仪表较多,有必要在远端加一个100Ω-200Ω的匹配电阻。
六、通讯测试
如果您需要和我们仪表进行MODBUS通讯,我们会提供您一张光盘,上面有电磁流量计MODBUS通讯协议、测试应用程序MODBUSV1.0及通讯范例源程序(VB)。
用户在应用MODNUS之前应该仔细阅读电磁流量计MODBUS通讯协议,这样上位机才能正确的读、写电磁流量计的相关参数。
测试时,打开测试应用程序MODBUSV1.0,如下图:
如果RS232/RS485转换器输出是与多台电磁流量计相连接,首先应该注意的是:
●必须将每一台电磁流量计设置为不同的地址,地址范围是01-32。
地址如果重复,通讯很容易出错。
●记住每一台电磁流量计的通讯速度。
通讯速度的波特率包括600、1200、2400、4800、9600、14400、19200。
每一台电磁流量计的通讯速度应该尽量一致,这样操作方便,也减少了出错的几率。
连接完毕,操作如下:
如果连接的仪表中有一台仪表地址是02,通讯速度是19200,则首先在测试画面的左面,在通讯速度的列表框中选择19200,在设备地址的列表框中选择02;此时在右边的空白框中就会有数据显示。
点击显示刷新按扭,会对右边的数据进行瞬间清屏。
如果要对02号仪表的键盘参数进行读、写,可点击左边的读/写参数按扭,弹出下图:
写参数时,可在下拉列表框中选择,或在文本框中输入参数。
参数下面有提示,输入不能超过范围。
读参数时,可先点击清除按扭,刷新文本框的显示,再点击读按扭,则读上来的参数会显示在文本框中。
点击返回按扭,通讯回到流体信息显示画面。
..
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电磁 流量 转换器 MODBUS 通讯 协议