上位机监控软件在油库管理系统中的应用
摘 要 本文介绍了Wonderware公司的产品InTouch在油库管理系统中的应用。 关键词 集散控制系统,InTouch,油库 Abstract This article introduced the application of InTouch, the product of Wonderware in the system of administration for oil storehouse. Key words DCS,InTouch,Oil Storehouse 近年来,我国经济持续发展,工业和生活用油的需求不断增加,使得油库在生产和管理方面的工作日益繁重。随着计算机技术的不断普及和发展,我国的油库建设者们开始利用先进的工业控制技术、网络技术、数据库技术及相关的高科技技术,结合我国机场油库现状和发展趋势,为实现油库生产的自动化和日常管理工作的规范化进行了不懈的研究。下面以某民航机场中转油库的管理调度系统为例,介绍一下在上位机监控软件方面的设计和实现,作为对这一领域的探讨。 1 系统简介 系统配置主要包括计算机网络系统、数据库服务器、上位机系统、电视监控系统、下位机PLC和生产过程,是一个典型的集散控制系统。自1975年第一套集散控制系统问世以来,集散控制系统在工业控制领域得到了越来越广泛的应用。集散控制系统又叫分布式计算机控制系统(DCS),是由计算机技术、信号处理技术、测控技术、网络通讯技术和人机接术相互发展而产生的,其主要特点是集中管理、分散控制,具有很强的自主性、协调性、灵活性和可靠性。进入90年代以后,以计算机网络技术为代表的IT业逐渐成为推动高科技产业发展的新热点,“开放”和“资源共享”是未来信息与控制领域发展的基本要求和发展趋势。系统的开放不仅使不同厂商的集散控制系统产品可以互连,也使得第三方的软件可以方便地在不同的硬件平台上应用,从而简化了用户对系统的开发。在本系统中,上位机监控软件就是用美国Wonderware公司的工控组态软件InTouch 7.1开发的,下面将进行具体介绍。 2 InTouch的特点 目前,有很多工控组态软件,如InTouch 、iFix、LabView,国产的有“组态王”、“世纪星”等。 InTouch是美国Wonderware公司开发的世界上第一个集成的、基于组件的MMI系统——FactorySuite 2000中的一个核心组件。它具有世界领先的HMI(人机接口界面)和面向对象的图形开发环境,便于高效、快捷地配置用户的应用程序。它在报警和历史趋势方面的功能,极大地方便了对系统的监控。 它具有强大的网络功能,通过传统的DDE和扩展的NetDDE的方式,可与本机和计算机中的应用程序实时交换数据。同时,它支持通过ODBC访问各种类型的数据库,便于系统的综合管理。 另外,它支持标准的ActiveX技术,使得用户可以轻松地为自己的应用程序开发各种网络多媒体功能。 更重要的是,它提供了广泛的通讯协议转换接口——I/O Server,能方便地连接到各种控制设备,包括:Siemens、Modicon、Opto 22、square D等。甚至,也可以利用第三方Server。 在性能上,InTouch对核心代码进行了优化,运行效率比较高。同时,它经过了严格的测试,并拥有大量的客户,应该说具有相当高的可靠性和稳定性。 基于以上原因,我们选择InTouch作为上位机软件的开发工具。 3 软件设计 1)用户需求 此软件的用户是某机场中转油库,从目前情况来看,他们的日常生产流程主要包括从铁路栈桥收航油(煤油)和汽油到指定的油罐,同时将合格的油发给机场或客户。不久,他们将增加从管线直接收油的方式,并且将油品分为保税油和非保税油两种,分别走不同的管线。另外,他们需要用数据库进行管理,并打印每日报表。 2)数据通讯 在InTouch中,上位机的数据主要分为内存型和I/O型。其中,内存型数据为InTouch程序内部定义的变量,不需要通过I/O Server即可进行访问;I/O型数据的来源一般为计算机结点或本机运行的程序,这类数据由InTouch通过NetDDE或DDE的方式获得。 在本系统中,上位机采集下位机中来自现场的数据,经过处理,将控制命令传给下位机,以此监控生产过程。然而,通常上位机无法直接从下位机中取得数据,这时需要一个通讯接口——I/O Server。由于,本系统上、下位机通过以太网进行连接,并且下位机为Modicon的PLC,因此应该选用Modicon Ethernet型号的I/O Server。假设上位机、下位机和运行I/O Server的计算机的IP地址分别为192.168.10.11、192.168.10.99、192.168.10.12,则I/O Server中Topic Definition的设置为: Topic Name——plc(任意定义); IP Adrress——192.168.10.99(PLC的地址)。 这样,I/O Server就可以从下位机取得数据了。而要让InTouch从I/O Server中取到正确的数据,还必须为每个I/O变量定义Access Name和Item Name: 其中,Access Name可任取,如IO,其余参数分别为: Node Name——192.168.10.12(I/O Server所在结点的IP地址); Application Name——mbenet(Modicon Ethernet的程序名); Topic Name——plc(I/O Server中定义的Topic Name)。 Item Name根据下位机的不同有所差异,对于Modicon的PLC,开关量为1或0堪响运行速度。另外,InTouch还支持图片透明色功能,这样可去掉图片中不需要的底色,使画面更加协调、美观。 4)系统监控 上位机软件最主要的功能就是系统监控。InTouch可以为每个数据定义它的报警信息,模拟量还可定义高、低、高高、低低报警值,并且可以通过条件脚本或、数据值改变脚本和用户编制的快速脚本处理各种报警信息,如弹出报警窗口或声音提示。例如,要监控1号电机电流过高的情况,就可以定义一个motor1.HiStatus的条件脚本,并在On True脚本框中写上: Show motor1_high_alarm; (弹出报警窗口) PlaySound( d:\sound\1号电机高电流报警.wav, 1 ); (声音报警) 5)数据库访问 数据库是系统管理不可缺少的工具,也是工作报表的数据来源,。目前,在大、中型集散控制系统中被广泛采用的数据库管理软件有Oracle、SQL Server、Informix等,本系统即采用了SQL Server。 InTouch支持SQL语言,并且能通过ODBC接口方便地与不同类型的数据库进行连接。要做到这一点,首先需要在“控制面板”的ODBC中为自己的数据库定义一个数据源名,如:oil;然后在InTouch的SQL Access Manager\Bind List中为自己在数据库中定义的某张表(如tank)定义一个绑定列(如tanklist),注意表与绑定列的格式和数据类型应完全一样。这样,要往表中插入数据的程序就可以写为: SQLConnect( ConnectionId, dsn=oil ); (连接数据库) SQLInsert( ConnectionId, tank, tanklist ); (插入数据) InTouch没有提供作报表的工具,但用户可以自己制作报表窗口,并调用窗口打印函数PrintWindow()打印报表。另外,也可以采用报表制作工具或采取页的方式。 6)系统安全 系统安全问题是每一个上位机软件设计人员必须考虑的,InTouch可以通过帐号管理机制,限制不同人员的访问权限,来实现系统安全。 在本系统中,系统登录的画面如右图所示。当操作员按下登录热键(如Ctrl+F10),将弹出此窗口。登录之后的操作员拥有自己的访问级别($AccessLevel),决定了他对上位机软件的操作权限。比如,某些重要设备(如电机)的开关按钮只能让工程师以上级别的人($AccessLevel>6000)操作,则可在按钮动画链接的Miscellaneous\Disable(on)属性的条件表达式中写上$AccessLevel<6000。这样,没有登录或访问级别不够的人就无法触发此按钮了。 4 方案总结 以上是本系统上位机软件设计的基本框架,可以看出,通过与InTouch相结合,软件不仅在设计和实现上非常简单,而且在功能上也十分强大,同时又具有较高的性能和稳定性。并且,对软件的维护和升级也比较方便。目前,该方案正被应用于某机场储油库改造的示范工程中。 参考文献 1、王常力;罗安,集散型控制系统选型与应用,北京:清华大学出版社,1996年6月 2、俞金寿;何衍庆,集散控制系统原理及应用,北京:化学工业出版社,1995年8月 3、袁鹏飞,SQL Server7.0数据库系统管理与应用开发,北京:人民邮电出版社,1999年5月 4、InTouch 7.0 Basic ,Training Manual,Wonderware Corporation,Revision A,Part Number 05-3004,February,1998 5、InTouch 7.0 Advanced ,Training Manual,Wonderware Corporation,Revision C,Part Number 05-3005,September,1998