Editor ST in modalità online

Panoramica

In modalità online, l'editor di testo strutturato (editor ST) fornisce le viste per il monitoraggio e per la scrittura e la forzatura di variabili ed espressioni sul controller. La funzionalità di debug (punti di interruzione, funzionamento passo passo e così via) è disponibile. Vedere Posizioni dei punti di interruzione nell'editor ST.

Monitoraggio

Se l'opzione Attivare il monitoraggio in linea è attivata nella scheda Monitoraggio della finestra di dialogo Strumenti > Opzioni > Editor di testo, dietro ogni variabile che mostra il valore effettivo vengono visualizzate piccole caselle di monitoraggio.

Vista online di un oggetto di programma PLC_PRG con monitoraggio:

Forzatura delle variabili

Oltre alla possibilità di immettere un valore preparato per una variabile nella dichiarazione di qualsiasi editor, l'editor ST permette di fare doppio clic con il mouse sulla casella di monitoraggio di una variabile nella parte di implementazione (in modalità online). Immettere il valore preparato nella finestra di dialogo visualizzata.

 AVVERTIMENTO
FUNZIONAMENTO IMPREVISTO DELL'APPARECCHIATURA
  • Occorre capire perfettamente in che modo la forzatura avrà effetto sulle uscite relative ai task in corso di esecuzione.
  • Non provare a forzare gli I/O contenuti nei task per i quali non si conosce il periodo di esecuzione esatto, tranne se lo scopo è che la forzatura abbia luogo alla successiva esecuzione del task, in qualunque momento venga effettuata.
  • Se si forza un'uscita e non se ne vedono gli effetti sull'uscita fisica, non uscire dalla modalità in linea senza rimuovere la forzatura.
  • Se la modalità in linea è stata interrotta mentre la forzatura era attiva, ristabilire la connessione con il controller e rimuovere la forzatura.
Il mancato rispetto di queste istruzioni può provocare morte, gravi infortuni o danni alle apparecchiature.

Finestra di dialogo Prepara valore

Sono riportati il nome della variabile con il relativo percorso nella Struttura dispositivi (Espressione), il tipo e il valore corrente.

Attivando la voce corrispondente, è possibile scegliere tra le seguenti opzioni:

  • Preparare un nuovo valore da immettere nel campo di modifica.

  • Eliminare un valore preparato.

  • Rilasciare la variabile forzata

  • Rilasciare la variabile forzata e reimpostarla sul valore assegnato prima della forzatura

Per eseguire l'azione selezionata, eseguire il comando Debug > Forza valori (voce Online) o premere F7.

Posizioni dei punti di interruzione nell'editor ST

È possibile impostare un punto di interruzione fondamentalmente nelle posizioni di una POU dove i valori delle variabili possono cambiare, dove il flusso del programma presenta delle derivazioni o dove viene richiamata un'altra POU. Nelle descrizioni che seguono, {BP} indica una possibile posizione di un punto di interruzione.

Assegnazione:

All'inizio della riga. Tenere presente che le assegnazioni come espressioni non definiscono ulteriori posizioni dei punti di interruzione in una riga..

Loop FOR:

  1. Prima dell'inizializzazione del contatore

  2. Prima del test del contatore

  3. Prima di un'istruzione

{BP} FOR i := 12 TO {BP} x {BP} BY 1 DO
{BP} [statement1]
...
{BP} [statementn-2]
END_FOR

Loop WHILE:

  1. Prima di verificare la condizione

  2. Prima di un'istruzione

{BP} WHILE i < 12 DO
{BP} [statement1]
...
{BP} [statementn-1]
END_WHILE

Loop REPEAT:

  • Prima di verificare la condizione

REPEAT
{BP} [statement1]
...
{BP} [statementn-1]
{BP} UNTIL i >= 12
END_REPEAT

Chiamata di un programma o di un blocco funzione:

all'inizio della riga.

{{BP} POU( );

Alla fine di un POU:

Quando il funzionamento è passo-passo, questa posizione viene raggiunta anche dopo un'istruzione RETURN.

Visualizzazione dei punti di interruzione in ST

Punto di interruzione in modalità online

Punto di interruzione disattivato

Arresto del programma a un punto di interruzione

NOTA: Verrà impostato automaticamente un punto di interruzione in tutti i metodi che possono essere chiamati. Se viene richiamato un metodo gestito da interfaccia, i punti di interruzione verranno impostati in tutti i metodi dei blocchi funzione che implementano tale interfaccia e in tutti i blocchi funzione derivati iscritti a tale metodo. Se un metodo viene richiamato mediante un puntatore su un blocco funzionale, i punti di interruzione verranno impostati nel metodo del blocco funzionale e in tutti i blocchi funzione derivati iscritti a tale metodo.