opc for linux,华为linux

大家好,关于opc for linux很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于华为linux的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!

如何使用Excel通过OPC访问WinCC的实时数据

OPC(OLE for process control)作为标准软件接口,可以使各个生产商的设备和应用程序就能以统一的方式连接起来。WinCC既可以用作 OPC服务器提供数据,又可以作为 OPC客户机访问其他OPC服务器中的数据。WinCC集成的OPC服务器使得过程数据可由其它应用程序(OPC客户机)访问。在Excel中可以通过VBA脚本建立OPC客户端,并通过OPC接口读取WinCC中的数据,并将修改的数据写入WinCC。

1 OPC规范及功能

OPC是一种一致的独立于制造商的软件接口。OPC接口基于 Microsoft Windows的 COM(组件对象模型)和 DCOM(分布式组件对象模型)技术。另一方面,OPC XML则基于 Internet标准 XML、SOAP和 HTTP。

> COM

COM是位于同一计算机上且属于不同程序的对象之间进行通讯时采用的标准协议。服务端是提供服务的对象,比如提供数据。客户端是使用由服务端提供的服务的应用程序。

> DCOM

DCOM代表 COM功能的扩展,从而允许对远程计算机上的对象的访问。

该接口允许在企业、管理办公室和生产的应用程序之间进行标准化的数据交换。以前,访问过程数据的应用程序受限于通讯网络的访问协议。使用 OPC标准软件接口,各个生产商的设备和应用程序就能以一致的方式连接起来。

OPC客户端是访问过程数据、消息和 OPC服务端归档历史数据的应用程序。访问需要通过 OPC软件接口。

OPC服务端是一个程序,它为不同制造商的应用程序提供一个标准的软件接口。OPC服务端是在处理过程数据的应用程序、各种网络协议和用于访问这些数据的接口之间的中间层。

只有当设备的操作系统是基于 Windows COM和 DCOM技术时,才能使用 OPC软件接口进行数据交换。目前,Windows 2000、Windows XP、Windows 2003 Server和 Windows VISTA具有这些软件接口。

> XML

通过 DCOM的通讯仅限于局域网。通过 XML的数据交换使用 SOAP(简单对象访问协议)。SOAP是独立于平台的、基于 XML的协议。SOAP可用于允许应用程序依靠 HTTP(超文本传送协议),通过 Internet或在多机种计算机网络内相互进行通讯。

OPC标准软件接口由 OPC基金会定义。OPC基金会是工业自动化领域中处于领先地位的各公司的联盟。WinCC的 OPC服务端支持下列规范。

OPC数据访问 1.0、2.05a和 3.0

OPC历史数据访问 1.20

OPC报警和事件 1.10

OPC XML数据访问 1.01

OPC数据访问(OPC DA)是针对管理过程数据的规范。 WinCC OPC DA服务端符合 OPC DA规范 1.0、2.05a和 3.0。

OPC历史数据访问(OPC HDA)是针对管理归档数据的规范。该规范是 OPC数据访问规范的扩充。 WinCC V6.2或更高版本的 WinCC OPC HDA服务端符合 OPC HDA规范 1.20。

OPC报警和事件是发送过程报警和事件的补充规范。 WinCC V6.0或更高版本的 WinCC OPC A&E服务端符合 OPC A&E规范 1.10。

OPC XML标准支持通过 Internet采用独立于平台的协议进行通讯。客户端不再局限于 Windows环境(DCOM)。其它操作系统(如 LINUX)可以使用 HTTP协议和 SOAP接口在 Internet上监视和交换 OPC数据。

要使用 WinCC OPC HDA、WinCC-OPC-XML-DA服务器和 WinCC OPC A&E服务器,必须购买Connectivity Pack“连通性软件包”授权。“连通性软件包”授权必须安装在用作 WinCC OPC HDA服务器、WinCC OPC XML DA服务器或 WinCC OPC A&E服务器的 WinCC服务器上。

