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. Ingressi di lettura: gli stati dell'ingresso fisico sono scritti nelle variabili della memoria di ingresso %I e 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 non ancora scritte nelle uscite fisiche durante questa operazione.

3. Scrittura uscite: le variabili della memoria di uscita %Q sono modificate con qualunque forzatura uscite 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 SoMachine - Guida alla programmazione e Impostazioni di Magelis SCU HMI 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.

NOTA: Il tempo di ciclo del task viene impostato su un valore maggiore o uguale a 4 ms e l'intervallo del task è un multiplo di 4 ms.

NOTA: Si può ottenere e impostare l'intervallo di un task ciclico tramite l'applicazione usando le funzioni GetCurrentTaskCycle e SetCurrentTaskCycle. (Per ulteriori dettagli, fare riferimento alla Toolbox Advance Library Guide).

Task a esecuzione libera

I task a esecuzione libera non hanno una durata fissa. Nella modalità a esecuzione libera, ogni scansione del task inizia al termine della scansione precedente 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. Ingressi di lettura: gli stati dell'ingresso fisico sono scritti nelle variabili della memoria di ingresso %I e 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 non ancora scritte nelle uscite fisiche durante questa operazione.

3. Scrittura delle 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 SoMachine - Guida alla programmazione e Impostazioni di Magelis SCU HMI 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).

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.

Passo

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 frequenza massima ammissibile per l'attivazione di un task evento dipende dalle priorità degli altri task e dei processi di sistema. Quindi è necessario testare l'applicazione in uso per assicurare un trigger dell'evento affidabile.

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 External Event Task può essere associato con un evento di supero di soglia HSC. Per associare l'evento HSC0_TH1 a un task Evento esterno, selezionarlo dall'elenco a discesa Evento esterno sulla sottoscheda Configurazione.

Per il controller HMI Magelis esistono 2 tipi di eventi che possono essere associati con un External Event Task:

oun ingresso RAPIDO (FI0 e FI1) sul fronte di salita, sul fronte di discesa o su entrambi i fronti

ouna soglia HSC con conteggio avanti, conteggio indietro o i due conteggi avanti e indietro

Task evento esterno: prestazioni

Per un External Event Task attivato da FI0, FI1, HSC0_TH0 o HSC0_TH1, l'intervallo stabile minimo tra i trigger è il seguente:

o1,5 ms per task che non richiedono un cambiamento di stato immediato alle uscite RAPIDE (FQ0 o FQ1)

o15 ms per task che richiedono un cambiamento di stato immediato alle uscite RAPIDE (FQ0 o FQ1)

Se le condizioni di attivazione sono soddisfatte ma l'intervallo è più breve di quanto specificato sopra, l'esecuzione del External Event Task sarà soggetta a ritardi o potrebbe non avvenire. I task complessi che richiedono un tempo di calcolo più lungo di quello specificato sopra possono anche portare a External Event Tasks eseguiti in ritardo o non eseguiti.

Warning_Color.gifAVVERTIMENTO

FUNZIONAMENTO ANOMALO DELL'APPARECCHIATURA

Testare accuratamente l'applicazione per verificare che le sue prestazioni soddisfino le specifiche.

Il mancato rispetto di queste istruzioni può provocare morte, gravi infortuni o danni alle apparecchiature.