分享
 
 
 

OPC技术在监控系统中的应用(司纪刚 徐洁)

王朝c#·作者佚名  2006-12-17
窄屏简体版  字體: |||超大  

0 引言

随着计算机科学技术、工业控制等方面的新技术的迅速发展,计算机监控系统由早期的集中式监控向全分布式的方向发展,计算机监控系统软件也从早期面向功能的系统,随着面向对象技术、分布式对象计算、多层次Client/Server技术的成熟,发展为面向具体现场设备为特征的面向对象的计算机监控系统。

同时,计算机监控系统规模越来越大,不同厂家生产的现场设备的种类在不断的增加,由于不同厂家所提供的现场设备的通讯机制并不相同,计算机监控系统软件需要开发的设备通信驱动程序也就越来越多,而基于COM/DCOM技术的OPC技术,提供了一个统一的标准,不同厂商只要遵循OPC技术标准就可以实现软硬件的互操作性。

1 OPC简介

1.1 OPC的概念及技术优势

OPC(OLE for Process Control)是为过程控制设计的OLE技术,由一些世界上占领先地位的自动化系统和硬件、软件公司与微软(Microsoft)紧密合作而建立的,OPC基金会负责OPC规范的制定和发布。OPC提出了一套统一的标准,采用CLIENT/SERVER模式,针对硬件设备的驱动程序由硬件厂商或专门的公司完成,提供具有统一OPC接口的SERVER程序,软件厂商按照OPC标准访问SERVER程序,即可实现与硬件设备的通信。

与传统的方式相比,OPC技术具有以下优势:

a. 硬件厂商熟悉自己的硬件设备,因而设备驱动程序性能更可靠、效率更高。

b. 软件厂商可以减少复杂的设备驱动程序的开发周期,只需一套遵循OPC标准的程序就可以实现与硬件设备的通信,并可以把人力、物力资源投入到系统功能的完善中。

c. 可以实现软硬件的互操作性。

OPC把软硬件厂商区分开来,使得双方的工作效率有了很大的提高,因此

OPC技术得到了广大软硬件厂商的支持,并迅速发展。 国家电力公司电力自动化研究院自动控制所开发的EC2000计算机监控系统软件对提供OPC Server的设备全面支持。

1.2 OPC技术的本质——COM/DCOM

随着计算机网络技术的发展,计算机监控系统也普遍的采用了分布式结构,因而系统的异构性是一个非常显著的特点。OPC技术本质是采用了Microsoft的COM/DCOM(组件对象模型/分布式组件对象模型)技术,COM主要是为了实现软件复用和互操作,并且为基于WINDOWS的程序提供了统一的、可扩充的、面向对象的通讯协议,DCOM是COM技术在分布式计算领域的扩展,使COM支持在局域网、广域网甚至Internet上不同计算机的对象之间的通讯。

1.3 OPC规范

基于COM/DCOM技术的OPC采用客户/服务器结构,为各厂家提供了一个公用的数据交换标准和规范,各个硬件设备厂家为其设备提供一个符合OPC规范接口的服务器,其他应用程序通过OPC接口对OPC服务器的访问实现对硬件设备的读写,由此软件开发者只需要开发一套OPC CLIENT程序,而不需要了解各硬件设备的通讯协议,也不需要为市场上几百种的硬件设备写专门的驱动程

序。

OPC规范主要包括OPC服务器(SERVER)和OPC 应用程序(CLIENT)两部分。其中一个OPC CLIENT可以连接一个或多个OPC 服务器,而多个OPC CLIENT也可以同时连接一个OPC 服务器,如图1所示。

图1:OPC CLIENT/OPC SERVER关系

2 OPC服务器组成

OPC服务器由3类对象组成:服务器(SERVER)、组(GROUP)、和数据项(ITEM)。

服务器对象保存服务器和服务器作为OPC组对象容器的所有信息。

OPC组对象保存组对象的信息,并提供组织OPC数据项的机制。OPC组对象为客户提供了组织数据的一种方法。例如,一个组可能代表一个特殊设备的数据项。OPC CLIENT可以通过组对象来读写数据,并可以设定OPC服务器应该提供给OPC CLIENT的数据更新速率。OPC规范定义了2种组对象:公共组和私有组。公共组由多个客户共享,局部组只隶属于一 OPC客户。全局组对所有连接在服务器的应用程序都有效,而私有组只能对建立他的CLIENT有效。在一个SERVER中,可以有若干个组。

