电磁流量转换器MODBUS--通讯协议V1.0

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

电磁流量转换器MODBUS通讯说明书
2012-7-26
目录
1 .概述 (2)
2 .读流量信息 (3)
2.1 流量信息参数存放地址定义 (3)
2.2 读取流量信息指令格式 (3)
2.3详细信息结构定义 (3)
3.读参数 (6)
3.1仪表内部菜单参数信息定义 (6)
3.2读取仪表菜单参数指令格式 (7)
3.3字节内容对应的参数详细说明 (7)
3.4读取参数设置举例 (10)
4.改写参数 (10)
4.1改写仪表菜单参数指令格式 (10)
4.2 累计总量清零指令格式 (10)
4.3 改写参数举例 (11)
5.安装与布线 (11)
6.通讯测试 (11)
1.概述
在传统的自动化监控及信息集成系统中,很多现场层设备与控制器之间的连接是一对一(一个I/O点对设备的一个测控点)所谓I/O接线方式,信号传递通常是采用4-20mA(传送模拟量信息)或24VDC(传送开关量信息)信号。

但是这样的系统存在一些明显的缺点,那就是信息集成能力不强;系统不开放、可集成性差、专业性不强;可靠性不易保证;可维护性不高等等。

如果现场层设备配有串行数据接口(如RS-232/485),控制器就可以按接口规定协议,通过串行通信方式(而不是I/O方式)完成对现场设备的监控。

如果设想全部或大部分现场设备都具有串行通信接口并具有统一的通信协议,控制器只需一根通信电缆就可将分散的现场设备连接,完成对所有现场设备的监控,这就是所说的采用现场总线技术。

我公司的电磁流量计都配有串行数据接口(如RS-232/485),根据总线协议的不同,用户可以选择不同通讯功能的电磁流量计。

目前,我公司开发了多种采用485总线协议的通讯,包括带MODBUS总线协议的通讯、带PROFIBUS-DP接口的通讯、带HART总线协议的通讯及自定义的、带MBmagCP V1.0协议的485/232通讯。

Modbus协议是由MODICON公司为其控制器设计的一种可靠而有效的工业控制系统通信协议。

从功能上看,是一种现场总线。

Modbus协议定义了消息域格式和内容的公共格式,使控制器能认识和使用消息结构,而无需考虑通信网络的拓扑结构,它描述了一个控制器访问其它设备的过程。

当采用Modbus协议通信时,此协议规定每个控制器需要知道自己的设备地址,识别按地址发来的消息,如何响应来自其它设备的请求,如何侦测错误并记录。

其数据通讯采用主—从方式,主机只能有1台,每个从机都有指定的地址,地址范围在0~247之间(其中0为广播地址),只有主机具有主动权,从机只能对主机发送的命令作出响应。

当主机端发出数据请求消息(查询)时,从机端接收到正确消息后就可以发送数据到主机端以响应请求;主机端也可以直接发消息修改从机端的数据,实现读和写。

查询—回应周期如图1。

如果采用广播方式(地址为0)查询,从机不作任何回应
我公司电磁流量转换器MODBUS通讯采用标准MODBUS通讯协议,MODBUS模块和上位机进行通讯的波特率为600 – 19200,波特率设备地址可以通过键盘进行设置。

通讯由主机发起,主机首先发送消息帧,消息帧的发送间隔必须大于3.5个以上字符的发送时间。

消息帧发送的第一个字节是设备地址,从设备不断的侦测网络总线当接收到第一个字节,每一个设备都进行解码以判断是否是发往自己的消息帧;接收到一个字符之后,如果停顿时间超过3.5个以上字符的发送时间,标志着前一个消息帧发送结束,一个新的消息帧在此停顿后开始。

字符间隔不能大于一个字符,否则认为是一条新的消息帧开始,老的消息帧结束。

消息帧定义如下:
Modbus通讯协议规定了2种通讯方式。

RTU(REMOTE TERMINAL UNIT)方式通讯采用8位字节的二进制数据通讯,数据校验采用CRC循环冗余校验,通讯速度较快;ASCII方式采用7位ASCII码进行通讯,数据校验采用LRC逻辑冗余校验,通讯速率较慢。

目前,我公司的Modbus通讯只是采用的RTU模式。

针对MODBUS在电磁流量转换器上的应用,在MODBUS的功能码中,我公司只用了3个功能码:03、04、06。

03号功能码主要用来读取流量信息,包括瞬时流量、流速、流量百分比、电极电阻、正向累计、反向累计、仪表口径、报警状态等;04号功能码用来读取键盘参数,06号功能码用来设置键盘参数。

2.读流量信息
2.1 流量信息参数存放地址定义
现场仪表的流量信息,由瞬时流量、流速、百分比、报警状态等参数进行反映,参数存放地址定义如下:
2.2读取流量信息指令格式
读取流量信息时,主机发出功能编码03:读取保持寄存器值。

参数存放首址对应输入寄存器首址的低字节。

