Mit Hilfe des Logikmonitors kann die Ausführung von Logiken***r-1 protokolliert werden.
Achtung:
Der Logikmonitor sollte nur temporär (z.B. zur Ermittlung und Beseitigung von Fehlern oder Problemen) aktiviert werden.
Die Nutzung des Logikmonitors kann die Ausführungsgeschwindigkeit von Logiken verlangsamen!
Die vom Logikmonitor erzeugte Log-Datei kann je nach Konfiguration bereits nach kurzer Zeit einen erheblichen Umfang aufweisen.
Konfiguration
Die Konfiguration des Logikmonitors erfolgt über eine Textdatei. Die Datei selbst enthält bereits alle Informationen und Hilfestellungen zu den jeweiligen Parametern:
Dateiname: logicmonitor.ini
Verzeichnis:
Die Konfigurationsdatei kann mit jedem UTF-8-fähigen Texteditor bearbeitet werden.
Hinweis:
Die vom Logikmonitor erzeugte Log-Datei***a-4 wird in der Basis-Konfiguration***a-1 konfiguriert (Text- oder HTML-Format, etc.).
Verhalten des Logikmonitors
Die Konfigurationsdatei des Logikmonitors (logicmonitor.ini) wird bei jedem EDOMI-Neustart ausgewertet (ein Neustart des Servers ist nicht erforderlich).
Der Logikmonitor wird nur aktiviert, wenn Live- und Arbeitsprojekt referenziert sind (ggf. ist also zunächst eine Projektaktivierung erforderlich).
Wird das Arbeitsprojekt zur Laufzeit des Logikmonitors gewechselt (Live- und Arbeitsprojekt sind nicht mehr referenziert), wird der Logikmonitor bei nächsten Neustart deaktiviert.
Die konfigurierten Logikseiten- und Logikbaustein-IDs beziehen sich stets auf das Live-Projekt, auch wenn zwischenzeitlich Änderungen am Arbeitsprojekt vorgenommen wurden.
Hinweis:
Bei aktiviertem Logikmonitor wird auf der Statusseite***0-0 ein entsprechender Hinweis angezeigt.
Legende (Log-Datei)
Die vom Logikmonitor erzeugte Log-Datei***a-4 wird je nach Einstellung in der Basis-Konfiguration***a-1 als Text- oder HTML-Datei erzeugt.
HTML-Format (empfohlen)
Im HTML-Format werden die Einträge wie folgt formatiert (zur besseren Lesbarkeit werden alle Einträge alternierend mit weiß bzw. grau hinterlegt):
Sobald ein LBS getriggert wurde, wird ein Eintrag (grün) generiert:
INIT: der LBS wurde im Kontext der LBS-Initialisierung getriggert
TRIGGER: der LBS wurde von einem KO bzw. einem Ausgang eines verbundenen LBS getriggert
INTERVAL: der LBS wurde durch einen zyklischen Aufruf automatisiert getriggert
die letzte Spalte enthält die ID der Logikseite, die ID des Logikbausteins (nicht der LBS-Instanz) und dessen Namen: "[PAGE-ID] LBS-ID Name"
Alle nachfolgenden Einträge repräsentieren Funktionen und Ereignisse des soeben getriggerten LBS:
schwarz: Funktionsaufruf oder Ereignis (die letzte Spalte enthält i.d.R. den Namen der entsprechenden Funktion)
rot: Befehle von Ausgangsboxen werden ausgeführt ("DO COMMANDS"): protokolliert werden nur die Anzahl der Befehle und der Wert des Eingangs, der für das Triggern der Ausgangsbox verantwortlich ist
Sobald der LBS abgearbeitet worden ist, wird ein Eintrag (grau) mit dem Inhalt "RETURN" generiert (zudem wird eine abschließende Trennlinie erzeugt)
Die Spalte "Ergebnis" enthält ggf. Informationen bzw. Rückgabewerte nach folgendem Schema:
E1..∞: Eingang
E<ID> = <VALUE>: der Eingang ID ist per Fixwert (oder mittels der Livevorschau im Logikeditor) auf den Wert VALUE gesetzt
E<ID> : KO[<KOID>] = <VALUE>: der Eingang ID ist mit dem KO KOID verknüpft und ist durch dieses KO auf den Wert VALUE gesetzt
E<ID> : A<AID> @ LBS[<LBSID>] = <VALUE>: der Eingang ID ist mit dem Ausgang AID des Logikbausteins mit der Instanz-ID LBSID verknüpft und ist durch diesen Ausgang auf den Wert VALUE gesetzt
Flags: E<ID> kann mit zudem nachfolgenden Flags gekennzeichnet sein:
*: der Eingang hat den Status "refresh" (der Eingangswert wurde also verändert)
+: der Eingang wurde durch logic_getInputsQueued() aus der INPUTQUEUE gelesen
V1..∞: Variable
V<ID> = <VALUE>: die Variable ID ist auf den Wert VALUE gesetzt
Flags: V<ID> kann mit zudem nachfolgenden Flags gekennzeichnet sein:
#: die Variable ist remanent
Wichtig:
Funktionen und Ereignisse von EXEC-Scripten können jederzeit protokolliert werden (EXEC-Scripte werden asynchron abgearbeitet)! Daher werden sämtliche Ausgaben eines EXEC-Scriptes in blau hervorgehoben.
Sobald das EXEC-Script gestartet worden ist ("EXEC STARTED"), enthält die letzte Spalte die ID der Logikseite, die ID des Logikbausteins (nicht der LBS-Instanz) und dessen Namen: "[PAGE-ID] LBS-ID Name"
Text-Format
Im Text-Format werden die Einträge grundsätzlich wie im HTML-Format generiert, jedoch ohne farbliche Hervorhebung. EXEC-Script-Ausgaben werden daher in der Spalte "LBSID" mit dem Zusatz "[EXEC]" gekennzeichnet.
Die einzelnen Zeilen einer Ergebnisliste werden durch ein CR (ASCII-Code 13) abgetrennt.