Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
PubblicatoOreste Franceschi Modificato 8 anni fa
1
Corso di Automazione Industriale Sistemi di Controllo a Logica
POLITECNICO DI BARI DIPARTIMENTO DI INGEGNERIA ELETTRICA E DELL’INFORMAZIONE Corso di Automazione Industriale Sistemi di Controllo a Logica Programmabile P. Chiacchio, PLC e Automazione Industriale, McGraw Hill, 1996. P. Chiacchio, F. Basile, Tecnologie Informatiche per l’Automazione, McGraw-Hill, 2004 R. Cutuli, Programmazione dei PLC, Franco Angeli, 2004 K.-H John, .M. Tiegelkamp, IEC : Programming industrial automation systems, Springer-Verlag, 2001.
2
L’Automazione dei Processi Industriali
Processo fisico: combinazione di operazioni su entità del mondo fisico e che cambiano alcune delle loro caratteristiche Sistema di controllo: elabora le informazioni fornite dai sensori e fornisce agli attuatori informazioni per realizzare il controllo del processo Modello di un sistema automatizzato
3
Dispositivi di controllo basati su elaboratori
PLC (Programmable Logic Controllers) Calcolatori Tradizionali Vantaggi del controllo con elaboratori: Flessibilità Riusabilità Costo
4
Dispositivi di controllo basati su elaboratori
Svantaggi dei calcolatori tradizionali: ambiente operativo ostile: range di temperatura ampio, polvere, vibrazioni presenza di forti campi elettromagnetici alimentazione soggetta a forti variazioni linguaggi di programmazione molto lontani dai sistemi basati su relay necessità di ripristinare lo stato corrente immediatamente alla riaccensione dopo la mancanza di alimentazione flusso informativo I/O: tipologia (A/D), livelli di tensione particolari Vantaggi dei PLC: Tutte le caratteristiche precedenti
5
PLC (cenni storici) Nel 1968 General Motors specifica le caratteristiche desiderate per una nuova generazione di controllori per i propri impianti di produzione Facilmente riprogrammabili anche in loco Di facile manutenzione Modulari In grado di funzionare in un ambiente operativo ostile Spazio occupato limitato Costo competitivo (Possibilità di espandere la memoria, di comunicazione con dispositivi di memorizzazione, di accettare segnali in media tensione)
6
PLC (cenni storici) Prima Generazione: Sequenziatori riprogrammabili
Metà anni ‘70: Allen-Bradley introduce il primo PLC basato su microprocessore (8080) PLC di recente concezione: Sistemi multiprocessore basati sulle tecnologie di un calcolatore convenzionale
7
PLC (definizione) Sistema elettronico a funzionamento digitale, destinato all’uso in ambito industriale, che utilizza una memoria programmabile per l’archiviazione interna di istruzioni orientate all’utilizzatore per l’implementazione di funzioni specifiche, come quelle logiche, di sequenziamento, di temporizzazione, di conteggio e di calcolo aritmetico,e per controllare, mediante ingressi ed uscite sia digitali che analogici, vari tipi di macchine e processi. standard 1131 dell’IEC (International Electrotechnical Commission)
8
Componenti fondamentali di un PLC
Sistema controllore a logica programmabile Armadio (rack) Terminale di programmazione Modulo processore Modulo alimentatore Moduli ingresso/uscita (I/O)
9
PLC Siemens S7
10
Armadio (rack) Caratteristiche: numero di slot dimensioni di ingombro
Contiene i moduli che compongono il sistema PLC e ne assicura la connessione elettrica (bus proprietario) e meccanica, e la schermatura Caratteristiche: numero di slot dimensioni di ingombro modalità di fissaggio
11
Modulo Processore Costituito da una scheda con uno o più microprocessori e la memoria contenente i programmi; controlla e supervisiona tutte le operazioni eseguite all’interno del sistema Microprocessori comuni o appositamente orientati alla gestione dei singoli bit Tempo di scansione: (caratterizza la velocità del processore) Tempo che intercorre tra due attivazioni successive della stessa porzione di programma (tempi di aggiornamento di ingressi e uscite compresi)
12
Funzionamento del Modulo Processore
Ottimizzazione della comunicazione con i moduli di I/O I valori memorizzati degli ingressi non cambiano durante il loop La durata del ciclo dipende dalla lunghezza del programma Lettura e scrittura di ingressi uscite sono gestite dal sistema operativo “Ciclo a copia massiva degli ingressi e delle uscite”
13
Memoria Classificata in base all’utilizzo:
Alimentazione con batterie tampone Dimensione limitata a qualche centinaio di Kword Classificata in base all’utilizzo: area sistema operativo (ROM) area di lavoro del sistema operativo (RAM) area ingressi/uscite (RAM) area programmi utente (RAM, PROM) area dati utente (RAM,EEPROM, FLASH)
14
connessione diretta tra PLC e dispositivi
Moduli I/O Moduli attraverso cui il PLC comunica con il processo fisico, rilevando eventi e dati dai sensorie comandando azioni agli attuatori Interfaccia tra livelli di tensione del PLC (TTL, CMOS) e tensioni/correnti utilizzate per la trasmissione dei segali connessione diretta tra PLC e dispositivi Analogici/Digitali (DAC - ADC), generalmente dotati di filtri Valori di ON/OFF Digitali: 0-24V V 0-5V TTL 0-50V Isolamento galvanico tramite fotoaccoppiatori o trasformatori per proteggere il PLC da impulsi di tensione Indirizzamento dei moduli I/O basato sulla loro posizione nell'armadio
15
Modulo Alimentatore Fornisce, attraverso l’armadio, l’alimentazione elettrica stabilizzata necessaria al funzionamento di tutti gli altri moduli trasformatore circuito rettificatore filtro circuito stabilizzatore circuito di protezione da sovracorrenti o cortocircuiti Caratteristiche: potenza massima erogabile possibilità di connessione in parallelo presenza di indicatori del suo stato generazione del segnale di shutdown
16
Terminale di Programmazione
Terminali a tastiera: Tastiera per l’inserimento delle istruzioni Display LCD per il controllo del programma Programmazione diretta nella memoria del PLC Terminali a PC: Programmazione off-line Monitoraggio on-line Connessi direttamente al PLC o attraverso una rete informatica
17
Moduli Speciali Moduli di I/O remoto Moduli per la connessione in rete
Moduli coprocessore Moduli PID Moduli di servo Moduli encoder Moduli interfaccia operatore Moduli di backup
18
Classificazione dei PLC
micro PLC controllo di macchine operatrici, ascensori, lavatrici set di istruzioni limitato, un solo linguaggio di progr. memorie di 1 o 2Kword fino a 64 punti di I/O non hanno di solito una struttura modulare piccoli PLC struttura modulare ad armadio set di istruzioni più completo, più linguaggi di progr. memoria fino a 4K da 64 a 512 punti di I/O possibilità di connessione in rete
19
Classificazione dei PLC
medi PLC struttura modulare arricchibile con moduli speciali set di istruzioni molto completo memoria fino a qualche decina di K da 256 a 2048 punti di I/O capacità di comunicazione in rete alcuni dotati di linguaggi evoluti grandi PLC Calcolatori di gestione, interfaccia tra PLC set di istruzioni completo memoria di centinaia di K qualche migliaio di punti di I/O
20
Applicazioni dei PLC Controllo di macchine industriali
Movimentazione del materiale nei cicli produttivi Impacchettamento dei prodotti Assemblaggio dei componenti meccanici Trattamento di materiali plastici Controllo di macchine utensili Automazione di processi di produzione Automazione degli impianti negli edifici Trattamento fisico/chimico di acque Imbottigliamento e inscatolamento Controllo del moto Applicazioni di robotica Controllo di macchine per l’editoria
21
Linguaggi di Programmazione Standard IEC 61131-3 (ex1131)
Testo strutturato (ST) linguaggio ad alto livello simile al PASCAL SFC Sequential Funtional Chart (GRAFCET) impiega i concetti di fase/transizione fasi → azioni da compiere transizioni → condizioni da soddisfare Linguaggio a contatti (Ladder Diagram, KOP) comandi tipici degli schemi di controllo a relè elettromeccanici FBD Function Block Diagram (FUP) basato sulla logica booleana Lista di istruzioni (IL, AWL-Siemens) simile ai linguaggi assembly tradizionali
22
Linguaggi di Programmazione Standard IEC 61131-3 (ex1131)
Esempio di editor di simboli
23
Testo Strutturato (ST)
Linguaggio ad alto livello simile al PASCAL o al C È particolarmente adatto per applicazioni dove occorre effettuare calcoli complessi
24
Testo Strutturato (ST)
Esempi di alcuni operatori contemplati: Assegnazione := Aritmetici +,-,*,/,MOD,** Relazione <,<=,>,>=,=,< > Logici AND, OR, XOR, NOT Parentesi ( ) per impostare l’ordine di esecuzione delle operazioni
25
Testo Strutturato (ST)
Comprende i consueti costrutti di selezione: IF cond THEN istr END_IF IF cond1 THEN istr1 ELSIF cond2 THEN istr2 ELSE istr3 END_IF CASE var OF val_i : istr_i ELSE istr END_CASE
26
Testo Strutturato (ST)
Alcuni costrutti iterativi FOR var=val1 TO var=var2 BY step DO istr END_FOR WHILE cond DO istr END_WHILE REPEAT istr UNTIL cond END_REPEAT EXIT per uscire da cicli in maniera immediata
27
Linguaggi di Programmazione SFC Sequential Funtional Chart (GRAFCET)
E’ un linguaggio di programmazione grafico che impiega i concetti di fase e transizione palesemente derivato dalle reti di Petri Fase (indicata graficamente con un rettangolo): è un singolo passo in una sequenza di operazioni comprendente una o più azioni (indicate con un rettangolo) che vengono eseguite quando la fase è “attiva”. Transizione (indicata graficamente con una barretta): è associata ad un set di condizioni. Quando queste sono tutte contemporaneamente verificate la transizione si dice attiva. Quando è attiva e tutte le fasi a monte di essa sono attive, la transizione si dice superabile. Fasi e transizioni sono collegate mediane archi in modo che tra due fasi vi è almeno una transizione e tra due transizioni è presente almeno una fase.
28
Linguaggi di Programmazione SFC Sequential Funtional Chart (GRAFCET)
Azione A Azione B Azione C FASE INIZIALE FASE 1 FASE 4 FASE 2 FASE 3 TRANS 1 (condizione a, condizione b,…) TRANS 2 TRANS 3 Quando una o più transizioni sono superabili, tutte le fasi a monte di ciascuna di esse vengono disattivate (contemporaneamente) e tutte quelle a valle vengono attivate.
29
Linguaggi di Programmazione Linguaggio a contatti (Ladder Diagram, KOP)
E’ un linguaggio di programmazione grafico che impiega i concetti e simboli mutuati dagli schemi funzionali dei circuiti a relé E’ il linguaggio più utilizzato in Italia e, probabilmente, nel mondo. Deve la sua larga diffusione al fatto che ha consentito di passare facilmente da una logica cablata (circuiti elettrici a relè) ad una logica programmata, in cui il funzionamento del circuito (virtuale, tracciato con l’interfaccia grafica) è tradotto in un programma.
30
Linguaggi di Programmazione Linguaggio a contatti (Ladder Diagram, KOP)
Alcuni simboli grafici fondamentali Operazioni logiche combinatorie di bit Contatto normalmente aperto E’ associato ad una variabile booleana di ingresso, interna o di uscita: il contatto risulta aperto se tale variabile è al livello basso (0); risulta chiuso se la variabile è al livello alto (1) Contatto normalmente chiuso E’ associato ad una variabile booleana di ingresso, interna o di uscita: il contatto risulta chiuso se tale variabile è al livello basso (0); risulta aperto se la variabile è al livello alto (1)
31
Linguaggi di Programmazione Linguaggio a contatti (Ladder Diagram, KOP)
Bobina semplice E’ associata ad una variabile booleana di uscita o interna: se la bobina è “eccitata” tale variabile è al livello alto (1); se la bobina non è “eccitata” la variabile è al livello basso (0) Bobina di setting E’ associata ad una variabile booleana di uscita o interna: quando la bobina è “eccitata” tale variabile è settata al livello alto (1) e vi rimane anche quando la bobina non è più “eccitata”. S Bobina di resetting E’ associata ad una variabile booleana di uscita o interna: quando la bobina è “eccitata” tale variabile è resettata al livello basso (0) e vi rimane anche quando la bobina non è più “eccitata”. R
32
Linguaggi di Programmazione Linguaggio a contatti (Ladder Diagram, KOP)
Rilevatore di un fronte di salita Quando la “tensione a monte” passa dal valore basso al valore alto (fronte di salita) la “tensione a valle” è posta al livello alto. P Rilevatore di un fronte di discesa Quando la “tensione a monte” passa dal valore alto al valore basso (fronte di discesa) la “tensione a valle” è posta al livello alto. N Vi sono numerosi altri simboli che indicano Contatori, Temporizzatori, Condizioni Logiche, operatori aritmetici e di vario tipo con variabili booleane, byte, word, double word, reali, etc.
33
Linguaggi di Programmazione Linguaggio a contatti (Ladder Diagram, KOP)
Semplice esempio di una linea di programma: <ingresso a> <ingresso c> <variabile interna b> <uscita d> (+) (-) Vi sarà tensione ai morsetti che corrispondono all’uscita “d” se {vi è tensione ai morsetti che corrispondono all’ingresso “a” AND (la variabile interna “b” è al valore basso (0) OR vi è tensione ai morsetti che corrispondono all’ingresso “c” )} d=a AND [NOT(b) OR c]
34
Semplice supervisore sistema
x0 x1 x2 b f
35
Linguaggi di Programmazione Standard IEC 61131-3 (ex1131)
Esempio (supervisore) di editor di simboli
36
Semplice esempio di programma (supervisore):
Linguaggi di Programmazione Linguaggio a contatti (Ladder Diagram, KOP) Semplice esempio di programma (supervisore):
37
Linguaggi di Programmazione Linguaggio a contatti (Ladder Diagram, KOP)
38
Semplice esempio di programma (supervisore):
Linguaggi di Programmazione Linguaggio a contatti (Ladder Diagram, KOP) Semplice esempio di programma (supervisore):
39
Linguaggi di Programmazione FBD Function Block Diagram (Diagramma a Blocchi Funzione, FUP)
E’ un linguaggio di programmazione grafico che impiega i simboli tipici della logica booleana, come le porte logiche AND, OR, NOT etc. Esempio di una linea di programma già trattato con il Linguaggio a contatti: d=a AND [NOT(b) OR c] NOT b c a OR AND d
40
Semplice esempio di programma (supervisore):
Linguaggi di Programmazione FBD Function Block Diagram (Diagramma a Blocchi Funzione, FUP) Semplice esempio di programma (supervisore):
41
Semplice esempio di programma:
Linguaggi di Programmazione FBD Function Block Diagram (Diagramma a Blocchi Funzione, FUP) Semplice esempio di programma:
42
Semplice esempio di programma:
Linguaggi di Programmazione FBD Function Block Diagram (Diagramma a Blocchi Funzione, FUP) Semplice esempio di programma:
43
Linguaggi di Programmazione Lista di istruzioni ( IL), AWL (Siemens)
E’ un linguaggio di programmazione testuale, di basso livello (utilizza istruzioni elementari, tipo Assembly), più flessibile degli altri linguaggi ma meno intuitivo.
44
Linguaggi di Programmazione Lista di istruzioni ( IL), AWL (Siemens)
Operazioni logiche combinatorie di bit U AND UN AND negato O OR ON OR negato X OR esclusivo XN OR esclusivo negato
45
Linguaggi di Programmazione Lista di istruzioni ( IL), AWL (Siemens)
Operazioni logiche combinatorie di bit operatori precedenti con parentesi es.: U( AND con parentesi = assegnazione R resetta S imposta
46
Linguaggi di Programmazione Lista di istruzioni ( IL), AWL (Siemens)
Operazioni logiche combinatorie di bit NOT nega RLC (risultato logico combinatorio) SET imposta RLC (=1) CLR resetta RLC (=0) FN rileva fronte di discesa FP rileva fronte di salita
47
Linguaggi di Programmazione Lista di istruzioni ( IL), AWL (Siemens)
Semplice esempio di programma (supervisore):
48
Linguaggi di Programmazione Lista di istruzioni ( IL), AWL (Siemens)
Semplice esempio di programma (supervisore):
49
Tipico menu di simboli (KOP, FUP) Siemens
50
Tipico menu di simboli (KOP: combinazione binaria) Siemens
Contatto normalmente aperto Contatto normalmente chiuso Inversione risultato Bobina di uscita Connettore (assegnazione intermedia RCL risultato logico combinatorio) Bobina di resetting Bobina di setting Resetta imposta flip flop Imposta resetta flip flop Rileva fronte di discesa Rileva fronte di salita Salva RCL nel registro BIE Rilevamento fronte di discesa (due operandi) Rilevamento fronte di salita(due operandi) PE Leggi Direttamente (byte, parola, doppia parola) PA Scrivi Direttamente (byte, parola, doppia parola
51
Tipico menu di simboli (KOP: operazioni di confronto) Siemens
Operazioni di confronto fra: Numeri interi a 16 bit (I) Interi a 32 bit (D) Numeri in virgola mobile (R)
52
Tipico menu di simboli (KOP: operazioni di conversione) Siemens
conversione (formati: 16 bit, 32 bit, binary-coded decimal BCD, virgola mobile) complemento a 1 (inversione di ciascun bit) e complemento a 2 (inversione di tutti i bit a partire – da destra – dal primo bit unitario – escluso) arrotondamento
53
Tipico menu di simboli (KOP: contatori) Siemens
in avanti e indietro in avanti indietro
54
Tipico menu di simboli (KOP) Siemens
Richiamo blocco dati (DB), Operazioni di salto, Funzioni in virgola fissa, Funzioni in virgola mobile
55
Tipico menu di simboli (KOP) Siemens
Operazioni di spostamento, Op. di controllo programma, Op. di spostamento/rotazione, Bit di stato MCR=Relè Master Control Spostamento e rotazione a destra o sinistra
56
Tipico menu di simboli (KOP) Siemens
Temporizzatori, Operazioni logiche a parole AND, OR, OR esclusivo Fra Word e Double Word (per ciascun bit)
57
Tipico menu di simboli (KOP) Siemens
Richiamo Blocchi, Multiistanze (unico blocco dati usato da un blocco funzionale, con dati selezionati in dipendenza dell’istanza) Biblioteche di blocchi
58
Tipico menu di simboli (KOP) Siemens
Blocchi funzionali (FB-con memoria), Funzioni (FC): blocchi programmati dall’utente, eseguiti ogni volta che sono richiamati. Blocchi funzionali di sistema (SFB-con memoria), Funzioni di sistema (SFC): blocchi di sistema operativo.
59
Linguaggi di Programmazione Standard IEC 61131-3 (ex1131)
Esempio di editor di simboli (supervisore con contatore)
60
Semplice esempio di programma (supervisore mediante contatore):
Linguaggi di Programmazione Linguaggio a contatti (Ladder Diagram, KOP) Semplice esempio di programma (supervisore mediante contatore): Z_VORW: contatore in avanti ZV: Ingresso di conteggio in avanti (fronte di salita) S: un fronte di salita setta il contatore al valore impostato in ZW ZW: valore di setting (WORD-BCD) R: un fronte di salita resetta il contatore a zero Q: variabile binaria uguale a 1 quando il conteggio è >0 DUAL: valore conteggio (WORD-esadecimale) DEZ: valore conteggio (WORD-BCD)
Presentazioni simili
© 2025 SlidePlayer.it Inc.
All rights reserved.