Applikationsbeschreibung: #NR3V1 : Dashboards

Zugehörige Dokumentation:

  • Applikationsbeschreibung: #NR0V1 : mbEDGE auf meinem Router einrichten
  • Applikationsbeschreibung: #NR1V1 : Hello World
  • https://nodered.org/docs/user-guide/
  • https://flows.nodered.org/node/node-red-dashboard

Diese Applikation beschreibt, wie Dashboards und die verschiedenen visuellen Elemente eingerichtet werden.

Sie können Ihre eigenen Dashboards in Node-RED erstellen, um Live- oder historische Daten anzuzeigen. Unter https://flows.nodered.org/node/node-red-dashboard finden Sie eine Einführung in die Node-RED Dashboards. Insbesondere die Abschnitte Layouts, Features, Widgets.

Für diese Applikation stellen wir einen Beispielablauf für Node-RED zur Verfügung, der einige mögliche Widgets und einen simulierten Wert anzeigt. Bitte beachten Sie, dass diese Applikation auf dem Router läuft und über http oder https://router-ip:1880/ui aufgerufen werden kann. Sie können auch von außerhalb über einen Web2Go-Link von Ihrem mbCONNECT24-Account darauf zugreifen.

Beschreibung 1 – Dashboard

Dieses Dashboard zeigt Widgets zur Visualisierung von Daten und Steuersollwerten an. Die Werte in diesem Beispiel sind simuliert und zufällig generiert. Sie können dieses Beispiel leicht mit einer anderen Applikation kombinieren, bei dem die Quelldaten z. B. von einer S7-Steuerung stammen.

Das folgende Bild zeigt den Flow und vermittelt einen Eindruck davon wie dieser organisiert ist.

Beschreibung 2 - Node-RED Flow

Das Konzept dieses Beispiels besteht darin, alle 5 Sekunden einen Auslöser zu erzeugen. Dieser Trigger / Auslöser wird an die Funktions Node "Random number" (Zufallszahl) gesendet und diese Funktion sendet eine Zufallszahl an die Dashboard-Node "Power" (Leistung). Außerdem gibt es das Flag "Bypass Turbine ..", die von dem Eingabe Dashboard Node "Switch" (Schalter) generiert wird. Dieses Flag soll die Zufallszahlengenerierung aktivieren/deaktivieren. Wie Sie sehen, sind die Trigger Node und Switch Node mit der "Zufallszahlenfunktion" verbunden.

Beschreibung 3 - Trigger und Switch verbunden mit der Funktion

Lassen Sie uns einen genaueren Blick auf Trigger und Switch werfen:

Beschreibung 4 - Trigger Konfiguration

Der Trigger sendet alle 5 Sekunden einen Zeitstempel.

Der Switch sendet seinen Wert immer dann, wenn er geschaltet wird. Der Node sendet hier zusätzlich das Topic "bypass1".

Beschreibung 5 - Switch Konfiguration

Der msg.paylod ist also true oder false und das msg.topic ist "bypass1". Wir benötigen diese Informationen innerhalb der Funktions Node "Random number".

Beschreibung 6 - Funktions Node "Random number"

Nachfolgend finden Sie den entsprechenden Code mit Kommentaren.

// Dieser Code innerhalb der Funktions Node wird verarbeitet, wenn:
// 1. Die Trigger Node alle 5s einen Trigger sendet
// oder
// 2. Der Switch vom Bediener umgeschaltet wird

// Zuerst müssen wir eine öffentliche Flow Variable namens "lBypass1" deklarieren und auslesen.
// Dies dient dazu, später die Stellung des Schalters zu speichern.
var lBypass1 = flow.get("lBypass1");

// Das if wird nur verarbeitet, wenn msg.topic "bypass1" ist. Das heißt, wenn das Ereignis vom Switch kommt.
if (msg.topic == "bypass1" && msg.payload == "true" ) {
  lBypass1 = 1;
}
if (msg.topic == "bypass1" && msg.payload == "false" ) {
  lBypass1 = 0;
}

// Wenn lBypass1 false ist, wird die Zahl berechnet, andernfalls ist der ausgehende Wert (Payload) 0
if (lBypass1 === 0) {
   rnd = Math.floor (Math.random() * (50 -30) +30);
} else {
    rnd = 0;
}  
msg.payload = rnd;

// Vergessen Sie nicht, den Wert zur Verwendung im nächsten Ereignis zu speichern.
flow.set("lBypass1",lBypass1);  

return msg;

Den Flow als Datei zum Importieren in Ihre Applikation finden Sie unten.