亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Manufacturing Technology >> 工业技术

OPC UA 本地发现

发现服务器允许 OPC UA 客户端从单点获取有关一个或多个 OPC UA 服务器的详细信息。

有两种类型的 OPC UA 发现服务器:

  1. 本地发现服务器 (LDS)
  2. 全球发现服务器 (GDS)

本文将展示如何向 LDS 注册 OPC UA 服务器,以及 OPC UA 客户端如何使用该 LDS 连接到 OPC UA 服务器。

简介

顾名思义,本地发现服务器 (LDS) 可以与一个或多个 OPC UA 服务器在同一设备上运行。例如,可以在 PLCnext 控制设备上安装一个或多个 OPC UA 服务器,以及包含在 PLCnext Runtime 中的 OPC UA 服务器。如果该 PLCnext 控制设备上还安装了 LDS,则该设备上的所有 OPC UA 服务器都可以向 LDS 注册。然后,远程 OPC UA 客户端可以简单地查询 LDS 以获取在该 PLCnext 控制设备上运行的所有 OPC UA 服务器的详细信息,并使用这些详细信息直接连接到这些 OPC UA 服务器中的一个或多个。

有点令人困惑的是,OPC UA 服务器也可以注册到在 remote 上运行的 LDS 机器。这样,OPC UA 客户端可以使用单个 LDS 来发现在整个设备网络上运行的所有 OPC UA 服务器。

Unified Automation 的这篇文章对 OPC UA 发现服务器有很好的介绍:

https://documentation.unified-automation.com/uasdkdotnet/2.5.2/html/L2UaDiscoveryConnect.html

背景

在执行本文中的步骤之前,您应该了解:

程序

对于这个例子,网络设置如下:

OPC UA Server: AXC F 2152 FW 2020.6.1
IP address: 192.168.1.10
DNS name: axc-f-2152-1

Local Discovery Server: Windows 10 PC
IP address: 192.168.1.42
DNS name: mypc.mycompany.com

OPC UA Client: Debian 10 PC
IP address: 192.168.1.3

这些 IP 地址和 DNS 名称将在本文中通篇使用,但您当然应该为自己的应用程序修改这些。

设置 DNS 名称

如果您的网络不包括 DNS 服务器,请编辑 hosts 每个设备上的文件。

hosts文件位于以下目录:

添加以下新的 DNS 条目(替换您的应用程序的 IP 地址和 DNS 名称):

在PLC上,添加LDS:

192.168.1.42 mypc.mycompany.com

在LDS机器上,添加PLC:

192.168.1.10 axc-f-2152-1

在 OPC UA 客户端机器上,添加 LDS 和 PLC:

192.168.1.42 mypc.mycompany.com
192.168.1.10 axc-f-2152-1

通过 ping DNS 名称 检查所有条目是否正确 您在每台设备上设置的(不是 IP 地址)。

安装本地发现服务器

OPC 基金会以基于 Windows 的可执行文件的形式提供本地发现服务器。可以从此页面免费下载(注册后):

https://opcfoundation.org/developer-tools/samples-and-tools-unified-architecture/local-discovery-server-lds/

在 Windows 机器上下载并安装此 LDS。

安装 OPC UA 客户端

此示例使用来自 Unified Automation 的 UaExpert:

https://www.unified-automation.com/products/development-tools/uaexpert.html

在 OPC UA Client 机器上下载并安装 UaExpert。

找到证书

各种 OPC UA 组件——服务器、客户端和 LDS——需要相互信任以确保安全通信。信任可以通过交换公共证书来实现——即将每个组件的公共证书放在需要信任它的组件的“信任库”中。

您可以找到每个组件的公共证书,如下所示:

OPC UA 服务器

默认情况下,设备证书可以在“OPC UA-self-signed”身份存储中找到。如果您使用自己的证书,情况会有所不同。

OPC UA 服务器证书可以从 PLC 的基于 Web 的管理页面下载。然后必须将证书从 PEM 格式转换为 DER 格式,以便其他组件使用。有大量免费工具可用于此转换,包括 openssl linux命令行工具。您可能使用的 bash 命令示例如下:

openssl x509 -outform der -in OPC\ UA-self-signed_certificate.crt -out uaserver.der

LDS 服务器

默认情况下,LDS 的证书位于此处:

C:\ProgramData\OPC Foundation\UA\pki\own\certs\ualdscert.der

OPC UA 客户端

将证书复制到信任库

将每个证书(.der 格式)复制到其他两个组件的信任存储区。

每个组件的信任库可以定位如下:

OPC UA 服务器 (PLC)

信任库是文件夹 /opt/plcnext/Security/TrustStores/Empty/trusted

LDS

信任库是文件夹 C:\ProgramData\OPC Foundation\UA\pki\trusted\certs

OPC UA 客户端 (UaExpert)

检查所有防火墙

至少,检查 LDS 服务器上的防火墙是否允许端口 4840 上的流量。

在 PLCnext Engineer 中配置 OPC UA 服务器

在 PLCnext Engineer 中,在 OPC UA 配置窗口中:

将PLCnext Engineer项目写入PLC。

PLC 现在将自动尝试向 LDS 注册 OPC UA 服务器。

发现并连接到 OPC UA 服务器

OPC UA 服务器应出现在树的本地分支中。您现在可以使用这些详细信息以通常的方式连接到 OPC UA 服务器。

疑难解答

结论

显然,当网络上只有一个 OPC UA 服务器时,使用 LDS 并没有太多好处。但是对于包含大量 OPC UA 服务器的网络,LDS 提供了一种方便的方式来浏览和连接这些服务器。


工业技术

  1. 宣布 OPC UA/DDS 网关标准
  2. Python 全局、局部和非局部变量
  3. Discovery 对供应链挑战的回答
  4. C++ 中的变量作用域
  5. Java 10 - 局部变量类型推断
  6. 与当地金属制造商合作有什么好处?
  7. 发现过程以及为什么它对您的开发项目很重要?
  8. 生产控制的本地与全局系统
  9. B2B 公司如何提升他们的 SEO
  10. OPC UA 证书“推送管理”
  11. 如何使用信息模型从 OPC UA 客户端调用功能块
  12. 本地机械车间