景应刚+侯雪燕+刘伟
摘 要 全范围模拟机被广泛地用来培训操作人员,进行设计优化和验证、技术改造验证。模拟机仿真平台通常提供专用接口实现仿真主机、盘台数据采集计算机、DCS系统、第三方软件之间的数据及控制命令传输。作为连接模拟机各个节点之间软件总线,接口系统的性能直接影响着模拟机系统性能。OPC技术在工业控制领域有着广泛的应用,将OPC技术在模拟机接口系统中应用,介绍了工作原理,给出了工作流程、异构平台系统结构及配置实现方法。研究结果说明,基于OPC技术的接口系统能够较好地整合DCS系统与传统的模拟机系统,使模拟机运行稳定,测试方便,易于升级和扩充。此接口系统已在某核动力装置模拟机中应用,满足客户要求。
关键词 模拟机;接口;OPC; XML-DA
中图分类号 TP391.9 文献标识码 A 文章编号 1674-6708(2016)163-0116-02
随着计算机和仿真技术的发展,模拟机越来越成为操作人员培训的有效手段和考试的工具。全范围模拟机与实际模拟对象有完全一样的控制室,采用软件模型精确地仿真实际机组的工艺过程和响应,达到在模拟机上操作感觉不到和实际工作场景有所差别的效果。模拟机不仅能够模拟正常的工况,还能模拟设备、系统故障等事故工况,而不存在真实设备损坏和安全问题,从而有效加强受训人员对系统的了解,提高分析、判断和处理故障和事故的能力;并提供各种有效的教学控制手段,可设置初始条件、实时/快速/慢速模式、回放等功能。此外,模拟机还能够用来进行机组技术改造验证和机组运行优化研究。
用于过程控制的OPC(OLE for Process Control)标准是为解决现场管理层和过程管理层之间的通信标准而设计的规范,已在工业控制中有着广泛的应用。OPC基金会会员包括世界上所有主要的自动化控制系统\仪器仪表及自动化控制系统公司,例如德国西门子公司的WinCC软件已经集成了OPC服务。OPC规范定义了一个开放的接口,在这个接口上,基于不同平台的软件组件能够灵活、高效地获取数据,实现交互操作。
模拟机仿真平台通常提供专用接口实现仿真主机、盘台控制计算机、第三方软件之间的数据及控制命令传输。当模拟机采用新的厂商的硬件板卡或者需要再次合作开发时,需要重新开发通信接口。近年来,随着DCS系统广泛应用,DCS仿真已成为模拟机的不可缺少的组成部分。安全级和非安全级DCS以及专用仪控系统可能由分散的不同厂家的设备和方案组成,数据量、计算量较大。仿真主机与DCS仿真系统之间也需要再次开发通信接口。
作为连接模拟机各个节点之间软件总线,接口软件的性能直接地影响模拟机系统性能,从而影响模拟机项目的质量。好的接口软件系统在开发层面提供测试充分的API函数及常规的开发模板,在应用层面提供稳定、可靠的数据传输服务及使用方便的测试工具。基于OPC技术的模拟机接口系统能够较好地整合DCS仿真系统与传统的模拟机系统,使模拟机易于升级和扩充,标准的通讯协议能保证通信更稳定,通用的测试工具及测试方法能够缩短模拟机项目的开发周期。
1 OPC技术
基于OPC技术的系统采用客户端/服务器模式,OPC服务器是数据的供应方,客户端是数据的使用方。每个OPC服务有唯一的标志(CLSID)。一个OPC客户端可以同时连接到一个或多个不同厂家的OPC服务器。数据存取服务器是由服务器(Server)对象、组(Group)对象和项(Item)组成。服务器对象包含服务器信息,是组对象的容器。组对象包含自身信息,是项的容器。OPC项描述了服务器中数据源的连接,包含值(value)、品质(quality)和时间邮戳(Time Stamp)。
OPC客户端可以采用同步访问、异步访问或订阅方式从OPC服务器端获取数据。在同步访问方式中,OPC服务器把按照客户端的要求得到的数据访问结果作为方法的参数返回给客户端,客户端在结果被返回前必须处于等待状态。在异步访问中,OPC服务器收到OPC客户端的要求后,几乎立即将方法返回,客户端随后可以进行其他处理,当服务器完成数据访问时,触发客户端的异步访问完成事件,将数据访问结果传送给客户端,客户端在事件处理程序中接受从服务器传送来的数据。在订阅方式中,不需要OPC客户端向OPC服务器请求,服务器按一定的更新周期更新数据缓冲区的数值时,如果发现数值有变化时,就会以数据变化事件通知客户端。
开发符合OPC规范的应用程序主要有两种方式:1)利用软件开发商提供的API。这种方式能够提高程序的质量、缩短开发周期,可以较少的关注细节,将注意力集中到专业领域;2)根据OPC基金会免费提供的规范开发,这需要了解底层细节,熟悉COM、DCOM技术。
在模拟机接口系统软件中应用,适合第一种方式,例如使用成熟的OPC技术开发商开发的工具软件产品。这些软件产品技术稳定、通用性好,提供工程模板可生成vs.net工程,提供库函数帮助文档、程序demo及测试工具OPC demo client,开发、测试都比较方便并且可以为使用者提供相应的技术服务。
2 基于OPC的接口系统
2.1 工作流程
基于OPC的接口系统工作流程图见图1。
OPC服务器程序首先创建服务器对象,创建数据地址空间,然后创建请求处理进程,等待客户端接口调用,通过响应请求实现一系列功能,例如获取服务器状态,添加、删除OPC数据项,获取或设置数据项的值等。
OPC客户端程序创建客户端对象之后,创建和服务器端连接。连接成功后,不断向服务器发送请求,得到反馈信息。
2.2 全范围模拟机异构平台系统
在OPC XML-DA规范发布之前,OPC技术依赖于Microsoft的COM、DCOM技术,仅限于Windows操作平台。XML-DA基于Web Services概念,用SOAP(简单对象访问协议)对应用程序消息进行包装,在客户端和服务器端通过HTTP进行数据传输,使得OPC的跨平台通信成为可能。
2.2.1 系统结构
本系统结构的特点是,多个OPC服务端除了相互发送和接收数据外,还分别为各自的客户端提供数据。仿真主机搭载LINUX操作系统,而DCS仿真主机、盘台工控机搭载Windows操作系统,第三方软件运行在搭载LINUX或Windows的计算机上。在这种体系结构下,使用软件开发商提供的Easy Connect连接管理工具,可以方便地实现两个OPC Server直接交换数据。通过配置,为两个数据源建立桥连接,确定对点关系,将各自的数据项导入到Easy Connect的名字空间,见图3(服务器至服务器数据对点窗口)。Easy Connect负责在OPC Server对应的数据项之间复制数据。仿真主机能够通过服务器间数据交换和盘台工控机、DCS主机快速交换数据。同时存在的C/S模式又可以保证局域数据在各自的范围内高效传递。
Easy Connect能够将数据存储到 Microsoft SQL Server, Oracle, MySQL, IBM DB2 等支持ODBC接口的数据库,支持通用的SQL语句,或者以*.txt, *.xml , *.html格式输出数据。
2.2.2 系统配置
对于跨平台异构系统,研究出2种应用用法。
1)OPC客户端程序运行在LINUX端。在Windows端通过Easy Connect建立桥连接(OPC bridge)。配置OPC客户端属性,包括激活OPC XML-DA服务,设置存放地址(AddressSuffi)及TCP/IP端口号。
在LINUX端编写OPC客户端程序,工作流程见图1,在建立连接对象时,传入参数:http://Windows IP Address:Port/AddressSuffi。
2)OPC服务器程序运行在LINUX端。在LINUX端编写OPC服务程序,工作流程见图1,需要设置服务的CLSID,最小更新速度,客户端检测周期,设置存放地址(AddressSuffi)及TCP/IP端口号等参数。
在Windows端通过Easy Connect 建立本地OPC服务器,为Linux OPC服务器建立的本地服务器类型设置为XML-DA Server,设置外部OPC服务的地址:http:// Linux IP地址:端口号/AddressSuffi,设置连接外部OPC服务的用户名和密码。设置完毕,进行测试判断连接是否成功。如果连接成功,启动Softing OPC Toolbox Demo Client,添加服务地址,能够观测Linux OPC地址空间的各个变量(Item)的值及其它属性。
3 结论
本接口系统已在某核动力装置模拟机中应用。本文只讨论了OPC数据存取在模拟机接口系统中应用。OPC报警与事件、历史数据存取等规范在模拟机系统中都有应用场景。OPC报警与事件规范提供了当特定的事件和报警发生时,客户端程序可从服务器得到通报的机制,允许客户端确定事件和条件。OPC历史数据存取规范可提供原始数据或压缩数据的存储机制,还提供汇总、分析数据功能。此外还有批量数据存取规范,安全性规范等。这些技术在模拟机系统软件中应用有待于进一步研究、尝试。OPC标准接口的引入,必然会使模拟机系统更实时,更稳定、开放,易于扩展、掌握和实施。
参考文献
[1]ANSI/ANS-3.5-2009 “nuclear power plant simulators for use in operator training and examination”
[2]彭瑾,王锦标.新的OPC规范——OPC XML-DA[J].冶金自动化,2004,28(1):6-9.
[3]吴鑫,宫亮,杨煜普.OPC跨平台实现方法.计算机工程,2009,35(13):240-242.