La versione 1.1 di EcoStruxure Machine Expert non supporta i controllori M258, LMC058 e LMC078.

Debug

Panoramica

Per valutare possibili errori di programmazione, utilizzare la funzionalità di debug.

Per scopi di test, un'applicazione può anche essere eseguita in simulazione senza alcun collegamento richiesto a un dispositivo di destinazione effettivo. La simulazione evita di doversi collegare all'hardware fisico, tuttavia pone alcune limitazioni che possono rendere necessario completare il debug in modalità online.

Punti di interruzione per forzare arresti dell'esecuzione

Un punto di interruzione impostato in un programma applicativo interrompe l'esecuzione del programma. I valori variabili possono essere quindi visti al punto di esecuzione corrente. È possibile determinare la posizione corrente più precisamente tramite lo Stack di chiamate.

Viene arrestato solo il task di debug che ha appena raggiunto il punto di interruzione. Gli altri task continuano l'esecuzione. Le possibili posizioni dei punti di interruzione dipendono dal rispettivo editor di programma. In ogni caso, un punto di interruzione è presente al termine di ogni POU.

NOTA: Gli ingressi/le uscite gestiti dal task di debug non vengono aggiornati quando sono arrestati al punto di interruzione. Ciò si verifica anche se l'opzione Aggiorna I/O in stop è abilitata nella scheda Impostazioni PLC dell'editor del dispositivo.

Per una descrizione dei comandi riguardanti i punti di interruzione, vedere il capitolo Comandi dei punti di interruzione. La finestra di dialogo Punti di interruzione fornisce una panoramica di tutti i punti di interruzione e permette di aggiungerli, rimuoverli e modificarli.

Punti di interruzione condizionati

L'arresto al punto di interruzione può dipendere dalle condizioni seguenti:

oDal momento, un'espressione specifica booleana è TRUE.

oDal numero di ciclo in esecuzione.

oDal task in esecuzione.

oQuando il valore di una variabile viene modificato (punto di interruzione dati).

La dichiarazione di uno specifico task di debug può impedire che più task siano interessati dal controllo errori (vedere il paragrafo Punti di interruzione e funzionamento passo passo nelle applicazioni con task multipli).

Punti di esecuzione

In modalità online, la finestra di dialogo Punti di interruzione consente di modificare un punto di interruzione e il punto di interruzione dati in modo da trasformarlo in punto di esecuzione. Il programma quindi non si interrompe nella posizione, ma viene avviata l'elaborazione del codice.

Simboli

Simbolo

Descrizione

G-SE-0027508.1.gif-high.gif

 

 

Punto di interruzione attivato.

G-SE-0027507.1.gif-high.gif

 

 

Punto di interruzione disattivato.

G-SE-0061272.1.gif-high.gif

 

 

Il punto di interruzione viene impostato in un'altra istanza del blocco funzione aperto nell'editor.

G-SE-0027505.1.gif-high.gif

 

 

Stop al punto di interruzione.

G-SE-0061274.1.gif-high.gif

 

 

Punto di interruzione condizionale attivato.

G-SE-0061273.1.gif-high.gif

 

 

Punto di interruzione condizionale disattivato.

G-SE-0043248.1.gif-high.gif

 

 

Punto di esecuzione attivato.

G-SE-0043249.1.gif-high.gif

 

 

Punto di esecuzione disattivato.

G-SE-0061276.1.gif-high.gif

 

 

Punto di esecuzione condizionale attivato.

G-SE-0061275.1.gif-high.gif

 

 

Punto di esecuzione condizionale disattivato.

G-SE-0027506.1.gif-high.gif

 

 

Posizione del passo corrente.

Indicata da una freccia gialla prima della relativa riga e da un'ombreggiatura gialla dietro l'operazione interessata.

G-SE-0068752.1.gif-high.gif

 

 

Punto di interruzione dati attivato.

G-SE-0068751.1.gif-high.gif

 

 

Punto di interruzione dati disattivato.

G-SE-0068755.1.gif-high.gif

 

 

Stop al punto di interruzione dati.

G-SE-0068754.1.gif-high.gif

 

 

Punto di esecuzione dati attivato.

G-SE-0068753.1.gif-high.gif

 

 

Punto di esecuzione dati disattivato.

G-SE-0068756.1.gif-high.gif

 

 

Stop al punto di esecuzione dati.

G-SE-0068750.1.gif-high.gif

 

 

Punto di esecuzione dati condizionale attivato.

G-SE-0068749.1.gif-high.gif

 

 

