Configurazione dell'attività Permalink

Configurazione dell'attività

Nella configurazione dei task, si definiscono uno o più task per controllare il flusso dei programmi (oggetti POU con tipo Programma) e dei POU da essi richiamati sul dispositivo. Per ogni applicazione è necessario un oggetto Task Configuration. Qui si definisce la sequenza cronologica di richiamo del programma.

Un compito è l'unità di flusso cronologico del programma IEC. Il task definisce la catena di chiamate dei POU (gerarchia delle chiamate).

Ogni compito richiede un nome univoco. Nell'editor di configurazione del task, specificare un elenco di programmi da richiamare. I programmi possono essere specifici per un'applicazione, nel qual caso si trovano nella vista Dispositivi. Oppure un programma può essere valido per l'intero progetto, nel qual caso si trova nella vista POUs. Questi POU sono istanziati nell'intero progetto.

  • È possibile stabilire le priorità di un compito. La prioritizzazione funziona in combinazione con il tipo di compito.

  • Si configura un tipo di attività:

  • Ciclico; per un flusso temporizzato che utilizza un intervallo di ciclo. Le chiamate al programma vengono eseguite entro l'intervallo del ciclo (tempo di ciclo del task).

  • A ruota libera; per un'attività senza un proprio tempo di ciclo di attività

  • Azionato da un evento (interno o esterno) mediante una condizione per l'inizio dell'evento (edge-triggered).

  • Esempi di eventi sono il fronte di salita di una variabile globale di progetto o un interrupt.

  • Stato attivato da una condizione

  • È possibile associare Start, Stop e Reset direttamente all'esecuzione del progetto POU.

  • È inoltre possibile attivare un watchdog.

Lo stack di chiamate viene creato ed eseguito in base a queste impostazioni nella configurazione del task.

In base ai vari stack di chiamate possibili, si determina quale di questi è il più lungo e richiede la maggiore quantità di memoria (stack di chiamate massimo). Per informazioni dettagliate su questo aspetto, vedere la scheda Uso dello stack.

Elaborazione dell'ordine

Regole per l'ordine di elaborazione dei compiti definiti

  • Se la condizione del task è soddisfatta, CODESYS elabora il task.

  • Se più task soddisfano la condizione per essere elaborati contemporaneamente, CODESYS elabora prima i task con la priorità più alta.

  • Se più task con lo stesso livello di priorità soddisfano la condizione per essere elaborati contemporaneamente, CODESYS elabora per primo il task che è in coda da più tempo.

  • Le chiamate al programma vengono elaborate nell'ordine in cui appaiono nella finestra di configurazione del task.

  • Se un programma chiamato ha lo stesso nome nell'albero dei dispositivi dell'applicazione e in una libreria o in un progetto globale nella vista POU, viene utilizzato il programma dell'applicazione.

Note importanti

Tutti i compiti condividono un'immagine del processo. Il motivo è che avere un'immagine di processo individuale per ogni attività comprometterebbe le prestazioni. Tuttavia, l'immagine del processo può essere coerente solo con un compito. Quando si crea un progetto, è necessario assicurarsi che l'applicazione copi i dati di input e output in una posizione sicura in caso di conflitti. I moduli, come la libreria ‎SysSem‎, permettono di risolvere i problemi di coerenza e sincronizzazione.

I problemi di coerenza possono verificarsi anche quando si accede ad altri oggetti globali, come variabili globali o blocchi. I problemi di coerenza si verificano sempre se diversi task leggono e scrivono su una variabile. I moduli, come la libreria ‎SysSem‎, sono disponibili come soluzione.