主机发送命令格式如下:
从机地址(1Byte) + 功能编码(1Byte) + 输入寄存器首址 (2Byte) + 输入寄存器个数(2Byte) + CRC校验值(2Byte)
从机地址值范围在1-99;输入寄存器高字节全部是0,低字节范围在0-22(01H~16H),对应上面表格中参数存放首址;输入寄存器个数高字节是0,低字节是3
从机回应格式如下:
从机地址(1Byte) + 功能编码(1Byte) + 读出的字节个数(1Byte) + 字节内容(6Byte) + CRC校验值(2Byte)
返回的参数占6个字节,故字节个数是6。

注:读取流量信息时,对瞬时流量、流速、百分比、报警状态等参数,用户可以分别读取,即一次只读取一个参数。

用户也可以一次性读取所有的8个参数或一次读取其中的几个参数。

2.3详细信息结构定义
读出的流量信息有两种表示方法:整形数表示法和浮点数表示法。

如没有特殊声明,仪表采用整形数据进行传输。

详细信息结构定义如下:
2.3.1 瞬时流量信息定义
如果数据以整形数格式进行传输,则D0、D1代表瞬时流量整数部分的高4位(16进制),D2、D3代表瞬时流量整数部分的低4位(16进制),D4、D5代表瞬时流量小数部分值(16进制),四位小数。

2.3.2 流速信息定义
如果数据以整形数格式进行传输,则D0、D1代表流速整数部分的高4位(16进制),D2、D3代表流速整数部分的低4位(16进制),D4、D5代表流速小数部分值(16进制)。

2.3.3 流量百分比信息定义
如果数据以整形数格式进行传输,则D0、D1代表百分比值整数部分的高4位(16进制),D2、D3代表百分比值整数部分的低4位(16进制),D4、D5代表百分比值小数部分值(16进制)。

2.3.4 电极电阻信息定义
如果数据以整形数格式进行传输,则D0、D1代表电极电阻整数部分的高4位(16进制),D2、D3代表电极电阻整数部分的低4位(16进制),D4、D5代表电极电阻小数部分值(16进制)。

2.3.5 正向总量信息定义
D2、D3由16进制转换成10进制X4X5X6X7,将D4、D5由16进制转换成10进制X8X9X10X11,数据由X0X1X2X3X4X5X6X7X8X9组成,小数点位置和累计单位由X10X11决定。

如接收到的数据是
则0022(16进制)=34(十进制)
则1643(16进制)=5699(十进制)
则0C84(16进制)=3204(十进制)
则数据可表示为34569932,04是小数点位数,查表为0.001m3,故实际数据为34569.932m3。

2.3.6 反向总量信息定义
2.3.7 仪表口径信息定义
如果数据以整形数格式进行传输,则D0、D1代表仪表口径整数部分的高4位(16进制),D2、D3代表仪表口径整数部分的低4位(16进制),D4、D5代表仪表口径小数部分值(16进制)。

2.3.8 报警状态信息定义
如果数据以整形数格式进行传输,则D2、D3代表报警状态整数值(十六进制),D0、D1、D4、D5保留。

报警状态的值范围不会超过1024,用二进制位表示为:Bit9 Bit8 Bit7 Bit6 Bit5 Bit4 BIT3 bit2 Bit1 Bit0,分别定义如下:
3. 读参数
3.1 仪表内部菜单参数信息定义
3.2 读取仪表菜单参数指令格式
读取仪表参数时,主机发出功能编码04:读取输入寄存器内容。

通讯时,仪表的参数编号,分别对应保持寄存器首址的低字节。

主机发送命令格式如下:
从机地址(1Byte) + 功能编码(1Byte) + 保持寄存器首址 (2Byte) + 保持寄存器个数(2Byte) + CRC校验值(2Byte)
从机地址值范围在1-99
保持寄存器高字节全部是0,低字节范围在01~31,对应仪表参数编号。

保持寄存器个数高字节是0,低字节是1。

从机回应格式如下:
从机地址(1Byte) + 功能编码(1Byte) +字节个数 (1Byte) + 字节内容(2Byte) + CRC校验值(2Byte)
返回的参数占2个字节,故字节个数是2。

3.3 字节内容对应的参数详细说明
3.3.1 语言选择
参数值=0 :中文
参数值=1 :英文
3.3.2 测量管道口径选择
3.3.3 流量量程单位选择
3.3.4 流量量程冥指数选择
参数值=0 :0
参数值=1 :-1
参数值=2 :-2
参数值=201 :1
参数值=202 :2
参数值=203 :3
参数值=204 :4
参数值=205 :5
3.3.5 流量量程设置:0~65535。

3.3.6量程自动切换选择
参数值=0 :禁止
参数值=1 :1:2
参数值=2 :1:4
参数值=3 :1:8
3.3.7 测量阻尼时间选择
3.3.8 流量方向选择
参数值=0 :正向
参数值=1 :反向
3.3.9 流量零点设置
参数范围:±0.000~±9.999。

