Benvenuto in questo tutorial dedicato alla programmazione dei PLC ABB AC500, oggi costruiremo un piccolo software in linguaggio a logica di contatti (ladder).
Per questa lezione ho usato un PLC della sere eCo, e come vedremo nel video allegato a questa pagina lezione, abbiamo provato il software utilizzando il simulatore di Automation Builder.
Il linguaggio Ladder (LD) è il linguaggio di programmazione per PLC più diffuso oggi, probabilmente perché somigliando a uno schema elettrico, permette anche a chi non è “del mestiere” di impararlo in modo relativamente semplice e in poco tempo.
Anche i PLC della Omron sono programmabili in diversi linguaggi, e tutti i controllori di questo produttore ci mettono a disposizione il linguaggio a logica di relè.
Il programma di esempio di oggi, mostra come potremmo gestire il riscaldamento di un serbatoio, facente parte di un piccolo impianto come quello che vediamo nella prossima immagine.
Nella figura sopra vediamo che all’interno del serbatoio chiamato T101 è installata sul fondo una sonda di temperatura TT101, la resistenza elettrica R101 serve a scaldare il liquido all’interno del serbatoio stesso.
Lo scopo del programma è controllare la temperatura e attivare la resistenza quando serve, e ecco nella prossima figura la prima parte del programma in ladder.
Nel primo ramo di programma abbiamo il calcolo dei limiti di temperatura necessari per gestire il riscaldamento. Ipotizziamo di attivare la funzione quando la temperatura letta dalla sonda TT101 sia inferiore di due gradi centigradi rispetto al setpoint (valore desiderato).
Per disattivare il riscaldamento, la temperatura dovrà salire di due gradi sopra il set point; in questo modo creiamo un range entro il quale la temperatura è “buona”, ovvero preset + - 2°C.
Nell’esempio il nostro range di temperatura va da 48 a 52°C, il preset (in questo caso di 50 gradi, naturalmente impostabile).
Ecco di seguito l’immagine con il resto del programma ladder.
Nel secondo ramo di programma abbiamo un confronto tra il valore reale della temperatura TT101 e il limite inferiore calcolato (nel nostro esempio 48), in caso positivo viene attivato il timer TON_0, il quale conta 6 secondi prima di attivare il comando “com_riscaldare” utilizzando l’istruzione “SET”; questa istruzione auto ritiene l’uscita.
Il setpoint di questo timer, come quello degli altri inseriti nel software, è nell’esempio una costante; possiamo naturalmente optare per utilizzare delle variabili, in modo da poterle impostare durante il runtime, per esempio attraverso una pagina sul pannello operatore HMI.
Nella linea successiva di programma abbiamo il confronto che termina il riscaldamento, infatti quando la temperatura in ingresso sale sopra il limate massimo “lim_max”, il secondo timer viene attivato, e al termine del suo conteggio il bit “com_riscaldare” viene resettato per mezzo dell’istruzione “RESET”. Questo comando è resettato anche quando non è abilitata la funzione di riscaldamento.
Nell’ultimo ramo del programma comandiamo la resistenza di riscaldamento, in pratica copiando il bit “com_riscaldare”; su questa linea, se necessario avremmo potuto inserire altre condizioni.
Come abbiamo visto, con poche istruzioni ladder logiche, qualche funzione matematica e delle istruzioni di comparazione, abbiamo creato un semplice programma per il nostro PLC ABB, utilizzando l’editor grafico di Automation Builder.
Chiaramente questo programma per funzionare nella realtà deve essere migliorato e completato con diverse altre parti, tra le quali la gestione delle utenze, il controllo degli allarmi, la scalatura delle variabili analogiche, la gestione dei cicli e delle funzioni; in pratica tutto ciò che è necessario per avere un programma PLC funzionale e sicuro.