2在Excel中通过OPC DA访问本地WinCC

WinCC OPC DA服务器为其它应用程序提供 WinCC项目的实时数据。应用程序能够在同一台计算机上运行或在已联网的远程计算机上运行。以这种方法,将WinCC变量的实时数据提供给 Microsoft Excel。

在Microsoft Excel中用VBA脚本语言建立OPC客户端,并通过OPC接口读取WinCC中的数据,并将修改的数据写入WinCC。通过OPC接口,Microsoft Excel作为OPC客户端发起通讯并发送读/写请求到OPC服务器,OPC服务器执行这些读/写请求。对于WinCC OPC DA服务器功能,需要将WinCC项目运行系统激活即可。

为了能够运行Excel中的VBA宏脚本,首先需要调整安全性设置。如图1在“工具->宏->安全性”中,将Excel的安全级别设置为“中”。

图1安全性设置

打开文件excel_opc.xls,在“安全警告”中选择“启用宏”。

图2启用宏

在A1单元格输入运行WinCC的计算机名称。A3/A4单元格输入WinCC中变量的名称。点击按钮“启动 WinCC OPC”,对应WinCC变量的当前值即可读入到Excel单元格中。直接在B3/B4单元格中修改数值,对应WinCC中的变量值也会随之修改。点击按钮“停止 WinCC OPC”,停止Excel与WinCC的OPC数据访问。

以下为Microsoft Excel作为客户端的配置说明。

在Excel中创建一个接口,在VisualBasic编辑器中的“工具->引用”中,选中“Siemens OPC DA Automation 2.0”组件,使VisualBasic能够识别OPC对象。

图3 OPC引用组件

创建所需的所有对象,如:“MyOPCGroup”对象

Dim:创建一个变量

WithEvents:这个对象可以提供事件(如 DataChange)

MyOPCGroup:对象名

As OPCGroup:变量类型

图4

Sub StartClient()’Microsoft Excel建立与OPC服务器的连接;

Set MyOPCServer= New OpcServer’为“MyOPCServer”对象分配内存;

 MyOPCServer.Connect ServerName, NodeName

ServerName:WinCC OPC DA服务器的名称为"OPCServer.WinCC"

NodeName:激活WinCC运行系统的计算机名称

Set MyOPCGroupColl= MyOPCServer.OPCGroups

Microsoft Excel与OPC服务器的连接一旦建立,OPC组即被创建。这个通过集合对象来实现;

Set MyOPCGroup= MyOPCGroupColl.Add(GroupName)

创建的组通过“MyOPCGroup”变量来寻址。设置MyOPCGroup.IsSubscribed= True,以便OPC组能够提供DataChange等事件。

Set MyOPCItemColl= MyOPCGroup.OPCItems’创建OPC项

MyOPCItemColl.AddItems 2, ItemIDs, ClientHandles, ServerHandles, Errors

ItemIDs存储在单元格A3/A4中,把指定的ItemIDs传送给集合对象"MyOPCItemColl.AddItems"

Private Sub MyOPCGroup_DataChange()

在Microsoft Excel中,调用如下用于OPC组事件处理的程序,它是OPC服务器的DataChange事件,DataChange()这个事件处理程序提供了许多参数,如ItemValue(OPC项的值),客户端句柄等。通过DataChange事件,当OPC项的值变化时,数据会自动发送。OPC项的当前值显示在单元格B3/B4中。读出值的质量代码和时间戳显示在C/D列单元格中。

Private Sub worksheet_change()

如果在Microsoft Excel的单元格B3/B4中输入一个值,通过函数MyOPCGroup.SyncWrite将OPC项写入到WinCC,写入值和服务器句柄以参数形式传递给此函数。

Sub StopClient()

最后,断开与OPC服务器的连接。

3在Excel中通过OPC DA远程访问WinCC

可以通过DCOM从OPC客户端远程访问OPC服务器WinCC OPC DA。但在A1单元格需要输入的是远程激活WinCC运行系统的计算机名称。

