Logikbausteine (allgemein)***r-0Entwicklung von Logikbausteinen

Logikbausteine***r-0 (LBS) sind entweder PHP-Funktionen, die im Kontext der Logik-Engine aufgerufen werden - und/oder eigenständige PHP-Scripte, die unabhängig von der Logik-Engine im Hintergrund ausgeführt werden. Grundsätzlich werden 3 Arten von Logikbausteinen (LBS) unterschieden: Ein LBS wird stets durch seine Eingänge getriggert, d.h. sobald eine Wertänderung an einem der Eingänge vorliegt, wird der LBS-Code ausgeführt. Dies kann ein neues Telegramm (KO bzw. GA) oder ein mit dem Eingang verbundener Ausgang eines weiteren LBS sein. Beim Start von EDOMI wird der LBS zudem über ggf. vorhandene Initialwerte an einem Eingang getriggert. Sobald der LBS getriggert wurde, wird sein Funktions-Code einmalig(!) ausgeführt und der LBS "wartet" nun auf einen erneuten Trigger. Bei Bedarf kann die Logik-Engine mit einem entsprechenden Funktionsaufruf dafür sorgen, dass der LBS in einem bestimmten Intervall immer wieder aufgerufen wird: Dies ermöglicht z.B. eine Überwachung einer Bedingung - unabhängig davon, ob der LBS durch seine Eingänge erneut getriggert wird (z.B. ein Timer). Zusätzlich zu der o.g. Implementierung kann ein LBS einen unabhängigen PHP-Prozess definieren: Dieses Script läuft vollkommen unabhängig als eigenständiger Prozess und wird von der Logik-Engine nicht überwacht oder gesteuert. Dies ermöglicht z.B. die Implementierung zeitintensiver oder "riskanter" Operationen (z.B. eine Webabfrage).

Weiterführende Informationen