Spesso mi arrivano e-mail dove vengono richieste informazioni sui Linguaggi
di programmazione a disposizione dei plc:

  • Si possono programmare in C++?
  • Hanno la programmazione in Visual Basic?
  • Quanti linguaggi possiede un plc?
  • I linguaggi supplementari vanno acquistati a parte?

Cercherò, in questo articolo, di fare un pò di chiarezza sull’argomento, rimandando
a manuali specialistici o a Videocorsi specialistici, l’approfondimento ai vari tipi di
linguaggi.

confusione-300x300 Uno dei problemi più sentiti nell’ambito
della programmazione dei plc, è l’assenza
di una piattaforma comune.

Non esiste un ambiente (unico) dove poter
Programmare tutti i plc presenti sul mercato.

In realtà c’è CODESYS, ma i grossi player
del mercato come Siemens, Allen Bradley e
Omron non hanno aderito a questa piattaforma.

 

Ogni costruttore Plc è legato al proprio ambiente di programmazione, che propone
a pagamento insieme all’ hardware. Potrebbero mai rinunciare al Business? NO!

Per cercare di normalizzare in qualche modo la programmazione dei plc e andare
incontro alle esigenze di un mercato, sempre più insofferente a queste situazioni,
si è arrivati a creare un organismo internazionale a cui hanno aderito tutti i maggiori
costruttori di Plc. Questo organismo si chiama PLCopen.

Dopo vari tentativi, gli sforzi comuni hanno partorito una normativa (dapprima 1131-3)
a cui le piattaforme software dei costruttori, devono fare riferimento: IEC 61131-3.

Lo standard definisce 5 tipologie di linguaggi, 2 di tipo letterale e 3 di tipo grafico, con
l’obiettivo di consentire agli addetti ai lavori una programmazione di tipo strutturato,
oltre a un maggior riutilizzo dei software realizzati:

  • IL  – Instruction List  (Lista Istruzioni)
  • ST – Structrured Text (Testo Strutturato)
  • Ladder
  • FBD – Function Block Diagram (Diagramma Blocchi Funzione)
  • SFC – Sequenzial Function Chart (Diagramma a Funzioni Sequenziali)


                             IL – INSTRUCTION LIST

E’ un linguaggio di basso livello, con una struttura simile a quella dell’Assembler.
Rappresenta il linguaggio di base per un plc a noma 61131-3, non in modo implicito
ma per il fatto che quasi tutti gli altri linguaggi vengono tradotti in IL, prima di essere
trasferiti nel plc.

Di seguito un esempio di un linguaggio di tipo IL: AWL di Siemens. (Pur non rientrando
tra i linguaggi IL contemplati dalla norma IEC 61131-3, il linguaggio di programmazione
AWL è il più utilizzato di questo Standard)

IL_Awl_Siemens

 

 

                            ST – STRUCTURED TEXT

Il linguaggio ST (Testo Strutturato) è un linguaggio ad alto livello simile a quello
del Pascal o del C. Particolarmente adatto per applicazioni dove occorre effettuare
calcoli aritmetici complessi
, viene utilizzato più frequentemente dai Tecnici di
estrazione Informatica
.

Di seguito un esempio di un linguaggio di tipo ST: SCL di Siemens.

ST_SCL

 

 

                               LADDER

Il Ladder (Diagramma a relè) è il più vecchio linguaggio di programmazione per i plc.
Fu creato inizialmente per rendere più accessibile la programmazione, ai Tecnici
di estrazione Elettrica
. Si basa infatti sui simboli di provenienza elettrica:
Binari di potenza, contatti elettrici e avvolgimenti magnetici.

E’ in assoluto il linguaggio più utilizzato (e il più veloce da imparare) dei linguaggi
di programmazione dedicati ai plc. Molto potente nelle fasi di monitoraggio e test
dei programmi realizzati.

Di seguito un esempio di un linguaggio di tipo Ladder: CXOne di Omron.

Ladder_Omron

 

 

                       FBD – FUNCTION BLOCK DIAGRAM

FBD (Diagramma Blocchi Funzione) è un linguaggio di tipo grafico e viene rappresentato
con la simbologia tipica dei circuiti elettronici
. Per questo motivo viene apprezzato e
utilizzato soprattutto dai Tecnici di Estrazione Elettronica. Non permette di sfruttare
appieno tutte le potenzialità del plc e non è adatto per gestire  programmi complessi.


Di seguito un esempio di un linguaggio di tipo FBD: FUP di Siemens.

FBD_Siemens

 

            SFC – SEQUENZIAL FUNCTION CHART

SFC (Diagramma a Funzioni Sequenziali) è un linguaggio di tipo grafico orientato
alla sequenzialità. Si basa sul concetto di Stati e Transizioni.
Dentro gli Stati avvengono le azioni di comando (pilotaggio uscite fisiche, settaggio bit…),
mentre le Transizioni sono le condizioni che permettono il passaggio da uno Stato
ad un altro (condizioni di Transizione).

Sia gli Stati che le Transizioni devono essere univoci all’interno della sequenza,
fornendo una sorta di modello matematico, funzionale e sicuro. 


Di seguito un esempio di un’ applicazione SFC.

SFC

Al di la dei linguaggi di programmazione da utilizzare, è importante trovare, impostare
e seguire un metodo di lavoro
, che sia il più possibile efficiente e che permetta di
realizzare le proprie applicazioni, in modo veloce e sicuro!

Ciao a Tutti.
Gilberto

Plc – I linguaggi di Programmazione
Tagged on: