Informazioni generali
Il termine "bus" comprende tutti i bus di campo e il bus ⮫ I/O. Si consideri che non esiste un task di ciclo di bus per Modbus, poiché Modbus non fornisce una mappatura I/O ed è controllato da POU.
Si raccomanda di definire un task dedicato al ciclo del bus per ogni bus di campo configurato nel progetto. Si raccomanda vivamente di non utilizzare "unspecified" in "«PLC Settings»" per evitare comportamenti imprevisti. Il task definito in «PLC Settings» determina il task del ciclo bus del bus I/O e, a seconda della configurazione, dei bus di campo aggiuntivi (l'impostazione è ereditata per default).
Soprattutto nel caso di EtherCAT, è necessario utilizzare un task dedicato al ciclo del bus che non sia condiviso con altri bus di campo. Se [unspecified] è impostato in «PLC Settings», il task EtherCAT potrebbe essere utilizzato automaticamente da altri bus di campo, causando potenzialmente il fallimento dell'elaborazione del task EtherCAT. Questo può essere evitato specificando un task diverso da quello di EtherCAT nelle impostazioni del PLC .
Di norma, per ogni task IEC i dati di ingresso utilizzati vengono letti all'inizio di ogni task e i dati di uscita scritti vengono trasferiti al driver I/O alla fine del task. L'implementazione nel driver di I/O è decisiva per l'ulteriore trasferimento dei dati di I/O. L'implementazione è quindi responsabile della tempistica e del momento specifico in cui avviene la trasmissione effettiva sul rispettivo sistema di bus.
Altri task copiano solo i dati di I/O da un buffer interno che viene scambiato solo con l'hardware fisico nel task del ciclo bus.
(1) Read inputs from input buffer (2) IEC task (3) Write outputs to output buffer (4) Bus cycle (5) Input buffer (6) Output buffer (7) Copy data to/from bus (9) Bus cycle task, priority 1, 1 ms (10) Bus cycle task, priority 5 (11) Bus cycle task, priority 10, interrupted by task 5
Utilizzo dei compiti
Il task fornisce una panoramica dei canali di I/O utilizzati, del task Set Bus Cycle e dell'utilizzo dei canali.




AVVERTIMENTO

Comportamento imprevisto dovuto all'utilizzo degli stessi input e output in più task
Se un'uscita viene scritta in diversi task, lo stato è indefinito, poiché può essere sovrascritto in ogni caso.
Quando gli stessi input sono utilizzati in diversi task, l'input potrebbe cambiare durante l'elaborazione di un task. Questo accade se l'attività viene interrotta da un'attività con priorità più alta e causa la rilettura della mappa del processo.
Soluzione:
-
All'inizio del task IEC, copiare le variabili di input nelle variabili e poi lavorare solo con le variabili locali nel resto del codice.
Comportamento del ciclo del bus PROFINET IO
PROFINET IO non fornisce alcuna impostazione aggiuntiva. La sua funzionalità corrisponde alla descrizione generale.
