1 引言
以前的大型油库发油,都是依靠工人在现场对每台定量仪进行参数设置,手动发油,对于多个货位,需要多名操作员同时工作,工作效率较低,对发油情况的了解也只能靠操作者直接观察现场设备运行情况。随着自动化和计算机技术的发展,逐渐将发油的参数设置、操作和监控集中到一台工控机内,将现场的状况实时传入上位机,并及时显示在上位机的显示界面中。而现在,随着网络信息技术和工业软、硬件的不断发展,开发出以上位机和下位机组成的大型油库发油控制系统,它能更及时、全面地反映现场信息,并且只用在一台上位机上操作,就可以对所有的定量仪进行设置和发油的控制。本文以大型油库发油系统项目来对此作一个介绍。
2 大型油库发油系统简介
大型油库发油系统由工控机、定量控制仪等组成,工控机为上位机,定量控制仪作为下位机。一台工控机能管理多台定量控制,工控机与局域网或开票系统相联,实现数据共享。在工控机上可以实现系统设置、发油参数设置、调试参数设置、系统编辑、发油实时控制等
3 系统结构及功能说明
3.1系统结构
图1 系统结构示意图
图2 上位机系统结构示意图
开票系统与上位机实现数据共享,每次发油之前核对单据号;发油前,上位机将设置好的参数,如发油货位号、油品、定量值、定量单位等信息发送到下位机;上位机在发油过程中实时接受定量仪发来的发油数据,如实发重量,实发体积,油温等等,并将这些实时信息在显示界面上显示出来,在有报警提示出现时,可以由操作员采取措施,如暂停发油,取消发油等;对于发油历史记录,可以进行查询,打印等。
上位机要求安装有USB通信板卡,才能与下位机交换数据。上位机与开票系统用RS232串口传输数据。
3.2功能说明
上位机开发软件采用Visual C++,数据库采用Microsoft Access,实现信息的存储,读取等等。Visual C++自诞生以来就一直是Windows环境下最主要的应用开发系统之一,可以完成各种各样的应用程序的开发,从底层软件直到上层直接面向用户的软件。它作为很好的可视化编程工具,缩短了开发时间,而且界面更友好,便于程序员操作。
根据需求分析,在系统中配置了1台上位机,USB通信模板,以及16个定量仪控制,每个定量仪控制2个货位。上位机分为操作员、管理员和超级管理员三级,通过不同的帐户名登录系统,享有不同的操作权限。操作员的权限最低,能打开发油、编辑、统计查询、参数设置等菜单; 管理员能打开上述菜单,以及系统设置;超级管理员享有最高权限,可以进行主菜单里的所有操作,并且可以对其他操作人员进行管理。操作员可以修改自己的密码,只有超级管理员才能进行权限设置,即为其他人员分配新的用户代号和密码。
根据发油现场的情况,发油方式可以分为单机发油和联网发油:联网发油时,上位机和开票系统实现数据共享;单机发油时,和开票系统断开。 控制方式可以分为主机控制和定量仪控制:主机控制指由上位机控制定量仪进行发油操作;定量仪控制则是在网络断开的情况下,由下位机直接控制发油,此时下位机保存发油时的重要数据,一旦网络接通,立即将发油信息传送至上位机。大多数情况下,都是采用主机控制的方式。在上位机启动发油之前,需要先进行系统设置,包括:设置货位总数(本文以32个货位为例),每个货位的情况,如所属定量仪号、是否配比发油、泵提前量、阀提前量等;参数设置,包括:调试参数设置,油品设置等;设置好以后,才可以进行现场的发油参数设置,包括:具体的发油货位号、油品、定量值、定量单位、是否配比、车装或桶装等,并将这些设置好的值发送到下位机。
在上位机中根
据现场的情况,设计了油库发油系统显示界面,有单个货位显示以及总体发油情况的表格显示:在单个货位显示界面上,一屏可以同时显示八个货位,以标签页的形式分四页,一共可以显示32个货位,包括每个货位的油品、是否配比发油、定量值、定量单位、状态、泵和伐的开或关、车装或桶装等,以及报警信息,在此界面中,可以进行单个货位的操作:开始发油、暂停、继续和取消;另外还有所有正在发油货位的整体情况显示在一张表格中,方便监控发油的总体情况,但该界面只用于显示,不能对其进行控制。图3 货位1—8发油显示界面
发油结束后,其重要数据,如当时的操作员,发油货位号,油品,购油单位,单据号等,将被保存在数据库中,作为长时间的备份,并且用于日后的查询。有三种查询方式:按时间查询,按油品查询,按单据号查询。查询的结果可以报表的形式打印出来。
4 结束语 参考文献:
本文详细阐述了工业控制计算机的油库发油系统。系统具有友好的人机交互界面,操作直观、方便,减轻了操作员的工作
强度,提高了工作效率,实现了发油的自动化。 目前,该项目已经通过调试。
1.钱能.C++程序设计教程[M].北京:清华大学出版社,2001.
2.郑阿奇.Visual C++实用教程[M]. 北京:电子工业出版社,2002.
3. 黄维通.Visual C++面向对象与可视化程序设计[M]. 北京:清华大学出版社,2002.
4.李博轩.Visual C++ 6.0数据库开发指南[M]. 北京:清华大学出版社,2000.
5. 施威铭.Access 2000系统开发实务[M]. 北京:人民邮电出版社,2000.