存储PLCNext社区PLCNext. on LinkedInPLCNext. on Instagram  PLCNext. on YouTube github plcnext社区存储PLCNext社区

 

 如何创建博客条目

制造商博客
Hits: 734

Azure IoT Edge和PLCNext

Azure IoT Edge使得可以将云分析和Costum Logic移动到“边缘”,在我们的PLCNext设备中。这在减少使用带宽和延迟时具有一些好处。使用Azure IoT Edge,您可以在中央云应用程序中开发和部署自己的应用程序。在此博客中,您将学习如何设置Azure IoR Edge和一些基本原则。

介绍

解释所有的A中的Azure IoT Edge解决方案可能会对Makersblog进行迄今为止,但在继续这篇博客之前,请务必阅读自己。上 这个门户网站 您可以找到您在此博客中所做的事情所需的所有信息。让我们去安装运行时。

 

运行

安装

创建Azure IoT集线器并创建设备

在我们开始开始之前,我们首先需要设置Azure门户中的一些东西。我假设您已经设置了Azure帐户。

我们要做的第一件事就是创建一个资源组,并给它一个描述性名称。单击“创建新的资源组”。如果未列出,则可以按“+”按钮并搜索新的资源组。

创建资源组

创建新的IOT集线器服务。您可以拥有1个免费的IOT集线器服务,您可能希望将类型从标准更改为免费!否则将所有内容留在其默认设置上并继续部署服务。我们的最后一步是创建一个物联网设备。打开服务并在窗口的左侧面板中搜索IOT Edge。单击它并创建一个新的IoT边缘设备。为设备提供一个ID,所有其他设置都可以留在其默认值上。

 

创建设备

 

单击新建设备并注意到 “主要连接字符串”,此字符串我们将在下一步中需要提供我们的设备。

连接字符串

安装Azure IoT Edge运行时

按顺序执行下面的命令,始终可以找到最新版本 这里 .

git clone //github.com/pxcbe/azure-iot-edge.git
cd azure-iot-edge/install
sudo passwd root
su
chmod +x SetupEdge.sh 
./SetupEdge.sh

下一步是配置我们的设备。可以执行此半甚至完全自动化。您可以找到有关此信息的更多信息 这里 关于infoportal。在shell中键入下一个命令,并在yaml文件的第55行上粘贴您的连接字符串。(与ctrl + s ctrl + x关闭)

nano /etc/iotedge/config.yaml

重新启动控制器以使更改具有效果。

reboot

验证安装

以root运行下一个命令:

iotedge check --verbose 

如果你没有错误,我们可以继续!你出错了吗?查看github存储库,也许有修复。否则可以自由创建一个问题!

部署模块

只有运行时都不会做任何好处。让我们开始部署一些模块!单击“设置模块”,然后单击运行时设置。在这里,我们需要更改“主机口”,以便从PLCnext上运行的Nginx服务器清除。最后添加一个名为“模拟温度传感器”的市场模块。按“查看+创建”并将模块部署到PLCNext设备。

 

创建新模块

运行时设置

设置应如下所示:

{
"HostConfig": {
"PortBindings": {
"443/tcp": [
{
"HostPort": "444"
}
],
"5671/tcp": [
{
"HostPort": "5671"
}
],
"8883/tcp": [
{
"HostPort": "8883"
}
]
}
}
}

添加模块

观看遥测消息

验证消息是否进入。请遵循 这个程序 在Visual Studio代码中安装Azure IoT工具。 (您需要登录Azure,因此请确保如果您使用的证书,它们也在开发机上)。

将PLCNext数据获取到IoT集线器

下一步是将我们的PLCNext工程师数据带到云中。有几种方法可以做到这一点。你可以使用 Modbus模块 并在PLCNext项目中创建Modbus服务器。您可以使用REST服务并使用自定义模块获取请求,我们找到适合您在市场上需求的内容。我会解释如何设置 OPC发布者 要从PLCNext的嵌入式OPC UA服务器启动您开始发布数据。

更新:看起来目前和OPC发布商模块的错误,请尝试其他方法。

免责声明:对于此博客,我们将禁用PLCNext安全功能,请不要在生产中使用它!

在继续之前禁用PLCNext设备的WBM上的用户身份验证。

以与“模拟温度传感器”相同的方式从市场添加OPCPublisher。单击模块并转到容器创建选项。复制粘贴在容器创建选项下窗口中的下一个设置。

{
"Hostname": "publisher",
"Cmd": [
"publisher",
"--pf=/appdata/publishednodes.json",
"--di=60",
"--to",
"--aa",
"--si=10",
"--ms=262144"
],
"HostConfig": {
"Binds": [
"/iiotedge:/appdata"
],
"PortBindings": {
"62222/tcp": [
{
"HostPort": "62222"
}
]
},
"ExtraHosts": [
"localhost:127.0.0.1"
]
}
}

修改下一个配置以适合节点ID,创建文件夹/ appdata并创建一个文件,其中包含新配置的名称“publentnnodes.json”。

[
{
"EndpointUrl": "opc.tcp://192.168.10.10:4840",
"UseSecurity": false,
"OpcNodes": [
{
"Id": "ns=3;s=Counter",
"OpcSamplingInterval": 2000,
"OpcPublishingInterval": 5000
},
{
"Id": "ns=3;s=Sinusoid",
"OpcSamplingInterval": 2000,
"OpcPublishingInterval": 5000
}
]
}
]


如果一切顺利,您应该在Visual Studio中查看Azure IoT工具中的数据!

还有问题吗?
您可以使用下一个命令查看正在发生的内容。

iotedge logs -f "namemode"

学分

特别感谢Oliver Warneke为他的工作,我可以建立起来,花时间让我加快速度!

接触

遇到问题,或者你想了解更多?请联系 此电子邮件地址受到垃圾邮件程序的保护。您需要启用Javascript来查看它。.

 

参考

//docs.microsoft.com/en-us/azure/iot-edge/about-iot-edge?view=iotedge-2018-06