论文部分内容阅读
摘 要:介绍了OPC服务器的组成、OPC服务器的实现方法和OPC客户程序的体系结构以及它们之间的访问数据的过程控制。以烟草企业中的以太网系统为例,介绍了OPC服务器在企业现场总线中的应用。
关键词:过程控制系;OPC规范;数据访问;OPC;OPC服务器;OPC客户程序
中图分类号:TP13文献标识码:A
Data Access in the Process Control System Based on OPC Technology
BIAN Bei-bei
(Faculty of Software Engineering, Changchun Institute of Technology,JilinChangchun 130012)
Key words: process control system;OPC technology;data access
在传统的控制系统中,智能化的硬件设备之间、智能设备与控制软件之间以及计算机应用软件之间的信息共享是通过驱动程序来实现的。由于缺乏统一的连接标准,不同厂家的工控软件与不同厂家的硬件设备进行系统集成时,往往需要大量的专用的驱动程序。微软与一些供应商合作推出了OPC(OLE for Process Control过程控制中的对象链接与嵌入)标准。OPC包括一整套接口、属性和方法,硬件厂商只需要对产品提供带有OPC接口的服务器,软件厂商也采用支持OPC接口的客户端程序就能对他们进行统一的访问。
1 OPC客户/服务器模型的实现
1.1设计OPC服务器与客户端
OPC服务器包括3类层次的对象。OPC服务器对象创建和管理OPC组,维护有关服务器信息,处理异常,浏览服务器内部组织结构;OPC组对象的功能是创建和管理OPC项,管理自身内部状态信息;OPC项对象的操作是通过创建此OPC项对象的OPC组进行的,可由客户端进行定义和维护。
数据存储区中存放着OPC服务器中定义的数据项。客户程序通过OPC组对象添加OPC项时,将OPC项与数据项关联起来,读取数据时返回其基本属性。数据存储区是服务器的中心部分,需要动态地管理和维护数据项,并与其它部分进行数据交互。
硬件驱动程序是OPC服务器对硬件进行设置和读写操作的部分,不同的硬件均需要开发相应的接口函数,并将底层细节封装起来以供服务器中其它部分调用。
关键的设计是OPC对象部分的实现。由COM组件的标准接口类IUnknown派生出OPCServer、OPCGroups和OPCItems三个类,来重载IUnknown类中的接口查询和引用计数函数。
客户程序本身可以完成很多复杂的数据处理与显示功能,但需要通过OPC接口部分访问OPC服务器,对现场数据进行存取。
OPC客户程序需要实现与OPC服务器进行交换的功能包括创建服务器对象、组对象,读写数据等。设计时需要注意COM对象的引用计数问题、内存管理问题和处理错误返回代码问题。
由于一个OPC客户程序可能与多个OPC服务器相连,因此设计时也最好采用多线程。
1.2OPC客户程序与服务器的交互访问
OPC数据存取服务器主要由以下几个对象组成,即服务器对象、组对象和项对象。OPC服务器对象维护有关服务器的信息并作为OPC组对象的包容器,可动态地创建或释放组对象;而OPC组对象除了维护有关其自身的信息,还提供了包容OPC项的机制,逻辑上管理OPC项;OPC项则表示了与OPC服务器中数据的连接。其中,OPC服务器对象和OPC组对象是真正的COM对象,能够将各自的接口暴露给应用程序。OPC服务器对象和OPC组对象是聚合关系,即OPC服务器对象创建OPC组后,将组对象的指针传给客户,由客户直接操作组对象。而组对象只是简单地包容OPC项对象,客户程序通过组对象管理OPC项。这样既提高了数据存取的速度也易于功能扩展。在OPC服务器中,OPC对象需
要与数据存储区和硬件驱动程序相连接,以便获取数据或直接访问硬件设备。
2 OPC服务器实现及其在烟草企业中的应用
本节介绍以上工作在某烟草企业中的应用,在该企业的以太网控制系统中将企业现场控制层与生产管理调度层有机地连接起来,组成一个开放性好可靠性高的分布式控制系统。它以监控分析为主,同时具有实时信息管理的作用,实现全厂优化调度。设计的集成系统以COM/DCOM为基础,OPCDA为数据交换标准,采用二层C/S结构的分布式系统。
C/S分布式架构:第一层是OPC客户程序;第二层是数据层,用于隐藏数据源细节并以统一的格式向上一层提供订阅的现场实时数据和历史数据,在这一层通过使用OPC服务器对实时数据进行封装,这样OPC客户程序可以通过统一的接口存取数据。企业中的OPC数据服务器主要由服务器对象、组对象、项对象、数据存储区和TCP/IP通信接口组成。由于OPC数据服务器既要通过网卡与现场设备进行通信,又要通过OPC接口与客户程序进行交互,所以采用多线程模型以保证数据存取的效率。
数据通信实现:OPC服务器对现场控制设备提供接口,使得现场控制层的各种过程信息能够进入OPC服务器,从而实现向下互联。另外OPC 服务器还对上层设备提供标准接口,使得上层企业网络设备能够取得OPC服务器中的数据,从而实现向上互联。而且这两种互联都是双向的。
3 结束语
在计算机集成制造系统(CIMS)等综合自动化系统中,OPC技术作为一项工业标准同样得到了推广和应用。随着OPC技术的发展,任何厂家开发的应用软件都能与任何其他厂家的现场设备相互连接、信息共享,OPC技术将会在工业控制领域发挥更加重大的作用。
关键词:过程控制系;OPC规范;数据访问;OPC;OPC服务器;OPC客户程序
中图分类号:TP13文献标识码:A
Data Access in the Process Control System Based on OPC Technology
BIAN Bei-bei
(Faculty of Software Engineering, Changchun Institute of Technology,JilinChangchun 130012)
Key words: process control system;OPC technology;data access
在传统的控制系统中,智能化的硬件设备之间、智能设备与控制软件之间以及计算机应用软件之间的信息共享是通过驱动程序来实现的。由于缺乏统一的连接标准,不同厂家的工控软件与不同厂家的硬件设备进行系统集成时,往往需要大量的专用的驱动程序。微软与一些供应商合作推出了OPC(OLE for Process Control过程控制中的对象链接与嵌入)标准。OPC包括一整套接口、属性和方法,硬件厂商只需要对产品提供带有OPC接口的服务器,软件厂商也采用支持OPC接口的客户端程序就能对他们进行统一的访问。
1 OPC客户/服务器模型的实现
1.1设计OPC服务器与客户端
OPC服务器包括3类层次的对象。OPC服务器对象创建和管理OPC组,维护有关服务器信息,处理异常,浏览服务器内部组织结构;OPC组对象的功能是创建和管理OPC项,管理自身内部状态信息;OPC项对象的操作是通过创建此OPC项对象的OPC组进行的,可由客户端进行定义和维护。
数据存储区中存放着OPC服务器中定义的数据项。客户程序通过OPC组对象添加OPC项时,将OPC项与数据项关联起来,读取数据时返回其基本属性。数据存储区是服务器的中心部分,需要动态地管理和维护数据项,并与其它部分进行数据交互。
硬件驱动程序是OPC服务器对硬件进行设置和读写操作的部分,不同的硬件均需要开发相应的接口函数,并将底层细节封装起来以供服务器中其它部分调用。
关键的设计是OPC对象部分的实现。由COM组件的标准接口类IUnknown派生出OPCServer、OPCGroups和OPCItems三个类,来重载IUnknown类中的接口查询和引用计数函数。
客户程序本身可以完成很多复杂的数据处理与显示功能,但需要通过OPC接口部分访问OPC服务器,对现场数据进行存取。
OPC客户程序需要实现与OPC服务器进行交换的功能包括创建服务器对象、组对象,读写数据等。设计时需要注意COM对象的引用计数问题、内存管理问题和处理错误返回代码问题。
由于一个OPC客户程序可能与多个OPC服务器相连,因此设计时也最好采用多线程。
1.2OPC客户程序与服务器的交互访问
OPC数据存取服务器主要由以下几个对象组成,即服务器对象、组对象和项对象。OPC服务器对象维护有关服务器的信息并作为OPC组对象的包容器,可动态地创建或释放组对象;而OPC组对象除了维护有关其自身的信息,还提供了包容OPC项的机制,逻辑上管理OPC项;OPC项则表示了与OPC服务器中数据的连接。其中,OPC服务器对象和OPC组对象是真正的COM对象,能够将各自的接口暴露给应用程序。OPC服务器对象和OPC组对象是聚合关系,即OPC服务器对象创建OPC组后,将组对象的指针传给客户,由客户直接操作组对象。而组对象只是简单地包容OPC项对象,客户程序通过组对象管理OPC项。这样既提高了数据存取的速度也易于功能扩展。在OPC服务器中,OPC对象需
要与数据存储区和硬件驱动程序相连接,以便获取数据或直接访问硬件设备。
2 OPC服务器实现及其在烟草企业中的应用
本节介绍以上工作在某烟草企业中的应用,在该企业的以太网控制系统中将企业现场控制层与生产管理调度层有机地连接起来,组成一个开放性好可靠性高的分布式控制系统。它以监控分析为主,同时具有实时信息管理的作用,实现全厂优化调度。设计的集成系统以COM/DCOM为基础,OPCDA为数据交换标准,采用二层C/S结构的分布式系统。
C/S分布式架构:第一层是OPC客户程序;第二层是数据层,用于隐藏数据源细节并以统一的格式向上一层提供订阅的现场实时数据和历史数据,在这一层通过使用OPC服务器对实时数据进行封装,这样OPC客户程序可以通过统一的接口存取数据。企业中的OPC数据服务器主要由服务器对象、组对象、项对象、数据存储区和TCP/IP通信接口组成。由于OPC数据服务器既要通过网卡与现场设备进行通信,又要通过OPC接口与客户程序进行交互,所以采用多线程模型以保证数据存取的效率。
数据通信实现:OPC服务器对现场控制设备提供接口,使得现场控制层的各种过程信息能够进入OPC服务器,从而实现向下互联。另外OPC 服务器还对上层设备提供标准接口,使得上层企业网络设备能够取得OPC服务器中的数据,从而实现向上互联。而且这两种互联都是双向的。
3 结束语
在计算机集成制造系统(CIMS)等综合自动化系统中,OPC技术作为一项工业标准同样得到了推广和应用。随着OPC技术的发展,任何厂家开发的应用软件都能与任何其他厂家的现场设备相互连接、信息共享,OPC技术将会在工业控制领域发挥更加重大的作用。