Wenn auf der Steuerung eine Applikation läuft, werden in den Editoren der Programmierbausteine bei Variablen die Istwerte angezeigt. Somit können Sie die Variablenwerte überwachen.
Voraussetzung: In „Tools Optionen“ unter der Kategorie „Texteditor“ in der Registerkarte „Monitoring“ ist die Option „Inline-Monitoring aktivieren“ aktiviert.
-
Laden Sie eine Applikation auf die Steuerung und starten Sie die Applikation.
-
Wählen Sie den Befehl „Debug Darstellung Dezimal“.
Das Darstellungsformat der Istwerte ist eingestellt.
-
Klicken Sie auf ein Programmierobjekt der Ansicht „Geräte“ oder „POUs“.
Der zugehörige Editor öffnet sich. Sowohl in der Deklaration als auch in der Implementierung werden Istwerte der Variablen ständig aktualisiert.
Im Deklarationseditor monitoren

Der Istwert eines Ausdrucks (1) wird in der Spalte „Wert“ (3) angezeigt.
Sie können einen in der Spalte „Vorbereiteter Wert“ (4) eingetragenen Wert schreiben und forcen. Während des Forcen wird der Istwert
mit dem roten Symbol dekoriert.
Der Ausdruck einer Schnittstellenreferenz ist aufklappbar. Wenn die Schnittstelle auf eine globale Instanz zeigt, wird diese globale Instanz als erster Eintrag unter der Referenz angezeigt. Wenn sich danach die Schnittstellenreferenz ändert, klappt die angezeigte Referenz zu.
In der Implementierung monitoren (Inline-Monitoring)
Die Darstellung des aktuellen Variablenwerts in der Implementierung wird als Inline-Monitoring bezeichnet.
Abhängig von der Programmiersprache gibt es folgende Darstellungen im Implementierungsteil:
-
Variablen haben hinter ihrem Namen ein Fenster mit dem aktuellen Wert eingeblendet:
Wenn Sie für Variablen Werte zum Forcen oder Schreiben vorbereitet haben, werden diese innerhalb des Inline-Monitoring-Fensters hinter dem aktuellen Wert in spitzen Klammern dargestellt.
Nach dem Forcen werden die betroffenen Werte mit dem Symbol
gekennzeichnet
-
Netzwerkeditoren und im CFC-Editor:
Verbindungslinien (Signalleitungen) sind entsprechend ihrem booleschen Istwert farblich gekennzeichnet: blau bedeutet
TRUE
, schwarz bedeutetFALSE
. -
KOP-Editor:
Zusätzlich sind die Kontakt- und Spulenelemente gekennzeichnet
Bei Kontakten oder Spulen wird ein vorbereiteter Wert (
TRUE
oderFALSE
) in einem kleinen Fenster neben dem Element angezeigt -
AS-Editor:
Transitionen mit Wert
TRUE
sind entsprechend ihrem booleschen Istwert farblich gekennzeichnet: blau bedeutetTRUE
, schwarz bedeutetFALSE
Aktive Schritte sind blau gekennzeichnet
In der Implementierung sind geforcte Transitionswerte rot gekennzeichnet
-
AWL-Tabelleneditor:
Aktuelle Werte werden in einer eigener Spalte dargestellt
Monitoring im ST-Editor

Monitoring im KOP-Editor

Monitoring im AS-Editor

