利用Linux实现OPC的高效率运行与数据控制 (linux 可以做opc)

随着、物联网等技术的发展与日益广泛运用,工业自动化领域的需求和规模也在持续增加。OPC(OLE for Process Control)作为一种数据交换标准协议,广泛应用于自动化控制行业。而Linux作为一种自由、开放的操作系统,拥有良好的安全性、可靠性与扩展性,已成为企业实现高效率运行与数据控制的首选方案。本文将重点介绍如何。

一、选择OPC服务器

选择一款合适的OPC服务器是至关重要的。OPC服务器是将OPC标准的数据从控制器传递到计算机网络上的一种中间件软件。在选择OPC服务器时,我们应该考虑以下因素:

1. 可用性和兼容性:确保选择的OPC服务器能够与您的设备兼容,并具有足够的可用性。

2. 安全性:OPC服务器必须具备安全性和保密性,以确保您的生产数据不会被窃取或被黑客攻击。

3. 技术支持:确保OPC服务器提供优质的技术支持,以便及时处理紧急事件。

4. 可扩展性:OPC服务器应该具有可扩展性,以便在未来应对更多的业务需求。

二、安装Linux操作系统

在选择OPC服务器之后,我们需要安装Linux操作系统。Linux操作系统是世界上更流行的操作系统之一,它具有灵活性、稳定性和安全性等优点。目前,市场上有许多可供选择的Linux发行版,例如Ubuntu、Debian、Fedora等。需要根据实际情况选择适合自己的Linux发行版。

三、安装OPC客户端

接下来,我们需要安装OPC客户端,以便从OPC服务器中读取和控制数据。OPC客户端是一种可以轻松地与OPC服务器交互的软件。许多商业软件提供了OPC客户端,但是大多数OPC客户端应用软件都是开源的,并且可以免费使用。

安装OPC客户端的过程与安装其他软件的过程类似。例如,在Ubuntu操作系统上,使用以下命令来安装OPC客户端:

sudo apt-get install libopcua-client1.0

四、实现高效数据控制

一旦安装了OPC服务器和OPC客户端,我们就可以开始利用Linux实现高效的数据控制。以下是实现高效数据控制的步骤:

1.建立OPC连接。

要通过OPC服务器访问数据,首先需要建立一个OPC连接。OPC连接从OPC客户端建立,然后OPC客户端向OPC服务器请求读取和写入数据。

2.读取和写入数据。

建立OPC连接后,可以开始读取和写入数据。OPC客户端使用OPC标准读写数据,可以访问诸如传感器、阀门、电机等设备的数据。

3.处理数据。

OPC客户端需要处理所读取的数据。处理数据包括数据分析、控制数据设置,以及存储数据等。

五、小结

以上是利用Linux实现OPC高效率运行与数据控制的主要步骤。Linux操作系统具有灵活性、稳定性和安全性等优点,能够满足企业实现高效率运行与数据控制的需求。在实现数据控制的过程中,选择一款合适的OPC服务器和OPC客户端至关重要。同时,在处理数据时,需要进行有效的数据分析和处理,以获得更高的数据效益。我们相信,在利用Linux实现OPC高效率运行与数据控制的过程中,以上方法将为您提供有用的指导和帮助。

相关问题拓展阅读:

怎么理解opc ua 的语义化

OPC UA(OPC Unified Architecture)是指OPC统一体系架构,是一种基于服务的、跨越平台的解决方案。

OPC UA具有如下特点:

1) 扩展了OPC的应用平台。传统的基于COM/DCOM 的OPC技术只能基于Windows操作系统,OPC UA支持拓展春祥历到Linux和Unix平台。这使得基于OPC UA的标准产品扒搜可以更好地实现工厂级的数据采集和管理;

2) 不再基于DCOM通讯,不需要进行DCOM安全设置;

3) OPC UA定义了统一数据和服务模型,使数据组织更为灵活,可以实现报警与事件、数据存取、历史数据存取、控制命令、复杂数据的交互通信;

4) OPC UA比OPC DA更安宴此全。OPC UA传递的数据是可以加密的,并对通信连接和数据本身都可以实现安全控制。新的安全模型保证了数据从原始设备到MES,ERP系统,从本地到远程的各级自动化和信息化系统的可靠传递;

5) OPC UA可以穿越防火墙,实现Internet 通讯。

如何使用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 2023、Windows XP、Windows 2023 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即可。

linux 可以做opc的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于linux 可以做opc,利用Linux实现OPC的高效率运行与数据控制,怎么理解opc ua 的语义化,如何使用Excel通过OPC访问WinCC的实时数据的信息别忘了在本站进行查找喔。


数据运维技术 » 利用Linux实现OPC的高效率运行与数据控制 (linux 可以做opc)