PLC e programmazione

Transcript

PLC e programmazione
CONTROLLORI LOGICI
PROGRAMMABILI
PLC
Docente: Miglietta Giovanni
Generalità sul PLC
• I primi PLC furono introdotti sul mercato verso la
fine degli anni 60. La ragione fondamentale del
loro sviluppo era di cercare di eliminare gli alti
costi dei controlli basati su logiche a relè.
• La Bedford Associates (Bedford, MA) propose un
sistema chiamato Modular Digital Controller
(MODICON) alla maggiore casa automobilistica
americana. Altre compagnie proposero,
contemporaneamente, degli schemi basati su
computer, uno dei quali era basato sul PDP-8. Il
MODICON 084 fu il primo PLC ad entrare in
produzione
Logica cablata
e
logica programmabile
PROGRAMMABLE LOGIC CONTROLLER
O PLC
• I PLC SONO DISPOSITIVI DI
ELABORAZIONE DESTINATI A
RIMPIAZZARE I CIRCUITI A RELÈ
UTILIZZATI PER REALIZZARE
L’AUTOMAZIONE DI UN IMPIANTO
• I PLC SONO PRESENTI IN TUTTE
LE FASI DELLA PRODUZIONE
INDUSTRIALE, OVUNQUE SIA
NECESSARIO UN CONTROLLO
ELETTRICO DI UNA MACCHINA.
Evoluzione storica
IL PLC È NATO PER SOSTITUIRE SISTEMI DI AUTOMAZIONE
REALIZZATI CON
LOGICHE CABLATE A RELÈ
QUADRI A RELÈ
• CON I QUADRI A RELÈ LA FUNZIONE CHE SI VUOLE REALIZZARE È
DEFINITA RIGIDAMENTE DAL TIPO DI CONTATTO DI RELÈ CHE SI UTILIZZA
(NORMALMENTE APERTO O NORMALMENTE CHIUSO) E DAI SUOI
COLLEGAMENTI
• OGNI MODIFICA DEL CONTROLLO COMPORTA QUINDI MODIFICHE AL
CABLAGGIO O UN ADEGUAMENTO DEI RELÈ
• UN MODESTO VANTAGGIO DELLA SOLUZIONE A RELÈ CONSISTE NEL FATTO
CHE, TRATTANDOSI DI UN COMPONENTE DI POTENZA, ESSO PERMETTE
L'INTERFACCIAMENTO DIRETTO DEL CONTROLLO CON IL CAMPO
• IL RELÈ È UN OGGETTO INGOMBRANTE E POCO AFFIDABILE (È COMUNQUE
UN DISPOSITIVO MECCANICO E QUINDI SOGGETTO AD USURA)
Caratteristiche di un PLC










