node-red-contrib-me-vplc-runtime 0.0.12

Node-RED Runtime-Controller fuer ME vPLC mit Reverse Proxy /vplc, Node.js-ST-Engine und Web-Frontend

npm install node-red-contrib-me-vplc-runtime

node-red-contrib-me-vplc-runtime

Version: 0.0.12

ME vPLC Runtime-Node für Node-RED mit integriertem Web-Frontend, bidirektionaler Steuerung und paralleler Runtime-Strategie.

Anpassungen 0.0.12

  • Node.js-Fallback akzeptiert jetzt ZIP-Importe im ST-Editor und Connector-Editor.
  • ZIP-Dateien werden direkt in der Node.js-Umgebung entpackt; Python ist dafür nicht mehr erforderlich.
  • Unterstützt werden .zip mit .st/.txt für ST-Projekte und .json/.txt für Connectoren.

Anpassungen 0.0.11

  • Standalone-Projekt und Node-RED-Projekt verwenden denselben frontend_static/index.html Stand.
  • Das Frontend erkennt automatisch, ob es direkt über Flask / oder über den Node-RED Reverse Proxy /vplc/ geöffnet wurde.
  • Das Standalone-Startskript öffnet nun das integrierte Flask-Frontend auf http://127.0.0.1:5000/; dadurch ist kein separater Vite/NPM-Dev-Server mehr erforderlich.
  • Backend-Startparameter ME_VPLC_HOST und ME_VPLC_PORT sind in beiden Projektvarianten identisch nutzbar.

Zugriff über Node-RED Reverse Proxy

Das Web-Frontend wird ab Version 0.0.10 über den Node-RED Reverse Proxy bereitgestellt:

/vplc/

Der interne Backend-Port 5000 bleibt nur lokal für die Runtime-Kommunikation aktiv. Für den Anwender ist kein direkter Zugriff über :5000 notwendig.

Runtime-Strategie

  • Wenn Python verfügbar ist, wird weiterhin das bestehende Python-Backend mit st_compiler.py verwendet.
  • Wenn Python nicht verfügbar ist, startet automatisch die integrierte Node.js-ST-Engine.
  • Die Node.js-ST-Engine wurde in dieser Variante funktional an den bestehenden Python-ST-Compiler angeglichen.

Node.js-ST-Engine 0.0.10

Die Node.js-ST-Engine deckt jetzt zusätzlich ab:

  • PROGRAM / FUNCTION / FUNCTION_BLOCK
  • VAR, VAR_INPUT, VAR_OUTPUT, VAR_IN_OUT, VAR_GLOBAL, VAR_TEMP, VAR_EXTERNAL
  • TYPE / STRUCT / ENUM / Aliase
  • BOOL, INT, DINT, REAL, LREAL, BYTE, WORD, DWORD, TIME, STRING
  • ARRAY-Grundlogik
  • globale Variablen
  • IF / ELSIF / ELSE / END_IF
  • FOR / END_FOR
  • WHILE / END_WHILE mit Schutzlimit
  • CASE / ELSE / END_CASE
  • Zuweisungen mit :=
  • einfache Funktionsaufrufe
  • Funktionsbaustein-Instanzen
  • FB-Aufruf mit IN := ... und OUT => ...
  • Builtin-FBs: TON, TOF, TP, R_TRIG, F_TRIG, RS, SR, CTU
  • Builtin-Funktionen: ABS, MIN, MAX, LIMIT, SEL, MUX, INT, REAL, BOOL, INT_TO_REAL, REAL_TO_INT, BIT, SIN, COS, TAN, SQRT
  • zyklische Runtime mit READ, EXECUTE, WRITE und SYNC-Phasen

Node.js-Runtime-Ausführung 0.0.10

Die Node.js-Runtime wurde zusätzlich zum Node.js-ST-Compiler erweitert und bildet die Python-Runtime-Schleife funktional nach:

  • READ → EXECUTE → WRITE → SYNC
  • Prozessabbild mit inputs, outputs, globals, variables
  • zyklische Ausführung mit Cycle-Sync und Slack-Zeit
  • Auto-Cycle-Time Berechnung anhand READ/EXECUTE/WRITE
  • Phase-Statistiken wie im Python-Backend
  • Connector-Cache für READ/WRITE-Variablen
  • Write-on-change und Resync-Logik für Connector-Outputs
  • Runtime-Fehler stoppen den Lauf und werden im Compiler-/Runtime-Log abgelegt
  • neue Diagnose-API: /api/nodejs/runtime-parity

Hinweis: Die Node.js-Runtime ist funktional an die Python-Runtime angeglichen. Eine bitgenaue 100%-Gleichheit hängt vom konkreten ST-Projekt und von echten externen Connector-Treibern ab.

Webserver

Nach Backend-Start ist das Frontend erreichbar unter:

/vplc/

Beispiele

Beispiel-Flows liegen im Ordner examples/.

Node Info

Version: 0.0.12
Updated 6 days ago
License: UNLICENSED
Rating: not yet rated

Categories

Actions

Rate:

Downloads

843 in the last week

Nodes

  • me-vplc-runtime

Keywords

  • node-red
  • plc
  • structured-text
  • me-vplc
  • backend
  • runtime
  • nodejs-fallback

Maintainers