Concetti Chiave
- Il PLC è stato introdotto negli anni '70 per sostituire i sistemi a relè, diventando un elemento chiave nel controllo industriale.
- Ogni PLC è composto da un'unità alimentatore, una CPU, un'unità di memoria e unità di ingresso/uscita per gestire i segnali elettrici.
- Le memorie nei PLC variano tra RAM, ROM, EPROM ed EEPROM, ognuna con specifiche funzioni e caratteristiche di scrittura e cancellazione.
- I linguaggi di programmazione dei PLC, come il Ladder diagram e il linguaggio grafcet, sono stati standardizzati per facilitare l'interoperabilità tra diversi modelli.
- La logica di un PLC elabora i segnali in ingresso, il programma e lo stato delle uscite in modo sequenziale, a differenza dei circuiti a relè che operano in parallelo.
Origini e componenti del PLC
Il PLC (Programmable Logic Controller) nasce intorno agli anni '70 come sistema di controllo nelle fabbriche produttrici di materiali pesanti, in sostituzione dei sistemi che utilizzano relè.
Oggigiorno il PLC ha in gran parte soppiantato i quadri a logica cablata a relè, esso è considerato il punto di intermediazione tra elettromeccanica ed elettronica.
Ogni PLC è costituito da:
• Unità alimentatore
Alcuni modelli di PLC hanno l'alimentatore direttamente dalla rete 230V, altri modelli invece usano un'ingresso a 24VDC, il quale viene solitamente poi ridotto a 5V per la CPU.
Alcuni modelli di PLC hanno a disposizione un'uscita stabilizzata a 24VDC per alimentare direttamente i suoi ingressi digitali.
• Unità centrale o CPU
Funzionamento della CPU del PLC
CPU dall'inglese Central Processing Unit è il cuore del sistema, le sue funzioni sono:
eseguire l'acquisizione dei segnali d'ingresso, creandone l'immagine negli appositi registri di memoria dati
controllare la sequenza con cui le istruzioni del programma vengono lette nella memoria programma, interpretate secondo i loro codici operativi e infine eseguite secondo lo stato logico assegnato agli ingressi
interrompere la sequenza normale di programma in presenza di salti, di richiami a sottoprogrammi e interruzioni
generare le uscite abilitate dell'elaborazione delle varie istruzioni del programma, aggiornandole di volta in volta a ogni ciclo di scansione
• Unità di memoria
Tipologie di memoria nei PLC
L'unità di memoria dei PLC può essere di diversi tipi: RAM, ROM, PROM, EPROM, EEPROM.
In genere le memorie di tipo RAM vengono utilizzate per la memoria dati e la memoria programma in esecuzione, esse sono di tipo volatile, cioè perdono il contenuto se viene a mancare tensione, quindi devono essere tamponate da batteria.
Le memorie di tipo ROM-PROM contengono il firmware (sistema operativo del PLC).
Le memorie di tipo EPROM e EEPROM contengono il programma utente in veste definitiva, con la differenza che le EPROM per essere scritte hanno bisogno di un apposito scrittore e per essere cancellate hanno bisogno di una lampada a raggi ultravioletti, invece le EEPROM possono essere scritte e riscritte con dei semplici comandi da programma o da PLC. Queste in alcuni modelli di PLC sono di tipo estraibile.
• Unità di ingresso e uscita I/O
Ingressi e uscite del PLC
La loro funzione è di trasformare i segnali elettrici dai/ai dispositivi esterni al PLC in segnali interpretabili dalla CPU.
Esistono tante tipologie di unità ingresso e uscita in seguito trovate un breve riassunto, per informazioni dettagliate potete fare riferimento ai manuali hardware dei rispettivi PLC, oppure richiedermeli via e-mail.
• Unità ingresso digitale
PNP a logica positiva (dal dispositivo d'ingresso proviene un segnale positivo)
NPN a logica negativa (dal dispositivo d'ingresso proviene un segnale negativo)
• Unità ingresso analogico
in tensione 0-10V
in corrente 4-20mA
Il valore rilevato in ingresso viene convertito in digitale con risoluzione di 8, 10, 12 ,16 bit.
Per esempio, se abbiamo un convertitore digitale a 8 bit, in ingresso una tensione che varia da 0 a 10V l'uscita digitale del convertitore varierà da 0 a 255.
• Unità uscite digitali
PNP (transistor)
NPN (transistor)
a relè
a triac
• Unità uscite analogiche
sono l'inverso degli ingressi analogici
• Moduli speciali (vedere il rispettivo manuale)
interfacciamento termocoppia, PT100
conteggio veloce
posizionamento assi
comunicazione
PID
seriali
AVANTI >
HOME RICONOSCIMENTI NEWSLETTER ARCHIVIO FILE DIDATTICA UPLOAD/DOWNLOAD LINK EMAIL
Algebra di Boole e teoremi
L'algebra di Boole (1815/1864) venne sviluppata come modello matematico da applicarsi alle operazioni sugli insiemi formati da due soli valori (0,1).
Lo studio si articola su tre passi distinti:
1. definizione dei concetti fondamentali
2. derivazione dei postulati partendo dai concetti fondamentali
3. teoremi
Classe(K) è definita come l'insieme costituito dagli elementi 0,1
OR(+) o somma binaria, è un'operazione definita su due elementi della classe
AND(*) o prodotto binario, è un'operazione definita su due elementi della classe
NOT(-) o negazione, un'operazione definita su un solo elemento della classe
= uguale, è il simbolo che definisce l'uguaglianza di elementi della classe
Proprietà commutativa:
A+B=B+A
A*B=B*A
Proprietà distributiva:
A+(B*C)=(A+B)*(A+C)
A*(B+C)=A*B+A*C
Elementi identità:
0+A=A
1*A=A
Uguaglianze:
A+A/=1
A*A/=0
TEOREMI:
Teorema di idempotenza:
A+A=A
A*A=A
Teorema dell'involuzione (doppia negazione):
A//=A (con numero pari di negazioni)
A///=A/ (con numero dispari di negazioni)
Teorema dell'assorbimento:
A+A*B=A
A*(A+B)=A
Teorema dell'unione e dell'intersezione:
A+1=1
A*0=0
Teorema dell'associazione:
A+(B+C)=(A+B)+C
A*(B*C)=(A*B)*C
Il teorema afferma che:
A+B(tutto negato)=A/*B/
A*B(tutto negato)=A/+B/
quindi:
un nor equivale ad un and con gli ingressi negati
un nand equivale ad un or con gli ingressi negati
Sistemi numerici e logica cablata
Numerico decimale:
0,1,2,3,4,5,6,7,8,9
Ottale:
0,1,2,3,4,5,6,7
Esadecimale:
0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F
Binario:
0,1
bit 0
bit 1
byte 11001100 (gruppo di otto bit)
word 11001100 11001100 (due byte) (16bit)
doppia word 11001100 11001100 11001100 11001100 (due word) (32 bit)
In un circuito di tipo a relè (od a logica cablata) l'attivazione delle uscite avviene in modo parallelo e quindi il rinfresco delle stesse avviene con tempi legati alla sola risposta delle singole apparecchiature.
In un circuito a logica programmabile l'elaborazione avviene in modo sequenziale:
1. elaborazione segnali in ingresso
2. elaborazione programma
3. elaborazione stato uscite
AVANTI >
HOME RICONOSCIMENTI NEWSLETTER ARCHIVIO FILE DIDATTICA UPLOAD/DOWNLOAD LINK EMAIL
Linguaggi di programmazione dei PLC
I 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 e logica cablata
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).
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 e grafcet
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.
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
Esempi di programmazione in AWL
Veniamo ora alla parte più interessante, faremo degli esempi su come trasferire un circuito a logica cablata su un PLC.
Esso corrisponde al collegamento in serie della logica cablata
In AWL Siemens:
U E0.0
U E0.1
= A1.0
Circuito con combinazione logica OR
Esso corrisponde al collegamento in parallelo della logica cablata
In AWL Siemens:
O E0.0
O E0.1
= A1.0
In AWL Siemens:
U E0.0
U E0.1
O
U E0.2
U E0.3
= A1.0
In AWL Siemens:
U(
O E0.0
O E0.1
)
U(
O E0.2
O E0.3
)
= A1.0
Esempio di programma in ladder:
Circuito di temporizzazione con uscita ad impulso (Siemens SI)
Esempio di programma in ladder:
Circuito di temporizzazione con uscita ad impulso prolungato (Siemens SV)
Esempio di programma in ladder:
Circuito di temporizzazione con ritardo all'eccitazione con memoria (Siemens SS)
Esempio di programma in ladder:
Circuito di temporizzazione con ritardo alla diseccitazione (Siemens SA)
Domande da interrogazione
- Qual è l'origine del PLC e come si è evoluto nel tempo?
- Qual è l'origine del PLC e come si è evoluto nel tempo?
- Quali sono le principali componenti di un PLC?
- Quali sono le principali componenti di un PLC?
- Che tipi di memoria possono essere presenti in un PLC?
- Che tipo di memorie possono essere utilizzate nei PLC?
- Quali linguaggi di programmazione sono utilizzati per i PLC?
- Quali linguaggi di programmazione sono utilizzati per i PLC?
- Come funziona il Ladder diagram nella programmazione dei PLC?
- Come funziona il Ladder diagram nella programmazione dei PLC?
Il PLC (Programmable Logic Controller) è nato negli anni '70 come sistema di controllo nelle fabbriche di materiali pesanti, sostituendo i relè. Oggi ha soppiantato in gran parte i quadri a logica cablata, fungendo da interfaccia tra elettromeccanica ed elettronica.
Il PLC (Programmable Logic Controller) è nato negli anni '70 come sistema di controllo nelle fabbriche di materiali pesanti, sostituendo i relè. Oggi ha soppiantato in gran parte i quadri a logica cablata, fungendo da interfaccia tra elettromeccanica ed elettronica.
Un PLC è composto da un'unità alimentatore, un'unità centrale (CPU), un'unità di memoria, e unità di ingresso e uscita (I/O). Queste componenti lavorano insieme per acquisire segnali, eseguire programmi e generare uscite.
Un PLC è composto da un'unità alimentatore, un'unità centrale (CPU), un'unità di memoria, e unità di ingresso e uscita (I/O). Queste componenti lavorano insieme per acquisire segnali, eseguire programmi e generare uscite.
Le memorie nei PLC possono essere RAM, ROM, PROM, EPROM ed EEPROM. Le RAM sono volatili e utilizzate per dati e programmi in esecuzione, mentre le ROM e PROM contengono il firmware. Le EPROM e EEPROM contengono il programma utente, con la differenza che le EEPROM possono essere riscritte facilmente.
Le memorie nei PLC possono essere di diversi tipi, tra cui RAM, ROM, PROM, EPROM ed EEPROM. Le RAM sono volatili e utilizzate per dati e programmi in esecuzione, mentre le ROM e PROM contengono il firmware.
I principali linguaggi di programmazione per i PLC includono il Ladder diagram, il linguaggio booleano, il linguaggio letterale e il linguaggio grafcet. La norma IEC 1131 ha contribuito a uniformare questi linguaggi tra i vari produttori.
I principali linguaggi di programmazione per i PLC includono il Ladder diagram, il linguaggio booleano, il linguaggio letterale e il linguaggio grafcet. La norma IEC 1131 ha contribuito a uniformare questi linguaggi.
Il Ladder diagram è un linguaggio di programmazione che simula la logica cablata, con un layout che rappresenta circuiti elettrici. La CPU esegue una scansione ciclica del programma, interpretando le variabili d'ingresso e generando le uscite in base alla logica definita.
Il Ladder diagram è un linguaggio di programmazione che simula la logica cablata, con un layout che rappresenta circuiti elettrici. La CPU esegue una scansione ciclica del programma, interpretando le istruzioni da sinistra a destra e dall'alto verso il basso.