• Non ci sono risultati.

2. - I sistemi di controllo per l'Automazione Industriale

N/A
N/A
Protected

Academic year: 2021

Condividi "2. - I sistemi di controllo per l'Automazione Industriale"

Copied!
50
0
0

Testo completo

(1)

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

(2)

Sommario

סּ Piattaforme per l’automazione. סּ Sistemi Embedded,

סּ i Programmable Logical Controller (PLC).

סּ Descrizione fisica della piattaforma di controllo. סּ Descrizione logica del sistema di controllo.

(3)

Obiettivi didattici del modulo

סּ Conoscere i principi dei sistemi di controllo per

l’automazione, incluse le problematiche peculiari (tempo reale, concorrenza).

(4)

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

(5)

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

(6)

Ciclo operativo del sistema di

controllo

(7)

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.

(8)

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.

(9)

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

(10)

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.

(11)

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.

(12)

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.

(13)

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

(14)

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).

(15)

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.

(16)

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.

(17)

Multitasking

סּ A ciascun task vengono assegnate:

– Periodo di riesecuzione

(18)

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.

(19)
(20)
(21)

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

(22)

Scambio dati mediante memoria

condivisa.

(23)

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

(24)

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

(25)

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( );

(26)

Utilizzo di un semaforo per la

sincronizzazione di processi

(27)

Deadlock

סּ Il meccansimo del semaforo deve essere utilizzato in

modo accorto, in quanto puo’ produrre deadlock di processi e inversione di priorita’.

(28)
(29)

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,

(30)

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

(31)

Un esempio di sistema

Embedded

Microprocessore

Attuazione del segnale Porte seriali

di comunicazione

(32)

Il sistema a bus VME

Cestello o Rack

(33)

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.

(34)

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.

(35)

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’

(36)

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.

(37)

Architettura del PLC

Alimentatore Moduli processori Moduli di ingresso/uscita

(38)

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:

to implement specific functions such as:

– Logic

– Process sequencing

– Timing

(39)

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

(40)

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.

(41)

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)

(42)

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

(43)

Indirizzamento delle variabili

nel PLC.

סּ Le variabili di ingresso e di uscita sono identificate nella

configurazione del PLC mediante un riferimento

(44)
(45)

Schema di esecuzione del PLC

(dal manuale Siemens)

(46)
(47)

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

(48)

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).

(49)
(50)

Conclusioni

סּ Abbiamo visto le problematiche dei sistemi di controllo

Riferimenti

Documenti correlati

sua divisione in due cellule, tempo caratteristico della specie e delle condizioni colturali..

Si aggiunga alla classe ArrayStack (implementa l’interfaccia Stack usando un array) il metodo Stack clone() che restituisce un nuovo stack avente lo stesso contenuto dello stack...

Il Rem disegnato nel Decreto appare invece: (i) minimizzare il rischio di irregolarità, (ii) contenere la spesa pubblica dedicata. In pratica, questi due obiettivi vengono perseguiti

SAPIENZA - Università di Roma – Dipartimento di Ingegneria Informatica Automatica e Gestionale Antonio Ruberti (DIAG).. Via Ariosto 25 - 00185 Roma –

MS-DOS, UNIX: Tutte le risorse del sistema (contenuto delle memorie di massa e periferiche) vengono viste in termini di file, e l'interazione utente-macchina virtuale avviene

Funzioni membro operator* e inversa sintatticamente corrette ma non seguono le richieste del testo Dopo il ciclo di lettura dal file devi salvare il valore di i ad esempio in

La definizione completa sarebbe: un oggetto del sistema operativo che consiste di un programma eseguibile, di un insieme di indirizzi di memoria virtuale e di uno o più thread;

Livello descrittivo: gli allievi sono in grado di riconoscere le figure e di caratterizzarle in base alle loro proprietà geometriche, le sanno denominare. Livello razionale: