KAPITEL 20. KOMMANDOZEILEN API
schaltet die normale Ausgabe der empfangenen Daten ab und alle per Lua
print Anweisungen gemachten Ausgaben werden nicht mehr vollendet, da das
Programm zuvor beendet wird.
Sie können das obige Skript selber testen. Öffnen Sie dazu einfach ein Termi-
nal (Linux) oder Kommando Eingabe/Fenster (Windows) in dem examples/API
Verzeichnis und geben Sie folgendes ein:
type Modbus-RTU-wrong-checksum.msblog | msb_trigger
--debug scan-modbus-wrong-checksum.lua
Das Kommando sollte folgende Ausgabe produzieren:
727.232679
904.113558
949.962685
Die verwendete Modbus RTU Aufzeichnung enthält drei Telegramme mit un-
gültiger Prüfsumme, aufgetreten an den angegebenen Zeiten. Die übertragene
und falsche CRC16 Prüfsumme is als 'is' bezeichnet, die erwartete (berechne-
te) als 'must'. Sie können die Aufzeichnung jederzeit in die Analyzer Software
laden und die entsprechenden Telegramme überprüfen.
20.6.6
Ein Skript zur Triggerung und Suche
Bis hierhin haben wir die folgenden Anwendungen kennengelernt:
1
Wie Sie eine Aufzeichnung triggern
2
Wie Sie Trigger Ereignisse aus einer Aufzeichnung extrahieren
3
Wie Sie eine Aufzeichnung nach bestimmten Ereignissen durchsuchen
Der dritte Punkt verwendet dabei die eingebaute Debug Funktionalität des
msb_trigger Tools. Das Problem hierbei: Code der die Debug Funktion ver-
wendet, d.h. mit --debug aufgerufen wird und eigene Ausgaben per Lua print
macht, kann nicht zur Triggerung einer Aufzeichnung verwendet werden.
Der Grund: Zunächst wird per --debug Parameter die Weitergabe der von der
Standardeingabe gelesenen Ereignisse (generiert durch msb_record oder
Ausgabe einer gemachten Aufzeichnung) unterdrückt und damit die Generie-
rung einer korrekten Analyzer Aufzeichnungsdatei unterbunden. Stattdessen
erfolgt die Ausgabe individueller Information (z.B. durch Lua print Anweisun-
gen) in einem nicht kompatiblen Analyzer Aufzeichnungsformat - was in die-
sem Fall auch beabsichtigt ist.
Die Konsequenz ist: Zwei unterschiedliche Skripte, eins zur Triggerung und
eins zur Suche bzw. Testen. Auch im Falle eher einfacherer Skripte eine doch
unbefriedigende Lösung.
Im folgenden Abschnitt zeigen wir Ihnen deshalb, wie Sie diese verschiedenen
Anwendungsfälle trotzdem in EINEM Skript realisieren können.
Dreh- und Angelpunkt ist dabei der Programm Parameter --debug. Bei Auf-
ruf des msb_trigger Tools mit diesem Parameter erfolgt die Ausgabe in ei-
nem nicht kompatiblen, individuellen Format. Mit Wissen um diesen Parameter
könnten wir im Skript eigene Ausgaben per Lua print (de)aktivieren und den
274
is:982E, must:972E
is:50A5, must:50A6
is:528C, must:508C