Tipi di task

Introduzione

La sezione seguente descrive i vari tipi di task disponibili per il programma, oltre a una descrizione delle loro caratteristiche.

Task ciclico

A un task ciclico viene assegnata una durata del ciclo fissa mediante l'impostazione Intervallo nella sezione Tipo della sottoscheda Configurazione per il task in questione. Ogni tipo di task ciclico viene eseguito come indicato di seguito:

G-SE-0006869.1.gif-high.gif

 

 

1. Lettura ingressi: gli stati degli ingressi fisici vengono scritti nelle variabili della memoria ingressi %I e poi vengono eseguite altre operazioni di sistema.

2. Elaborazione del task: viene elaborato il codice utente (POU, ecc.) definito nel task. Le variabili della memoria di uscita %Q sono aggiornate in base alle istruzioni del loro programma applicativo non ancora scritte nelle uscite fisiche durante questa operazione.

3. Scrittura uscite: le variabili della memoria di uscita %Q sono modificate con qualunque forzatura che è stata definita; tuttavia, la scrittura delle uscite fisiche dipende dal tipo di uscita ed istruzioni utilizzate.

Per ulteriori informazioni sulla definizione del task ciclo bus, vedere EcoStruxure Machine Expert - Guida alla programmazione e Impostazioni di Modicon M258 Logic Controller.

Per ulteriori informazioni sul comportamento degli I/O, vedere la sezione Descrizione dettagliata degli stati del controller.

4. Tempo intervallo rimanente: il firmware del controller esegue l'elaborazione del sistema e qualsiasi altro task a priorità più bassa.

NOTA: Se si definisce un periodo troppo breve per un task ciclico, esso viene ripetuto immediatamente dopo la scrittura sulle uscite e senza eseguire task di priorità più bassa o altre elaborazioni del sistema. Ciò influisce sull'esecuzione di tutti i task, provoca il superamento dei limiti del watchdog del sistema e la generazione di un'eccezione del watchdog del sistema.

Task a esecuzione libera

I task a esecuzione libera non hanno una durata fissa. In modalità a esecuzione libera, ciascuna scansione del task inizia quando la scansione precedente è stata completata e dopo un breve periodo di elaborazione del sistema. Ogni tipo di task a esecuzione libera viene eseguito come indicato di seguito:

G-SE-0006870.1.gif-high.gif

 

 

1. Lettura ingressi: gli stati degli ingressi fisici vengono scritti nelle variabili della memoria ingressi %I e poi vengono eseguite altre operazioni di sistema.

2. Elaborazione del task: viene elaborato il codice utente (POU, ecc.) definito nel task. Le variabili della memoria di uscita %Q sono aggiornate in base alle istruzioni del loro programma applicativo non ancora scritte nelle uscite fisiche durante questa operazione.

3. Scrittura uscite: le variabili della memoria di uscita %Q sono modificate con una forzatura definita dell'uscita; tuttavia, la scrittura delle uscite fisiche dipende dal tipo di uscita e dalle istruzioni utilizzate.

Per ulteriori informazioni sulla definizione del task ciclo bus, vedere EcoStruxure Machine Expert - Guida alla programmazione e Impostazioni di Modicon M258 Logic Controller.

Per ulteriori informazioni sul comportamento degli I/O, vedere la sezione Descrizione dettagliata degli stati del controller.

4. Elaborazione del sistema: il firmware del controller esegue l'elaborazione del sistema e qualsiasi altro task a priorità più bassa (ad esempio: gestione HTTP, gestione Ethernet, gestione parametri).

NOTA: Se si desidera definire l'intervallo del task, consultare Task ciclico.

Task evento

Questo tipo di task è gestito da evento e avviato da una variabile del programma. Inizia sul fronte di salita della variabile booleana associata all'evento trigger, a meno che non sia presente un task con precedenza a priorità più alta. In questo caso, il task evento si avvia in base alle assegnazioni di priorità dei task.

Ad esempio, se è stata definita una variabile chiamata my_Var e si desidera assegnarla ad un Evento, procedere nel seguente modo:

Passaggio

Azione

1

Fare doppio clic su TASK nella Struttura Applicazioni.

2

Selezionare Evento dall'elenco Tipo nella schermata Configurazione.

3

Fare clic sul pulsante Accesso facilitato G-SE-0029549.2.gif-high.gif a destra del campo Evento.

Risultato: viene visualizzata la finestra Accesso facilitato.

4

Spostarsi nella struttura della finestra di dialogo Accesso facilitato per trovare e assegnare la variabile my_Var.

NOTA: La massima frequenza ammissibile perché l'evento attivi un task evento è 100 Hz.

Task evento esterno

Questo tipo di task è gestito da evento e avviato dal rilevamento di un evento funzione hardware o correlato all'hardware. Viene avviato quando si verifica un evento, a meno che sia presente un task con priorità più alta. In questo caso, il task evento esterno si avvia in base alle assegnazioni di priorità dei task.

Ad esempio, un task evento esterno può essere associato a un evento di arresto HSC. Per associare l'evento BLOCK0_HSCSTOP a un task evento esterno, selezionarlo dall'elenco a discesa Evento esterno nella scheda Configurazione.

A seconda del controller, ci sono fino a 4 tipi di eventi che possono essere associati con un task evento esterno:

oFronte di salita su un ingresso avanzato (DI0...DI7)

oSoglie HSC

oArresto HSC

oSincronizzazione CAN

NOTA: CAN Sync è un oggetto evento specifico che dipende dalla configurazione del gestore CANopen. Se Generazione Sync è attivata nel Gestore CANopen, un task CANx_Sync associato viene creato automaticamente nella configurazione del task.

NOTA: La massima frequenza ammissibile perché l'evento attivi un task Evento è 100 HZ.