Skip to main content

Richiamo del monitoraggio negli oggetti di programmazione

Quando un'applicazione è in esecuzione sul controller, i valori effettivi delle variabili vengono visualizzati negli editor delle POU. In questo modo vengono monitorati i valori delle variabili.

Requisito: il Abilita il monitoraggio in linea l'opzione è selezionata in Strumenti → Opzioni nel Editor di testo categoria sul Monitoraggio scheda.

  1. Scarica un'applicazione sul controller e avviala.

  2. Clic Debug → Modalità di visualizzazione → Decimale.

    Viene impostato il formato di visualizzazione dei valori effettivi.

  3. Fare clic su un oggetto di programmazione in Dispositivi visualizzare o POU Visualizza.

    Si apre l'editor corrispondente. I valori effettivi delle variabili vengono aggiornati continuamente sia per la dichiarazione che per l'implementazione.

Monitoraggio nell'editor di dichiarazioni

_cds_img_declaration_editor_online.png

Il valore effettivo di un'espressione (1) viene visualizzato in Valore colonna (3).

I commenti per una variabile vengono visualizzati nella Commento colonna (6).

Per ulteriori informazioni sulla logica e sulla priorità dei commenti visualizzati, vedere: ST Commenti

Puoi scrivere e forzare un valore in Valore preparato (4) colonna. Durante la forzatura, il valore effettivo viene decorato con un rosso _cds_icon_forced_variable.png simbolo.

L'espressione di un riferimento di interfaccia può essere espansa. Se l'interfaccia punta a un'istanza globale, questa istanza globale viene visualizzata come prima voce sotto il riferimento. Successivamente, se il riferimento dell'interfaccia cambia, il riferimento visualizzato viene compresso.

Monitoraggio nell'attuazione (monitoraggio in linea)

Il monitoraggio in linea è la visualizzazione del valore della variabile corrente nell'implementazione.

A seconda della lingua di implementazione, nella parte di implementazione sono possibili le seguenti visualizzazioni:

  • Le variabili hanno una finestra con _cds_img_ex_inline_monitoring_window.png valore corrente visualizzato dopo il loro nome.

    Se sono stati preparati valori per le variabili per la forzatura o la scrittura, vengono visualizzati tra parentesi angolari nella vista di monitoraggio in linea dopo il valore corrente.

    Dopo la forzatura, i rispettivi valori sono identificati dal _cds_icon_forced_variable.png simbolo.

  • Editor di rete e editor CFC

    Le linee di collegamento sono visualizzate a colori in base al loro valore booleano effettivo (il blu significa TRUE, nero significa FALSE).

  • Editore LD

    Anche gli elementi di contatto e bobina sono contrassegnati.

    Per contatti e bobine, un valore preparato (TRUE o FALSE) viene visualizzato in una piccola vista accanto all'elemento.

  • Editore SFC

    Transizioni con il valore TRUE sono visualizzati a colori in base al loro valore booleano effettivo (il blu significa TRUE, nero significa FALSE).

    I passi attivi sono visualizzati in blu.

    I valori di transizione forzata sono visualizzati in rosso nell'implementazione.

  • Editor di tabelle IL

    I valori correnti vengono visualizzati in una colonna separata.

Esempio 39. Monitoraggio nell'editor ST
_cds_img_inline_monitoring_st.png


Esempio 40. Monitoraggio nell'editor LD
_cds_img_monitoring_in_ld.png


Esempio 41. Monitoraggio nell'editor SFC
_cds_img_monitoring_in_sfc.png


Suggerimento

È possibile disattivare la funzione di monitoraggio in linea in Strumenti → Opzioni, nel Editor di testo categoria, sul Monitoraggio scheda.

Monitoraggio parziale di un array

Un array espanso mostra i valori effettivi per un massimo di 1000 elementi. Tuttavia, questo può creare confusione. Inoltre, un array può contenere più di 1000 elementi. Quindi è utile limitare la gamma di elementi visualizzati. Puoi farlo in modalità online nel modo seguente.

Procedura. Limitazione del campo di monitoraggio

