矿区天然气计量监控管理系统改造设计及实现
四川大学电气信息学院自动化系 郑宏
四川大学自动化系 叶思敏
四川华汉科技工程公司 孙涛,李勤波,胡豫庆
【摘要】简要介绍了用计算机及现代通讯网络实现矿区天然气计量监控管理自动化的特点。结合工程实际,详细阐述了改造一套天然气计量管理系统的系统设计、硬件选型,包括高性能工空机、智能流量积算仪、各种变送器、MODEM等;模块化的软件设计,并给出了工控机数据采集和数据上传信息中心网络的核心程序。该系统已在川西南矿区投入运行。
关键词:计量监控管理系统,硬件选型,软件设计
矿区天然气流量计量是天然气工业中关键热工参数的测量。正确地选择测量方法与合理地设计计量系统,将直接关系到能源的合理分配与企业的经济效益。为此,我们针对天然气工业的特点,结合川西南矿区的实际,将原来的双波纹管人工计量系统改造成了计算机自动计量管理系统,并在该系统中采用了现代计算机及网络通讯技术,不但提高了计量精度,而且大大地提高了工作效率。同时,系统的可靠性和安全性也比原来大大提高。
1 系统设计
1.1 系统设计特征及目标
本系统的主要功能是实现矿区天然气计量及管理的自动化,因此系统的核心为计量和管理两部分。其中计量系统采用两级体系,智能积算仪可以在上位机不能正常工作时单独计量,工控机既可以计量,但更主要用于监控和管理。 这种体系结构比传统的单级结构具有更高的可靠性和灵活性。同时,系统采用以MSU2964单片机为主芯片的天然气智能流量指示积算仪为前端计量仪,其精度高,稳定可靠,计量误差可达到±0.5%。
充分利用现代计算机与网络通讯技术,实现数据上传,信息共享。高性能工控机作为监控及管理机,可靠性高,抗干扰性强,可扩展性好,软件人机界面友好。
1.2 系统拓扑结构图如图1。
1.3 系统工作原理
现场各节流装置将流量大小转化为差压的变化,经差压变送器送至天然气流量仪,流量仪根据差压和气流静压(压力变送器)、温度等信号,通过预先设置的有关参数,按照计量标准(SY/T6143-1996)中规定的计算流量的数学模计算出与之对应的天然气的瞬时流量和累计流量。监控台的工控机通过RS485采集各流量仪的计量数据并保存到本机数据库中。这样一来,操作人员就可实时动态地了解和掌握生产情况。各生产数据还由工控机上传至矿区信息中心并保存到服务器数据库中,供矿区MIS系统的需要。
图1 系统拓扑结构图
2硬件选型
2.1节流装置:选用5719厂生产的精密孔板阀,因该阀具有不停气拆卸孔板,测量精度高等特点。
2.2温度变送器、差压变送器和压力变送器:均选用川仪横河EJA防爆系列,该系列测量精度高,安装使用方便,且安全防爆,稳定可靠。测温元件采用PT100热电偶。
2.3安全栅及电源:用安全栅来限制控制室仪表中的高电压,高电流能量串入现场,构成安全火花防爆系统。SFY系列电源箱为现场仪表提供工作电源。
2.4天然气流量积算仪:以MSU296416P单片机为主芯片的天然气智能流量指示积算仪是专门为天然气流量测量而研制的。其精度高,稳定可靠,符合SY/T6143-96标准。并且其模块化的设计保证了当计量标准改变时,只需更换部分模块即可按新标准完成计量工作。
2.5配气站监控台计算机:选用工业控制机,可靠性高,抗干扰性强,可扩展性好,人机界面友好。
2.6调制解调器:选用56kbps的联想防雷MODEM,系统通过MODEM利用矿区通讯电话线将各计量数据加密后上传至矿区信息中心。
3软件设计
3.1 开发工具及环境
采用VB6.0为开发工具,WINDOWS 2000操作系统,SQL Server 7.0为本地数据库。
3.2 软件结构图如图2。
3.3 软件部分功能介绍
该软件系统的设计采用了结构化、模块化的设计。程序结构清晰,可扩充性好,易读性强。便于管理与维护。每部分的基本功能简述如下:
数据采集子系统:工控机将采集到的各计量数据:差压、压力、温度、瞬间流量、累计流量加上生产时间存入本机数据库。报警安全值设定:压力、压差、温度、流量、流量变化速度等。每个参数均有上、下限报警。一旦报警发生,报警事件记录在报警数据库,记录报警点,报警性质(上、下限),时间、当班操作人员,并可立即打印。
数据显示子系统:显示集配站工艺流程图,并在工艺流程图相应位置动态显示各工艺参数。工艺参数包括:压力、差压、温度、流量、流量加速度等。可冻结数显屏幕,供用户分析。显示刷新周期3-5秒可调。既能快速反映流量真实值,又不影响操作人员的查看。可在一个窗口内显示全站各计量点状况。
天然气流量自动检测系统
图2 软件结构图
数据查询与打印子系统:可查询小时报表,日报表,月报表,年报表并打印。查询各工况参数趋势图,并打印。查询某段时间内的报警信息。可生成某段时间的历史趋势图,重新计算某日总产量,生成各类报表并打印。
数据管理子系统:包括数据维护,系统能对各数据库进行定期备份,以避免数据意外丢失;计量数据缺失的处理,正常供气时因断电、仪检、清洗检查节流装置等原因可能造成计量数据缺失,能进行按规定正确补偿;设备管理,其中又包括仪表检定,当某一路处于仪表检定状态时,对该路信号作历史保存,但不进行流量累计,仪表检定时,对其它路信号无影响;设备档案管理,记录并保存计量有关基本参数及变更情况,变更时间、变更前后的有关参数等;系统数据访问权限的设置,对系统进行分级权限管理。设系统管理员和操作员两级,他们只能执行系统允许的操作,以确保系统数据安全。
数据传输子系统:将各数据加密后,通过MODEM及电话线上传至矿区信息中心,完成和矿区MIS系统的有机结合。
3.4 MIS系统
接收各个输配气站天然气的送气量(气量损失、气量累计)、温度、压力、压差、流量变化数据,对各个输配气站天然气的气量(气量损失、气量累计)、温度、压力、压差、流量变化数据进行实时查询分析,对各个输配气站天然气日报,月报,年报进行汇总,对各个输配气站天然气当前数据和历史数据进行对比分析。
3.4.1 按每半小时实时接收各个输配气站的数据信息,领导和各处室领导按照不同的管理职能实时查询各个输配气站的数据信息。
3.4.2每日/月/年接收各个输配气站的日/月/年报数据,汇总各个输配气站的日/月/年报数据,生成气矿天然气日/月/年报报表。
3.4.3根据当前数据信息和历史数据信息进行图形分析。
3.5 程序清单:由于应用程序清单过于冗长,以下只列出工控机数据采集及数据上传信息中心的核心程序。
'*****************************************************************
'函数名:ManageSWPLCD80Receive '功能说明:接收流量仪的数据
'*****************************************************************
Public Function ManageSWPLCD80Receive(strReceive As String)
If Mid(strReceive, 3, 2) = "**" Then '如果是回应错误信息
intSWPLCD80CommStatusFlag = 9
intSWPLCD80ReceiveErrorCode = 1
Exit Function
End If
strCRC = Right(strReceive, 2) '计算校验值
intCRC = TwoCharToInteger(strCRC)
intCRCCmp = 0 '计算接收字符的异或
For i = 1 To Len(strReceive) - 2
intCRCCmp = intCRCCmp Xor Asc(Mid(strReceive, i, 1))
Next i
If intCRC <> intCRCCmp Then '判断校验值是否正确
intSWPLCD80CommStatusFlag = 9
intSWPLCD80ReceiveErrorCode = 2
Exit Function
End If
Select Case strSWPLCD80SendOrder '接收INFO信息
Case "RD":
If Len(strReceive) < 60 Then '读取动态数据
intSWPLCD80CommStatusFlag = 9
intSWPLCD80ReceiveErrorCode = 3
Exit Function
End If
…… ,取各种信息 计算数据略
Case "RR":
If Len(strReceive) < 100 Then ' 读取内部参数
intSWPLCD80CommStatusFlag = 9
intSWPLCD80ReceiveErrorCode = 3
End If
If intSWPLCD80ID < intSWPLCD80Num Then
intSWPLCD80ID = intSWPLCD80ID + 1
intSWPLCD80CommStatusFlag = 1
Else
intSWPLCD80CommStatusFlag = 3
End If
Case "W":
If Mid(strReceive, 3, 2) = "##" Then ' 设置内部参数
FrmMain.StatusBar.Panels.Item(2).Text = "设置参数正确"
intSWPLCD80CommStatusFlag = 0
End If
End Select
End Function
'*****************************************************************
'函数名:ConnectServer '功能说明:连接远程计算机
'*****************************************************************
Public Function ConnectServer() As Boolean
FrmMain.RasControl.SetDialParm Phone, UserName, Password, Timeout, _ 0,AreaCode, 1, IPA, IPB, IPC, IPD ' 拨号参数设置
FrmMain.RasControl.Connect ' 拨号并开始连接
If FrmMain.RasControl.IsConnected Then ' 判断连接是否成功
ConnectServer = True ' 连接成功并退出该函数
Exit Function
Else
ConnectServer = False ' 连接失败
End if
End Function
4系统投运
该系统已于2000年10月在川西南气矿安装、调试,于2001年3月投入试运行,并通过了当地计量检测部门及用户验收,现在系统运行正常,各项技术、性能指标均达到设计要求,用户反映良好.
参考文献
1.天然气流量的标准孔板计量方法SY/T 6143-1996 中国石油出版社 1996
2.何立民MCS-51系列 单片机应用系统设计 北京航天航空大学出版社 2000
3.何克忠 计算机控制系统 清华大学出版社1998
4.Visual Basic6.0 Microsoft公司