0 引言
2002 年春天,在汉诺威博览会上,由OPC基金会开发的OPC DX(Data exchange)数据交换规范演示系统成功实现了Profibus国际(PI)的Profinet, ODVA的EtherNet/IP, 以及基金现场总线FF的HSE三种工业以太网之间的实时数据交换[1]。2003年5月,OPC Data eXchange 1.0规范正式发布。基于以太网数据交换的标准的提出,并得到三大国际性工业通信组织一致共同支持OPC DX虽然是折衷的结果,但是OPC DX在工业控制系统中的应用将为最终解决数据共享与设备互操作问题带来希望。
文中研究了基于OPC DX的多总线控制系统的集成方案、OPC-DX服务器设计的总体构架、OPC DX源服务器数据项到目标服务器数据项数据传输以及更新的控制策略以及设计OPC DX服务器的总体思路等关键问题。 1 现场总线与工业以太网
随着自动化的发展,工业控制系统的互操作性和开放性的要求越来越高。
自80年代以来,有几种现场总线技术已逐渐形成,在一些特定的应用领域显示了各自的优势。显然某一种现场总线不可能解决所有工业问题,这意味着今后现场总线的发展将持续多种总线并存的趋势。由于使用的各自专用的协议,现场总线的开放性是有条件,是不彻底的,难以沿开放的方向发展。
当现场总线的发展遇到阻碍时以太网技术却得到了迅猛发展,在工业界有越来越多的通信与自动化应用正逐渐形成一股采用以太网络作为主要通信干网的新趋势。但是,以太网本质上只是一个物理层标准,它只定义了OSI参考模型的物理层和数据链路层。目前,在工业现场控制网络领域,以太网最典型的应用是采用以太网和TCP/IP两种技术结合的模式,即灵活的Ethernet底层加上几乎成为通用标准的网络传输协议TCP/IP,使得以太网能够非常容易地集成到以Internet和 Web技术为代表的信息网络中。即便如此,若在应用层其协议规范不统一,依然不能实现数据的共享[2 ]。
事实上,由于工业以太网显而易见的发展前景,几大现场总线国际组织纷纷推出各自现场总线在以太网上的应用方案,如PI的Profinet, ODVA的EtherNet/IP, 以及FF的HSE等。尽管工业以太网允许不同的应用层协议运行在同一套网络硬件上,但是不同机构推出的工业以太网协议采用了不同的应用层协议,相互之间无法直接沟通[3]。
2 OPC DX数据交换规范介绍
OPC(OLE for Process Control)是用于过程控制的对象链接和嵌入(OLE, Object Linking and Embedding)技术,是自动化领域许多世界领先的软、硬件公司与微软公司合作开发的一个工业过程控制应用程序通信标准。OPC是基于Microsoft公司的Distributed Internet Application (DNA)构架和Component Object Model(COM)技术,根据易于扩展性而设计。该标准定义了应用Microsoft操作系统在基于PC 的客户机之间交换自动化实时数据的方法,它为过程控制提供了一套标准的接口、属性和方法,是实现控制系统开放性的关键技术。
OPC出现以前,要从种类繁多的现场设备获得数据,应用软件开发者不得不了解各种硬件细节,针对不同的硬件开发不同的驱动程序。OPC定义了一套标准接口,在现场总线和计算机之间建立了信息传递的专用通道。
OPC DA(Data Access)提供了一种纵向的通信,也即OPC 服务器和OPC 客户端之间的通信。OPC DA服务器作为数据源,利用厂家提供的特殊的物理I/O网络和协议,与现场的控制设备相连接。这样,使任何带有OPC标准接口的客户端程序能够借助与OPC服务器的通信访问任意来自底层的数据源。
但在不同现场总线网段上的设备之间需要进行信息交流时,一般要借助于中间件来完成。这种桥接技术中,中间件实际上就是一个OPC客户端,从一个服务器(源服务器)读取数据,再写入另一服务器(目标服务器)。采用这样的访问手段,一方面难以保证系统的实时性;另一方面,它为通信系统增加了额外的故障点,错误发生时,需要终端用户对其进行故障诊断和维护;此外,终端用户还必须依赖中间件不同开发商提供的繁多组态接口,这恰好有悖于OPC的接口标准化的初衷[4]。OPC DX正是由此而提出的解决方案。
OPC DX是相对于OPC DA的客户端-服务器通信模式推出的服务器-服务器模式,提供了在以太网上服务器到服务器可互操作的数据通信方法,使系统间可用相同的标准实时交换数据,其实质就是基于高速以太网的软件网关技术。由于不需要数据存储和发送的中间环节,而不必担心不同协议间的转换问题,这样一个OPC服务器就能直接与另一个OPC服务器直接相连,使驻留在不同体系的现场总线控制器上的服务器数据可以直接交换。
OPC DX标准向需要跨网络访问数据的用户提供了系统的互操作性,但是隐藏了网络技术的细节。任何遵循OPC DX标准控制网络系统和应用控制软件都可以和带有OPC DX服务器的现场总线进行数据交换。此外,OPC DX 最大的好处在于它可以使DCS、PLC等老系统与工业以太网、现场总线控制系统无缝地融合在一个可以互操作的系统里[5]。如图1所示。
显然,OPC DX只是定义了一套不同厂家的设备和控制系统基于系统管理层进行数据交换的接口标准,并不替代各个现场总线的作用[4]。因此,OPC DX将与现场总线以及工业以太网共存在自动化控制网络中。
3 OPC DX服务器的结构模型
OPC DX服务器的实际上是与OPC DA服务器兼容的功能扩充服务器[6],它增加了如下几个
(1) DX数据库:在DX服务器的地址空间里维护DX数据库,用于描述DX服务器、DX连接的状态以及源服务器;
(2) 组态接口:OPC DX通过该接口实现增加、修改、删除DX连接和源数据服务器等操
(3) 源数据存取:DX服务器通过源数据存取组件订阅源数据,DX服务器支持订阅多种源服务器类型;
(4)运行期间操作:运行期间操作包括源数据项向目标项的复制、更新等,并规定了源数据的订阅的开始、停止、操作失败后的动作等;
(5)对控制与监视的支持:该功能专门用于DX服务器、源服务器和一些独立的DX连接作运行期间控制和监视的DA项,这些项通过DX服务器的DA接口访问。

