Systemdiagnose
1 Überblick
Das hier vorgestellte AddOn für iCon-L bildet den Rahmen für eine nützliche Sammlung von Entwicklungs- und Beobachtungstools während Projektierung und Inbetriebnahme. Grundsätzlich beinhaltet das AddOn Basisfunktionalitäten
-
zur Laufzeitmessung,
-
zur Lastmessung,
-
zur Betrachtung von Speicherbereichen (Datenmonitor) und
-
zum Auslesen von Systemmeldungen (Debug)
im Kernel.
2 Toolliste
In der Toolliste (Toolbaum) werden die verfügbaren bzw. konfigurierten Tools bzw. Sichten dargestellt. Der Toolbaum ist konfigurierbar. Rufen Sie dazu das Kontextmenü durch Betätigung der rechten Maustaste auf. Wurde die entsprechende Konfiguration bereits abgespeichert bleibt diese von den Änderungen solange unberührt bis sie mit gleichem Namen gesichert wird.
Folgende Möglichkeiten sind gegeben:
- "Neuer Eintrag" (Aufruf über Toolitem): es kann ein neuer, dem Rootitem entsprechender Eintrag zugefügt werden; bei Programm- (Task-) abhängigen Einträgen werden maximal 15 Einträge zugelassen; nach Einfügen des Eintrags kann der Name geändert werden;
- "Bezeichner ändern" (Aufruf über Toolitem): der Name des Eintrags kann geändert werden; dies ist besonders bei den einzelnen Datenmonitoren vorteilhaft;
- "Eintrag löschen" (Aufruf über Toolitem): der gewählte Eintrag wird aus der Toolliste entfernt;
- "Einstellungen laden" (Aufruf über Root- und Toolitem): über einen Dateiauswahldialog können bereits konfigurierte Einstellungen übernommen werden; die aktuellen Einstellungen werden ohne Abfrage überschrieben;
- "Einstellungen sichern" (Aufruf über Root- und Toolitem): über einen Dateiauswahldialog kann die aktuelle Konfiguration gesichert werden; wird die Sicherung bei geladenem iCon-L Projekt aufgerufen, so wird als Default-Ziel der Projektpfad vorgeschlagen; damit wird gewährleistet, dass bei Aufruf des AddOns mit geladenem Projekt die zuletzt gesicherte Konfiguration geladen wird;
- "Beenden" (Aufruf über Root- und Toolitem): AddOn beenden; die aktive Konfiguration sollte bei Bedarf vorher gesichert werden;
Laufende Prozesse werden durch ein rotes Icon hervorgehoben.
3 Fenster Verbindung
In diesem Fenster werden die aktuellen Verbindungsdaten angezeigt. Dazu gehören der Name des Kommunikationsservers und der Name des Gerätes.
Die Verbindungsaufnahme wird durch Betätigung des Schalters in der Toolbar aktiviert.
4 Fenster Meldungen
In diesem Fenster werden Nachrichten ausgegeben, die während der Kommunikation mit dem Zielsystem anfallen. Bei nicht sofort erkennbaren Ursachen für Probleme sollten zuerst diese Meldungen auf eventuelle Hinweise durchsucht werden.
5 Toolbar
5.1 Verbindung
Um die entsprechenden Informationen mit dem Zielsystem austauschen zu können muss eine Verbindung mit diesem hergestellt werden. Dies erfolgt über den Dialog "Zielsystem anmelden" wie aus iCon-L bekannt.
Detaillierte Informationen zum Anmelden eines Zielsystems erhalten sie, wenn sie die Taste F1 im Zielsystem - Anmeldedialog drücken.
Konnte eine Verbindung hergestellt werden, so wird dies im Fenster der Verbindungsinfo dokumentiert.
5.2 Auslesen von Systemmeldungen
In Abhängigkeit der im iCon-L Kernel definierten Systemnachrichten können diese mit dem AddOn ausgelesen werden.
Lassen Sie dazu zuerst die Anzahl der im Zielsystem vorhandenen Meldungen durch Klick auf den Schalter auslesen.
Sind Meldungen vorhanden, so können sie diese durch Klick auf den Schalter auslesen.
Der Lesevorgang kann durch Klick auf den Schalter unterbrochen werden.
Wurde eine Meldung ausgelesen, so wird sie im Zielsystem nicht wieder für das Auslesen bereitgestellt. Wenn auf diese Meldungen später zurückgegriffen werden soll, so müssen diese gesichert werden. Rufen sie dazu das Kontextmenü durch Betätigung der rechten Maustaste auf und wählen sie dort den Punkt "Sichern".
In einem darauf folgendem Dateiauswahldialog können sie das Speichern der Meldungen vornehmen.
Die üblichen Funktionalitäten wie Markieren, Kopieren und Ändern der Schriftart werden ebenso durch das Kontextmenü bereitgestellt.
Wird in das Suchfeld etwas eingetragen wird die Suche nach Klick auf den Schalter "Suchen" durchgeführt. Bei der Suche wird nicht nach Groß- und Kleinschreibung unterschieden. Wird der Suchstring gefunden, wird die Liste in den sichtbaren Bereich gescrollt und der gefundene Bereich markiert.
6 Tools
Innerhalb des Aktionsfensters werden die Inhalte der einzelnen Tools dargestellt und die Interaktion mit diesen organisiert. Der Standardumfang umfasst folgende Tools:
6.1 Laufzeitmessung
Dieses Tool gibt dem Anwender die Möglichkeit die Laufzeit eines Programms (Tasks) zu messen. Um eine genaue Messung vornehmen zu können wird das Programm 1000 mal durchlaufen.
Beachten Sie bitte, dass die Verarbeitung des Gesamtprozesses für den Zeitraum der Messung unterbrochen wird. Aus diesem Grund sollte diese Messung nur in der Projektierungsphase und niemals im laufenden Betrieb durchgeführt werden!
Es wird hier nur die Laufzeit einer einzelnen Task im iCon-L Zielsystem gemessen. Wählen sie das Programm in der Toolliste. In der Anzeige 1 wird ihnen die gewählte Programmnummer angezeigt.
Starten Sie die Messung durch Klick auf den Schalter . Wurde noch keine Verbindung zum Zielsystem aufgebaut, werden sie aufgefordert dies jetzt zu tun.
Eine laufende Messung kann durch Klick auf den Schalter unterbrochen werden.
Mit Start der Messung wird eine Anforderung an das Zielsystem gesendet, die die normale Abarbeitung des Gesamtprozesses unterbricht und den Messvorgang einleitet. Das Ergebnis wird dann nach der in dem Feld "Verzögerung" eingegebenen Zeitspanne abgefragt. Diese Abfrage erfolgt solange bis ein Ergebnis vorliegt. Für die Verzögerung zwischen den einzelnen Abfragen sind Werte zwischen 1000 und 10000 ms vorgesehen.
Das Verhalten der Laufzeitmessung ist von der Architektur des OS auf dem entsprechenden Gerät abhängig.
Liegt ein echtes Multitaskingsystem vor und wurde die Kommunikation in eine eigenständige Task gelegt, so kann die Ablaufverfolgung der Messung direkt vorgenommen werden, da das Gerät auch während der Messung in der Lage ist zu antworten. In diesem Fall werden in der Anzeige 2 die bereits verarbeiteten Programmdurchläufe (x von 1000) angezeigt (z.B. nach 1000 ms 342 von 1000).
Läuft die Kommunikation und die Programmabarbeitung innerhalb einer Task, so wird durch die Anforderung die Verarbeitung unterbrochen, das Programm 1000 mal durchlaufen und erst danach die Verarbeitung und natürlich auch die Kommunikation wieder aufgenommen. Versucht das AddOn vor Beendigung der 1000 Durchläufe das Ergebnis abzufragen, kann das Gerät nicht antworten. Ist dies der Fall, so wird der Countdown runtergezählt und in der Anzeige 2 angezeigt. Reicht die der Zeitraum der durch den Countdown vorgegeben wird (erwartete Laufzeit*1000 bei einer Verzögerung von 1000 ms) nicht aus, so wird der Countdown erneut gestartet.
Beispiel:
Ein Programm hat eine zu erwartende Laufzeit von 900 ms. Wird als Countdown eine 5 eingegeben und die Verzögerung bei 1000 ms belassen, würde nach Ablauf des Countdowns noch kein Ergebnis vorliegen, da für 1000 Durchläufe 9000 ms benötigt würden. D.h. dass der Countdown ein weiteres mal gestartet würde.
Nach beendeter Messung erfolgt in Anzeige 2 die Ausgabe der Laufzeit des Programms für einen Zyklus.
6.2 Lastmessung
Dieses Tool gibt dem Anwender einen Überblick darüber
- wie oft das Programm innerhalb einer Sekunde aktiviert wird und
- wie oft das Programm innerhalb einer Sekunde komplett durchlaufen wird.
Zusätzlich werden Informationen zu den Echtzeitfehlern in der letzten Sekunde und kumulativ ausgegeben.
Aus den Informationen komplette Programmdurchläufe, eingestellte Zykluszeit für das Programm und Messzeitraum 1 s lässt sich die Zuverlässigkeit der Abarbeitung des Programms ableiten.
Folgendes Beispiel soll dies verdeutlichen:
- eingestellte Zykluszeit: 20 ms
- Messzeitraum (fest): 1 s
Wenn die Abarbeitung des Programms problemlos verläuft, müssen (1000 ms/20 ms) 50 komplette Programmdurchläufe angezeigt werden.
Werden weniger angezeigt, so kommt es auch zur Anzeige von Echtzeitfehlern. Diese deuten darauf hin, dass das Programm zwar aktiviert wurde, aber nicht vollständig abgearbeitet werden konnte. Dies kann daran liegen, dass die Abarbeitung des Programms länger dauert als die Zeitspanne zwischen zwei Aufrufen zulässt (Überprüfung mit der Laufzeitmessung) oder dass das Programm durch andere höherpriore Programme unterbrochen wird.
6.3 Datenmonitor
Die Liste der Datenmonitore ist durch Einfügen (siehe Toolliste) beliebig erweiterbar. Es können Sichten auf die im Zielsystem namentlich reservierten Ressourcen definiert werden. Beim Einfügen einer Sicht wird die Verbindung zu einem Zielsystem abgefragt. Besteht diese nicht, so muss diese hergestellt werden. Danach stehen innerhalb der Toolliste die im Zielsystem reservierten Speicherbereiche zur Auswahl zur Verfügung. Definieren Sie danach den Beginn des Speicherbereiches ab dem sie auslesen wollen (bei Bits werden auch die Subelemente berücksichtigt) und danach die Anzahl der zu lesenden Werte. Beachten Sie, dass eine zu große Anzahl dazu führt, dass die Anforderung der Werte im Zielsystem fehlschlägt und keine gültigen Werte angezeigt werden können.
Die Aktualisierung der Werte wird über die Eingabe der Aktualisierungsrate in 100 ms Schritten realisiert. Auch hier gilt Schnell und Viel ist nicht unbedingt zu empfehlen.
Starten und Stoppen sie das Auslesen der Werte durch Klick auf die Schalter und .