Corsi Plc Multimediali

Plc – I linguaggi di Programmazione

giugno 1, 2012GilbertoBlog, Home page, Plc7

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 po’ di chiarezza su questo argomento,
rimandando a manuali specialistici l’approfondimento di ogni linguaggio.

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.

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

You can follow any responses to this entry through the RSS feed. You can skip to the end and leave a response. Pinging is currently not allowed.

Tagged

  • V Cristofoletto

    E’ una bella e ben fatta sintesi.  Penso comunque che trovare una standardizzazione universale richiederà ancora un lungo percorso.
    Personalmente vedo una prima grossa suddivisione in:
    a) Automazioni BASE con logica a contatti + eventuale display
    b) Automazioni ESTESE in cui i PLC diventano dei semplici esecutori (Slave) mentre il
        sistema intelligente (master) contiene il software di tutto, dispone di display, touch
        screen, linee di comunicazione (per me la migliore resta sempre Ethernet, in unione agli
        Switches), ecc. In questo caso l’ ambiente di sviluppo deve basarsi su concetti base
        standard ma pesantemente legato ancora alle filosofie del costruttore.
    ciao
    valentino cristofoletto

    • gil46disq

      Ciao Valentino,
      probabilmente andrà come dici tu, anche se prevedere gli scenari in un mondo complesso e in continua evoluzione come quello dell’Automazione in generale e dei plc in particolare, è un compito abbastanza arduo! Noi teniamoci pronti…

  • Davide

    Molto chiaro

  • Andrea

    Ciao Gilberto sei sempre chiaro e sintetico come piace a mè e mi Auguro anche ad altri!Andrea

  • Sergio_Madasi

    Ciao Gilberto.

    Interessante articolo.

    I tre di Siemens li conosco già e li padroneggio. Purtroppo la mia azienda usa solo Siemens e non ho avuto modo di far pratica con l’ST o il SFC (che per Siemens è un pacchetto opzionale).
    Se uno viene chiamato a eseguire un programma, ha la possibilità di scegliere il linguaggio più congeniale.
    Quando si deve intervenire su programmi già presenti, ci si deve adattare.
    Per questo, mi piacerebbe acquistare dei minivideocorsi su argomenti specifici, (ad esempio sull’ST) dove ci sia una parte teorica (che trovo sui manuali) ed una di comparazione e/o pratica per capire meglio ed ed essere pronti quando ci si troverà ad affrontare nuove sfide.
    Come dici tu,  bisogna tenersi pronti e quindi aggiornati.

    • gil46disq

      Ciao Sergio, ottima riflessione!

      Quando intervieni su una macchina o su un impianto di terzi, devi fare di necessità virtù e cercare di uscirne fuori in qualche modo, visto che i tempi a disposizione sono sempre “pochi”.

      Per il linguaggio ST vedremo di realizzare qualcosa ad Hoc, prendendo come riferimento il linguaggio SCL di Siemens.

  • Pingback: plc scada training prolific-trg.com,

Post recenti
Cerca
Categorie
Cerca l’argomento di tuo interesse!
Nella Sezione Blog trovi vari articoli legati al mondo dei Plc e degli Scada... e non solo! Lascia un tuo libero commento per sapere come la pensi, in merito a questi argomenti.
Seguimi sui Social