Sie können die Inline-Monitoring-Funktion hier deaktivieren: „Tools Optionen“, Kategorie „Texteditor“ / „Monitoring“.
Array teilweise monitoren
Ein Array, das aufgeklappt ist, zeigt bei bis zu 1000 Elementen die Istwerte an. Das kann allerdings unübersichtlich sein. Außerdem kann ein Array mehr als 1000 Elemente umfassen. Dann ist es hilfreich, den Bereich der angezeigten Elemente zu begrenzen. Das können Sie während des Onlinebetriebs auf folgende Weise tun.
Monitoringbereich begrenzen
Voraussetzung: Eine Applikation läuft. Darin ist eine mehrdimensionale Arrayvariable
mit mehr als 1000 Elementen deklariert. Beispiel: arrBig : ARRAY [0..100, -9..10, -19..20] OF INT;
-
Klicken Sie bei der Variablen
arrBig
in das Feld der Spalte „Datentyp“.Der Dialog „Monitoringbereich“ öffnet sich.
-
Geben Sie bei „Start“ den Wert
[1, -9, -19]
ein. -
Geben Sie bei „Ende“ den Wert
[1, 10, 20]
ein.Die Istwerte von 800 Arrayelemente werden im Deklarationseditor angezeigt. Der Bereich ist begrenzt auf Elemente des Index
[1, <i>, <j>]
mit i von -9 bis 10 und j von -19 bis 20.
Funktionsbaustein monitoren
Wenn Sie während des Onlinebetriebs die Editoransicht eines Funktionsbausteins doppelklicken, erscheint ein Dialog, in dem Sie zwischen der Ansicht der Basisimplementierung oder einer bestimmten Instanz wählen können.
Wenn Sie die Basisimplementierung wählen, dann erscheint im Editor der Code, ohne dass aktuelle Werte angezeigt werden. Setzen Sie nun in der Basisimplementierung einen Haltepunkt. Wenn die Ausführung dort anhält, werden die aktuellen Werte derjenigen Instanz angezeigt, die im Programmablauf zuerst abgearbeitet wird. Sie können nun sukzessive durch alle Instanzen steppen.
Wenn Sie eine der Instanzen wahlen, dann öffnet der Editor mit dem Code der Funktionsbaustein-Instanz. Die aktuellen Werte werden in der Deklaration und gegebenenfalls in der Implementierung angezeigt und ständig aktualisiert.
Eigenschaft monitoren
Sie können in einem Eigenschaftenobjekt Variablen monitoren, wenn Sie während des Onlinebetriebs einen Haltepunkt in der
Funktion setzen. Wenn dort angehalten wird, werden die aktuellen Werte angezeigt.
Zusätzlich zu den eigenen Werten werden automatisch die Werte der Variablen der übergeordneten
Instanz angezeigt. Im Deklarationsteil der Eigenschaft erscheint nämlich in der
ersten Zeile der Pointer THIS
, der auf die übergeordnete Instanz zeigt, mit den aktuellen Datentypangaben und
Werten.
Beispiel
Code
FUNCTION_BLOCK FB_BaseAlfa VAR iBaseLocal : INT; sBaseLocal : STRING; END_VAR iBaseLocal := iBaseLocal + 1; sBaseLocal := 'Testing Text'; FB_BaseAlfa.PorpBeta.Get iBaseLocal := iBaseLocal + 1; IF iBaseLocal > 0 THEN PropBeta := TRUE; END_IF FB_BaseAlfa.PorpBeta.Set IF PropBeta = TRUE THEN iBaseLocal := 0; sBaseLocal := 'Tested IF'; END_IF PROGRAM PLC_PRG VAR fb_BaseAlfa : FB_BaseAlfa; END_VAR fb_BaseAlfa(); IF fb_BaseAlfa.PropBeta = TRUE THEN xResult := TRUE; END_IF IF xReset THEN fb_BaseAlfa.PropBeta := TRUE; xReset := FALSE; END_IF

Siehe auch
Eigenschaftenzugriff im übergeordneten Programmierobjekt monitoren
Sie können in einem Funktionsbaustein oder Programm zusätzlich zu den Variablenwerten
die Werte von untergeordneten Eigenschaften monitoren.
Fügen Sie dafür in dem untergeordneten Eigenschaftenobjekt in der Deklaration entweder
das Pragma {attribute 'monitoring' = 'variable'}
oder das Pragma {attribute 'monitoring' = 'call'}
ein. Wenn Sie zur Laufzeit die übergeordnete Programminstanz oder übergeordnete
Funktionsbaustein-Instanz öffnen, dann werden im Editor zusätzlich zu den aktuellen
Variablenwerte die aktuellen Eigenschaftenwerte angezeigt.
Methode monitoren
Sie können in einem Methodenobjekt Variablen monitoren, wenn Sie während des Onlinebetriebs einen Haltepunkt in der
Methode setzen. Wenn dort angehalten wird, werden die aktuellen Werte angezeigt.
Zusätzlich zu den eigenen Werten werden automatisch die Werte der Variablen der übergeordneten
Instanz angezeigt. Im Deklarationsteil der Methode erscheint nämlich in der ersten
Zeile der Pointer THIS
, der auf die übergeordnete Instanz zeigt, mit den aktuellen Datentypangaben und
Werten.
Beispiel
Code
FUNCTION_BLOCK FB_BaseAlfa VAR iBaseLocal : INT; sBaseLocal : STRING; END_VAR iBaseLocal := iBaseLocal + 1; sBaseLocal := 'Testing Text'; METHOD MethBaseAlfa : BOOL // Method of FB_BaseAlfa VAR_INPUT END_VAR VAR iMethLocal : INT; END_VAR iMethLocal := iMethLocal + 1; PROGRAM PLC_PRG VAR fb_BaseAlfa : FB_BaseAlfa; END_VAR fb_BaseAlfa(); fb_BaseAlfa.MethBaseAlfa();

Siehe auch
Funktion monitoren
Sie können in einem Funktionsobjekt Variablen monitoren, wenn Sie während des Onlinebetriebs einen Haltepunkt in der Funktion setzen. Wenn dort angehalten wird, werden die aktuellen Werte angezeigt.
Rückgabewert eines Funktionsaufrufs monitoren
Im ST-Editor einer POU wird an der Stelle, an der eine Funktion aufgerufen wird, der aktuelle Rückgabewert als Inline-Monitoring angezeigt.
Dafür muss Folgendes erfüllt sein:
-
Es handelt sich um einen Wert, der als 4-Byte-numerischer Wert interpretiert werden kann. Beispielsweise
INT
,SINT
oderLINT
. -
In der Funktion ist das Pragma
{attribute 'monitoring' := 'call'}
eingefügt.
Siehe auch