Vai al contenuto
Controllo dei Processi

Il PLC: ciclo di scansione, linguaggi IEC 61131-3 e sequenze

Struttura di un PLC, ciclo di scansione e tempo di risposta dimostrato, linguaggi ladder, FBD, ST e SFC, marcia e arresto con autoritenuta, sicurezza positiva, temporizzatori e sequenze, PLC di sicurezza, piramide dell'automazione.

Accanto alla regolazione continua di temperature e portate, ogni impianto ha una parte logica e sequenziale: avviare e fermare motori, aprire valvole in un certo ordine, contare pezzi, reagire ai finecorsa e agli allarmi. Fino agli anni Sessanta tutto questo si faceva con quadri pieni di relè; poi è arrivato il PLC (programmable logic controller), un calcolatore industriale robusto che sostituisce il cablaggio con un programma. In questa lezione vediamo come funziona il ciclo di scansione con la dimostrazione del tempo di risposta, i linguaggi della norma IEC 61131-3, l’esempio classico di marcia e arresto, le sequenze e il posto del PLC nella piramide dell’automazione.

Com’è fatto un PLC

Un PLC ha una CPU, moduli di ingresso digitali (pulsanti, finecorsa, sensori di prossimità, a 24 V) e analogici (4-20 mA dai trasmettitori, termocoppie, Pt100), moduli di uscita digitali (relè, contattori, elettrovalvole) e analogici (comandi alle valvole di regolazione e agli inverter), e interfacce di comunicazione. È progettato per l’ambiente di fabbrica: temperatura, vibrazioni, disturbi elettromagnetici, e anni di funzionamento senza fermarsi.

Il ciclo di scansione

La CPU esegue all’infinito lo stesso ciclo:

  1. legge tutti gli ingressi e ne copia lo stato in una memoria, l’immagine degli ingressi;
  2. esegue il programma dall’inizio alla fine, usando solo l’immagine degli ingressi e scrivendo i risultati nell’immagine delle uscite;
  3. scrive le uscite fisiche copiandovi l’immagine;
  4. gestisce comunicazioni e diagnostica, e ricomincia.

Il tempo di un giro è il tempo di scansione, da meno di un millisecondo a qualche decina. Copiare gli ingressi all’inizio garantisce che durante l’esecuzione il programma veda uno stato coerente, che non cambia a metà calcolo.

Teorema. Il tempo tra la variazione di un ingresso e la reazione dell’uscita corrispondente è compreso tra circa uno e due tempi di scansione T_{sc}, più i ritardi dei filtri d’ingresso e dei moduli d’uscita.

Dimostrazione. Caso migliore: l’ingresso cambia subito prima della lettura. Viene letto, il programma lo elabora e l’uscita si aggiorna alla fine dello stesso ciclo: circa T_{sc}. Caso peggiore: l’ingresso cambia subito dopo la lettura. Il ciclo in corso non lo vede; viene letto all’inizio del ciclo successivo, cioè dopo quasi T_{sc}, e l’uscita si aggiorna alla fine di quel ciclo, dopo un altro T_{sc}: in tutto quasi 2T_{sc}. ∎

Con 10 ms di scansione la risposta arriva entro 20 ms più i filtri, abbondante per motori e valvole ma non per eventi rapidissimi, come contare impulsi di un encoder a 10 kHz: per questi ci sono ingressi veloci e moduli dedicati, e la possibilità di eseguire porzioni di programma su interrupt. Un impulso più breve della scansione può addirittura non essere mai visto.

I linguaggi della norma IEC 61131-3

La norma internazionale definisce i linguaggi di programmazione dei PLC, così il programmatore ritrova gli stessi concetti su marche diverse:

  • Ladder (LD, schema a contatti): imita gli schemi elettrici dei quadri a relè, con contatti e bobine tra due barre verticali. È il più diffuso, perché leggibile da un elettricista di manutenzione;
  • Function block diagram (FBD): blocchi funzionali collegati da linee, comodo per la logica combinatoria e la regolazione;
  • Structured text (ST): un linguaggio testuale simile al Pascal, per calcoli, cicli e algoritmi;
  • Sequential function chart (SFC): descrive le sequenze come una successione di passi e transizioni;
  • l’instruction list (IL), simile a un assembler, è ormai deprecato.

