智能流量计在线检定信息采集系统设计

2016-11-15 08:33张建功
山西冶金 2016年5期
关键词:标准表串口通讯

张建功, 张 乐

(1.山西太钢哈斯科科技有限公司, 山西 太原 030100; 2.西安科技大学, 陕西 西安 710054)

智能流量计在线检定信息采集系统设计

张建功1, 张 乐2

(1.山西太钢哈斯科科技有限公司, 山西 太原 030100; 2.西安科技大学, 陕西 西安 710054)

针对流量计在线检定数字化、自动化和智能化的要求,基于RS-485通讯接口和MODBUSRTU通讯方式,设计了以PC为核心的智能流量计在线检定信息采集系统。该系统可以实时采集两台流量计的流量数据,分析表间相对误差,并将分析得到的结果输出保存为文件。初步试用的结果表明,该系统结构简单,连接方便,通讯实时性强,运行稳定,可以为流量计“标准表比对法”在线检定提供便利。

信息采集 在线检定 流量计 MODBUSRTU

科里奥利流量计可以直接测量管内流体质量流量,具有精度高、重复性好、易于维护的特点[1]。仪表智能化是目前发展的主要方向,如LZYN型质量流量计,其特点是以控制模块为核心,采用数字信号替代模拟信号,就地处理现场的测量和控制信息,通过I/O通信模块实现数据的传输。不同产品间的通讯都遵循国际标准,可以相互兼容。试验研究表明,智能流量计的精度和适应性都高于机械式流量计[2],在石油化工等工业生产领域得到了广泛的应用

流量计作为计量器械在使用时需要周期性的检定来保证其精度[3]。实验室离线检定必须中断生产过程拆卸仪表,单次检定的时间较长,对石油化工等连续生产的企业影响很大,而且离线检定的介质与实测介质一般不同,检定工况和安装条件与实际情况差异很大,很难实现准确检定,所以生产中多采用在线检定的方法[4-5]。标准表比对法在线检定中要实时监控被检表和标准表中的数据。本文针对流量计信息采集的问题,基于MODBUS RTU通讯方式,采用C#开发了PC与表间通讯软件,实现了两个流量计流量的实时采集和表间相对误差的测试分析,并能够兼容部分厂家的产品,为在线检定提供了便利。

1 在线检定系统结构

流量计一般采用RS-485串口通讯,PC利用串口可以读取流量计中的数据[6]。流量计与PC间通过双绞线经过usb/RS-485转换接口连接。两台流量计各自独立占用一个串口,PC通过轮询的方式分别访问两台设备。

如图1所示的通讯系统结构与管线连接,标准表法检定[7]是在被检定流量计管线中串联一个标准流量计,当管道内流体稳定流动时,流经两个流量计的流量是相等的。比较两台流量计的读数,可以求得被检流量计相对于标准流量计的误差,据此修改被检定流量计的流量系数。

图1 通讯系统与管线连接示意图

2 通讯协议

PC与流量计间遵循MODBUS RTU通讯方式[8-10]。某流量计的通讯帧结构如表1所示,每一位是8位2进制字符,可以转换成16进制等量数值。PC端发送请求消息,流量计接收到消息后,如果CRC校验无误,则按照功能码,响应返回请求的数据。这里使用功能码04,功能是读16位整型变量或浮点型变量数据。流量计中通讯数据帧最大长度为1 Byte地址+253Byte数据+2ByteCRC校验=256Byte。

表1 帧结构示意(读取质量流量)

3 信息采集系统的实现

根据功能需求软件总体分为串口通讯模块、MODBUS协议处理模块和数据转换模块三部分。串口通讯模块承担了指令发送和信息接收功能,是采集系统的核心。

3.1 C#串口通讯

3.1.1 串口通讯方法的定义

C#实现串口通讯功能的命名空间是System.IO. Ports,主要通过SerialPort类中对应的方法实现串口对象的创建,串口通讯参数的设置、串口的读写和接收。串口操作集中定义在串口操作类SerialPortOperation中,功能函数的定义如表2所示。

表2 SerialPortOperation类中函数功能定义

CheckCOM方法可以获得全部可用的串口,从中确定通讯使用的具体端口。在SerialPort实例化后,通过SetPortProperty方法可以设置通信的具体参数PortName(端口名)、BaudRate(波特率)、StopBits(停止位)、DataBits(数据位)、Parity(奇偶校验位),并检查数据设置的准确性。SendData和RecvData分别完成数据的发送和接收,其中需要利用数据转换模块将“string”格式的指令字符串转化为“byte[]”用于发送和接收。

3.1.2 多线程通讯

通讯类程序执行过程中,在完成用户交互操作任务的同时,还需要扫描指定的端口,确定是否有信息返回。如果信息不能及时返回,进程就会堵塞,用户就需要等待直至有信息返回后才能进行操作。为了保证程序正常的交互操作和稳定运行,就需要将主线程从循环扫描中脱离出来,新建一个信息处理线程完成信息的接收和处理。多线程操作通过System.Threading命名空间中的Thread类实现。

串口通讯实现的具体流程如图2所示。先定义SerialPort串口对象,再调用SetPortProperty方法。完成参数设置后,使用SerialPort类中的Open方法打开串口。用Thread类创建新线程,循环扫描判断串口是否返回数据,按照指定的格式创建信息发送帧,加入CRC校验码后发送,并在界面上提示串口工作状态。当接收线程收到返回的数据后通讯结束。

图2 串口通讯示意图

3.1.3 CRC校验

