Herunterladen Inhalt Inhalt Diese Seite drucken
Inhaltsverzeichnis

Werbung

13.6. PROTOKOLLMONITOR SPEZIFISCHE LUA ERWEITERUNGEN
(data ist 10) prüfen wir, ob es die Antwort auf ein vorheriges 'Life Ping' ist. In
diesem Fall ist die gemeinsam genutzte Variable LifePing wahr (true) und
wir können das Telegramm in Zeile 5 entfernen (REMOVED).
In Zeile 7 merken wir uns den Erhalt eines 'Life Ping' Telegrammes indem wir
die Telegrammlänge mit 2 vergleichen (':' und LF). Handelt es sich um ein 'Life
Ping' Telegramm wird die shared Variable LifePing auf wahr gesetzt (Zeile
8) und mit REMOVED wird das Telegramm aus der Anzeige entfernt (Zeile 9).
Bei allen anderen Telegrammlängen wird der Variable LifePing false zuge-
wiesen. Da das Telegramm mit Erhalt von LF komplett ist, erfolgt in Zeile 13 die
Rückgabe COMPLETED.
Alle empfangenen Datenbytes mit Ausnahme von ':' und LF werden an die in-
terne Telegramm Repräsentation angehängt und deshalb in Zeile 15 die Funk-
tion mit MODIFIED beendet.
Beachten Sie bitte! Der obige Code wird nicht mit normalen globalen Variablen
arbeiten, da jeder der beiden Interpreter seine 'eigenen' globalen Variablen
verwendet und ein Zugriff darauf durch den jeweils anderen Interpreter nicht
möglich ist. Die Verwendung des shared Moduls ist die einzige Möglichkeit
um Daten zwischen beiden Interpretern auszutauschen.
13.6.6

Der telegram Typ

Der Lua Datentyp telegram ist eine Art Behälter der die Eigenschaften eines
beliebigen Telegramms in der Aufzeichnung enthält. telegram ist immer das
Resultat einer Telegrammabfrage durch das telegrams Modul (beachten Sie
den Plural im Modulnamen).
Sie können jede Telegramm spezifische Information durch Aufruf der zugehö-
rigen Telegrammfunktion ermitteln. Dies entspricht einem Objekt orientierten
Ansatz. Eine zusätzliche dump Funktion bietet eine sehr einfache und elegante
Möglichkeit, den kompletten Inhalt des Telegramms zu erfassen und darzustel-
len.
Funktion Beschreibung
data
Liefert das Datenbyte an der angegebenen Position (bis zu 9
Bit). Positive Werte indizieren das Datenbyte gezählt vom Tele-
grammstart (Position=1 bedeutet das erste Byte im Telegramm).
Negative Indexe zählen von hinten (-1 greift auf den letzten Da-
tenwert im Telegramm zu).
datatime
Liefert den Zeitstempel des angegebenen Telegramm Bytes in
Sekunden mit Mikrosekunden Genauigkeit. Die Indizierung des
Datenbytes erfolgt wie in obiger Funktion data.
dir
Abfrage der Datenrichtung des Telegramms. Ein Resultat von
1 bedeutet, das das Telegramm an Port A (CH1) empfangen
wurde, eine 2 Port B (CH2).
dump
Liefert einen Lua String mit einer Datenauflistung des ange-
gebenen Telegrammbereichs in hexadezimaler oder dezimaler
Notation. dump ist besonders hilfreich wenn ein schneller Über-
blick über den Telegramminhalt erforderlich ist oder ein definier-
ter Telegrammbereich als 'Rohdaten' angezeigt werden soll.
153

Werbung

Inhaltsverzeichnis
loading

Inhaltsverzeichnis