L’esempio di marcia e arresto

Un motore deve partire premendo il pulsante di marcia S, restare acceso quando il pulsante viene rilasciato e fermarsi premendo il pulsante di arresto P. È il circuito di autoritenuta.

Schema a contatti per la marcia e l'arresto di un motore con autoritenuta
Tra le due barre di alimentazione, il contatto di marcia S in parallelo al contatto della bobina M, in serie al contatto di arresto P, comandano la bobina M. Quando M si eccita, il suo contatto tiene la bobina eccitata anche dopo il rilascio di S.

L’equazione logica è

    \[ M = (S + M)\cdot\overline{P} \]

dove + è l’OR, \cdot l’AND e la barra il NOT. Premendo S la bobina si eccita; al ciclo successivo il contatto di M, in parallelo a S, la tiene eccitata anche se S torna a zero: è una memoria, realizzata con la retroazione dell’uscita sull’ingresso, come i latch della lezione su latch e flip-flop di Elettronica dei sistemi digitali. Premendo P la catena si apre e il motore si ferma. Se si premono insieme S e P prevale l’arresto: è una scelta di sicurezza.

Un dettaglio importante della pratica: il pulsante di arresto si cabla normalmente chiuso, così l’ingresso del PLC vale 1 a riposo e 0 quando si preme. Se il filo si rompe l’ingresso va a 0 come se si premesse l’arresto, e la macchina si ferma invece di diventare impossibile da fermare. Nel programma si usa allora un contatto normalmente aperto su quell’ingresso, e la logica resta quella dell’equazione. Questo principio si chiama sicurezza positiva (fail-safe).

Temporizzatori, contatori e sequenze

Il programma usa blocchi standard: il temporizzatore al lavoro (TON) porta l’uscita a 1 se l’ingresso resta a 1 per un tempo prefissato, per esempio per dare il tempo alla stella-triangolo di un motore di avviarsi; il contatore (CTU) conta i fronti di salita, per esempio i pezzi in una confezione.

Le macchine automatiche lavorano per sequenze: carica, chiudi, salda, taglia, scarica, ricomincia. In SFC ogni operazione è un passo, attivo finché non diventa vera la transizione che porta al passo successivo (un finecorsa, un tempo scaduto, un conteggio raggiunto). Lo schema è leggibile come un diagramma di flusso ed è la traduzione diretta di una macchina a stati finiti. Le macchine di confezionamento sono l’esempio tipico.

La sicurezza delle persone

Le funzioni che proteggono le persone, come l’arresto di emergenza o le barriere fotoelettriche, non si affidano al programma di un PLC normale: un errore software o un guasto della CPU non devono poterle impedire. Si usano circuiti di sicurezza cablati o PLC di sicurezza certificati, con CPU ridondanti che si controllano a vicenda, progettati secondo le norme di sicurezza funzionale (IEC 61508, ISO 13849) per il livello di integrità richiesto (SIL o PL).

La piramide dell’automazione

Il PLC sta in mezzo a una gerarchia:

  • in basso il campo: sensori, attuatori, azionamenti, collegati ai moduli di I/O o, sempre più spesso, con bus di campo (Profibus, Modbus) e reti Ethernet industriali (Profinet, EtherNet/IP, EtherCAT), che portano anche diagnostica e configurazione;
  • al centro il controllo: PLC e, negli impianti di processo grandi, i DCS (sistemi di controllo distribuito), che eseguono centinaia di anelli PID con le strategie viste nelle lezioni precedenti;
  • sopra la supervisione: lo SCADA e i pannelli operatore (HMI), con sinottici, allarmi, registrazione dei dati e grafici storici;
  • in cima la gestione della produzione e dell’azienda (MES, ERP), che riceve i dati e manda gli ordini di produzione.

L’integrazione di questi livelli e la sicurezza informatica delle reti industriali, un tempo isolate e oggi collegate a internet, sono le sfide più attuali dell’automazione.

Subscribe
Notify of
guest
0 Comments
Oldest
Newest Most Voted
0
Would love your thoughts, please comment.x
()
x