Numero max. I/O
Tipologia moduli di I/O
Criterio costruttivo (monoblocco, modulare)
Massima dimensione del programma (capacità di memoria)
Set di istruzioni
Tempo di scansione
Espandibilità
Moduli speciali
Periferiche
Collegabilità in rete
Categorie di PLC
In base ai punti di input-output gestibili ed alla capacità di memoria, i PLC si
suddividono nelle seguenti categorie:
- Micro-PLC: fino a 64 punti di input-output digitali, memorie da 1 a 2 KB;
- Piccoli PLC: da 64 a 512 punti di input-output digitali e/o analogici, memoria fino
a 4 KB, connessione in rete;
- Medi PLC: da 512 a 2048 punti di input-output digitali e/o analogici, memorie di
decine di KB, connessione in rete e moduli speciali;
- Grandi PLC: massime caratteristiche di capacità e completezza, sia hardware
che software.
Si hanno PLC di:
· gamma bassa, quando controllano fino a 64 I/O
· gamma media, quando controllano tra 64 e 512 I/O
· gamma alta, quando controllano più di 512 I/O.
Si dicono compatti o monoblocco i PLC che si presentano in una
configurazione rigida che non può essere quasi mai modificata.
Si dicono invece modulari, quelli che sono configurabili a piacere dall’utente
in base alle sue esigenze.
Struttura del PLC
PLC Siemens SIMATIC S7-400
PLC Siemens SIMATIC S7-312
PLC Telemecanique serie Twido
PLC Hitachi EH-150
PLC Telemecanique TSX Micro
PLC Telemecanique TSX Premium
PLC Siemens S7-300
Produttori di P.L.C.
•Siemens
•Allen-Bradley
•Omron
•Telemécanique
•GE Fanuc
•Toshiba
•KlocknerMoeller
•Mitsubishi
•Matsushita
•Bosh
•Hitachi
•Modicon
I sistemi di controllo e il PLC
Esempio di sistema di controllo
con PLC
PLC a singolo
processore
PLC multi-processore
Rete di PLC
Struttura gerarchica del
SW di un PLC
Comunicazione tra PLC
Controllo,
Supervisione
Bus di Campo
PLC
micro-PLC,
dispositivi
intelligenti
Sensori
Bus di Dispositivi
Bus di Sensori
8
bit
bytes
30
messaggi
256
file
BatiBus, InterBus S, CAN (DeviceNet), LONWorks
InterBus S, CAN (DeviceNet), LONWorks, Profibus DP-PA-FMS,
WorldFIP
Profibus PA-FMS, WorldFIP, FieldBus Fondation, FieldBus IEC 61158
Ethernet, Token Bus
bit
Relè programmabili
Zen
Logo
Zelio
Schema a blocchi della struttura di un PLC
Confronto logica cablata e
logica programmata
•Spazi
•Tempi
•Affidabilità
•Consumi
•Velocità
•Costi
Spazi
PLC
Logica cablata
Minor ingombro
Maggior ingombro
L’eliminazione dei
componenti
elettromeccanici
riduce gli spazi
necessari
Il cablaggio dei
componenti
elettromeccanici
richiede maggiori
spazi
Tempi di esecuzione
PLC
Logica cablata
Minori
Maggiori
•Eliminazione cablaggi
•Eliminazione collaudi
(eseguibili al banco)
•Nessuna o ridotte
modifiche al circuito per
modifiche all’impianto
•Installazione componenti
•Collaudi
•Eventuali modifiche
all’impianto richiedono
modifiche al circuito
Affidabilità
PLC
Logica cablata
Maggiore
Minore
•Assenza di parti
meccaniche in
movimento
•Apparecchiature
meccaniche con vita
limitata
Sensibile alle
interferenze (richiede
protezione)
Insensibile alle
interferenze
Consumi
PLC
Ridotti consumi di
energia
Logica cablata
Maggiori consumi di
energia
(in relazione
all’impianto realizzato)
Velocità
PLC
Minore velocità
(a causa dei tempi
richiesti dall’esecuzione
del programma, ma
sufficiente al corretto
funzionamento degli
impianti )
Logica cablata
Maggiore velocità
Costi
PLC
Conveniente per
applicazioni non
eccessivamente
semplici
Logica cablata
Conveniente per
applicazioni molto
semplici
Componenti fondamentali di un PLC
ARMADIO (CESTELLO O RACK)
- CONTIENE GLI ALTRI MODULI
- ASSICURA LA CONNESSIONE ELETTRICA ATTRAVERSO IL
BUS SUL FONDO DEL RACK
ALIMENTATORE
- ALIMENTAZIONE PER TUTTE LE SCHEDE PRESENTI NEL
RACK
MODULO PROCESSORE
- SCHEDA A MICROPROCESSORE
- CONTROLLA E SUPERVISIONA TUTTE LE OPERAZIONI
ESEGUITE ALL’INTERNO DEL SISTEMA
MODULI I/O
- SCHEDE CHE PERMETTONO L’INTERFACCIAMENTO DEL
MODULO PROCESSORE CON IL MONDO ESTERNO
TERMINALE DI PROGRAMMAZIONE
- QUALSIASI PERSONAL COMPUTER DOTATO DI SCHEDA
PER LA COMUNICAZIONE SERIALE (RS232 / RS485)
Struttura del PLC
Un PLC è composto da un alimentatore, dalla CPU che in certi casi può avere interna o
esterna una memoria RAM o Flash o EPROM, da un certo numero di schede di ingressi
digitali e uscite digitali, e nel caso in cui sia necessario gestire grandezze analogiche, il PLC
può ospitare delle schede di ingresso analogiche o di uscita analogiche.
Il PLC normalmente opera in rete con altri PLC, quindi sono necessarie dei moduli/schede di
comunicazione adatte al protocollo di rete già implementato sugli altri PLC.
Nel caso di operazioni di movimentazione, come nel campo della robotica, il PLC ospita delle
schede acquisizione controllo assi, cioè delle schede molto veloci e sofisticate che permettono
di gestire spostamenti e posizionamento.
Armadio (o Rack o Guida Profilata)
Contiene i vari moduli assicurandone la connessione meccanica ed elettrica (tramite bus) e la
schermatura. Le sue caratteristiche fondamentali sono il numero di slot, il grado di protezione,
le dimensioni e il tipo di fissaggio.
Modulo alimentatore
Fornisce l’alimentazione stabilizzata ai moduli del rack. Le sue caratteristiche principali sono la
potenza massima erogabile, la connettibilità in parallelo (per aumentare la potenza o per motivi
di ridondanza), la possibilità di inviare al PLC un segnale di shutdown in caso di mancanza di
alimentazione, la presenza di batterie tampone e di indicatori di stato.
CPU
La CPU è il cervello del PLC. La CPU è una scheda complessa basata su un
microprocessore con un sistema operativo proprietario, e con una zona di memoria a
disposizione del programma utente, cioè del programma di automazione.
La memoria utente è spesso esterna come ad esempio nel caso di memoria EPROM. Il
vantaggio di una memoria esterna è legata alla semplicità di programmazione o di
modifica dello stesso.
La CPU durante il funzionamento a regime, colloquia con tutte le schede connesse sul
BUS del PLC, trasferendo dati e comandi sia verso il mondo esterno, sia dal mondo
esterno.
Una delle caratteristiche peculiari delle CPU dei PLC è la loro capacità di poter gestire le
modifiche del programma di gestione del processo durante il normale funzionamento.
Questa possibilità è estremamente utile nel caso di impianti che devono essere sempre
attivi.
Moduli di ingresso digitali
I moduli di ingresso digitali sono utilizzati per il controllo di grandezze "digitali", cioè di
tensioni a due valori (ad esempio 0V o 24V, oppure 0V 110V). Ogni modulo può gestire da
4 a 32, o 64 ingressi digitali differenti. I segnali dal campo vengono fatti arrivare con cavi
elettrici fino alla morsettiera del modulo.
Moduli di uscita digitali
I moduli di uscita digitali sono utilizzati per i comandi di attuatori digitali. Ad esempio un
relé è un attuatore digitale, in quanto può avere soltanto due stati stabili: diseccitato, o
eccitato. Altro esempio di attuatore è una valvola digitale a due stati: aperta, chiusa. Anche
nel caso di schede di uscita digitali, si possono gestire da un minimo di 4 ad un massimo
di 64 uscite digitali differenti.
Moduli di ingresso analogici
Questo tipo di moduli di ingresso permettono il controllo di grandezze elettriche il cui valore
può variare entro un intervallo. Le grandezze in gioco sono in tensione o in corrente. Ad
esempio sono disponibili moduli di ingresso analogiche in corrente, con un intervallo
variabile tra 4mA e 20mA. Molti produttori di PLC rendono disponibili moduli con ingressi
analogici per sonde di temperatura sia Pt100 che termocoppie, T, J, K ecc. Questi moduli
sono disponibili con varie risoluzioni (8-12-14-16 bit) e con 1 o più ingressi distinti
disponibili in morsettiera o connettore.
Moduli di uscita analogici
I moduli di uscita analogici permettono di controllare degli attuatori variabili. Ad esempio è
possibile comandare un motore elettrico tramite un inverter variandone la velocità da zero
alla sua massima velocità.
I moduli di I/O analogici realizzano anche le conversioni D/A e A/D.
Schede di comunicazione
Il PLC durante il suo funzionamento può comunicare con computer, con altri PLC oppure
con altri dispositivi.
La comunicazione con computer e altri dispositivi avviene tramite tipi di connessione
standard come:
• RS232
• RS422/RS485
• TCP/IP
Moduli speciali
Ne esistono di molti tipi. I principali sono:
• moduli di I/O remoto (posti in un rack diverso da quello del PLC),
• moduli per connessione in rete (per bus di campo, ethernet,...),
• moduli per controllo PID,
• moduli per la lettura di sensori particolari (termocoppie, encoder,…),
• moduli d’interfaccia operatore (tastierini, display,…),
• moduli di backup (CPU di riserva sincronizzate con quella principale, che le
subentrano in caso di malfunzionamento).
Terminale di programmazione
Vi sono terminali di tipo dedicato che si collegano direttamente al PLC tramite una porta di
comunicazione e sono dotati di una tastiera per l’inserimento delle istruzioni e di un display
per il controllo del programma. Sono sempre più diffusi sistemi di sviluppo
basati su PC, con cui si effettua off-line la programmazione del codice da memorizzare
sul PLC. Si utilizzano dei pacchetti software appositi. I terminali PC sono connessi al PLC
direttamente o via rete. Spesso consentono anche il monitoraggio del PLC durante il suo
normale funzionamento.
Ingressi uscite
del PLC
Sezione ingressi
E’ l’hardware di interfaccia tra Input e CPU
Pulsanti
Selettori
Finecorsa
Fotocellule
Trasduttori
Circuito
adattatore
Morsettiera
Memoria
segnali
CPU
Sezione ingressi
Gli ingressi possono essere:
Digitali ed assumere solo due
stati logici detti 0 – 1 o On –
Off.
Fronte di
salita
Fronte di
discesa
1
0
Durata
segnale
Analogici ed assumere qualsiasi
valore compreso tra due
estremi (range) definiti
t
t
Sezione ingressi
Gli ingressi vengono
collegati con opportuni
morsetti di
collegamento
debitamente numerati e
il loro stato viene
monitorato con led che
risultano accesi per
livello di ingresso 1 e
spenti per livello di
ingresso 0
Ingressi
Rappresentazione dei
fotoaccoppiatori
C o m u ne
• I fotoaccoppiatori sono
usati per isolare i
circuiti interni dei PLC
dagli ingressi, ciò
consente di eliminare la
possibilità che dei
disturbi elettrici possano
entrare direttamente
nei circuiti elettrici
interni del PLC.
Sezione uscite
E’ l’hardware di interfaccia tra CPU e
Output
CPU
Memoria
segnali
Contattori
Relè
Elettrovalvole
Circuiti elettrici
Display
Regolatori
Circuito
adattatore
Morsettiera
NPN
PNP
AGLI INGRESSI
PLC
AGLI INGRESSI
PLC
I sensori NPN devono essere connessi con un uscita al PLC input e l’altra
uscita alla massa dell’alimentazione. Se i sensori non sono alimentati dal
PLC, allora le masse devono essere collegate insieme.
I sensori PNP devono essere connessi con un uscita alla tensione positiva e
con l’altra agli ingressi del PLC. Anche in questo caso se i sensori non sono
alimentati dal plc, le tensioni V+ devono essere connesse insieme. I sensori
PNP sono comunemente usati in Europa.
Hardware Update
Digital I/O with NPN and PNP configuration selection
PNP configuration
Hardware Update
Digital I/O with NPN and PNP configuration selection
NPN configuration
Sezione uscite
Le uscite vengono
collegate con opportuni
morsetti di
collegamento
debitamente numerate
e il loro stato viene
monitorato con led che
risultano accesi per
livello di uscita 1 (on) e
spenti per livello di
uscita 0 (off)
Uscite
Ingressi digitali
Per ingressi digitali si intendono quei morsetti del PLC ai quali può essere
collegato un contatto on/off (digitale), quale un termostato, pressostato,
finecorsa, pulsante, ecc.
Normalmente per gli ingressi digitali si utilizza la tensione 24Vcc, quindi nel
quadro con il PLC si rende necessario l'installazione di un alimentatore a loro
dedicato.
Per separare i circuiti interni della CPU con la tensione proveniente
dall’impianto, ogni scheda di ingresso è dotata di appositi optoisolatori (detti
anche fotoaccoppiatori), che resistono a differenze di potenziale anche di 1500
V (tensione di isolamento).
Memoria
La memoria di un PLC è organizzata per aree distinte:
• area del sistema operativo (ROM),
• area di lavoro del sistema operativo (RAM),
• area di I/O (RAM),
• area dei programmi utente (RAM durante lo sviluppo, poi PROM o
EPROM),
• area dei dati utente (RAM).
La memoria a disposizione dei programmi utente varia tipicamente da circa
mezzo kiloword a qualche centinaio di kiloword, con word di 8 o 16 bit.
Le EPROM sono ormai da considerare obsolete
e non vengono praticamente più usate. Sono
state sostituite dalle Memorie flash o EEPROM
(Electrical Erasable Programmable Read Only
Memory) che possono essere cancellate
elettricamente senza dover ricorrere ai raggi UV.
Una memoria flash è una memoria permanente
riscrivibile (EEPROM) organizzata a blocchi,
ovvero un circuito semiconduttore sul quale è
possibile immagazzinare dati in forma binaria
mantenendoli anche in assenza di alimentazione.
TSX Micro
Memoria
La memoria di un PLC può essere divisa in diverse aree, in
base all’utilizzo che ne fa:
Area del sistema operativo[2] (ROM); è quella destinata
alla memorizzazione permanente dei programmi del sistema
operativo.
Area di lavoro del sistema operativo (RAM); è quella
dedicata alla memorizzazione delle variabili temporanee
utilizzate dai programmi del sistema operativo.
Area di I/O (RAM); è quella nella quale sono memorizzati i
valori relativi agli ingressi e i valori da assegnare le uscite.
Area programmi utente [1] (RAM - PROM per il
programma finale), è quella utilizzata per la
memorizzazione del programma da eseguire durante la fase
di controllo.
Area dati utente (RAM); è quella destinata alla
memorizzazione del valore delle variabili temporanee del
programma utente.
Area funzioni di sistema (RAM); è quella utilizzata per
l'accesso alle “funzioni di sistema” definite dall'utente
(timer, contatori, ecc…).
[1] Il programma utente è il software che contiene le istruzioni specifiche per realizzare le
operazioni necessarie per il controllo del processo → va modificato di volta in volta, in funzione
delle esigenze.
[2] Il sistema operativo si distingue dal programma utente, per i seguenti aspetti: è il software che si
occupa di tutte le operazioni per la gestione della funzionalità di base del PLC: lettura degli ingressi,
copia degli ingressi, copia delle uscite, ecc.
La memoria dei PLC è organizzata in word di 8 o 16 bit.
L’informazione digitale di base è il bit, una cella di memoria che può valere
0 (quando non attivo) o 1 (quando attivo).
I bit vengono raggruppati a loro volta in blocchi:
Principio di funzionamento del PLC
Ingressi
S
E
N
S
O
R
I
Uscite
HARDWARE
Consensi
Comandi
SOFTWARE
PLC
A
T
T
U
A
T
O
R
I
La scansione
del PLC
Modalità di funzionamento della CPU di un PLC
La scansione del PLC e i tempi di esecuzione
Il PLC ha un funzionamento di tipo sequenziale: esso esegue le funzioni
programmate con ripetitività, da quando viene alimentato e messo in stato di
RUN fino a quando lo si porta in stato di STOP e si toglie alimentazione.
Il ciclo che esso compie viene denominato ciclo di scansione, mentre il
tempo che impiega a compierlo si chiama tempo di scansione.
La scansione del PLC
Scansione sincrona
di ingresso e di uscita
LETTURA DELLO STATO DI
TUTTI GLI INGRESSI
RII: Registro Immagine
Memorizzazione nel registroInput o
immagine ingressi
ELABORAZIONE SEQUENZIALE
ISTRUZIONI
IPI: Immagine di Processo
degli Ingressi (PAE)
RIO: Registro Immagine
Memorizzazione risultati nelOutput o
registro immagine uscite
ATTIVAZIONE SEQUENZIALE
IPU: Immagine di Processo
delle Uscite (PAA)
DI TUTTE LE USCITE
Terminologia ingressi/Uscite:
↔ Eingang
Output ↔ Ausgang
Input
Fasi di esecuzione di un programma
3a fase:
fase
PLC in RUN
posizionamento uscite
+ fase di autodiagnosi:
esecuzione delle
operazioni di autodiagnosi
Tempo del ciclo di scansione: 5÷20 ms
1a fase:
fase
lettura ingressi (tempo: ~1μs ad ingresso) e
memorizzazione nel RII (PAE nel Siemens)
2a fase:
fase
elaborazione programma e aggiornamento
RIO (PAA)
tempo di esecuzione programma: ~1ms x
1000 istruzioni
N.B.: l’aggiornamento degli Input non è in tempo reale
Il PLC può vedere la variazione di un ingresso solo durante
lo step di analisi degli ingressi.
• Per evitare questi problemi, un ingresso
dovrebbe durare per almeno 1 tempo di
scansione + 1 di lettura degli ingressi.
Funzione di allungamento
dell’impulso
IMPULSO
ALLUNGAT O
Funzione Interrupt
il PLC interrompe ciò che sta
facendo per eseguire un
sottoprogramma di interrupt.
Dopo che ha eseguito tale
sottoprogramma, torna
indietro a completare le
operazioni che aveva
momentaneamente sospeso
per poi continuare il normale
processo di scansione .
La programmazione
del PLC
PROGRAMMAZIONE
Il PLC, per operare, ha bisogno di un
programma scritto dall’operatore e introdotto
nella sua memoria centrale (memoria
utente).
Il
programma viene scritto con particolari
linguaggi appositamente studiati per i PLC: i
così detti “linguaggi dedicati”.
CONTROLLORI A LOGICA PROGRAMMABILE
LINGUAGGI DI PROGRAMMAZIONE
A
A CONTATTI
CONTATTI
(Ladder,
(Ladder, KOP)
KOP)
GRAFICI
GRAFICI
A
A BLOCCHI
BLOCCHI FUNZIONALI
(Simbolici)
(Simbolici)
(Porte
(Porte logiche,
logiche, FUP)
FUP)
A
A BLOCCHI SEQUENZIALI
LINGUAGGI
LINGUAGGI
DI
PROGRAMMAZIONE
PROGRAMMAZIONE
(Grafcet)
(Grafcet)
A
A LISTA
LISTA ISTRUZIONI
LETTERALI
LETTERALI
(Alfanumerici)
(Alfanumerici)
(Boolean,
(Boolean, AWL)
AWL)
EVOLUTI
EVOLUTI
(Basic,
(Basic, ...)
...)
CONTROLLORI A LOGICA PROGRAMMABILE
 LINGUAGGI GRAFICI
