OPC开发介绍,OPC SERVER列举和连接

本文介绍了OPC(OLE for Process Control)的基本概念,并详细讲解了OPC客户端开发的步骤,包括初始化COM库、创建COM Server实例、列举本机OPC2.0组件以及连接和操作OPC服务器。示例代码演示了如何列举OPC服务器和使用接口进行浏览。
 
 
OPC是OLE for Process Control的缩写,即应用于工业控制OLE。OLE是Object Linking and Embedding的缩写,即对象的链接和嵌入。OLE是一种软件技术,最初为了实现复合文档,以COM/DCOM技术为基础。
一提到OPC开发,首先给人的感觉是比较高深的技术,既需要COM/DCOM知识又需要了解OPC的技术标准,让人有些望而却步。其实“事情不像我想象”,OPC开发工作做起来也很简单。
首先,过COM/DCOM关。COM/DCOM是一种软件技术(或标准),规定了一个对象如何向其他对象暴露自身的接口。这个规定可以简单地理解为:要求DLL提供一个周知的接口,通过此接口可以知道DLL提供的其他函数接口,编程也不难,依葫芦画瓢,网上葫芦很多。
 
其次,过OPC关。因为OPC是基于COM技术的,所以OPC的规范就是“规定支持的接口”,但仅仅了解接口规范还不够,您需要了解OPC的内部工作机制才能开始OPC编程,如接口之间的关系,接口中参数,什么是刷新周期,同步异步读写的区别等,为此您需要阅读OPC规范。
 
最后,应用关。过了前两关,您就可以将OPC应用到您的实际工作中了。这是灵活运用,您自己的事了。
 
一:咱是做OPC开发,而不是想精通COM技术,所以对COM,我们只做一般了解,能够应付OPC开发就可以了。COM技术“规定了一个对象如何向其他对象暴露自身的接口”,那么它就涉及两方面的对象,提供接口的对象-服务器,和使用接口的对象-客户端。如果您是做客户端开发,只需要知道如何使用COM服务器就可以了,本文介绍OPC客户端的开发,关于服务器开发,在后续文章中介绍。
 
使用COM服务器四个步骤:
1、 初始化COM库
2、 启动COM SERVER
3、 调用接口函数
4、 关闭COM库
 
下面是一个列举本机OPC2.0组件的代码,包含上述4个步骤。本例中 CLSID_StdComponentCategoriesMgr COM Server 的标识, EnumClassesOfCategories COM Server 提供的接口。
#include "stdafx.h"
 
// 使用 COM
#define _WIN32_DCOM
 
#include "comcat.h"
#include "objbase.h"
 
static const CATID CATID_OPCDAServer20 = { 0x63d5f432, 0xcfe4, 0x11d1, { 0xb2, 0xc8, 0x0, 0x60, 0x8, 0x3b, 0xa1, 0xfb } };
 
int _tmain(int argc, _TCHAR* argv[])
{
 
         // 初始化 COM
         HRESULT hr = CoInitializeEx (NULL, COINIT_MULTITHREADED);
 
         if (SUCCEEDED (hr))
         {
                   // 创建 COM Server 实例
                  ICatInformation *pCat = NULL;
                   hr = CoCreateInstance (CLSID_StdComponentCategoriesMgr,
                            NULL,
                            CLSCTX_SERVER,
                            IID_ICatInformation,
                            (void **)&pCat);
 
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值