CORSO SUI
PLC (Controllori a logica programmabile)
TERZA PARTE
Linguaggi dei PLCI linguaggi di programmazione dei PLC sono svariati e soddisfano in genere le necessità dell'operatore che si avvicina a tale ambiente.
Anche in questo settore, si è sentita l'esigenza di uniformare i linguaggi utilizzati; è infatti nata la norma IEC 1131 la quale, partendo da un'analisi dei linguaggi impiegati dalle varie ditte produttrici, indica quali sono gli standard.
Vediamo ora, i principali linguaggi utilizzati dai PLC:
Ladder diagram
Linguaggio booleano (mnemonico o lista istruzioni)
Linguaggio letterale
Linguaggio grafcet
Ladder diagram
Il ladder diagram è il primogenito tra i linguaggi utilizzati per la programmazione dei PLC.
Questo si deve al fatto che inizialmente il PLC andava a sostituire la logica cablata che utilizzava i relè.
Il ladder (chiamato anche schema a contatti o diagramma a relè) è tuttora il linguaggio più diffuso, poiché permette l'avvicinamento al PLC in modo immediato.
E' un linguaggio molto assomigliante ad una elaborazione di tipo elettromeccanico, dove il programma è scritto all'interno di due barre verticali che indicano le alimentazioni (la barra di destra alcuni software la omettono).
Ogni riga circuitale è divisa in due parti: zona di test (con le variabili d'ingresso o interne) e zona delle azioni (comprende le bobine d'uscita ed interne oltre a determinati blocchi funzione).
Nella lettura del programma la CPU esegue una scansione ciclica, che compie il suo percorso segmento per segmento, da sinistra verso destra e dall'alto verso il basso. Questa differenza tra logica cablata è molto importante da comprendere prima di iniziare a programmare un PLC. (Per approfondimenti postate nella sezione PLC didattica del PLCforum).
Linguaggio booleano
Esso è il metodo di programmazione che più si avvicina alla logica con cui lavora il microprocessore.
Tale linguaggio è usato anche dalle console di programmazione. La programmazione assume la sembianza di una lista istruzioni, dove compare il passo di programma associato al codice della funzione logica e l'indirizzo a cui si riferisce l'operazione.
Le istruzioni variano da marca a marca. In particolare Siemens utilizza un linguaggio un po' diverso chiamato AWL.
Linguaggio letterale
Sono quei linguaggi di base informatica, evoluzioni del Basic, C, Fortran o Pascal.
Esso è costituito da una successione di stringhe che contengono:
- un'etichetta identificatrice di linea
- una frase letterale, che è il programma vero e proprio
- un commento alla riga di programma
Questo è senza dubbio il linguaggio più potente per la programmazione dei PLC che però non è supportata da tutti i PLC.
Linguaggio grafcet
Il linguaggio grafcet (Graphe de Commande Etape/Transition) nasce in Francia con l'obbiettivo di creare una rappresentazione grafica delle funzioni che un ciclo automatico compie.
E' un'insieme di simboli grafici che descrivono delle fasi e delle transizioni che rispettano determinate regole di sintassi.
Il grafcet è stato normalizzato con la normativa NF C03-190 dell'UTE.
Le varie istruzioni variano da marca a marca e solo in questi ultimi anni quasi tutte le case produttrici stanno uniformando i linguaggi di programmazione utilizzando la norma IEC 1131.
Quindi tutti i software dichiarati IEC1131 compatibili sono tutti simili tra loro, col le stesse funzioni.
Tabella di esempio delle principali funzioni logiche analizzate tra varie marche di PLC:
LOAD | STR | STR | L | L | STRT | LD | STR | L | |
LOAD-NOT | STR-NOT | STR-NOT | LN | LN | STRT-NOT | LD-NOT | STR-NOT | LN | |
AND | AND | AND | A | A | AND | AND | U | AND | A |
AND-NOT | AND-NOT | AND-NOT | AN | AN | AND-NOT | AND-NOT | UN | AND-NOT | AN |
OR | OR | OR | O | O | OR | OR | O | OR | O |
OR-NOT | OR-NOT | OR-NOT | ON | ON | OR-NOT | OR-NOT | ON | OR-NOT | ON |
OUT | OUT | OUT | = | = | OUT | OUT | = | OUT | = |
TIMER | TMR | T | TR | PT | T | TIM | T | TMR | =T |
COUNTER | CNT | C | C | PP | C | CNT | Z | CNT | CU/CD |
CGE | HITACHI | MOELLER | LOVATO | NATIONAL | OMRON | SIEMENS | SPRECHER SCHUCH |
TELEMECANIQUE |