iot - 技术实现 OPC UA
问题描述
我阅读了更多有关 IIoT 标准的 OPC UA 的信息。我了解 OPC UA 概念,例如客户端-服务器通信。我安装了一些 OPC 掘金(因为我是 .net 人)并使用它。不过,我对实际实施感到困惑。
任何人都可以帮助我提供启动指南吗?主要回答以下问题,
- 实施 OPC 是否有任何设备依赖性/先决条件?如果是,如何运行此检查?
- 端到端通信究竟是如何发生的?设备->客户端->服务器?
- 使用 OPC UA 时连接 Azure IoT Hub 的方法?
综上,我想了解一个真实的技术实现图。
解决方案
您的问题很笼统,但无论如何我都会尝试回答。
实施 OPC 是否有任何设备依赖性/先决条件?如果是,如何运行此检查?
通常,该设备没有特定的先决条件。您唯一需要的是一些网络连接(LAN、Wifi)和一些内存。其余的实际上取决于您的特定用例。有一些示例,其中 OPC UA 服务器在小型微控制器上启动,例如 ESP32(参见https://github.com/pro/open62541-arduino)或带有 LwIP 的 STM32(https://github.com/open62541/ open62541/拉/2511 )
端到端通信究竟是如何发生的?设备->客户端->服务器?
在 OPC UA 中,您有客户端和服务器。设备通常通过 OPC UA 服务器提供其数据。如果它需要来自其他设备的数据,它必须实例化一个客户端并获取这些数据。
如果您查看 OPC UA 规范,第 1 部分(注册后可免费访问,https://opcfoundation.org/developer-tools/specifications-unified-architecture/)它在第 6.1 章中说明:
OPC UA 系统架构将客户端和服务器建模为交互伙伴。每个系统可能包含多个客户端和服务器。每个客户端可以同时与一个或多个服务器交互,每个服务器可以同时与一个或多个客户端交互。应用程序可以组合服务器和客户端组件以允许与其他服务器和客户端交互...
随着新(截至 2018 年)发布的第 14 部分,OPC 基金会添加了发布/订阅规范。这允许设备将数据发布为多播 UDP 消息,并且客户端可以订阅此数据。
使用 OPC UA 时连接 Azure IoT Hub 的方法?
这是针对 Microsoft Azure 云的特定问题。有 Azure IOT Edge 的概念,更具体地说是 OPC Publisher 和 OPC Proxy。
https://github.com/Azure/iot-edge-opc-publisher
OPC Publisher 基本上是在云端镜像本地 OPC UA 服务器并创建“OPC Twin”。
https://github.com/Azure/iot-edge-opc-proxy
OPC 代理允许您调用方法、写入变量值并与来自云端的本地 OPC UA 服务器交互。
推荐阅读
- mysql - 返回select Mysql中前N%的记录
- r - 合并两个具有相同 ID 但不同列的 data.tables
- c# - 如何将特定输出值从 exe (c#) 发送到 power shell 脚本
- kotlin - 如何在 Kotlin 中将匿名 lambda 作为参数传递?
- c# - 将 ASP.NET 核心应用程序部署到 Azure 应用服务时出错
- arraylist - 我在线程“main”java.lang.NullPointerException jdbc sql 语句中收到以下错误异常
- azure - 如何使用 ARM 模板为 Azure 功能配置指定粘滞槽设置
- java - 为什么 Java 8 ZonedDateTime 认为 24:01 是有效的时间字符串表示?
- scala - 广播联接以从相同的大型 RDD 生成所有元组对,而不会重复
- google-apps-script - 从谷歌表格上的列表中自动填充谷歌表单中的多项选择