精华内容
下载资源
问答
  • OPC

    2020-10-25 10:29:06
    OPC(OLE for Process Control)技术是指为了给工业控制系统应用程序之间的通信建立一个接口标准,在工业控制设备与控制软件之间建立统一的数据存取规范。它给工业控制领域提供了一种标准数据访问机制,将硬件与应用...

    OPC(OLE for Process Control)技术是指为了给工业控制系统应用程序之间的通信建立一个接口标准,在工业控制设备与控制软件之间建立统一的数据存取规范。它给工业控制领域提供了一种标准数据访问机制,将硬件与应用软件有效地分离开来,是一套与厂商无关的软件数据交换标准接口和规程(规范流程),主要解决过程控制系统与其数据源的数据交换问题,可以在各个应用之间提供透明的数据访问。

    简述

    OPC是OLE for Process Control的缩写,即应用于过程控制的OLE

    OLE原意是对象连接和嵌入,随着OLE2的发行,其范围已远远超出了这个概念。如今OLE包含了许多新的特征,如统一数据传输、结构化存储和自动化,已经成为独立于计算机语言操作系统甚至硬件平台的一种规范,是面向对象程序设计概念的进一步推广。

    OPC建立于OLE规范之上,它为工业控制领域提供了一种标准的数据访问机制。工业控制领域用到大量的现场设备,在OPC出现以前,软件开发商需要开发大量的驱动程序来连接这些设备。即使硬件供应商在硬件上做了一些小小改动,应用程序也可能需要重写。同时,由于不同设备甚至同一设备不同单元的驱动程序也有可能不同,软件开发商很难同时对这些设备进行访问以优化操作。硬件供应商也在尝试解决这个问题,然而由于不同客户有着不同的需要、同时也存在着不同的数据传输协议,因此也一直没有完整的解决方案。

    自OPC提出以后,这个问题终于得到解决。OPC规范包括OPC服务器和OPC客户两个部分。其实质是在硬件供应商软件开发商之间建立一套完整的“规则”。只要遵循这套规则,数据交互对两者来说都是透明的,硬件供应商只需考虑应用程序的多种需求和传输协议,软件开发商也不必了解硬件的实质和操作过程。

    作用

    OPC诞生以前,硬件的驱动器和与其连接的应用程序之间的接口没有统一的标准。如在工厂自动化(Factory Automation,FA)领域,连接PLC等控制设备和SCADALVHMI软件需要不同的工业自动化网络系统构成。OPC是为了不同供应厂商的设备和应用程序之间的软件接口标准化,并使其间的数据交换更加简单化的目的而提出的。它可以向用户提供不依赖于特定开发语言和开发环境的、可以自由组合使用的过程控制软件组件产品。OPC系统是由按照应用程序(客户程序)的要求提供数据采集服务的OPC服务器,使用OPC服务器所必需的OPC接口,以及接受服务的OPC应用程序所构成。OPC服务器是利用各个供应厂商的硬件所开发的,使之可以吸收各个供应厂商硬件和系统的差异,从而实现不依赖于硬件的系统构成。同时利用一种叫VARIANT的数据类型,可以不依赖于硬件中固有的数据类型,按照应用程序的要求提供数据格式。

    工作原理

    OPC以OLE/COM机制作为应用程序的通信标准,而OLE/COM是一种客户端/服务器模式,具有语言无关性、代码重用性、易于集成性等优点。OPC服务器中的代码确定了服务器所存取的设备和数据、数据项的命名规则和服务器存取数据的细节,不管现场设备以何种形式存在,客户都以统一的方式去访问,从而保证软件对客户的透明性,使得用户完全从低层的开发中脱离出来。客户应用程序仅须使用标准接口和服务器通信,而并不需要知道底层的实现细节。通过OPC服务器,OPC客户既可以直接读写物理设备的数据,也可操作SCADA,DCS等系统的端口变量(只要该系统提供OPC服务)。

    特点

    OPC是为了解决应用软件与各种设备驱动程序的通信而产生的一项工业技术规范和标准。它采用客户/服务器体系,基于Microsoft的OLE/COM技术,为硬件厂商和应用软件开发者提供了一套标准的接口。

    综合起来说,OPC有以下三个特点。

    ①计算机硬件厂商只需要编写一套驱动程序就可以满足不同用户的需要。硬件供应商只需提供一套符合OPC Server规范的程序组,无需考虑工程人员需求。

    ②应用程序开发者只需编写一个接口程序便可以连接不同的设备。软件开发商无需重写大量的设备驱动程序。

    ③工程人员在设备选型上有了更多的选择。对于最终用户而言,可以根据实际情况的不同,选择符合实际的设备。

    OPC扩展了设备的概念。只要符合OPC服务器的规范,OPC客户都可与之进行数据交互,而无需了解设备究竟是PLC还是智能仪表,甚至只要在数据库系统上建立了OPC规范,OPC客户就可与之方便地实现数据交互。

    OPC把硬件厂商和应用软件开发者分离开来,使得双方的工作效率都有了很大的提高,因此OPC在短时间内取得了飞速的发展。 

    适用范围

    开发OPC的最终目标是在工业控制领域建立一套数据传输规范,现有的OPC规范涉及以下五个领域。

    ①在线数据监测。OPC实现了应用程序和工业控制设备之间高效、灵活的数据读写。

    ②报警和事件处理。OPC提供了OPC服务器发生异常时以及OPC服务器设定事件到来时,向OPC客户发送通知的一种机制。

    ③历史数据访问。OPC实现了对历史数据库的读取、操作和编辑。

    ④远程数据访问。借助Microsoft的DCOM(Distributed Component Object Model)技术,OPC实现了高性能的远程数据访问能力。

    ⑤OPC实现的功能还包括安全性、批处理和历史报警事件数据访问等。

    OPC服务器的组成

    OPC服务器由三类对象组成,相当于三种层次上的接口:服务器、组对象和数据项

    ①服务器对象包含服务器的所有信息,同时也是组对象的容器。一个服务器对应于一个OPC服务器,即一种设备的驱动程序。在一个服务器中,可以有若干个组。

    组对象包含本组的所有信息,同时包含并管理OPC数据项。OPC组对象为客户提供了组织数据的一种方法。组是应用程序组织数据的一个单位,客户可对其进行读写,还可设置客户端的数据更新速率当服务器缓冲区内数据发生改变时,OPC服务器将向客户发出通知,客户得到通知后再进行必要的处理,而无需浪费大量的时间进行查询。OPC规范定义了两种组对象:公共组(或称全局组,public)和局部组(或称局域组、私有组,local)。公共组由多个客户共有,局域组只隶属于一个OPC客户。全局组对所有连接在服务器上的应用程序都有效、而局域组只能对建立它的Client有效。一般说来,客户和服务器的一对连接只需要定义一个组对象。在一个组中,可以有若干个数据项。

    数据项是读写数据的最小逻辑单位,一个数据项与一个具体的位号相连。数据项不能独立于组存在,必须隶属于某一个组。在每个组对象中,客户可以加入多个OPC数据项。

    OPC数据项是服务器端定义的对象,通常指向设备的一个寄存器单元。OPC客户对设备寄存器的操作都是通过其数据项来完成的。通过定义数据项,OPC规范尽可能地隐藏了设备的特殊信息,也使OPC服务器的通用性大大增强。OPC数据项并不提供对外接口,客户不能直接对其进行操作,所有操作都是通过组对象进行的。

    应用程序作为OPC接口中的Client方,硬件驱动程序作为OPC接口中的服务器方,每一个OPC Client应用程序都可以连接若干个OPC服务器,每一个硬件驱动程序可以为若干个应用程序提供数据。

    接口方式

    OPC规范提供了两套接口方案,即COM接口和自动化接口。COM接口效率高,通过该接口,客户能够发挥OPC服务器的最佳性能,采用C++语言的客户一般采用COM接口方案。自动化接口使解释性语言和宏语言访问OPC服务器成为可能,采用VB语言的客户一般采用自动化接口。自动化接口使解释性语言和宏语言编写客户应用程序变得简单,然而自动化客户运行时需进行类型检查,这一点则大大牺牲了程序的运行速度。

    OPC服务器必须实现COM接口,是否实现自动化接口则取决于供应商的主观意愿。 

    数据访问方式

    (1)服务器缓冲区数据和设备数据

    OPC服务器本身就是一个可执行程序,该程序以设定的速率不断地同物理设备进行数据交互。服务器内有一个数据缓冲区,其中存有最新的数据值、数据质量截和时间戳。时间戳表明服务器最近一次从设备读取数据的时间。服务器对设备寄存器的读取是不断进行的,时间戳也在不断更新。即使数据值和质量戳都没有发生变化,时间戳也会进行更新。客户既可从服务器缓冲区读取数据,又可直接从设备读取数据,从设备直接读取数据速度会慢一些,一般只有在故障诊断或极特殊的情况下才会采用。

    (2)同步和异步

    OPC客户和OPC服务器进行数据交互可以有两种不同方式,即同步方式和异步方式。同步方式实现较为简单,当客户数目较少而且同服务器交互的数据量也比较少的时候可以采用这种方式;异步方式实现较为复杂,需要在客户程序中实现服务器回调函数。然而当有大量客户和大量数据交互时,异步方式的效率更高,能够避免客户数据请求的阻塞,并可以最大限度地节省CPU和网络资源。

    其他

    OPC统一架构 (OPC UA(Unified Architecture)), 涵盖了OPC 实时数据访问规范 (OPC DA(Data Access))、OPC历史数据访问规范 (OPC HDA(History Data Access))、 OPC 报警事件访问规范 (OPC A&E) 和OPC安全协议 (OPC Security)

    展开全文
  • OPCOPC UA

    千次阅读 2019-04-21 23:59:02
    什么是OPC协议? 为了便于自动化行业不同厂家的设备和应用程序能相互交换数据,定义了一个统一的接口函数,就是OPC协议规范。有了OPC就可以使用统一的方式去访问不同设备厂商的产品数据。 OPC基金会前前后后规定了...

    什么是OPC协议?
    为了便于自动化行业不同厂家的设备和应用程序能相互交换数据,定义了一个统一的接口函数,就是OPC协议规范。有了OPC就可以使用统一的方式去访问不同设备厂商的产品数据。

    OPC基金会前前后后规定了不同的接口定义,如下:

    • OPC DA (Data Access, exchange of real-time values) 
    • OPC A&E (Alarms & Events, exchange of alarms and events) 
    • OPC HDA (Historical Data Access, exchange of historical values) 
    • OPC XML DA (XML-based exchange of real-time values)

    以上所有的接口定义,我们现在都统称为OPC。OPC是基于WINDOWS COM/DOM接口技术来规定的。

    比如我们可以了解下OPCGroup的接口定义如下:

    //*********************************************************
    // IOPCGroup Interface
    [
    object,
    dual,oleautomation,
    uuid(28E68F96-8D75-11d1-8DC3-3C302A000000),
    helpstring("OPC Group Object"),
    pointer_default(unique)
    ]
    interface IOPCGroup : IDispatch
    {
    // Properties
    [propget,helpstring("Returns the parent OPCServer")]
    HRESULT Parent([out, retval] IOPCAutoServer ** ppParent );
    [propget]
    HRESULT Name([out, retval] BSTR * Name );
    [propput]
    HRESULT Name([in] BSTR Name );
    [propget,helpstring("True if this group is public")]
    HRESULT IsPublic([out, retval] VARIANT_BOOL * IsPublic );
    [propget,helpstring("True if this group is active")]
    HRESULT IsActive([out, retval] VARIANT_BOOL * IsActive );
    [propput]
    HRESULT IsActive([in] VARIANT_BOOL IsActive );
    [propget,helpstring("True if this group will get
    asynchronous data updates")]
    HRESULT IsSubscribed([out, retval] VARIANT_BOOL * IsSubscribed );
    [propput]
    HRESULT IsSubscribed([in] VARIANT_BOOL IsSubscribed );
    [propget]
    HRESULT ClientHandle([out, retval] LONG * ClientHandle );
    [propput]
    HRESULT ClientHandle([in] LONG ClientHandle );
    [propget]
    HRESULT ServerHandle([out, retval] LONG * ServerHandle );
    [propget]
    HRESULT LocaleID([out, retval] LONG * LocaleID );
    [propput]
    HRESULT LocaleID([in] LONG LocaleID );
    [propget]
    HRESULT TimeBias([out, retval] LONG * TimeBias );
    [propput]
    HRESULT TimeBias([in] LONG TimeBias );
    [propget]
    HRESULT DeadBand([out, retval] FLOAT * DeadBand );
    [propput]
    HRESULT DeadBand([in] FLOAT DeadBand );
    [propget,helpstring("Rate data can be returned to an
    application (in mSec)")]
    HRESULT UpdateRate([out, retval] LONG * UpdateRate );
    [propput]
    HRESULT UpdateRate([in] LONG UpdateRate );
    [id(0),propget,helpstring("Returns the OPCItems
    collection")]
    HRESULT OPCItems([out, retval] OPCItems ** ppItems );
    // Methods
    HRESULT SyncRead(
    [in] SHORT Source,
    [in] LONG NumItems,
    [in] SAFEARRAY(LONG) * ServerHandles,
    [out] SAFEARRAY(VARIANT) * Values,
    [out] SAFEARRAY(LONG) * Errors,
    [out,optional] VARIANT * Qualities,
    [out,optional] VARIANT * TimeStamps);
    HRESULT SyncWrite(
    [in] LONG NumItems,
    [in] SAFEARRAY(LONG) * ServerHandles,
    [in] SAFEARRAY(VARIANT) * Values,
    [out] SAFEARRAY(LONG) * Errors);
    HRESULT AsyncRead(
    [in] LONG NumItems,
    [in] SAFEARRAY(LONG) * ServerHandles,
    [out] SAFEARRAY(LONG) * Errors,
    [in] LONG TransactionID,
    [out] LONG * CancelID);
    HRESULT AsyncWrite(
    [in] LONG NumItems,
    [in] SAFEARRAY(LONG) * ServerHandles,
    [in] SAFEARRAY(VARIANT) * Values,
    [out] SAFEARRAY(LONG) * Errors,
    [in] LONG TransactionID,
    [out] LONG * CancelID);
    HRESULT AsyncRefresh(
    [in] SHORT Source,
    [in] LONG TransactionID,
    [out] LONG * CancelID);
    HRESULT AsyncCancel(
    [in] LONG CancelID);
    };


    什么是OPC UA?
    为了应对标准化和跨平台的趋势,为了更好的推广OPC,OPC基金会近些年在之前OPC成功应用的基础上推出了一个新的OPC标准-OPC UA。OPC UA接口协议包含了之前的 A&E, DA,OPC XML DA or HDA,只使用一个地址空间就能访问之前所有的对象,而且不受WINDOWS平台限制,因为它是从传输层Scoket以上来定义的,这点后面会提到,导致了灵活性和安全性比之前的OPC都提升了。

    OPC UA的优势:
    1.一个通用接口集成了之前所有OPC的特性和信息,A&E, DA,OPC XML DA or HDA

    2.更加开放,平台无关性,WINDOWS,LINUX都能兼容

    3.扩展了对象类型,支持更复杂的数据类型比如变量,方法和事件

    4.在协议和应用层集成了安全功能,更加安全

    5.易于配置和使用

    核心的区别是因为OPC和OPC UA协议使用的TCP层不一样,如下:

    OPC是基于DOM/COM上,应用层最顶层;OPC UA是基于TCP IP scoket 传输层.

    其他一些区别:
    OPC虽然通过配置COM/DOM来提供数据加密和签名功能,配置防火墙,用户权限来让数据访问变得更加安全,但是会增加额外的工作量,尤其是对非IT的工程师来说;对于OPC UA,数据加密和签名,防火墙等都是默认的功能。比如基于DOM的OPC使用的动态端口分配,端口不固定,让防火墙难以确定,而OPC UA的端口都是唯一的,比如SINUMERIK 840D是PORT 4840,SIMATIC S7是PORT 4845。DOM/COM也可以生成不同级别的事件日志,但日志内容不够详细,只会提供“谁连接上服务器”这种,而对于OPC UA来说都是默认的功能,生成的日志内容更全面。

    后面会放上OPC UA的DEMO。


    --------------------- 
    作者:wfx7414 
    来源:CSDN 
    原文:https://blog.csdn.net/wfx7414/article/details/50629480 
    版权声明:本文为博主原创文章,转载请附上博文链接!

     

    【前言】
    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规范中的类型,还可以扩展加入其他的供应商或组织定义的新类型。

    智能制造还有多远?--谈谈为什么要采用OPC UA?

      前段时间与PLCopen主席严义老师探讨在PLCopen教育合作项目,据严老师前期的调研发现,与运动控制相关的教材非常少,甚至很多大学老师也是不了解PLCopen Motion的,这让人难以接受,因为,就我们讲“智能”而言,运动控制的精度与速度关乎产品的质量与生产效率,而且控制工程网版权所有,通过灵活的参数设置,运动控制可以让生产变得更为灵活。我们不管上层架构是如何进行智能分析与优化的,但是,到了制造执行层面,如果缺乏运动控制系统的精准、柔性的执行,那么无法达到所谓的“智能”-执行是智能的重要组成,就相当于企业战略很美好,却无法执行。


      图1-我们的产业有太多的理想有待实现


      同样道理,我们总是探讨高大上的云平台、大数据分析、人工智能、物联网,但是,数据互联却是第一个障碍,而同样道理,OPC UA作为数据互联的基础标准与规范,却似乎很多人并不了解,甚至很多做所谓工厂集成的人也不是很清楚,在数据采集、传输与生产运营中,我们会需要对现场的机器状态、生产能耗、质量相关、生产相关参数进行采集,但是,如果缺乏统一的标准与信息模型,我们会遇到非常大的困境。
      智能制造的美好前景需要底层的技术支撑,标准与规范先行,否则,我们就会离智能制造很远—远到超出我们的想像。
      一、数据采集的困境
      尽管大家都认为大数据分析将给我们带来巨大制造优化潜力,并改善我们的生产运营效率、资产管理水平,但是,在现实的智慧工厂互联的时候,却困难重重,无论是IIoT还是大数据分析各种概念都给我们以未来无限光明的愿景,但现实却那么骨感。
      (1).大量的连接工作耗费精力
      凡是在做智慧工厂的公司、系统集成商都清楚,包括MES厂商,就光将现场数据采集实现,这个工作量有多大,为了一个不大的项目,要去连接各种通信总线、要配置各种机器的参数,很多参数还因为技术保密的原因不开放,因此,采集了很多价值量并不高的数据,很多从IT业过来掘金工业物联网的公司都很郁闷,因为这个钱赚的实在是太辛苦,以至于他们对这件事情产生了悲观情绪。做自动化的还好,原来就是遇到这些问题,但对IT就很惨了,因为,这太过消耗工程师资源。


      图2-数据是否让我们无所适从?


      (2).采集什么数据不是很清楚
      这是一个困难,对于如何运营生产系统,往往很多做IT的缺乏对机器的了解,对生产工艺、流程的了解,不能定义清楚需要采集什么样的数据?如何使用这些数据?
      很多时候,大家只是说“先把数据采起来再说”,至于这个数据能干什么,那是以后的事情,先让数据不要流失、浪费,但是,如果不知道数据的用途,那么你怎么知道你采集的数据是对的?如果采集了一大堆数据在用的时候发现少了一个数据不能用于分析工艺对能耗的影响,那岂非你所有采集的数据就没有用了?
      (3).数据要做什么用不清楚
      这又是一个尴尬,就是要这些数据干什么用?如何使用这些数据,而这个问题又不再是一个技术问题,而牵扯到公司的运营管理水平的问题,如果能够达到较高的数据精准化管理、并且有先进的管理模型,那么这件事情反倒易于理解,因为首先它知道哪些数据需要采集,而如果运营管理水平一般的情况下就会出现委托第三方系统集成商采集的数据不知道该怎么用,这牵扯到企业的数字化经营的策略问题。


      图3-我们要这些数据干什么?


      二、为什么要采用OPC UA?
      包括主流的自动化厂商,以及IT世界的华为、Microsoft、CISCO等都成为了OPC UA的支持者,以及协会组织如OMAC、Euromap、Automation ML、ISA、FDT/DTM、MTConnect、BacNet,以及全球主要的现场总线基金会如PI、EPSG、ETG、SERCOSIII均支持与OPC UA的融合与开发工作,为什么这些国际自动化、IT、基金会组织、行业协会都聚焦在了OPC UA上?
      图4为结合OPC UA的标准文档,自行设计的图用于阐述采用OPC UA的八个原因。


      图4-为什么选择OPC UA?


      工业通信分为互联(硬件接口的连接)、互通(软件层面的数据格式与规范)、语义互操作(语义的定义与规范)几个层面,而各种总线解决的是连接问题,而互通解决了应用层的匹配,而OPC UA则解决不同系统之间的语义的互操作-包括应用行为与动态功能。
      独立性、安全、国际标准、建模与信息模型、即插即用这些都是从技术角度来分析OPC UA何以成为大家关注的焦点。
      三、信息模型的建立
      如何理解信息模型?
      信息模型是什么?如果用OPC UA的技术来介绍可能不大易于理解,但是,如果我们想实现机器人与注塑机进行协同的工作的时候,我们必须清楚,他们之间需要哪些数据来保证他们之间的工作一致性呢?这就是数据的应用问题,而同样道理,我们希望实现OEE的统计,那么OEE的计算就是一个信息模型,我们需要与之相关的数据,而垂直行业的信息模型则在于具体的包装、塑料、印刷行业所采集的对象定义不同。


      图5-让数据变得规范与标准


      简单理解信息模型就是为了实现特定任务,而对数据所进行的标准封装,OPC UA提供了一个如何封装信息模型的标准,除了已经纳入到OPC UA架构下的PackML、MTConnect、Euromap、Automation ML等之外,OPC UA还支持行业自定义的信息模型,OPCUA采用面向对象的思想,使得这些开发变得简单。


      图6-OPC UA架构


      图6是OPC UA的架构,它包含了基础信息模型、行业信息模型,也包括制造商自定义的信息模型,提供传输服务、发现功能是基础的,而信息模型是跨平台、跨行业的应用需求。
      四、OPC UA的应用好处有哪些?
      4.1对于系统集成而言,OPC UA有哪些好处?
      我们必须确保针对质量、效率、能源、维护等参数具有统一的模型,这样可以让我们做到以下几点:
      (1).软件复用:通过数据建模形成的应用模块,如PackML可以让我们针对包装机与MES相互关联的数据统一封装,可以通过一个模块的调用即可实现相关数据的调用。这就像贝加莱的mapp中的PackML、Euromap软件模块一样。
      (2).关注点分离与软件模块化:通过共享的信息模型,OPC UA让面向服务(SoA)的应用得以实现,由于采用了关注点分离的设计思想,HMI与应用程序可以分离CONTROL ENGINEERING China版权所有,而数据与应用实现分离,可以由不同的应用程序读取共享信息模型进而实现分析、显示应用的各行其道。
      像早期的Andriod一样,很多现场的应用存在着一些类似的问题控制工程网版权所有,你必须为每种不同的屏幕开发相应的画面,因为无法自适应这些尺寸,尤其是那些非标的规格,而另一方面大量的程序员也面临着HMI与应用程序之间的复杂耦合关系带来的麻烦。
      在程序开发中也存在这样的问题,当HMI与应用程序之间出现一方修改时,另一方也得修改,另外一方面,针对不同的屏幕尺寸需要采用不同的画面设计。对OEM厂商而言,这便意味着为了个性化的机器,必须反复的修改画面和程序、并对不同尺寸规格的HMI进行重新设计。


      图7-mappVIEW借助于OPC UA实现关注点分离


      图7所示的mappVIEW技术即通过OPC UA实现了HMI与程序的关注点分离,使得修改HMI画面的组态界面、流程与应用程序无关,而应用程序的修改也不会影响HMI的画面。并且,任意尺寸规格的HMI、智能终端均可自适应的访问机器数据。
      当然,关注点分离也是模块化软件实现的主要方式,这与软件模块化可以列入同一优点描述。
      (3).大量的节约工程时间:由于采用了标准的数据模型,使得数据仅需配置,而无需大量的编程操作www.cechina.cn,另外,标准的数据包一次性让与任务相关的数据被读取,而无需很多次的调用不同的参数,这也节省了工程时间。
      (4).最大化数据应用:设计与生产、维护等能够在同一架构下进行数据交换,实现企业的数据共享与数据价值的最大化发挥。就像Automation ML一样,从工程设计平台到工艺辅助平台、MES、控制层数据可以实现统一的标准下的连接和分享。
      OPC UA在整体上使得在工厂的各个环节的横向与纵向数据实现了透明交互,并且,配置效率更高,程序与应用模块化更强,使得工厂组织更为便利,即使面对复杂的变化,也可以实现快速的切换。
      4.2行业信息模型带来快速数据配置与采集
      (1).无关PLC是谁家的:如果我不用在乎谁家的控制器开发的注塑机、机械手的系统,而是直接通过数据的标准配置即可访问到机器,那是否很方便的呢?
      显然,这是今天做工厂集成项目的人的最美好想法,可现实中却并非如此,也是可以连接的,他们需要针对不同的控制器配置不同的软件程序、而且还需要不同的接口模块来支撑,但是如果无论你采用何种品牌控制器、采用何种现场总线,只要你采用OPC UA,我们就可以相互访问和配置机器的参数,那么这是否会让工厂的集成人员变得工作简单很多呢?
      Euromap 77是基于OPC UA的标准设计的注塑机通信模型,包括了注塑机信息、配置、状态、模具、驱动的数据对象,也包括Job、数据集管理的数据模型,如图8所示。


      图8-Euromap 77基于OPC UA的注塑机信息模型开发


      对于PackML而言,其旨在提供相应的能力去连接MES与质量数据,其实,对于PackML而言,图9的机器状态使得机器的时间统计变得简单,而PackML正是遵循了OPC UA的标准与规范。


      图9-PackML的设备状态


      通过图9所示的状态与显示画面,每个按键按下都会记录时间,最终与设备OEE统计相关的时间将被用于实现生产运营效率的统计分析。
      (3).实现OICT融合的数据融合
      OICT的融合,必然使得跨平台的IT与OT系统在语义方面需要融合,每个人必须懂得另一个人所说的每局话的含义,采用统一的标准数据格式、单位标准(公斤、瓦特、米、秒、小时)、能源采集的标准与数据集的统一。
      边缘计算正在连接现场设备,实现数据应用,而OPC UA则是一个标准与规范,用于实现IT与OT的互联,如图10,注塑机的参数通过Euromap标准被管理、分析系统读取并通过OPCUA将生产任务下达至机器。

                                      
                                                图10-基于OPC UA实现注塑机新工厂与老工厂的集成
      事实上,各个行业都在大张旗鼓的推进着智能制造,但是,就基础的而言,OPC UA、PLCopen等标准化工作是必须先行的,当然也包括基于IEC 61508的功能安全技术标准、机器人的ISO 10218等。
      这就是想说的“智能制造离我们还有多远?”—我们应该基础工作做好。不仅产业里www.cechina.cn,包括大学里的课程,关于互联互通这些问题还停留在久远的现场总线,而无视产业已经大量的采用实时以太网技术,而新的TSN也将在不久与OPC UA融合成为可以预见的未来互联集成方案。

    展开全文
  • OPC统一架构

    2018-01-11 14:48:51
    原来的OPC应用程序只能运行在基于Windows的PC系统上,而新标准的主要优点在于平台的无关性。, 马科等著的这本《OPC统一架构》首先简单介绍了传统OPC,并简短概述了OPC UA;接下来侧重介绍信息建模,也就是使用OPC UA...
  • opc协议

    千次阅读 2020-05-08 14:24:36
    opc 协议 非opc协议-驱动 应用程序使用驱动程序来直接与设备通讯。 缺点: 引用的驱动程序多(上图中每个应用程序都要引用四种驱动,每个驱动的使用方式也不一样) 产品的不断升级给应用端带来巨大的工作...

     

    opc 协议

    非opc协议-驱动

     

    应用程序使用驱动程序来直接与设备通讯。

    缺点:

    • 引用的驱动程序多(上图中每个应用程序都要引用四种驱动,每个驱动的使用方式也不一样)
    • 产品的不断升级给应用端带来巨大的工作负担

     

    使用opc协议

     

    OPC规范了接口函数,不管现场设备以何种形式存在,客户都以统一的方式去访问,从而保证软件对客户的透明性,使得用户完全从低层的开发中脱离出来。对于软件开发商而言,不再费神于开发各种硬件设备的驱动程序,而是把精力和时间集中在增加和完善软件的功能上,使自己的软件更易被用户接受和使用。对于硬件设备制造商,再也不必担心自己的产品因为没有为某些软件提供驱动程序而被用户所忽视或放弃。一次编写的驱动程序(OPC服务器),可以被所有的应用软件所用。不仅节省了各种I/O驱动程序的开发费用,而且可以让制造商集中精力生产更易于用户使用的、功能完善的硬件。

    OPC服务模式

     

    OPC服务可以通过OPC组来管理同步一种协议类型的设备,如:上面的场景监视应用只需要对拥有这四个设备的OPC组进行通讯就可以了。

     

    OPC接口类型

     OPC服务器通常支持两种类型的访问接口,它们分别为不同的编程语言环境提供访问机制。这两种接口是:自动化接口(Automation interface);自定义接口(Custom interface)。自动化接口通常是为基于脚本编程语言而定义的标准接口,可以使用VisualBasic、Delphi、PowerBuilder等编程语言开发OPC服务器的客户应用。而自定义接口是专门为C++等高级编程语言而制定的标准接口。OPC现已成为工业界系统互联的缺省方案,为工业监控编程带来了便利,用户不用为通讯协议的难题而苦恼。任何一家自动化软件解决方案的提供者,如果它不能全方位地支持OPC,则必将被历史所淘汰。

     

    OPC 优缺点

    OPC的优点和不足

    与早期的现场设备接口相比, OPC 具有如下几个优点:

    ( 1) 减少了重复开发;

    ( 2) 降低了数据设备间的不兼容;

    ( 3) 降低了系统集成商的开发成本;

    ( 4) 改善性能。

    OPC 存在的不足

    虽然OPC 接口具有种种优势, 但是如果直接通过OPC 连接实时数据库依然存在一些问题:

    ( 1) 虽然OPC 标准中包含了OPC History 标准, 但是多数OPC 服务器并未给予支持, 所以难以为实时数据库提供数据缓存功能。

    ( 2) OPC 服务器无法提供一些常用的计算功能, 如累计、滤波和几个位号相加的综合计算功能, 增加了实时数据库的负担, 影响了实时数据库的稳定性和鲁棒性。

    ( 3) OPC 基于微软的COM/DCOM体系, 在分布式应用中其所用的RPC 方式常常与企业级的防火墙发生冲突。不能通过防火墙。

    OPC体系结构

     

     

     

    OLE(Active X)/COM

    Active X/COM技术定义各种不同的软件部件如何交互使用和分享数据。OLE/COM是一种客户/服务器模式,具有语言无关性、代码重用性、易于集成性等优点。

     

    工作原理

     

     

     

    详细原理图

     

     

     

    OPC服务器

    如果我的控制硬件供应商说他们支持OPC,那么为什么我还需要OPC服务器?

    当硬件供应商表示他们支持OPC时,通常并不意味着他们直接将OPC服务器嵌入到他们的硬件中。他们的意思是他们拥有OPC服务器软件,该软件在某个基于Windows的计算机上运行,该计算机与其硬件对话并使用一个或多个OPC标准公开数据。此外,对于某些硬件供应商,可能需要额外的许可费才能启用此OPC服务器功能。我们经常听到用户对这一点感到困惑。其实只是为了在销售时更好听一点,才会说“我们支持OPC”,所以在此需要澄清一下供应商所说的内容。

    现在,一些供应商开始利用多平台功能,并将OPC UA服务器直接嵌入到他们的PLC中。如果你的 HMI或SCADA软件支持OPC UA,那么这可能会非常方便。如果你的客户端应用程序不支持OPC UA,那么则可以使用OPC网关应用程序来帮助你从OPC UA 连接到 DA。

    OPC服务器必须在Server类计算机和操作系统上运行吗?

    OPC服务器不需要服务器类硬件或操作系统。有些供应商可能会针对其具体实施要求这样做,但OPC标准并没有规定这一点。OPC服务器软件通常相当轻巧,可以轻松地与台式PC上的其他软件应用程序共存。你可以咨询你的OPC服务器供应商,了解你的具体应用要求。(以Software Toolbox的产品为例,在它的每个产品网站区域都有一个规格页面,虽然他们的OPC服务器通常不需要服务器级硬件或操作系统。)

    2个OPC服务器如何相互通信?而2个OPC客户端又如何相互通信?

    在OPC世界中,通常客户端是与服务器通信的。但是好消息是OPC服务器可以与其他OPC服务器通信,OPC客户端也可以使用相同的方式。

    为什么两个OPC服务器需要通信?你可以想象一下,你有PLC供应商A和PLC供应商B,并且有一个OPC服务器需要使用两个不同的PLC供应商的特定设备协议与每个服务器进行通信。你希望将数据从PLC A移动到PLC B,这意味着2个不同的OPC服务器需要相互通信。你可以使用OPC Bridging(OPC桥)软件应用程序执行此操作。OPC桥接软件应用程序是OPC客户端应用程序,可以连接到许多不同的OPC服务器,然后允许你映射两个OPC服务器之间的数据移动,指定方向,数据转换等

     

     

    • OPC客户端与OPC服务器(OPC数据访问服务器、OPC历史数据访问服务器或OPC报警与事件服务器)的通信
    1. 服务器是利用Microsoft Windows的 COM/DCOM技术作为数据交换的方式。这就是说服务器必须安装在支持Microsoft Windows操作系统的PC。一个OPC服务器可以同时跟多于一个的 OPC客户端 通讯。


     

    • OPC服务器 – 数据传译器
    1. 服务器的一个关键作用就是将以数据源输出形式传送的数据, 翻译成支持之前提到的某一或多于一种的OPC数据访问规范形式!!!(比如说, OPC实时数据访问规范)。OPC数据规范群只是定义了OPC服务器的OPC通讯模块, 所以数据形式翻译模块的准确性和高效性就完全取决于OPC服务器供应商的开发方式
    • OPC服务器与数据源的通信 OPC服务器和数据源用数据源支持的数据形式通信。数据源可以是某个硬件设备, 某个控制器或者是某个应用程序。因为数据源可以各种各样, 而每一个不同形式的数据源又都用自己的通讯协议或者API可以通过多个物理通信方式(串行RS485, RS232, 以太网, 无线通讯等)通信, 所以OPC数据规范群并没有定义OPC服务器和数据源之间的交流法则。 两个关于OPC服务器和数据源通讯的最普遍的例子就是:
    • API;通过一个可以是专属于某一个数据源(请参见MatrikonOPC 霍尼韦尔TPS服务器), 也可也是开放式(请参见MatrikonOPC Modbus服务器)的通信协议。

     

    OPC服务器所兼容的设备分类

    • 硬件设备:DCS,PLC,扫描仪,电子设备…
    • 应用软件:HMI,历史数据库,震动检测器…
    • 通讯协议:DDE,Modbus,ODBC,GenCS…
    • 操作系统:Windows,UNIX,VMS,Macintosh,嵌入式OS…

    即OPC服务器可以从上面任何一种形式的数据产生实体中读取数据。这个实体可以是霍尼韦尔PHD的Application,也可以是Modbus的通讯协议,还可以是一种PLC,也就是一种Device(硬件设备),或者是一种Platform。

     

    Matrikon公司的OPCServer Simulator

    简单,单文件注册后,各种数据类型,各种点类型(只读点,只写点,读写点)都有了,更好的一点是,如果想做大规模的测试,10万点,那么只需要在它的Random下添加任意名称即可,OPCServer会自动给你建出对应的测点,还是随机数变化。

    配置时的几个关键概念

    Alias Group(Group) ——对Items的分类管理,自定义的。类似于Java中的包。

    Alias (Item) ——一个Item代表与服务器进行通信的PLC或其它硬件设备上的一个地址。与Kepware中的一样。

    配置顺序如下(在Alias Configuration下):

    New AliasGroup/Alias --> Inset Alias

    Kepware公司的OPCServer

    一个商业软件,需要花费金钱购买License的,但Kepware公司的OPCServer需要花钱的不是OPCServer本身,而是采集驱动。不过Kepware公司的OPCServer提供了不花钱的仿真驱动,用来测试上非常好的。

    缺点就是太庞大,不简单,学习成本较高。但为了能满足OPC这类产品的各种测试,它真的是最佳选择。可以去它的官方网站下载。

    配置时的几个关键概念

    Chanel——通道是一个从PC到一个或多个外部设备之间的传播媒介。一个通道可以用来代表一个串行端口(一个安装在个人电脑上的卡或是以太网接口)。

    Device——设备代表了与服务器进行通信的PLC或其他硬件。它受限于Channel所选择的设备驱动程序(Device driver)。

    Group——对tags的分类管理,自定义的。类似于Java中的包。

    Tag——一个Tag代表与服务器进行通信的PLC或其它硬件设备上的一个地址。服务器允许动态标签(客户端自定义创建)和用户定义的静态标签(服务端管理人员创建的标签)。动态标签是直接进入了OPC客户端和指定设备存取数据。静态标签在服务器被创建的且支持标签扩展,他们可以从OPC客户浏览,支持标签浏览。

    配置顺序如下:

    New Channel -->New Device --> New Group/Tag --> New Tag

    OPC客户端

    Matrikon公司的OPCClient

    标准,稳定,单文件,通讯过程的信息还比较丰富,我是比较喜欢用它在创建OPC组时定义同步方式或异步方式来验证远程计算机的OPC配置是否正确。缺点就是大了点,2M多。

    Kepware公司的OPCClient

    功能很强大,标准,稳定,日志信息很丰富,最推荐的功能是支持对OPCServer中点名的条件过滤,支持点表的导入导出,支持自动导入OPCServer的所有点,根据点表识别好点坏点,按照列排序,用它可以弥补很多国产组态软件不能在线遍历OPCServer点表的功能、不能过滤OPCServer点的功能、不能识别OPCServer中好点坏点的功能等。缺点就是非单文件。

    OPC Client和OPC Server配置的安全策略

    下表是对 OPC Client 和 OPC Server 所在操作系统之间的安全策略的配置对应说明:

     

     

    Java实现OPC客户端

    有两种开源包,分别是JeasyOpc和utgard(Openscada),他们的区别如下:

     

    经对比分析,我们采用Utgard(Openscada)开源技术,Openscada可以很好的实现与OPC服务器的链接及读写数据等功能,还可以随时获取和修改OPC的Server和Item的属性状态信息。所以它能够很好的满足我们的需求,建议使用Openscada。

    OPC客户端开发大致步骤

    1. COM组件初始化;
    2. 创建服务器Server对象;
    3. 创建组Group对象;
    4. 创建项Item对象;
    5. 添加Item到Group中;
    6. 添加Group到Server对象中;
    7. 连接服务器(这里的顺序与具体实现有关),完成相应操作;
    8. COM组件关闭


     

    数据类型

     

     

    Openscada链接配置方法

    OPC数据存取服务器由三个对象组成:服务器对象(Server)、组对象(Group)和项对象(Item)。

    按说明配置好OPC Server 与 OPC Client 所在电脑的组件服务配置和防火墙设置(windows7直接关闭就行了)注意一定要把本机希望链接OPC服务的用户或用户组添加到DCOM配置列表中,否则链接会失败。

    如果其他都配置好了,运行程序还是连接不上的话,首先常看防火墙是否配置(或关闭)。

    OPC对象——服务器(OPC Server)、组(OPC Group)、项(OPC Item)。

    Openscada开源项目:

     ConnectionInformation中:

     Host——本地主机/网络主机IP (示例:localhost(默认)、127.0.0.1)

     Domain——域(默认为localhost)

     User——用户名

     Password——用户登录密码

     Clsid——应用在注册表中相对应的CLSID值

     Grogid——应用在注册表中对应的程序名称

     【Clsid 和 Grogid 作用相同,只要设置一个就可以了,如果两个都设置了,程序会优先选择Clsid。我们建议使用Clsid,因为使用Grogid时,Openscada的内部处理还是会通过JISystem.getClsidFromProgId( progId )方法将其转换为Clsid,并且还需要进行服务器上用户的权限的高级配置才可以使用。查找Clsid和Grogid的方法:打开注册表(regedit)—》在HKEY_CLASSES_ROOT下找到相应的OPC服务器名称,该名称就是Grogid,在其目录下的CLSID的值(右边区域)就是Clsid】

    开发

    1.MatrikonOPC模拟检测点添加

     

    2.关闭防火墙 3代码

    public static void main(String[] args) throws Exception {
        // 连接信息
        final ConnectionInformation ci = new ConnectionInformation();
        ci.setHost("localhost");         // 电脑IP
        ci.setDomain("");                  // 域,为空就行
        ci.setUser("OPCServer");         // 电脑上自己建好的用户名 注意:用管理用户
        ci.setPassword("123456");          // 用户名的密码
         ci.setClsid("F8582CF2-88FB-11D0-B850-00C0F0104305"); // MatrikonOPC的注册表ID,可以在“组件服务”里看到
         final String itemId = "test.a";    // 项的名字按实际


        // 启动服务
        final Server server = new Server(ci, Executors.newSingleThreadScheduledExecutor());
     
        try {
            // 连接到服务
            server.connect();
            // add sync access, poll every 500 ms,启动一个同步的access用来读取地址上的值,线程池每500ms读值一次
            // 这个是用来循环读值的,只读一次值不用这样
            final AccessBase access = new SyncAccess(server, 500);
            // 这是个回调函数,就是读到值后执行这个打印,是用匿名类写的,当然也可以写到外面去
            access.addItem(itemId, new DataCallback() {
                @Override
                public void changed(Item item, ItemState itemState) {
                    int type = 0;
       try {
          type = itemState.getValue().getType(); // 类型实际是数字,用常量定义的
       } catch (JIException e) {
          e.printStackTrace();
       }
                    System.out.println("监控项的数据类型是:-----" + type);
                    System.out.println("监控项的时间戳是:-----" + itemState.getTimestamp().getTime());
                    System.out.println("监控项的详细信息是:-----" + itemState);

                    // 如果读到是short类型的值
                    if (type == JIVariant.VT_I2) {
                        short n = 0;
          try {
             n = itemState.getValue().getObjectAsShort();
          } catch (JIException e) {
             e.printStackTrace();
          }
                        System.out.println("-----short类型值: " + n);
                    }

                    // 如果读到是字符串类型的值
                    if(type == JIVariant.VT_BSTR) {  // 字符串的类型是8
                        JIString value = null;
          try {
             value = itemState.getValue().getObjectAsString();
          } catch (JIException e) {
             e.printStackTrace();
          } // 按字符串读取
                        String str = value.getString(); // 得到字符串
                        System.out.println("-----String类型值: " + str);
                    }
                }
            });
            // start reading,开始读值
            access.bind();
            // wait a little bit,有个10秒延时
            Thread.sleep(10 * 1000);
            // stop reading,停止读取
            access.unbind();
        } catch (final JIException e) {
            System.out.println(String.format("%08X: %s", e.getErrorCode(), server.getErrorMessage(e.getErrorCode())));
        }
    }

    4测试

    write values-测试数据

     

    代码结果

     

    总结

     

    OPC就是为了不同供应厂商的设备和应用程序之间的接口标准化,使其间的数据交换更加简单化的目的而提出的。作为结果,从而可以向用户提供不依靠于特定开发语言和开发环境的可以自由组合使用的过程控制软件组件产品。OPC的设计目的最重要的是即插即用,也就是采用标准方式配置硬件和软件接口。一个设备可以很容易地加入现有系统并立即投入使用,不需要复杂的配置,且不会影响现有的系统。

    展开全文
  • 随着OPCUA技术的推广应用,工业互联场景经常遇到OPCDA和OPCUA不能兼容的问题,OPCUA最大的优点是支持跨平台和减少现场实施人员配置DCOM的烦恼(大多数人可能都是基于这个原因放弃DA),一些老旧项目不支持OPCUA的...

          随着OPCUA技术的推广应用,工业互联场景经常遇到OPCDA和OPCUA不能兼容的问题,OPCUA最大的优点是支持跨平台和减少现场实施人员配置DCOM的烦恼(大多数人可能都是基于这个原因放弃DA),一些老旧项目不支持OPCUA的连接,需要利用中间件实现OPCDA到OPCUA的转换。KepOPC是服务于工业数据采集及交换的定制型工业软件,它不止是一个OPC客户端,同时还是一个OPCUAServer。它支持OPC DA和OPC UA的多个服务同时连接,并实现与物联网平台的MQTT代理服务器及数据库(关系数据库、时序数据等)的快速接插,作为一个高性能的运行中间件,它起到工业数据桥梁和纽带的作用,为用户实现快速数据采集和接入,并能够连续稳定运行。它的典型应用架构如下图所示,通过OPC数据采集实现物联网终端平台的深度边缘计算,为智能制造、医疗制药、智能家居、能源化工等行业提供生产数据的实时交换和历史数据存储,为工业互联网平台的大数据分析和应用提供基础数据和分析服务。

    图1 KepOPC应用架构图

          本文介绍一下KepOPC如何实现OPC DA到OPC UA的转换。

       (1)打开KepOPC中间件系列之OPC-MQTT-InfluxDB版本,他是一个高性能的工业接插软件

          图2 OPC-MQTT-InfluxDB V1.02主运行界面

          分组连接所需OPCDA服务器,配置MQTT及InfluxDB相关参数,点击“开始运行”即启动三种方式的数据交换(OPCUA、MQTT、InfluxDB),本文介绍OPCUA方式。

          (2)测试KepOPC 的UAServer性能

          打开OPCUA客户端程序,输入url地址(KepOPC默认发布UAServer的地址为 opc.tcp://127.0.0.1:4841/kepopcua/server/ ),本机访问和远程访问只需要更换url中的ip地址即可,端口占用4841端口,请务必保持该端口未被使用。

          图3 UA客户端连接并通过查询方式获取节点值

     

      图4 UA客户端连接并通过订阅方式获取节点值

          查询速度:3ms/节点;订阅速度:约130ms/1000节点。

          总结:KepOPC的UA Server功能主要方便实现OPCDA 到OPCUA的转换,为工业互联和自动化控制系统提供数据交换解决方案。OPC-MQTT&InfluxDB是一个加入了UA订阅、消息队列、OPCUAServer等技术的高性能工业数据交换中间件。为了提高软件的连续运行能力,作者通过异常环境模拟测试,针对软件运行过程中可能会发生的异常进行了处理,在提高软件性能的同时也提高了中间件的连续运行能力,同时它也能作为OPCUAServer为其他自动化SCADA平台提供工业数据交换,更好地为工业互联网平台提供数据和分析服务。

    微信公众号搜索 KepOPC工业互联 或 扫一扫关注公众号,获取最新产品资讯。

     问题反馈及合作交流 Email:49271508@qq.com  或 公众号留言

    展开全文
  • opc转BACnet

    2013-11-25 08:58:49
     此软件主要用来解决大多数楼宇自动化软件无法访问OPC服务器的问题。... 本软件优点,可配置性强,操作简单,稳定可靠,支持WEB访问。在OPC服务器意外关闭的时候,该软件能够使OPC服务器自动运行起来。
  • OPC教程一:什么是OPC

    2021-08-03 08:38:38
    简单的介绍一下OPC的概念 OPC全称是Object Linking and Embedding(OLE) for Process Control,它的出现为基于Windows的应用程序和现场过程控制应用建立了桥梁。 OPC标准以微软公司的OLE技术为基础,它的制定是通过...
  • 自从OPC标准出现之后,很多人都在使用,但是对于一些刚接触的人来说还是比较懵的。本篇文章主要介绍OPC Server 和OPC Client的区别。现在就跟着小编来了解一下文章内容吧~ 说到OPC Server 和OPC Client,就不得不说...
  • MX OPC Server

    2018-02-23 15:28:38
    用于三菱系列PLC的OPC服务器,可以通过串口、以太网等通过该OPC访问PLC数据。只要1积分,如果您看到比1分多,那就是系统给改的
  • OPC UA

    2019-02-21 19:53:00
    OPC UA将来自不同厂商不同设备的数据进行统一格式、统一显示。 OPC: originally knowns as “OLE for Process Control”, now “Open Platform Communications”. It is a collection of multiple specifications, ...
  • OPC UA协议广泛应用于工业自动化系统中与工业物联网中。本文简述嵌入式OPC UA网关与传统OPC UA软件的区别,分享给读者。 嵌入式OPC UA网关的特点 嵌入式OPC UA网关是指基于嵌入式硬件,运行OPC Server与OPC Client...
  • OPC协议

    2018-12-16 11:18:00
    详解OPC协议-工业控制和自动化领域的接口标准 摘要:OPC全称是OLEforProcessControl,即用于过程控制的OLE,是针对现场控制系统的一个工业标准接口,是工业控制和生产自动化领域中使用的硬件和软件的接口标准。...
  • 什么是OPC UA

    万次阅读 多人点赞 2018-09-06 14:38:29
    OPC UA(Unified Architecture,统一架构)是下一代的OPC 标准,通过提供一个完整的,安全和可靠的跨平台的架构,以获取实时和历史数据和时间。 OPC UA基于OPC基金会提供的新一代技术,提供安全,可靠和独立于厂商...
  • 要用S7-200PCAccess软件然后用OPC搜索WinCC访问S7-200可使用哪些选项?组态要点:如下选项可用于WinCC及S7-200间的通信:通过OPC进行通信S7-200PCAccess使用S7-200的OPCserverPCAccess可以建立S7-200和WinCC之间的...
  • 一、什么是OPC OPC (OLE for Process Control——用于过程控制的OLE)是基于Microsoft公司的DNA(Distributed Internet Application)构架和COM(Component Object Model)技术的一个工业标准接口,是根据易于扩展性...
  • 本软件优点:可配置性强,操作简单,稳定可靠。在OPC服务器意外关闭的时候,该软件能够使OPC服务器自动运行起来,方便用户操作。 2.4应用领域  解决工业触摸屏访问OPC服务器;  解决不带Windows操作系统的控制器...
  • 2015迅饶X2OPC服务器

    2015-09-10 10:41:12
    X2OPC是一款OPC服务器(目前支持80多种协议转换为OPC服务器)。顾名思义X代表各个厂商不同的通信...本软件优点,可配置性强,操作简单,稳定可靠,支持多种协议集成到OPC服务器,还可以支持多国语言,方便用户操作。
  • Barillère, Renaud (CERN)发表于23 Sep 2005,标题为“OPC evolution toward UNIX (from Windows to world-wide domination?)”(http://cdsweb.cern.ch/record/922755) 一、摘要 面向过程控制的OLE(OPC)
  • OPC协议见解

    千次阅读 2012-11-17 15:59:49
    对于过去还一直靠编写串口协议研发非标产品的一些同仁来说,似乎刚刚感受到其带来的优点,为了接项目而编写一些OPC接口等等,也许感觉其神秘而高不可攀。其实,OPC就是基于微软DCOM技术的一套接口定义而已,在其设计...
  • 控制装置标准化通信:OPC服务器开发设计与应用出版时间:2010年版内容简介《控制装置标准化通信:OPC服务器开发设计与应用》从应用角度出发,对当前自动化控制领域的OPC标准化通信技术进行了全面、系统的阐述。...
  • OPC配置DCOM解决方案

    千次阅读 2019-05-06 09:39:16
    概述:随着对数据重要性的提升以及数据交换问题的重视,大家对免费的OPC server使用有所增加,下面跟大家分享一下解决OPC 配置DCOM困难问题,免去繁琐的工作量,直接导入变量解决OPC配置DCOM问题。适用于所以组态软件...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 637
精华内容 254
关键字:

opc优点