Herunterladen Inhalt Inhalt Diese Seite drucken
Inhaltsverzeichnis

Werbung

20.6. EINE AUFZEICHNUNG TRIGGERN MIT MSB_TRIGGER
Über ein innerhalb der trigger Funktion verfügbares event Objekt können
Sie zusätzliche Informationen über das aktuelle Ereignis (Datenbyte oder Lei-
tungsänderung) abrufen. Z.B. den Zeitpunkt (Time Stamp) des Datenbytes so-
wie die aktuellen Leitungspegel.
Das event Modul wird detailiert im Protokollmonitor Kapitel
ben. Es ist besonders nützlich, wenn Sie eine Aufzeichnung bei Auftreten eines
bestimmten Leitungspegels oder Änderung eines solchen triggern wollen.
Um Ihnen eine Idee davon zu vermitteln löst das folgende Skript eine Aufzeich-
nung bei fallender Flanke des DTR Signals aus.
Dabei wird bei jeder detektierten Leitungsänderung der Pegel des DTR Si-
gnals mit Hilfe des event Moduls ermittelt (mögliche Tri-State Pegel -1, 0 und
+1) und mit dem gespeicherten letzten Leitungspegel verglichen.
1
t h e DTR s i g n a l number
2
DTR = 4
3
here we s t o r e t h e l a s t DTR l i n e s t a t e
4
l a s t _ d t r =
1
function t r i g g e r ( )
5
l o c a l d t r = event . l e v e l ( DTR )
6
7
check f o r a f a l l i n g edge
i f d t r ==
1 and l a s t _ d t r == 1 then
8
9
t r i g g e r
r e t u r n t r u e
10
end
11
12
l a s t _ d t r = d t r
13
r e t u r n f a l s e
14
end
Da das msb_trigger Tool per Default nur Datenereignisse an die trigger
Funktion übergibt, müssen Sie den verarbeitenden Ereignistyp bzw. die Trigger
Quelle per Kommandoparameter auf --trigger-source=signal ändern.
msb_record | msb_trigger --trigger-source=signal script.lua > record.msblog
20.6.3

Pre und Post Trigger

Wie bereits erwähnt liegt der Hauptzweck des msb_trigger Tools darin, die
Menge der aufgenommenen Daten auf die unmittelbar interessanten Bereiche
einer Aufzeichnung zu reduzieren und das Analysieren unnötig großer Daten-
mengen zu vermeiden.
Wie viele Daten vor und nach einer Trigger Bedingung zur Auswertung benö-
tigt werden hängt vom jeweiligen Anwendungsfall ab. msb_trigger erlaubt
Ihnen deshalb, beide frei zu definieren. Der Parameter --pre-trigger gibt
dabei die Anzahl der vorherigen Daten bzw. Ereignisse an, die bei Auslösen
des Triggers mit aufgezeichnet werden. Interessant vor allem dann, wenn die
Kommunikation vor der Trigger Bedingung herangezogen werden muss.
Der Parameter --post-trigger definiert die der Daten/Ereignisse, die nach
ausgelöster Triggerung noch folgen (siehe Abschnitt Programm Parameter 20.7.1).
Die Aufnahme wird damit nach einer definierten Anzahl beendet und verhindert
die Aufzeichnung weiterer, nicht benötigter Daten.
Auch hier ein Beispiel: Nehmen wir an, Sie suchen nach einem Fehler in einer
Modbus RTU Kommunikation, bei welcher ein Teilnehmer eine falsche Prüf-
summe (CRC16 checksum failure) meldet.
Das folgende Trigger Skript zerlegt den eintreffenden Datenstrom in einzelne
13.6.3
beschrie-
271

Werbung

Inhaltsverzeichnis
loading

Inhaltsverzeichnis