COM及OPC技术
OPC通讯与COM技术原理

OPC通讯与COM技术原理具体来说,OPC通讯的原理包括以下几个方面:技术:COM技术是OPC通讯的基础,它提供了一种通用的组件模型,使得不同类型的组件可以在同一个环境中协同工作。
COM技术通过提供标准的接口和协议,支持组件之间的互操作性。
2.OPC服务器:OPC服务器是提供实时数据服务的应用程序,它可以是硬件设备的驱动程序、数据采集软件、数据库等。
OPC服务器通过COM接口向客户端提供数据读取和写入的功能。
3.OPC客户端:OPC客户端是数据的使用者,它可以是数据监控、数据处理、控制系统等应用程序。
OPC客户端通过COM接口与OPC服务器进行通讯,读取和写入数据,实现数据的采集、处理和控制。
4.OPC数据对象:OPC通讯中的基本单位是数据对象,它表示一个数据项或一组相关的数据项。
数据对象包括标识符、数据类型、访问属性等信息。
客户端通过标识符来指定要访问的数据对象。
5.OPC数据访问:OPC通讯可以实现数据的读取和写入。
客户端通过COM接口向服务器发送读取或写入请求,并接收服务器返回的数据或响应。
数据的读取和写入通过COM接口传输,可以是同步方式或异步方式。
6. OPC数据传输:OPC通讯可以使用不同的传输协议来实现数据的传输,例如DCOM(分布式COM)、OPC DA(Data Access)等。
DCOM是COM技术在分布式环境中的扩展,可以在网络上进行数据传输。
OPC DA是一种基于COM的数据访问协议,用于实时数据的读取和写入。
总的来说,OPC通讯通过COM技术实现客户端和服务器之间的数据交互。
客户端通过COM接口向OPC服务器发送读取或写入请求,并接收服务器返回的数据或响应。
OPC通讯可以使用不同的传输协议来实现数据的传输,如DCOM、OPCDA等。
OPC通讯的原理为工业控制系统提供了一种标准的数据交互方式,实现了不同设备和应用程序之间的数据集成和互操作性。
OPC通讯协议介绍

详细描述
在能源管理系统中,OPC通讯协议被用于实现能源数据 的采集、监控和优化管理。通过OPC服务器,可以实时 采集各种能源数据(如电、水、气等),并进行监控和 分析。同时,OPC通讯协议还能够实现能源设备的远程 控制和优化调度,提高能源利用效率和减少能源浪费。 这对于节能减排和可持续发展具有重要的意义。
OPC客户端是用于与OPC服务器进行通信的软 件应用程序。
OPC客户端支持多种编程语言和开发环境,如C 、、Python等,方便开发者集成到自己 的应用程序中。
OPC数据访问接口
OPC数据访问接口是用于读取和 写入OPC服务器中数据的接口。
它提供了统一的API接口,以便 OPC客户端可以方便地访问OPC
OPC安全性的实现过程
要点一
总结词
OPC安全性是保障数据传输和存储的重要措施,通过加密 、认证和授权等方式实现安全防护。
要点二
详细描述
为了确保OPC通讯的安全性,可以采用多种安全措施。例 如,对传输的数据进行加密处理,以防止数据被窃取或篡 改;使用用户名和密码进行身份认证,确保只有授权的用 户才能访问数据;对不同用户设置不同的访问权限,防止 未经授权的访问和操作。这些措施可以有效保障OPC通讯 的安全性。
03 OPC通讯协议的工作原理
OPC服务器的注册过程
总结词
OPC服务器注册是建立OPC通讯的第一步,需要配置服务器信息并注册到OPC服务器。
详细描述
在OPC通讯中,OPC服务器是中心节点,负责提供数据服务。首先,需要配置服务器的相关信息,如服务器名称、 IP地址、端口号等。然后,通过OPC提供的工具或编程接口,将服务器注册到OPC服务器上,完成服务器的注册 过程。
详细描述
基于OPC技术的工业通讯应用

