Control Extension

Hier findest du Informationen zur Control Extension

Was ist die Control Extension?

Die Control Extension erweitert Deine EEP-Anlage um einen strukturierten Laufzeitkern für Lua-Module. Du kannst Deine Anlagenlogik in wiederverwendbare Module aufteilen und bei Bedarf Daten und Steuerfunktionen über zusätzliche Werkzeuge nach außen bereitstellen.

Das Paket besteht aus vier Bausteinen:

  1. Lua Hub in ce.hub — der Laufzeitkern. Er lädt und führt alle registrierten Module aus.
  2. Data Bridge (optional) in ce.databridge — überträgt Daten aus EEP an externe Werkzeuge.
  3. Control Extension Server (optional) — bereitet die Daten auf und stellt sie für Clients bereit.
  4. Control Extension Web App (optional) — zeigt Daten im Browser an und erlaubt die Bedienung.

Für die Anlagensteuerung genügt der Lua Hub. Server und Web App sind optional.

Schnellstart

Damit ein EEP Anlage den Hub nutzt, wird der Einstiegspunkt ce.ControlExtension in den Lua Code der Anlage aufgenommen.

Kurzes Beispiel

Nutze den Lua-Editor von EEP und klicke dann auf Skript neu laden.
⚠️ Wenn du schon eigenen Lua-Code hast, dann füge nur die beiden Zeilen mit ControlExtension hinzu.

local ControlExtension = require("ce.ControlExtension")

function EEPMain()
   ControlExtension.runTasks(1)
   return 1
end

Langes Beispiel

Die zusätzliche Konfiguration ist optional. Wenn du sie nicht verwendest, bleiben die Standardwerte aktiv.

local ControlExtension = require("ce.ControlExtension")

ControlExtension
    .setDebug(true)
    .activateServer()
    .setPauseEepDuringInitialization(true)
    .addModules(
        require("ce.mods.road.CeRoadModule"),
        require("ce.hub.CeHubModule").setOptions({
            collectedCeTypes = {
                require("ce.hub.CeHubModule").CeTypes.Train,
            },
        })
    )

function EEPMain()
    ControlExtension.runTasks(1)
    return 1
end

Control Server starten

Ist dein EEP in C:\Trend\EEP18 installiert, dann findest du den Control Server in C:\Trend\EEP18\LUA\ce\control-extension-server.exe.

Eine vollständige Beschreibung der API findest Du in hub/README.md.

Dokumentation

Für Anwender

Für Entwickler

Weitere Pakete