background image

2.How does OPC work?

在 说 明

  OPC  Server/Client  运 作 方 式 之 前 , 我 们 先 简 单 介 绍 一 下   Microsoft  发 展 的

 

COM/DCOM 是什么?
COM 是一种发展软件组件的方法,所谓的软件组件,是指一个可以提供应用程序、操作系
统、以及其它组件服务的二进制可执行程序。事实上,发展自订的

 COM 对象就好象是在建

构一套可以动态执行的对象导向

 API 一般。你可以在应用程序执行的时期随意拼上或移除

所需要的组件。依据

 COM 这样的概念,发展应用程序就像是堆积木一样,每一个 COM 组

件就是一块积木,你可以利用各式各样不同的积木,拼凑出你所需要的应用程序。

在实作上,

COM 透过一组一组的接口 (Interface) 提供服务,所有 COM 组件的使用者,都

必须透过这些

 Interface 来使用组件提供的功能。OPC 的规格中便定义了许多 OPC Server 应

该提供的

 Interface,要撰写一个 OPC Server 的 COM 组件,你必须在你的组件中加入这些

接口,并提供它们的实作,

Client 便可以透过这些接口,操作连接到 OPC Server 的硬件装

置,这也就是

 OPC Server/Client 运作的方式。以下的图标可以让这样的概念更清晰。

3. OPC Server 架构

如前面所述,

OPC Server  透过一组一组的接口提供服务,不过在实作的架构上, OPC 

Server 共分为三层:分别是 OPCServer, OPCGroup, OPCItem

其中每一个

 OPCItem  对应到一个实际的硬件装置上的某一个 channel  或 port;每一个

 

OPCGroup 则包含了许多的 OPCItem,同时并定义这些 OPCItem 更新的时间、方式,以及
提供读取

 OPCItem 值的接口;而每一个 OPCServer 则包含若干个 OPCGroup,同时提供操

作这些

 OPCGroup 的接口。

下图可以较清楚地说明

 OPCServer/OPCGroup/OPCItem 间的关系:

 4. OPC Custom Interface

接下来的这一节,我们将讨论

 OPC Serve 的重点,也就是每一组接口的定义,以及它所提

供的功能。