Herunterladen Inhalt Inhalt Diese Seite drucken

Filterung; Anzeigen Und Verbergen Kompletter Telegramme - IFTOOLS MSB-RS485-PLUS Handbuch

Inhaltsverzeichnis

Werbung

KAPITEL 13. DER PROTOKOLLMONITOR
1
box . b l o c k { c a p t i o n =" Func " , t e x t ="Command" , f g =0xFFAAAA , bg=0x0000FF }
Die Bedeutung ist offensichtlich, auch wenn Sie sich merken müssen, das fg für
die Vordergrund/Textfarbe (foreground) und bg für die Hintergrundfarbe (back-
ground) steht.
Beachten Sie, dass benannte Parameter im Gegensatz zu normalen Funktion-
sargumenten immer in geschweiften Klammern {...} stehen müssen, da Lua
diese als übergebene Tabelle auswertet. Der korrekte Aufruf lautet eigentlich
function({...}), aber die äußeren Klammern sind in diesem Fall optional
und Sie können Sie weglassen.

13.4 Filterung

Die Filterung der angezeigten Telegramme ist ein oft verlangtes Feature. Aber
wie sollen Telegramme mit unbekanntem Protokoll gefiltert werden? Aus der
Sicht des Protokollmonitors macht eine vordefinierte Liste von Filtern keinen
großen Sinn, da jeder Protokolltyp eigene Bedingungen daran stellt, was an-
gezeigt (gefiltert) und was in der Ausgabe unterdrückt werden soll.
Um ein Beispiel zu geben: Sie haben einen Feldbus und wollen nur die Tele-
gramme eines bestimmten Teilnehmers (mit einer spezifischen Geräteadresse)
sehen. Oder es interessieren Sie nur bestimmte Telegrammtypen (Funktions-
nummern etc.). In beiden Fällen muss der Filtermechanismus in der Lage sein,
die Adresse oder Funktionsnummer aus den Telegrammen zu extrahieren und
mit den vorgegebenen Filterparametern vergleichen.
Auf Grund der Protokollvielfalt wird schnell klar, das der Filtermechanismus Teil
des Templates sein muss.
13.4.1

Anzeigen und verbergen kompletter Telegramme

Damit kommen wir zum letzten Parameter in der split Funktion. Als Erinne-
rung hier noch einmal der Aufruf der Funktion:
1
function s p l i t ( data , i n v a l , a l t e r , s t r , f i l t e r )
2
you s p l i t code
r e t u r n STATE
3
end
4
Der filter Parameter ist einfach ein Textstring der dem aktuell ausgewählten
Eintrag der Filtereingabe in der Werkzeugleiste entspricht. Er ermöglicht damit
beliebige Eingaben als Text an die split Funktion zu übergeben.
Warum die Filterung in der split() Funktion und nicht einfach in der Ausga-
be?
Das Telegramm Ausgabefenster behandelt NUR die Telegramme die gerade im
Fenster sichtbar sind. Es kann keine Telegramme entfernen (ausfiltern) ohne
dabei eine Diskrepanz zwischen wirklich vorhandenen und angezeigten Tele-
grammen zu erzeugen. So können Sie z.B. alle Telegramme ausfiltern, nichts
desto trotz sind diese 'intern' vorhanden und die vertikale Bildlaufleiste (Scroll-
bar) macht Ihnen das mehr als deutlich indem Sie dann durch eine vermeintlich
leere Telegrammliste scrollen können.
Es gibt Anwendungsfälle für die Filter Eingabe, die die Darstellung der Tele-
gramme und damit die out() Funktion betrifft. Diese sind nicht zu verwech-
seln mit der 'Filterung' bestimmter Telegramme aus dem Datenstrom, da sie
132

Werbung

Inhaltsverzeichnis
loading

Inhaltsverzeichnis