Dispositivi e Strumenti Software per l'automazione PLC e SFC Prof. Carlo Rossi Università di Bologna Collocazione del corso Schema tecnologico di un sistema di controllo Compatibilità Elettromagnetica 1001 D A Attuatori 1001 D A 1 N Unità di controllo Sensori Impianto Prof. C. Rossi - DEIS Univ. di Bologna Sistemi di Controllo per l'automazione 1-2 Indice della presentazione Parte 1 Dispositivi per il Controllo Logico: PLC Architettura del Sistema di controllo di una macchina architettura interna moduli speciali programmazione Progettazione di controlli sequenziali un esempio Lo standard IEC 1131 strumenti e linguaggi di programmazione Sequential functional chart (SFC) concetti base sintassi strutture Prof. C. Rossi - DEIS Univ. di Bologna Sistemi di Controllo per l'automazione 1-3
Indice della presentazione Parte 2 Sequential functional chart (SFC) esempi di utilizzo delle strutture Organizzazione generale del software di un PLC la scansione ciclica la gestione dell' I/O Un linguaggio testuale di basso livello AWL caratteristiche del linguaggio Prof. C. Rossi - DEIS Univ. di Bologna Sistemi di Controllo per l'automazione 1-4 Dispositivi per il Controllo Logico Programmable Logic Controller o PLC Controllore con architettura general-purpose dedicato al controllo logico sequenziale Componente fondamentale di ogni sistema di automazione La filosofia del PLC ha avuto origine alla fine degli anni 60 da una specifica della General Motors relativa ai sistemi di controllo da utilizzarsi nei suoi impianti per la produzione delle vetture Prof. C. Rossi - DEIS Univ. di Bologna Sistemi di Controllo per l'automazione 1-5 Dispositivi per il Controllo Logico Definizione di PLC Dispositivo o sistema digitale programmabile con un set di istruzioni atte ad implementare specifiche funzioni quali logica combinatoria controlli sequenziali temporizzazioni e conteggi calcoli aritmetici con riferimento al controllo di macchine e di processi Prof. C. Rossi - DEIS Univ. di Bologna Sistemi di Controllo per l'automazione 1-6
Dispositivi per il Controllo Logico Evoluzione storica Funzioni Logiche con Contatti (Relais) Funzione OR Funzione AND Forma canonica SP V+ V- Prof. C. Rossi - DEIS Univ. di Bologna Sistemi di Controllo per l'automazione 1-7 Dispositivi per il Controllo Logico Evoluzione storica Il PLC è nato per sostituire sistemi di automazione realizzati con logiche cablate a Relais Esempio: comando motore Consenso Prossimità Motore on Indicatore on misure comandi Prof. C. Rossi - DEIS Univ. di Bologna Sistemi di Controllo per l'automazione 1-8 Dispositivi per il Controllo Logico Evoluzione storica Schema di automazione a Relais C R1 C P R2 P R1 AND R2 M M I I R2 V+ V- Prof. C. Rossi - DEIS Univ. di Bologna Sistemi di Controllo per l'automazione 1-9
Dispositivi per il Controllo Logico Evoluzione storica Il Relais industriale è il mattone elementare per la realizzazione di funzioni logiche I Schema in V F out Contatti N.A. in chiusura N.C. in apertura A F B Prof. C. Rossi - DEIS Univ. di Bologna Sistemi di Controllo per l'automazione 1-10 Dispositivi per il Controllo Logico Evoluzione storica Il Relais industriale è il mattone elementare per la realizzazione di funzioni logiche Schema Contatti A F B in V N.A. in chiusura out N.C. in apertura Prof. C. Rossi - DEIS Univ. di Bologna Sistemi di Controllo per l'automazione 1-11 PLC: origine Le specifiche General Motors del 1968 dalla Logica cablata alla logica programmabile Facile sostituzione di Sistemi di Automazione a Relais Funzionamento in ambiente industriale interfacciamento con sensori standard progetto modulare elevata affidabilità Facilità di programmazione e riprogrammazione sul campo linguaggio naturale interpretato ambiente di sviluppo a bordo Capacità di comunicazione raccolta dati e monitoraggio Prof. C. Rossi - DEIS Univ. di Bologna Sistemi di Controllo per l'automazione 1-12
PLC: architettura interna input CPU output Architettura classica (EP) ROM RAM Differenze con sistema a µp realizzazione delle parti parallelismo e struttura interna linguaggio naturale e S.O. Prof. C. Rossi - DEIS Univ. di Bologna Sistemi di Controllo per l'automazione 1-13 PLC: caratteristiche Hardware CPU realizzazioni custom con processore ad 1 bit per l esecuzione dei controlli logici grandissima efficienza linguaggio naturale microcodificato scarsa flessibilità solo per sistemi ad elevatissime prestazioni uso di µp standard set di istruzioni più ampio progetto standard necessità di un interprete Prof. C. Rossi - DEIS Univ. di Bologna Sistemi di Controllo per l'automazione 1-14 PLC: caratteristiche Hardware Sezione di ingresso/uscita possibilità acquisizione segnali analogici ingressi standard ± 10V interfacciamento con sensori particolari termocoppie, termoresistenze estensimetri ampio corredo di schede per segnali logici isolamento galvanico visualizzazione dello stato interfacciamento con sensori DC 5-12 - 24-48 V AC 110-280 V Prof. C. Rossi - DEIS Univ. di Bologna Sistemi di Controllo per l'automazione 1-15
PLC: caratteristiche Hardware Memoria programmi RAM batterizzata per lo sviluppo del programma EPROM per la versione definitiva Memoria dati suddivisa in sezione di ingresso sezione di uscita sezione di stato accesso bit, byte, word Prof. C. Rossi - DEIS Univ. di Bologna Sistemi di Controllo per l'automazione 1-16 PLC: caratteristiche Hardware Moduli speciali Interfaccia di rete locale ethernet, proprietaria Interfaccia per Bus di campo di solito proprietaria, standard Profibus, Interbus, CanBus,.. Processori ausiliari regolazione PID, controllo assi Processori di visualizzazione sinottici di impianto, interfaccia operatore Unità di programmazione proprietaria, più spesso PC Unità di back-up nelle applicazioni che richiedono alta sicurezza di funzionamento Prof. C. Rossi - DEIS Univ. di Bologna Sistemi di Controllo per l'automazione 1-17 PLC: programmazione Filosofia originaria linguaggio orientato alla specifica applicazione naturale per tecnici esperti del problema eliminare l intermediazione dell esperto informatico Soluzioni originarie Ladder Diagram - schemi a Relais Functional Block - schemi logici Soluzione più recente Boolean Language - lista istruzioni - pseudo Pascal compatibilità col passato Strumenti per la progettazione di controlli sequenziali State Function Chart Prof. C. Rossi - DEIS Univ. di Bologna Sistemi di Controllo per l'automazione 1-18
Progettazione di Controlli Sequenziali Introduzione La progettazione del Software di Automazione per una Macchina Automatica è un compito complesso La metodologia generale di soluzione esula dagli scopi di questo corso Mediante un esempio verranno presentati i passi logici della soluzione Chiarimento del compito e strutturazione del sistema Elaborazione dei documenti di specifica Realizzazione del Progetto Collaudo del sistema di controllo e messa in funzione della macchina Stesura della documentazione Prof. C. Rossi - DEIS Univ. di Bologna Sistemi di Controllo per l'automazione 1-19 Progettazione di Controlli Sequenziali Chiarimento del compito e strutturazione del sistema Descrizione generale della macchina da automatizzare Descrizione del funzionamento Descrizione dettagliata della macchina liste sensori liste attuatori Strutturazione della macchina in parti omogenee funzionalmente correlazione nel processo produttivo spazialmente collocazione fisica adiacente Grado di automazione delle parti Prof. C. Rossi - DEIS Univ. di Bologna Sistemi di Controllo per l'automazione 1-20 Progettazione di Controlli Sequenziali Descrizione del processo produttivo impacchettatrice Alimentazione del prodotto Formazione del pacco Movimentazione del pacco e stesura del film Avvolgimento del pacco Saldatura Evacuazione Pacco finito Prof. C. Rossi - DEIS Univ. di Bologna Sistemi di Controllo per l'automazione 1-21
Progettazione di Controlli Sequenziali Elaborazione dei documenti di specifica Cruciale per la buona riuscita del progetto Distribuzione Hardware/Software dei compiti Scelta dei sensori e degli attuatori Lavoro di gruppo specifiche chiare e non ambigue interfaccie ben definite Prof. C. Rossi - DEIS Univ. di Bologna Sistemi di Controllo per l'automazione 1-22 Progettazione di Controlli Sequenziali Realizzazione del Progetto Hardware acquisto acquisto + progettazione di parti specifiche progettazione completa Software normalmente va progettato software per uso industriale realizzazione gruppo di lavoro manutenzione, aggiornamento, riutilizzo noi o altre persone Controllo digitale diretto, controllo di sequenze Attività cruciale Prof. C. Rossi - DEIS Univ. di Bologna Sistemi di Controllo per l'automazione 1-23 Progettazione di Controlli Sequenziali Collaudo del sistema di controllo e messa in funzione dell'impianto Fase costosa e delicata realizzata da altre persone realizzata presso il cliente esigenze di avvio della produzione tempi e costi dipendono fortemente dalla qualità della fase di progettazione meglio investire tempo e risorse sulla progettazione che spendere poi nel collaudo e nella messa in servizio Nella pratica industriale raramente viene seguita questa filosofia per diverse motivazioni, solitamente non tecniche Prof. C. Rossi - DEIS Univ. di Bologna Sistemi di Controllo per l'automazione 1-24
Progettazione di Controlli Sequenziali Stesura della documentazione La documentazione è parte integrante e fondamentale di un progetto industriale un progetto non è completato finché non è corredato da adeguata documentazione La predisposizione della documentazione va effettuata congiuntamente con lo sviluppo di ogni fase della progettazione Tecniche di progettazione che intrinsecamente producono documentazione sono da privilegiare CAD programmazione strutturata SFC GEMMA Prof. C. Rossi - DEIS Univ. di Bologna Sistemi di Controllo per l'automazione 1-25 Progettazione di Controlli Sequenziali Strumenti di modellazione per il controllo logico descrizione letterale (a parole) lunga, imprecisa, troppo personale descrizione puramente logica troppo particolareggiata legata alla tecnologia implementativa diagrammi temporali carenza nella descrizione degli elementi sequenziali non consente di mettere in evidenza sequenze simultanee diagramma degli stati strumento idoneo per sistemi di modesta complessità perché troppo particolareggiato idoneo con una opportuna ridefinizione del concetto di stato Prof. C. Rossi - DEIS Univ. di Bologna Sistemi di Controllo per l'automazione 1-26 Lo Standard IEC 1131-3 Strumenti software standardizzati per la descrizione e la progettazione del ciclo operativo di macchine ed impianti scopo stimolare una normalizzazione della sintassi dei linguaggi di programmazione per l'automazione obiettivi programmazione strutturata modularità del software riusabilità del software portabilità del codice tra macchine diverse semplicità di programmazione tempi e costi di sviluppo ridotti Prof. C. Rossi - DEIS Univ. di Bologna Sistemi di Controllo per l'automazione 1-27
Strumenti di Progettazione Progettazione delle sequenze di Controllo Sequential Functional Chart (SFC) Lo Standard IEC 1131-3 1 Stati 2 3 Condizioni per la transizione 4 Transizioni 5 Prof. C. Rossi - DEIS Univ. di Bologna Sistemi di Controllo per l'automazione 1-28 Lo Standard IEC 1131-3 Linguaggi di Programmazione grafici Linguaggio a contatti (Ladder Diagram) E1.0 E1.1 A4.0 ( ) AND 1 OR E1.2 A4.1 ( ) 2 V+ V- E1.1 Prof. C. Rossi - DEIS Univ. di Bologna Sistemi di Controllo per l'automazione 1-29 Lo Standard IEC 1131-3 Linguaggi di Programmazione grafici Schemi a blocchi funzionali (Function Block Diagram) E1.0 E1.1 & A4.0 ( ) 1 E1.1 E1.2 > = 1 A4.1 ( ) 2 V+ V- Prof. C. Rossi - DEIS Univ. di Bologna Sistemi di Controllo per l'automazione 1-30
Lo Standard IEC 1131-3 Linguaggi di Programmazione testuali Testo Strutturato (pseudo-pascal). if (fine_corsa) then motore := off; else motore := on; end_if;. Prof. C. Rossi - DEIS Univ. di Bologna Sistemi di Controllo per l'automazione 1-31 Lo Standard IEC 1131-3 Linguaggi di Programmazione testuali Lista di istruzioni (AWL). AND FINE_CORSA SET MOTORE ANDN FINE_CORSA RESET MOTORE.. Prof. C. Rossi - DEIS Univ. di Bologna Sistemi di Controllo per l'automazione 1-32 Strumento per la Progettazione di Controlli Sequenziali Sequential Functional Chart Formalismo gerarchicamente superiore agli altri linguaggi serve per progettare il controllo sequenziale gli altri linguaggi, a discrezione del progettista, servono per implementare il controllo Descrizione e progettazione del ciclo operativo di macchine ed impianti assimilabile ad un diagramma degli stati indipendente dalla tecnologia utilizzata per l implementazione formalismo astratto semplifica la rappresentazione stimolando la scomposizione in sottoproblemi in ogni situazione operativa solo un sottoinsieme delle informazioni è indispensabile per il controllo Prof. C. Rossi - DEIS Univ. di Bologna Sistemi di Controllo per l'automazione 1-33
Concetti base Stato (fase, tappa, passo) l evoluzione temporale del funzionamento di un impianto complesso è descrivibile mediante una successione temporale di situazioni operative più semplici (fasi), nelle quali solo un sottoinsieme dei comandi e delle misure è attivo definizione di Stato uno Stato è una condizione operativa della macchina alla quale è associato un ben preciso algoritmo di controllo (Azioni), diverso da quelli associati agli altri Stati. il verificarsi di un particolare evento forza il passaggio (Transizione) ad un altro Stato in generale, durante il tempo di permanenza in uno Stato le uscite del controllo (comandi) possono variare in risposta alle variazioni degli ingressi (sensori) o allo scorrere del tempo Prof. C. Rossi - DEIS Univ. di Bologna Sistemi di Controllo per l'automazione 1-34 Concetti base Transizioni possibilità di evoluzione da uno Stato ad un altro non tutti gli Stati ammettono tra loro una Transizione ad ogni Transizione è associata una Condizione che deve essere verificata affinché la Transizione avvenga Condizioni (di transizione) evento che determina il passaggio ad un altro stato La sintassi per definire gli Stati, le Transizioni e le Condizioni è molto precisa n Stato Condizione Transizione m Prof. C. Rossi - DEIS Univ. di Bologna Sistemi di Controllo per l'automazione 1-35 Concetti base Esempio - timbratrice automatica pistone pneumatico testa di timbratura oggetto da timbrare Prof. C. Rossi - DEIS Univ. di Bologna Sistemi di Controllo per l'automazione 1-36
Concetti base Esempio - timbratrice automatica tre stati attesa pezzo nessuna azione 1 Prof. C. Rossi - DEIS Univ. di Bologna Sistemi di Controllo per l'automazione 1-37 Concetti base Esempio - timbratrice automatica tre stati pezzo presente 1 2 Prof. C. Rossi - DEIS Univ. di Bologna Sistemi di Controllo per l'automazione 1-38 Concetti base Esempio - timbratrice automatica tre stati 1 esecuzione timbratura comando pistone avanti 2 Prof. C. Rossi - DEIS Univ. di Bologna Sistemi di Controllo per l'automazione 1-39
Concetti base Esempio - timbratrice automatica tre stati 1 timbratura o.k. 2 3 Prof. C. Rossi - DEIS Univ. di Bologna Sistemi di Controllo per l'automazione 1-40 Concetti base Esempio - timbratrice automatica tre stati 1 2 evacuazione pezzo comando evacuazione pezzo comando pistone indietro 3 Prof. C. Rossi - DEIS Univ. di Bologna Sistemi di Controllo per l'automazione 1-41 Concetti base Esempio - timbratrice automatica tre stati 1 2 timbro su 3 Prof. C. Rossi - DEIS Univ. di Bologna Sistemi di Controllo per l'automazione 1-42
Concetti base Esempio - timbratrice automatica tre stati attesa pezzo nessun comando 1 2 3 Prof. C. Rossi - DEIS Univ. di Bologna Sistemi di Controllo per l'automazione 1-43 Sintassi Stati ad ogni stato vanno associate le Azioni da intraprendere quando si è in quello stato algoritmo di controllo attivo quando il sistema si trova in quello stato due stati vanno sempre separati da una transizione Transizioni ad ogni transizione va associata una sola Condizione che ne determina l attivazione (passaggio ad un nuovo stato) due transizioni successive non separate da uno stato sono proibite Collegamenti partono da uno stato ed arrivano ad un altro stato di solito linee verticali, ma è opportuno indicare i collegamenti con frecce per evitare ambiguità Prof. C. Rossi - DEIS Univ. di Bologna Sistemi di Controllo per l'automazione 1-44 Regole di evoluzione Inizializzazione Occorre definire gli stati attivi all avviamento stati iniziali gli stati iniziali possono essere più di uno si indicano con due quadretti uno dentro l altro possono non essere i primi stati di uno schema Abilitazione delle transizioni una transizione si dice Abilitata quando lo stato di partenza è attivo una transizione non Abilitata non viene testata una transizione diventa Attiva quando è Abilitata e la Condizione associata è vera. la transizione Attiva determina il cambio di stato. Il controllo relativo allo stato precedente viene interrotto e viene attivato quello relativo allo stato successivo Prof. C. Rossi - DEIS Univ. di Bologna Sistemi di Controllo per l'automazione 1-45
Tipi di Azioni m Azione A m Azione continua n n Azione A A Condizione n Azione condizionata n Azione A C A Prof. C. Rossi - DEIS Univ. di Bologna Sistemi di Controllo per l'automazione 1-46 Tipi di Azioni Azione temporizzata limitata nel tempo Tx = Timer n. x n = stato trigger d = durata n NOT (Tx/n/d) Azione A n Tx A d Tx/n/d n Azione temporizzata ritardata n Azione A C A d Prof. C. Rossi - DEIS Univ. di Bologna Sistemi di Controllo per l'automazione 1-47 Strutture di collegamento Scelta alternativa Parallelismo No No Prof. C. Rossi - DEIS Univ. di Bologna Sistemi di Controllo per l'automazione 1-48
Strutture di collegamento Convergenza Sincronizzazione No No Prof. C. Rossi - DEIS Univ. di Bologna Sistemi di Controllo per l'automazione 1-49 Strutture di collegamento T3-4 3 4 8 (T3-4)*(T10-11)=0 non basta Sequenze da rendere mutuamente esclusive ad es. agiscono sulla stessa parte di impianto con azioni diverse 10 11 17 T10-11 9 18 Mutua Esclusione tra Sequenze Prof. C. Rossi - DEIS Univ. di Bologna Sistemi di Controllo per l'automazione 1-50 Strutture di collegamento T3-4 3 (T3-4)*(T10-11)=0 non basta 10 T10-11 4 11 8 17 9 18 Mutua Esclusione tra Sequenze Prof. C. Rossi - DEIS Univ. di Bologna Sistemi di Controllo per l'automazione 1-51
3 Strutture di collegamento Mutua Esclusione tra Sequenze 10 T3-4 Sincronizzazione T10-11 4 11 S Semaforo 8 17 Sblocco 9 Il semaforo deve essere stato iniziale 18 Prof. C. Rossi - DEIS Univ. di Bologna Sistemi di Controllo per l'automazione 1-52 Strutture di collegamento Sincronizzazione di sequenze indipendenti 3 4 La sequenza 2 non può andare oltre lo stato 12 finchè la sequenza 1 non ha completato il controllo relativo allo stato 4 sequenza 2 10 T4-5 Punto di sincronizzazione 11 5 6 sequenza 1 Non basta condizionare T12-13 a T4-5 perché dopo che Seq.1 è uscita da S4 la T4-5 può diventare falsa 12 13 T12-13 Prof. C. Rossi - DEIS Univ. di Bologna Sistemi di Controllo per l'automazione 1-53 T4-5 3 4 Strutture di collegamento Sincronizzazione di sequenze indipendenti sequenza 2 La sequenza 2 non può andare oltre lo stato 12 finchè la sequenza 1 non ha completato il controllo relativo allo stato 4 10 11 5 S Semaforo 12 6 sequenza 1 Il semaforo non è uno stato iniziale 13 T12-13 Prof. C. Rossi - DEIS Univ. di Bologna Sistemi di Controllo per l'automazione 1-54
Strutture speciali Macrostati 3 10 4 13 11 6 12 Prof. C. Rossi - DEIS Univ. di Bologna Sistemi di Controllo per l'automazione 1-55 Strutture speciali Macroazioni - Forzatura 3 a 10 =1 10 =1 4 Forzare SFCX:{Y} b 11 11 6 Y= set 11 c 12 SFCX 12 SFCX =1 Prof. C. Rossi - DEIS Univ. di Bologna Sistemi di Controllo per l'automazione 1-56 Strutture speciali Macroazioni - Forzatura in Sospensione 3 a 10 10 =1 4 Forzare SFCX:{} b 11 11 =1 6 Y= vuoto c 12 SFCX 12 SFCX =1 Prof. C. Rossi - DEIS Univ. di Bologna Sistemi di Controllo per l'automazione 1-57
Strutture speciali Macroazioni - Forzatura in Blocco nello stato attuale 3 10 10 a a*not1 4 Forzare SFCX:{} b 11 11 a*not1 6 Y= * c 12 a*not1 12 SFCX SFCX Prof. C. Rossi - DEIS Univ. di Bologna Sistemi di Controllo per l'automazione 1-58 Indice della presentazione Parte 2 Sequential functional chart (SFC) esempi di utilizzo delle strutture Strumenti per la gestione delle eccezioni GEMMA Un linguaggio testuale di basso livello AWL dai diagrammi a relais alla programmazione caratteristiche del linguaggio Organizzazione generale del software di un PLC la scansione ciclica la gestione dell' I/O Da un SFC alla Programmazione una possibile soluzione Prof. C. Rossi - DEIS Univ. di Bologna Sistemi di Controllo per l'automazione 1-59 Esempi di utilizzo delle Strutture Sequenza unica successione di stati che si possono attivare uno dopo l altro esempio: passaggio a livello su binario unico a doppio senso treno presente b a c treno in arrivo Prof. C. Rossi - DEIS Univ. di Bologna Sistemi di Controllo per l'automazione 1-60
Sequenza unica passaggio a livello su binario unico a doppio senso a 1 attesa treno comando: barriere su treno in a oppure c 2 arrivo treno barriere giù treno in b b 3 treno in transito barriere giù treno fuori da b 4 allontanamento treno barriere su treno in a oppure c c Attenzione!! nel diagramma c'è un errore Prof. C. Rossi - DEIS Univ. di Bologna Sistemi di Controllo per l'automazione 1-61 Esempi di utilizzo di Strutture Sequenze alternative Esempio: serratura a combinazione l apertura è condizionata dalla digitazione di un codice numerico su una tastiera la successione delle cifre 6-7-8-9 porterà all apertura qualunque errore nella sequenza porta al blocco della porta ed all attivazione di un segnale sonoro di allarme. La condizione di allarme può essere disattivato solo manualmente da operatore abilitato con chiave il meccanismo di accettazione della combinazione è attivo solamente a porta chiusa Prof. C. Rossi - DEIS Univ. di Bologna Sistemi di Controllo per l'automazione 1-62 Sequenze alternative Esempio: serratura a combinazione (6-7-8-9) 1 6 6 2 7 7 3 8 8 9 chiusura 4 5 9 sblocca 6 allarme riarmo manuale Prof. C. Rossi - DEIS Univ. di Bologna Sistemi di Controllo per l'automazione 1-63
Sequenze simultanee Esempio: Isola di foratura con 3 postazioni se la lavorazione è difettosa il sistema si blocca con il tastatore in alto per consentire l espulsione manuale del pezzo difettoso un comando consente la rotazione di 120 della giostra caricamento lavorazione tastatore evacuazione Prof. C. Rossi - DEIS Univ. di Bologna Sistemi di Controllo per l'automazione 1-64 Isola di foratura 1 Attesa tutto O.K 2 Caricamento 3 Lavorazione 4 Misura ed espulsione Tutti fermi 5 Rotazione giostra Fine rotazione Prof. C. Rossi - DEIS Univ. di Bologna Sistemi di Controllo per l'automazione 1-65 1 tutto O.K. 2 caric. avanti caricato 3 caric. indiet. sezione caricamento Prof. C. Rossi - DEIS Univ. di Bologna Sistemi di Controllo per l'automazione 1-66
1 tutto O.K. 4 serraggio serrato 5 foratura forato 6 risalita risalito 7 sblocco sezione lavorazione Prof. C. Rossi - DEIS Univ. di Bologna Sistemi di Controllo per l'automazione 1-67 1 tutto O.K. 8 misura o.k. 9 tastatore su espulso 11 risalita tastat. 10 espuls. esp. indietro 12 non o.k. risalita tastat. tast. su 13 espuls. man. sezione misura ed espulsione Prof. C. Rossi - DEIS Univ. di Bologna Sistemi di Controllo per l'automazione 1-68 Mutua esclusione tra sequenze Scarico di due vagoni Il carico avviene in zone diverse per i due vagoni lo scarico è in comune A A carico Attesa B B Scarico Prof. C. Rossi - DEIS Univ. di Bologna Sistemi di Controllo per l'automazione 1-69
Mutua esclusione tra sequenze Scarico di due vagoni Il carico avviene in zone diverse per i due vagoni lo scarico è in comune A A carico B Attesa B Scarico Prof. C. Rossi - DEIS Univ. di Bologna Sistemi di Controllo per l'automazione 1-70 Mutua esclusione tra sequenze Scarico di due vagoni Il carico avviene in zone diverse per i due vagoni lo scarico è in comune A carico B A Attesa B Scarico Prof. C. Rossi - DEIS Univ. di Bologna Sistemi di Controllo per l'automazione 1-71 Mutua esclusione tra sequenze Scarico di due vagoni Il carico avviene in zone diverse per i due vagoni lo scarico è in comune A A carico Attesa B B Scarico Prof. C. Rossi - DEIS Univ. di Bologna Sistemi di Controllo per l'automazione 1-72
Mutua esclusione tra sequenze Scarico di due vagoni Il carico avviene in zone diverse per i due vagoni lo scarico è in comune A carico B B Attesa A Scarico Prof. C. Rossi - DEIS Univ. di Bologna Sistemi di Controllo per l'automazione 1-73 Scarico di due vagoni se pieno 2 carica A avanza carrello posizione attesa A 12 carica B posizione attesa B se pieno avanza carrello 3 attesa 13 attesa =1 s3 4 scambio in A avanza 14 scambio in B avanza 5 posizione scarico scarico T/4/10s sema foro 1 15 posizione scarico scarico T/14/10s 6 ritorno carrello 16 ritorno carrello posizione attesa A posizione attesa B 7 ritorno carrello 17 ritorno carrello posizione carico A posizione carico B Prof. C. Rossi - DEIS Univ. di Bologna Sistemi di Controllo per l'automazione 1-74 Software di controllo in Tempo Reale Definizione La correttezza del risultato di un algoritmo di controllo in tempo reale è garantita se: l'uscita corretta è applicata all'impianto e il risultato è fornito entro un tempo massimo stabilito tempo di campionamento L'implementazione di software in tempo reale richiede cautele aggiuntive rispetto a quello tradizionale la verifica di correttezza può risultare complessa molto importante la fase di progettazione è richiesta una elevata strutturazione una procedura non può occupare una risorsa a tempo indeterminato Prof. C. Rossi - DEIS Univ. di Bologna Sistemi di Controllo per l'automazione 1-75
Software di controllo in Tempo Reale Caratteristiche generali Strutturazione in processi semplici e ben definiti la stessa struttura del diagramma SFC il tempo massimo di esecuzione della procedura deve essere ben definito per garantire il rispetto del tempo totale di esecuzione Esecuzione ciclica ad ogni processo è garantita la risorsa di elaborazione entro il tempo necessario Attesa di eventi con interrogazione ad ogni ciclo attenzione ai loop interni violazione dei vincoli di tempo reale Separazione tra gestione I/O ed elaborazione I/O gestito dal Sistema Operativo rete sincrona I/O ad interrupt o a polling da programma attenzione, rete asincrona Prof. C. Rossi - DEIS Univ. di Bologna Sistemi di Controllo per l'automazione 1-76 PLC: ambiente di programmazione Il Sistema Operativo garantisce scansione ciclica programma il programma viene eseguito in tempo reale non si devono programmare loop di attesa il S.O. garantisce la costanza del tempo di campionamento per l algoritmo di controllo gestione automatica I/O all inizio di ogni ciclo il S.O. legge gli ingressi aggiorna le uscite gestione dei timer e dei counter Prof. C. Rossi - DEIS Univ. di Bologna Sistemi di Controllo per l'automazione 1-77 Linguaggio AWL Struttura del programma ed esecuzione ciclica Immagine di Processo di ingresso U E 1.0 UN E 1.1 = A 4.0 ON E 1.2 O E 1.1 = A 4.1 Istruzioni logiche Istruzioni di esecuzione Istruzioni logiche Istruzioni di esecuzione L'esecuzione non ha effetto sulle uscite fino alla fine del ciclo di esecuzione Immagine di Processo di uscita Prof. C. Rossi - DEIS Univ. di Bologna Sistemi di Controllo per l'automazione 1-78
Procedure Vengono definite BLOCCHI nello STEP5 Sono definiti diversi tipi di blocchi Blocchi Organizzativi (OB) servono per la gestione del programma applicativo Blocchi di Programma (PB) strutturazione del programma applicativo non parametrizzabili Blocchi di Passo (SB) come PB per comandi sequenziali Blocchi Funzionali (FB) procedure utente parametrizzabili set istruzioni esteso Blocchi dati parametri utente Linguaggio AWL Prof. C. Rossi - DEIS Univ. di Bologna Sistemi di Controllo per l'automazione 1-79 Linguaggio AWL Blocchi Organizzativi Importanti OB 1 Programma principale chiamato ciclicamente dal S.O. OB 2 OB 5 Gestione di allarmi attivati da allarmi (Interrupt) OB 10 OB 13 Procedure attivate a tempo OB 21 OB 22 Inizializzazione di reti sequenziali (eseguite una sola volta all'avviamento) OB 23 OB 34 Procedure attivate da errori Prof. C. Rossi - DEIS Univ. di Bologna Sistemi di Controllo per l'automazione 1-80 PLC: ambiente di programmazione Struttura generale del software Run/Stop inizializzazione OB 21 Ritorno rete inizializzazione OB 22 Avviamento Abilitazione uscite Lettura input OB 1 run Attuazione output Prof. C. Rossi - DEIS Univ. di Bologna Sistemi di Controllo per l'automazione 1-81
Linguaggio AWL Blocchi Funzionali Proprietà sono parametrizzabili ammettono il set esteso di istruzioni si programmano solo in AWL non si possono generare per trasformazione di blocchi PB Tipologie programmabili dall'utente di sistema di libreria (acquistabili separatamente) Prof. C. Rossi - DEIS Univ. di Bologna Sistemi di Controllo per l'automazione 1-82 Linguaggio AWL Blocchi Funzionali Struttura di intestazione e parametrizzazione Programmazione del blocco FB 5 NOME: ESEMPIO BEZ : IN1 E BI primo parametro BEZ : IN2 E BI secondo parametro BEZ : OUT1 A BI terzo parametro :U = IN1 :U = IN2 corpo della procedura := = OUT1 :BE istruzione di ritorno Prof. C. Rossi - DEIS Univ. di Bologna Sistemi di Controllo per l'automazione 1-83 Linguaggio AWL Blocchi Funzionali Struttura di intestazione e parametrizzazione Chiamata del blocco :SPA FB 5 NOME: ESEMPIO IN1 : E 4.1 IN1 IN2 : E 4.3 IN2 Prima OUT1: A 5.1 OUT1 chiamata... :SPA FB 5 NOME: ESEMPIO IN1 : E 7.3 IN1 IN2 : E 5.3 IN2 OUT1: A 9.6 OUT1 Seconda chiamata Prof. C. Rossi - DEIS Univ. di Bologna Sistemi di Controllo per l'automazione 1-84
Linguaggio AWL Annidamento Procedure OB1 FB 10 FB 240 FB 50 FB 15 FB 130 FB 150 PB35 OB21 PB 2 OB22 Livello 1 Livello 2 Livello 15 Prof. C. Rossi - DEIS Univ. di Bologna Sistemi di Controllo per l'automazione 1-85 Classi di istruzioni logiche AND, OR, NOT esecuzione assegnamento sequenziali SET, RESET conteggio e temporizzazione 256 timer e 256 counter aritmetiche confronto controllo del programma Linguaggio AWL Prof. C. Rossi - DEIS Univ. di Bologna Sistemi di Controllo per l'automazione 1-86 Tipi di variabili Logiche E Ingressi A Uscite M Flag interni Word T Timers Z Contatori D Parametri di uso generale Linguaggio AWL Prof. C. Rossi - DEIS Univ. di Bologna Sistemi di Controllo per l'automazione 1-87
Linguaggio AWL Modalità di indirizzamento Organizzazione della memoria sezione di ingresso sezione di uscita sezione flag sezione timers sezione contatori sezione parametri Indirizzamento variabili logiche Byte.bit A 3.6 Ingresso 127.7 Uscita 127.7 Flags 256.7 Timers 256 Contatori 256 X X X X X X X X 7 6 5 4 3 2 1 0 LOCAZIONE 3 Parametri 256.15 Prof. C. Rossi - DEIS Univ. di Bologna Sistemi di Controllo per l'automazione 1-88 Linguaggio AWL Timers Accumulatore specifico ACCU1 Caricamento del tempo da ACCU1 KT Valore costante DW parametro EW parola di ingresso (2 locazioni consecutive) AW parola di uscita (2 locazioni consecutive) MW flag (2 locazioni consecutive) Sintassi L KT 40. 2 L DW 2 Prof. C. Rossi - DEIS Univ. di Bologna Sistemi di Controllo per l'automazione 1-89 Timers SI T 1 (generazione di impulso resettabile) attivazione sul fronte di salita di RLC se RLC = 0 il timer è resettato uscita = 1 durante l'impulso Linguaggio AWL PROGRAMMA 5s RLC E 3.0 OUT A 4.0 U E 3.0 L KT 50.1 SI T 1.. U T 1 = A 4.0 Prof. C. Rossi - DEIS Univ. di Bologna Sistemi di Controllo per l'automazione 1-90
Linguaggio AWL Timers SV T 1 (generazione di impulso non resettabile) attivazione sul fronte di salita di RLC se RLC = 0 il timer non viene toccato uscita = 1 durante l'impulso PROGRAMMA 5s 5s RLC E 3.0 OUT A 4.0 U E 3.0 L KT 50.1 SV T 1.. U T 1 = A 4.0 Prof. C. Rossi - DEIS Univ. di Bologna Sistemi di Controllo per l'automazione 1-91 Timers SE T 1 (ritardo all'inserzione resettabile) attivazione sul fronte di salita di RLC se RLC = 0 il timer viene resettato uscita = 1 dopo il ritardo fino a quando RLC = 1 Linguaggio AWL PROGRAMMA 5s 5s RLC E 3.0 OUT A 4.0 U E 3.0 L KT 50.1 SE T 1.. U T 1 = A 4.0 Prof. C. Rossi - DEIS Univ. di Bologna Sistemi di Controllo per l'automazione 1-92 Linguaggio AWL Timers SS T 1 (ritardo all'inserzione con memoria resettabile) attivazione sul fronte di salita di RLC se RLC = 0 il timer non viene influenzato uscita = 1 dopo il ritardo uscita = 0 quando T viene resettato PROGRAMMA U E 3.0 RLC E 3.0 L KT 50.1 SS T 1 OUT A 4.0 U E 3.2 R T 1 RESET E 3.2. 5s 5s U T 1 = A 4.0 Prof. C. Rossi - DEIS Univ. di Bologna Sistemi di Controllo per l'automazione 1-93
Linguaggio AWL Timers SA T 1 (ritardo alla dinserzione) attivazione sul fronte di discesa di RLC se RLC = 1 il timer viene inizializzato uscita = 1 dopo se RLC =1 o mentre il tempo sta scorrendo uscita = 0 quando scade il tempo PROGRAMMA 5s 5s RLC OUT E 3.0 A 4.0 U E 3.0 L KT 50.1 SA T 1.. U T 1 = A 4.0 Prof. C. Rossi - DEIS Univ. di Bologna Sistemi di Controllo per l'automazione 1-94 Linguaggio AWL Sintassi Contatori L KZ 7 Operazione Operando Valore (0 9999) L DW 2 Operazione Operando Indirizzo 1 0 1 0 0 0 1 0 1 1 1 0 1 1 1 0 DW 2 Valore (BCD) Prof. C. Rossi - DEIS Univ. di Bologna Sistemi di Controllo per l'automazione 1-95 Contatori Istruzioni S Z 2 Caricamento di un contatore attivo sul fronte di salita di RLC R Z 2 Reset di un contatore attivo se RLC=1 ZV Z 2 Incrementa contatore attivo sul fronte di salita uscita = 0 se valore = 0 ZR Z 2 Linguaggio AWL Come ZV ma decrementa contatore Prof. C. Rossi - DEIS Univ. di Bologna Sistemi di Controllo per l'automazione 1-96
Linguaggio AWL Contatori Esempio: decremento di conteggio Esempio: Incremento di conteggio U E 4.0 (evento da contare) ZR Z 1 (decrementa).... U E 4.1 (condizione di set) L KZ 7 (valore di conteggio) S Z 1 (set).... U Z 1 (interrogazione) = A 2.5 (utilizzo contatore) U E 4.0 (evento da contare) ZV Z 1 (incrementa).... U E 4.1 (condizione di reset) R Z 1 (reset)...... U Z 1 (interrogazione) = A 2.5 (utilizzo contatore) Prof. C. Rossi - DEIS Univ. di Bologna Sistemi di Controllo per l'automazione 1-97 Dall' SFC al programma AWL Due alternative Ambiente di programmazione SFC disponibile interfaccia grafica per ogni stato e per ogni transizione il progettista deve predisporre (in AWL) il programma che implementa il controllo o verifica la condizione di transizione 2 timers possono essere associati ad ogni stato TIME-OUT inizializzato a + dal S.O. (disabilitato) serve per evitare situazioni di dead-lock dell' SFC causate da errori di programmazione o da guasti nei sensori o negli attuatori DELAY inizializzato a 0 dal S.O. (disabilitato) serve per ritardare l'attivazione delle transizioni in uscita Prof. C. Rossi - DEIS Univ. di Bologna Sistemi di Controllo per l'automazione 1-98 Dall' SFC al programma AWL Due alternative Ambiente di programmazione SFC non disponibile Prof. C. Rossi - DEIS Univ. di Bologna Sistemi di Controllo per l'automazione 1-99
Sistemi PLC: multiprocessore CPU specializzate basso costo utilizzo generico gestione ottimizzata funzioni logiche tempi di ciclo molto bassi gestione integrata funzioni logiche e funzioni matematiche per automazioni complesse gestione delle comunicazioni reti proprietarie reti standard per l automazione Prof. C. Rossi - DEIS Univ. di Bologna Sistemi di Controllo per l'automazione 1-100 Moduli Ingresso/Uscita intelligenti Con processore a bordo Gestione conteggi con encoder interfaccie Encoder + contatori hardware Controllo di temperatura interfaccie per termocoppie/termoresistenze interfaccie per amplificatore di potenza Controllo di posizione ingressi encoder uscite analogiche/pwm Controllo digitale generico canali I/O analogici Prof. C. Rossi - DEIS Univ. di Bologna Sistemi di Controllo per l'automazione 1-101 Sistemi di automazione e di processo Moderni PLC sistemi multiprocessore ambiente di programmazione dedicato controlli sequenziali complessi integrazione di controlli digitali collegamento in rete locale Controllori di processo sistemi multiprocessore ambiente di programmazione standard algoritmi digitali complessi integrazione di controlli logici collegamento in rete locale Tendenza alla unificazione Prof. C. Rossi - DEIS Univ. di Bologna Sistemi di Controllo per l'automazione 1-102
Dispositivi e Strumenti Software per l'automazione Prof. Carlo Rossi Università di Bologna Prof. C. Rossi - DEIS Univ. di Bologna Sistemi di Controllo per l'automazione