02 - I sistemi di controllo per l`Automazione Industriale

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