|  首页  |  资讯  |  评测  |  活动  |  学院  |  访谈  |  专题  |  杂志  |  产服  |  
您现在的位置:硅谷网> 学院> 论文>

基于Visual Basic的油库参数管理系统的设计

2012-10-02 08:53 作者:梁永伟 来源:硅谷网 HV: 编辑: 【搜索试试
  硅谷网10月2日消息 《硅谷》杂志刊文称,针对某油库自动化水平落后的现状,为保证油库的安全生产,提高油库工作效率,设计一种基于VisualBasic6.0的油库参数管理系统,对油库的主要参数如油品温度、密度、液位等以及来油管道的流量、压力进行实时监测,对罐存计量明细、入库明细设计基于Access数据库的历史数据存储模块,实现方便快捷的查询及报表打印。最后,建立OPC客户端模拟数据采集模块,调试软件的运行。
  油库一般建于较空旷的地方,面积较大,罐区比较分散且远离主控室,它储运的易燃、易爆物质事故风险高,安全监控难度大,用传统的人工作业方式对油库进行操作不仅具有监控不及时,人为误差大,还有随意性强,可靠性不高等缺点[1-3]。油库区的各类参数,如储油罐及消防罐液位、储油罐油品温度、管线来油流量及压力,对油库的生产运行、安全及计量工作起着至关重要的作用。此外,油库日常生产工作的许多参数,如罐存计量明细、入库计量等,都需要及时存储,以方便日后的查询及报表打印。所以,设计具有实时检测,超限报警,数据存储及查询等功能的油库参数管理系统对于保障油库安全,提高油库效率具有重要的意义。
  鉴于此,本文针对某油库设备年限太长无法使用,而且整个油库无中心控制室和库组管理自动化系统的不足,结合该油库的实际生产情况及作者的工作经验、心得,设计了一种油库参数管理系统。以VisualBasic6.0为平台,利用Mathworks公司的ActiveX控件MWStrip.ocx,设计油库相关参数如密度、温度、流量、压力等的实时监测及超限报警系统,并采用Access数据库,对相关的日常计量参数,包括罐存计量明细及入库明细,进行存储,方便日后的查询及报表打印等工作。最后给出软件模拟运行的结果。
  1工艺简介
  某油库生产设备老化严重,自动化水平较低,采用冗余CPU的PLC控制系统。该油库成品油罐区分3个罐组,共有16个存储汽油和柴油的储油罐。另有消防水罐3个,完成对各个罐组的消防工作。此外,某石化分公司成品油经管线输至该油库,经流量计计量后进入油库,利用进站余压输入相应的储罐储存。
  依据现场经验,在计算油品重量时,主要参数是测量油品的温度、密度和所在容器中的液位高度,通过密度和温度查《产品标密密度表》和《产品体积修正系数表》得出油品标密()和修正系数值,通过液位高度查容器的容积表,得出油品体积,然后根据标准公式计算油品质量。其中油品温度对折算标密的影响最大。且油罐液位与消防水罐液位的检测及上限报警对于油库的安全运行是必不可少的。此外,对于某石化公司的来油管道,进行压力和流量监测意义重大。流量监测在油品计量工作中是必不可少的,压力监测在管道的安全运行、泄露检测及泄漏点定位中起着举足轻重的作用。因此,需要监控的参数共有五类:温度监控、液位监控、密度监控、流量监控、压力监控。
  此外,需要构建数据库对日常工作量进行存储,以方便查询及报表打印等工作。需要存储的数据有两类:罐存计量明细及入库明细。
  下面根据油库的实际情况,对五类参数的实时监控及存储数据的具体任务作详细介绍。
  温度监控:1-16号储油罐内油品的温度、某石化来油管道油品的实时监测温度监测。
  液位监控:1-16号储油罐内油品液位、1-3号消防水罐液位的实时监测,并设置液位上下限报警。
  密度监控:1-16号储油罐内油品的密度、某石化来油管道油品密度的实时监测。
  流量监控:某石化公司来油流量的实时监测。
  压力监控:某石化公司来油管道压力的实时监测。
  罐存计量明细存储:主要包括存储油品名称转动前存量、转动后存量、输入量、输出量、溢耗量、油水总高、水高、油温、视温、视密度、标准密度、计重密度、VCF、油品体积、总体积、计量类型等,以及按照油品名称或相关属性进行查询。
  入库明细存储:主要包括存储收油日期、油品名称、实收数量等参数,以及按照油品名称或者收油时间(起始时间-终止时间)查询。
  报表打印:打印相关报表。
  2基于VisualBasic的油库参数管理系统的设计
  VisualBasic[4-5]是一种由微软公司开发的包含协助开发环境的事件驱动编程语言,拥有图形用户界面(GUI),可以轻易的使用DAO、RDO、ADO连接数据库[6]。由于VB6.0中许多操作并不灵活,因此本文采用CodeSmart丰富其集成开发环境。基于VB6的油库管理系统结构如图1所示。
     图1基于VB6的油库参数管理系统的结构
  该管理系统主要包括三部分:数据采集、实时数据监控及历史数据存储。由于该油库采用的CPU冗余的PLC控制系统,因此本文建立OPC服务器采集PLC中的相关数据,并建立OPC客户端对数据进行相关处理。采集到数据后,按照前文的分析,设计五类参数的实时监控子系统,以及构建基于Access数据库的数据存储子系统。下面详细介绍各部分的实现。
  2.1基于OPC的数据采集 
  OPC定义了一个开放的接口,在这个接口上,基于PC的软件组件能交换数据[7]。OPC采用客户端/服务器模式,制定了二者之间的接口标准。用户可以自己开发不含任何通讯接口程序的客户端,也不必关心底层硬件设备特性和软硬件的通讯,仅需按照OPC协议,从服务器中采集数据。由于服务器和客户端之间采用标准接口,因此开发出的客户端具有通用性[8-9]。
  OPC数据访问对象从数据源读写数据,其分层结构如图2所示[10]。
  图2OPC数据访问对象的分层结构
  本文假设OPC服务器已经存在,仅设计OPC客户端,从服务器中读取数据。
  首先调用connect方法连接OPC服务器,格式为:
  Connect服务器名,服务器计算机名;
  连接好OPC服务器后,需要进行添加OPC组集合、OPC组、OPC标签集合、OPC标签,并将其激活,设置数据更新周期等操作,实现方式如下。
  ①添加OPC组集合并将其激活:
  MyGps=MySv.OPCGroups
  MyGps.DefaultGroupIsActive=True
  ②添加OPC组,并设置OPC组为订阅状态,以自动收到从OPC服务器送来的数据变化通知:
  SetMyGp=MyGps.Add("OPC组")
  MyGp.IsSubscribed=True
  ③添加OPC标签集合并将其激活:
  SetMyIts=MyGp.OPCItems
  MyIts.DefaultIsActive=True
  ④添加OPC标签:
  MyIts.AddItems标签号码,标签ID,客户端句柄,服务器句柄,错误集。
  完成上述操作后,即可调用OPC组的DataChange方法来获取数据了。由于上述操作设定OPC组为订阅状态,服务器会定期向客户端发出数据变化的通知。
  2.2基于MWStrip.ocx的实时数据监测
  数据采集后,对相关参数进行实时监测的主要任务是实时显示,并且能够随时获取参数的时间及其数值的大小,并与同类参数相比较,对液位参数,还需设计超限报警功能,以避免事故的发生,保障油库生产安全进行。因此,实时数据监测的主要工作量在于数据可视化,本文采用MWStrip.ocx来实现数据的可视化。该控件是一种面向对象的控件,相关的方法、属性及事件均已封装成函数,使用起来非常方便。下面以压力监测为例,介绍其实现方法。
  2.2.1控件注册
  使用该控件之前,需对其进行注册,本文采用regsvr32命令对其进行快捷注册。假设MWStrip.ocx控件放在目录C:\WINDOWS\system32下,注册方法为:开始-运行,在运行对话框中输入regsvr32C:\WINDOWS\system32\MWStrip.ocx,然后单击确定即可。
  2.2.2初始化
  控件的初始化工作主要包括初始化控件的显示模式、显示时间宽度、刷新时间、屏幕颜色、光标颜色、线条宽度等,与之相对应的控件属性分别是XTicMode、XSpan、VariableDeltaX、VariableColor、CursorColor、VariableLineWidth,在应用程序中可根据需要设置这些属性值。其余属性的设置可根据具体需要按照上面的方式设置,不再赘述。
  2.2.3设置显示模块
  在显示模块中,应当实现数据的滚动刷新,添加新数据、剔除旧数据,并且自适应调整曲线位置,使之显示在屏幕的最佳位置;同时,单击控件时应当在光标处显示相关属性的数值及时间。
  ①定时刷新屏幕采用控件的AddXY函数实现;
  ②调整曲线位置时,首先计算显示曲线的最大、最小值,然后通过设置控件的TrackDisplayMax、TrackDisplayMin、TrackDisplayMax以及TrackDisplayMin四个属性,以调整显示曲线显示在屏幕最佳位置
  ③在光标单击处显示压力数值及时间时,首先计算控件显示的起始、终止时间及时间间隔,然后计算光标的位置及显示的数值,并设置控件的标题为显示值,标题横坐标为光标位置,纵坐标可设为一0-1之间的常数。
  ④液位的超上限报警,为计量油品质量及保证油库的安全生产,必须对储油罐液位及消防水罐液位设置超上限报警,当液位超出设定值时,给出声音报警信号,提示工作人员对其进行处理。本文采用Windows系统的API函数PlaySound实现。
  2.3基于Access的历史数据存储
  油库的日常管理中,罐存计量明细及入库明细需要定期存储,本文首先通过VB6的可视化数据管理器建立Access数据库,并采用ADO控件及SQL语言[11-12]操作数据库,完成数据的存储、查询、修改、删除及报表打印等操作。
  建立数据库后,首先需要将ADO控件Adodc引用到VB的工具箱中,并将DataGrid控件加入窗体,用于显示数据库相关操作的结果。下面以入库明细存储为例,介绍数据库操作的关键步骤。
  ①调用ConnectionString函数生成连接字符串。连接数据源手写连接字符串较繁琐,可以通过Adodc的属性页自动生成,并复制到程序中;将CommandType属性设为adCmdTable,以表格的形式显示操作结果。然后确定通过设定RecordSource属性来确定数据源。
  ②使用AddNew命令进行数据存储,然后使用Refresh命令刷新数据刻。如存储油品名称的伪代码为:
  Recordset.AddNew;Recordset("油品名称").Value=Cstr(油品名称)
  ③使用SQL语言进行进行数据查询,以按油品名称为例,其格式为:
  RecordSource="select*from数据源where油品名称="&"'"&"油品名称"&"'"
  ④数据的修改、删除。分别采用Adodc控件记录集的Edit和Delete命令即可实现,比较简单,不再赘述。
  3软件模拟运行结果
  采用Kepware软件建立OPC服务器,并在VisualBasic程序中建立OPC客户端,模拟油库生产运行过程,对相关参数进行实时监控及定期存储。将部分结果介绍如下。
  登陆后,程序主界面如图3所示,菜单栏由灰色变为黑色,成为可用状态。
  通过菜单栏命令,可以在油罐区、消防水罐区、某石化公司管道来油监控、数据存储等界面间方便的切换。主界面中罐形图标为16座储油罐及3座消防水罐的标志,单击任一图标,即可查看该罐的相关参数实时监控情况
  某石化公司管道来油管道的温度、压力和流量监控界面如图4所示。
  从图4中可以看出,在鼠标单击出,界面上清晰地显示出了时间及数量值等参数,且温度、压力及流量等曲线均显示在最佳位置,为油库的管理提供了极大的便利。
  入库明细存储界面如图5所示。窗体是按油品名称查询的结果,从右面的表格中可以看出,显示的全部是93号车用汽油的记录,亦可按收油日期查询。
  以上截图为软件运行的几个代表性界面,其余界面与之类似,限于篇幅,本文在这里没有一一显示。
  4总结
  基于VisualBasic6.0,设计了一种油库参数管理系统。采用MWStrip控件,实现了压力、温度、密度等参数的实时监控;同时,设计了基于Access数据库的数据存储模块,存储罐存计量明细及入库明细。最后,应用程序建立了OPC客户端作为数据采集模块,模拟了软件的运行。(原文载于《硅谷》杂志,硅谷网及《硅谷》杂志版权所有,未经允许禁止转载)
  