图5在Excel中通过OPC DA远程访问WinCC

由于远程OPC的使用是作为一个DCOM在使用,所以OPC客户端可以在网络上任何一台计算机运行,但是必须要配置DCOM的访问权限。一个简单的方法就是,在服务器与客户端都使用相同的用户名与密码登录。如果想配置DCOM,请参考DCOM配置的相关资料及下载中心文档:A0265如何配置OPC DCOM。

WinCC在安装时提供了OPC的客户端控件: Siemens OPC DAAutomation 2.0( SOPCDAAuto.dll),这个控件就是在VBA中引用到的控件。如果运行Excel的计算机上没有安装WinCC,可以使用批处理文件注册dll文件。将整个文件夹\Reg拷贝到C:盘下,双击reg opc即可。

OPC UA 预备知识 OPC 核心概念

OPC UA是OLE for Process Control(过程控制OLE)的升级版,旨在解决工业控制领域中自动化设备数据访问的复杂性。OPC协议作为一套标准化的数据传输机制,对硬件供应商和软件开发商之间建立统一的数据交互“规则”,使得数据访问过程对双方均透明化。遵循这一规则,硬件供应商只需关注应用需求,而软件开发商无需深入了解硬件细节,大大简化了跨设备的数据访问过程。

OPC协议由14个子协议组成,其中最重要的是数据访问(DA)、报警与事件、历史数据访问等三个子协议。

数据访问(DA)接口是OPC的核心,其功能在于读写监控包含当前过程数据的变量,主要用于将PLC、DCS和其他控制设备的实时数据传送至HMI和其他显示设备。通过使用微软的对象技术,OPC DA客户端通过创建一个OPCServer对象连接到服务器,然后通过服务器对象提供的操作方法访问数据。数据被按照统一配置分类到OPCGroup对象中,便于分类访问。

报警与事件机制允许系统在发现异常信号时发出警报,并要求确认。通过OPCEventServer对象和事件订阅机制实现这一功能,客户端可以定义过滤规则,接收感兴趣的事件。

历史数据访问机制则允许用户回溯并分析过去的数据,通过OPCHDAServer对象提供读取和更新历史数据的接口,同时,OPCHDA浏览器对象则用于提供历史数据的读写操作。

OPC协议使用了COM和DCOM技术,使得数据传输无需额外定义网络协议或进程间通信协议,有利于在Windows系统中实现良好应用。然而,这种依赖于微软技术的特性也限制了在Linux等非Windows环境下的应用。

掌握OPC的主要三个子协议即数据访问、报警与事件、历史数据访问,对于理解OPC协议的核心概念与应用至关重要。通过这些子协议,OPC实现了在工业控制领域中高效、标准化的数据交互,简化了自动化设备的集成与管理。

什么是opc

OPC(OLE for Process Control),用于过程控制的OLE,是一个工业标准。

OPC全称是Object Linking and Embedding(OLE) for Process Control,它的出现为基于Windows的应用程序和现场过程控制应用建立了桥梁。在过去,为了存取现场设备的数据信息,每一个应用软件开发商都需要编写专用的接口函数。

由于现场设备的种类繁多,且产品的不断升级,往往给用户和软件开发商带来了巨大的工作负担。通常这样也不能满足工作的实际需要,系统集成商和开发商急切需要一种具有高效性、可靠性、开放性、可互操作性的即插即用的设备驱动程序。

在这种情况下,OPC标准应运而生。OPC标准以微软公司的OLE技术为基础,它的制定是通过提供一套标准的OLE/COM接口完成的,在OPC技术中使用的是OLE 2技术,OLE标准允许多台微机之间交换文档、图形等对象。

扩展资料:

OPC有以下3个特点:

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

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

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

参考资料来源:百度百科-opc(工业标准OLE for Process Control)

参考资料来源:百度百科-OPC技术

阅读剩余
THE END