OPC 数据项代表到OPC 服务器的数据源连接,并不是数据源,数据项是读写数据的最小逻辑单位(在实际应用中,可能是物理设备的寄存器或寄存器的某一位),数据项不提供对外接口,不能作为单独的对象供OPC CLIENT访问,必须隶属于某一个组,所有对OPC数据项的访问必须经过包含OPC数据项的组对象,即必须通过组对象才可以访问到OPC数据项。在一个组对象中,客户可以加入多个OPC数据项。每个数据项包括3个变量:值(Value)、品质(Quality)和时间戳(Time Stamp)。数据值是以VARIANT形式表示的。

图2:Server/Group/Item关系

3 OPC CLIENT 应用程序

3.1 OPC接口

OPC规范有两种接口方式:自定义接口(Custom Interface)和自动化接口

(Automation Interface)。自定义接口是一组COM接口,主要用于采用C++语言的的应用程序开发;自动化接口是自动化的OLE接口,主要用于采用VB,DELPHI等基于脚本编程语言的应用程序开发。

图3:两种接口的OPC服务器通信方式

自动化接口

自定义接口

C++

客户程序

VB

客户程序

OPC服务器(本地、进程内、远程)

图3两种接口的OPC服务器通信方式

对于客户端应用程序的开发,采用自定义接口的方式运行效率高,但开发难度大;采用自动化接口的方式运行效率低,但开发简单。利用这两种接口与OPC服务器的通信见图3。

对于分布式的对象上的OPC客户程序的开发,OPC标准采用DCOM技术实现服务器和客户程序的通讯。

3.2访问OPC服务器进行数据交互

由图2可以看出,OPC服务器可分为三层结构,SERVER,GROUP和ITEM。

在实际访问OPC服务器时,第一步要完成COM库的初始化,然后创建一个服务器对象,建立与服务器的连接,获得服务器对象的接口;第二步要添加组对象,

并设定数据刷新速率,死区等参数;第三步添加数据项对象,数据项对象有只读,只写等属性,可以根据实际需要设置属性。

OPC客户和OPC服务器进行数据交互有2种访问方式:同步和异步方式。

同步方式实现较为简单,客户向服务器发出读写请求,然后等待服务器返回信息,当客户数据较少而且同服务器交互的数据量比较少的时候可以采用这种方式,然而当网络堵塞或大量客户访问时,会造成系统的性能效率下降。

异步方式实现较为复杂,客户向服务器发出读写请求后,服务器立刻返回信息表示请求已接受,客户可以进行其他处理,当服务器完成读写操作后,通过调用回调函数,通知客户程序操作完成,并传递相应的信息,因此异步方式的效率更高,能够避免多客户大数据请求的阻塞,并可以最大限度地节省CPU和网络资源。另外一种异步方式是服务器周期性的扫描缓冲区的数据,发现数据变化范围超过死区后,立刻通知客户程序,传递相应信息。

3.3应用实例

以太网

串口

SLC500

工控机

RSLinx OPC Server

硬件驱动程序

数据缓冲区

OPC接口

OPC客户程序

EC2000现地软件

上位机系统

图4:基于OPC技术的SLC500通讯系统结构

浙江长潭水电站计算机监控系统采用国家电力公司电力自动化研究院自动控制所研制的的EC2000计算机监控系统,由上位机系统、三套机组LCU和一套公用LCU通过以太网连接组成,上位机系统采用EC2000监控软件,机组LCU和公用LCU均采用工控机+PLC的模式,PLC采用罗克韦尔(RockWell)公司的SLC500(串口)型PLC,并采用罗克韦尔公司的RSLINX通讯软件。

RSLINX通讯软件支持最新的OPC技术,提供符合OPC规范的OPC服务器(RSLinx OPC Server),经过简单配置后实现与SLC500的连接。现地工控机监控软件采用OPC技术(自定义接口和异步方式),通过OPC客户程序访问RSLINX内含的OPC服务器(RSLinx OPC Server),实现与SLC500的通讯。系统结构如图4所示。

在其他工程中先后采用OPC技术实现了同罗克韦尔公司的SLC500(以太网)PLC,CONTROL LOGIX系列PLC(以太网),SIMENS公司的S7系列PLC(以太网,Profibus)通讯,并成功的应用于云南大寨电厂、湖南洪江电厂闸门等计算机监控系统中。

4 结束语

目前,已有270多家公司加入了OPC基金会,OPC技术在短时间内取得了飞速发展,现在国内外自动化领域的软硬件产品都在做这方面的开发工作,逐步实现了软硬件之间的标准化。

参考文献:

1. OPC Foundation, OPC Data Access Custom Interface Specification,Http:www.opcfoundation.org

2. David J , Kruglinski,Visual C++技术内幕[M],北京:清华大学出版社,1999

3. 马国华,监控组态技术及其应用,北京:清华大学出版社,2001

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有