基于OPC技术的系统集成设计与实现
由于OPC数据服务器既要对底层硬件进行读写操作,又要通过OPC接口与客户程序进行交互,为保证数据存取的效率,所以采用多线程模型,创建exe形式的进程外OPC服务器。实现OPC数据访问服务器的主要步骤包括:
(1)用ATL创建一个exe进程外服务器。将OPCDA规范中的IDL文件,加入项目中进行编译,将组件接口引入到工程中;
(2)添加OPCServer对象。创建一个简单的ATL对象,命名为GstServer,按照OPC规范添加相应接口并实现其方法,其中AddGroup函数的实现是难点;
(3)添加OPCGroup对象。Group对象是通过Server对象的创建实现的,因此不需要类型库,所以要在工程的OPCDA.cpp文件的对象映射中将其删除,然后用聚合实现接口的添加:
BEGIN_COM_MAP()
COM_INTERFACE_ENTRY_AGGREGATE()
END_COM_MAP()
(4)定义一个类CGstItem添加Item对象。OPCItem无需实现任何接口功能,只要根据实际情况增加相应的功能函数,如根据OPCltem的名称与数据源进行连接、读写数据源等;
(5)数据存储区的设计。数据存储区包含了服务器程序定义的数据项。要根据项的数目确定缓存的大小,使得每个项都有相对应的内存空间;
(6)OPC服务器的结构和功能大同小异,主要的区别在于硬件驱动程序。可以针对不同设备开发相应的读写接口类,并与相应的OPC服务器里的项对象连接起来,实现OPC服务器对现场数据的存取功能。
4 OPC客户应用程序的实现
在该集成系统中,通过自行开发的OPC客户端实现集成平台和子系统的数据交换。在应用程序运行时,客户端将按照指定的采集频率对数据进行采集。
自动化接口封装了COM底层的许多实现,使用户能比较轻松地进行数据访问,具有简单、易于编程等优点。该系统的OPC客户端程序使用VB6通过OPC自动化接口实现OPC数据访问。程序示例如下:
(1)启动VB,新建一工程OPCClient,在VB主菜单的“工程”项中选择“引用”,在弹出窗口可用的引用选项中选择“OPC Automation 2.0”,就可以使用自动化接口;
(2)声明使用的对象及变量
(3)连接OPC服务器、建立OPC组和添加OPC项
5 结 语
OPC作为一项逐渐成熟的技术已得到国内外厂商的高度重视,许多公司都在原有产品的基础上增加了对OPC的支持。由于统一了数据访问的接口,使控制系统进一步走向开放,实现了信息的集成和共享,所以用户能够得到更多的方便。相信随着技术的发展,OPC会越来越广泛地应用于工业过程控制领域。
- 直接变频接收机设计可实现多标准/多频带运行(10-11)
- 基于蓝牙芯片的无线通信模块设计与开发(02-03)
- 无线通信网络设计与现场测试(10-10)
- WiMAX数据传输加密方案设计与实现(05-25)
- 高性能TD-SCDMA接收机的设计(03-15)
- 初步设计WiMAX射频系统(03-29)