使用Azure IoT Edge和OPC UA,无需连接工厂解决方案加速器

问题描述 投票:1回答:2

首先,我想提出我的问题并进一步阐述这篇文章:

是否可以在没有Connected Factory解决方案加速器的情况下为Azure UA服务器使用Azure IoT Edge网关,如何完成?

我知道,这可能听起来很奇怪,但Connected Factory解决方案不能满足我对项目大多数方面的需求,除了连接OPC UA服务器的能力。

现在进一步详细说明我需要概述我的项目。我在局域网中设置了几个OPC UA服务器,并在Azure网关上运行了一台Windows 10机器。在Azure中,激活了资源IoT-Hub和Time Series Insights。此外,还有一个WebApp,它从TSI中提取数据并将其可视化。在网关上使用OPC发布者,这很好用。 OPC发布者和代理都在Windows上本机运行,而不是在docker容器中运行。

如果我使用Connected Factory解决方案加速器,我可以添加和浏览发布者。但是我无法连接到网络上的任何其他OPC UA服务器,但这不是问题,因为我毕竟不会使用Connected Factory。这里真正的挑战是如何在没有Connected Factory解决方案加速器的情况下连接到OPC代理。

可用的教程使用Connected Factory解决方案加速器,并在docker容器中运行发布者和代理。 (https://docs.microsoft.com/de-de/azure/iot-accelerators/iot-accelerators-connected-factory-gateway-deployment及以下)

OPC代理github存储库根本不讨论这个问题。 (https://github.com/Azure/iot-edge-opc-proxy

即使是所有相关项目的问题都没有讨论这个问题。 (https://github.com/Azure/iotedgehttps://github.com/Azure/iot-edge-opc-proxy

我完全不知道如何实现这个功能。解决方案加速器(https://docs.microsoft.com/de-de/azure/iot-accelerators/iot-accelerators-connected-factory-sample-walkthrough)的体系结构概述简要提到了它如何在解决方案加速器中工作,但没有解释如何在自定义WebApp中实现OPC代理和OPC UA堆栈。

我迫切需要帮助,如果有人能给我一个如何解决这个问题的暗示,我会很感激。如果需要,我很乐意提供更多信息。如果我让它发挥作用,我肯定会发布解决方案。

在此先感谢您,祝您度过愉快的一天

丹尼尔

azure opc-ua azure-iot-edge
2个回答
2
投票

回答第一个问题:是的,您绝对可以在Azure IoT Edge上使用OPC UA Publisher而无需使用Connected Factory解决方案!

请参阅此处如何配置发布者:https://github.com/Azure/iot-edge-opc-publisher#using-it-as-a-module-in-azure-iot-edge

该模块将以OPC UA-JSON格式将数据发送到IoT Hub。从那里你可以做任何你喜欢的事情。在Azure Time Series Insights中显示它,通过一些流处理(例如Azure Stream Analytics)运行它,使用Azure Functions等处理它。


1
投票

查看OpcSessionHelper.cs中的以下行,这会将代理传输引入WebApp中使用的OPC UA堆栈:

#if !DIRECT_TCP_CONNECT
    // initialize our custom transport via the proxy
    Socket.Provider = new DefaultProvider(ConfigurationProvider.GetConfigurationSettingValue("IotHubOwnerConnectionString"));
    WcfChannelBase.g_CustomTransportChannel = new ProxyTransportChannelFactory();
#endif

在此之后,OPC API表面使用在nuget包中实现的代理传输Microsoft.Azure.Devices.Proxy和Microsoft.Azure.Devices.Proxy.Opc.Ua

BrwoserController.cs是在WebApp中使用OPC UA API的主要位置。

您还可以查看将替换OPC代理功能的this

© www.soinside.com 2019 - 2024. All rights reserved.