设置正数时,按照设置值进行输出。

设置负数时,输出值为设置值的绝对值加上32.768。

3.3.10 小信号切除点设置
参数范围: 0~99.9%。

3.3.11 小信号切除允许选择
参数值=0 :允许
参数值=1 :禁止
3.3.12 变化率限制值设置
参数范围: 0~29%。

3.3.13 不敏感时间值设置
参数范围: 0~19S。

3.3.14 流量积算单位选择
3.3.15 脉冲输出方式选择
参数值=0 :频率
参数值=1 :脉冲
3.3.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
3.3.17 脉冲当量保留
3.3.18 频率输出满度设置
参数范围: 1~5999Hz。

3.3.19 空管报警允许选择
参数值=0 :禁止
参数值=1 :允许
3.3.20 电极报警阀值设置
参数范围: 0~999.9KΩ。

3.3.21上限报警允许选择
参数值=0 :禁止
参数值=1 :允许
3.3.22上限报警阀值设置
参数范围: 0~199.9%。

3.3.23 下限报警允许选择
参数值=0 :禁止
参数值=1 :允许
3.3.24 下限报警阀值设置
参数范围: 0~199.9%。

3.3.25 反向测量允许选择
参数值=0 :禁止
参数值=1 :允许
3.3.26 传感器系数值设置
参数范围: 0~3.9999。

3.3.27 励磁方式选择
参数值=0 :方式一
参数值=1 :方式二
参数值=2 :方式三
参数值=3 :方式四
3.3.28 仪表标定系数值设置
参数范围: 0~3.9999。

3.3.29 电流零点修正值设置
参数范围: 0~1.9999。

3.3.30 电流满度修正值设置
参数范围: 0~3.9999。

3.3.31 出厂标定系数设置
参数范围: 0~3.9999。

3.4 读取参数设置举例
现要读取菜单参数的口径,则主机发送的命令应为:01 04 00 02 00 01 90 0A
从机回应:01 04 02 00 0C B9 35。

0C十进制为12。

查口径参数表参数值为12代表的口径是100,则仪表内部口径为100。

4. 改写参数
4.1 改写仪表菜单参数指令格式
改写仪表参数时,主机发出功能编码06:预置单寄存器值。

主机发送命令格式如下:
从机地址(1Byte) + 功能编码(1Byte) + 单寄存器首址 (2Byte) +字节内容(2Byte) + CRC 校验值(2Byte)
从机地址值范围在1-99
单寄存器高字节全部是0,低字节范围在01~37。

从机接收到命令后,将收到的数据原样传回,主机可用于校验。

从机回应格式如下:
从机地址(1Byte) + 功能编码(1Byte) + 单寄存器首址 (2Byte) +字节内容(2Byte) + CRC 校验值(2Byte)
如果设置成功,MODBUS返回的字节内容和发出去的字节内容一样。

4.2 累计总量清零指令格式
仪表累计总量清零使用功能编码06:预置单寄存器。

主机发送命令格式:
从机地址(1Byte) + 功能编码(1Byte) + 单寄存器首址 (2Byte) +字节内容(2Byte) + CRC 校验值(2Byte)
从机地址值范围在1-99
单寄存器高字节全部是0,低字节37(25H)。

字节内容为累计总量清零密码:36666(8FH 3AH),发送时高低字节在前,高字节在后即3A 8F。

从机回应格式如下:
从机地址(1Byte) + 功能编码(1Byte) + 单寄存器首址 (2Byte) +字节内容(2Byte) + CRC 校验值(2Byte)
如果设置成功,MODBUS返回的字节内容应和发出去的字节内容一样。

4.3 改写参数举例
如要进行总量清零,主机发送: 01 06 00 25 3A 8F CB 05
从机应回应:01 06 00 25 3A 8F CB 05。

同时仪表内部的累计总量变为0。

5. 安装与布线
接线图如下:
工控机或PC机通过串口连接到RS232/RS485转换器,转换器的+A、+B分别连接到各个电磁流量计。

如果是分体式电磁流量计,将RS232/RS485转换器的+A、+B分别和电磁流量计的A2、B2相连接,如果接线较长,连接的仪表较多,有必要在远端加一个100Ω-200Ω的匹配电阻。

如果是一体式电磁流量计,将RS232/RS485转换器的+A、+B分别和电磁流量计的TRX+、TRX-相连接,如果接线较长,连接的仪表较多,有必要在远端加一个100Ω-200Ω的匹配电阻。

6. 通讯测试
如果您需要和我们仪表进行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号仪表的键盘参数进行读、写,可点击左边的读/写参数按扭,弹出下图:
写参数时,可在下拉列表框中选择,或在文本框中输入参数。

参数下面有提示,输入不能超过范围。

读参数时,可先点击清除按扭,刷新文本框的显示,再点击读按扭,则读上来的参数会显示在文本框中。

点击返回按扭,通讯回到流体信息显示画面。

.。

相关文档
最新文档