•
LD
•
FBD - FUNCTION BLOCH DIAGRAM
•
SCF - SEQUENTIAL FUNCTION
CHART
- LADDER DIAGRAM
 LINGUAGGI TESTUALI
•
IL
- INSTRUCTION LIST
•
ST
- STRUCTURATED TEXT
LINGUAGGI DI PROGRAMMAZIONE
Diagramma Ladder
1
2
10
10
1 = Pulsante marcia (S2)
2 = Pulsante arresto (S1)
10 = Contattore (K)
CONTROLLORI A LOGICA PROGRAMMABILE
LINGUAGGI DI PROGRAMMAZIONE
Lista istruzioni
Indirizzo
Istruzione
Operando
000
STR
1
001
OR
10
002
AND NOT
003
OUT
2
10
1 = Pulsante marcia (S2)
2 = Pulsante arresto (S1)
10 = Contattore (K)
CONTROLLORI A LOGICA PROGRAMMABILE
LINGUAGGI DI PROGRAMMAZIONE
Porte logiche
(S2 + K) • S1 = K
S2
K
≥1

S1
&
S2 = Pulsante marcia
S1 = Pulsante arresto
K = Contattore
CONTROLLORI A LOGICA PROGRAMMABILE
K
LINGUAGGI DI PROGRAMMAZIONE
Grafcet
1
K
K
Motore
Motore
fermo
fermo
S2 = Pulsante marcia
S2
2
S1 = Pulsante arresto
K
K
Motore
Motore
in marcia
K = Contattore
S1
CONTROLLORI A LOGICA PROGRAMMABILE
Fine parte introduttiva
LINGUAGGIO SIEMENS STEP5 / STEP7
KOP: CORRISPONDE ALLA PROGRAMMAZIONE MEDIANTE
SCHEMA A CONTATTI (LD)
FUP: CORRISPONDE ALLA PROGRAMMAZIONE MEDIANTE
SCHEMA LOGICO (FBD)
AWL: CORRISPONDE ALLA PROGRAMMAZIONE CON LISTA
DI ISTRUZIONI (IL)
Linguaggi di programmazione
Il PLC per ottemperare ai suoi compiti deve essere programmato.
La programmazione del PLC è effettuata normalmente con un PC sul quale un
software specializzato permette di creare programmi da scaricare nella memoria
della CPU del PLC.
Questi software di programmazione possono leggere il programma direttamente
dalla memoria della CPU, e visualizzare il programma sul PC.
Normalmente il programma viene scritto su PC, quindi scaricato sul PLC, e salvato
sul PC stesso, per ulteriori modifiche o per sicurezza.
La normativa IEC 1131-3 del 1993 ha standardizzato 5 linguaggi di
programmazione, di cui 3 grafici e 2 testuali.
La Normativa è stata successivamente aggiornata con l'uscita della "CEI EN
61131-3" detta anche "CEI 65-40" Prima Edizione 1-giugno-1996.
Linguaggi di programmazione
 Linguaggi grafici
