你所不知道的开放通讯协议,PLC工程师必读!
OPC统一架构(OPC Unified Architecture)是OPC基金会(OPC Foundation)创建的新技术,更加安全、可靠、中性(与供应商无关),为制造现场到生产计划或企业资源计划(ERP)系统传输原始数据和预处理信息。使用OPC UA技术,所有需要的信息可随时随地到达每个授权应用和每个授权人员。
OPC UA 独立于制造商,应用可以用他通信,开发者可以用不同编程语言对他开发,不同的操作系统上可以对他支持。OPC UA 弥补了已有 OPC 的不足,增加了诸如平台独立、可伸缩性、高可用性和因特网服务等重要特性。
OPC UA 不再基于分布式组件对象模型(DCOM),而是以面向服务的架构(SOA)为基础。OPC UA 因此可以连接更多的设备。
今天,OPC UA 已经成为连接企业级计算机与嵌入式自动化组件的桥梁 - 独立于微软、 UNIX 或其他操作系统。
传统OPC应用之间的数据交换是基于微软的组件对象模型(COM)技术。因为视窗(Windows)操作系统在世界范围内得到了广泛的应用,同时也促进了视窗计算机在自动化中的使用,所以COM技术也为OPC技术的广泛使用创造了条件。在2002年初,微软发布了新的.NET框架并且宣布COM技术的停止研发。虽然这不意味着将来的视窗操作系统不支持COM,但作为停止的结果,传统OPC的基础技术已经不再发展,或早或晚要被淘汰,所以要寻求新的替换方案。
上世纪90年代,随着视窗计算机的普及,微软COM/DCOM技术引入的一组特性,得到了家庭计算机用户和工业自动化用户的高度欣赏。这些特性包括了拷贝与粘贴,拖拽与投放,链接与嵌入。DCOM还提供了完整的通信基础架构,并带有必要的安全机制,诸如授权、鉴权和加密。
DCOM安全机制能够实现计算机对数据和程序的远程访问。但DCOM安全机制同时也对安装工程师、系统集成商和开发者管理项目提出了挑战,其中包括了跨越PC的OPC通信。正确地设置DCOM安全功能是非常困难的任务,需要很多专业的知识。作为结果,安装工程师和系统集成商会例行公事地选择快速流程,在所有连网的OPC计算机采取宽松的访问授权,造成大多数保护不起作用且允许非授权远程访问。
这种做法与信息技术(IT)安全的要求相违背。在长期运行时,可能会有粗心大意者或者蓄意破坏的人造成损害的危险。DCOM安全设置常常需要一种特别才能,而配置OPC通信功能则非常容易。
在自动化行业,很早就认识到OPC通信需要跨越计算机边界的必要性,这是另一个DCOM限制传统OPC通信的地方。DCOM需要多个端口,如鉴权、传输数据和一系列服务建立一个连接。
所以,在防火墙中不得不打开很多端口,才能让DCOM通信穿过他。在防火墙上每打开一个端口都是一个安全隐患,为黑客攻击提供一种潜在可能。OPC UA中的隧道技术是一种被广泛接受的策略,解决了传统OPC产品中DCOM限制的问题。
在工业应用中,几乎“无所不在”的微软平台,把DCOM 作为操作系统的一个组件是传统OPC能被快速接受的一个重要因素。但是同时,OPC的集成概念在使用其他操作系统时就不灵光了,因为他们不支持DCOM。比如在IT行业,常常使用Unix或者Linux系统就是这种情况。
自动化也是这样,有的应用领域明确拒绝使用视窗操作系统。嵌入式设备领域是另一个视窗很难(除了视窗CE或者嵌入XP)涉及的领域。这里,复杂的应用直接嵌入到现场设备、PLC、操作屏和其他设备之中。他们运行VxWorks、QNX、嵌入式Linux、RTOS或者其他嵌入式操作系统而没有DCOM。在这些领域里使用OPC 的集成概念注定要失败,因为OPC需要DCOM作为技术基础,而这个基础在嵌入式系统中正好缺失。
随着在2003年OPC XML-DA规范的发布,OPC基金会第一次展示了一种独立于视窗平台的方式和克服DCOM限制的方法。今天,很多OPC XML-DA产品演示了基于Web服务的OPC技术。
但是XML-DA 通信的数据吞吐量还是比不上DCOM,通信速度要慢5到7倍。这个速度对于很多自动化的要求而言是太慢了。基于Web服务的OPC通信功能还是有用的,因为实现了跨越操作系统的能力,但还要进一步提高数据传输性能。
迄今为止,传统的OPC技术已有3种不同的OPC服务器 – 数据访问服务器、报警与事件服务器和历史数据访问服务器。如果用户需要获取一个温度传感器的当前值,一个温度超过限定值的事件和一个温度的历史平均值,那么他必须发送3个请求,访问3个服务器。
用户访问过程数据、事件和历史数据用不同的方法要花费很多的时间。所以,统一这3种对象模型可以使这样的事情变得非常简单,不仅对OPC产品的供应商有利,也对系统集成商和用户有利。
OPC的一个主要应用是对串行通信或者现场总线联网设备的操作和监视。为了配置设备,OPC客户机需要写入数据类型,通过OPC服务器到达设备,包括数据结构元件的意义。
OPC基金会已经创建了描述复杂数据结构的方法,即复杂数据规范。然而,大多数今天市场上的传统OPC产品除了很少的例外,不能使用复杂数据规范。
最早定义的数据访问,可以让客户应用程序周期获得过程数据的当前状态。如果在OPC客户机和远程OPC服务器之间的物理通信连接发生了问题,数据通信会受到损坏。当通信损坏时,传输到OPC客户机数据会发生改变,甚至丢失。
这种数据丢失在有些数据访问应用中不是关键的,诸如趋势记录、过程监视或者过程显示。但在有些场合的应用中是非常关键的。比如,OPC技术已经成为这些区域的基础,诸如化工或者石化工业,这些地方要求必须无缝地记录数据。
为了达到这个目标,供应商需要实施特殊扩展的方法。他们使用基于连接的监视系统,确保对断开的通信快速检测,如果通信断开能够自动重新连接,在数据访问服务器中有数据缓存、冗余、存储和转发功能。这些扩展的方法很有用,但在传统的OPC规范中没有定义,会因供应商不同而不同。
随着自动化行业基于以太网的通信不断增长,自动化和办公室网络已经纠缠在一起。同时,垂直集成的想法产生了新的需求,这种类型的集成也带来了新的安全风险。OPC也增加了远程维护和远程控制概念的使用。
这里再一次提到,对外围非授权的访问,必须满足更严格的信息安全要求。随着网络犯罪、间谍和破坏活动的增长,信息技术安全越来越显得重要 – 所以使用OPC也有了安全的要求。传统的OPC供应商没有开发专有的预防措施,所以不能满足这些安全要求。
在很多应用中,不仅读写数值非常重要,而且执行命令也非常重要,诸如启动或者停止一台驱动器或者把一个文件下载到设备中。OPC命令规范定义了执行这些命令的方法,但这仅在OPC UA中有效,不能在传统的OPC中使用。