innerhalb der Schleife sichtbar und wird anschließend gelöscht.
Sie sehen: Es ist generell immer eine gute Idee ALLE Variablen als local zu
deklarieren und nicht lokale Variablen, die Sie über mehrere Funktionen hin-
weg verwenden mit einer entsprechenden Kennzeichnung zu versehen. Z.B.
g_n (globale n).
Mehr Informationen über das aktuelle Datenereignis
Die an split übergebenen Parameter sollten für die meisten Anwendungs-
fälle völlig ausreichen. In ganz speziellen Situation werden Sie aber eventuell
zusätzliche Informationen über das aktuelle Datenereignis benötigen, ohne die
Sie die Telegramme nicht korrekt aus dem Datenstrom extrahieren zu können.
Z.B. die Richtung oder Quelle (und nicht nur einen Wechsel derselben), den
genauen Zeitstempel (und nicht nur die Distanz zum vorherigen Datenereig-
nis).
Da das Hinzufügen weiterer Parameter u.U. die Kompatibilität zu älteren Tem-
plates einschränkt, werden diese zusätzlichen Informationen durch das event
Modul zur Verfügung gestellt. Das Modul wird ausführlich in Lua Modul Ab-
schnitt
13.6.3
beschrieben.
Hier ein Beispiel wie Sie die Quelle des aktuellen Datenbytes innerhalb split
ermitteln können. Vorausgesetzt wird ein Protokoll mit unterschiedlichen EOS
Zeichen abhängig von der Datenrichtung. Alle Telegramme an Port A (CH1)
verwenden ein CR als EOS, während Telegramme an Port B (CH2) mit einem
LF beendet werden.
1
function s p l i t ( data , i n t v a l , a l t e r , s t r )
2
l o c a l eos = 13
3
i f event . d i r ( ) == 2 then eos = 10 end
4
i f # s t r == 1 then r e t u r n STARTED end
5
i f data == eos then r e t u r n COMPLETED end
6
r e t u r n MODIFIED
7
end
Split - Zusammenfassung
Die split Funktion verspricht eine Anpassung an fasst alle möglichen Proto-
kolle. Obgleich sie i.a. nur aus einigen wenigen Zeilen besteht ist ein besseres
Verständnis der Skriptsprache Lua von Vorteil wenn Sie Ihre eigenen Templa-
tes schreiben. In Kapitel
faszinierende Sprache.
Das Auftrennen des Datenstromes in einzelne Telegramme ist die eine Sache.
Im nächsten Abschnitt lernen Sie wie Sie die Ausgabe der Telegramme ganz
individuell nach Ihren Vorgaben steuern.
13.3.2
Individuelle Darstellung der Telegramme
Die komplette Formatierung, d.h. wie die Telegramme im einzelnen dargestellt
werden, erfolgt in der Funktion out. Diese Funktion wird jedesmal aufgeru-
fen, wenn der Protokollmonitor ein Telegramm im Telegrammfenster ausgibt.
Gleichzeitig reduziert dies den Rechenaufwand, da der Code nur für die gera-
de sichtbaren Telegramme ausgeführt wird.
13.3. TEMPLATE SPRACHSYNTAX
17.1
finden Sie eine komplette Einführung in diese
113