您现在的位置: 网站首页 >  新闻资讯 > 技术文章

采用串口方式基于Modbus协议进行数据通讯的电磁流量计在污水流量计量中的应用

采用串口方式基于Modbus协议进行数据通讯的电磁流量计在污水流量计量中的应用污水处理厂对电磁流量计这种计量比较准确的仪表逐渐推广和普及。在传统的污水处理厂的自动化监控及信息集成系统中,电磁流量计采用 4-20mA(传送模拟量信息)或 24VDC(传送开关量信息)信号进行通讯传输,很多现场层流量计与控制器之间的连接是一对一(一个 I/O点对设备的一个测控点)所谓 I/O接线方式。但是这样的系统存在一些明显的缺点,那就是信息集成能力不强;系统不开放、可集成性差、专业性不强;可靠性不易保证;可维护性不高等。
如果现场层设备配有串行数据接口(如 RS-232/485),控制器就可以按接口规定协议,通过串行通信方式(而不是 I/O方式)完成对现场设备的监控。 [1]如果设想全部或大部分现场设备都具有串行通信接口并具有统一的通信协议,控制器只需一根通信电缆就可将分散的现场设备连接,完成对所有现场设备的监控,这就是所说的采用现场总线技术。 
1 Modbus协议在电磁流量计通讯中实现的简介
目前,污水处理厂所用的电磁流量计大部分都配有串行数据接口(如 RS-232/485),并且接口支持 MODBUS总线协议。一般电磁流量转换器 MODBUS通讯采用标准 MODBUS通讯协议,MODBUS模块和上位机进行通讯的波特率为 600 – 19200,波特率设备地址可以通过键盘进行设置。通讯由主机发起,主机首先发送消息帧,消息帧的发送间隔必须大于 3.5个以上字符的发送时间。 [2]消息帧发送的第一个字节是设备地址,从设备不断的侦测网络总线当接收到第一个字节,每一个设备都进行解码以判断是否是发往自己的消息帧;接收到一个字符之后,如果停顿时间超过 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在电磁流量转换器上的应用,在 MODBUS的功能码中,不同公司采用不同的方式实现,有的公司只用了 3个功能码:03、 
04、06。 03号功能码主要用来读取流量信息,包括瞬时流量、流速、流量百分比、电极电阻、正向累计、反向累计、仪表口径、报警状态等;04号功能码用来读取键盘参数,06号功能码用来设置键盘参数。 
   2基于 Modbus协议的电磁流量计信息读取
   在污水处理厂和运行泵站中作为污水流量计量的仪表,智能电磁流量计信息的读取就显得异常重要。现场仪表的流量信息,由瞬时流量、流速、百分比、报警状态等参数进行反映,参数存放地址如下表:
参数存放首址参数定义数据长度 01瞬时流量 3 04流速 3 07百分比 3 10空管电阻 3 13正向累计 3 16反向累计 3 19仪表口径 3 22报警状态 3
定义如下:读取流量信息时,主机发出功能编码 03:读取输入寄存器值。参数存放首址对应输入寄存器首址的低字节。主机发送命令格式如下:
从机地址 (1Byte) +功能编码 (1Byte) +输入寄存器首址 (2Byte) +输入寄存器个数 (2Byte) + CRC校验值 (2Byte),从机地址值范围在 199;
输入寄存器高字节全部是 0,低字节范围在 01~09,对应上面表格中参数存放首址。输入寄存器个数高字节是 0,低字节是 3,从机回应格式如下:
从机地址 (1Byte) +功能编码 (1Byte) +读出的字节个数(1Byte) +字节内容 (6Byte) + CRC校验值 (2Byte),返回的参数占 6个字节,故字节个数是 6。
注:读取流量信息时,对瞬时流量、流速、百分比、报警状态等参数,用户可以分别读取,即一次只读取一个参数。用户也可以一次性读取所有的 8个参数或一次读取其中的几个参数。读出的流量信息有两种表示方法:整形数表示法和浮点数表示法。如没有特殊声明,仪表一般采用整形数据进行传输。
详细信息结构定义如下: 
   1)瞬时流量信息定义主机发送:01H03H00H01H00H03H54H0BH从机响应: 
01H03H06HD0D1D2D3D4D5CRC16低CRC16高431 
如果数据以整形数格式进行传输,则 D0、D1代表瞬时流量整数部分的高 4位(16进制), D2、D3代表瞬时流量整数部分的低 4位(16进制), D4、D5代表瞬时流量小数部分值(16进制)。 
   2)流速信息定义主机发送:01H03H00H04H00H03H44H0AH从机响应:
01H03H06HD0D1D2D3D4D5CRC16低CRC16高如果数据以整形数格式进行传输,则 D0、D1代表流速整数部分的高 4位(16进制), D2、D3代表流速整数部分的低 4位(16进制), D4、D5代表流速小数部分值(16进制)。 
   3)正向总量信息定义主机发送:01H03H00H0DH00H03H94H08H从机响应:
