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 的重点,也就是每一组接口的定义,以及它所提
供的功能。