使用 PLCnext 构建低代码物联网解决方案
PLCnext 控制器支持多种连接云服务的方式。您可以使用 IOT 库中的 IEC 功能块,构建自己的 .NET 应用程序,编写 Python 脚本或在 GoLang 中编译连接器。如果你想写代码,你有很多选择。但是,如果出于某种原因不想编写代码怎么办?也许这是你的第一个项目,或者已经有一段时间了?在这篇博客中,我将展示如何构建一个 IOT Web 应用程序,而无需编写任何代码!
好吧,当我说我们不会写一行代码时,这可能有点牵强。当然,我们需要某种方式告诉我们的 PLCnext 控制器和云服务我们想要什么。为此,我们将只使用图形界面,所以当我说我们不会编写一行代码时,我想我在技术上是正确的?无论如何,这种方法被认为是“低代码”。
首先,让我介绍一下我们将在本博客中使用的不同元素或服务。
简介
PLCnext 控制器, 我想这个不需要太多的介绍。如果您仍然不确定它的功能,请务必访问 PLCnext 信息中心。
节点-RED , Node-RED 官网将 Node-RED 描述为:
在之前的 Makers 博客中,Node-RED 被多次提及。不确定如何开始使用 Node-RED?我建议阅读这篇文章。
Azure 物联网中心 ,是 Azure 云中的 SAAS(软件即服务)解决方案,用于构建无代码物联网解决方案。我们将创建一个具有定义界面的设备模板,并且可视化将从创建的模板中派生出来。
在这个模板中,我们可以定义三种“变量”。遥测、属性和命令。我将在模板中使用不同的排序,我希望属性和遥测之间的区别在使用后会清楚。如果还是有点模糊,请务必在进一步阅读部分链接的文章中阅读它们。
为简单起见,我们将示例限制为一个非常基本的泵控制器。我们可以将泵设置为不同的模式,并给泵一个设定值。
构建应用程序
准备控制器
首先将控制器更新到最新可用的固件,然后为 OCI 容器安装 balena-engine。您可以在此处找到安装 Balena 的说明。成功安装 Balena Engine 后,运行下一个命令(这需要一段时间)。
balena-engine run -it -p 1880:1880 --name nodered --restart always pxcbe/node-red:azureiot
创建 Azure IoT Central 服务
登录到您的 Azure 帐户并创建一个资源组。在此资源组中,您现在可以创建新的 Azure IoT Central 应用程序。在选择一个之前,请务必检查不同的层。
转到您新创建的 Azure IoT 中心服务,如果一切顺利,系统会提示您创建新的设备模板。选择创建一个新的自定义模板作为 IoT 设备。执行以下步骤为本练习创建正确的模板。
创建设备模板
- 将名称“泵”分配给设备模板
- 创建自定义模型
- 按“添加功能”
- 创建属性“泵状态”
- 创建遥测“流速”
- 创建命令“更改模式”
- 创建“设置电源”命令
- 保存新创建的功能
- 转到视图并选择,生成默认视图(您可以稍后更改视图)
- 发布您的设备模板。




(遇到问题?随意从存储库中导入模板)
创建一个新设备
根据新创建的模板创建设备。点击“connect”,记下“ID scope”、“Device ID”和“Primary key”,以便以后在node-RED中使用。



PLCnext 工程师
我们需要一些逻辑来控制我们的泵。我在存储库中提供了一个 PLCnext Engineer 项目,您可以使用它。随意添加此项目,为我们的泵提供一些新功能!

节点-RED
与此同时,您的容器已创建,并且您的 node-RED 环境应该已启动并正在运行。从存储库导入 flow.json。单击“设备”节点并设置“设备 ID”、“范围 ID”并选择“设备配置服务”并复制您的主键。
通过单击 READ 或 WRITE 节点设置您的 OPC UA 服务器并更改设置以适合您的控制器,然后通过部署节点完成应用程序。


测试应用程序
我们已准备好测试应用程序。您应该能够通过更改泵的状态并设置新的设定值来控制泵。该应用程序被刻意保留为尽可能基本的,我鼓励您在此处构建表单以很好地掌握在设置界面时可以进行的所有不同设置。您甚至可以创建地图来显示您的泵在哪里!


进一步阅读
节点-RED
https://nodered.org/docs/user-guide/editor/workspace/import-export https://nodered.org/docs/user-guide/writing-functionsAzure-IoT-Central
https://docs.microsoft.com/en-us/azure/iot-central/https://docs.microsoft.com/en-us/azure/iot-central/core/concepts-architecturehttps://docs。 microsoft.com/en-us/azure/iot-central/core/quick-monitor-devices工业技术