基于OPC技术的工业通讯应用一、OPC技术简介OPC是OLE for Process Control的缩写,是由微软公司提出的一种通用的工业自动化数据通信规范。
它基于微软的COM技术,允许不同厂家的设备、控制器和系统之间进行实时数据交换和通讯。
OPC技术旨在解决工业自动化系统中不同设备、控制器或系统之间的数据通信和集成问题,提高系统的互操作性和数据共享性,加速工业自动化系统的集成和发展。
1. 数据采集与监控在工业自动化系统中,各种传感器、仪器仪表、PLC等设备产生大量实时数据,需要进行采集和监控。
基于OPC技术的工业通讯系统可以实现对这些设备的数据采集和监控,通过OPC Server将实时数据传输至上位系统,实现对工业过程的监控和管理。
这种方式可以实现不同厂家、不同类型的设备数据的统一采集和集中管理,提高了系统的可靠性和稳定性。
2. 设备控制与调度3. 数据存储与分析4. 系统集成与互联1. 大型工业制造企业2. 石化化工企业某石化化工企业利用OPC技术实现了生产过程的远程控制和调度。
他们使用OPC Server和OPC Client之间的数据通讯,实现了对远程设备和控制器的远程控制和调度。
通过这种方式,他们可以实现对生产过程的实时控制和调度,大大提高了生产过程的灵活性和可控性。
3. 能源电力企业某能源电力企业利用OPC技术实现了生产过程的数据存储和分析。
他们使用OPC Server将实时数据传输至数据库系统,然后通过数据分析系统对数据进行实时分析和处理。
通过这种方式,他们可以实时监测和分析生产过程中的各项数据,为生产过程的优化提供了重要的参考依据。
随着工业自动化的不断发展,基于OPC技术的工业通讯应用将会得到更广泛的应用。
未来,随着物联网、人工智能等新技术的不断发展,基于OPC技术的工业通讯系统将会更加智能化和自动化,实现对工业生产过程的更加精细化和智能化的控制和管理。
OPC通讯协议介绍

OPC通讯协议介绍一、引言OPC(OLE for Process Control)通讯协议是一种用于工业自动化系统中的数据交换标准。
本协议旨在提供一种统一的接口,使各种硬件设备和软件应用能够无缝地进行通信和数据交换。
本文将详细介绍OPC通讯协议的基本原理、架构、消息格式和应用场景。
二、基本原理1. OPC通讯协议基于微软的COM(Component Object Model)技术,利用COM的接口和对象模型来实现数据交换。
2. OPC通讯协议采用客户端-服务器模式,其中客户端是数据的消费者,服务器是数据的提供者。
3. OPC通讯协议使用标准的Windows操作系统API来实现通信和数据传输。
三、架构1. OPC通讯协议的架构包括客户端、服务器和数据源三个层次。
a) 客户端:负责向服务器请求数据、接收数据并进行处理和显示。
b) 服务器:负责提供数据,接收客户端的请求并返回相应的数据。
c) 数据源:即实际的硬件设备或软件应用,负责采集、存储和处理数据。
2. OPC通讯协议的架构还包括以下组件:a) OPC服务器:实现了OPC通讯协议,负责提供数据和接收客户端的请求。
b) OPC客户端:使用OPC通讯协议与OPC服务器进行通信,请求数据并进行处理和显示。
c) OPC浏览器:用于浏览和选择OPC服务器中可用的数据项。
d) OPC自动化接口:提供了一组标准的API,用于开发OPC客户端和服务器。
四、消息格式1. OPC通讯协议使用二进制消息格式进行数据交换。
2. 消息格式包括消息头和消息体两部分。
a) 消息头:包含消息的标识符、长度和其他控制信息。
b) 消息体:包含具体的数据内容。
五、应用场景1. OPC通讯协议广泛应用于工业自动化领域,包括工厂自动化、过程控制、设备监控等方面。
2. OPC通讯协议可以实现不同设备和软件的互联互通,提高系统的可靠性和灵活性。
3. OPC通讯协议可以实现实时数据采集、远程监控和远程控制,提高生产效率和安全性。
OPC重点知识总结

