Automation Robotics and System CONTROL Università degli Studi di Modena e Reggio Emilia Automazione Industriale 2 - I sistemi di controllo per l'Automazione Industriale Cesare Fantuzzi ([email protected]) Ingegneria Meccatronica Ingegneria della Gestione Industriale AA 2010/2011 Sommario ּס ּס ּס ּס ּס Piattaforme per l’automazione. Sistemi Embedded, i Programmable Logical Controller (PLC). Descrizione fisica della piattaforma di controllo. Descrizione logica del sistema di controllo. C. Fantuzzi Automazione Industriale - 2. I Sistemi di Controllo per l'Automazione Industriale 2 Obiettivi didattici del modulo ּסConoscere i principi dei sistemi di controllo per l’automazione, incluse le problematiche peculiari (tempo reale, concorrenza). C. Fantuzzi Automazione Industriale - 2. I Sistemi di Controllo per l'Automazione Industriale 3 Sistema Informatico per l’elaborazione dati (Office) ּסUn sistema per l’elaborazione dati (office) e’ predisposto a leggere dati in ingresso, applicare un determinato algoritmo e terminare. ּסIl tempo di elaborazione dati non e’ fondamentale alla correttezza della elaborazione. C. Fantuzzi Automazione Industriale - 2. I Sistemi di Controllo per l'Automazione Industriale 4 Sistema Informatico per l’Automazione ּסIl sistema deve controllare un processo fisico in modo continuativo. ּסIn modo continuativo, esegue le seguenti operazioni: – Acquisizione dei segnali sensoriali – Applicazione di un algoritmo di controllo – Attuazione dei segnali di controllo ּסIl tempo di elaborazione dati e’ fondamentale per la correttezza del funzionamento del sistema di controllo. C. Fantuzzi Automazione Industriale - 2. I Sistemi di Controllo per l'Automazione Industriale 5 Ciclo operativo del sistema di controllo C. Fantuzzi Automazione Industriale - 2. I Sistemi di Controllo per l'Automazione Industriale 6 Vincoli REAL TIME (RT) ּסUn sistema di controllo e’ ha un funzionamento corretto se: – E’ logicamente corretto. – Termina la sua esecuzione rispettando vincoli temporali assegnati. ּסSono detti Sistemi a Tempo Reale (Real Time System) quei sistemi che falliscono se non sono rispettati determinati vincoli temporali. C. Fantuzzi Automazione Industriale - 2. I Sistemi di Controllo per l'Automazione Industriale 7 Sistema Operativo a Tempo Reale (Real Time) ּסUn sistema operativo real-time o in tempo reale (abbreviato in RTOS) è un sistema operativo specializzato per il supporto di applicazioni software real-time. ּסQuesti sistemi vengono utilizzati tipicamente in ambito industriale (controllo di processo, pilotaggio di robot, trasferimento di dati nelle telecomunicazioni) o comunque dove sia necessario ottenere una risposta dal sistema in un tempo massimo prefissato. C. Fantuzzi Automazione Industriale - 2. I Sistemi di Controllo per l'Automazione Industriale 8 Real Time = Sistema Veloce? ּסNon Necessariamente. ּסDa un punto di vista puramente teorico l'intervallo di tempo in cui il sistema operativo/applicativo deve reagire non ha importanza ּסInfatti un sistema operativo in RT non deve essere necessariamente veloce, la cosa importante è che risponda entro un tempo massimo perfettamente noto. C. Fantuzzi Automazione Industriale - 2. I Sistemi di Controllo per l'Automazione Industriale 9 Assignment ּסSia dato un sistema con carro ponte. Si vuole gestire il problema di evitare che a causa di un errore di programmazione il carro ponte colpisca un fine corsa meccanico. ּסSi progetta un controllo di sicurezza che legge ad ogni ciclo di attivazione un sensore di posizione (diverso da quello usato per il controllo, un sensore di sicurezza). ּסIn caso di attivazione del sensore, il controllo di sicurezza deve arrestare il motore. ּסSi supponga che lo spazio di arresto sia di x e che la velocità di avanzamento del carro sia v. ּסSi calcoli il tempo massimo di intervento del sistema di sicurezza (vincolo real-time da imporre). C. Fantuzzi Automazione Industriale - 2. I Sistemi di Controllo per l'Automazione Industriale 10 Real Time non significa necessariamente veloce. ּסEsempio 1: Un sistema di controllo asse necessita di acquisire il riferimento di posizione dell'asse controllato ogni (in genere) 1/2 millisecondi. Se l'acquisizione non avviene nel tempo fissato, il sistema non e’ in grado di controllare efficacemente l'asse. Il singolo dato e’ di per se’ critico. C. Fantuzzi Automazione Industriale - 2. I Sistemi di Controllo per l'Automazione Industriale 11 Real Time non significa necessariamente veloce (Cont.) ּסEsempio 2: Un sistema di supervisione e’ programmato per acquisire la corrente degli avvolgimenti di un motore Brushless per scopi di diagnostica. Tali acquisizione deve avvenire con periodo (in genere) di 0.5 millisecondi. Se l'acquisizione non avviene nel tempo fissato (in modo saltuario e non continuativo) il dato corrente viene perso. Il sistema di diagnosi tuttavia continua a funzionare regolarmente. Il singolo dato non e’ per se critico. C. Fantuzzi Automazione Industriale - 2. I Sistemi di Controllo per l'Automazione Industriale 12 Hard e Soft Real Time. ּסUn sistema si dice Hard RT se il non rispetto di un vincolo temporale significa il fallimento completo dell'applicazione. ּסUn sistema si dice Soft RT se il non rispetto di un vincolo temporale che avvenga in modo saltuario diminuisce la prestazione del sistema senza provocarne il fallimento C. Fantuzzi Automazione Industriale - 2. I Sistemi di Controllo per l'Automazione Industriale 13 Sistemi misti (Hard e Soft) ּסIl funzionamento di un sistema meccatronico ha specifiche miste – Esecuzione del controllo (Hard RT) – Supervisione (Soft RT) – Comunicazione (Hard/Soft RT). ּסInoltre le specifiche sulla esecuzione dei processi possono essere differenti. – Acquisizione della posizione di un motore (mS). – Acquisizione della corrente per il controllo del motore (microS). – Acquisizione della temperatura di un forno (sec.). C. Fantuzzi Automazione Industriale - 2. I Sistemi di Controllo per l'Automazione Industriale 14 Sistema multitask ּסIl sistema di controllo deve essere strutturato su processi (Tasks) che: – vengono eseguiti in parallelo. – hanno specifiche temporali differenti ּסL’Hw e il Sw di un sistema di controllo deve permettere l’esecuzione di processi paralleli (sistema multitasks) che debbono essere eseguiti logicamente in parallelo. ּסIl parallelismo e’ in realta’ di tipo simulato, e il tempo di calcolo della CPU è suddiviso tra i processi attivi. C. Fantuzzi Automazione Industriale - 2. I Sistemi di Controllo per l'Automazione Industriale 15 Priorità di processi ּסA ciascun processo viene assegnata una priorità di esecuzione allo scopo di assicurare il rispetto dei vincoli RT. ּסCiascun processo viene messo in esecuzione in base alla sua priorita’ in base alle politiche di gestione delle priorita’ implementate dal Sistema Operativo. C. Fantuzzi Automazione Industriale - 2. I Sistemi di Controllo per l'Automazione Industriale 16 Multitasking ּסA ciascun task vengono assegnate: – Periodo di riesecuzione – Priorita’ C. Fantuzzi Automazione Industriale - 2. I Sistemi di Controllo per l'Automazione Industriale 17 Task scheduling ּסNon Preemtive. – Il processo di priorita’ piu’ elevata viene messo in esecuzione, senza pero’ interrompere il processo correntemente attivo (non è adatto alla gestione di processi RT). ּסPreemtive – Il processo di priorita’ piu’ elevata viene messo in esecuzione, interrompendo il processo correntemente attivo. C. Fantuzzi Automazione Industriale - 2. I Sistemi di Controllo per l'Automazione Industriale 18 Multitasking Preemptive C. Fantuzzi Automazione Industriale - 2. I Sistemi di Controllo per l'Automazione Industriale 19 Multitasking non preemptive C. Fantuzzi Automazione Industriale - 2. I Sistemi di Controllo per l'Automazione Industriale 20 Comunicazione fra processi concorrenti ּסI processi devono poter comunicare (es. un processo per l’acquisizione dei segnali dai sensori deve mandare i valori acquisiti al processo per il calcolo dell’algoritmo di controllo). ּסIl meccanismo più semplice per lo scambio dei dati consiste nell’utilizzare un’area di memoria condivisa. C. Fantuzzi Automazione Industriale - 2. I Sistemi di Controllo per l'Automazione Industriale 21 Scambio dati mediante memoria condivisa. C. Fantuzzi Automazione Industriale - 2. I Sistemi di Controllo per l'Automazione Industriale 22 Sincronismo dei dati ּסOccorre mantenere l’integrita’ dei dati tra scrittura e lettura. ּסOccorre evitare che un processo legga un vettore mentre un secondo processo lo sta’ aggiornando. ּסEsistono due possibilita’ per garantire l’integrita’ della struttura dati: – Impedire che il Sistema Operativo possa interrompere l’esecuzione della scrittura dei dati -> Disabilitazione interrupts – Segnalare che un processo sta effettuando una scrittura di dati -> Uso di semafori C. Fantuzzi Automazione Industriale - 2. I Sistemi di Controllo per l'Automazione Industriale 23 Interrupts ּסun interrupt è un meccanismo che consente l'interruzione di un processo qualora si verifichino determinate. ּסL’interrupt e’ un segnale o messaggio, generalmente di natura asincrona, che arriva all'interno della CPU per avvisarla del verificarsi di un certo evento. ּסUn uso e’ quello di segnalare il cambio di contesto per implementare il multitasking. C. Fantuzzi Automazione Industriale - 2. I Sistemi di Controllo per l'Automazione Industriale 24 Disabilitazione interrupts per la sincronizzazione di processi Processo “A” DisableInt( ); for (i++,1,10) Array[i]=dato; EnableInt( ); C. Fantuzzi Processo “B” Array DisableInt( ); for (i++,1,10) dato=Array[i]; EnableInt( ); Automazione Industriale - 2. I Sistemi di Controllo per l'Automazione Industriale 25 Utilizzo di un semaforo per la sincronizzazione di processi C. Fantuzzi Automazione Industriale - 2. I Sistemi di Controllo per l'Automazione Industriale 26 Deadlock ּסIl meccansimo del semaforo deve essere utilizzato in modo accorto, in quanto puo’ produrre deadlock di processi e inversione di priorita’. C. Fantuzzi Automazione Industriale - 2. I Sistemi di Controllo per l'Automazione Industriale 27 Esempio: Pathfinder C. Fantuzzi Automazione Industriale - 2. I Sistemi di Controllo per l'Automazione Industriale 28 Hardware per il controllo di sistema ּסLa configurazione di un sistema di controllo industriale si compone di: – Un sistema di acquisizione dati dal campo, in grado di acquisire segnali analogici, digitali o logici a seconda della applicazione di controllo; – Un sistema a microprocessore per l’esecuzione dell’algortimo di controllo. – Un sistema di attuazione dei segnali di controllo, comprendente i dispositivi per l'interfacciamento con motori elettrici o attuatori pneumatici operanti sul campo. – Dispositivi di temporizzazione (timer), per la gestione real time dei processi. – Dispositivi di interfaccia con altri sistemi remoti (RS232, TCP/IP, ....) o con l'utente (tastiera, schermo); C. Fantuzzi Automazione Industriale - 2. I Sistemi di Controllo per l'Automazione Industriale 29 Hardware per il controllo (cont.) ּסUn sistema di controllo industriale puo’ essere realizzato con: – Una unica scheda, su cui sono concentrati i dispositivi per il controllo (Sistema integrato o Embedded) – Distributiti su piu’ schede collegate fra di loro mediante un bus di comunicazione (sistema a bus) Un bus di comunicazione e’ un insieme di linee elettriche su cui vengono trasmesse informazioni e comandi logici (dati, indirizzi, segnali di sincronizzazione). C. Fantuzzi Automazione Industriale - 2. I Sistemi di Controllo per l'Automazione Industriale 30 Un esempio di sistema Embedded Attuazione del segnale Microprocessore Porte seriali di comunicazione Acquisizione del segnale C. Fantuzzi Automazione Industriale - 2. I Sistemi di Controllo per l'Automazione Industriale 31 Il sistema a bus VME Cestello o Rack Bus del sistema Scheda alloggiata nel rack C. Fantuzzi Automazione Industriale - 2. I Sistemi di Controllo per l'Automazione Industriale 32 Sistemi Embedded vs a BUS Sistemi Embedded Pro •Ottimizzazione del sistema •Elevate prestazioni Contro •Necessita’ di sviluppare l’intero sistema (HW e SW). •Non flessibili. C. Fantuzzi Sistemi a BUS •Flessibili •Sviluppo rapido (solo software) •Non ottimizzati. Automazione Industriale - 2. I Sistemi di Controllo per l'Automazione Industriale 33 Sistemi Embedded vs a BUS (cont.) ּסI sistemi embedded sono adatti a produzioni di elevata scala, in cui i maggiori costi di progetto vengono suddivisi su grandi volumi di rpoduzione. ּסI sistemi a bus sono adatti a produzioni di bassa scala, in cui la rapididita’ di sviluppo e i costi limitati di progetto (solo riguardanti software) sono preferiti. C. Fantuzzi Automazione Industriale - 2. I Sistemi di Controllo per l'Automazione Industriale 34 PLC ּסIL Programmable Logic Controller è un sistema a BUS diffusissimo nel campo della automazione industriale. ּסLe sue caratteristiche principali sono: – – – – robustezza semplicita’ di programmazione modularita’ espandibilita’ C. Fantuzzi Automazione Industriale - 2. I Sistemi di Controllo per l'Automazione Industriale 35 Componenti del PLC ּסL'armadio, o cestello o rack, che contiene e racchiude tutti gli altri moduli che compongono il PLC, assicurandone la connessione meccanica ed il collegamento elettrico (bus). ּסIl modulo di alimentazione, che fornisce alimentazione ai moduli elettronici installati nel cestello. ּסIl modulo processore, che esegue le elaborazioni necessarie al controllo di sistema. ּסI moduli di ingresso/uscita, che permettono l'interfacciamento del PLC con i sensori e gli attuatori sul campo. ּסAltri moduli aggiuntivi richiesti da particolari applicazioni, quali espansioni di memoria, moduli di conteggio, porte seriali, schede di rete etc. C. Fantuzzi Automazione Industriale - 2. I Sistemi di Controllo per l'Automazione Industriale 36 Architettura del PLC Alimentatore C. Fantuzzi Moduli processori Moduli di ingresso/uscita Automazione Industriale - 2. I Sistemi di Controllo per l'Automazione Industriale 37 Un esempio: descrizione dal manuale PLC Quantum della Telemecanique ּסCPU Modules: The CPU is a module residing on the local I/O backplane. The CPU is a digitally operating electronic system, which uses a programmable memory for the internal storage of user instructions. These instructions are used to implement specific functions such as: – – – – Logic Process sequencing Timing Arithmetic C. Fantuzzi Automazione Industriale - 2. I Sistemi di Controllo per l'Automazione Industriale 38 Un esempio (cont.) ּסI/O Modules: I/O modules are electrical signal converters which convert signals to and from field devices to a signal level and format which can be processed by the CPU, such as: – – – – – Limit switches Proximity switches Temperature sensors Solenoids Valve actuators All I/O modules are optically isolated to the bus, ensuring safe and trouble-free operation. All I/O modules are also software configurable. C. Fantuzzi Automazione Industriale - 2. I Sistemi di Controllo per l'Automazione Industriale 39 Un esempio (cont.) ּסNetwork Interface Modules: – Ethernet TCP/IP (NOE) Modules: Ethernet TCP/IP modules make it possible for a controller to communicate with devices on an Ethernet network using TCP/IP - de facto standard protocol. An Ethernet module may be inserted into an existing PLC system and connected to existing Ethernet networks via fiber optic or twisted pair cabling. – LonWorks Modules (NOL) modules provide connectivity between a PLC controller and a LonWorks network, based on Echelon’s LonWorks technology. – Profibus DP module provides connectivity between PLC controller and a PROFIBUS DP network. – ControlNet module provides connectivity between PLC and ControlNet network C. Fantuzzi Automazione Industriale - 2. I Sistemi di Controllo per l'Automazione Industriale 40 Un esempio (cont.) ּסSpecial Purpose I/O Modules: Quantum Intelligent/Special Purpose I/O modules operate with minimum intervention from the Quantum controller after initial downloading of module parameters or programs. The Quantum intelligent/special purpose I/O modules include the following. – – – – – High Speed Counter modules (EHC) ASCII Interface module (ESI) High Speed Interrupt module (HLI) Single Axis Motion Modules (MSx) Multi-Axis Motion Modules (MMS) C. Fantuzzi Automazione Industriale - 2. I Sistemi di Controllo per l'Automazione Industriale 41 Sviluppo di una applicazione ּסCon il termine applicazione si intende il la configurazione e il programma software usato per l’implementazione del sistema di controllo. ּסLo sviluppo di una applicazione PLC segue i passi: – Configurazione degli ingressi (sensori) e delle uscite (attuatori). La configurazione consiste nello specificare i dettagli relativi ai punti di ingresso e di uscita in modo che questi vengano riconosciuti dal PLC. – Progetto, scrittura e test del programma di controllo. C. Fantuzzi Automazione Industriale - 2. I Sistemi di Controllo per l'Automazione Industriale 42 Indirizzamento delle variabili nel PLC. ּסLe variabili di ingresso e di uscita sono identificate nella configurazione del PLC mediante un riferimento posizionale: C. Fantuzzi Automazione Industriale - 2. I Sistemi di Controllo per l'Automazione Industriale 43 Un esempio di applicazione C. Fantuzzi Automazione Industriale - 2. I Sistemi di Controllo per l'Automazione Industriale 44 Schema di esecuzione del PLC (dal manuale Siemens) C. Fantuzzi Automazione Industriale - 2. I Sistemi di Controllo per l'Automazione Industriale 45 Schema di esecuzione del PLC (cont.) C. Fantuzzi Automazione Industriale - 2. I Sistemi di Controllo per l'Automazione Industriale 46 Problemi potenziali relativi alla struttura del ciclo PLC ּסIl ciclo di esecuzione del PLC ha durata variabile in modo aleatorio. ּסEventi rapidi possono essere “persi” nell’intervallo tra un aggiornamento degli ingressi ed il successivo. ּסIl tempo di ciclo di esecuzione del PLC costituisce un limite alla rapidita’ di risposta del PLC ad un allarme. C. Fantuzzi Automazione Industriale - 2. I Sistemi di Controllo per l'Automazione Industriale 47 Variazioni al ciclo di esecuzione del PLC ּסPer evitare i problemi enunciati, occorre che il Sistema Operativo possa gestire processi eseguiti in parallelo con priorita’ assegnate, con meccanismo preemptive. ּסI processi (task) da gestire sono: – Task in esecuzione continua (free-run). – Task eseguite periodicamente – Task eseguite in risposta ad un segnale esterno (interruzione). C. Fantuzzi Automazione Industriale - 2. I Sistemi di Controllo per l'Automazione Industriale 48 Ciclo PLC con task periodici C. Fantuzzi Automazione Industriale - 2. I Sistemi di Controllo per l'Automazione Industriale 49 Conclusioni ּסAbbiamo visto le problematiche dei sistemi di controllo per l’Automazione Industriale. C. Fantuzzi Automazione Industriale - 2. I Sistemi di Controllo per l'Automazione Industriale 50