01H03H06HD0D1D2D3D4D5CRC16低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 
举例说明如下:
如接收到的数据是
01H04H06H00H22H16430C84686B则 0022(16进制)=34(十进制)
则 1643(16进制)=5699(十进制)
则 0C84(16进制)=3204(十进制)
则数据可表示为 34569932,04是小数点位数,查表为 0.001m3,故实际数据为 34569.932m3。 
   4)反向总量信息定义
   主机发送:01H03H00H10H00H03H04H0EH从机响应:
01H03H06HD0D1D2D3D4D5CRC16低CRC16高数据表示方法和正向总量一样。 
   5)报警状态信息定义主机发送:01H03H00H16H00H03HE4H0FH从机响应:
01H03H06HD0D1D2D3D4D5CRC16低CRC16高432 
如果数据以整形数格式进行传输,则 D2、D3代表报警状态整数值(十六进制 ),D0、D1、D4、D5保留。报警状态的值范围不会超过 1024,用二进制位表示为:Bit9 Bit8 Bit7 Bit6 Bit5 Bit4 BIT3 bit2 Bit1 Bit0,分别定义如下:位定义:Bitx= 0无警状态;Bitx= 1报警状态; 
ALAM位 Bit0 Bit1 Bit2 Bit3 Bit4报警定义保留励磁报警电极报警空管报警上限报警 ALAM位 Bit5 Bit6 Bit7 Bit8 Bit9报警定义下限报警保留保留保留保留 
   3 基于 Modbus协议的电磁流量计参数读取
   基于 Modbus协议的电磁流量计在进行参数读取时,可以先定义
参数编号显示文字设置方式默认值 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 
现场仪表的各个参数,参数编号定义如下:
3.1 语言选择参数值 =0:中文参数值 =1:英文3.2流量量程设置 :0~65535。    4电磁流量计 
   Modbus通讯的安装与布线
电磁流量计按照 RS-485串口方式进行布线和连接,按照下图方式进行连接:
电磁流量计 MODBUS通讯接线图
工控机或 PC机通过串口连接到 RS232/RS485转换器,转换器的+A、+B分别连接到各个电磁流量计。
如果是分体式电磁流量计,将 RS232/RS485转换器的 +A、+B分别和电磁流量计的 A2、B2相连接,如果接线较长,连接的仪表较多,有必要在远端加一个 100Ω-200Ω的匹配电阻。
如果是一体式电磁流量计,将 RS232/RS485转换器的 +A、+B分别和电磁流量计的 TRX+、TRX-相连接,如果接线较长,连接的仪表较多,有必要在远端加一个 100Ω-200Ω的匹配电阻。 
   5电磁流量计的 Modbus通讯测试
   如果用户需要和现场仪表进行 MODBUS通讯,可以安装测试程序进行测试,利用测试应用程序 MODBUSV1.0及通讯范例源程序(VB)进行通讯测试。
用户在应用 MODNUS之前应该仔细阅读电磁流量计 MODBUS通讯协议,这样上位机才能正确的读、写电磁流量计的相关参数。测试时,打开测试应用程序 MODBUSV1.0,如下图:
如果 RS232/RS485转换器输出是与多台电磁流量计相连接,首先应该注意的是: 
1)必须将每一台电磁流量计设置为不同的地址,地址范围是 0132。地址如果重复,通讯很容易出错。 2)记住每一台电磁流量计的通讯速度。通讯速度的波特率包括 600、1200、2400、4800、9600、14400、19200。每一台电磁流量计的通讯速度应该尽量一致,这样操作方便,也减少了出错的几率。连接完毕后,操作如下:
如果连接的仪表中有一台仪表地址是 02,通讯速度是 19200,则首先在测试画面的左面,在通讯速度的列表框中选择 19200,在设备地址的列表框中选择 02;此时在右边的空白框中就会有数据显示。点击显示刷新按扭,会对右边的数据进行瞬间清屏。
如果要对 02号仪表的键盘参数进行读、写,可点击左边的读 /写参数按扭,弹出下图:
写参数时,可在下拉列表框中选择,或在文本框中输入参数。参数下面有提示,输入不能超过范围。 
目前中国对于环境治理的重视程度日益增强,其中污水处理是重中之重,在污水流量计量中起到关键作用的流量计就显得非常重要,为了保证计量数据的稳定性、可靠性和精确性,采用串口方式基于 Modbus协议进行数据通讯的优势就尤为突出。这种串口通讯方式,必将在今后污水处理厂的自动化系统和信息集成系统中,应用的更加广泛。
点击次数:  更新时间:2017-05-06 14:21:29  【打印此页】  【关闭