frapi2025
Ominide
13 min. di lettura
Vota

Concetti Chiave

  • Il PLC è stato introdotto negli anni '70 come sistema di controllo nelle fabbriche, sostituendo i sistemi a relè e fungendo da ponte tra elettromeccanica ed elettronica.
  • Un PLC è composto da unità alimentatore, CPU, memoria e unità di ingresso/uscita che trasformano i segnali elettrici in segnali interpretabili dalla CPU.
  • I linguaggi di programmazione dei PLC includono Ladder diagram, linguaggio booleano, linguaggio letterale e linguaggio grafcet, ognuno con usi specifici.
  • Nei circuiti a relè, le uscite sono attivate in parallelo, mentre nei PLC l'elaborazione è sequenziale, passando attraverso diverse fasi di elaborazione.
  • L'algebra booleana e i teoremi come quello di De Morgan forniscono basi matematiche per la manipolazione delle espressioni logiche nei PLC.

Indice

  1. Storia del PLC
  2. Hardware del PLC
  3. Algebra booleana
  4. Concetti fondamentali
  5. Postulati
  6. Teorema di De Morgan
  7. Sistemi di numerazione
  8. Differenza tra un circuito a relè e la logica del PLC
  9. Linguaggi dei PLC
  10. Ladder diagram
  11. Linguaggio booleano
  12. Linguaggio letterale
  13. Linguaggio grafcet
  14. Istruzioni base del PLC
  15. Esempi di programmazione
  16. Circuito con combinazione logica AND
  17. Circuito con combinazione logica AND
  18. Circuito con combinazione logica OR
  19. Circuito con combinazione logica AND prima di OR
  20. Circuito con combinazione logica OR prima di AND
  21. Circuito di temporizzazione con ritardo all'eccitazione (Siemens SE)

Storia 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.

Hardware del PLC

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
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
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
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 booleana

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

Concetti fondamentali

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

Postulati

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

Teorema di De Morgan

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 di numerazione

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)

Differenza tra un circuito a relè e la logica del PLC

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 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

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.

Istruzioni base del PLC

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

Veniamo ora alla parte più interessante, faremo degli esempi su come trasferire un circuito a logica cablata su un PLC.

Circuito con combinazione logica AND

Esso corrisponde al collegamento in serie della logica cablata

Circuito con combinazione logica AND

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

Circuito con combinazione logica OR

In AWL Siemens:
O E0.0
O E0.1
= A1.0

Circuito con combinazione logica AND prima di OR

In AWL Siemens:
U E0.0
U E0.1
O
U E0.2
U E0.3
= A1.0

Circuito con combinazione logica OR prima di AND

In AWL Siemens:
U(
O E0.0
O E0.1
)
U(
O E0.2
O E0.3
)
= A1.0

Circuito di temporizzazione con ritardo all'eccitazione (Siemens SE)

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

  1. Qual è l'origine e l'evoluzione del PLC?
  2. Il PLC (Programmable Logic Controller) è nato negli anni '70 come sistema di controllo nelle fabbriche, sostituendo i sistemi a relè. Oggi, ha in gran parte soppiantato i quadri a logica cablata a relè, fungendo da ponte tra elettromeccanica ed elettronica.

  3. Quali sono le componenti principali di un PLC?
  4. Un PLC è composto da un'unità alimentatore, un'unità centrale o CPU, un'unità di memoria, e unità di ingresso e uscita I/O, che trasformano i segnali elettrici in segnali interpretabili dalla CPU.

  5. Quali sono i principali linguaggi di programmazione dei PLC?
  6. I principali linguaggi di programmazione dei PLC includono il Ladder diagram, il linguaggio booleano, il linguaggio letterale e il linguaggio grafcet, ciascuno con caratteristiche specifiche per diverse applicazioni.

  7. Come si differenzia un circuito a relè dalla logica del PLC?
  8. Nei circuiti a relè, l'attivazione delle uscite avviene in modo parallelo, mentre nei PLC l'elaborazione è sequenziale, passando attraverso l'elaborazione dei segnali in ingresso, del programma e dello stato delle uscite.

  9. Cosa afferma il teorema di De Morgan nell'algebra booleana?
  10. Il teorema di De Morgan afferma che la negazione di un OR è equivalente a un AND con ingressi negati e viceversa, fornendo una base per la manipolazione delle espressioni logiche.

Domande e risposte