Università degli Studi di Modena e Reggio Emilia Automation
Robotics and System CONTROL
Automazione Industriale
2 - I sistemi di controllo per l'Automazione
Industriale
Industriale
Cesare Fantuzzi (cesare.fantuzzi@unimore.it)
Ingegneria Meccatronica
Sommario
סּ Piattaforme per l’automazione. סּ Sistemi Embedded,סּ i Programmable Logical Controller (PLC).
סּ Descrizione fisica della piattaforma di controllo. סּ Descrizione logica del sistema di controllo.
Obiettivi didattici del modulo
סּ Conoscere i principi dei sistemi di controllo perl’automazione, incluse le problematiche peculiari (tempo reale, concorrenza).
Sistema Informatico per
l’elaborazione dati (Office)
סּ Un sistema per l’elaborazione
dati (office) e’ predisposto a leggere dati in ingresso,
applicare un determinato applicare un determinato algoritmo e terminare.
סּ Il tempo di elaborazione dati
non e’ fondamentale alla
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
– Applicazione di un algoritmo di controllo
– Attuazione dei segnali di controllo
סּ
Il tempo di elaborazione dati e’
fondamentale per la correttezza del
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.
temporali assegnati.
סּ
Sono detti Sistemi a Tempo Reale (Real Time
System) quei sistemi che falliscono se non
sono rispettati determinati vincoli temporali.
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
סּ
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.
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 סּ Infatti un sistema operativo in RT non deve essere
necessariamente veloce, la cosa importante è che risponda entro un tempo massimo perfettamente
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 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.
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. 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.
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.
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.
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 vincolo temporale che avvenga in modo saltuario
diminuisce la prestazione del sistema senza provocarne il fallimento
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
סּ
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).
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
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.
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 alla sua priorita’ in base alle politiche di gestione delle priorita’ implementate dal Sistema Operativo.
Multitasking
סּ A ciascun task vengono assegnate:– Periodo di riesecuzione
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 סּ Preemtive
– Il processo di priorita’ piu’ elevata viene messo in
esecuzione, interrompendo il processo correntemente attivo.
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 סּ Il meccanismo più semplice per lo scambio dei dati
Scambio dati mediante memoria
condivisa.
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’
סּ
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
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 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
Disabilitazione interrupts per la
sincronizzazione di processi
Processo “A” Processo “B”
DisableInt( ); for (i++,1,10) Array[i]=dato; DisableInt( ); for (i++,1,10) dato=Array[i]; Array Array[i]=dato; EnableInt( ); dato=Array[i]; EnableInt( );
Utilizzo di un semaforo per la
sincronizzazione di processi
Deadlock
סּ 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 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,
– 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,
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
Un esempio di sistema
Embedded
Microprocessore
Attuazione del segnale Porte seriali
di comunicazione
Il sistema a bus VME
Cestello o Rack
Sistemi Embedded vs a BUS
Sistemi Embedded
Sistemi a BUS
Pro
•Ottimizzazione del
sistema
•Elevate prestazioni
•Flessibili
•Sviluppo rapido (solo
software)
•Elevate prestazioni
software)
Contro •Necessita’ di
sviluppare l’intero
sistema (HW e SW).
•Non flessibili.
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 cui la rapididita’ di sviluppo e i costi limitati di progetto (solo riguardanti software) sono preferiti.
PLC
סּ IL Programmable Logic Controller è un sistema a BUS
diffusissimo nel campo della automazione industriale.
סּ Le sue caratteristiche principali sono:
– robustezza
– semplicita’ di programmazione
– semplicita’ di programmazione
– modularita’
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.
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.
Architettura del PLC
Alimentatore Moduli processori Moduli di ingresso/uscitaUn 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:
to implement specific functions such as:
– Logic
– Process sequencing
– Timing
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 – 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
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.
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.
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
intelligent/special purpose I/O modules include
the following.
– High Speed Counter modules (EHC)
– ASCII Interface module (ESI)
– High Speed Interrupt module (HLI)
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
– 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
Indirizzamento delle variabili
nel PLC.
סּ Le variabili di ingresso e di uscita sono identificate nella
configurazione del PLC mediante un riferimento
Schema di esecuzione del PLC
(dal manuale Siemens)
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.
סּ Il tempo di ciclo di esecuzione del PLC costituisce un
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).
Conclusioni
סּ Abbiamo visto le problematiche dei sistemi di controllo