・68・ 《测控技术}2011年第30卷第3期 基于OPC UA的自动化系统集成技术研究 苏延召,李艾华 (第二炮兵工程学院502教研室,西安陕西710025) 摘要:针对在实现自动化领域的系统集成过程中,子系统或者设备之间的互操作与信息共享的难点问 题,提出以OPC UA(OPC uniifed architecture)为标准接口构建系统集成的抽象框架,并开发了OPC UA 客户端和服务器,利用组态王完成了集成监控软件的开发,解决了某国防工程管理自动化系统集成中的 “信息孤岛问题”。实践证明,基于OPC uA的系统集成具有平台无关性,能够跨越防火墙传输数据,可 有效解决系统集成中的异构问题。 关键词:系统集成;OPC UA;异构;组态王 中图分类号:TP271.4 文献标识码:A 文章编号:1000—8829(2011)03—0068—04 The Technology of Automation System Integration Based on OPC UA SU Yan—zhao,LI Ai-hua (No.502 Faculty,The Second Artillery Engineering College,Xi’an 710025,China) Abstract:Aiming at the diiculfty of interoperation in subsystems or devices in the implementation of system integration implementation in automation domain,an abstract frame constructed based on OPC UAf OPC uniifed architecture)is put forward as standard interface.OPC UA client and server are developed.KingView is used to complete the development of integrated supervisor and control software,and the problem called information solitary island in the process of one national defense project’S automation system integration is resolved.Testi. ied by tfhe practice,the system integration based on OPC UA provided with platform independence,can trans— port the data across firewalls,and can settle the problem of the heterogeneous in system integration. Key words:system integration;OPC UA;heterogeneity;KingView 在工业自动化、智能建筑等领域的管控系统中存 在着各种各样的自动化系统,这些系统来自于不同的 现与防火墙冲突、数据结构简单等问题 。OPC uA 作为新一代的OPC规范有效地克服了上述问题,扩大 了OPC的应用范围,具有更强的安全性能,利用它可 以有效解决系统集成中的异构问题,构建功能强大的 一厂家,遵循不同的通信协议,使得上述领域存在大量的 “信息孤岛”,管控系统的功能发挥受限。采用系统集 成…技术是解决这个问题的有效手段,它是通过结构 化的综合布线技术和计算机网络技术,将各个分离的 设备或者系统、功能和信息等集成到相互关联的、统一 和协调的系统之中,实现资源共享与高效管理。系统 体化集成系统 。 1 OPC UA与系统集成 1.1 OPC UA 集成的实现方式有基于通信协议、标准接口、特定的集 成平台等方式,其中基于标准接口OPC_2-3]的集成方 式应用十分广泛,具有传输实时数据快、可重复利用和 降低设备之间的不兼容性等优点。但基于微软公司 COM/DCOM技术的传统OPC规范在应用中也常常出 收稿日期:2010—05—10 OPC UA(OPC uniifed architecture)即OPC统一架 构,它是一个平台独立的标准,通过在OPC uA的服务 器和客户端发送信息,各种设备或者是系统可以在不 同的网络上进行信息交换 J。OPC uA具有平台独 立、基于标准协议、面向服务以及向后兼容等特点 。 OPC UA规范同样是由OPC基金会制定和管理 的,由12个部分组成,包括核心规范和存取类型规范。 核心规范定义了OPC UA的地址空间结构以及相关的 服务,而存取类型则是根据不同应用制定的,如数据存 储、报警与事件等 J。 作者简介:苏延召(1987一),男,四川资阳人,硕士研究生,主要 从事自动化系统控制与集成研究;李艾华(1966一),男,河北沧 州人,教授,博士生导师,主要从事测控技术与故障诊断研究。 基于OPC UA的自动化系统集成技术研究 OPC uA与以往的OPC规范相比有显著的不同, 如OPC UA基于Web Services和XML,并减少了服务 重叠等。其关键技术包括了OPC uA的地址空问模 型、信息模型以及服务集。 (1)OPC UA的地址空间模型。 OPC uA的地址空间是统一了以往数据存储、历 史数据访问、报警与事件的相互独立的地址空间,减少 了客户端的负担。它包含了一系列的节点,这些节点 代表了可进行访问的实体对象 。OPC UA地址空间 建立了一些基本的模型,包括Object Model(对象模 型)、Node Model(点模型)、Variables(变量)、TypeDeif— nitionNodes(类型定义节点)、Events Model(事件模 型)、Methods(方法) J。通过这些模型和方法可以定 义出符合实际逻辑的地址空间,并具有文件夹的组织 方式,以供客户端查询。 (2)OPC uA的信息模型。 OPC UA的信息模型定义了数据传输的内容与组 织形式,定义了OPC uA应用过程中的数据类型,OPC UA地址空间中组织结构的类型等¨…。 (3)OPC uA服务集。 OPC uA的服务定义是一种抽象的描述,并不代 表实际的实现。OPC uA服务被归结为一系列的服务 集,包括Secure Channel Service Set(安全通道服务 集)、Session Service Set(通信服务集)、Node Manage— ment Service Set(节点管理服务集)、View Service Set (视图服务集)、Query Service Set(查询服务集)、At— tribute Service Set(属性服务集)、Method Service Set (方法服务集)、Monitoredltem Service Set(监控项服务 集)、Subscription Service Set(订阅服务集)¨ 。 OPC uA仍然是一种典型的C/S架构,在OPC uA 的应用中其客户端通过自身的API与通信栈交互,由 通信栈与OPC UA服务器的通信栈之间进行信息传 递,服务器响应对应的请求,并将结构按相反的方向传 递回客户端。其典型的应用结构如图1所示。 OPC UA客户端代码实现层 OPC UA Client API OPC UA通信栈 OPC UA通信栈 0PC UA Server API OPC UA服务器代码实现端 王 I各类数据源 图1 OPC UA的典型应用示意图 1.2基于OPC UA的系统集成框架 ・69・ 系统集成的关键在于信息的交换,即将各类型的 数据源(如数据库、现场控制器、智能测量仪器等)集 成到一个统一的平台上来,只有在信息相互交换的基 础上,才有设备或者系统之间的互操作。利用OPC uA技术能够实现从底层设备到逻辑控制再到一体化 管理的纵向数据交换,同时还能够实现同层设备或者 系统之问的数据交换。因此基于OPC UA的系统集成 能够满足自动化领域的各种集成需要,其框架示意如 图2所示。 综 合 集 成 局 部 集 成 图2基于OPC uA的系统集成框架 由于系统集成的领域不同,具体的集成方案也就 不同。在对各个领域的集成应用进行深入分析的基础 上,将系统集成抽象成3层,即集成平台层、集成中间 层和底层。底层实际上是各种异构数据源;集成中间 层是根据具体的功能进行的初步集成;集成平台就是 将各局步集成系统进行综合集成。各层的内容根据具 体的应用领域而定。如在工业自动化领域,底层就是 现场设备层,而中间层则是监督管理逻辑的实现,即将 底层设备的数据采集上来,根据实际需要对设备做出 调整。数据的采集则是由OPC UA接口来实现的。而 集成平台则是将这些基于电脑的控制系统与其他的应 用集成起来。这些系统的综合集成也是通过OPC uA 来作为接口或者是中间件来完成的。 2应用与实现 2.1应用实例 本文所述的抽象框架应用范围很广,这里以某国 防工程的管理自动化系统的集成为例进行实现。该国 防工程的管理自动化系统包括火灾报警系统、温湿度 监控系统、音视频监控系统、门禁安检系统、周界警界 系统和通信自动化系统等子系统,其中音视频监控系 统、门禁安检系统、周界警戒系统组成安全防范系统。 集成系统要求实现设备自动控制、环境自动调节、安全 实时监视、信息综合处理等多种功能。整个自动化系 统的集成网络图如图3所示。 在整个系统集成中,各子系统均有以太网接El,因 而组成一个以太局域网,可以满足实时数据的传输要 求。针对门禁安检系统、图像监视系统、周界报警系 统、火灾报警系统均不存在提供OPC接口的问题,只 ・70・ 品。 《测控技术/2011年第30卷第3期 需根据控制器的协议开发OPC UA服务器。对于提供 基于C0M的OPC接口的温湿度监控系统,只需要将 0PC UA客户端的实现主要完成连接和浏览uA 其包装成OPC uA接口即可直接进行集成。0PC uA 服务器运行于各子系统控制主机上,而客户端则运行 在集成系统服务器上。通过客户端对UA服务器的访 问获得各子系统的信息,并存入集成系统数据库中。 OPC uA接口集成了DA(数据存取)、HAD(历史数据 存取)和AE(事件报警)规范,因而只需要一个客户 端就可以实现对各种类型数据的操作。集成主机上运 服务器的地址空间等功能,其基本流程如下: ①初始化uA通信栈,这是客户端与服务器的通 信基础; ②连接到uA服务器; ③浏览UA服务器地址空间,读写相应的数据, 调用服务器提供的方法,处理事件报警; ④接收处理数据变化的通知,完成监控项的读 行监控软件,通过对数据库的读写操作,可以完成历史 数据分析 各种运行参数设定、状态监测等功能。 集成数据库 集成平台服务器 集成主机 门禁 音视频 周界 安检系统 监视系统 报警系统 图3 自动化系统集成网络图 2.2应用实现 集成系统的硬件主要是直接采用市场上成熟的技 术产品,这里的数据库采用SQL Server 2000,服务器采 用Windows Server 2003,并设置了一台冗余服务器。 集成系统的软件实现主要包括两个关键方面: OPC uA接口实现和集成监控软件实现。 2.2.1 OPC UA接口实现 OPC uA的实现主要分为两个方面:OPC uA客户 端和OPC uA服务器。客户端完成对数据的读取和功 能的实现;服务器实现对各类数据源的封装,使得客户 端可以以统一的方式去访问服务器,获得数据。OPC UA规范对各类接口和方法进行了抽象,功能实现则 留给了用户。为了加快用户开发,OPC基金会及其成 员提供了适用于各种应用场合的不同语言版本的软件 开发包,如嵌入式系统、Linux系统等。比较典型的有 Soiling AG、Kepware、Uniifed Automation等公司的产 品。这里采用由Uniifed Automation提供的OPC UA C++SDK来完成客户端和服务器的实现¨ 。对于那 些已经存在的传统OPC客户端和服务器,Uniifed Au— tomation也提供了包装器,将其封装成为OPC uA产 取; ⑤关闭与服务器的连接。 OPC uA服务器的开发需要着重注意的是OPC UA地址空间的建立和对外部实体(即子系统或设备) 通信协议的封装。其基本流程如下: ①初始化uA通信栈,读取配置文件,可以是 XML或INI格式; ②对外部数据源进行抽象,建立对象类型(0b— jectType)、对象(Object),添加变量(Variable)和属性 (Property),即完成地址空间的扩展; ③封装与外部实体(数据源)的通信,获取或写人 数据,并建立相应的变量监控,封装对设备的控制; ④根据设定时间对变量值进行检测,如有变化则 发出数据变化或者事件报警通知给客户端; ⑤服务器关闭,断开与客户端的连接。 对于传统OPC接15的封装则有两种选择,即封装 客户端或服务器端。这里选择封装服务器端,即将传 统0PC服务器的单一地址空问映射到0PC uA服务 器统一的地址空问上来。这样OPC UA客户端就可以 访问传统的OPC服务器,获得相关的数据。 2.2.2集成监控软件的实现 集成监控软件主要完成对信息的处理,如显示、存 储、形成数据报表等,并利用数据信息作出相应的监 控,主要完成联动逻辑、报警灯功能的实现。工业组态 软件功能强大,能够满足系统集成监控的各项需求,这 里以组态王(KingView)为开发工具,完成人机交互界 面设计以及逻辑控制等功能。组态王通过访问集成数 据库获取数据,由于组态王提供ODBC接口,只需要通 过相应的配置和映射就能实现对数据库的操作。监控 软件访问数据库,获得温湿度子系统数据的运行示意 图,如图4所示。 3 结束语 以上在对OPC UA技术规范的介绍之上,基于 OPC UA构建了一个抽象的系统集成框架,并应用在 某国防工程的管理自动化系统集成中,分析了其实现 过程。由于整个系统都采用OPC uA接口,系统能够 基于OPC UA的自动化系统集成技术研究 ・71・ [3] 任雯,梁岚珍.基于OPC技术和工业以太网的异构系统 集成研究[J].石油化工高等学校学报,2008,21(3):92 —96. [4] 孙发,刘枫.基于OPC Uniifed Architecture的服务器研究 [J].仪器仪表标准化与计算,2006(5):l4—17. [5] 张力展,靳其兵,赵大力.基于OPC uA的管控一体化研 究[J].工业控制计算机,2008,21(9):26—27. ion.OPC unified architecture speciifcation part [6] OPC Foundat1:Concepts(RC1.00)[EB/OL].http://www.matrikonopc. com/downloads/58/specifications/index.aspx. [7] 张红.OPC UA、.NET平台和组态软件[J].电气时代,2009(11):1 14—115. [8] Lee N.OPC uniifed architecture internals[A].The Instru— 图4监控软件运行示意图 mentation,Systems and Automation Society,2004. 方便地实现设备更新以及系统的扩展。OPC uA作为 新一代接口能实现从底层设备到高级应用的全方位集 成,具有安全性强、可靠性高的特点。采用OPC UA接 口进行系统集成将极大地缩小开发周期,提高系统之 间的互操作性,解决许多领域的“信息孤岛”问题。目 前在国内OPC uA的应用还不成熟,但其强大的功能 表明基于OPC UA架构的系统集成必将成为今后的研 究热点。 [9] OPC Foundation.OPC unified architecture speciifcation part 3:address space(RC1.00)[EB/OL].http://www.ma— trikonopc.com/downloads/58/specifications/index.aspx. [1O] OPC Foundation.OPC uniifed architecture speciifcation part 5:information model(RC1.00)[EB/OL].http://www.ma— trikonopc.com/downloads/58/speciifcations/index.aspx. OPC Foundation.OPC uniifed architecture speciifcation Part 4:services[EB/OL].(Version:Release 1.00).http:// www.matrikonope.corn/downloads/58/specifications/index. aspx. 参考文献: [1] 杜明芳.智能建筑系统集成[M].北京:中国建筑工业出 版社,2009. [12] Uniied Autfomation.UA clinet—se137er soft development kit in C++1.20『EB/OL].http://www.uniifed automation. com.2008. [2] 章文斌,朱刚.基于OPC规范的智能化系统集成方案设 计[J].微计算机信息,2005,21(4). ●’’’’’’’’’’’’’’’’’’’’’’’’ 口 ’’ 。’’’’’’’’’’’ ! ◆ ● NI LabWindowsTM/CVI 2010提高基于ANSI C的开发效率,简化FPGA通信 美国国家仪器有限公司近日发布了全新NI LabWin—terrace C API是一种生成C源文件的集成式工具,能够与编 有用于FPGA—Interface C API的自定义函数版,能够提供更优的源代码编辑体验。LabWindows/CVI and LabVIEW FP— FPGA编程的各种所需软硬件元件。这帮助了开发人员创建复杂的ANSI C主应用程序,进行高精度的定时与触发路 : ● ’ :dows/CVl 2010,该软件可基于验证过的ANSI C测试测量 译的LabVIEW FPGA VI进行交互。这一版本的软件还带◆ ◆软件平台,提供更高的开发效率,并简化FPGA通信的复杂 度。此外,NI还发布了LabWindows/CVI 2010 Linux Run一 ◆环境至Linux和实时操作系统中。 !LabWindows/CVI 2010提高了源代码创建的灵活性。 ! :Time模块和LabWindows/CVI 2010实时模块,可扩展开发 GA Bundle提供用于在NI PXI可重配置I/O设备上进行● ? :ANSI C开发人员可以使用该软件,自定义项目建立选项, ◆不止于配置调试/发布选项和32位/64位预定义。开发人 由、高速控制、接驳数字协议、数字信号处理、射频和通信。 i LabWindows/cVI 2010实时模块扩展了LabWindows/! ◆员可以将LabWindows/CVI程序调试器连接到一个正在运 :行进程,而无需重启程序,从而提高调试效率。这样,开发 ◆人员可以更好地掌握程序运行失败和崩溃的情况。此外, CVI开发环境,使其可以创建针对专用实时硬件发布确定: 可靠的应用程序。全新特性包括USB存储卡备份、修复、◆ 复制,以及基于网络的PXI实时对象配置侦测接13。Lab一 由于软件可以以编程的方式交互地创建控件数组,配置多 Windows/CVI 2010 Linux Run—Time模块包括了在Linux操: :用户界面控件变得更加简单。开发人员还可以通过为已安 作系统上编译和运行LabWindows/CVI应用程序的最新库i 装的程序创建补丁,延长测试系统寿命。 支持。该模块还具有对FPGA—Interface C API的支持,帮助! ! 现在,LabWindows/CVI开发人员可以利用FPGA Inter一 工程师在Linux平台上使用基于NI FPGA的硬件。 :face C API工具,创建主应用程序和FPGA通信。FPGA—In一 , ◆.・・・◆◆◆・・◆◆◆◆◆◆◆..◆_l¨◆.◆◆◆◆.◆◆◆...◆◆ : 口 =