Attribute monitoring

Überblick

Mit diesem Attribut-pragma können Eigenschaften abgerufen und die Ergebnisse von Funktionaufrufen in der Online-Ansicht des IEC-Editors oder in einer Überwachungsliste überwacht werden.

Überwachen von Eigenschaften

Fügen Sie das pragma in der Zeile über der Eigenschaftsdefinition ein. Anschließend werden in der Online-Ansicht der POU, die die Eigenschaft verwendet, bzw. in einer Überwachungsliste der Name, Typ und Wert der Variablen der Eigenschaft angezeigt. Dort können auch Werte für das Forcen der Eigenschaften-Variablen vorbereitet werden.

Beispiel einer für die Variablenüberwachung vorbereiteten Eigenschaft

G-SE-0071911.1.gif-high.gif

 

 

Beispiel für eine Überwachungsansicht

G-SE-0023643.2.gif-high.gif

 

 

Überwachung des aktuellen Werts der Eigenschaftenvariablen

Für die Überwachung ders aktuellen Werts der Eigenschaften-Variablen sind zwei Möglichkeiten gegeben. Im jeweiligen Anwendungsfall muss sorgfältig erwogen werden, welches Attribut geeignet ist, den gewünschten Wert anzuzeigen. Das hängt davon ab, ob innerhalb der Eigenschaft weitere Operationen mit den Variablen implementiert sind.

1. Pragma {attribute 'monitoring':='variable'}

Eine implizite Variable wird für die Eigenschaft erstellt, die bei jedem Aufruf Set- oder Get-Methode durch die Anwendung den aktuellen Eigenschaftenwert erhält. Der aktuelle Wert dieser impliziten Variablen wird überwacht.

Syntax

{attribute 'monitoring':='variable'}

2. Pragma {attribute 'monitoring':='call'}

Dieses Attribut kann nur für Eigenschaften verwendet werden, die einfache Datentypen oder Zeiger zurückgeben, nicht für strukturierte Typen.

Der zu überwachende Wert wird über einen direkten Eigenschaftsaufruf gelesen oder geschrieben: Der Überwachungsdienst des Laufzeitsystems führt die Methode Get oder Set der Eigenschaftsfunktion aus, einschließlich des Implementierungsteils der Eigenschaft.

HINWEIS: Wenn Sie diesen Überwachungstyp an Stelle einer intermediären Variablen auswählen (siehe 1.Pragma), müssen Sie die möglichen Nebenwirkungen aufgrund von in der Eigenschaft implementierten Operationen in Betracht ziehen.

HINWEIS: Das pragma monitoring wird ebenfalls von der Symbolkonfiguration ausgewertet. Wenn der Wert variable angegeben wurde, kann nur im Lesemodus (Schreibschutz) auf die Eigenschaft in der Symbolkonfiguration zugegriffen werden.

Syntax

{attribute 'monitoring':='call'}

Überwachung der Ergebnisse von Funktionsaufrufen

Sie können die Funktionaufrufüberwachung für konstante Werte verwenden, die als numerische 4-Byte-Werte interpretiert werden können (z. B. INT, SHORT, LONG). Für alle anderen Eingangs­parameter (z. B. BOOL) ist eine Variable an Stelle eines Konstantenparameters zu verwenden. Das pragma {attribute 'monitoring':='call'} muss in der Zeile über der Funktionsde­klaration eingefügt werden. Anschließend kann diese Variable in der Texteditoransicht der Online-Ansicht der POU überwacht werden, in der eine Variable das Ergebnis eines Funktionsaufrufe zugewiesen wird. Zu demselben Zweck können Sie auch eine Variable zu einer Überwachungsliste hinzufügen. Mit dem Befehl Überwachungsansicht einfügen kann eine Variable direkt aus einer Überwachungsansicht abgerufen werden.

Beispiel 1: Funktionen FUN2 und FUN_BOOL2 mit dem Attribut 'monitoring'

G-SE-0023649.2.gif-high.gif

 

 

Beispiel 2: Aufruf der Funktionen FUN2 und FUN_BOOL2 in einer Programm-POU

G-SE-0023650.2.gif-high.gif

 

 

Beispiel 3: Funktionsaufrufe im Online-Modus:

G-SE-0023651.2.gif-high.gif

 

 

Überwachung von Variablen mit einem impliziten Aufruf einer externen Funktion

Für die Überwachung von Variablen mit einem impliziten Aufruf einer externalen Funktion müssen folgende Bedingungen erfüllt sein:

oDie Funktion ist mit dem Attribut {attribute 'monitoring' := 'call'} gekennzeichnet.

oDie Funktion ist als Immer binden markiert.

oDie Variable ist mit dem Attribut {attribute 'monitoring_instead' := 'MyExternalFunction(a,b,c)'}. gekennzeichnet.

oDie Werte a,b,c sind ganzzahlige Werte und stimmen mit den Eingangsparametern des Funktionsaufrufs überein.

HINWEIS: Das Forcieren und Schreiben von Funktionen wird nicht unterstützt. Das Forcieren kann durch Hinzufügen eines Eingangsparameter für die Funktion implementiert werden, die als interne Force-Flag dient.

HINWEIS: Auf dem kompakten Laufzeitsystem ist die Funktionsüberwachung nicht möglich.