Ladder diagram (LD o KOP) detto Linguaggio a contatti - È il linguaggio più
usato fino a pochi anni fa, in quanto era la trasposizione informatica dei circuiti
elettrici usati dagli elettrotecnici.
L'automazione industriale infatti era basata su sistemi a logica cablata, il PLC
(controllore di logica programmabile) ha permesso di trasportare i concetti della
logica cablata nel linguaggio Ladder. Il programmatore semplicemente utilizza
simboli logici corrispondenti a segnali di ingresso e di uscita per implementare la
logica non più cablando i relé, ma disegnando gli schemi elettrici nel software di
programmazione.
Function Block Diagram (FBD o FUP) detto Diagramma a blocchi funzionali Analogo ai diagrammi circuitali.
Sequential Function Charts (SFC) detto Diagramma funzionale sequenziale Viene usato anche come strumento di specifica. Tale linguaggio permette di
implementare facilmente una macchina (o automa) a stati finiti.
 Linguaggi testuali
Instruction List (IL o AWL) detto Lista di istruzioni - Linguaggio di basso livello
molto simile all'Assembler. Può essere facilmente ricavato dal Ladder.
Structured Text (ST) detto Testo strutturato - Linguaggio di alto livello simile al
C++.
Linguaggio Ladder Diagram: contatti
N.B.: non confondere lo stato fisico con lo stato logico del contatto
Contatto rilevatore di fronte.
Simbolo:
---|P|--- (fronte positivo)
Il contatto rilevatore di fronte P si chiude per un solo ciclo quando il bit ad
esso associato passa da 0 ad 1; resta aperto in tutti gli altri casi.
---|N|--- (fronte negativo)
Il contatto rilevatore di fronte N si chiude per un solo ciclo quando il bit ad
esso associato passa da 1 a 0; resta aperto in tutti gli altri casi.
Linguaggio Ladder Diagram: bobine
N.B.: Il valore assunto dalla bobina dipende dal RLC dell’espressione
booleana alla sua sinistra.
Linguaggio Ladder Diagram
Regole fondamentali
La corrispondenza di un programma LD (per definizione sequenziale) con una rete elettrica
(per natura sede di fenomeni simultanei) non può essere totale. Per eliminare ogni possibile
ambiguità a ciò conseguente, si stabiliscono quindi nella definizione di LD le regole enunciate
nel seguito.
 Regola 1:
