PROGETTAZIONE SOFTWARE PLC:
SCHEDULAZIONE E SCANSIONE PROGRAMMA

Programmatore PLC

Data aggiornamento: luglio 2025.

Cosa significa tempo di scansione del PLC e a cosa serve il parametro "watchdog"? Come faccio a sapere se il tempo di scansione del programma è adeguato al mio processo? Cosa significa schedulazione dei programmi?

Benvenuto in questa lezione dedicata alla programmazione plc. Se ti stai facendo queste domande, significa che ti stai avvicinando a questo mondo, per cui seguimi e vedrai che imparerai qualcosa di molto importante, che riguarda il modo in cui questi controllori funzionano.

Novità automazione e plc

Uno degli aspetti fondamentali che i programmatori di PLC devono fare propri, è quello che riguarda come i programmi vengono eseguiti all’interno del controllore. Vediamo come funziona:

1. Schedulazione ed esecuzione dei programmi PLC.

a) Tutte le istruzioni, scritte in uno dei cinque linguaggi definiti nella IEC 61131-3, vengono raggruppate in programmi. Questi programmi possono essere di diverso tipo, per esempio funzioni, blocchi funzionali, blocchi organizzativi.

b) I programmi vengono aggiunti a una o più routine di schedulazione, per essere eseguiti nell’ordine prestabilito. Ogni routine di schedulazione ha un tempo di scansione prestabilito, e un tempo di controllo (watchdog). Il watchdog serve a generare un allarme nel caso l’esecuzione dei programmi superi un tempo massimo deciso a priori.

c) In certi casi i programmi possono essere avviati a fronte di particolari condizioni (su evento, o su interrupt).

2. Il tempo di scansione del programma nel PLC.

Il tempo di scansione di un PLC è solitamente molto breve, nell’ordine di millisecondi, o qualche decina di millisecondi. Il programmatore deve tenere conto di questo, soprattutto quando si devono effettuare dei conteggi a fronte del valore di ingressi; oppure intercettare eventi come la pressione di un pulsante di comando, per eseguire qualcosa nell’istante in cui l’evento viene rilevato. Ecco degli esempi:

2.1. Il tempo di scansione e i conteggi.

Quando si devono contare per esempio degli impulsi di dosaggio, è necessario valutare il tempo di scansione, per non rischiare di perdere degli impulsi di conteggio. In questo caso è necessario:

a) Calcolare la durata di un impulso in relazione alla portata massima del dosaggio o comunque del treno di eventi. Per esempio, con una portata di 100 mila litri al minuto, e il valore di un impulso di 1 litro, avremo 27.7 impulsi al secondo; questo significa che un impulso dura 36 millisecondi.

Per essere sicuri di intercettare tutti gli impulsi, il tempo massimo di scansione del programma PLC non dovrà superare 18 millisecondi, che sono la metà della durata dell’impulso. Si tiene conto della metà perchè la scansione del software potrebbe richiedere due cicli per intercettare l’impulso.

2.2. Il tempo di scansione e l’intercettazione degli eventi.

Supponendo di voler incrementare il valore di una variabile numerica ogni volta che premiamo un pulsante collegato a un ingresso del plc:

a) Il pulsante viene premuto: l’ingresso verrà rilevato come alto (true, o a 1).

b) Anche se la pressione del pulsante ha una durata breve, per esempio un secondo, il sistema valuta l’ingresso molte volte. Supponiamo che il tempo di scansione sia di 10 millisecondi, l’ingresso sarà valutato come vero per 100 volte.

c) Il programma incrementerà il valore della variabile di 100 e non di 1.

Risulta evidente che per effettuare operazioni di questo tipo è necessario valutare solo il cambio di stato dell’ingresso, ovvero quando passa da falso a vero (da zero a uno). I programmatori chiamano questo evento fronte di salita.

Copyright(C) automazione-plc.it
P. IVA: 11676200964
Sito di informazione e didattica sull'automazione industriale, il mondo dei PLC e dei sistemi di supervisione.
Programmazione PLC.
Programmazione SCADA e HMI.
Apparecchiature e hardware industriale.
Strumentazione da campo.
Policy sulla Privacy e utilizzo dei Cookies