Herunterladen Inhalt Inhalt Diese Seite drucken
Inhaltsverzeichnis

Werbung

KAPITEL 13. DER PROTOKOLLMONITOR
Da das Lua String Modul bereits leistungsfähige Funktionen zur String Extrak-
tion bietet, besteht auch keine Notwendigkeit diese erneut zu implementieren.
Und: Lua erlaubt das Indizieren von Teilstringen auch vom 'Stringende', was
ein zusätzlicher Vorteil ist.
telegram:string()
Beispiel
function o u t ( )
1
2
access t h e c u r r e n t t e l e g r a m
l o c a l t g = t e l e g r a m s . t h i s ( )
3
4
e x t r a c t t h e b y t e s 2 . . . 5 as a Lua s t r i n g
5
l o c a l data = t g : s t r i n g ( ) : sub ( 2 , 5 )
6
query t h e l a s t two EOS b y t e s
7
l o c a l eos = t g : s t r i n g ( ) : sub( 2, 1)
8
end
telegram:time
Liefert den Zeitstempel des Telegramms. Der Zeitstempel ist definiert als die
Zeit in Sekunden, die seit Start der Aufnahme vergangen ist, wenn das erste
Byte des Telegramms empfangen wurde. Das Resultat ist ein Fliesskommawert
mit doppelter Genauigkeit und der üblichen Auflösung von 1 Mikrosekunde.
telegram:time()
Beispiel
1
function o u t ( )
2
show t h e response t i m e t o t h e f o r m e r t e l e g r a m
3
l o c a l t c = t e l e g r a m s . t h i s ( )
4
l o c a l t p = t e l e g r a m s . prev ( )
5
handle n o t e x i s t i n g p r e v i o u s t e l e g r a m ( a t v e r y f i r s t p o s i t i o n )
6
i f not t p then t p = t c end
7
box . t e x t { c a p t i o n =" Response t i m e " , t e x t = t c : t i m e ( )
8
end
13.6.7

Das telegrams Modul

Das telegrams Modul bietet einen einfachen und vor allem wahlfreien Zugriff
auf alle bis dato aufgenommenen Telegramme.
Der große Vorteil: Im Gegensatz zu den bisherigen (und nun obsoleten) Modu-
len tg und tgprev ist der Telegrammzugriff nun nicht länger nur auf das ak-
tuelle und vorherige Telegramm beschränkt. Vielmehr ermöglicht telegrams
Ihnen jetzt auch Telegramme zu behandeln, deren Verarbeitung von einem zu
einem früheren Zeitpunkt empfangenen Telegramm abhängig ist
Ein Beispiel: Sie müssen ein Telegramm differenziert interpretieren falls ein zu-
vor empfangenes Telegramm von Typ XYZ vorliegt. In einem Bussystem mit
6
Bisher konnten Sie in out() nur auf das aktuelle und vorherige Telegramm zugreifen.
158
t p : t i m e ( ) }
6
.

Werbung

Inhaltsverzeichnis
loading

Inhaltsverzeichnis