什么是OPC?
OPC是通过开放标准实现开放互连(open connectivity)的缩写。他满足了自动化应用中的需要,就像视窗(Windows)下的打印机驱动程序。
OPC的宣传口号是:专注于自动化与上层的互操作。OPC基金会(OPC Foundation)希望这3个首字母能够包含各种字母排列的互操作问题。
OPC 2011年的口号是:为工业自动化和其他相关域建立互操作标准。
OPC的体系架构
下图是OPC的体系架构。
OPC技术概述
OPC是关于在工业自动化和企业系统中,支持工业所有的开放连接。互操作通过建立和维护开放标准规范来保证。
基于基础标准和通用计算技术,OPC基金会改编和建立规范,满足工业的特定需求。当新需求出现时,OPC会不断建立新标准,并且会利用新技术改进已有标准。
OPC是一个系列标准规范。第一个标准(最早称为简单OPC规范,现在称为数据访问规范 )来源于一组领先的全球自动化供应商与微软(Microsoft)的合作成果。 最早基于微软的组件对象模型(OLE COM)和分布式组件对象模型(DCOM)技术, 规范定义了一组标准对象、接口和方法,用于过程控制和制造自动化,实现应用的互操作。COM/DCOM技术为软件产品的开发提供了框架。现在,市面上已有数以百计的OPC数据访问服务器和客户机产品了。
人们喜欢拿早先的数据访问规范与早先的磁盘操作系统(DOS)后来是视窗中的打印机驱动程序做类比。在DOS下,每个应用的开发者必须要对不同的打印机写驱动程序。比如AutoCAD应用的开发人员,除了AutoCAD应用程序外,还要写打印机驱动程序。同样,WordPerfect应用程序员要同时写WordPerfect应用和打印机驱动。他们不得不对每种希望支持的打印机分开来写驱动程序:一种用于爱普生(Epson)FX-80的打印机,一种用于惠普(HP)LaserJet的打印机……依此类推。在工业自动化世界,Intellution公司的程序员除了要写他们的人机界面(HMI)软件之外,还要对每种工业设备(包括各种品牌的PLC)写专有驱动程序。罗克韦尔(Rockwell)除了写自己的HMI之外,也要对每种工业设备(除了自己的PLC之外,还包括其他的PLC品牌)写专有驱动程序。
视窗在操作系统层面集成了对各种打印机的支持,从而解决了打印机驱动程序的问题。现在,一个打印机驱动程序可以为所有的应用服务!而且,所有打印机的驱动程序由打印机厂家编写(而不再由应用开发者编写)。视窗建立了一种基础设施,同样为解决工业设备的驱动程序提供了可能。把OPC规范加入到微软视窗的OLE技术之中,可以实现互操作的标准化。现在,工业设备制造商已经能够编写OPC DA服务器和OPC客户机软件了(如HMI)。
结果是软件供应商因此而获得收益,因为他们减少了花费在连接上面的精力,而专注与他们软件的核心特性。对于用户,他们的收益是灵活性。他们现在选择软件供应商是根据软件的特性而非"他们是否具有对某种特殊设备的驱动程序?"他们不用建立一个客户界面,当操作系统或设备厂商变化时,他们不必承担升级的费用。OPC DA规范的连接机制和一致性测试,可以确保用户有更好的连接质量。OPC接口产品一次建成,可以反复使用;而且,他们还会得到不断的质量控制和改进。
使用了软件组件后,用户项目的周期会缩短,成本会降低。这些收益是实实在在、可以度量的。因为OPC标准基于相应的计算机工业标准,可以确保其技术的可靠性。
最初的规范标准化了过程数据的采集,取得了很大的成功。人们很快意识到:通过标准化,其他类型数据的通信同样可以获得收益。所以,报警与事件标准、历史数据标准和批处理数据标准也纷纷出台。
已有的标准:
· OPC数据访问(OPC Data Access)
这是最早的功能!用于实时读取PLC、DCS和其他控制设备的数据,在HMI和其他显示客户机上显示。数据访问的第3版规范已经发布。在先前的版本上,改进了浏览器的性能,集成了XML-DA标准。
· OPC报警和事件(OPC Alarms & Events)
按需提供报警和事件通知(相对于连续数据流的访问)。这些包括过程报警、操作员行为、报告信息和跟踪/审计信息。
· OPC批处理(OPC Batch)
这个规范把OPC哲学运用到批处理过程的特殊需求中。他提供了用于设备能力交换和当前运行条件的界面(符合S88.01标准中的物理模型)。
· OPC数据交换(OPC Data eXchange)
这个规范把我们从客户机/服务器的模式切换至服务器到服务器的模式,通信采用以太网现场总线。这可以实现多供应商的互操作能力!并且还有:增加的远程配置、诊断和监视/管理服务。
· OPC历史数据访问(OPC Historical Data Access)
对比OPC数据访问提供了对实时、连续变化过程的数据访问,OPC历史数据访问提供了对已存数据的访问。从一个简单的数据记录到一个复杂的SCADA系统,历史存档数据可以按照统一的方式恢复。
· OPC安全(OPC Security)
OPC服务器提供的所有信息,对企业来说都是非常有价值的,如果不能正确地更新,对工厂的流程会造成严重的后果。OPC安全定义了如何控制客户机对OPC服务器的访问,保护服务器中的敏感信息,防止未授权人员对流程参数的更改。
· OPC可扩展标记语言的数据访问(OPC XML-DA)
提供灵活、一致的规则和格式,使用可扩展标记语言(XML)读取工厂的现场数据,利用微软和其他公司在SOAP和Web服务上取得的成果。
正在建立的标准:
· OPC复杂数据(OPC Complex Data )
一个伴随数据访问和XML-DA的规范,允许服务器显示和描述更复杂的数据类型,诸如二进制结构和XML文档。
· OPC命令(OPC Commands)
已经成立了工作组,目标是开发一套新接口,使OPC客户机和服务器能够识别、发送和监视在设备中执行的控制命令。
新兴的标准:
· OPC 统一架构(OPC Unified Architecture)
一套新规范,摒弃使用微软的COM,具有跨平台的能力。