E così hai deciso che vuoi imparare a programmare i PLC e ti stai chiedendo se ci sono dei consigli da seguire? Sei una persona curiosa a cui piace la tecnologia e vuoi avvicinarti al mondo dell’automazione industriale?
In questo articolo ti darò dieci suggerimenti per avvicinarti al mondo dei PLC e dei sistemi di supervisione industriale con il piede giusto. Che tu sia un elettricista che vuole ampliare il proprio bagaglio culturale, o un semplice appassionato di apparecchiature elettriche, questo articolo potrebbe rendere la tua “vita da apprendista mago dei plc” più semplice.
Quando ho cominciato a programmare i PLC nel lontano 1992 mi ero appena diplomato in informatica e non avevo nessuna idea di cosa queste apparecchiature fossero. Lo stesso dicasi per i sistemi di supervisione, a quei tempi mi misero davanti un vecchio ControlView dell’Allen Bradley, sistema di monitoraggio che girava ancora su MS-DOS.
Io sapevo programmare in Pascal e in Visual Basic, tuttavia non avevo mai visto un linguaggio così bizzarro come quello della logica ladder a relé. Non immaginavo nemmeno che per più di venticinque anni in quel linguaggio fatto di contatti, bobine e timer, ci sarei sguazzato!
Posso affermare oggi che imparare a programmare i PLC non è una cosa difficile, basta avere la giusta attitudine e una buona dose di curiosità. Questi due elementi da soli sono anche un ottimo punto di partenza per chi vuole imparare a programmare i sistemi SCADA e HMI, del resto l’universo in cui questi “pianeti” operano è lo stesso e le logiche di funzionamento dei due ambienti vanno a braccetto; anzi oggi sono praticamente integrate.
Sulla base della mia esperienza in campo e di ciò che ho insegnato anche agli altri nel corso degli anni, ho compilato una lista di dieci consigli che mi sento di dare a chi vuole avvicinarsi a questo mondo, partiamo subito!
Il primo consiglio che mi sento di dare a chi vuole imparare a programmare i PLC e di apprendere qualcosa di elettrotecnica. Servono le basi, ovvero capire cosa sono la tensione, la corrente e la resistenza; poi eventualmente documentarsi sui tipi di quadro elettrico in cui i controllori logici programmabili operano solitamente, ovvero i quadri elettrici d’automazione. Consiglio anche di apprendere come funzionano i relé, perciò le bobine e i contatti, e capirne la logica NC e NA (normalmente aperto e normalmente chiuso).
Imparate anche a leggere gli schemi elettrici, questo farà di voi un programmatore più completo e autonomo, soprattutto nelle fasi di collaudo dei macchinari e naturalmente del software che avrete creato con tanta dedizione.
Il secondo consiglio è di considerare il PLC un cervello che deve comunicare con il mondo esterno. Come fa ad acquisire la realtà e comandarla? Ecco che bisogna imparare quali sono gli “occhi” e le “orecchie” di quest’apparecchiatura, parliamo perciò di moduli di ingresso e uscita digitali e analogici, e di bus di campo (reti). Così come noi abbiamo i cinque sensi per ispezionare il mondo e i muscoli per agire su di esso, il plc ha ciò che ho appena elencato.
Terzo consiglio per imparare a programmare i plc: non fossilizzarsi su una marca di apparecchiature. La logica di funzionamento di questi controllori è sempre la stessa, quello che può cambiare sono le interfacce grafiche degli ambienti di programmazione e il modo di chiamare alcune istruzioni, variabili o altri oggetti, ma noi dobbiamo imparare a programmare “i plc” non “quel plc.” Vi assicuro per esperienza personale che una volta appreso come lavorare con un sistema, cambiare sistema è questione di poche ore di pratica, magari assistiti dai tecnici che i costruttori di queste apparecchiature mettono a disposizione.
Imparare le istruzioni elementari e non cercare subito di utilizzare blocchi di funzione complessi: per meglio apprendere come funziona questo mondo, io consiglio di cercare inizialmente di risolvere i compiti prefissati utilizzando le semplici istruzioni del linguaggio ladder oppure degli altri linguaggi scelti per il software. In altre parole, scrivete pure istruzioni ripetitive e non abbiate paura di digitare tanto, arriverà il momento in cui programmerete delle funzioni parametrizzate in un attimo per facilitarvi e velocizzarvi ogni compito.
Oggi i sistemi mettono a disposizione molte istruzioni avanzate che eseguono da sole una serie di compiti, tuttavia un vero programmatore è capace di arrangiarsi anche laddove questi elementi non ci sono. A volte può capitare di lavorare con PLC di quarant’anni fa, e più si ha esperienza con le cose semplici meglio ci si adatta.
Ispezionare il linguaggio del sistema di programmazione. Che si tratti del plc o del sistema di monitoraggio, è bene trovare del tempo per mettersi a leggere l’help e provare qualche istruzione che non si conosce. Ricordo che quando ero piccolo mi piaceva mettermi nel letto la sera con un volume scelto a caso tra i dieci dell’enciclopedia universale, una serie di tomi che pesavano tre kilogrammi ciascuno. Amavo aprire una pagina a caso e leggere, mi piaceva perché non sapevo mai che cosa stessi per imparare.
Fate questo con i manuali d’istruzione e gli help in linea delle suite di programmazione e scoprirete che imparerete molto di più; naturalmente vi capiterà di uscire dal letto e accendere il computer all’una di notte per provare quella funzione di cui stavate leggendo e che tanto vi ha incuriosito: questo è un ottimo segnale, significa che siete sulla strada giusta per diventare dei bravi programmatori.
Consiglio numero sei per aspiranti programmatori d’automazione: commentate i programmi ma non esagerate! Mettere dei commenti nei programmi dei plc e negli script dei sistemi scada è una buona abitudine, infatti potrebbe capitare che qualcun altro debba capire cosa avete scritto oppure che voi stessi a distanza di anni dobbiate reinterpretare il vostro lavoro; tuttavia evitate di commentare ogni singola riga, perché rischiereste di rendere la comprensione del software meno efficace.
Non serve mettere dieci commenti identici se per esempio avete dieci linee di programma consecutive che eseguono la stessa operazione ma su dei bit diversi; con un commento unico in testa alla prima riga ve la potete cavare egregiamente.
Il settimo consiglio è di simulare più che potete: oggi abbiamo la possibilità di lavorare con delle chiavi di licenza temporanee e demo quasi con ogni piattaforma di programmazione, anche quelle più importanti. Oltre a questo ci sono ambienti di sviluppo totalmente gratuiti come il Codesys che permettono oltre che di scrivere software, anche di simularlo e costruire dei piccoli sistemi di supervisione; con questi tool in pratica potrete diventare esperti di programmazione quasi a costo zero.
Attenzione però, un conto è imparare a programmare i PLC, tutt’altra cosa è imparare a progettare le procedure automatizzate! Di questo ne parliamo nel prossimo suggerimento, il numero otto.
Imparare a programmare i plc non richiede molto tempo, del resto si tratta di acquisire un linguaggio nuovo fatto di istruzioni che utilizzano variabili e che a fronte di ingressi generano uscite. Un poco semplicistico ma questo è.
Per diventare un buon programmatore però bisogna imparare a trasformare un “problema”, che poi è il compito da automatizzare, in algoritmi. Questo si apprende con l’esperienza, e soprattutto l’esperienza insegna a sapere già prima quali sono gli inconvenienti a cui si può andare in contro e come risolverli.
Ricordate che ogni software che scriverete, diventerà qualcosa da sistemare, e molte volte la fase di debug non si svolge comodamente seduti in ufficio ma su una linea produttiva con il cliente che vi osserva ansioso di “produrre” e guadagnare.
Un ottimo modo per imparare a essere flessibili e reattivi nel risolvere problemi è di mettervi a programmare dei compiti tra i più svariati, per esempio semplici gestioni di processi o di apparecchiature come non per esempio gestire un dosaggio, movimentare un braccio pneumatico, oppure inventarvi l’automatismo di un sistema di ascensori o di porte automatiche. Tutta questa pratica allargherà i vostri orizzonti e vi permetterà di capire quasi subito come risolvere ogni tipo di compito.
Il consiglio numero nove di oggi riguarda non tanto la programmazione del plc quanto l’approccio generale verso questo mestiere. Cercate sempre di capire cosa il cliente vuole e nei limiti del possibile di ascoltarlo. Molto spesso avrete di fronte qualcuno che ha anni di esperienza in quello che fa e che magari è un “grande capo”. Solo che non fa il vostro mestiere, per cui magari non usa lo stesso vostro modo di esprimersi e non riuscirete a capirlo appieno.
In quel caso non fate il classico “muro contro muro” ma ponetevi umilmente e cercate di far capire al cliente che così come lui ha tanta esperienza nell’ “impastare i suoi biscotti”, voi ne avete tanta nel trasformare procedure in programmi per PLC.
Se poi voi siete molto giovani e poco esperti, mostrate il doppio di dose di umiltà e sicuramente il cliente vi aiuterà; a volte basta un “mi daresti una mano a capire…” per ribaltare certe situazioni e portare il personaggio "ostico" a diventare il vostro "migliore amico".
Consiglio numero dieci per gli aspiranti “uomini d’automazione”. L’ultimo consiglio che vi do oggi è questo: non accontentatevi. Cosa intendo dire? Il mestiere di programmatore può dare molte soddisfazioni ma per far sì che questo accada dovete in un certo senso eccellere. Questo vale un po’ per tutti i mestieri ma è bene sottolinearlo.
Non dovrete essere solo dei bravi programmatori, ma puntare a essere il programmatore di cui il cliente chiede quando chiama il vostro capo se siete dei dipendenti, o che viene contattato direttamente dai clienti perché qualcuno gliel’ha consigliato.
Buon lavoro!