Opc统一架构
一假期完成的看书
1 opc的定义与产生
OPC 全称是OLE(Object Linking and Embedding,对象链接和嵌入) for Process Control,它的出现为基于Windows 的应用程序和现场过程控制应用建立了桥梁。
在过去,为了存取现场设备的数据信息,每一个应用软件开发商都需要编写专用的接口函数。
由于现场设备的种类繁多,且产品的不断升级,往往给用户和软件开发商带来了巨大的工作负担。
通常这样也不能满足工作的实际需要,系统集成商和开发商急切需要一种具有高效性、可靠性、开放性、可互操作性的即插即用的设备驱动程序。
在这种情况下,OPC 标准应运而生。
OPC 标准以微软公司的OLE 技术为基础,它的制定是通过提供一套标准的OLE/COM 接口完成的,在OPC 技术中使用的是OLE 2 技术,OLE 标准允许多台微机之间交换文档、图形等对象。
OLE 不仅是桌面应用程序集成,而且还定义和实现了一种允许应用程序作为软件“对象”(数据集合和操作数据的函数)彼此进行“连接”的机制,这种连接机制和协议称为部件对象模型(Component Object Model),简称COM。
2 opc基金会
1996年8月,opc da(数据访问)规范发布了,opc基金会是维护这一标准的非盈利性组织,几乎所有提供工业自动化系统的厂商都成为了opc基金会的成员。
Opc基金会可以比其他组织快得多的定义,通过,实践,有关标准。
通过12年的发展,opc基金会已拥有超过450个成员,包括全世界所有的自动化系统供应商。
3 经典opc
根据工业应用的不同需求,已制定了三个主要opc规范:数据访问(da),报警和事件(a&e),历史数据访问(hda)。
3.1 Opc数据访问
Opc数据访问(da)接口可以读,写,检测包含当前过程数据的变量。
Opc da 客户端明确的选择了他们需要从服务器中读,写或者检测的变量(opc项)。
Opc客户端通过创建一个opcserver对象来建立一个到服务器的连接。
3.2opc报警和事件
opc a&e接口可以接收事件通知和报警通知,要接收通知,opc a&e 客户端连接到服务器,订阅通知,然后接收在服务器触发的所有通知。
Opc客户连接第一步是在a&e服务器上创建一个opceventserver(opc事件服务器)对象,第二步生成opceventsubscription(opc事件订阅)对象来接收事件消息。
3.3opc历史数据访问
opc历史数据访问(hda)则提供了对已储存的数据的访问,从简单的串行数据记录系统,到复杂的scada,历史记录能够以统一的方式被检索。
Opc客户端通过在had服务器中创建一个opchdaserver(opchda服务器)对象进行连接,此对象提供了读取和更新历史数据的所有接口和方法,另一个opchdabrower(opchda浏览器)对象用来浏览hda服务器的地址空间。
4 opc ua的产生
在opc规范发布之前,众多工业应用软件需要为控制设备开发不同的设备驱动程序才能获取设备数据,致使增加了产品成本,开发时间,和维护难度。
为此,opc基金会制定公布了一系列基于microsoft的com/dcom技术的opc规范,并迅速成为了工业领域事实上的标准。
然而,现有的opc规范是基于com/dcom技术,它存在如下缺陷:
1)不具有平台无关性,仅适合微软平台环境。
2)Dcom不适用于internet环境,它不支持通过internet访问对象。
3)Com产生的传输报文复杂,并且由于防火墙的存在,在internet上发送com报文非常困难。
虽然我们可以用opc xml-data access规范,并结合soap,wasl,uddi等web services技术,能弥补上述缺陷,但是由于规范本身的问题,其在可互操作性,安全性,可靠性等方面仍不能满足用户的需求,为此,opc基金会将致力推出新一代opc规范---opc ua(opc unified architecture统一构架)
Opc ua是opc基金会即将推出的一个新的工业软件应用接口规范。
Opc ua的诞生是希望为所有现有的基于com的规范,建立一个没有损失任何功能和性能的真正替代品。
此外,它必须满足能够描述复杂系统的丰富的和可扩展的建模能力,以及平台独立的系统接口的所有需求。
根据现有的发展趋势和opc的不足,新规范ua通过以下方面来解决:
1)opc ua的消息采用wsdl定义,实现了规范平台的无关性。
2)Opc ua定义了一套集成服务,解决了现有的opc规范在应用时服务重叠的问题。
3)Opc ua采用了集成的地址空间,增加对象语音识别功能,并实现了对信息模型的支持。
4)另外,opc ua采用冗余技术,安全模型等一系列机制,提高了安全性,可靠性等方面的性能。
除了通信,opc ua的第二大成果是信息建模。
通过在同一个地址空间公开当前数据,事件通知以及两者的历史,opc ua使不同的经典opc规范的功能得到了统一。
另外,它采用面向对象的概念,提供了一个丰富的,可扩展的信息模型。
允许应用程序的元数据以及复杂的数据被公开出来,可扩展机制允许其他组织可以定使用opc ua通信基础设施的标准信息模型,从而使焦点集中在要公开信息的标准化上。
5 信息建模
Opc ua信息建模的基础原则有:
1)使用面向对象的技术,包括类型层次结构和继承。
2)类型信息对外暴露,并且能够以访问实例一样的方式访问。
3)全网络的节点网络,允许信息以各种形式连接。
4)类型层次结构以及节点间引用类型的扩展性。
5)没有限制如何对信息建模,以便我所提供的数据建立适当的模型。
6)opc ua的信息建模工作总是在服务器侧完成的。
建模中用到的一些基本的概念:
Opc ua建模的基本概念是节点以及节点之间的引用。
节点可以根据不同的用途归属于不同的节点类别,一些节点代表属性,另一些代表类型。
而节点和节点之间的引用可以理解为:在一个节点中的指针,通过保存其他节点的id来指向另一个节点。
而且引用是两个节点之间的连接,引用不能直接访问,只能间接的通过浏览节点访问,引用并没有表示为节点,不能包含任何属性或者特性。
在opc ua中,最重要的节点类别是对象,变量和方法。
节点类别为变量的节点代表一个值,该值的数据类型取决于该变量。
节点类型为方法的节点代表服务器中的一个客户端调用并返回结果的方法。
节点类型为对象的节点用于地址空间结构。
二在看书中所遇到的问题
对具体事例如何建模?过程是怎么样的?怎么样通过opc对工业生产过程进行控制?
三接下来要完成的任务
看opc服务器开发设计与应用,对opc服务器进行学习,并学习与opc服务器相关的程序的编程。