KI-GESTÜTZTE DOKUMENTATION
Was möchten Sie wissen?
Umgebungsvariablen
Sie können für jede Kamera in den System Settings Umgebungsvariablen definieren. Diese Variablen sind in Node-RED verfügbar und ermöglichen es Ihnen, Parameter wie PLC IP, Liniennummer, Modbus IP, Zeitzone, FTP-Server usw. an einer zentralen Stelle festzulegen. Dies erleichtert die Wiederverwendung desselben Node-RED-Flows über verschiedene Linien hinweg, während das Verhalten pro Kamera angepasst wird. Sätze von Umgebungsvariablen können außerdem in eine .txt-Datei exportiert oder aus einer solchen importiert werden, was Bereitstellung und Sicherung vereinfacht.
Der OV20i wird mit drei integrierten Variablen ausgeliefert — Line Code, Camera Timezone und Date Installed — und Sie können beliebig viele Custom Variables hinzufügen.
Wann Umgebungsvariablen verwenden
Greifen Sie auf Umgebungsvariablen zurück, wenn:
- Derselbe Wert (PLC IP, MES URL, Modbus Host, Lizenzschlüssel, Schwellenwert, Linien-ID) von mehr als einem Node-RED-Node referenziert wird.
- Ein Wert sich zwischen Bereitstellungen unterscheidet und Sie einen Flow möchten, der überall funktioniert — setzen Sie die Variable einmal pro Kamera, anstatt den Flow zu bearbeiten.
- Sie einen Flow zwischen Kameras teilen möchten (Export/Import), ohne bereitstellungsspezifische Konfiguration in das JSON eindringen zu lassen.
- IT-Mitarbeiter oder Bediener einen Wert ändern müssen (z. B. einen neuen FTP-Server), ohne Node-RED zu öffnen.
Variablen in System Settings definieren
- Klicken Sie in der linken Seitenleiste der Kamera-Benutzeroberfläche auf System Settings.
- Öffnen Sie die Registerkarte Environment Variables (dritte Registerkarte in der Subnavigation).
- Füllen Sie eine der integrierten Variablen aus:
- Line Code — Bezeichner oder Code der Produktionslinie (Freitext).
- Camera Timezone — Wählen Sie eine Zeitzone aus dem Dropdown-Menü.
- Date Installed — Datumsauswahl.

- Um eine benutzerdefinierte Variable hinzuzufügen, klicken Sie oben rechts auf + New Variable. Eine neue Zeile Custom Variables erscheint mit einem Eingabepaar aus Schlüssel/Wert. Geben Sie einen Schlüssel ein (keine Leerzeichen — nur Buchstaben, Ziffern und Unterstriche) sowie einen Wert, und klicken Sie dann auf Apply Changes.

Der Schlüssel ist der Name, den Sie zum Lesen der Variable in Node-RED verwenden. Konvention ist Upper-Snake-Case (z. B. PLC_IP, MODBUS_IP, FTP_SERVER, LINE_NUMBER, ALERT_THRESHOLD) — Leerzeichen sind in der Benutzeroberfläche nicht zulässig.
- Die Kamera fordert Sie vor dem Speichern zur Bestätigung auf. Node-RED wird beim Anwenden neu gestartet, damit der neue Wert sofort für Flows verfügbar ist.

Das Speichern jeglicher Änderung an Umgebungsvariablen — Hinzufügen, Bearbeiten oder Löschen einer benutzerdefinierten Variable oder Ändern eines der integrierten Felder — startet die Node-RED-Laufzeitumgebung neu, damit die Werte wirksam werden. Aktive Inspektionen laufen weiter, aber jede laufende Flow-Ausführung wird unterbrochen. Planen Sie Änderungen während geplanter Stillstandszeiten, nicht mitten in der Schicht.
Sicherung und Wiederherstellung
Die Schaltfläche Export .txt lädt den aktuellen Variablensatz als reine Textdatei herunter (KEY=VALUE-Zeilen). Import .txt stellt aus einer zuvor exportierten Datei wieder her. Verwenden Sie dies, um eine bewährte Konfiguration auf mehrere Kameras derselben Linie zu klonen oder vor einer Neuinstallation zu sichern.
Variablen aus Node-RED lesen
Öffnen Sie den IO Block eines beliebigen Rezepts und klicken Sie auf Advanced Mode, um Node-RED zu öffnen. Umgebungsvariablen der Kamera werden Flows auf drei Arten zur Verfügung gestellt — wählen Sie die passende für Ihren Anwendungsfall.
1. Inject-Node mit Payload-Typ env (am einfachsten)
Der schnellste Weg, eine Variable zu lesen, ist ein Inject-Node, der mit Payload-Typ env und Payload <VAR_NAME> konfiguriert ist. Beim Auslösen sendet der Inject-Node msg.payload = <Wert der Umgebungsvariable> nachgelagert — kein Code, kein Function Block.

