涂婉丽,徐轶群,钟舜聪
(1.集美大学轮机工程学院,福建厦门361021;2.福州大学机械工程及自动化学院,福建福州350108)
目前,工业自动化信息系统要实现信息的监控交互,最常用的就是工业组态软件。工业组态软件是面向监控与数据采集的软件开发平台,可完成信息的浏览和监控[1]。随着网络应用的不断普及,很多工控领域不再满足于本地的监控功能应用,越来越多地要求系统具有Web 功能,如通过Internet 网络实现远程工程部署、监控、调试和诊断等等。而传统的组态软件以单机应用为主,部分组态软件虽具有Web 功能,但发布模式复杂,限制条件多,对Internet 的利用十分有限,而且不支持远程发布功能。当自动化信息系统的用户量达到一定规模、操作地点的分布达到一定范围时,组态软件的Web 功能已无法满足应用需求。此外,对于复杂的工业自动化信息系统,常常需要多人协同开发。如何兼顾多人协同开发的效率和动态网页的开发质量,也是信息交互平台在设计实现时的一个难题。
导致传统组态软件Web 功能的不足的根本原因在于系统采用了客户端/服务器(C/S)模式。C/S 模式适用于在局域网内建立数据通信实现多台计算机的分工协作,功能相对简单。此外该模式中每个客户端都需要安装客户端软件,且需要部署和设置防火墙等,维护工作量大。
基于上述分析,本研究采用浏览器/服务器(B/S)模式,设计一种基于Web 的工业自动化信息交互平台,建立系统的系架构并实现自动化业务逻辑,其可用于工业自动化信息系统的远程监控,不受时间和空间的限制,将局域网内实现的功能延伸到Internet 上去。
B/S 模式采用的是浏览器、Web 服务器和数据库服务器的体系结构,其结构如图1所示。数据库服务器不直接服务于每个客户机,而与Web 服务器进行沟通;应用程序全部放在Web 服务器上,将数据库服务器的实时数据动态发布到网上;所有客户端只需通过Internet 浏览器即可进行远程监视。无论用户规模有多大,只需要把服务器连接入网,即可在任何地方进行操作而不用安装专门的软件。此外客户端零维护,管理员只需要管理Web 服务器,对于系统的远程维护、升级、共享甚至功能扩展都非常容易[2]。
图1 B/S 模式的体系结构
基于Web 的工业自动化信息交互平台是基于Web Service 的应用程序,系统的体系架构可分成应用表现层、业务逻辑层、数据访问层3 部分[3],其架构如图2所示。应用表现层即客户端通过Internet 浏览器界面直接与Web 服务器端进行动态交互,接受用户的请求以及数据的返回。业务逻辑层处于数据访问层与应用表现层中间,主要处理自动化系统中数据和业务逻辑。数据访问层负责数据库的访问、管理和维护。如果要实现远程数据采集和控制,客户端的控制指令也可以通过Web服务器写入现场设备。这样,对于系统的开发与维护都更加方便,而且系统的开放性得到很大提高。需要注意的是,由于网络延时的存在,考虑到系统的可靠性要求,基于Web 的工业自动化信息交互平台主要用于远程监督控制,如进行远程设备调试和远程设备故障诊断、处理,而主要的逻辑控制功能由物理设备完成[4]。
图2 基于Web 的工业自动化信息交互平台的体系架构
本节以船舶动力装置的虚拟操作训练系统为例,阐述基于Web 的工业自动化信息交互平台的设计过程及关键问题的解决方案。此处船舶动力装置的设计方案见参考文献[5-6]。
基于Web 的工业自动化信息交互平台必须能够在Internet 浏览器中实现自动化系统操作的动态交互,因此要采用一种可以产生和执行动态、交互式、高效率的Web 服务器应用程序的工具。如ASP(Active Server Pages)、JSP(Java Server Pages)、PHP(Hypertext Preprocessor)等动态网站编辑工具均可以生成信息系统的动态交互操作界面[7]。ASP、PHP、JSP 都是面向Web 服务器的技术,客户端浏览器不需要任何附加的软件支持,它们都具有提供在HTML 代码中混合某种程序代码、由语言引擎解释执行程序代码的能力,对工业自动化信息系统要实现其对复杂网络系统的监控起到重要的作用。
本研究采用了ASP.Net Framework 平台(以下简称.Net 平台),开发设计了船舶动力装置的虚拟操作训练系统。其中一个模块-空气压缩操作系统的交互界面如图3、图4所示。在交互界面上,系统分成两个部分:空气压缩虚拟操作系统的管路原理图如图3所示,放在交互界面左侧;进行虚拟操控的电气控制箱如图4所示,放在交互界面右侧。
图3 空气压缩虚拟操作系统的管路原理图
图4 空气压缩虚拟操作系统的电气控制箱
基于Web 的工业自动化信息交互平台中,客户端通过Internet 浏览器对系统进行动态操作时,界面上对象的状态变化要与实际的工业自动化系统一致。如上所述的空气压缩操作系统中,管路、阀门、电源开关、泵的启停按钮、仪表指示灯、液位计等均要能够进行实时交互。这种动态交互逻辑功能的实现是设计工业自动化信息交互平台的难点。解决方案包括采用图片和动画技术实现,或者直接采用ActiveX 控件技术实现。关于ActiveX 控件技术的使用方法,可以参考相关文献[8-9]。上述空气压缩操作系统正常运行时管路和电气控制箱的状态图如图5、图6所示。其中管路的流动效果是以图片和动画技术来实现的,而其他开关量和模拟量的控制是采用ActiveX 控件技术实现的。通过虚拟电气控制箱,本研究可以对压缩系统中被控对象进行操作,系统交互画面生动,对象状态跟随控制指令实时变化。
图5 空气压缩虚拟操作系统管路的运行状态图
图6 空气压缩虚拟操作系统电气控制箱的运行状态图
在实现系统对象的动态交互逻辑功能时,服务器端主要负责生成界面和逻辑功能的脚本,并发送给客户端浏览器。客户端浏览器负责解析这些脚本并在系统交互操作时实时刷新页面。当需要和服务器端进行数据通信时,客户端才发送所需的加密数据,这样就减轻了服务器端的负担,提高了交互的速度。测试结果显示,即使是船舶动力装置虚拟操作系统中管路最多、逻辑功能最复杂的模块,在多人异地同时操作的情况下,系统交互页面的实时刷新也不会出现卡的现象。
在基于Web 的工业自动化信息交互平台的开发中,还有一个难题来自于开发人员本身。由于动态网页的设计中,操作对象的定位、页面的美工、特别是逻辑交互功能的编辑等等方面,均需要由专业的软件开发技术人员来完成。对于一般工程技术人员,虽然对自动化系统的控制逻辑较为熟悉,但由于不是计算机专业出身,在信息交互平台上实现这些功能时会遇到困难。此外,对于复杂的工业自动化信息系统,常常需要多人协同开发。如本研究中的船舶动力装置系统就是一个复杂的工程系统,在开发时间有限的情况下,就由多位技术人员协同开发完成。为了提高开发效率,同时保证动态网页的开发质量,本研究在系统开发时采取了以下方案:首先由系统负责人给各技术人员分配任务模块,并制定出统一的规则来实现对象的命名、对象的显示方法、对象逻辑功能的定义等;然后各技术人员在.Net 平台上利用WinForm 进行各自任务模块交互界面的设计,并完成单机上业务逻辑的编辑与调试;最后通过调用统一的GetCode()转换程序转换到Web 页面上。其中的GetCode 转换程序由系统负责人单独开发。结果表明,该方案不需要工程技术人员具备很强的软件开发专业背景,同时大大缩短了系统的开发周期,降低了开发成本,最关键是保证了工业自动化信息系统的动态网页的质量。
以下是单机版调用GetCode()转换程序的代码:
以下是GetCode()转换程序的部分代码:
本研究设计的船舶动力装置虚拟操作系统中数据库服务器和Web 服务器共享为一台,系统数据库选用Microsoft SQL Server 2005~2008。SQL Server 是一个关系型数据库管理系统,具有使用方便、可伸缩性好、相关软件集成程度高等优点。SQL Server 可跨越多种平台使用,其内部建立了一种可以与Web 服务器相连接的机制[10]。
传统的数据库访问,常常是手工编写代码,容易出错而且周期长,维护难度高。由于很多代码编辑是重复性工作,为了快速有效生成数据访问层(Data Access Layer,DAL),本研究可以选择数据库访问层建模工具(如著名的CodeSmith 工具、微软企业库等等),将大大减轻开发工作量和维护难度。关于这类工具的方法可参考各个软件的帮助文档。
目前计算机、操作平台、网络、通信都进入一个快速发展的新时期,基于Web 技术实现系统的远程监控己成为越来越多的工业自动化系统不可或缺的重要组成部分,工业自动化信息技术也必然从单机应用向着智能化、网络化和集成化方向发展。
本研究设计实现的基于Web 的工业自动化信息交互平台,解决了信息系统应用中时间和空间限制的问题,提供了一种科学、经济、实用的解决方案。以该方案设计的船舶动力装置的虚拟操作系统已经投入运行。实践表明,该系统具有良好的交互性、维护性和扩展性。当然,针对高安全性要求的工业自动化信息系统,还有待进一步提高系统的稳定性及可靠性。
[1]张 莹,周 炬,阳璞琼.基于PLC 的变频恒压供水系统[J].机电工程,2012,29(4):425-427.
[2]李 亨,王丽萍,郭克宇,等.基于Web 技术的涂装自动化控制系统设计[J].科技信息,2010(31):103-104.
[3]朱韶平.基于Web ActiveX 数据控件的网络虚拟实验室构建[J].计算技术与自动化,2010,29(4):104-106.
[4]贺超波,陈启买.基于Web 的实时数据监测系统的研究和实践[J].计算机技术与发展,2011,21(3):200-204.
[5]徐筱欣.船舶动力装置[M].上海:上海交通大学出版社,2007.
[6]姚寿广,肖 民.船舶动力装置[M].北京:国防工业出版社,2006.
[7]肖 川.基于Web 的数据库技术浅析[J].硅谷,2011(14):31-33.
[8]李跃峰,王文海.基于ActiveX 技术的组态软件Web 服务功能的设计和实现[J].工业控制计算机,2007(7):47-49.
[9]邓威威,何 衍.无操作系统的Web 远程监控系统设计[J].机电工程,2012,29(4):490-492.
[10]甄爱军.SQL Server 存储过程在Web 技术中的应用[J].电脑知识与技术,2012,8(8):1738-1740.