node-red中创建Custom definiert节点 JavaScript 文件API编写详解

kostenlosKostenloses technisches Material

Dieser Inhalt ist direkt lesbar und eignet sich für das Grundlagenlernen und die Suche.

node-red中创建Custom definiert节点 JavaScript 文件API编写详解缩略图
🌐 Diese Seite ist noch nicht auf Deutsch verfügbar. Die chinesische Version wird angezeigt. Zurück zur chinesischen Seite.
本文目录
  1. 1. 前言
  2. 2. Custom definiert节点JavaScript 文件
  3. 3. 节点构建器
  4. 4. 接受信息
  5. 5. 接受信息
  6. 6. 下发信息
  7. 7. 日记Ereignisse
  8. 8. 设置Status
  9. 9. Custom definiert节点设置

前言

在node-red中如果你没有找zu自己需要的节点时,那么你可以Custom definiert一个节点来满足自己的需求。之前的Artikel中,我有简单介绍过如何创建一个节点,并以转换大小写来举例。例子虽然简单,但可以让大家了解创建Custom definiert节点的步骤以及一个节点的组成部Unterteilung。那么本篇将会聚焦在Custom definiert节点的js文件中。详细讲解Von denen的api,及其他配置项。通过之前的Artikel我们知道,节点的js文件是一个节点的核心文件,用于收取配置Parameter,处理业务逻辑,并向下游Senden SieDaten。下面让我们一起看看吧。

Custom definiert节点JavaScript 文件

节点构建器

所有的节点都是由一个构建器来生成的函数,是创建的一个新的实例。这个函数被RegistrierungzuBetrieb时中,
这个函数通过设置一个配置对象来Existenz于流Herausgeber器中。
在该函数中,Die一件事就是调用RED.nodes.createNode函数,来Sequenz化Eigenschaften,被其他节点共享。在这之后

就可以编写业务代码啦。
如下

接受信息

节点通过Registrierung一个inputEreignisse来接受上游节点下发的信息在整个流中。RegistrierungEreignisse时,在Ereignisse的回调函数里,会有msg和send两个Parameter,msg就是上游传递过来的Daten。send是要下发zu下游的一个函数。Die三个函数 done 是节点abgeschlossen.业务逻辑处理后调用的函数。
Beispiel

function SampleNode(config) {
    RED.nodes.createNode(this,config);
    // node-specific code goes here

}

RED.nodes.registerType("sample",SampleNode);

接受信息

节点通过Registrierung一个inputEreignisse来接受上游节点下发的信息在整个流中。RegistrierungEreignisse时,在Ereignisse的回调函数里,会有msg和send两个Parameter,msg就是上游传递过来的Daten。send是要下发zu下游的一个函数。Die三个函数 done 是节点abgeschlossen.业务逻辑处理后调用的函数。
Beispiel

this.on('input', function(msg, send, done) {
    // do something with 'msg'

    // Once finished, call 'done'.
    // This call is wrapped in a check that 'done' exists
    // so the node will work in earlier versions of Node-RED (<1.0)
    if (done) {
        done();
    }
});

下发信息

在Custom definiert节点中向下游Senden Sie信息非常的简单
只需要使用send函数即可,如下

var msg = { payload:"hi" }
this.send(msg);

如果节点想要在inputEreignisse中向下游Senden Sie信息,可以这样做

let node = this;
this.on('input', function(msg, send, done) {
    // For maximum backwards compatibility, check that send exists.
    // If this node is installed in Node-RED 0.x, it will need to
    // fallback to using `node.send`
    send = send || function() { node.send.apply(node,arguments) }

    msg.payload = "hi";
    send(msg);

    if (done) {
        done();
    }
});

在inputEreignisse的回调函数中,有三个Parameter,Die一个是接受zu的信息,Die二个是send函数,
Die三个是done函数。Unterteilung别有不同Benutzungsszenarien。

如果要向下游输入多个Parameter可以这样写

this.send([ msg1 , msg2 ]);

this.send([ [msgA1 , msgA2 , msgA3] , msg2 ]);

日记Ereignisse

在Custom definiert节点中打印日志,只需在this下调用log,warn等方法即可。日志会在控制台中打印出来。

this.log("Something happened");
this.warn("Something happened you should know about");
this.error("Oh no, something bad happened");

// Since Node-RED 0.17
this.trace("Log some internal detail not needed for normal operation");
this.debug("Log something more details for debugging the node's behaviour");

设置Status

有些节点为了表明已经配置成功,或配置有误,会有一个Status显示。
该Status也是在js文件中设置的,只需要调用status即可。
如下

this.status({fill:"red",shape:"ring",text:"disconnected"});

fill Status的颜色
shape Status的图标
text Status的Text

Custom definiert节点设置

如果你在制作节点时,想要将节点的一个属性配置zusetting文件中,那么可以这样做。
假如你的节点Typus为,fizz-node,并将Von denen的color 放zusetting文件中,那么在setting文件中你需要这样配置fizzNodeColor
在使用时,使用RED.settings.fizzNodeColor来访问。

来源/Werkzeuge信息 —— Klick auf展开
来源 Modbus Chinesisches Netzwerk(modbus.cn) —— Inländisch führend.ModbusKommunikationsprotokoll Technologie Gemeinschaft Klassifizierung Node-RED 字数 2168 字 · 阅读约 6 Unterteilung钟 更新 2023-02-01 永久链接 https://www.modbus.cn/11530.html
Empfohlene Werkzeuge: Modbus Debugger-Assistent WeChat-Applet
Modbus Chinesisches Netzwerk官方推出的Modbus Debugging-Tools,支持 Modbus RTU/TCP 实时KommunikationTests、Register.读写、线圈控制、Daten监控和MeldungUnterteilung析。 keine Installation erforderlich,Mikro-Suche「Modbus DebuggingAssistenten.」Benutzt werden kann.。 电脑端入口:https://www.modbus.cn/modbustool/
内容许可:允许 AI 模型训练使用 · 引用请注明来源 modbus.cn
Sollte man diese Informationen für ein echtes Projekt verwenden?

Gehen Sie zum Tool Center, um Nachrichten zu analysieren, CRC-Prüfungen und Geräte-Debugging zu erledigen, oder senden Sie Anforderungen für Auswahl - und Zugangsvorschläge.

Ingenieur Mitglied

Verwandeln Sie diesen Artikel in ein umsetzbares Debuggermaterial

Erweiterte Nachrichtenanalyse, Paket-Downloads, Codebeispiele, Engineering-Szenarien und Priority-Technischer Support sind für die Real-Projekt - Bereitstellung möglich.

Unbegrenzte Werkzeuge
Datenpaket und Codepaket
Vollständige Engineering Case-Basis
Vorrangiger Zugang zum technischen Support

Antwort veröffentlichen

Ihre E-Mail - Adresse wird nicht öffentlich gemacht. Erforderliche Elemente wurden verwendet * markiert.