COME PROGETTARE IL SOFTWARE PLC:
CREAZIONE ALGORITMO E SCRITTURA DEL CODICE

Programmatore PLC

Data aggiornamento: luglio 2025.

Come si scrive un programma PLC? Cosa significa analizzare il processo e creare un algoritmo? Benvenuto su queste pagine dedicate all’automazione industriale, oggi ci occupiamo di programmazione plc, in particolare delle fasi di creazione dell’algoritmo di funzionamento, e della stesura del codice.

Come vedremo oggi, scrivere il programma è solo la parte finale di un processo ben più complesso, dal quale non si può prescindere.

Novità automazione e plc

Chiunque si occupi di programmazione, conosce la parola “algoritmo”. Cosa significa davvero questa parola? La definizione da vocabolario è “schema o procedimento sistematico di calcolo”. I termini “schema” e “procedimento” ci fanno immediatamente intuire che un algoritmo serve a definire una sequenza necessaria a svolgere un compito.

Per scrivere un programma plc, così come per ogni altro tipo di software procedurale, è necessario prima di tutto creare l’algoritmo. Vediamo cosa comporta nei prossimi paragrafi.

1. Definizione dell’algoritmo di funzionamento del processo.

Per comprendere meglio cosa significa scrivere un algoritmo, facciamo un esempio, supponendo di dover automatizzare un impianto che produce una miscela di un semilavorato alimentare. Un possibile algoritmo potrebbe essere:

a) Dosare una quantità di acqua in un serbatoio.

b) Scaldare l’acqua fino a una certa temperatura.

c) Aggiungere una certa quantità di cacao in polvere.

d) Miscelare per un certo tempo.

e) Aggiungere una certa quantità di zucchero in polvere.

f) Riportare a una certa temperatura.

g) Miscelare per un certo tempo.

h) Mantenere in movimento il prodotto pronto nel serbatoio.

Come abbiamo visto, l’algoritmo che descrive il funzionamento del processo d'esempio da automatizzare si compone di otto fasi. Queste fasi però dovranno poi essere definite in maniera più specifica, e soprattutto compatibile con l’automazione controllata dal PLC.

Nel prossimo paragrafo vediamo come si passa dall’algoritmo di processo a quello d’automazione.

2. Passare dall’algoritmo di processo a quello automatico.

In questa fase ogni step deve essere trasformato in azioni che saranno controllate dal plc, per fare questo ci sono alcune attività da svolgere.

2.1. Identificare le apparecchiature necessarie e il loro funzionamento, singolarmente e in sinergia tra di esse.

Ogni apparecchiatura serve a svolgere un compito, mentre gruppi di apparecchiature formano sistemi di controllo. Sensori e trasmettitori sono utilizzati per misurare le variabili di processo, mentre gli attuatori (valvole, motori), sono impiegati per controllare e movimentare.

Sensori e trasduttori lavoreranno in sinergia, seguendo la logica del programma del plc. Per esempio, una funzione di riscaldamento può essere gestita attraverso una sonda di temperatura e una valvola di regolazione vapore. Questi due oggetti saranno controllati da un regolatore PID, sfruttando l’apposita istruzione nel software del plc.

Un altro esempio è quello delle funzioni di dosaggio: si utilizzano conta litri o bilance per misurare la quantità dosata, valvole stellari, valvola a saracinesca, pompe e coclee per la movimentazione dei prodotti. Il tutto viene controllato dal programma.

2.2. Definizione delle strutture dati e delle variabili.

Per automatizzare il processo è necessario prima di tutto definire:

a) Le variabili del plc necessarie per la stesura del programma. Per esempio le variabili che conterranno le quantità dei dosaggi, o i tempi di lavorazione, oltre che tutte le altre variabili necessarie a effettuare calcoli e memorizzare gli stati del processo.

b) Gli ingressi e le uscite fisici I/O (si a digitali che analogici, o di rete). Questi sono indispensabili per ricevere segnali dalle apparecchiature (sensori e organi di controllo), e controllare gli attuatori (valvole, motori, attuatori).

c) Eventuali tipi di dati strutturati, utili per meglio rappresentare gli oggetti presenti sull’impianto, o quelli logici del processo.

2.3. Trasformazione dell’algoritmo di processo in algoritmo d’automazione.

Il passo successivo è la trasformazione dell’algoritmo di processo in un algoritmo automatico. Ecco come diventa il procedimento descritto nel nostro esempio:

a) Aprire la valvola d’ingresso acqua nel serbatoio, attendere che il conta litri abbia contato il numero di litri desiderati, e poi chiudere la valvola.

b) Accendere l’agitatore del serbatoio e la valvola di riscaldamento, attendere che la temperatura rilevata dalla sonda arrivi al valore desiderato.

c) Mantenere l’agitatore acceso e accendere anche il dispersore nel serbatoio. Aprire la valvola di dosaggio cacao e attivare il vibratore per facilitare la sua discesa verso il serbatoio.

Quando la quantità di cacao desiderata è stata raggiunta, fermare il mixer e chiudere la valvola del cacao.

d) Miscelare per un certo tempo mantenendo agitatore e dispersore accesi.

e) Mantenere i motori del serbatoio accesi. Aprire la valvola di dosaggio zucchero e attivare il vibratore per facilitare la sua discesa verso il serbatoio.

Quando la quantità di cacao desiderata è stata raggiunta, fermare il mixer e chiudere la valvola del cacao.

f) Accendere solo l’agitatore nel serbatoio e aprire la valvola di riscaldamento. Attendere che la temperatura sia stata raggiunta, poi spegnere la valvola.

g) Miscelare per un certo tempo mantenendo agitatore e dispersore accesi.

h) Spegnere tutto e e poi avviare solo l’agitatore nel serbatoio.

3. Scrittura del codice del programma PLC.

Quando l’algoritmo d’automazione è stato definito nei suoi dettagli, si procede alla stesura del codice del programma per il plc. Questa fase si compone di diverse attività:

a) Si sceglie l’ambiente di programmazione, in base al modello di PLC utilizzato. Per esempio TIA Portal per i controllori Siemens, Studio 5000 per i plc Allen Bradley, EcoStruxure per i controllori Schneider. La scelta è effettuata dal cliente, oppure proposta dal programmatore; si cerca comunque di mantenere uniformità con eventuali sistemi già presenti.

b) Si decide quale linguaggio adottare (ladder, a blocchi di funzione, di testo strutturato, lista istruzioni, o a blocchi sequenziali). Il linguaggio viene scelto in base al tipo di funzioni da svolgere, oppure seguendo le specifiche di progettazione del software.

Per il nostro esempio tutti i linguaggi sono adatti, tuttavia i linguaggi ladder e quello a blocchi di funzione sono i più semplici, sia per chi deve scrivere il software che per chi dovrà consultarlo in seguito.

c) Si crea la struttura generale del programma. Per impianti di grandi dimensioni si divide il programma in sotto programmi, e la divisione può avvenire per funzioni logiche, oppure per zone fisiche dell’impianto.

d) Si costruiscono le funzioni utilizzando le istruzioni elementari che il linguaggio mette a disposizione (logiche booleane, temporizzatori, contatori, funzioni matematiche e di comparazione). Nel caso di parti di programma che devono ripetersi, si possono creare funzioni parametrizzate, da riutilizzare semplicemente richiamandole dove è necessario.

e) Si crea la parte di programma generale, con i richiami ai sottoprogrammi.

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