Punto di interruzione dati condizionale attivato.

Funzionamento passo passo nel programma

Il funzionamento passo-passo permette un'esecuzione controllata di un programma applicativo in modalità online, a scopi di debug. Prima di poter utilizzare i comandi passo passo, il programma deve essere arrestato a un passo definito, ad esempio impostando un punto di interruzione. Fondamentalmente, si passa un passo alla volta da un'istruzione all'altra, eseguendo l'istruzione, passando all'istruzione successiva o uscendo da un'istruzione. Per una descrizione dei comandi passo-passo, vedere il capitolo Comandi relativi ai punti di interruzione.

EcoStruxure Machine Expert fornisce le seguenti funzioni passo-passo:

oComando Esegui istruzione: esecuzione di un singolo passo; valido anche per le POU chiamate in un passo.

oComando Esegui istruzione/routine: esecuzione di un singolo passo; le POU vengono eseguite completamente in un passo.

oComando Esci da istruzione/routine: se il programma applicativo non contiene chiamate, viene eseguito un salto indietro all'inizio dell'applicazione.

oComando Esegui fino a cursore: esecuzione del programma fino a una posizione definibile temporaneamente.

oComando Definire l’istruzione seguente: definizione dell'istruzione successiva da eseguire.

oComando Visualizza istruzione seguente: salto all'istruzione da eseguire nel passo seguente.

oVista Stack di chiamata: questa vista indica la posizione del passo correntemente raggiunto con il percorso completo di chiamata.

Le possibili posizioni di stop durante il funzionamento passo passo in un programma applicativo dipendono dal tipo di editor. La posizione corrente è indicata dalla freccia gialla.

La vista Struttura di chiamata mostra la posizione del blocco funzione nella struttura di chiamata di un programma applicativo anche prima di compilare l'applicazione.

Esempio di esecuzione di un'istruzione

A partire dal punto di interruzione, è possibile eseguire ogni singola riga di comando con il comando passo-passo.

Esegui istruzione, esempio

G-SE-0027225.1.gif-high.gif

 

 

Punti di interruzione dati

I punti di interruzione dati consentono di arrestare l'esecuzione di un programma quando il valore di una variabile cambia.

La funzione non è disponibile per tutti i controller supportati. Consultare la Guida alla programmazione del controller specifico.

Il numero di punti di interruzione dati definibili dipende dal numero di registri disponibili nel controller in uso. Quando si tenta di impostare un punto di interruzione dati ma è stato raggiunto il numero massimo, viene visualizzato un messaggio.

Sono disponibili le opzioni seguenti per i punti di interruzione dati come per i punti di interruzione normali:

oCollegamento all'arresto nel punto di interruzione dati a una condizione aggiuntiva, consultare Punti di interruzione condizionali.

oRidefinizione di un punto di interruzione dati a un punto di esecuzione dati dove il programma non si arresta, ma elabora codice specifico, consultare Punti di esecuzione.

Punti di interruzione e funzionamento passo-passo nelle applicazioni con task multipli

Non è possibile eseguire il debug su più task alla volta. Mentre si lavora su un task con punti di interruzione o funzionamento passo-passo, i punti di interruzione vengono ignorati in altri task.

Se un punto di interruzione può essere raggiunto da più task, perché la POU è utilizzata da vari task, viene interrotto solo il task avviato per primo. Tenere presente questo aspetto in caso di funzionamento passo-passo singolo o se si continua il debug dopo un arresto. Se si desidera che venga interessato solo un task (task di debug), è possibile specificarlo nelle proprietà delle condizioni del punto di interruzione (finestra di dialogo Punti di interruzione > Nuovo punto di interruzione, scheda Condizione).

Controllo di flusso per visualizzare i valori esatti durante l'elaborazione

È possibile attivare il controllo di flusso per tenere traccia di parti dell'applicazione già eseguite. Rispetto al monitoraggio standard, che visualizza solo il valore variabile tra due cicli, il controllo di flusso rende il valore per ogni passo di elaborazione nel momento in cui viene reso. Consultare inoltre la descrizione del Controllo di flusso nella Guida online dei comandi di menu.

Valori delle variabili all'arresto dell'esecuzione

A ogni arresto dell'esecuzione, EcoStruxure Machine Expert visualizza i valori delle variabili nel ciclo corrente (monitoraggio). Per determinare la posizione corrente, è possibile visualizzare lo stack di chiamata di una variabile. Consultare inoltre la descrizione dello Stack di chiamate nella Guida online dei comandi di menu.