- 原文地址:Node-RED in Industrial IoT: a growing standard
- 原文作者:UMH Systems GmbH
- 译文出自:掘金翻译计划
一个开源工具如何于存在亿元级企业的高度竞争环境中站稳脚跟
使用 Node-RED 和 UaExpert 从一个切割机的 PLC中提取数据
大多数人都是从智能家居或编程入门介绍(那些教你如何把物品与微控制器连接起来的工作坊)中了解Node-RED的。然而,很少有人意识到它也经常用于制造业。
对于那些还没听说过它的人,这里是来自Node-RED网站的官方自述:
Node-RED 是一种能将硬体设备、API 和在线服务以新颖有趣的方式连接在一起的编程工具。
它提供了一个基于浏览器的编辑器,让我们能轻松地透过使用调色板中大范围的节点将流连接在一起,并只需一个简单的点击即可将其部署到其运行时(runtime)。
最棒的是:它是开源的
该项目于2013年初在IBM的研究中心启动,并在2016年成为JS基金会的创始项目之一。在2019 年发布版本1.0 的它在生产用途上被认为已足够安全。
而同年Node-RED举办的一项问捲调查结果显示,在515名受访者中,31.5%的受访者在生产环境中使用 Node-RED;在868名受访者中,24%受访者表示他们已经使用它创建了PLC应用程序 1。此外,871名受访者中有24.2%表示他们将InfluxDB与Node-RED结合使用。我们认为TimescaleDB比InfluxDB更适合工业物联网的原因已在 本文 中进行了描述。
但它在制造业中究竟有多普遍?这些用户使用Node-RED做什么?让我们深入探讨一下!
Node-RED在工业中的使用
收集特定解决方案(solutions)的工业用途定性(qualitative)数据难到几乎不可能,因为很少有公司愿意公开其使用的技术。但是,我们仍然可以收集定量(quantitative)数据,这些数据强力地指出在数据提取和处理方面,各种工业都在大量使用Node-RED。
首先,它已经被预装在越来越多的各种自动化系统上,例如 PLC。 [维基百科在这里做了非常好的概述(并认证了它!)](en.wikipedia.org/wiki/Node-R… [Node-RED with SIMATICIOT2000](www.automation.siemens.com/sce-static/… -communication/sce-094-100-node-red-iot2000-de.pdf) 或 视觉化流生产器
此外,还有各种只能在制造环境中使用的所谓的“节点(nodes)”(例如从特定设备中读取数据),这些节点的下载量也相当可观。
范例:
- node-red-contrib-opcua 在上周 (2021-07-02) 有 874 次下载
- node-red-contrib-s7 在上周 (2021-07-02) 有 902 次下载
- node-red-contrib-modbus 在上周 (2021-07-02) 有 4278 次下载。但需要注意的是,这个节点也可以用于其他领域
我们与其中两个节点的前开发人员进行了交谈:德国公司 Iniationware 的 Klaus Landsdorf,他为公司提供在OPC-UA、Modbus、BACnet和数据建模等领域中的支持。
克劳斯证实了我们的假设:
我们从依赖Node-RED和这些工业专用节点(如OPC-UA)的德国硬体制造商那里收到了许多请求。OPC-UA项目仅由两家小公司赞助,开发成本约为 IIoT OPC-UA contribution package的 5%。但为了确保它的高稳定性,我们有许多大型公司参与其中,并在多个工业制造环境中对其进行测试。在教育方面,我们得到了ILS的热烈响应,因为他们正在使用Iniationware软体包node-red-contrib-iiot-opcua来教导学生们OPC-UA的基本知识。不幸的是,只有少数公司了解通过年度订阅为开源软体公司提供商业支持能为每个公司节省大量资金。捐一次款,就能分担与稳定开源项目的支出!这将为有特定工业需求的版本(如LTS)带来稳定的社区和contribution packages。简而言之:为了长期的赚钱,也为了获得稳定与最新的Node-RED包,需要先花一点钱啦。
它在社区中也被描述为使用频率很高且已准备好做为生产用途(being production-ready)。 [在一个讨论生产就绪(production readiness)问题的主题串中](discourse.nodered.org/t/would-you… red-in-a-production-environment-for-iot-industry-applications/) 一个名为“SonoraTechnical”的用户说:
虽然是轶事,但就在周五,我与一家主要OPC软体供应商的工程师交谈,他评论说他们看到Node-RED经常被工业客户部署,甚至在内部使用它来证明概念和技术。
另一个名为“gemini86”的用户则解释了与商业解决方案相比的优势:
我来晚啦。我在制造业工作,我们会使用AB、西门子、Codesys等,我也会使用Node-RED进行SCADA和数据库桥接。我们的站点在偏远地区设有井泵,数据和命令通过900mhz的以太网无线电发送,而Node-RED负责处理MQTT <> modbusRTU。Node-RED与任何装有同样网路功能的AB或Siemens一样稳定和快速,甚至更快。事实上,目前我一直在努力让我的S7-1200与modbusRTU设备正确通信。由于缺少能让其运作的指示文件,我常常感到非常困惑,而他们对一切的回答是:“使用 profibus/profinet。”所以,我个人更喜欢用Node-RED来处理与串行或网路通信有关的任何事情。
最后但同样重要的是,它在科学环境中使用频率很高。 有超过 [3.000 篇研究论文](scholar.google.de/scholar?hl=… +industrial)关于Node-RED在工业环境中的使用情况可在Google Scholar上找到!
因此,我们可以肯定地说,它很普遍,且行业用户数量不断增加。但是你到底能用它做什么呢?让我们举一些例子来说明如何使用它!
你可以用它做什么
United Manufacturing Hub依赖Node-RED来
- 使用各种协议(OPC/UA、Modbus、S7、HTTP、TCP 等)从生产机器中提取数据
- 处理数据点并将其统一到我们的标准化数据模型
- 将客户专用系统集成到现有系统中,例如像SAP或Oracle的MES或ERP系统
- 结合来自各种机器的数据并触发动作(机器对机器的通信,简称 M2M)
- 创建小型交互和客户专用系统的仪表板以触发动作,如指定停止原因
让我们一步一步地解释它们:
1. 使用各种协议从生产机器中提取数据
工业物联网的其中一项核心挑战是获取数据。车间通常配备来自不同供应商和不同年龄的机器,由于协议或语义几乎没有标准化,因此需要为每台机器定制数据提取过程。
使用 Node-RED,各种协议都可以用作所谓的“节点”——从 OPC/UA(见上文)等自动化协议到 TCP 或 HTTP 等各种 IT 协议。对于任何其他自动化协议,您可以使用 PTC Kepware,它支持 [超过140种 PLC 协议](www.kepware.com/de-de/produ… -48f6-9a6c-b6132dcab08d)。
2. 处理数据点并将其统一到我们的标准化数据模型中
Node-RED 最初开发是作为
可视化和操作 MQTT 主题 2 之间的映射,而这就是我们今天仍在使用它的原因。从各种生产机器中提取的所有数据点现在都需要标准化以匹配我们的数据模型。我们需要计算机器状态,并将机器的输出从各种格式转换为简单的
/count消息等。
可以在我们的工业物联网数据模型 中找到有关这方面的更多信息。
使用United Manufacturing Hub的范例。一切都是基于流的。
3. 将客户专用系统集成到现有系统中
它不仅适用于提取和处理数据,它也非常擅长将这些处理过的数据推送回其他系统,例如像SAP或Oracle的MES或ERP系统。这些系统通常使用REST API,例如,[这个Oracle ERP的REST API示例](docs.oracle.com/en/cloud/sa…
由于这些客户系统的实现通常不同,生成的 API 也大多不同。因此,人们需要一个能够快速处理这些API的系统。而Node-RED正非常适合。
4. 机器到机器的通信

这个AGV正自动从一台机器上取下成品并将其带到空站,这是M2M的一个很好的例子
因此,在我们的数据架构中机器对机器通信 (M2M) 默认启用。来自所有边缘设备的数据会自动发送到中央 MQTT 代理,并供所有连接的设备(已被允许访问该数据)使用。 从各种机器收集数据并触发额外的动作是很容易的,例如当一个工位没有材料时,触发自动导引车 (AGV) 从生产机器上提取材料。 而正如您可能已经猜到的那样,设置这些小触发器的完美工具是Node-RED。
5. 创建小型交互和客户专用系统的仪表板

使用 node-red-dashboard 的仪表板范例。它具有多等级的停止原因选择(multi-level stop reason selection)和生产速度的可视化。
有时,机器操作员需要对时间敏感的仪表板来检索实时信息或与系统交互。由于许多公司仍然没有良好可靠的网际网路连接,甚至没有好的网路基础设施,因此我们不能等到网站完全加载后才进入停止原因。因此,有时将仪表板尽可能地靠近机器(而非设于云端的某处)至关重要。
针对这一点,您可以使用 node-red-dashboard 节点,它允许您轻松地创建仪表板,并通过 MQTT 与数据交互。
额外提醒:我们不该用它做什么:过程控制
但是,出于以下两种原因,我们强烈建议您不要使用它来干预生产过程,例如过程控制或确保安全机制:
- 像 Node-RED 这样的 IT 工具和系统并非设计用来确保机器或人员的安全,例如,保证对触发的安全警报的反应迅速。
- 由于第一点的原因,获得认证和批准也几乎是不可能的。在这方面,自动化世界中已经有非常好且安全的工具,如 PLC 或 NC。
##结语
口号:“生活中最好的东西都是免费的”也适用于制造业: Node-RED 与“专业”的闭源和商业解决方案处于同一水平,被各种制造行业的数千名研究人员和数百名日常用户使用。 而它已经包含在United Manufacturing Hub 的每个安装中并启用──包含云端和边缘。 有关如何使用本系统的更多信息,请参阅我们的快速入门。