CRC校验算法的实现方式有公式法和查表法两种。由于通讯的字节数是固定的,软件系统中采用的又是查表法,这样就不需要计算,节省了通讯时间。

3.2 信息格式的转换

串口信息收发、界面数据显示和信息帧提取出的数据采用的数据格式不同,定义的数据转换类DataConvert处理信息输入和数据收发中存在的数据格式(如string→byte[])、进制(2进制→16进制)和字节字符与浮点数间的转换。

虽然不同厂家的流量计通讯都支持MODBUS RTU方式,但具体的通讯协议却有差别。根据生产中使用的流量计,定义了协议处理模块,在监控流量计数据时可以按照设定的厂家协议来处理发送帧和接受帧中的信息。

3.3 信息的存储

由于实时通讯中两台流量计分别占用两个独立的串口,不存在端口共用的问题,所以程序中创建了两个线程,分别采集两个流量表数据。返回的数据也分别记录在独立划分的存储空间内,保证每个表的数据与唯一的线程对应,将两台流量计与PC间的通讯独立开,避免串口间通讯的干扰,保证数据采集的准确性。

3.4 表间误差分析

管道内液体的流量不是恒定不变的,两个表间的误差不能以某个时间点的误差来决定,采用的是均值相对误差:

式中:q标是标准表的平均流量;q检是被检表的平均流量。

两个表的平均流量通过测试的方法获得。测试时按照Δt时间间隔,采集n次标准表和被检表的流量,依据公式(2)可求得流量计的平均流量。

式中:q为平均流量;qi为某个时间点采集的流量值;n为采集次数。

采集系统软件运行如图3所示。在检定测试中,实时流量、测试得到的平均流量和相对误差将显示在界面上。串口返回数据的精度高于界面显示精度。流量测试的数据、计算得到的相对误差、液体密度和温度等信息可以一起被输出保存为EXCEL文档。

图3 采集系统监控流量与误差计算

4 结语

基于C#.NET的平台软件开发效率高,节省了研发周期,有利于技术的应用与推广;以智能流量计RS-485串口通讯开发流量计信息采集系统,实现简单,信息传输可靠性高;采用MODBUS RTU方式,技术成熟,通讯兼容性强。这三方面优势相综合,易于实现多线程串口通讯,保证数据采集的实时性,为流量计在线检定提供便利。前期试用的情况表明,该软件系统的功能可以满足现场流量计在线检定的需要。

[1] 蔡武昌.流量仪表应用和发展若干动态[J].自动化仪表,2006,27(7):1-7.

[2] 侯亚平,何有和,吴勇,等.智能流量计在油田生产中的应用[J].工业计量,2000(S1):251-252.

[3] 杨海宏.质量流量计在线检定[J].化工技术与开发,2013,42(11):70-72.

[4] 蔡武昌.电磁流量计和超声流量计在线验证[J].自动化仪表,2008,28(4):1-4.

[5] 张成敏,徐华,徐业峰.浅谈电磁流量计在线检定的应用[J].自动化仪表,2011,32(12):79-82.

[6] 杨海鹏,戴波.石油化工厂实时数据采集系统的设计[J].江南大学学报,2014,13(6):698-704.

[7] 朱振国,张红霞,范民,等.油田开发用水计量器具量值溯源的探讨[J].长江大学学报(自然科学版),2010,7(2):66-69.

[8] 安子良,肖立中,孔令超.基于MODBUS RTU通信协议的石油井架应力监测系统[J].中国测试,2011,37(6):72-75

[9] 刘笃喜,徐修明,许建社,等.Modbus协议在分布式伺服测角系统中的应用[J].机床与液压,2007,35(1):157-179.

[10] 莫同鸿,李雪辉,鄢伶俐,等.MODBUS通讯协议在油田污水处理设备上的应用[J].石油机械,2011,39(9):69-69.

(编辑:胡玉香)

The Design of Data Collection System for On-line Calibration of Intelligent Flowmeter

ZHANG Jiangong1,ZHANG Le2
(1.Hasike Technology Co.,Ltd.of Taigang Co.,Ltd.,Taiyuan Shanxi 030003;2.Xi'an University of Science&Technology,Xi'an Shaanxi 710054)

In view of the requirement of digitization,automation and intelligence,the information collection system was designed,taking PC as the core,based on RS-485 and MODBUS RTU communication,which was used for on-line calibration of intelligent flowmeter.The system could collect data of two flowmeters in real time,analyze the relative error and save the data and analysis as a file.Preliminary trial results show that the system had a simple structure easy to connect to communicate in real time stably.It is convenient for the application of the standard meter comparison method to online calibration of the instrument.

information collection,on-line calibration,flowmeter,MODBUS RTU

TH814

A

1672-1152(2016)05-0099-03

10.16525/j.cnki.cn14-1167/tf.2016.05.35

2016-08-25

张建功(1976—),男,2004年毕业于太原理工大学机械设计制造及其自动化专业,学士学位,助理工程师,主要从事钢渣处理生产技术及设备管理工作。张乐(1983—),男,2011年毕业于北京理工大学机械电子工程专业,博士学位,讲师,主要从事流体机械及测试技术研究工作。

猜你喜欢
标准表串口通讯
《茶叶通讯》简介
《茶叶通讯》简介
通讯报道
浅谈AB PLC串口跟RFID传感器的通讯应用
尤溪县马尾松人工林标准表制定的研究
通讯简史
一种适用于双标准表检定系统的接线装置
一款基于18位ADC的高准确度三相标准表的设计
数字电源内部数据传输的串口通信方法实现
USB接口的多串口数据并行接收方法探索