计算机测控系统中OPC技术的实现

2011-04-10 08:27福建工程学院文化传播系福建福州350108
长江大学学报(自科版) 2011年31期
关键词:测控编程客户端

(福建工程学院文化传播系,福建 福州350108)

OPC(OLE for Process Control)技术是微软公司研发的对象链接和嵌入技术的简称。OPC技术支持网络协议,因而可以将各个子系统在物理设备上区分开并分布在网络的不同节点上[1]。应用OPC技术可以简化设备与中控中心、设备与设备间的接口互联,据此实现整体集成。此外,应用该技术能将现场设备、自控应用、企业管理等软件之间相互连接起来,从而能够即插即用。下面,笔者对计算机测控系统中OPC技术的实现进行阐述。

1 建立OPC服务器对象

1.1 建立OPC服务器

1)利用C++的MFC标准类库或者ATL模板类库 先调用相应的程序函数,进行初始化并完成函数的注册,然后通过系统函数向OPC运行库中添加多个数据项目,最后通过函数对其属性进行设置。具体过程如下:①调用Runsvr函数,启动OPC服务器,建立客户程序与服务器之间的通信;②在完成运行并得到数据后,调用UpdateTag函数对OPC运行库中的数据进行刷新;③利用Uninit OPC Server函数退出。

2)利用厂商提供的自动化软件中设定的德尔OPC服务器模块建立OPC Server 以西门子公司提供的SimaticNET软件建立OPC服务器的过程为例,其具体内容如下:①在PC机上安装特定的通信卡,并安装提供的SimaticNET软件,完成安装后系统会对通信卡进行识别和启动。②在程序中启动相应的软件,在相应的对话框内写入数据,完成添加组件OPC服务器和通信卡,并设置波特率、地址、总线类型的基本系统属性(见图1)。③利用相应的设置为PC站组态下载做好准备。④打开软件界面建立一个新的工程,插入相应服务站名称,该名称应与已命名的服务器名称相一致,然后点击站点对其进行下一步设置,在设置的过程中,要保持其属性与命名设定相同。⑤在进入到网络配置窗口之后插入一个新的链接,在该链接上挂接PLC(Power Line Communication)或者相应的通信设备。⑥保存前面进行的各种设置,系统会判断是否正确,如正确则将组态数据下载到PC上,连接成功后系统会提示正确。

图1 OPC服务器输入界面

1.2 建立服务器对象接口

在服务器对象接口中,IOPCServer是OPC Server的主接口,通过它实现OPCServer在操作系统中的安装和注册。以下是IOPCServer接口的实现过程:

在OPC Server上建立一个组,对组名(szName)进行检查,看是否有效或是否已经有这个组。

如果szName(组名)正确并且没有建立过该组,就可以根据传过来的参数进行组的建立,建立好后将该组加到自己的组列表中以备用,最后将新建组的接口指针返回给客户端[2]。

2 OPC客户端的开发

服务器作为控制系统的数据源,客户应用程序通过OPC接口访问OPC服务器,对现场数据进行采集、处理[3]。客户可以根据需要分别采用自动化定义和自定义接口来完成对客户端应用程序的开发。通常VB等解释型语言可以完成对其自动化访问的接口设计,进而实现服务器访问,使用VC++等过程性编程语言可完成对自定义接口的OPC服务器的访问和控制。

2.1 编程方式