La corrente può fluire nei contatti e nelle bobine soltanto da sinistra verso destra.
 Regola 2:
I rung vengono esplorati dal PLC dal primo in alto all’ultimo in basso, e giunti all’ultimo
si ricomincia dal primo. Di conseguenza, l’ordine dei rung è rilevante (come lo è quello
delle istruzioni in un programma e come non lo è quello di collegamenti elettrici in parallelo).
 Regola 3:
La sincronizzazione delle variabili del programma con ingressi e uscite avviene secondo
il principio della copia massiva (immagine di processo):
• si leggono gli ingressi (che quindi ai fini del programma restano costanti per tutto il ciclo);
• si eseguono tutti i rung (a meno di salti, che vedremo poi) e si scrivono (cioè si assegna un
valore a) tutte le bobine normali (ci sono anche quelle a ritenuta e anch’esse le vedremo poi),
col che ogni bobina conserva il suo valore fino a che non viene riscritta in un ciclo successivo;
• si aggiornano le uscite;
• si ricomincia tutto da capo.
Osservazione importante
LD è un linguaggio che descrive il ciclo operativo del PLC, nel senso che “in un programma LD
è scritta la sequenza delle cose che il PLC deve fare ad ogni ciclo”.
Il Sequential Function Chart (SFC)
• Formalismo grafico per la descrizione del ciclo operativo di macchine
automatiche.
• Definito dalla Norma IEC 61131-3 tra gli elementi comuni, ma trova
diretta implementazione come linguaggio di programmazione in molti
tools di sviluppo.
• Facilita la scomposizione gerarchica del funzionamento della macchina e
la strutturazione del programma in sotto–parti più semplici .
• Evidenzia il comportamento sequenziale della macchina o di sue
componenti.
Note:
• Linguaggio formale: Il progetto di un macchina passa attraverso una serie di passaggi (dalla
analisi
della commessa del cliente, la traduzione in specifiche tecniche, e la realizzazione tecnica) in cui
persone con diversi profili professionali lavorano sul progetto comune. Tali persone necessitano di un
linguaggio formale comune.
• Approccio top-down: dove il funzionamento della macchina viene scomposto in passi
fondamentali
analizzati separatamente, riducendo così la complessità di ogni singolo elemento che compone, in
questo caso, la logica del sistema di controllo.
• Comportamento sequenziale: Descrivendo il comportamento ingresso–uscita della macchina,
occorre fornire una configurazione di controllo per una qualunque combinazione degli stimoli (ingressi
acquisiti dai sensori). Una descrizione ingresso-stato-uscita porta ad una descrizione molto più
Fasi di programmazione del PLC
1. Studio del sistema: mediante analisi esplicativa delle operazioni o con schemi
di flusso
2. Assegnazione variabili: compilare le tabelle di assegnazione INPUT, OUTPUT
(indirizzamento I/O) e delle variabili interne
3. Scelta del linguaggio di programmazione
4. Scrittura del programma, codifica e trasferimento
5. Debug e archiviazione finale
Indirizzamento I/O
%IXY.i
%QXY.i
X: indirizzo del rack
Y: posizione fisica del modulo nel rack
i: numero della via
N.B.: per il rack 0 si può omettere l’indicazione
0
1
3
5
7
TSX Micro
9
Moduli I/O a distanza
o remoti
2
4
- Rack di base
6
8
10
- Rack di espansione
- Slot
- Modulo
- N° vie del modulo
- Alimentatore + CPU
(modulo 0)
- CPU: TSX 3722 V2.0
- I/O: DMZ 28 DTK
%I1.i (i=0÷15) (modulo 1)
%Q2.i (i=0÷11) (modulo 2)
TSX Premium
- Alimentatore: TSX PSY 2600
- CPU: TSX P5720 (TSX 5720 V1.5)
(modulo 0)
- I: TSX DEY 16D2
%I1.i (i=0÷15)
(modulo 1)
%I2.i (i=0÷15)
(modulo 2)
- O: TSX DSY 32T2K %Q3.i (i=0÷31)
(modulo 3)
Collegamento PLC - Campo
PLC
CAMPO
CAMPO
0 Vcc
+ 24 Vcc
Input
Output
%I1.0
%Q2.0
%I1.1
RII
CPU
RIO
%I1.2
%Q2.1
%Q2.2
RS 232
cavo seriale
Terminale di
programmazione
 Si fa riferimento al PLC TSX Micro
TABELLA DELLE VARIABILI
Tabella I/O
Sigla
Tabella variabili interne
Oggetti di memoria
Oggetti di sistema
Costanti
FB predefiniti
Denominazione
Cablaggio esterno
Indirizzo PLC
1° esercizio
Comando di un impianto luci.
Dati due pulsanti (PS1 e PS2), e quattro luci (LS1, LS2, LS3 e LS4),
realizzare la seguente sequenza:
1. premendo PS1, si accende LS1;
2. rilasciando PS1, si accende anche LS2;
3. premendo una seconda volta PS1, si accende anche LS3;
4. rilasciando PS1, si accende anche LS4;
5. premendo una terza volta PS1, si spengono contemporaneamente
LS1, LS2, LS3 e LS4.
6. Possibilità di azzerare il ciclo in qualsiasi momento premendo PS2.
Utilizzando il PLC TSX Micro, in dotazione al Laboratorio di Sistemi, si
richiede:
• la descrizione della sequenza mediante il Grafcet;
• lo schema del collegamento PLC – campo e la tabella delle variabili;
• il programma in linguaggio LD con il software PL7 Pro V4.2