1、OPC的基本原理定义:OPC是用于过程控制的OLE(OLE for Process Control)的首字母缩写词,在今天已经理所然地被自动化组件的制造商逐步发展成一个事实上的新技术标准。
而所谓OLE(Object linking and embedding)含义是对象链接及嵌入,用于过程控制。
OPC 是以 OLE/COM 机制作为应用程序的通讯标准。
OLE/COM 是一种客户/服务器模式,具有语言无关性、代码重用性、易于集成性等优点。
OPC 规范定义了一个工业标准接口,这个标准使得 COM 技术适用于过程控制和制造自动化等应用领域。
COM技术简述:*所谓COM并不是一种计算机语言,与运行的机器、机器的操作系统(只要支持COM)以及软件开发语言均无关,是任意的两个软件组件之间都可以相互通信的二进制和网络的标准。
*COM服务器是根据COM客户的要求提供COM的服务的执行可能的程序,可以作为Win32服务器上可执行的文件发布。
*COM客户程序和COM服务器可以用完全不同的语言开发。
这样使利用C++,Visual Basic,以及Excel中作为宏使用的应用程序的Visual Basic等不同语言所开发的程序可以相互连接。
*COM组件可以以二进制的形式发布给用户。
*与过去DLL(动态链数据库)的版本管理非常困难的问题相比,COM技术可以提供不同版本的COM服务器和COM客户程序之间的最大的兼容性。
*作为COM技术扩展的分布式COM(Distributed Component Object Model,DCOM)技术,更可以使COM组件分布在不同的计算机上,并通过网络互相连接并互相交换数据。
所以对于COM客户程序来说,同样像连接本地计算机上的COM服务器一样,去连接远程计算机上的COM服务器,当然通信的速度不太一样,但是重要的是不必对服务器程序进行修正就可以在网络上自由构成利用COM和DCOM(分布式COM)达成的组件的互相连接。
COM技术及OPC技术

❖
❖
virtual HRESULT STDMETHODCALLTYPE Cancel(
❖
/* [in] */ DWORD dwTransactionID) = 0;
❖
❖
};
OPC与COM间关系
❖ OPC(OLE for process control)是建立在微软 公司OLE/COM技术基础上。
❖ COM技术的出现为简单地实现控制设备和控制管 理系统之间的数据交换提供了技术基础。但如果 不提供一个工业标准化的COM接口,各个控制设 备厂家开发的COM组件之间的相互连接仍然是不 可能的。
❖ // 像上面一样创建COM对象,然后, ❖ if ( SUCCEEDED ( hr ) ) ❖{ ❖ //通知COM对象不再使用它 ❖ m_IOPCServer ->Release(); ❖} ❖ 应用程序对COM库进行初始化之后,可以调用COM库提供的各种服务,
在调用过程中必然要消耗COM库管理的资源。因此,COM程序在完成 COM库服务之后,通常在程序退出之前,终止COM库服务函数,以便 释放COM库所维护的资源。COM库的终止函数为: ❖ void CoUninitialize(void); ❖ 凡是调用CoInitialize函数返回S_OK的进程或者程序模块,都一定要调 用对应的CoUninitialize函数以保证COM库资源的有效利用。
接口的定义、结构与分类
❖ COM对于接口的定义和接口的实现作了严格的区分。通过 下面的IUnknown接口可以知道,在接口中只有接口方法的 描述,而没有实现。
❖ COM接口的名字以字母I打头。其中IUnknown接口最重要, 因为所有其它接口都是从IUnknown接口直接或间接继承而 来的。
OPC技术

OPC技术OPC(OLE for Process Control, 用于过程控制的OLE)是一个工业标准,管理这个标准国际组织是OPC基金会,OPC基金会现有会员已超过220家。
遍布全球,包括世界上所有主要的自动化控制系统、仪器仪表及过程控制系统的公司。
基于微软的OLE(现在的Active X)、COM (部件对象模型)和DCOM (分布式部件对象模型)技术。
OPC包括一整套接口、属性和方法的标准集,用于过程控制和制造业自动化系统。
OPC全称是OLE for Process Control,它的出现为基于Windows的应用程序和现场过程控制应用建立了桥梁。
在过去,为了存取现场设备的数据信息,每一个应用软件开发商都需要编写专用的接口函数。
由于现场设备的种类繁多,且产品的不断升级,往往给用户和软件开发商带来了巨大的工作负担。
通常这样也不能满足工作的实际需要,系统集成商和开发商急切需要一种具有高效性、可靠性、开放性、可互操作性的即插即用的设备驱动程序。
在这种情况下,OPC标准应运而生。
OPC标准以微软公司的OLE技术为基础,它的制定是通过提供一套标准的OLE/COM接口完成的,在OPC技术中使用的是OLE 2技术,OLE 标准允许多台微机之间交换文档、图形等对象。
COM是Component Object Model的缩写,是所有OLE机制的基础。
COM是一种为了实现与编程语言无关的对象而制定的标准,该标准将Windows下的对象定义为独立单元,可不受程序限制地访问这些单元。
这种标准可以使两个应用程序通过对象化接口通讯,而不需要知道对方是如何创建的。
例如,用户可以使用C++语言创建一个Windows对象,它支持一个接口,通过该接口,用户可以访问该对象提供的各种功能,用户可以使用Visual Basic,C,Pascal,Smalltalk或其它语言编写对象访问程序。
在Windows NT4.0操作系统下,COM规范扩展到可访问本机以外的其它对象,一个应用程序所使用的对象可分布在网络上,COM的这个扩展被称为DCOM(Distributed COM)。
智能化系统中的常用接口技术