1)VC++编程 用VC++高级语言对OPC客户端进行程序编写,关键步骤如下[4]:①对包含OPC头文件设定,包括了数据存取接口、数据存取2.0头文件、公用接口定义、公用头文件等进行设定,标准的文库在OPC中均有提供。②对COM数据库初始化,即调用相应的函数,如返回值为S-OK即完成,如果需要异步数据传输,客户应添加ATL模块库辅助。③创建相应的OPC服务器接口,即OPCServer接口,在这个过程之中应该注意保持远程计算机和本地计算机的操作与服务器操作的一致性。④创建一个OPC组,利用相应的控制对象与接口创建一个系统函数,返回相应的对象接口,通过对象接口完成增加、删除的工作,同时将控制系统内部的接口与服务器相连接。⑤进行Item设置时,在系统中允许添加多个Item,每个Item的属性可以使用ItemArray来进行设定,当服务器添加Item或者服务器返回结果时,服务器结果显示的信息将储存在相应的变量中;⑥对数据项进行读取和编辑,其处理方式包括同步通信和异步通信。前者较为简单,可以在数据量较小的系统中使用;后者较为复杂,主要应用在数据量较大、测控对象复杂的环境中。

2)VB编程 在编程前应引用OPC自动化的封装器,该封装器可以从OPC标准文库中获得,也可以采用不同厂家提供的封装器。利用VB语言进行编程的操作方式与VC++十分相似,主要包括了全局变量、服务器组、数据项、浏览器等内容。

OPC的客户服务段不仅只包括OPC服务器访问接口程序,还可在不同的控制系统中针对事件处理、数据处理、定时程序、数据输出等进行接口的设置与编程。

2.2 客户端-服务器的数据交互

在OPC客户应用程序开发过程中,有以下比较重要的部分:①OPC数据读取模块的设计,设计的内容主要是保持接口与数据库的信息交互,定时对服务器上的实时数据进行读取,同时也可对数据库进行写入。②OPC数据保存模块的设计,即通过数据库特定的访问方式对数据库进行操作,采用创建数据库单元形式进行数据库的操作。

利用VB来实现OPC客户端程序的开发,将程序和数据组合成为一个队形,并且利用每一个对象所赋予的必要属性使其完成相应的功能。在设计对象的时候不需要编写建立和描述每个不同对象的程序代码。

2.3 连接OPC服务器和建立OPC组

在连接OPC服务器时,用对象的 “Connect”方法调用OPC服务器。在连接远程服务器的时候,还需要指定远程计算机名。在VB里,是以对象为单位对OPC服务器进行访问。OPC自动化接口由以下3种对象定义,即OPC服务器、OPC组(OPC组集合)和OPC标签(OPC标签集合)。具体来说,先连接一个特定的OPC服务器,然后建立OPC组,最后添加OPC标签。考虑到代码的可反复使用性,采用子程序进行编程:

2.4 添加OPC标签

对服务器进行访问前,必须先在OPC组里添加要访问的OPC标签,具体内容如下:

3 结 语

OPC技术为工业化计算机测控系统提供了一种便捷、实用的信息交互途径,利用OPC技术可以对网络和系统内设备间的数据传输进行有效的控制和监测。随着计算机网络技术的不断拓展,OPC技术将在工业计算机测控系统中获得更广阔的应用空间。

[1]刘暾东,余齐齐,柳小鹏.OPC服务器软件开发及在DCS中的应用 [J].化工自动化及仪表,2007,7(1):45-46.

[2]张勇波,冯永寿.在OPC技术支持下的系统管控一体化实现及软件开发 [J].测控技术,2006,4(8):12-13.

[3]邓全亮,邹仁.基于OPC技术的系统集成 [J].计算机应用研究,2008,9(1)156-157.

[4]杨锦园.基于OPC技术的工业化控制网络的接口程序设计 [J].工业仪表与自动化装置,2007,7(5):23-24.

猜你喜欢
测控编程客户端
编程,是一种态度
元征X-431实测:奔驰发动机编程
编程小能手
纺织机上诞生的编程
如何看待传统媒体新闻客户端的“断舍离”?
基于LabWindows/CVI与TekVISA的Tek示波器远程测控软件设计
县级台在突发事件报道中如何应用手机客户端
孵化垂直频道:新闻客户端新策略
大枢纽 云平台 客户端——中央人民广播电台的探索之路
基于现代测控技术及其应用分析