Nuovo punto di interruzione... / Nuovo punto di interruzione di dati...

Panoramica

I comandi Debug > Nuovo punto di interruzione... / Debug > Nuovo punto di interruzione di dati... sono disponibili in modalità offline e online, nel contesto di debug e nella vista dei punti di interruzione.

Si apre la finestra di dialogo Nuovo punto di interruzione / Nuovo punto di interruzione di dati. Consente di definire la posizione e le condizioni per un nuovo punto di interruzione o un nuovo punto di interruzione di dati nell'applicazione attiva. In modalità online, è possibile inoltre definire dei punti di esecuzione.

Per poter utilizzare le interruzioni dati, il file di descrizione del dispositivo deve includere valori di destinazione che corrispondono al controller.

Vedere anche le corrispondenti funzioni nella finestra di dialogo Punti di interruzione .

Per impostare un punto di interruzione in corrispondenza della posizione del cursore, vedere il comando Imposta/Rimuovi punto di interruzione.

Scheda Posizione della finestra di dialogo Nuovo punto di interruzione

Elemento

Descrizione

POU:

L'elenco di selezione contiene le POU disponibili nell'applicazione attiva. Selezionare quella desiderata per l'impostazione del punto di interruzione.

Posizione:

L'elenco di selezione presenta le possibili posizioni dei punti di interruzione della POU selezionata. A seconda del tipo di editor, le posizioni sono definite dai numeri di riga e colonna (editor di testo) o da numeri di rete o di elementi (editor grafici). In caso di un blocco funzione, viene aggiunto anche (Impl). Decidere se impostare il punto di interruzione nell'implementazione o nell'istanza. Se è necessario impostarlo durante l'implementazione, lasciare l'opzione Percorso istanza deselezionata. Se deve essere impostato in un'istanza, selezionare l'opzione Percorso istanza per selezionare l'istanza.

Istanze:

Se la POU selezionata è un blocco funzione e questa opzione è disattivata, il punto di interruzione viene impostato nel corpo di implementazione della POU (vedere l’elemento Posizione). Per impostare il punto di interruzione in un'istanza, attivare l'opzione e selezionare l'istanza.

Scheda Condizione della finestra di dialogo Nuovo punto di interruzione

La scheda Condizione consente di definire le condizioni che provocano l'arresto dell'esecuzione del programma in corrispondenza del punto di interruzione:

Elemento

Descrizione

Attività:

Interrompere solo quando il punto di interruzione viene raggiunto in uno dei seguenti task:

Selezionare quest'opzione se il punto di interruzione deve essere attivo solo se la POU in cui si trova è elaborata da determinati task. In questo modo si imposta l'arresto di un task specifico al punto di interruzione all'interno della POU e non in altri task che utilizzano la stessa POU. Consultare Punti di interruzione e funzionamento passo-passo nelle applicazioni con task multipli. I task definiti nel progetto verranno elencati per la selezione.

Conteggio risultati:

Interrompi sempre:

Il programma si interrompe sempre al punto di interruzione.

In alternativa:

Il programma non si arresta al punto di interruzione finché questo non è stato raggiunto il numero di volte definito (immettere il numero desiderato o selezionarlo nel campo numerico):

  • Interrompere quando il conteggio dei risultati è uguale a

  • Interrompere quando il conteggio dei risultati è un multiplo di

  • Interrompere quando il conteggio dei risultati è maggiore di o uguale a

Condizione

Interruzione, se TRUE

Se supportato dal sistema runtime, è possibile utilizzare punti di interruzione condizionali. Consultare la Guida alla programmazione del controller specifico per vedere se supporta i punti di interruzione condizionali. La condizione può essere specificata soltanto in modalità online.

La condizione specificata viene valutata. Solo se il risultato è TRUE, il programma si arresta in questo punto di interruzione e il codice del punto di esecuzione viene eseguito. È possibile immettere espressioni booleane valide come condizione.

Esempio:

x>100, x[y]=z, a AND b, boolVar
NOTA: L'uso di punti di interruzione condizionali rallenta l'esecuzione del codice anche se la condizione non è TRUE.

Scheda Dati della finestra di dialogo Nuovo punto di interruzione di dati

La scheda Dati consente di modificare la variabile per la quale è impostato un nuovo punto di interruzione dati:

Elemento

Descrizione

Interrompere l'esecuzione quando il valore della variabile indicata viene modificato

  • Immettere un nome di variabile valido.

  • Selezionare una variabile dalla finestra di dialogo Accesso facilitato (categoria Variabili di controllo).

Capacità

Numero di byte della variabile specificata o dell'indirizzo di memoria monitorato.

Quando si specifica una nuova variabile o un nuovo indirizzo di memoria, viene assegnato un valore che corrisponde al tipo di dati.

Le dimensioni massime e il numero di punti di interruzione dati dipendono dal sistema di destinazione:

Esempio 1: 4 per il tipo di dati DWORD

Esempio 2: 2 per il tipo di dati DWORD: Vengono monitorati i primi due byte della variabile.

Scheda Impostazioni del punto di esecuzione della finestra di dialogo Nuovo punto di interruzione

Elemento

Descrizione

Punto di esecuzione (l'esecuzione non si arresta al punto di interruzione)

Il punto di interruzione diventa un punto di esecuzione. Questo significa che l'elaborazione non viene interrotta in questo punto, ma viene eseguito il codice specificato.

Punto di esecuzione attivato:

Punto di esecuzione disattivato:

Punto di esecuzione di un punto di interruzione dati attivato:

Punto di esecuzione di un punto di interruzione dati disattivato:

Eseguire il codice seguente

Specificare il codice da eseguire.

Si applicano le seguenti limitazioni:

  • Dimensioni codice < 1200 byte

  • Nessuna istruzione condizionale, costruzioni loop (IF, CASE, FOR, WHILE)

  • Nessuna chiamata di blocchi funzione

  • Nessuna chiamata di metodi

  • Nessuna operazione bit con operatori AND, OR, NOT

  • Nessuna moltiplicazione e divisione con tipi di dati diversi da INT

  • Nessuna chiamata di proprietà in istanze di tipo interfaccia

Vale inoltre la seguente restrizione:

Le funzioni e le proprietà richiamate devono soddisfare almeno una delle due condizioni seguenti:

1. Nella finestra di dialogo Visualizza > Proprietà > Compila, l'opzione Abilita chiamate di sistema è attivata.

2. Il seguente attributo viene aggiunto sopra la dichiarazione della funzione/proprietà: {attribute 'monitoring' := 'call'}.

Stampare un messaggio nel registro del dispositivo

Questa opzione è disponibile se Abilita registrazione in punti di interruzioni è selezionata nella finestra di dialogo Impostazioni progetto > Opzioni del compilatore. Se il messaggio deve contenere il valore corrente di una variabile, inserire il nome della variabile tra parentesi graffe.

Esempio:

Il valore attuale della variabile iCount è: {iCount}.

Attivar il punto di interruzione immediatamente

Selezionare l'opzione Attivar il punto di interruzione immediatamente per attivare il punto di interruzione.

Deselezionare l'opzione Attivar il punto di interruzione immediatamente per disattivare il punto di interruzione. Per attivare il punto di interruzione in seguito, fare clic sul pulsante nella vista Punti di interruzione.