摘 要:针对传统客户/服务器模式的现场总线监控系统中存在的问题,提出了三层架构B/S模式的现场总线远程监控系统,并着重探讨了基于Web Service的OPC XML-DA系统的框架模型和体系结构。最后,分析了系统在Internet通信中的信息安全性。
关键词:B/S;远程监控;OPC XML-DA;Web Service;
1 引言
信息技术的发展,使得自动化系统结构逐步形成全分布网络集成自控系统。现场总线正是顺应这一形势发展起来的新技术[1]。利用Internet对现场进行远程的实时监控是当前控制领域的热点,实现工业实时数据Web浏览也是工业信息监控发展的必然趋势。近年来,随着Internet的迅速发展及控制自动化技术的不断提高,企业的信息化程度也越来越被企业所重视。远程监控作为企业信息系统的一部分,可以使企业信息系统向Internet上延伸,综合的实现企业信息系统中过程监控层的“远程组态”、“报警提示”、“实时历史曲线”以及与ERP集成等多种功能[2]。企业充分利用计算机、互联网等现代信息技术,将企业的生产、经营及管理流程在线实现,并使企业真正可以在线获得完整而及时的信息。
传统基于OPC的现场总线监控系统所设计的客户/服务器结构模式,把数据采集者视为OPC服务器,其他的访问端视为OPC客户端。通常,客户端包含大部分业务逻辑。如果系统业务逻辑仅仅使用或需要一个简单的数据源时,这种结构能够运行得很好。然而当系统需要具有可扩展性,系统功能要求不断增加,数据库性能需要不断提高时,这种客户端/服务器结构就不能够满足要求,特别在实现远程监控及实现客户跨平台的要求方面,C/S模式已经表现出自己的弊端。随着计算机通信和网络技术的不断发展,计算机网络为工业控制系统提供了新的发展空间与技术支持。以Web服务层为监控系统中间层的B/S(Web浏览器/Web服务器/数据库服务器)模式,已经逐渐发展起来。
2 基于Web服务的OPC XML-DA规范
2.1 OPC技术
OPC(OLE for process control)用于过程控制的对象链接与嵌入,是作为工业标准定义的特殊的COM接口,它是基于微软的OLE/COM/DCOM技术,按照标准的方法来完成不同设备之间数据交换的问题。在OPC出现之前,工控软件通常依靠动态数据交换(DDE)进行数据访问,比如数据的读取、更新、订约、写入等[3]。OPC的出现大大地提高了数据传输效率以及对事务的处理能力,同时利用Windows系统对DCOM的安全机制也提供了一定安全性管理的能力。但随着网络技术的迅猛发展和企业信息管理系统对互操作性要求的提高,特别是OPC应用在Internet远程网络通信及跨平台连接时,基于COM/DCOM的OPC标准逐渐不能满足客户需求。为此,OPC基金会正式于2003年推出了基于XML Web服务的最新标准OPC XML-DA规范1.0版。
2.2 OPC XML-DA
在OPC规范中,数据访问(DA)规范具有极其重要的地位,因此研究得比较成熟,所以OPC基金会目前推出的基于Web服务的规范也初始定义在数据访问规范上,即OPC XML-DA规范。使用基于Web服务作为远过程调用的方式有如下的优势:跨平台,基于Internet/Intranet实现远程人机接口 (HMI),智能现场设备直接支持OPC。
OPC XML-DA规范的建立,用于将OPC数据向Internet上的应用程序开放,实现了工业控制领域工厂底层与企业管理自动化的集成。OPC DA提供了不用开发专门的通信软件就可以访问设备的最好的方法,而OPC XML-DA又是实现远程和跨平台数据交换的一种最好方法。它建立在OPC DA规范基础上,是基于XML技术的接口规范[4],通过两个Web Services的基础技术XML和SOAP将数据暴露出来,用于连接高层ERP和其他企业应用程序。它用SOAP作为对应用程序共享消息进行包装的标准协议,使用WSDL对Web服务进行描述,在OPC XML-DA客户端和服务器之间通过HTTP协议传输Web服务,标准化的XML词汇使得工业应用得到保障,所有过程控制系统可以采用相同的语言进行数据信息交换,保证了应用程序间的互操作,并实现与高层间共享和交换数据。
2.3 Web Service
利用OPC XML-DA实现在Internet远程监控,需要在Web Service框架下完成。Web Service是在现有的各种异构平台的基础上构筑一个通用的与平台、语言无关的技术层,不同的企业所开发的不同平台上的各种应用可以依靠这个技术层实现彼此的连接和集成[5]。Web Service通过标准的网络协议向网络用户提供各种服务,Internet上任何地点、任何平台上的应用程序只要符合Web Service的标准都可以从它的公共接口获得服务,使得不同的应用程序在Internet上共享和交换数据更加的容易。Web Service的具体规范[6]如下:
1) 利用扩展标记语言XML描述传输信息。远程调用服务的过程通常需要传递参数和返回结果,在Web Service中,这些都使用XML进行描述。良好的数据存储格式、可扩展性、高度结构化、便于网络传输使得XML可以更好的描述所传输的数据元素。
2) 以简单对象访问协议SOAP作为Web Service的调用协议。它是一种基于XML用于在应用程序之间以对象的形式交换数据的表示层通信协议,是Web Services的核心,是用户端与服务器端之间进行沟通的特殊语言。SOAP协议有助于实现大量异构程序和平台之间的互操作性,从而使现存的应用能够被广泛的用户访问。
3) 以Web服务描述语言WSDL描述Web Service相关信息。WSDL文档中描述了所有公开函数的信息,所有XML消息的数据类型信息以及使用的特定的传输协议的信息和用于定位特定服务的地址信息。通过WDSL文档,客户端可以得到它需要的所有相关的Web Service的服务。
4) 统一描述、发现和集成协议UDDI。Web Service客户端开发人员需要某种机制来确定有哪些可供使用的服务,以及他们提供什么样的服务,如何调用这些服务,开发商在Internet上公布如何推出自己的Web Service,这些都需要UDDI来完成,它提供了一种让客户端动态发布和查找Web Service的机制。
3 B/S架构的远程监控系统
B/S(Browser/Server) 以Web服务器为中间层,底层为数据服务层,上层表示层是与Internet连接的Web浏览层。利用OPC接口实现OPC DA与现场设备之间的通信,以COM/DCOM通信方式实现OPC DA服务器和OPC XML-DA之间通信方式。然后利用HTTP、TCP/IP等协议实现远程客户与OPC XML-DA服务器间的通信,从而使得用户可以在客户端利用标准网页浏览器(Browser)实时监控工业现场的动态工艺流程,远程访问控制现场获得数据,达到远程监视和控制目的。结构图如图1所示:
图1 B/S架构的远程监控系统
数据服务层位于整个监控系统的底层,主要包括各种PLC、智能仪表、传感器以及各种现场总线设备等。在这里,以LonWorks为现场控制总线,当LonWorks智能芯片采集到数据后,按照统一、开放的数据访问标准,将数据返回给同样位于底层的OPC DA服务器,此时位于Web服务层的OPC XML-DA服务器接收OPC DA服务器所传来的数据,同时要完成上层Web服务器以XML文档方式所传来的请求服务,并将所获得的数据以XML方式发送回Web服务器。
在OPC DA服务器和OPC XML-DA服务器之间通信方式为COM/DCOM,此时OPC XML-DA相当于OPC DA服务器的客户端,来获取OPC DA服务器端的实时数据。不同的OPC XML-DA服务器采用统一的XML数据传输格式,这样可以集成为一个OPC XML-DA平台,各个OPC-XML服务器之间可以互相进行通信,交换数据。OPC XML-DA平台对上层不同的客户端提供统一的接口,响应客户端所提出的服务,当客户端请求服务时,通过平台将客户端所请求的服务转向各个OPC XML-DA服务器,来执行所要请求的服务。
位于Web服务层的OPC XML-DA服务器包括Web服务器组件和OPC XML-DA组件。在OPC XML-DA服务器端,通过WSDL解读OPC XML-DA规范,了解用户需求,创建了Web Services的框架。Web服务器组件和OPC XML-DA组件之间有Web Services接口,它由一些接口函数组成,通过它对数据进行操作。这个接口主要用于解析Web服务器组件以XML文档形式传来的服务请求和从OPC XML-DA组件获取的实时数据以XML形式返回给Web服务器组件[7]。Web服务器组件可以由Internet Information Server(IIS)、SQL Server构成,用以接收客户端请求和返回客户端服务,并调用相应的数据库。
OPC XML-DA的客户端可以是一台Internet/Intranet上的计算机,通过浏览器(IE),向Web服务器发送请求页面的域名和全路径名称信息,客户端利用从服务器下载的网页实现远程测控和管理的工作,网页中内嵌ActiveX控件或者Java Applet的程序文件,进行初始化操作。比如,设置布局、建立TCP/IP连接等。然后进行登录,当登录成功后,当服务器允许连接时,发出TCP连接响应,客户计算机和服务器之间就建立了TCP连接,可以直接进行通信,读取服务器上的画面文件。远程客户通过控件提供的操作界面,进行远程监控、维护和管理等操作。在运行过程中,系统负责发送/接收数据,并更新相应画面。OPC XML-DA客户端通过存储于服务器中Web Services接口,发出所要请求的服务。客户端不参与执行过程,它只需接收在OPC XML-DA 服务器端执行的结果。
OPC XML-DA客户端在Web Service框架下与OPC XML-DA服务器之间的通信如图2所示[5]:
图2 Web Service框架下OPC XML-DA客户端与服务器端的通信
4 远程监控安全问题的解决方案
本地局域网连接时,基于DCOM的OPC服务器使用防火墙保护工厂数据,而引入Web服务之后,过程控制信息不再局限于LAN以内,使得过程控制信息暴露给了连接在Internet上的所有用户,系统安全的主要风险在于信息被任意篡改的可能行。由于OPC XML-DA规范的刚刚制定,OPC XML-DA还没有单独规定的安全行机制,这需要客户端和Web服务端对网络安全进行相应的配置。具体方式如下:
(1) 身份验证
在身份验证问题上可以采用传统的用户ID加口令,只有注册并获得授权的用户才有可能进行远程监控等操作。为预防口令遍历攻击,系统对口令验证连续三次失败的用户自动断开与其建立的TCP连接。
(2)数字签名
为了确保用户信息与监控数据不会被篡改,需要引入数字签名技术。可以在客户端Web浏览器与服务器端通信时在Microsoft IIS服务器处配置设置SSL。SSL通过数字证书进行数字签名实现通信双方的身份鉴别以及所做操作的不可抵赖性,并通过对称加密实现信息传输的机密性,通过信息摘要技术实现信息传输的完整性控制。
(3)访问控制
对客户端做好权限的分配,在确认用户的身份后,我们从用户信息库中把用户权限信息读入内存中,根据这些细化的权限信息,对用户的状态与操作进行跟踪、验证权限,并做好记录。
(4)系统日志
为了跟踪系统的运行状况,以便追究使用者的责任,需要在服务器端有详细的记录,包括远程客户的登录时间、IP地址、组态操作、连接时间等。定期审查日志可以提高系统的安全性。
5 结束语
基于Internet的远程实时监控采用了OPC XML-DA规范,并与Web Services相结合,能够满足远程用户对需求参数的监视和控制,在互联网上真正可以在线获得完整而及时的信息。B/S结构的应用使得客户端不需要安装任何软件,通过计算机的标准浏览器就可以访问现场数据,极大地提高了系统的灵活性,也扩展了系统访问的地域性。OPC XML-DA在远程实时监控中的应用,为控制领域的企业的全面信息化提供了很好的途径。随着OPC XML其他规范的不断完善,基于Internet的远程实时监控必将成为未来企业的主要服务方式。
参考文献:
[1] 罗志军,尹斌 基于Profibus _DP的PLC与PC现场总线控制系统 微计算机信息 2004年 11期
[2] 邹益仁等.现场总线控制系统的设计和开发.北京[M]. 国防工业出版社,2003,1
[3] 周宇峰,唐通林.OPC Web服务-过程控制系统信息集成的新方法[J].自控系统.2004.2
[4] OPC Foundation. OPC XML-DA 1.0 Specification [DB/OL]. http://www.opcfoundation.org, July12,2003
[5] 汪洪涛等.基于Web服务的OPC XML-DA系统的研究[J].计算机应用研究,2004,11
[6]宋耀武,李宏光 Web Service在工业过程监控系统中的应用[J].控制工程,2004,7
[7] 全新建,杨 静,陈建华. 基于OPC-XML技术的互联网实时监控系统研究[J].自动化仪表,2004,11