Requisito: un'applicazione è in esecuzione. Contiene una variabile array multidimensionale con più di 1000 elementi.

Esempio: arrBig : ARRAY [0..100, -9..10, -19..20] OF INT;

  1. Fare clic nel campo del Tipo di dati colonna per il arrBig variabile.

    Il Intervallo di monitoraggio si apre la finestra di dialogo.

  2. Specificare il valore [1, -9, -19] per Inizio.

  3. Specificare il valore [1, 10, 20] per Fine.

    I valori effettivi di 800 elementi dell'array vengono visualizzati nell'editor di dichiarazione. L'intervallo è limitato agli elementi dell'indice [1, <i>, <j>] con i da -9 a 10 e j da -19 a 20.

Monitoraggio di un blocco funzione

Quando si fa doppio clic sulla vista dell'editor di un blocco funzione in modalità online, si apre una finestra di dialogo in cui è possibile scegliere se visualizzare l'implementazione di base o un'istanza specifica.

Se si seleziona l'implementazione di base, il codice viene visualizzato nell'editor senza valori correnti. Ora imposta un punto di interruzione nell'implementazione di base. Se l'esecuzione si interrompe in questo punto, vengono visualizzati i valori correnti dell'istanza elaborata per prima nel flusso del programma. Ora puoi scorrere in successione tutte le istanze.

Se si seleziona una delle istanze, l'editor si apre con il codice dell'istanza del blocco funzione. I valori attuali sono visualizzati nella dichiarazione e, se applicabile, nell'implementazione e sono aggiornati continuamente.

Monitoraggio di una proprietà

È possibile monitorare le variabili in a _cds_icon_interface_property.png oggetto della proprietà impostando un punto di interruzione nella funzione durante la modalità online. Quando si è fermati lì, vengono visualizzati i valori correnti.

Oltre ai propri valori vengono visualizzati automaticamente i valori delle variabili dell'istanza sovraordinata. Nella parte dichiarativa della proprietà, il THIS il puntatore, che punta all'istanza sovraordinata, viene visualizzato nella prima riga con le informazioni e i valori sul tipo di dati corrente.

Esempio 42. Esempio

Codice

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
_cds_img_monitoring_property.png


Monitoraggio dell'accesso alla proprietà nell'oggetto di programmazione sovraordinato

È possibile monitorare i valori di subordinato _cds_icon_interface_property.png proprietà in un blocco funzione o in un programma oltre ai valori delle variabili.

Per fare ciò, aggiungi il pragma {attribute 'monitoring' = 'variable'} o {attribute 'monitoring' = 'call'} all'oggetto della proprietà subordinata nella dichiarazione. Se in runtime si apre l'istanza di programma sovraordinata o l'istanza di blocco funzionale, oltre ai valori delle variabili attuali vengono visualizzati nell'editor i valori delle proprietà attuali.

Monitoraggio di un metodo

È possibile monitorare le variabili in a _cds_icon_method.png oggetto del metodo impostando un punto di interruzione nel metodo durante la modalità online. Quando si è fermati lì, vengono visualizzati i valori correnti.

Oltre ai propri valori vengono visualizzati automaticamente i valori delle variabili dell'istanza sovraordinata. Nella parte di dichiarazione del metodo, il THIS il puntatore, che punta all'istanza sovraordinata, viene visualizzato nella prima riga con le informazioni e i valori sul tipo di dati corrente.

Esempio 43. Esempio

Codice

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();
_cds_img_monitoring_method.png


Monitoraggio di una funzione

È possibile monitorare le variabili in un oggetto funzione impostando un punto di interruzione nella funzione durante la modalità online. Quando si è fermati lì, vengono visualizzati i valori correnti.

Monitoraggio del valore di ritorno di una chiamata di funzione

Nell'editor ST di una POU, il valore di ritorno attuale viene visualizzato come monitoraggio inline nella posizione della POU in cui viene richiamata una funzione.

. Devono essere soddisfatte le seguenti condizioni:
  • Il valore può essere interpretato come un valore numerico a 4 byte. Esempio: INT, SINT, o LINT.

  • Il pragma {attribute 'monitoring' := 'call'} viene inserito nella funzione.