【对“基于Visual Basic的油库参数管理系统的设计”发布评论】

版权及免责声明:
① 本网站部分投稿来源于“网友”,涉及投资、理财、消费等内容,请亲们反复甄别,切勿轻信。本网站部分由赞助商提供的内容属于【广告】性质,仅供阅读,不构成具体实施建议,请谨慎对待。据此操作,风险自担。
② 内容来源注明“硅谷网”及其相关称谓的文字、图片和音视频,版权均属本网站所有,任何媒体、网站或个人需经本网站许可方可复制或转载,并在使用时必须注明来源【硅谷网】或对应来源,违者本网站将依法追究责任。
③ 注明来源为各大报纸、杂志、网站及其他媒体的文章,文章原作者享有著作权,本网站转载其他媒体稿件是为传播更多的信息,并不代表赞同其观点和对其真实性负责,本网站不承担此类稿件侵权行为的连带责任。
④ 本网站不对非自身发布内容的真实性、合法性、准确性作担保。若硅谷网因为自身和转载内容,涉及到侵权、违法等问题,请有关单位或个人速与本网站取得联系(联系电话:01057255600),我们将第一时间核实处理。
广告
相关
·基于视频会议终端QoS(服务质量)技术方案探析
·基于学习兴趣培养的《C语言程序设计》教学研究
·基于“面向服务架构”SOA的PLM系统浅析
·基于LPC1114的加窗差值FFT算法的谐波检测设计
·基于SDM模型的250T转炉钢包底吹模型开发
·《硅谷》杂志:基于制品挤压方法的研究
·基于C/S模式的学生学籍信息管理系统的设计与实现
·基于机构运动精度的平稳性车辆轮轴探伤研究
头条
硅谷网解密:4G网络中的微波传输解决方案 硅谷网解密:4G网络中的微波传输解决方案
在2013年12月4日,工信部向中国移动、中国联通、中国电信颁发TD-LTE(4G)经营许可之后……
·硅谷网解密:4G网络中的微波传输解决方案
·创意产业的批量化规律 工业造型方法论之加减
·《硅谷》杂志:浅谈电信运营商开展IPTV业务
·《硅谷》杂志:新型桌面搜索关键技术的研究与
·硅谷杂志:基于时间技术的搜索引擎排名算法
图文
佳惠安抗菌喷剂敷料杀(抑)菌临床检验结论
佳惠安抗菌喷剂敷料杀(抑)菌临床检验结论
利用重力势能做功发电介绍和势能输出系统介绍
利用重力势能做功发电介绍和势能输出系统介
佳惠安抗菌喷剂敷料杀(抑)菌临床检验结论
佳惠安抗菌喷剂敷料杀(抑)菌临床检验结论
利用重力势能做功发电介绍和势能输出系统介绍
利用重力势能做功发电介绍和势能输出系统介
最新
·佳惠安抗菌喷剂敷料杀(抑)菌临床检验结论
·利用重力势能做功发电介绍和势能输出系统介绍
·李磊:新时代下电网调度自动化技术的发展分析
·提升企业竞争力以及企业人力资源管理优化思考
·《硅谷》杂志:采油分层测静压工艺技术浅究
热点
·判断连续时间系统的线性非时变性和因果性
·3DMAX+Vary室内漫游动画制作的技法浅析
·长期使人困惑的问题:TCP连接中断的实时检测
·佳惠安抗菌喷剂敷料杀(抑)菌临床检验结论
·关于汽轮机油系统失火原因分析及防范措施的一
旧闻
·硅谷杂志:关于网络安全解决方案的探讨
·徐海:智能变坡水槽控制系统的设计与实现
·探讨气体检测中如何应用数字信号处理技术
·博物馆数字化展示应用研究
·硅谷杂志:云计算在飞行试验数据处理中的探索
广告
硅谷影像
佳惠安抗菌喷剂敷料杀(抑)菌临床检验结论
佳惠安抗菌喷剂敷料杀(抑)菌临床检验结论
利用重力势能做功发电介绍和势能输出系统介绍
利用重力势能做功发电介绍和势能输出系统介绍
公关负责人离职背后:危机公关案例分析
公关负责人离职背后:危机公关案例分析
硅谷网解密:4G网络中的微波传输解决方案
硅谷网解密:4G网络中的微波传输解决方案
使用Autoit脚本在虚拟内存盘设置考试模拟系统
使用Autoit脚本在虚拟内存盘设置考试模拟系统
探秘开滦集团设备租赁管理系统的设计和实现
探秘开滦集团设备租赁管理系统的设计和实现
关于我们·About | 联系我们·contact | 加入我们·Join | 关注我们·Invest | Site Map | Tags | RSS Map
电脑版·PC版 移动版·MD版 网站热线:(+86)010-57255600
Copyright © 2007-2020 硅谷网. 版权所有. All Rights Reserved. <京ICP备12003855号-2>