È possibile configurare la priorità di ogni task con un numero compreso tra 0 e 31 (0 è la priorità massima, 31 la minima). Ogni task deve avere una priorità univoca. Assegnando la stessa priorità a più di un task si può causare un errore di compilazione
Priorità da 0 a 24: task del controller. Assegnare queste priorità ai task con requisiti di elevata disponibilità.
Priorità da 25 a 31: task di background. Assegnare queste priorità ai task con requisiti di bassa priorità.
Quando inizia un ciclo task, il ciclo può interrompere qualunque altro task che ha una priorità più bassa (precedenza task). Il task interrotto riprende al termine del ciclo del task con priorità superiore.
Per aumentare la probabilità di un corretto comportamento dell'uscita durante il multitasking, viene visualizzato un messaggio di errore di compilazione se le uscite con lo stesso byte vengono utilizzate in task diversi.
AVVERTIMENTO | |
---|---|
È possibile selezionare il task che gestisce gli I/O e gli scambi fisici CANopen del TM3. In , selezionare per definire il task per lo scambio. Per impostazione predefinita, il task è impostato su . Questa definizione a livello del controller può essere esclusa dalla Configurazione bus I/O. Durante le fasi di lettura e scrittura tutti gli I/O fisici vengono aggiornati contemporaneamente. I dati di TM3 e CANopen vengono copiati in un'immagine di I/O virtuale durante una fase di scambi fisici, come mostrato in questa figura:
Gli ingressi sono letti dalla tabella delle immagini di I/O all'inizio del ciclo del task. Le uscite sono scritte nella tabella delle immagini di I/O alla fine del task.