1. Controllori Logici Programmabili Sistemi di controllo per impianti
Transcript
1. Controllori Logici Programmabili Sistemi di controllo per impianti
Sistemi di controllo per impianti industriali 1. Controllori Logici Programmabili Cesare Fantuzzi Automazione Industriale Ingegneria Meccatronica Reggio Emilia Sistemi informativi 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. Peculiarita’ dei sistemi per il controllo • Un sistema per l’automazione deve controllare un processo fisico in modo continuativo. • Il processo di controllo, 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. 1 Ciclo operativo del sistema di controllo 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. 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. 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. 2 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 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. 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.). 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. 3 Multitasking Task scheduling • Non Preemtive. • A ciascun task vengono assegnate: – Periodo di riesecuzione – Priorita’ – 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. Multitasking Preemptive Multitasking non preemptive 4 Comunicazione fra processi concorrenti Scambio dati mediante memoria condivisa. • 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. Sincronismo dei dati Utilizzo di un semaforo per la sincronizzazione di processi • Occorre mantenere l’inegrita’ dei dati tra scrittura e lettura. • Occorre evitare che un processo legga un vettore mentre un secondo processo lo sta’ aggiornando. 5 Deadlock Esempio: Pathfinder • Il meccansimo del semaforo deve essere utilizzato in modo accorto, in quanto puo’ produrre deadlock di processi e inversione di priorita’. Hardware per il controllo di sistema • La configurazione di un sistema di controllo industriale si compone di: – Un sistema a microprocessore per l’esecuzione dell’algortimo di controllo. – Un sistema di acquisizione dati dal campo, in grado di acquisire segnali analogici, digitali o logici a seconda della applicazione 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); 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). 6 Un esempio di sistema Embedded Attuazione del segnale Microprocessore Porte seriali di comunicazione Il sistema a bus VME Cestello o Rack Bus del sistema Acquisizione del segnale 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. Sistemi a BUS •Flessibili •Sviluppo rapido (solo software) •Non ottimizzati. Scheda alloggiata nel rack 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. 7 PLC Componenti del PLC • IL Programmable Logic Controller è un sistema a BUS diffusissimo nel campo della automazione industriale. • Le sue caratteristiche principali sono: – – – – robustezza semplicita’ di programmaizone modularita’ espandibilita’ Architettura 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. Un esempio: moduli presenti nel 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: Alimentatore Moduli processori Moduli di ingresso/uscita – – – – Logic Process sequencing Timing Arithmetic 8 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. 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) 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 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. 9 Indirizzamento delle variabili nel PLC. Un esempio di applicazione • Le variabili di ingresso e di uscita sono identificate nella configurazionedel PLC mediante un riferimento posizionale: Schema di esecuzione del PLC Schema di esecuzione del PLC (cont.) 10 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. Ciclo PLC con task periodici 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). Riassumendo • In questo capitolo abbiamo visto: – La struttura e le proprieta’ di esecuzione dei sistemi di controllo industriale. – Ci siamo poi soffermati su un particolare dispositivo per il controllo industriale, il PLC, e abbiamo discusso quali sono le sue caratteristiche hardware e di esecuzione. 11