Realizziamo un primo programma con il PLC: accendere e spegnere una lampada tramite due pulsanti, uno che accende e l’altra che la spegne.
In questo articolo realizziamo il programma tramite l’ambiente di sviluppo Siemens TIA Portal V17, collegato con un PLC S7-1200 1215C AC/DC/Rly con la versione del firmware 4.4.
Prerequisito di questo articolo è Prima configurazione del Siemens TIA Portal: Creare un progetto con un PLC
Chiamiamo il nostro programma “hello world”

Per prima cosa bisogna identificare gli ingressi e le uscite del PLC

Gli ingressi e le uscite vengono identificati tramite “indirizzamento”, indicando con la lettera I gli ingressi e con la lettera Q le uscite.
L’indirizzo degli ingressi segue la logica dei byte e dei bit: I0.0 identifica il primo ingresso a sinistra; I0.1 il secondo e così via, fino all’ottavo ingresso (I0.7). L’ingresso successivo avrà indirizzo I1.0 e poi I1.1 e così via.
Per prima cosa vanno identificati gli ingressi e le uscite. Immaginiamo di avere un collegamento fisico al PLC come quello della figura seguente:

Il pulsante Normalmente Aperto (NA) dello START è collegato nell’ingresso I0.5 mentre il pulsante Normalmente Chiuso (NC) dello STOP nell’ingresso I0.6.
L’uscita Q0.6 è collegata alla lampada HL_1.
Gli ingressi e le uscite vengono scritte nella tabella delle etichette (“Tags”). Per aprire la tabella (o le tabelle, quando il programma è particolarmente complesso), si deve selezionare la voce “PLC Tags” e poi “Default tag table” (che è la tabella di default del programma). Si apre la schermata come quella seguente:

Inseriamo i vari ingressi e le varie uscite indicando il nome (a scelta) e il suo indirizzo. Ad esempio al pulsante START viene associato l’ingresso I0.0 come da figura seguente:

La stessa cosa si fa con le uscite. In questo caso l’unica uscita è l’HL_1 che ha indirizzo Q0.6:

E’ possibile anche aggiungere dei commenti che aiutano a capire come organizzare il programma:

Il programma
Per realizzare il programma si deve andare nella sezione “Program blocks” e si seleziona Main (doppio click)

Per realizzare il programma, partiamo dallo schema elettrico.
Non sarà sempre necessario usare lo schema elettrico per realizzare il Ladder, ma per cominciare, il passaggio dallo schema elettrico è un ottimo sistema per capire il funzionamento del Ladder.
Lo schema è semplice: il pulsante START eccita un RELE’ K1 che viene mantenuto attivo dal suo contatto in modalità di autoritenuta.
Un altro contatto del relè K1 sarà dedicato all’accensione della lampada HL_1.

Ma tra gli ingressi e le uscite non abbiamo contemplato il relè.
Il programma Ladder prevede un altro oggetto che permette la sostituzione fisica del relè: il MERKER.
Un Merker (M) è una variabile di memoria utilizzata per immagazzinare dati temporanei e condivisi tra diverse parti del programma.
Va dichiarata nella tabella delle Tags e il suo indirizzamento segue le stesse logiche viste in precedenza per gli ingressi e le uscite. Quello che cambia è la lettera con cui sono identificati, che, nel caso dei merker è la M.
Il merker che utilizzeremo per il nostro programma lo chiamiamo K1 e gli diamo indirizzo (virtuale) M0.0:

Un buon approccio per cominciare a scrivere il programma Ladder è quello di partire dal circuito elettrico, ruotarlo di 90 gradi e poi specchiarlo.
I contatti del Ladder sono di due tipi:
-| |- Contatto Normalemente Aperto;
-|/|- Contatto Normalmente Chiuso;
Sostituendo i contatti con i quelli del circuito elettrico lo schema risultante del primo ramo del circuito è il seguente:

Al posto dei punti interrogativi vanno messi i contatti, così come sono stati definiti nella tabella delle Tags:
Cliccando sui punti di domanda, è possibile scegliere ingressi, uscite e merker. Scrivendo direttamente nel campo, il valore viene ricercato in maniera da agevolare la selezione:

Il programma ladder del primo “network” (ovvero del primo ramo del circuito) assumerà la seguente forma:

E completando anche il secondo network si ha il programma completo:

Attenzione però. C’è un errore!
Riguarda il contatto dello STOP. Nel ladder è stato inserito come contatto NC (–|/|–). Nel PLC il contatto dello STOP è stato collegato con un pulsante NC. Significa che nell’ingresso I0.6, su cui è collegato lo STOP, arriva un segnale elettrico.
Questo significa che il contatto I0.6 viene subito commutato nel ladder e da CHIUSO passa subito ad APERTO, non permettendo il passaggio del segnale, che, nel ladder, viene percorso da sinistra verso destra, dove sono presenti le uscite.
Correggiamo l’errore portando (nel ladder) il contatto dello stop a NA (–| |–). Basta cliccare sull’icona del contatto e scegliere quella giusta:

Il programma corretto diventa il seguente:

Il programma è completato.
Per controllare la correttezza è necessario compilarlo e, per controllarne anche la logica, è necessario procedere sia con la simulazione che con il trasferimento ad un PLC vero.
Per compilare, cliccare con il tasto destro sul PLC nella diramazione del progetto e selezionare la voce “Compile” e poi “Hardware (rebuild all)

Il TIA Portal, nella finestra in basso, evidenza gli errori o gli alert.
In questo caso, ad esempio, viene segnalato che manca la protezione del PLC. Il PLC scelto, infatti, si può proteggere con la password per aumetare il livello di sicurezza. Il TIA Portal segnala che la password non è stata impostata:

Successivamente si passa alla compilazione del software. Per farla, analogamente a come fatta per l’hardware, si clicca con il tasto destro sulla ramificazione del plc e si seleziona la voce “compile” e poi “Software (rebuild all)”

Nella finestra in basso vengono indicati eventuali errori e le frecce aiutano all’identificazione dell’errore:

La compilazione è andata a buon fine. Significa che il programma è formalmente corretto.
Ora, per controllare la logica, è necessario simularlo.
E’ possibile vedere come farlo nell’articolo Simulare un progetto per il PLC su TIA Portal