Verbinden Sie diesen mit einem Debug-Node und lösen Sie den Inject aus — die Debug-Seitenleiste zeigt den aufgelösten Wert an.

Dieses Muster eignet sich ideal zur Plausibilitätsprüfung, ob eine Variable definiert ist und korrekt gelesen wird. Es ist auch das Muster der Wahl, wenn ein nachgelagerter Node (HTTP-Request, MQTT-Publish, FTP) lediglich den Rohwert als Payload benötigt.
2. Function-Node mit env.get() (programmatisch)
Wenn Sie mehrere Variablen kombinieren, eine strukturierte Nachricht erstellen oder anhand eines Wertes verzweigen müssen, verwenden Sie einen Function-Node und die standardmäßige Node-RED-API env.get():
// Read a built-in variable
const lineCode = env.get("LINE_CODE");
// Read custom variables
const plcIp = env.get("PLC_IP");
const ftpServer = env.get("FTP_SERVER");
// Build a structured message for downstream nodes
msg.payload = {
line: lineCode,
plc: plcIp,
ftp: ftpServer,
capturedAt: new Date().toISOString(),
};
return msg;
Verbinden Sie diesen mit einem mqtt out-, http request-, ftp- oder email-Node, und die strukturierte Payload wird weitergeleitet.
3. ${VAR_NAME}-Substitution in jeder Node-Eigenschaft
Die meisten Konfigurationsfelder von Nodes unterstützen die ${VAR_NAME}-Substitution. Beispielsweise können Sie in einem http request-Node die URL setzen auf:
${MES_ENDPOINT}/api/v1/inspections
…und Node-RED ersetzt zur Laufzeit den aktuellen Wert der Variable. Dasselbe gilt für ftp-Serverfelder, mqtt-Broker-URLs, email-Empfängerlisten usw. So können Sie bereitstellungsspezifische Konfigurationen an einer Stelle (System Settings) festlegen, ohne den Flow anzufassen.
Gängige Muster
| Muster | Variablenname | Wie er gelesen wird |
|---|---|---|
| PLC-Verbindung | PLC_IP, PLC_PORT | Inject + env oder ${PLC_IP} in der PLC-Konfiguration |
| FTP-Bildexport | FTP_SERVER, FTP_USERNAME | Host-/Anmeldedaten-Felder des FTP-Nodes mit ${...}-Substitution oder env.get() in einem Function-Node |
| MES-/Data-Historian-Endpunkt | MES_ENDPOINT | URL des HTTP-Request-Nodes: ${MES_ENDPOINT}/api/... |
| MQTT-Broker | MQTT_BROKER | MQTT-Broker-Konfiguration: ${MQTT_BROKER} |
| Modbus-Host | MODBUS_IP | IP-Feld des Modbus-Nodes |
| Linienkennung (pro Kamera) | LINE_NUMBER, LINE_CODE (integriert) | Wird zur Nachverfolgbarkeit jeder veröffentlichten Nachricht beigefügt |
| Schwellenwert für Alarmeskalation | ALERT_THRESHOLD | Function-Node, der kürzliche Fehler zählt |
| Benachrichtigungsliste für Bediener | ALERT_EMAILS | "An"-Feld des Email-Nodes |
Die Seite Environment Variables ist im Klartext und für jeden Benutzer mit Zugriff auf System Settings sichtbar. Für Geheimnisse, die stärkeren Schutz benötigen (PLC-Passwörter, signierte Tokens, Zertifikate), verwenden Sie stattdessen den Credentials Store von Node-RED auf einzelnen Nodes.
Wie geht es weiter
- Node-RED Basics — Orientierung, wenn Sie neu bei Node-RED auf der Kamera sind.
- Overview Node-RED Custom Blocks — Referenz für die OV-spezifischen Blöcke, die neben der Standard-Node-RED-Palette erscheinen.
- Setting Up Outputs (Step 5) — wo Node-RED in den umfassenderen Pass/Fail- und Integrations-Flow passt.