CONTROLLORI LOGICI PROGRAMMABILI PLCcabestano.altervista.org/alterpages/files/PLC.pdf · evoluzione...
Transcript of CONTROLLORI LOGICI PROGRAMMABILI PLCcabestano.altervista.org/alterpages/files/PLC.pdf · evoluzione...
CONTROLLORI LOGICI CONTROLLORI LOGICI PROGRAMMABILI PROGRAMMABILI
PLCPLC
Docente: Miglietta GiovanniMiglietta Giovanni
Generalità sul PLCGeneralità 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 Logica cablata e e
logica programmabilelogica programmabile
PROGRAMMABLE LOGIC CONTROLLER PROGRAMMABLE LOGIC CONTROLLER O PLCO 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 storicaEvoluzione 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 PLCCaratteristiche 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 PLCCategorie 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 PLCStruttura del PLC
PLC Siemens SIMATIC S7-400
PLC Telemecanique serie Twido
PLC Siemens SIMATIC S7-312
PLC Hitachi EH-150
PLC Siemens S7-300
PLC Telemecanique TSX MicroPLC Telemecanique TSX Premium
Produttori di P.L.C.
•Siemens•Allen-Bradley
•Omron•Telemécanique
•GE Fanuc•Toshiba
•Klockner-Moeller
•Mitsubishi•Matsushita
•Bosh•Hitachi
•Modicon
I sistemi di controllo e il PLCI 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
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
Sensori
micro-PLC,dispositivi intelligenti
PLC
Controllo,Supervisione
bit bytes messaggi file
8 30 256
Bus di Sensori
Bus di Dispositivi
Bus di Campo
bit
Relè programmabili
ZenZelioLogo
Schema a blocchi della struttura di un PLCSchema a blocchi della struttura di un PLC
Confronto logica cablata e logica programmata
•Spazi•Tempi•Affidabilità•Consumi•Velocità•Costi
SpaziPLC Logica cablata
Minor ingombro
L’eliminazione dei componenti elettromeccanici riduce gli spazi necessari
Maggior ingombro
Il cablaggio dei componenti elettromeccanici richiede maggiori spazi
Tempi di esecuzionePLC Logica cablata
Minori
•Eliminazione cablaggi•Eliminazione collaudi (eseguibili al banco)•Nessuna o ridotte modifiche al circuito per modifiche all’impianto
Maggiori
•Installazione componenti•Collaudi•Eventuali modifiche all’impianto richiedono modifiche al circuito
AffidabilitàPLC Logica cablata
Maggiore
•Assenza di parti meccaniche in movimento
Sensibile alle interferenze (richiede protezione)
Minore
•Apparecchiature meccaniche con vita limitata
Insensibile alle interferenze
Consumi
PLC Logica cablataRidotti consumi di energia
Maggiori consumi di energia (in relazione all’impianto realizzato)
Velocità
PLC Logica cablata
Minore velocità
(a causa dei tempi richiesti dall’esecuzione del programma, ma sufficiente al corretto funzionamento degli impianti )
Maggiore velocità
Costi
PLC Logica cablata
Conveniente per applicazioni non eccessivamente semplici
Conveniente per applicazioni molto semplici
Componenti fondamentali di un PLCComponenti fondamentali di un PLC
ARMADIO (CESTELLO O RACK)ARMADIO (CESTELLO O RACK)- CONTIENE GLI ALTRI MODULI- ASSICURA LA CONNESSIONE ELETTRICA ATTRAVERSO IL
BUS SUL FONDO DEL RACK
MODULO PROCESSOREMODULO PROCESSORE- SCHEDA A MICROPROCESSORE- CONTROLLA E SUPERVISIONA TUTTE LE OPERAZIONI
ESEGUITE ALL’INTERNO DEL SISTEMA
ALIMENTATOREALIMENTATORE- ALIMENTAZIONE PER TUTTE LE SCHEDE PRESENTI NEL
RACK
TERMINALE DI PROGRAMMAZIONETERMINALE DI PROGRAMMAZIONE- QUALSIASI PERSONAL COMPUTER DOTATO DI SCHEDA
PER LA COMUNICAZIONE SERIALE (RS232 / RS485)
MODULI I/OMODULI I/O- SCHEDE CHE PERMETTONO L’INTERFACCIAMENTO DEL
MODULO PROCESSORE CON IL MONDO ESTERNO
Struttura del PLCStruttura 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 alimentatoreFornisce 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.
CPULa 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 digitaliI 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 digitaliI 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 analogiciQuesto 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 analogiciI 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 comunicazioneIl 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 specialiNe 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 programmazioneVi 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 sviluppobasati su PC, con cui si effettua off-line la programmazione del codice da memorizzaresul 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 Ingressi uscite del PLCdel PLC
Sezione ingressi
E’ l’hardware di interfaccia tra Input e CPU
PulsantiPulsantiSelettoriSelettoriFinecorsaFinecorsaFotocelluleFotocelluleTrasduttoriTrasduttori
Circuitoadattatore
Memoriasegnali CPU
Morsettiera
Sezione ingressi
Gli ingressi possono essere:
Digitali ed assumere solo due stati logici detti 0 – 1 o On – Off.
Analogici ed assumere qualsiasi valore compreso tra due estremi (range) definiti
0
1
Fronte di discesa
Fronte di salita
Durata segnale
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
• 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.
C om une
Sezione uscite
E’ l’hardware di interfaccia tra CPU e Output
ContattoriRelèElettrovalvoleCircuiti elettriciDisplayRegolatori
Circuitoadattatore
MemoriasegnaliCPU
Morsettiera
NPN AGLI INGRESSIPLCPNP
AGLI INGRESSIPLC
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.
Digital I/O with NPN and PNP configuration selection
PNP configuration
Hardware Update
Digital I/O with NPN and PNP configuration selection
NPN configuration
Hardware Update
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 digitaliIngressi digitaliPer ingressi digitali si intendono quei morsetti del PLC ai quali può esserecollegato un contatto on/off (digitale), quale un termostato, pressostato,finecorsa, pulsante, ecc.Normalmente per gli ingressi digitali si utilizza la tensione 24Vcc, quindi nelquadro con il PLC si rende necessario l'installazione di un alimentatore a lorodedicato.Per separare i circuiti interni della CPU con la tensione provenientedall’impianto, ogni scheda di ingresso è dotata di appositi optoisolatori (dettianche fotoaccoppiatori), che resistono a differenze di potenziale anche di 1500V (tensione di isolamento).
MemoriaMemoriaLa 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
MemoriaLa 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 PLCPrincipio di funzionamento del PLC
SENSORI
Ingressi
Consensi
HARDWARE
SOFTWARE
Uscite
Comandi
ATTUATO
IR
PLC
La scansione La scansione del PLCdel 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.
Modalità di funzionamento della CPU di un PLCModalità di funzionamento della CPU di un PLC
La scansione del PLCLa scansione del PLC
LETTURA DELLO STATO DITUTTI GLI INGRESSI
Memorizzazione nel registroimmagine ingressi
ELABORAZIONE SEQUENZIALEISTRUZIONI
Memorizzazione risultati nelregistro immagine uscite
ATTIVAZIONE SEQUENZIALEDI TUTTE LE USCITE
Scansione sincrona di ingresso e di uscita
RII: Registro Immagine Input o
IPI: Immagine di Processo degli Ingressi (PAE)
RIO: Registro Immagine Output o
IPU: Immagine di Processo delle Uscite (PAA)
Terminologia ingressi/Uscite:Input ↔ EingangOutput ↔ Ausgang
PLC in RUN 11a a fasefase:
lettura ingressi (tempo: ~1μs ad ingresso) e memorizzazione nel RII (PAE nel Siemens)
22aa fase fase:
elaborazione programma e aggiornamento RIO (PAA)
tempo di esecuzione programma: ~1ms x 1000 istruzioni
Tempo del ciclo di scansione: 5Tempo del ciclo di scansione: 5÷20 ms÷20 ms
33aa fase fase:
posizionamento uscite
N.B.: l’aggiornamento degli Input non è in tempo reale
+ fase di autodiagnosi: esecuzione delle operazioni di autodiagnosi
Fasi di esecuzione di un programmaFasi di esecuzione di un programma
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
IMPULSOALLUNGATO
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 La programmazione del PLCdel PLC
Il PLC, per operare, ha bisogno di un Il PLC, per operare, ha bisogno di un programmaprogramma scritto dall’operatore e introdotto scritto dall’operatore e introdotto
nella sua memoria centrale (memoria nella sua memoria centrale (memoria utente). Il utente). Il
programma viene scritto con particolari programma viene scritto con particolari linguaggi appositamente studiati per i PLC: i linguaggi appositamente studiati per i PLC: i
così detti “così detti “linguaggi dedicatilinguaggi dedicati”.”.
CONTROLLORI A LOGICA PROGRAMMABILECONTROLLORI A LOGICA PROGRAMMABILE
PROGRAMMAZIONEPROGRAMMAZIONE
LINGUAGGI DILINGUAGGI DI PROGRAMMAZIONEPROGRAMMAZIONE
LINGUAGGI LINGUAGGI DIDI
PROGRAMMAZIONEPROGRAMMAZIONE
LINGUAGGI LINGUAGGI DIDI
PROGRAMMAZIONEPROGRAMMAZIONE
CONTROLLORI A LOGICA PROGRAMMABILECONTROLLORI A LOGICA PROGRAMMABILE
GRAFICIGRAFICI(Simbolici)(Simbolici)GRAFICIGRAFICI(Simbolici)(Simbolici)
LETTERALILETTERALI(Alfanumerici)(Alfanumerici)LETTERALILETTERALI(Alfanumerici)(Alfanumerici)
A CONTATTIA CONTATTI(Ladder, KOP)(Ladder, KOP)A CONTATTIA CONTATTI(Ladder, KOP)(Ladder, KOP)
A BLOCCHI FUNZIONALIA BLOCCHI FUNZIONALI(Porte logiche, FUP)(Porte logiche, FUP)
A BLOCCHI FUNZIONALIA BLOCCHI FUNZIONALI(Porte logiche, FUP)(Porte logiche, FUP)
A BLOCCHI SEQUENZIALIA BLOCCHI SEQUENZIALI(Grafcet)(Grafcet)
A BLOCCHI SEQUENZIALIA BLOCCHI SEQUENZIALI(Grafcet)(Grafcet)
A LISTA ISTRUZIONIA LISTA ISTRUZIONI(Boolean, AWL)(Boolean, AWL)
A LISTA ISTRUZIONIA LISTA ISTRUZIONI(Boolean, AWL)(Boolean, AWL)
EVOLUTIEVOLUTI(Basic, ...)(Basic, ...)EVOLUTIEVOLUTI(Basic, ...)(Basic, ...)
LINGUAGGI GRAFICI
• SCF - SEQUENTIAL FUNCTION CHART
• FBD - FUNCTION BLOCH DIAGRAM
• LD - LADDER DIAGRAM
LINGUAGGI TESTUALI
• ST - STRUCTURATED TEXT
• IL - INSTRUCTION LIST
CONTROLLORI A LOGICA PROGRAMMABILECONTROLLORI A LOGICA PROGRAMMABILE
LINGUAGGI DILINGUAGGI DI PROGRAMMAZIONE PROGRAMMAZIONE Diagramma LadderDiagramma Ladder
11 22
1010
1010
1 = Pulsante marcia (S2)1 = Pulsante marcia (S2)
2 = Pulsante arresto (S1)2 = Pulsante arresto (S1)
10 = Contattore (K)10 = Contattore (K)
CONTROLLORI A LOGICA PROGRAMMABILECONTROLLORI A LOGICA PROGRAMMABILE
Indirizzo Istruzione OperandoIndirizzo Istruzione Operando
000000
001001
002002
003003
STRSTR
OROR
AND NOTAND NOT
OUTOUT
11
1010
22
1010
1 = Pulsante marcia (S2)1 = Pulsante marcia (S2)
2 = Pulsante arresto (S1)2 = Pulsante arresto (S1)
10 = Contattore (K)10 = Contattore (K)
LINGUAGGI DILINGUAGGI DI PROGRAMMAZIONE PROGRAMMAZIONE Lista istruzioniLista istruzioni
CONTROLLORI A LOGICA PROGRAMMABILECONTROLLORI A LOGICA PROGRAMMABILE
S2 = Pulsante marciaS2 = Pulsante marcia
S1 = Pulsante arrestoS1 = Pulsante arresto
K = ContattoreK = Contattore
S2S2
KK
S1S1 KK
LINGUAGGI DILINGUAGGI DI PROGRAMMAZIONE PROGRAMMAZIONE Porte logichePorte logiche
≥≥ 11≥≥ 11
&&&&
(S2 + K) (S2 + K) •• S1 = KS1 = K
CONTROLLORI A LOGICA PROGRAMMABILECONTROLLORI A LOGICA PROGRAMMABILE
S1S1
S2S2
K K K K MotoreMotorein marciain marciaMotoreMotore
in marciain marcia
S2 = Pulsante marciaS2 = Pulsante marcia
S1 = Pulsante arrestoS1 = Pulsante arresto
K = ContattoreK = Contattore
LINGUAGGI DI PROGRAMMAZIONE Grafcet
2222
1111 KK KK MotoreMotorefermofermo
MotoreMotorefermofermo
Fine parte introduttiva
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)
LINGUAGGIO SIEMENS STEP5 / STEP7LINGUAGGIO SIEMENS STEP5 / STEP7
Linguaggi di programmazioneLinguaggi 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 programmazioneLinguaggi di programmazione
Linguaggi graficiLadder 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 testualiInstruction 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: contattiLinguaggio Ladder Diagram: contatti
N.B.: non confondere lo stato fisico con lo stato logico del contattoN.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: bobineLinguaggio Ladder Diagram: bobine
N.B.: Il valore assunto dalla bobina dipende dal N.B.: Il valore assunto dalla bobina dipende dal RLCRLC dell’espressione dell’espressione booleana alla sua sinistra.booleana alla sua sinistra.
Linguaggio Ladder DiagramLinguaggio Ladder DiagramRegole fondamentaliLa 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’ultimosi ricomincia dal primo. Di conseguenza, l’ordine dei rung è rilevante (come lo è quellodelle 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 secondoil 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 importanteLD è 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)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 analisidella 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 fondamentalianalizzati 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ù semplice.
Fasi di programmazione del PLCFasi 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/OIndirizzamento 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
- Rack di base - Rack di espansione- Slot- Modulo- N° vie del modulo
10
2
3
4
5
6
7
8
9
10
- 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)
Moduli I/O a distanza o remoti
TSX MicroTSX Micro
- 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)
TSX PremiumTSX Premium
Terminale di programmazione
R I I R I O CPU
Input Output
Collegamento PLC - Campo
%I1.0
%I1.1
%I1.2
%Q2.0
%Q2.1
%Q2.2
+ 24 Vcc 0 Vcc
RS 232cavo seriale
Si fa riferimento al PLC TSX Micro
CAMPO PLC CAMPO
TABELLA DELLE VARIABILITABELLA DELLE VARIABILI
Tabella I/OTabella I/O
Sigla Denominazione Cablaggio esterno Indirizzo PLC
Tabella variabili interneTabella variabili interne
Oggetti di memoria
Oggetti di sistema
Costanti
FB predefiniti
1° esercizio1° esercizioComando 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, sirichiede:• 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