【前言】
OPC是一个工业标准,所属国际组织是OPC基金会,现有会员已超过220家,包括世界上所有主要的自动化控制系统、仪器仪表及过程控制系统的公司。
【经典 OPC】
经典OPC规范基于微软Windows系统提供的COM/DCOM技术,用于软件之间数据交换的规范。OPC规范定义了几种不同的,用于访问过程数据、报警信息以及历史数据的版本规范:
OPC实时数据访问规范(OPC DA)定义了包括数据值,更新时间与数据品质信息的相关标准。
OPC历史数据访问规范(OPC HDA)定义了查询、分析历史数据和含有时标的数据的方法。
OPC报警事件访问规范(OPC AE)定义了报警与时间类型的消息类信息,以及状态变化管理等相关标准。
【为什么要开发 OPC UA】
基于COM/DCOM的技术有着不可根除的缺点,因此随着技术的进步,以及数据交换各方面需求的提高,OPC基金会在2008年发布了新的规范:OPC UA。
【OPC UA 的技术特性】
OPC UA规范不再是基于COM/DCOM技术,因此OPC UA不仅能在Windows平台上实现,更可以在Linux,以及其他的嵌入式平台中实现。与传统OPC规范相同,OPC UA 同样有着相同的设计目标:1. 功能等价:所有的基于COM的OPC规范中的功能,都映射到了OPC UA中。2. 多平台支持:支持从嵌入式的微控制器到基于云的分散式控制架构。3. 安全:信息加密,互访认证以及安全监听功能。4. 扩展性:不影响现有应用程序的情况下,就可以添加新的功能。5. 丰富的信息建模:可定义复杂的信息,而不再是单一的数据。
【OPC UA相对于传统OPC的变化】
一、功能方面,OPC UA不仅支持传统OPC的所有功能,更支持更多新的功能:1. 网络发现:自动查询本PC机中与当前网络中可用的OPC Server。2. 地址空间优化:所有的数据都可以分级结构定义,使得OPC Client不仅能够读取并利用简单数据,也能访问复杂的结构体。3. 互访认证:所有的读写数据/消息行为,都必须有访问许可。4. 数据订阅:针对OPCClient不同的配置与标准,提供数据/消息的监控,以及数值变化时的变化报告。5. 方案(Methods)功能:OPC UA中定义了通过在OPCServer中定义方案(Methods),来让OPC client执行特定的程序。
二、平台支持方面,由于不再基于COM/DCOM技术,OPC UA标准提供的更多的可支持的硬件或软件平台。硬件平台诸如传统的PC机、基于云的服务器、PLC、ARM等其他微处理器;而软件平台可支持微软的Windows、苹果公司的OSX、安卓,以及其他的基于Linux的分布式操作系统。
三、安全性方面,最大的变化是OPC UA可以通过任何单一端口(经管理员开放后)进行通信,这使得OPC通信不再会由于防火墙受到大量的限制。
【OPC UA 的技术细节】
1、OPC UA在传输中可通过XML格式或者二进制格式来传输,并且可选择并兼容更多通用的IT通信协议,比如HTTPS。同时,在加密时,也能达到128或者256位的加密深度。在客户端与服务器的通信许可方面,OPC UA使用了OpenSSL许可证来规定哪些应用程序或系统可以使用OPC与另一端相连接。2、在建模方面,OPC UA将建模的架构由“数据建模”扩展为了“信息建模”。OPC UA规范中不仅仅提供了完整的面向对象的数据建模,同时也可定义复杂的多级结构体。数据类型或结构体都在配置文件(profiles)中定义,不仅可以定义已存在的传统OPC规范中的类型,还可以扩展加入其他的供应商或组织定义的新类型。