智能化系统中的常用接口技术1、OPCOPC(ObjectLinkingandEmbeddingforProcessControl)规范是由OPC基金会制定的一个工业标准,它规范了过程控制和自动化软件与工业现场设备之间的接口。
OPC以OLE/COM/DCOM技术为基础,采用客户端/服务器模式,为工业自动化软件面向对象的开发提供了统一的标准。
采用这项标准后,硬件开发商将取代软件开发商为自己的硬件产品开发统一的OPC接口程序,而软件开发者可免除开发驱动程序的工作,充分发挥自己的特长,把更多的精力投入到其核心产品的开发上。
这样不但可避免开发的重复性,也提高了系统的开放性和可互操作性。
复杂数据规范OPC技术的实现由两部分组成,OPC服务器和OPC客户应用部分。
OPC服务器完成的工作就是收集现场设备的数据信息,然后通过标准的OPC接口传送给OPC客户端应用。
OPC客户端则通过标准的OPC接口接收数据信息,如下图所示。
▲OPC系统结构示意图由于OPC技术的采用,使得可以以更简单的系统结构、更长的寿命、更低的价格解决工业控制成为可能。
同时,现场设备与系统的连接也更加简单、灵活、方便。
因此,OPC技术在国内的工业控制领域得到了广泛的应用。
OPC的作用主要表现在以下几个方面:(1)OPC解决了设备驱动程序开发中的异构问题随着计算机技术的不断发展,复杂的控制系统往往选用了几家甚至十几家不同公司的控制设备或系统集成一个大的系统,但由于缺乏统一的标准,开发商必须对系统的每一种设备都编写相应的驱动程序,而且,当硬件设备升级、修改时,驱动程序也必须跟随修改。
有了OPC后,由于有了统一的接口标准,硬件厂商只需提供一套符合OPC 技术的程序,软件开发人员也只需编写一个接口,而用户可以方便地进行设备的选型和功能的扩充,只要它们提供了OPC支持。
所有的数据交换都通过OPC接口进行,而不论连接的控制系统或设备是哪个具体厂商提供。
(2)OPC解决了现场总线系统中异构网段之间数据交换的问题现场总线系统仍然存在多种总线并存的局面,因此系统集成和异构控制网段之间的数据交换面临许多困难。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
CHale Waihona Puke M组件的特点遵循COM规范编写的组件具有以下特点: COM组件是以二进制的形式发布,所以COM组件 是完全与语言无关的。 COM组件可以在不妨碍老客户的情况下被升级。 COM提供了一种实现同一组件不同版本的标准方法。 升级其实就是在现有的组件上增加新的接口就可以 了。 COM组件可以透明地在网络上被重新分配位置。对 远程机器上的组件同本地机器上的组件的处理方式 没有什么差别。 COM组件是一种给其他应用程序提供面向对象的 API服务的极好方法。
// 像上面一样创建COM对象,然后, if ( SUCCEEDED ( hr ) ) { //通知COM对象不再使用它 m_IOPCServer ->Release(); } 应用程序对COM库进行初始化之后,可以调用COM库提供的各种服务, 在调用过程中必然要消耗COM库管理的资源。因此,COM程序在完成 COM库服务之后,通常在程序退出之前,终止COM库服务函数,以便 释放COM库所维护的资源。COM库的终止函数为: void CoUninitialize(void); 凡是调用CoInitialize函数返回S_OK的进程或者程序模块,都一定要调 用对应的CoUninitialize函数以保证COM库资源的有效利用。
接口的定义、结构与分类
COM对于接口的定义和接口的实现作了严格的区分。通过 下面的IUnknown接口可以知道,在接口中只有接口方法的 描述,而没有实现。 COM接口的名字以字母I打头。其中IUnknown接口最重要, 因为所有其它接口都是从IUnknown接口直接或间接继承而 来的。 IUnkown接口定义了三个方法: 1、HRESULT QueryInterface([in] REFIID riid,[out] void **ppv); 2、ULONG AddRef(); 3、ULONG Release();
COM定义的每一个接口都必须从IUnkown接口继承过来。原 因在于IUnkown接口提供了两个非常重要的特性:生存期控 制和接口查询。客户程序只能通过接口与COM对象进行通 信,虽然客户程序可以不管对象内部实现的细节,但它要控 制对象存在与否。如果客户还要继续对对象进行操作,则它 必须保证对象一直存在于内存中;如果客户对对象的操作已 经完成,以后也不再需要该对象了,则应该及时地把对象释 放掉,以提高系统资源的利用率。 IUnkown接口中的AddRef()和Release()负责对象引用计数, 实现组件对象生命周期的管理。每当COM组件被引用一次 就应调用一次AddRef()方法。而当客户端在释放COM组件 的某个接口时就需要调用Release()方法。 如果一个COM对象实现了多个接口,在初始时刻客户程序 不太可能得到该对象的所有接口指针,它只会拥有一个接口 指针。如果客户程序需要其它的指针,则利用IUnkown接口 中的QueryInterface()方法是用于查询组件对象所实现的其它 接口。
COM接口 接口
客户程序和组件程序通过接口进行相互之间 的通信。组件程序就是通过接口暴露它的功 能给客户程序的,而COM客户程序是不可能 看见组件对象本身的。仅有接口是可见的, 它告诉客户程序能利用组件能干什么,如何 利用它的功能。 在组件内,接口以虚函数表的形式实现的。 实际上,COM标准就是标准的接口和使用它 所需协议的描述,所以说接口是COM允许对 象跨进程、跨计算机进行交互的关键技术。
OPC对象接口定义
OPC服务器采用的就是以EXE方式实现的 COM组件,它可以运行在本地计算机上,也 可以运行在网络上的远程计算机上。实际上 就是一个典型的进程外COM组件,只不过 OPC服务器的接口是有OPC标准组织规定的 标准接口。OPC技术实际上就是COM技术在 工业控制中的一个具体的应用。
通过COM库删除COM对象
IUnknown是每一个COM对象必须实现的接口,其中有一个 Release()方法。调用这个方法通知COM对象你不再需要对 象。一旦调用了这个方法之后,就不能再次使用这个接口, 因为这个COM对象可能从此就从内存中消失了。 如果应用程序使用许多不同的COM对象,因此在用完某个 接口后调用Release()就显得非常重要。如果你不释放接口, 这个COM对象将保留在内存中,这会增加不必要的开销。 如果应用程序要长时间运行,就应该在应用程序处于空闲期 间调用CoFreeUnusedLibraries()API函数。这个API函数将 卸载任何没有明显引用的COM服务器,因此这也降低了应 用程序使用的内存开销。
客户/服务器模型
客户/服务器模型是一种发展比较成功的软件模型。 组件对象和客户程序之间的相互作用是建立在客户/ 服务器模型的基础之上的,并且COM组件是运行在 分布式环境中的。COM不仅仅是简单的客户/服务 器模型,有时客户也反过来提供服务,或服务器本 身也需要其它对象的一些功能。一个组件对象可能 既是服务器也是客户,COM能有效地处理这些情况。 在OPC异步通信访问方式中,当OPC服务器触发 OPC应用程序的异步访问完成事件时,OPC服务器 此时就扮演了客户端的角色,将数据访问结果传送 给OPC应用程序。
客户程序通过COM库访问组件程序的步骤
(1)在进行函数调用以前,必须调用COM库的初始化函数: HRESULT= CoInitialize(NULL); (2)通过函数CLSIDFromProgID()或 CLSIDFromProgIDEx()ProgID,查找注册表中相关组件的 CLSID。 (3)客户端程序调用CoCreateInstance(),创建COM对象, 传递组件对象类的CLSID以及所要接口的IID。 (4)COM库在HKEY_CLASSES_ROOT\CLSID.键值下查 找服务器的CLSID键值,这个键值包含服务器的注册信息。 (5)COM库读取服务器的全路径并将组件程序加载。 (6)COM库为组件对象类请求类工厂。COM库在类工厂中 调用CreateInstance()方法创建客户端程序请求的COM对象。 (7)CreateInstance()返回一个接口指针给客户端程序。
通过COM库创建COM对象
COM库充当了组件程序和客户程序之间的桥梁,在 Microsoft Windows操作系统环境下,这些库以DLL 文件的形式存在。在组件对象的创建过程、对象管 理、内存管理、以及在标准化操作等方面,都起了 重要的作用。COM库可以保证所有的组件按统一的 方式进行交互操作,而且它使我们在编写COM时, 可不编写为进行COM通信而必需的大量基础代码, 而是直接利用COM库的API进行编程,从而大大加 快开发的速度。
OPC与COM间关系
OPC(OLE for process control)是建立在微软 公司OLE/COM技术基础上。 COM技术的出现为简单地实现控制设备和控制管 理系统之间的数据交换提供了技术基础。但如果 。 不提供一个工业标准化的COM接口,各个控制设 备厂家开发的COM组件之间的相互连接仍然是不 可能的。 OPC是作为工业标准定义的特殊的COM接口。对 相关COM技术的理解是对OPC技术理解的关键所 在。OPC技术还有着它本身的独特性,理解了 COM技术只是理解OPC技术的第一步。
组件存在的类型
一般而言,组件具有三种类型:进程内组件、进程外组件和远程组件。 第一种是驻留在本地机器上以DLL形式提供,该服务程序被调用时,嵌 入到调用程序的线程中运行。此时客户程序和组件程序位于同一台计算 机上,客户程序调用组件时,客户程序会把组件程序装入自己的进程空 间,即客户程序和组件程序在同一个进程地址空间内。由于它占用和客 户端应用程序同样的地址空间,它可以与客户端更快地通信。在客户端 和服务器端组件有大量数据转移操作的情况下是最理想的,进程内服务 器会更快地装载。 第二种是驻留在本地机器上以EXE形式提供,具有独立的进程。客户程 序和组件程序也位于同一台计算机上,但客户程序和组件程序分别在不 同的进程地址空间中。在COM中,采用了本地过程调用LRC(Local Procedure Call)来进行本地通信。 第三种驻留在远端机器上以EXE形式提供,服务程序通过网络被调用, 它在远端机器上运行,结果通过网络返回给调用者。这种功能是使用 DCOM实现的。DCOM的优点在于它并不要求任何特别的编程来使其具 有功能。另外服务器和客户端通信是通过RRC(Remote Procedure Call)通信协议进行的。 虽然客户程序和组件程序交互的内在方式是完全不同的,但是对于功能 相同的进程内和进程外组件,从程序编写的角度看,客户程序是以同样 的方法来使用组件程序的。OPC服务器采用的就是以EXE方式实现的 COM组件。
COM技术及OPC技术
主要内容
COM基础知识 基础知识 OPC的概念 的概念 OPC的作用 的作用 OPC基础知识 基础知识 实验室OPC组相关的工作 实验室 组相关的工作
一、COM基础知识 基础知识
COM(Component Object Model,组件对象模型)是 Microsoft创建并已取得广泛认可的一种组件标准。 在COM标准中,COM对象被很好的封装起来,客户无 法访问对象的实现细节,提供给用户的唯一的访问途径是通 过COM接口来访问。对于COM接口有两方面的含义: 首先它是一组可供调用的函数,由此客户可以让该对象 做某些事情;其次,接口是组件程序及其客户程序之间的协 议。也就是说接口不但定义了可用什么函数,也定义了当调 用这些函数时对象要做什么。 COM提供了编写组件的一个标准方法,遵循COM标准 的组件可以被组合起来以形成应用程序。组件和客户之间通 过“接口”来发生联系,至于这些组件是谁编写的、如何实 现的都是无关紧要的。
IOPCAsyncIO : public IUnknown { public: virtual HRESULT STDMETHODCALLTYPE Read( /* [in] */ DWORD dwConnection, /* [in] */ OPCDATASOURCE dwSource, /* [in] */ DWORD dwCount, /* [size_is][in] */ OPCHANDLE __RPC_FAR *phServer, /* [out] */ DWORD __RPC_FAR *pTransactionID, /* [size_is][size_is][out] */ HRESULT __RPC_FAR *__RPC_FAR *ppErrors) = 0; virtual HRESULT STDMETHODCALLTYPE Write( /* [in] */ DWORD dwConnection, /* [in] */ DWORD dwCount, /* [size_is][in] */ OPCHANDLE __RPC_FAR *phServer, /* [size_is][in] */ VARIANT __RPC_FAR *pItemValues, /* [out] */ DWORD __RPC_FAR *pTransactionID, /* [size_is][size_is][out] */ HRESULT __RPC_FAR *__RPC_FAR *ppErrors) = 0; virtual HRESULT STDMETHODCALLTYPE Refresh( /* [in] */ DWORD dwConnection, /* [in] */ OPCDATASOURCE dwSource, /* [out] */ DWORD __RPC_FAR *pTransactionID) = 0; virtual HRESULT STDMETHODCALLTYPE Cancel( /* [in] */ DWORD dwTransactionID) = 0; };