Attribute monitoring

Panoramica

Questo attributo pragma permette di monitorare i risultati delle proprietà e delle chiamate di funzioni nella vista online dell'editor IEC o in una lista di monitoraggio.

Monitoraggio delle proprietà

Aggiungere il pragma nella riga sopra la definizione della proprietà. A questo punto il nome, il tipo e il valore delle variabili della proprietà verranno visualizzati nella vista online della POU mediante la proprietà o in un elenco di controllo. Qui si possono anche immettere valori preparati per forzare le variabili appartenenti alla proprietà.

Esempio di proprietà preparata per il monitoraggio delle variabili

Variables_Declaration00369.jpg

 

 

Esempio di vista di monitoraggio

Variables_Declaration00370.jpg

 

 

Monitoraggio del valore corrente delle variabili della proprietà

Vi sono due modi diversi per monitorare il valore corrente delle variabili della proprietà. Per il caso d'uso particolare, considerare attentamente l'attributo adatto per ottenere il valore desiderato. Questo dipende dal fatto che le operazioni sulle variabili siano implementate o meno nella proprietà.

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

Viene creata una variabile implicita per la proprietà, che otterrà il valore della proprietà corrente ogni volta che l'applicazione richiama il metodo set o get. Verrà monitorato l'ultimo valore memorizzato in questa variabile implicita.

Sintassi

{attribute 'monitoring':='variable'}

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

Si può utilizzare questo attributo per le proprietà che restituiscono tipi di dati o puntatori semplici, non per tipi strutturati.

Il valore da monitorare viene letto o scritto da una chiamata diretta della proprietà: il servizio di monitoraggio del sistema runtime esegue il metodo Get o Set della funzione proprietà comprendente la parte di implementazione della proprietà.

NOTA: Quando si sceglie questo tipo di monitoraggio invece di utilizzare una variabile intermedia (vedere 1. Pragma), considerare i possibili effetti collaterali dovuti ad operazioni implementate nella proprietà.

NOTA: Anche il pragma monitoring viene valutato dalla configurazione simboli. Se è stato specificato il valore variable, è disponibile solo un accesso in lettura alla proprietà nella configurazione simboli.

Sintassi

{attribute 'monitoring':='call'}

Monitoraggio dei risultati della chiamata della funzione

Si può utilizzare il monitoraggio dei risultati della chiamata della funzione per qualsiasi valore costante che può essere interpretato come valore numerico di 4 byte (ad esempio, INT, SHORT, LONG). Per gli altri parametri di ingresso (ad esempio, BOOL), usare una variabile anziché un parametro costante. Aggiungere il pragma {attribute 'monitoring':='call'} nella riga sopra la dichiarazione della funzione. A questo punto questa variabile può essere monitorata nella vista dell'editor di testo del POU nel quale a una variabile viene assegnato il risultato della chiamata di funzione. È possibile anche inserire la variabile in una lista di monitoraggio allo stesso scopo. Per recuperare la variabile fornita immediatamente con una vista di monitoraggio, eseguire il comando Add watchlist.

Esempio 1: funzioni FUN2 e FUN_BOOL2 con attributo 'monitoring'

Variables_Declaration00371.jpg

 

 

Esempio 2: chiamata di funzioni FUN2 e FUN_BOOL2 in una POU di programma

Variables_Declaration00372.jpg

 

 

Esempio 3: chiamate di funzione in modalità online:

Variables_Declaration00373.jpg

 

 

Monitoraggio di variabili con una chiamata implicita di una funzione esterna

Per poter monitorare le variabili con una chiamata implicita di una funzione esterna, devono essere soddisfatte le seguenti condizioni:

oLa funzione è contrassegnata con {attribute 'monitoring' := 'call'}.

oLa funzione è contrassegnata come Collega sempre.

oLa variabile è contrassegnata con {attribute 'monitoring_instead' := 'MyExternalFunction(a,b,c)'}.

oI valori a,b,c sono valori interi e corrispondono ai parametri di ingresso della funzione da chiamare.

NOTA: La forzatura o la scrittura di funzioni non è supportata. Si può implementare implicitamente la forzatura aggiungendo un ulteriore parametro di ingresso per la funzione particolare che serve da flag di forzatura interno.

NOTA: Il monitoraggio delle funzioni non è possibile sul sistema di runtime compact.