图2显示了其总体架构,在这里OPC DX服务器实际上扮演了3种角色:
(1)它要实现OPC DA服务器的功能,OPC DX服务器为组态客户端提供了OPC DA接口来浏览和访问数据,这些数据来自现场设备、OPC服务器、或者是其它相连的数据源;
(2)作为OPC DX服务器,OPC DX增加了服务器组态和管理的标准接口,使得任何供应商提供的OPC DX服务器组态工具可以方便地增加、修改、和删除DX连接,建立源项和目标项的连接
(3)OPC DX服务器还作为源数据存取实体,管理DX数据库, OPC DX服务器检测所有的DX连接以决定其是否支持访问来自源服务器的数据,如果支持,则访问源服务器并传输数据。
4 基于OPC DX的数据交互的实现
OPC DX实现异种网络的横向的数据交换,需要实现以下两个主要的功能[7]。首先,为了解决OPC DX目标服务器如何从源服务器中获取数据的问题,OPC DX服务器不但具有DA服务器所有的功能,而且OPC DX服务器内还作为带有DX接口OPC DA客户端,负责向其他服务器读取数据,这样就消除了对中间件的依赖以及桥接技术给系统带来的不稳定因素。其次,为了建立数据横向交互的联系,要进行DX组态配置接口和实时监视接口的标准化设计。图3 显示了OPC DX服务器内DA服务器和客户端的层次及OPC DX服务器之间的数据交互原理,同时描述了利用通用组态工具建立两个OPC DX服务器间通信联系。
OPC DX通过DX连接来描述数据从源项到目标项的传输。DX连接由源项和目标项的标识、两者间传递的特征数据、DX连接的描述性信息等多项属性共同构成,在服务器中表现为一些只读的DA项,OPC DX组态客户端可通过OPC DA接口对其组态配置、控制和监视。DX连接的信息储存在DX服务器中,用OPC DA地址空间中的枝或节点组成的逻辑组来代表DX连接。
在DX接口的实现上,应支持DA1.0、DA2.05、DA3.0等服务器类型,利用连接点的方式跟OPC服务器连接。另外,OPC DX服务器和客户端总体还有以下功能和特点。
4.1 浏览源项、目标项和DX数据库
组态客户端利用OPC DA接口浏览所有OPC服务器中的源项和目标项。通常,目标项只能在DX服务器中,源数据项包含在OPC DA或OPC DX服务器中。组态客户端按需要选择源项和目标项对DX连接组态,设置数据交互相关的属性。选取数据源的时候,采用树型的地址空间浏览方式,显示OPC数据项。
OPC DX客户端和服务器都必须能够支持地址空间浏览功能。在OPC DA的实现中,服务器地址浏览功能只是可选的,而在DX服务器连接的组态中,被读的项必须由服务器地址空间浏览来记录。
OPC DA客户端通过OPC DA浏览接口浏览DX服务器的DX数据库,利用浏览路径方式直接构造访问DX连接的路径,并且客户端可以为DX连接构造多条路径。DX数据库中还包含有OPC DX所支持的接口表列和源服务器地址。
4.2 组态
DX组态客户端设计成可选择的浏览和监视两种模式。
多个组态客户程序可以同时对DX连接和DX数据库中源服务器设置进行组态和维护操作。DX连接、源服务器都设定有版本属性,当客户程序增加或修改DX连接或源服务器时,给定了一个标识符也就是版本,如果要修改或删除项必须验证该标识密码,否则修改要求会被拒绝。
DX服务器中的DX连接可以永久的存储,服务器不断的维护该数据信息。当出现断电情况下,重新启动机器以后,就可以使DX服务器之间的通信重新建立连接,立即恢复原来的状态,这样就保持操作的连续性。
4.3 横向数据传递
一旦DX连接组态完成,DX服务器就可以访问源服务器,获取源数据项的值。每个DX连接都有源数据列表,按照FIFO(先进先出)的次序,更新目标项。服务器启动时,用户可以组态源数据项的上下限。如遇到DX组态的数据DX服务器无法识别,就按设定的标准类型转换数据。
DX服务器负责管理源数据项到目标项的更新过程。通常的过程是订阅数据到达→复制数据。当外界用户需要使用“替代值”、“覆盖值”时,文中采用如下开关真值数据流串并联策略:
源项→“数据源连接”→“有无替代值”→“有无覆盖值”→“目标项连接”→目标项
只有源项和目标项之间开关量为真时,才可更新目标项。
4.4控制与监视
在系统运行期间,OPC客户端订阅相应的属性项,以监视DX服务器、源服务器和DX连接的状态。通过OPC DA接口访问数据项时,品质、时间戳等属性参照OPC DA规范的相关策略,并可完成连接/断开源服务器、手动设定省却值等。DA客户端的写入值和DX服务器的返回值都可以修改状态属性。
如果接收到源服务器的关闭事件,此后的一段时间,在每分钟内,DX服务器都会与“离线”服务器进行一次连接尝试,如果连接全部失败,则确认源服务器关闭。DX服务器就断开与它的所有连接,相应的DX连接标为“离线”。
5 结束语
随着OPC 的不断完善和发展,这项技术已经广泛应用于工业自动化领域。在现场级的控制网络中,OPC DA规范将底层硬件驱动程序和与之配套上层应用程序的开发有效的分隔开,使用统一的接口为不同硬件设备与任意上层应用程序到现场设备中数据的垂直访问的“桥梁”,不仅易于系统维护和升级,而且缩短了开发时间;在以太网现场总线网络中,OPC DX是现场总线协议之间互连与互操作的一个重要手段,并为包括DCS和PLC在内的系统集成提供有效方案。OPC DX将和高速现场总线和以太网一起,为工业自动化数据交换提供更开放的通讯标准。此外,借助SOAP/XML,OPC还可以应用于广域网进行数据访问,以及研发不依赖Windows平台的OPC技术在嵌入式系统中的解决方案。
[参 考 文 献]
[1] OPC动态[J].自动化博览,2002,19(2):5.
[2] 郝晓弘,侯顺红.工业以太网认识的三大误区[J].自动化与仪表,2004,(3):38-42.
[3] D Holley.OPC DX glues fieldbuses together[EB/OL]. http://ethernet.industrial-networking.com.
[4] Jonas Berge. OPC DX is the soft gateway [EB/OL].http://www.isa.org.
[5] Don Holley. A universal translator?-OPC Data eXchange specification for Ethernet networks[EB/OL]. http://www.sensorsmag.com.
[6] OPC Foundation. OPC Data exchange(DX) Specification Version1.0[S].http:∥www.opcfoundation.org .2003.
[7] Li Zheng, Nakagawa H.OPC (OLE for process control) specification and its developments[A]. SICE2002.Proceedings of the 41st SICE Annual Conference[C].2002.2:917-926. |