opc是 ole for process control 的缩写,即把 ole 技术应用于工业控制领域。
opc的出现为基于windows的应用程序和现场过程控制应用建立了桥梁。在过去,为了存取现场设备的数据信息,每一个应用软件开发商都需要编写专用的接口函数。由于现场设备的种类繁多,且产品的不断升级,往往给用户和软件开发商带来了巨大的工作负担。通常这样也不能满足工作的实际需要,系统集成商和开发商急切需要一种具有高效性、可靠性、开放性、可互操作性的即插即用的设备驱动程序。在这种情况下,opc标准应运而生。opc标准以微软公司的 ole技术为基础,它的制定是通过提供一套标准的ole/com接口完成的,在opc技术中使用的是 ole2技术,ole标准允许多台微机之间交换文档、图形等对象。
opc是以ole/com机制作为应用程序的通讯标准。ole/com是一种客户/服务器模式,具有语言无关性、代码重用性、易于集成性等优点。opc规范了接口函数,不管现场设备以何种形式存在,客户都以统一的方式去访问,从而保证软件对客户的透明性,使得用户完全从低层的开发中脱离出来。
应用程序与opc服务器之间必须有 opc 接口,opc 规范提供了两套标准接口:custom 标准接口,ole 自动化标准接口。通常在系统设计中采用ole自动化标准接口,ole 自动化标准接口,及采用 ole 自动化技术进行调用,其技术为上节所述的 ole 自动化技术。ole 自动化标准接口定义了以下三层接口,依次呈包含关系:
1)opc server:opc 启动服务器,获得其他对象和服务的起始类,并用于返回 opc group 类对象。
2)opc group:存储由若干 opc item 组成的 group 信息,并用于返回 opc item 类对象。
3)opc item:存储具体 item 的定义、数据值、状态值等信息。
什么是opc服务器
opc服务器的功能就是与下位机进行数据的交换,其中包含了大量的通讯程序和数据存贮程序。然后提供标准的opc接口,供其它软件使用。程序标准化以后,其他的软件商只需开发面对服务器的程序即可,不用对不同的硬件设备开发不同的硬件驱动程序。减小了工作量,也方便了使用。
opc ua是什么?
opc ua基于opc基金会提供的新一代技术,提供安全,可靠和独立于厂商的,实现原始数据和预处理的信息从制造层级到生产计划或erp层级的传输。通过opc ua ,所有需要的信息在任何时间,任何地点对
每个授权的应用,每个授权的人员都可用。 这种功能独立于制造厂商的原始应用,编程语言和操作系统。 opc ua是目前已经使用的opc 工业标准的补充,提供重要的一些特性,包括如平台独立性,扩展性,高可靠性和连接互联网的能力。 opc ua不再依靠dcom,而是基于面向服务的架构(soa),opc ua的使用更简便。现在,opc ua已经成为独立于微软,unix或其他的操作系统企业层和嵌入式自动组建之间的桥梁。
统一的访问传统opc com特性将不同的功能分布于多个com服务器,通过接口连接代表不同特性的功能。opc com服务器提供报警但不持续连续的提供触发报警的数据的访问。例如,提供存储历史数据的opc com服务器不允许当前数据被读和更新。这种特性造成了集成的问题,因为单一系统的信息不能通过一致的方式访问。opc ua解决了包含多种可用信息的通用地址通过单一服务访问的集成问题。更好的认证互操作性opc ua特性通过和已取得成功的opc com认证程序一样提供的服务器和客户端测试工具。这些测试工具似得供应商可以验证他们产品是否符合特性的要求,改善产品的质量。opc ua和opc com特性通过认证以后,可以获得相应的认证标志,通过使用opc认证的产品可以减少最终用户的系统集成成本。设计的可靠性opc ua是为搞可用性和冗余架构而设计。完整的可配置的超时,错误检测,和恢复特性使得opc ua产品可以无缝处理出现错误或失败的情况(例如网络通信的丢失)。标准的支持冗余功能的opc ua模块使得从不同厂商的应用部署成为可能。跨域防火墙和通过互联网opc ua由客户端启动通信通道,这意味着不需要像opc com一样需要配置客户端以允许服务器的访问。opc ua能通过标准的http或ua tcp端口或任何管理员愿意开放的其他端口来进行通信。opc ua使用基于安全的额消息,这意味着可以通过第三方的代理进行通信。通过信息模型减少配置时间opc ua架构提供基本的应用,供应商可以提供特定应用的信息模型,这将大大降低配置和维护这些模块的成本。opc基金会正和mimosa,fdi, plcopen(iec61131)组织协作开发 opc ua信息模型。标准安全模型在过去,安全问题时最后才考虑的,很多供应商没有测试他们产品的安全许可。这意味着对于最终用户很难配置安全性,或根本不可能。opc ua架构通过标准的,ua应用必须实施的安全模型解决了这个问题。这增强了互操作性和降低了配置和维护成本。opc ua同时有利于适合任何平台的任何opc ua产品的安全设置管理的标准工具的开发。从嵌入式系统到企业级的单一的解决方案轻量级的opc ua可以作为有效的二进制通信协议,例如opc ua 已经移植到很多嵌入式系统包括vxworks,linux和专有的rtoss (real time operating systems)。顶级的opc ua应用支持企业级标准的xml页面服务协议。通过一个公用的架构可以降低系统集成的成本。保护已有的opc com投资opc ua com的互操作组件可以使得供应商快速实现现有的opc com客户端和服务器应用支持opc ua。 这些组件通过增加需要的opc ua高级特性客户化。这意味着用户可以持续利用他们的opc com技术的投资开发新的opc ua应用。历史事件opc ua通过支持历史事件扩展了opc com历史数据访问(hda)的能力。最终用户仙子啊可以通过选择的opc ua客户端获得事件信息。不丢失性能的同时实现平台独立
opc ua架构设计为提供最佳性能的同时提供平台独立。这意味着开发者可以使用他们熟悉的语言和操作系统开发基于opc ua的应用,而不只有一种通过http使用soap/xml的选择。对于windows用户来说,平台独立性也十分具有价值,因为允许应用迁移到下一代的微软通信技术。这也意味着opc ua产品的供应商在以前的通信技术过时或有类似不可配置的较长的超时时间等技术问题时可以有更多的选择。高性能的通信协议
opc ua特性定义基于tcp的二进制通信协议通过最小的开销提供最快的性能。对于企业环境soap/xml是通信协议中通常使用的。 opc ua提供在打包到soap/xml兼容的消息中之前通过ua二进制编码消息,提升通常xml消息10倍以上的性能。这种架构的优点是提供使用soap/xml的格式,但是在发送之前降低其复杂性和xml的大小。windows通信基础 (wcf)opc .net sdk使用wcf提供对xml web服务的支持。这种架构意味着在企业应用中所有基于opc ua .net sdk应用可以继承微软的 xml web服务的湖操作性。
通过opc ua sdks降低开发成本
基于opc com特性的开发者都知道要求创建互操作性的应用中,接口只是很小的不部分代码。基于这个原因,opc基金会提供的opc ua .net sdk可以为开发者提供更多的选择,只需要很少的几百行代码就可以实现兼容于opc ua 的应用。开发者还可以选择提供给opc 基金会成员的商业化的sdk。这些 sdk将大大降低开发成本,供应商也将更多的精力关注在位客户提供更有价值的产品。最终用户同样可以从sdk中获益,因为采用的是公用的架构,将少了不同应用之间的互操作性问题。
采用方法和程序的增强特性
已经现有的opc com特性关注于数据或时间,但很多应用要求能减少单一数据值或事件的复杂操作。通过opc ua方法,服务器允许客户端通过一序列参数触发复杂功能。通过触发事件汇报进程函数可以用来控制后台流程。
面向对象的信息模型的灵活性
已有的opc com在过去的10年一直作为opc的通信标准,但是技术的发展要求更多的互操作性:
-〉微软逐步淡化com,而跨平台的web服务和soa逐步加强
-〉opc的供应商希望一套担心的服务实现opc数据模块(da,a&e,hda….)
-> opc供应商希望在非微软的平台,包括嵌入式设备实现opc功能-〉一些合作组织需要一个可靠的,有效地方式实现高水平结构数据的转移.
