Controlli automatici per la meccatronica - Intranet...

37
Controlli automatici Controlli automatici per la meccatronica per la meccatronica Informatica per il controllo Prof. Paolo Rocco ([email protected]) Controlli automatici per la meccatronica - Informatica per il controllo - P. Rocco [2] Premessa Premessa In queste slide si fornirà un quadro, necessariamente sommario, del ruolo dei sistemi informatici in un sistema di automazione industriale, con riferimento in particolare alle architetture di controllo, alle reti di comunicazione, ai PLC ed ai sistemi in tempo reale ed embedded. Si ritiene infatti che in un percorso di studi caratterizzato dall’enfasi sugli aspetti meccatronici della progettazione di macchine e dispositivi, sia opportuno che l’allievo disponga almeno di un quadro di insieme di queste problematiche, peraltro in rapida e continua evoluzione. Studiare l’architettura (hw e sw) dei sistemi di controllo è un compito che va al di là, per sua stessa natura, dell’ambito dei sistemi meccatronici. Si farà quindi nel seguito riferimento a sistemi di controllo ed automazione non limitati strettamente al campo meccatronico. Le presenti slide costituiscono prevalentemente una rielaborazione di materiale didattico elaborato dai proff. Cugola, Leva, Magnani e San Pietro del DEI (Politecnico di Milano).

Transcript of Controlli automatici per la meccatronica - Intranet...

Page 1: Controlli automatici per la meccatronica - Intranet DEIBhome.deib.polimi.it/rocco/cam/informatica_controllo_2p.pdf · per la meccatronica Informatica per il controllo ... Le presenti

Controlli automaticiControlli automaticiper la meccatronicaper la meccatronica

Informatica per il controllo

Prof. Paolo Rocco ([email protected])

Controlli automatici per la meccatronica - Informatica per il controllo - P. Rocco [2]

PremessaPremessa

In queste slide si fornirà un quadro, necessariamente sommario, del ruolo dei sistemi informatici in un sistema di automazione industriale, con riferimento in particolare alle architetture di controllo, alle reti di comunicazione, ai PLC ed ai sistemi in tempo reale ed embedded.Si ritiene infatti che in un percorso di studi caratterizzato dall’enfasi sugli aspetti meccatronici della progettazione di macchine e dispositivi, sia opportuno che l’allievo disponga almeno di un quadro di insieme di queste problematiche, peraltro in rapida e continua evoluzione.Studiare l’architettura (hw e sw) dei sistemi di controllo è un compito che va al di là, per sua stessa natura, dell’ambito dei sistemi meccatronici. Si farà quindi nel seguito riferimento a sistemi di controllo ed automazione non limitati strettamente al campo meccatronico.

Le presenti slide costituiscono prevalentemente una rielaborazione di materiale didattico elaborato dai proff. Cugola, Leva, Magnani e San Pietro del DEI (Politecnico di Milano).

Page 2: Controlli automatici per la meccatronica - Intranet DEIBhome.deib.polimi.it/rocco/cam/informatica_controllo_2p.pdf · per la meccatronica Informatica per il controllo ... Le presenti

Controlli automatici per la meccatronica - Informatica per il controllo - P. Rocco [3]

Controllo modulante e controllo logicoControllo modulante e controllo logico

Controllo modulantePer controllo modulante si intende il controllo eseguito da dispositivi che ad ogni istante si pongono come obiettivo che le variabili controllate inseguano i rispettivi riferimenti.

Controllo logicoPer controllo logico si intende il controllo eseguito da dispositivi che devono assicurare lo svolgimento di una o più sequenze di attività la cui evoluzione è dettata dal verificarsi di eventi (come la conclusione di un’attività, l’insorgenza di anomalie, l’interazione con l’operatore).

Per esempio un sistema costituito da un robot che preleva pezzi da un nastro trasportatore e li manipola comporta problematiche sia di controllo modulante sia di controllo logico.

Controlli automatici per la meccatronica - Informatica per il controllo - P. Rocco [4]

Specifiche di un sistema di automazioneSpecifiche di un sistema di automazione

Le specifiche di controllo per un sistema di automazione industriale sono costituite da sequenze di azioni, descritte generalmente in linguaggio naturale.Si pongono due problemi:

• formalizzare queste specifiche• determinare metodologie di sintesi di un controllore che ne

garantisca il soddisfacimento

Per quanto riguarda il primo aspetto, esistono formalismi di progressiva diffusione come gli SFC (Sequential Functional Chart).Per quanto riguarda il secondo aspetto, si fa generalmente ricorso alla teoria dei sistemi ad eventi discreti.

Page 3: Controlli automatici per la meccatronica - Intranet DEIBhome.deib.polimi.it/rocco/cam/informatica_controllo_2p.pdf · per la meccatronica Informatica per il controllo ... Le presenti

Controlli automatici per la meccatronica - Informatica per il controllo - P. Rocco [5]

Sistemi ad eventi discretiSistemi ad eventi discreti

Un sistema ad eventi discreti è un sistema dinamico (quindi dotato di stato) in cui:

• Lo stato assume valori in un insieme discreto• L’evoluzione dello stato è dettata esclusivamente dall’occorrenza di

eventi asincroni (ossia la cui temporizzazione non rispetta caratteristiche di regolarità).

Un esempio classico è costituito dalla coda di persone ad uno sportello.

Tra gli strumenti matematici di più largo utilizzo per la modellazione dei sistemi ad eventi discreti si segnalano gli automi a stati finiti e le reti di Petri.

Pur sottolineandone l’importanza ai fini della progettazione e della comprensione di un sistema di automazione industriale, per ragioni di spazio queste problematiche non saranno trattate nelle presenti lezioni.

Controlli automatici per la meccatronica - Informatica per il controllo - P. Rocco [6]

Informatica per il controlloInformatica per il controllo

Parte I

Architetture hw/sw di controllo

Page 4: Controlli automatici per la meccatronica - Intranet DEIBhome.deib.polimi.it/rocco/cam/informatica_controllo_2p.pdf · per la meccatronica Informatica per il controllo ... Le presenti

Controlli automatici per la meccatronica - Informatica per il controllo - P. Rocco [7]

Architettura generale di un sistema di controlloArchitettura generale di un sistema di controllo

Controllore

AttuatoriSensori

Impianto

Interfaccia utente

Interfaccia conaltri dispositivi

Controlli automatici per la meccatronica - Informatica per il controllo - P. Rocco [8]

Scomposizione funzionaleScomposizione funzionale

Il progetto del sistema di controllo è operazione complessa che necessita di un procedimento strutturatoVi sono alcune metodologie formalizzate (nate in particolare in ambito spaziale) In generale si può dire che le funzionalità del sistema di controllo sono scomposte in funzionalità più semplici (divide et impera)Si ottiene una gerarchia di funzionalità da implementare con gli opportuni componenti Si trasferiscono metodologie di progetto tipiche del mondo informatico all’ambito controllistico o di automazione più in generale

Page 5: Controlli automatici per la meccatronica - Intranet DEIBhome.deib.polimi.it/rocco/cam/informatica_controllo_2p.pdf · per la meccatronica Informatica per il controllo ... Le presenti

Controlli automatici per la meccatronica - Informatica per il controllo - P. Rocco [9]

Un esempio: CDM dellUn esempio: CDM dell’’ESAESA

Es.: REPAIR a satellite

Es.: OPEN a door

Es.: TIGHTEN a screw

Controlli automatici per la meccatronica - Informatica per il controllo - P. Rocco [10]

Vista Vista architetturalearchitetturaleL’architettura del sistema di controllo:

Rappresenta come il sistema è realizzato, a livello più astrattoDefinisce i singoli componenti per mezzo delle loro interfacceDefinisce le interazioni tra i componenti ed in particolare i canali di comunicazione ed i datiDefinisce per ciascun componente le funzioni, i requisiti in termini di capacità di memoria, ecc…, le loro responsabilità.

Page 6: Controlli automatici per la meccatronica - Intranet DEIBhome.deib.polimi.it/rocco/cam/informatica_controllo_2p.pdf · per la meccatronica Informatica per il controllo ... Le presenti

Controlli automatici per la meccatronica - Informatica per il controllo - P. Rocco [11]

Architettura Architettura hwhw//swsw di un sistema di controllodi un sistema di controllo

Architettura hwComponenti hardware del sistema di controllo• Sensori• Attuatori• Organi di controllo• Canali di comunicazione (cavi…)

Architettura swComponenti software del sistema di controlloConnessioni logiche tra i componentiDati che fluiscono tra i componenti

Controlli automatici per la meccatronica - Informatica per il controllo - P. Rocco [12]

Alcune problematiche Alcune problematiche architetturaliarchitetturali

Determinismo temporale (particolarmente critico in meccatronica).Tolleranza ai guasti ed ai malfunzionamenti (sia del software sia dell’hardware).Grandi quantità di dati e segnali da gestire con diverse scale temporali, d’importanza e di criticità.Interfaccia operatore (che coinvolge anche l’hardware) adatta a personale con grado di cultura ed addestramento molto variabile.Semplicità e comodità nella costruzione e nella (ri)configurazione del sistema (mettere le mani su un sistema di controllo dentro un impianto non è come farlo su una rete di PC in un ufficio).Possibilità di costruire e gestire il sistema in modo gerarchico, il che nemigliora l’organizzazione e quindi la manutenibilità.

Page 7: Controlli automatici per la meccatronica - Intranet DEIBhome.deib.polimi.it/rocco/cam/informatica_controllo_2p.pdf · per la meccatronica Informatica per il controllo ... Le presenti

Controlli automatici per la meccatronica - Informatica per il controllo - P. Rocco [13]

Un esempio: CNCUn esempio: CNC

I CNC (Computer Numerical Control) sono dispositivi utilizzati nel controllo di macchine utensili e altre macchine di produzione.Il compito primario del CNC è quello della pianificazione o generazione delle traiettorie dell’utensile e conseguentemente degli assi di macchina.Il valore di un CNC è per la maggior parte costituito dal software estremamente sofisticato necessario per la pianificazione e l’esecuzione dei programmi di lavoro (cosiddetti part program)L’architettura software è quindi estremamente complessa

Nel seguito si accennerà all’architettura hardware del Simumerik 840Di di Siemens, come esempio di struttura complessa, articolata in più componenti connessi da opportune comunicazioni digitali.

Controlli automatici per la meccatronica - Informatica per il controllo - P. Rocco [14]

Un esempio: CNCUn esempio: CNC

Nel CNC si chiude l’anello di controllo di posizione, mentre quelli di velocità e corrente si chiudono sugli azionamenti. La comunicazione verso gli azionamenti avviene tramite “bus di campo”. Nel Sinumerik si usa il bus PROFIBUS DP.

I/OI/O

Drive

M

Drive

MM

SensorSensor

Ethernet

PC industriale

monitor e tastiera

terminali diprogrammazione

Drive

M

Drive

MM

Drive

M

Drive

MM

MPI bus di campo

PC industriale: PC con caratteristiche costruttive adatte ad uso in ambito industrialeScheda motion control sul PC industriale con funzioni PLC e interfaccia a bus di campoMPI: Multi PointInterface: interfaccia veloce verso terminali di comando

Page 8: Controlli automatici per la meccatronica - Intranet DEIBhome.deib.polimi.it/rocco/cam/informatica_controllo_2p.pdf · per la meccatronica Informatica per il controllo ... Le presenti

Controlli automatici per la meccatronica - Informatica per il controllo - P. Rocco [15]

Architettura tradizionaleArchitettura tradizionale

PLC

Drive

Attuatore

Sensore

Drive

Sensore M

M

Architettura centralizzata con collegamenti di tipo analogico punto – punto

VantaggiAffidabilità, sistema collaudato

SvantaggiElevato numero collegamentiCosto dei cablaggiElevata sensibilità ai disturbi

(necessità di schermatura)Scarsa flessibilità e scalabilità

Controlli automatici per la meccatronica - Informatica per il controllo - P. Rocco [16]

Architettura a busArchitettura a bus

PLC

FIELDBUS

Drive Attuatore TrasmettitoreSensore Sensore Drive

PC

Sensore

M M T

PLC

Architettura a bus con trasmissione digitale dei segnali

VantaggiRisparmio sui costi di cablaggioFacilità di aggiunta e rimozione di dispositiviCondivisione delle risorseFlessibilitàDecentramento di funzioniIntelligenza distribuita (funzionalità diagnostiche locali)

SvantaggiMaggior costo dei dispositiviDiverse metodologie di progettazioneProblemi di interoperabilità (far funzionare insieme dispositivi di produttori diversi)

Page 9: Controlli automatici per la meccatronica - Intranet DEIBhome.deib.polimi.it/rocco/cam/informatica_controllo_2p.pdf · per la meccatronica Informatica per il controllo ... Le presenti

Controlli automatici per la meccatronica - Informatica per il controllo - P. Rocco [17]

Architettura ad isole di automazioneArchitettura ad isole di automazione

Ogni isola compie una serie di lavorazioniOgni isola è dotata del proprio sottosistema di controlloLa coordinazione è garantita da un sistema di controllo e supervisione integrato

isola 1 isola 3

isola 2isola 4

Sistema di supervisione

Flussi di produzione

Flussi di informazione e di controllo

Controlli automatici per la meccatronica - Informatica per il controllo - P. Rocco [18]

Integrazione con sistemi informativiIntegrazione con sistemi informativi

I sistemi di controllo sono sempre più spesso visti come una parte del sistema informatico (hw/sw) della fabbrica o dell’impianto.Il sistema di controllo in senso stretto deve sempre più spesso integrarsi con• il monitoraggio dell’impianto (ai fini più svariati),• la gestione della produzione,• la gestione degli approvvigionamenti,• la logistica.

Sempre più spesso non si tratta d’interfacciare, ma proprio d’integrare i sistemi.

Page 10: Controlli automatici per la meccatronica - Intranet DEIBhome.deib.polimi.it/rocco/cam/informatica_controllo_2p.pdf · per la meccatronica Informatica per il controllo ... Le presenti

Controlli automatici per la meccatronica - Informatica per il controllo - P. Rocco [19]

CIM CIM –– Computer Computer IntegratedIntegrated ManufacturingManufacturing

È un modello di gestione integrato sviluppatosi negli anni ‘70Obiettivi• Minimizzare il time-to-market• Diminuire i costi• Ridurre i magazzini (produzione just-in-time)• Migliorare il controllo di qualità• Massimizzare la flessibilità di produzione (facile riconfigurabilità)• Identificare, conservare e riutilizzare le informazioni relative a i

prodottiMetodologia• Integrare tutte le funzioni dell’azienda, dal marketing alla

produzione alla distribuzione, in una visione gerarchica.

Controlli automatici per la meccatronica - Informatica per il controllo - P. Rocco [20]

Piramide CIMPiramide CIM

Piano officina (campo)

Sistemi di controllo

Superv. di cella

Superv. di reparto

Gest.stabilimento

Gest.azienda

com

andi

informazioni

Ogni livello manipola e trasferisce informazione ed elabora strategie impartendo comandi ai livelli inferiori.

Page 11: Controlli automatici per la meccatronica - Intranet DEIBhome.deib.polimi.it/rocco/cam/informatica_controllo_2p.pdf · per la meccatronica Informatica per il controllo ... Le presenti

Controlli automatici per la meccatronica - Informatica per il controllo - P. Rocco [21]

Componenti di un sistema CIMComponenti di un sistema CIM

A livello più basso:Attuatori e sensoriControllori modulanti (PID)Controllori logici (PLC: Programmable Logic Controller)

• Gestiscono gli assi, le sequenze di operazioni, le protezioni, le interazioni con l’operatore.

Sistemi di controllo distribuito (DCS: Distributed Control Systems)• Sistemi di controllo che integrano funzioni di calcolo del controllo a livello di loop,

controllo logico, monitoraggio, gestione degli allarmi.CNC (Controllo Numerico Computerizzato)

• Gestiscono macchine multiasse con movimenti interpolati degli assiIPC (Industrial Personal Computer)

• Sono PC strutturati per poter operare in ambito industiale, tipicamente con sistemi operativi real time

Controlli automatici per la meccatronica - Informatica per il controllo - P. Rocco [22]

Componenti di un sistema CIMComponenti di un sistema CIM

A livello più alto:SCADA (Supervisory Control And Data Acquisition)

• Sistemi che supportano le funzioni di acquisizione ed archiviazione dati, interfaccia uomo-macchina (con sinottici statici e dinamici), grafici, monitoraggio e gestione allarmi, scambio dati con i pacchetti software commerciali più diffusi sui PC, come i fogli elettronici.

Sistemi CAD (Computer Aided Design)• Software che permette la progettazione assistita al calcolatore

Sistemi CAE (Computer Aided Engineering)• Sistemi software che supportano la progettazione anche nelle fasi di analisi e

simulazioneSistema ERP (Enterprise Resource Planning)

• Sistema applicativo gestionale che riunifica la gestione di tutte le attività di un’impresa (amministrazione, finanza, reporting, pianificazione, produzione, manutenzione impianti, logistica, controllo qualità…)

Page 12: Controlli automatici per la meccatronica - Intranet DEIBhome.deib.polimi.it/rocco/cam/informatica_controllo_2p.pdf · per la meccatronica Informatica per il controllo ... Le presenti

Controlli automatici per la meccatronica - Informatica per il controllo - P. Rocco [23]

Sistemi CIM e retiSistemi CIM e reti

Piano officina (campo)

Sistemi di controllo

Superv. di cella

Superv. di reparto

Gest.stabilimento

Gest.azienda

Rete per le informazioni

Rete per il controllo

Rete di campo (fieldbus)

PC

PLC PLC

PLC

PCMainframe

Drive

M

Sensore

Controlli automatici per la meccatronica - Informatica per il controllo - P. Rocco [24]

Sistemi CIM e retiSistemi CIM e reti

Reti per le informazioni• Collegano i sistemi informativi di alto livello con altri elementi informativi di azienda

(livelli 4, 5 e 6 della piramide CIM)• Non vi sono specifiche di tempo reale• Le informazioni sono di tipo complesso

Reti per il controllo• Collegano i dispositivi dedicati al controllo con quelli di supervisione (livelli CIM 2, 3 e

4)• Vi sono specifiche di correttezza e vincoli temporali• Le informazioni sono di tipo non molto complesso• Si tratta in genere di reti proprietarie

Reti di campo (fieldbus)• Collegano i controllori (modulanti e logici) con sensori ed attuatori dotati di interfaccia

digitale• Molti vantaggi connessi al loro utilizzo (riduzione cablaggi, robustezza delle trasmissioni

digitali, possibilità di autodiagnostica dei dispositivi)• Limitata disponibilità di dispositivi dotati di interfaccia digitale per bus di campo

Page 13: Controlli automatici per la meccatronica - Intranet DEIBhome.deib.polimi.it/rocco/cam/informatica_controllo_2p.pdf · per la meccatronica Informatica per il controllo ... Le presenti

Controlli automatici per la meccatronica - Informatica per il controllo - P. Rocco [25]

Informatica per il controlloInformatica per il controllo

Parte II

Reti di comunicazione

Controlli automatici per la meccatronica - Informatica per il controllo - P. Rocco [26]

Rete di calcolatoriRete di calcolatori

Una rete di calcolatori è un sistema informatico costituito da uno o piùcalcolatori collegati da un sistema di comunicazione.Esistono varie topologie (ovvero disposizioni fisiche dei componenti) di rete:

Page 14: Controlli automatici per la meccatronica - Intranet DEIBhome.deib.polimi.it/rocco/cam/informatica_controllo_2p.pdf · per la meccatronica Informatica per il controllo ... Le presenti

Controlli automatici per la meccatronica - Informatica per il controllo - P. Rocco [27]

Supporto fisicoSupporto fisicoMezzi trasmissivi

Doppino ritorto (twisted pair)• Costituito da una coppia di fili di rame avvolti in una guaina e ritorti• Tipicamente usato in telefonia, consente velocità di comunicazione medio-alte

(100 Mbps su rete locale, meno su rete telefonica)• Scarsa immunità ai disturbi.

Cavo coassiale• Filo centrale in rame ricoperto da guaina e maglia esterna in rame• Consente velocità di comunicazione medio-alte (100 Mbps)• Può sostenere più canali di trasmissione modulati a frequenze diverse.

Fibra ottica• Fibra di vetro in grado di trasportare segnali luminosi• Consente massima insensibilità ai rumori ma ha costo elevato

Onde elettromagnetiche• Usate per trasmissioni radio e via satellite• Sono poco utilizzate ma in crescita

Controlli automatici per la meccatronica - Informatica per il controllo - P. Rocco [28]

Segnalazione e trasmissioneSegnalazione e trasmissioneSegnalazione

I dati binari scambiati tra due calcolatori possono essere:Trasmessi direttamente sul canale (segnalazione in banda base)Trasmessi per modulazione di un segnale portante (segnalazione in modulazione)

Trasmissione

La trasmissione può essere:Simplex (il senso della trasmissione è unico)Half duplex (la trasmissione è possibile, alternativamente, nei due sensi)Full duplex (la trasmissione è possibile, contemporaneamente, nei due sensi)

Page 15: Controlli automatici per la meccatronica - Intranet DEIBhome.deib.polimi.it/rocco/cam/informatica_controllo_2p.pdf · per la meccatronica Informatica per il controllo ... Le presenti

Controlli automatici per la meccatronica - Informatica per il controllo - P. Rocco [29]

Protocollo di comunicazioneProtocollo di comunicazionePer protocollo di comunicazione si intende l’insieme delle regole seguendo le quali due interlocutori possono comprendersi

I protocolli utilizzati dai calcolatori sono organizzati secondo una gerarchia.

Ogni protocollo si appoggia ai protocolli di più basso livello per fornire il servizio (per esempio un protocollo con correzione d’errore può essere costruito su un protocollo di puro trasporto).

Controlli automatici per la meccatronica - Informatica per il controllo - P. Rocco [30]

Modello ISO/OSIModello ISO/OSI

Il modello di riferimento OSI (Open System Interconnection) dell’ISO (International Standard Organization) dà una descrizione concettuale in cui le funzioni realizzate dalle reti sono organizzate come una serie di livelli.

Non è necessario che in una rete siano implementati tutti e sette i livelli: i livelli fisico, collegamento e applicazione sono i più utilizzati nei sistemi di controllo.

Page 16: Controlli automatici per la meccatronica - Intranet DEIBhome.deib.polimi.it/rocco/cam/informatica_controllo_2p.pdf · per la meccatronica Informatica per il controllo ... Le presenti

Controlli automatici per la meccatronica - Informatica per il controllo - P. Rocco [31]

Livello fisicoLivello fisico

Si occupa del trasferimento di bit su un canale di comunicazione, nei suoi aspetti meccanici ed elettrici.La trasmissione è di norma di tipo seriale.

Alcune problematichetipo di codifica elettrica del segnale logico;tipo e funzione di ogni segnale di controllo (per sincronizzare trasmissione e ricezione);livelli di tensione e corrente;numero di conduttori;tolleranze massime e minime dei tempi di salita, commutazione, ecc. dei segnali elettrici;tipo di collegamento (single ended o differenziale) e isolamento;caratteristiche meccaniche dei connettori, dei cavi, ed in generale degli apparati.

Controlli automatici per la meccatronica - Informatica per il controllo - P. Rocco [32]

Livello collegamento (data Livello collegamento (data linklink))Si occupa di realizzare connessioni prive di errori fra coppie di nodi della rete.Suddivide i dati che riceve dal livello rete e li organizza in frame, introducendovi informazioni di controllo, come indirizzo del mittente e del destinatario e bit aggiuntivi.Trasmette i frame e verifica la corretta ricezione sulla base dei segnali di acknowledge del destinatario, ripetendo se del caso la trasmissione.

LLC Logical Link Control - controllo del collegamento logicoMAC Medium Access Control - controllo accesso al mezzo fisico

Page 17: Controlli automatici per la meccatronica - Intranet DEIBhome.deib.polimi.it/rocco/cam/informatica_controllo_2p.pdf · per la meccatronica Informatica per il controllo ... Le presenti

Controlli automatici per la meccatronica - Informatica per il controllo - P. Rocco [33]

Controllo di accesso al mezzo fisicoControllo di accesso al mezzo fisico

Per il MAC sono stati definiti i seguenti standard alternativi:• CSMA/CD (IEEE 802.3)• Token-Bus (IEEE 802.4)• Token-Ring (IEEE 802.5)

CSMA/CD (Carrier Sensing Multiple Access / Collision Detection)Protocollo di tipo spontaneo: ogni nodo può decidere di trasmettere in qualsiasi momento. Trasmissioni contemporanee sono gestite da unmeccanismo di collision detection che prevede una logica di “ritentativi”.Non è in grado di garantire un limite superiore certo al ritardo di risposta: non è quindi ritenuto adatto per le applicazioni in cui questo deve essere garantito (es. applicazioni in tempo reale)È utilizzato in Ethernet (la cui velocità è molto elevata, per cui il problema è poco critico)

Controlli automatici per la meccatronica - Informatica per il controllo - P. Rocco [34]

Controllo di accesso al mezzo fisicoControllo di accesso al mezzo fisicoToken-Bus / Token-Ring

In ogni istante ha diritto a trasmettere solo un nodo, quello che possiede il token (gettone), ovvero un codice particolare. I nodi si passano in sequenza “circolare”(round-robin) il tokenIl token dà diritto a trasmettere per un tempo massimo stabilito (THT: Token Holding Time), poi va lasciato.Possono esserci stazioni attive (master) e passive (slave): le slave possono trasmettere solo se interrogate da un master.Il ritardo di risposta di ogni unità ha un limite superiore (worst-case) Si ha però un tempo d’attesa inutileSi può avere un sistema di gestione della perdita del token (una stazione fa da Active Monitor)

Accesso mediante arbitroNelle reti di campo spesso l’allocazione del messo fisico è realizzata mediante un arbitro del bus (master): è un dispositivo collegato al bus con la funzione di deciderne l’allocazione tra i diversi nodi della rete.

Page 18: Controlli automatici per la meccatronica - Intranet DEIBhome.deib.polimi.it/rocco/cam/informatica_controllo_2p.pdf · per la meccatronica Informatica per il controllo ... Le presenti

Controlli automatici per la meccatronica - Informatica per il controllo - P. Rocco [35]

EthernetEthernet

Sviluppata da Xerox nel 1976, è il protocollo più usato nelle applicazioni per ufficio ed è anche di largo utilizzo per applicazioni industriali.Il protocollo Ethernet copre i livello 1 e 2 della pila OSIAttualmente è standardizzata dallo standard IEEE 802.3Il mezzo fisico ha subito varie evoluzioni: cavo coassiale spesso (Thick Ethernet), cavo coassiale sottile (Thin Ethernet), doppino ritorto.La segnalazione è in banda base. Il livello fisico è a bus lineare: ogni macchina è logicamente collegata ad un canale sul quale trasmette e dal quale riceve leinformazioni trasmesse dalle altre macchine.

Controlli automatici per la meccatronica - Informatica per il controllo - P. Rocco [36]

EthernetEthernet: livello collegamento: livello collegamento

Sottolivello MAC: si utilizza il protocollo CSMA/CDSottolivello LLC: si utilizza il frame Ethernet II (802.2)

OsservazioniIndirizzo fissato nell’hardware (scheda d’interfaccia) dal costruttore (se si cambia la scheda cambia l’indirizzo)Unico indirizzo (diverso da quello di tutti gli altri) per ogni dispositivoL’interfaccia ignora i pacchetti con indirizzo diverso dal proprio(non carica la CPU con questo test)Il frame Ethernet è utilizzato dal protocollo TCP/IP (Internet), che copre i livelli 3 e 4 della pila OSI.

Page 19: Controlli automatici per la meccatronica - Intranet DEIBhome.deib.polimi.it/rocco/cam/informatica_controllo_2p.pdf · per la meccatronica Informatica per il controllo ... Le presenti

Controlli automatici per la meccatronica - Informatica per il controllo - P. Rocco [37]

Bus di campo (Bus di campo (fieldfield bus)bus)Nei sistemi di controllo l’utilizzo di reti di comunicazione digitali èstato inizialmente limitato alle sole CPU e/o ai moduli di acquisizione remota, mentre la connessione di sensori ed attuatori si effettuava ancora con le classiche tecniche analogiche (linee 4÷20 mA o ±10 V)L’idea di “bus di campo” è che tutti i componenti di un sistema di controllo, dal PC per l’interfaccia operatore al sensore o all’attuatore, sono pensati come dispositivi in rete.In questo modo, concettualmente, un solo “cavo” (o, appunto, bus) percorre tutto l’impianto e connette tutti i dispositivi.I bus di campo consentono la trasmissione ottima di volumi di dati piccoli, con criticità temporale.Vi sono oggi diversi ASIC (Application-Specific Integrated Circuits) che consentono di rendere “bus-enabled” anche dispositivi di profilo (e quindi costo) relativamente basso.

Controlli automatici per la meccatronica - Informatica per il controllo - P. Rocco [38]

Bus di campo e modello OSIBus di campo e modello OSI

In generale i bus di campo non realizzano tutti i livelli della pila OSI.Sono realizzati i livelli 1 (fisico), 2 (collegamento) e 7 (applicazione).Non sono realizzati i livelli da 3 a 6 (rete, trasporto, sessione, presentazione).Inoltre viene aggiunto un livello 8 (livello utente) che fornisce molte funzioni importanti, quali blocchi funzionali, servizi di descrizione dei dispositivi, gestione della rete.

Fisico 1

Collegamento 2

Applicazione 7

Utente 8

Mezzo di collegamento

Page 20: Controlli automatici per la meccatronica - Intranet DEIBhome.deib.polimi.it/rocco/cam/informatica_controllo_2p.pdf · per la meccatronica Informatica per il controllo ... Le presenti

Controlli automatici per la meccatronica - Informatica per il controllo - P. Rocco [39]

Principali bus di campoPrincipali bus di campoPROFIBUS (European Fieldbus Standard IEN 50170):di grande rilevanza industriale e ampiamente supportato;

FOUNDATION Fieldbus:molto utilizzato nel controllo di processo;

CAN (Controlled Area Network):concepito diversi anni fa, ma tuttora di grande importanza soprattutto nel settore veicolare;

OPC (OLE for Process Control);DeviceNet (basato su bus CAN);Interbus…

Nel seguito si darà qualche cenno al PROFIBUS e al CAN.Per maggiori informazioni ed aggiornamenti, si possono consultare i siti web:http://www.profibus.com/http://www.fieldbus.org/http://www.canopen.org/

Controlli automatici per la meccatronica - Informatica per il controllo - P. Rocco [40]

PROFIBUS: vista generalePROFIBUS: vista generale

Buscycle-time

< 1000 ms

MMS, TCP/IP Backbone

Area-controller

Sensor

PROFIBUS-FMS

Cell-controller CNC

PC/VME

PROFIBUS-PA

Sensor

DCS

Drive

MFielddevice

I/O Sensor

PROFIBUS-FMS

PROFIBUS-DP

Trans-mitter

Fielddevice

PROFIBUS-PA

PLC

Field-level

Buscycle-time

< 100 ms

Cell-level

Buscycle-time

< 10 ms

Factorylevel

VME/PC

Page 21: Controlli automatici per la meccatronica - Intranet DEIBhome.deib.polimi.it/rocco/cam/informatica_controllo_2p.pdf · per la meccatronica Informatica per il controllo ... Le presenti

Controlli automatici per la meccatronica - Informatica per il controllo - P. Rocco [41]

PROFIBUS PROFIBUS –– la famiglia di standardla famiglia di standard

EN 50170 Volume 2 and DIN 19245 Part 1 to 4

Device Profiles

Application Profiles

Factory Automation Automation for General Purposes

Process Automation

PROFIBUS-DP PROFIBUS-PAPROFIBUS-FMS

- powering over the bus (option)- intrinsic safety (option)

- plug and play- efficient and cost effective

- large variety of applications- multi-master communication

fast universal application oriented

Controlli automatici per la meccatronica - Informatica per il controllo - P. Rocco [42]

PROFIBUS PROFIBUS –– tecnica di trasmissionetecnica di trasmissione

PROFIBUS usa una topologia a bus con terminazione ai due latiSi possono connettere fino a 32 stazioni su un singolo elementoPer il livello fisico (livello 1 della pila OSI) sono permesse tre opzioni:• RS 485, usata soprattutto in DP e FMS (velocità da 9.6 Kbit/s a

12 Mbit/s; più alta è la velocità, minore la distanza copribile);• IEC 1158-2, usata soprattutto in PA (velocità 31.25 Kbit/s,

distanza fino a 1900 m);• fibra ottica, usata soprattutto in DP e FMS.

Terminatore Terminatore

Page 22: Controlli automatici per la meccatronica - Intranet DEIBhome.deib.polimi.it/rocco/cam/informatica_controllo_2p.pdf · per la meccatronica Informatica per il controllo ... Le presenti

Controlli automatici per la meccatronica - Informatica per il controllo - P. Rocco [43]

PROFIBUSPROFIBUS--DPDP

È orientato all’automazione industrialeRealizza i livelli 1 e 2 (fisico e di collegamento), permettendo reti mono- e multi-masterSopra questi livelli definisce dei profili (livello utente) tipici dell’automazione industriale. I profili sono specifiche definite dai costruttori o dagli utenti finali che riguardano proprietà, caratteristiche e comportamento dei dispositivi connessi.È supportato dai maggiori produttori di DCS ma anche di PLC e regolatoriVi è una vasta gamma di prodotti disponibili: PLC, PC, I/O, Azionamenti, Valvole, Encoder,…

Controlli automatici per la meccatronica - Informatica per il controllo - P. Rocco [44]

PROFIBUSPROFIBUS--DP: sistema monoDP: sistema mono--mastermaster

DP-Master di classe 1

PLC

I/O decentralizzati

PROFIBUS-DP

SensoreAttuatore

“DP-slaves”

I sistemi mono-master consentono il minimo tempo di ciclo sul bus e consistono di un DP-master (detto di classe 1), da 1 a 125 DP-slaves e, opzionalmente, un master di classe 2 (non necessariamente sempreconnesso al bus) per eventuali connessioni a livelli superiori del sistema.

Page 23: Controlli automatici per la meccatronica - Intranet DEIBhome.deib.polimi.it/rocco/cam/informatica_controllo_2p.pdf · per la meccatronica Informatica per il controllo ... Le presenti

Controlli automatici per la meccatronica - Informatica per il controllo - P. Rocco [45]

PROFIBUSPROFIBUS--DP: sistema multiDP: sistema multi--mastermaster

I sistemi multi-master consistono di più stazioni master (di classe 1 o 2) e da 1 a 124 slaves, con un massimo di 126 dispositivi sullo stesso bus. Piùmaster possono leggere da uno stesso slave.

DP-master(di classe 2)

DP-master(di classe 1)

DP-master(di classe 1)

I/O decentralizzati SensoreAttuatore

PROFIBUS-P

PROFIBUS - DP

DP-slaves

PC

CNCPLC

I/O decentralizzati

Controlli automatici per la meccatronica - Informatica per il controllo - P. Rocco [46]

PROFIBUSPROFIBUS--DP: sistema DP: sistema multimulti--mastermaster

PLC

PROFIBUS

“active stations”, “master devices”

Drive Attuatore Trasmettitore

“passive stations”, “slave devices”

Sensore Sensore Drive

Rete logica di tipo token ring tra le stazioni master

PC

Sensore

M M T

PLC

Page 24: Controlli automatici per la meccatronica - Intranet DEIBhome.deib.polimi.it/rocco/cam/informatica_controllo_2p.pdf · per la meccatronica Informatica per il controllo ... Le presenti

Controlli automatici per la meccatronica - Informatica per il controllo - P. Rocco [47]

CAN (Controlled Area Network)CAN (Controlled Area Network)

CAN è un bus di comunicazione seriale, progettato per applicazioni real-time e nato in ambito veicolare, anche se oggi è usato (in versioni evolute nel tempo) in applicazioni diverse.Il bus CAN “originale” è stato introdotto da Bosch nel 1986.Il bus CAN consente la comunicazione tra controllori, sensori edattuatori con velocità fino a 1Mbit/sec, e ha diversi punti di forza:• bassi costi di progettazione e implementazione (il che lo rende

adatto anche a “macchine” di fascia bassa ed è una delle ragioni delle sue successive evoluzioni);

• operatività in condizioni critiche (veicolari, ad esempio, ma anche industriali, quali ambienti con forti vibrazioni e disturbi di tipo elettromagnetico);

• facilità di configurazione e modifica (soprattutto le sue evoluzioni);• rilevamento automatico degli errori e autodiagnostica.

Controlli automatici per la meccatronica - Informatica per il controllo - P. Rocco [48]

CAN CAN –– livello fisicolivello fisico

Si usa un doppino differenziale i cui due conduttori sono detti CAN L (Can Low) e CAN H (Can High).Esistono due possibili tipi di trasmissione:• Low Speed: 125 kb/s, max 40 m, da 2 a 20 nodi • High Speed: da 125 kb/s a 1 Mb/s, max 40 m, da 2 a 30 nodi.

Per la correzione degli errori, ogni messaggio viene ritrasmesso fino a che tutti i riceventi (e quindi il bus) non segnalano alcun errore.

Page 25: Controlli automatici per la meccatronica - Intranet DEIBhome.deib.polimi.it/rocco/cam/informatica_controllo_2p.pdf · per la meccatronica Informatica per il controllo ... Le presenti

Controlli automatici per la meccatronica - Informatica per il controllo - P. Rocco [49]

CAN CAN –– livello collegamentolivello collegamento

La comunicazione è sempre di tipo broadcast.I pacchetti non contengono indirizzi ma bensì un identificatore, che definisce anche la priorità del messaggio.Ogni nodo “ascolta” tutto il traffico e filtra, elaborandoli, solo i messaggi di suo interesse.Esempio:

Controlli automatici per la meccatronica - Informatica per il controllo - P. Rocco [50]

CAN CAN –– accesso al busaccesso al bus

L’approccio usato dal CAN genera dei conflitti per l’accesso al bus. Questi vengono risolti tramite un sistema di arbitraggio detto “bit-wise”, che si basa sul fatto – tipico del CAN – che ai due valori possibili dei bit posti sul bus dai device si dà l’interpretazione di “dominante” e “recessivo”.Quando un bit recessivo è inviato sul bus e qualche altro nodo vi ha posto il bit dominante, il nodo che ha emesso il bit recessivo deve ritirarsi. I nodi che non vincono l’arbitraggio diventano automaticamente stazioni riceventi e non ritentano trasmissioni fino a che il bus non è di nuovo libero.Questo tipo di arbitraggio è detto CSMA/CA (Carrier Sens Multiple Access / Collision Avoidance), ed è del tipo di quello usato da Ethernet.

Page 26: Controlli automatici per la meccatronica - Intranet DEIBhome.deib.polimi.it/rocco/cam/informatica_controllo_2p.pdf · per la meccatronica Informatica per il controllo ... Le presenti

Controlli automatici per la meccatronica - Informatica per il controllo - P. Rocco [51]

CAN CAN –– accesso al busaccesso al bus

Esempio di arbitraggio:

Controlli automatici per la meccatronica - Informatica per il controllo - P. Rocco [52]

Informatica per il controlloInformatica per il controllo

Parte III

PLC

Page 27: Controlli automatici per la meccatronica - Intranet DEIBhome.deib.polimi.it/rocco/cam/informatica_controllo_2p.pdf · per la meccatronica Informatica per il controllo ... Le presenti

Controlli automatici per la meccatronica - Informatica per il controllo - P. Rocco [53]

Che cosChe cos’è’è un PLC?un PLC?

Controlli automatici per la meccatronica - Informatica per il controllo - P. Rocco [54]

Definizioni (standard IEC 1131Definizioni (standard IEC 1131--3)3)

PLC (Programmable Logic Controller): sistema elettronico a funzionamento digitale, destinato all’uso in ambito industriale, che utilizza una memoria programmabile per l’archiviazione interna di istruzioni orientate all’utilizzazione per l’implementazione di funzioni specifiche, come quelle logiche, di sequenziamento, di temporizzazione, di conteggio e di calcolo aritmetico, e per controllare, mediante ingressi ed uscite sia digitali che analogici, vari tipi di macchine e processi.

Sistema PLC: configurazione realizzata dall’utilizzatore, formata da un PLC e dalle periferiche associate, necessaria al sistema automatizzato previsto.

Page 28: Controlli automatici per la meccatronica - Intranet DEIBhome.deib.polimi.it/rocco/cam/informatica_controllo_2p.pdf · per la meccatronica Informatica per il controllo ... Le presenti

Controlli automatici per la meccatronica - Informatica per il controllo - P. Rocco [55]

Componenti fondamentaliComponenti fondamentali

Terminale di programmazione(a volte dispositivi dedicati,spesso PC con opportuno sw)

Armadio (rack)

Modulo processore (CPU) Moduli di I/O Moduli speciali(es. I/F di rete)

I/O dalprocesso(campo)Rete(variprotocolli)

Alim.

Moduloalimentatore

Controlli automatici per la meccatronica - Informatica per il controllo - P. Rocco [56]

Componenti fondamentaliComponenti fondamentali

Armadio.Contiene i vari moduli assicurandone la connessione meccanica ed elettrica (tramite bus) e la schermatura.

Modulo alimentatore.Fornisce l’alimentazione stabilizzata ai moduli del rack.

Moduli di ingresso/uscita (I/O).Il PLC comunica con il campo attraverso moduli di I/O digitali e analogici, che assicurano l’isolamento galvanico per salvaguardare l’elettronica interna. I moduli di I/O analogici realizzano anche le conversioni D/A e A/D.

Page 29: Controlli automatici per la meccatronica - Intranet DEIBhome.deib.polimi.it/rocco/cam/informatica_controllo_2p.pdf · per la meccatronica Informatica per il controllo ... Le presenti

Controlli automatici per la meccatronica - Informatica per il controllo - P. Rocco [57]

Componenti fondamentaliComponenti fondamentali

Moduli speciali.Ne esistono di molti tipi. I principali sono

• moduli di I/O remoto (posti in un rack diverso da quello del PLC),• moduli per connessione in rete (per bus di campo, ethernet,...),• moduli per controllo PID,• moduli per la lettura di sensori particolari (termocoppie, encoder,…),• moduli d’interfaccia operatore (tastierini, display,…),• moduli di backup (CPU di riserva sincronizzate con quella principale,

che le subentrano in caso di malfunzionamento).

Terminale di programmazione.Vi sono terminali di tipo dedicato che si collegano direttamente al PLC tramite una porta di comunicazione e sono dotati di una tastiera per l’inserimento delle istruzioni e di un display per il controllo del programma.

Controlli automatici per la meccatronica - Informatica per il controllo - P. Rocco [58]

Componenti fondamentaliComponenti fondamentali

Modulo processore.Il modulo processore (CPU) contiene uno o più microprocessori, che eseguono i programmi del sistema operativo e quelli sviluppati dall’utente, la memoria dove questi programmi sono conservati e l’hardware per l’interfacciamento con gli altri moduli del sistema.La sua modalità di funzionamento standard consiste nell’eseguire periodicamente il ciclo di copia massiva degli ingressi e delle uscite, articolato nei seguenti passi:

• Lettura degli ingressi fisici e aggiornamento coi valori così ottenuti di un’area specifica della memoria;

• Esecuzione del programma utente, che opera sui valori in memoria e in memoria pone i risultati;

• Esecuzione dei programmi di gestione del sistema (ad es. di diagnostica);• Scrittura sulle uscite fisiche dei valori corrispondenti conservati nell’area di

memoria riservata a questo scopo.

In casi particolari (tipicamente guasti o emergenze) una CPU può eseguire operazioni con accesso immediato ai punti di ingresso/uscita, tipicamente in risposta ad interrupt.

Page 30: Controlli automatici per la meccatronica - Intranet DEIBhome.deib.polimi.it/rocco/cam/informatica_controllo_2p.pdf · per la meccatronica Informatica per il controllo ... Le presenti

Controlli automatici per la meccatronica - Informatica per il controllo - P. Rocco [59]

VelocitVelocitàà di elaborazione e tempo di rispostadi elaborazione e tempo di risposta

La velocità di elaborazione di una CPU è misurata dal tempo di scansione, cioè dal tempo che intercorre tra due attivazioni successive della stessa porzione del programma utente.

Si misura in millisecondi per kiloword di programma (con word di 8 o 16 bit). I tempi di scansione tipici sono dell’ordine di qualche frazione di ms/kw.

Il tempo di risposta del PLC è, invece, il massimo intervallo di tempo che passa tra la rilevazione di un certo evento e l’esecuzione dell’azione di risposta per esso programmata.

Il tempo di risposta, quindi, tiene conto anche dei ritardi introdotti dai moduli di I/O.

Controlli automatici per la meccatronica - Informatica per il controllo - P. Rocco [60]

Sistema operativo e modalitSistema operativo e modalitàà operativeoperative

Il sistema operativo di un PLC è un insieme di programmi memorizzati in modo permanente, che si occupano di

• controllo delle attività del PLC,• elaborazione dei programmi utente,• comunicazione,• diagnostica interna

Un generico PLC può trovarsi in tre modalità operative:• esecuzione: si eseguono i programmi utente aggiornando ingressi e

uscite;• validazione: si eseguono i programmi ma l’aggiornamento delle uscite

è disabilitato (questa modalità serve tipicamente a verificare la correttezza del codice);

• programmazione: questa è la modalità utilizzata per caricare il codicenella memoria del PLC.

Page 31: Controlli automatici per la meccatronica - Intranet DEIBhome.deib.polimi.it/rocco/cam/informatica_controllo_2p.pdf · per la meccatronica Informatica per il controllo ... Le presenti

Controlli automatici per la meccatronica - Informatica per il controllo - P. Rocco [61]

Linguaggi di programmazioneLinguaggi di programmazione

La normativa IEC 1131-3 definisce cinque linguaggi di programmazione per i PLC, di cui tre grafici e due testuali.

Linguaggi grafici:diagramma funzionale sequenziale (SFC, Sequential Functional Chart),linguaggio a contatti (LD, Ladder Diagram),diagramma a blocchi funzionali (FBD, Function Block Diagram).

Linguaggi testuali:lista di istruzioni (IL, Instruction List),testo strutturato (ST, Structured Text).

Vi sono oggi diversi ambienti di sviluppo che supportano più di un linguaggio IEC 1131-3.Alcuni di questi ambienti consentono anche di “mescolare” i linguaggi entro un progetto, ossia d’implementare alcune parti del progetto con un linguaggio ed altre con un altro.L’aderenza allo standard è indice di portabilità del codice.

Controlli automatici per la meccatronica - Informatica per il controllo - P. Rocco [62]

LadderLadder diagramdiagram

• Il Linguaggio a Contatti o Diagramma a Scala (Ladder Diagram, LD) èderivato dai disegni dei sistemi di controllo realizzati con reléelettromeccanici

• Si basa sui concetti di contatto e bobina ed è stato inizialmente pensato per funzioni di logica binaria; poi è stato esteso per trattare anche numeri interi e/o reali.

• È un linguaggio di basso livello e poco strutturato, non molto adatto a sistemi complessi. Tuttavia è importante perché è stato il primo linguaggio grafico per PLC, è presente in tutti i PLC industriali ed è uno standard di fatto del mercato americano.

Page 32: Controlli automatici per la meccatronica - Intranet DEIBhome.deib.polimi.it/rocco/cam/informatica_controllo_2p.pdf · per la meccatronica Informatica per il controllo ... Le presenti

Controlli automatici per la meccatronica - Informatica per il controllo - P. Rocco [63]

LadderLadder diagramdiagram: elementi fondamentali: elementi fondamentali

• Elementi fondamentali:• due linee verticali dette “montanti”: il montante di sinistra si intende connesso

all’alimentazione, quello di destra a massa• alcuni collegamenti orizzontali tra i montanti, detti “pioli” o “rung” che

contengono a sinistra dei contatti e a destra delle bobine• a ciascun contatto e a ciascuna bobina sono associate delle variabili logiche• se c’è continuità elettrica tra il montante di sinistra e la bobina, la variabile

logica associata alla bobina risulta “true”, altrimenti è “false”

• Simboli grafici principali:• | |: contatto normalmente aperto (se la variabile è true il contatto è chiuso)• |/| : contatto normalmente chiuso (se la variabile è true il contatto è aperto)• ( ): bobina (se alimentata, assegna alla variabile il valore 1)

A B X|---| |----|/|---+---( )---|| A B ||---|/|----| |---+|Alimentazione Massa

• Esempio di codice LD (funzione X = A xor B)

Controlli automatici per la meccatronica - Informatica per il controllo - P. Rocco [64]

Informatica per il controlloInformatica per il controllo

Parte IV

Sistemi real time ed embedded

Page 33: Controlli automatici per la meccatronica - Intranet DEIBhome.deib.polimi.it/rocco/cam/informatica_controllo_2p.pdf · per la meccatronica Informatica per il controllo ... Le presenti

Controlli automatici per la meccatronica - Informatica per il controllo - P. Rocco [65]

Sistemi Sistemi realreal timetime

Un sistema di elaborazione real time (ovvero in tempo reale) deve essere in grado di eseguire tutti i suoi compiti senza violare vincoli temporali specificati.Deve quindi rispondere in un modo certo ed entro tempi fissati a eventi esterni, prevedibili o no.

EsempioI sistemi di controllo devono reagire entro tempi rigidamente vincolati a certi segnali di ingresso, pena danneggiamenti anche gravi dell'impianto controllato o dell’ambiente in cui l’impianto opera.

Controlli automatici per la meccatronica - Informatica per il controllo - P. Rocco [66]

Sistemi Sistemi realreal timetime

Tempo reale non vuol dire necessariamente veloce: il fallimento nel calcolare una risposta entro un certo tempo può essere altrettanto scorretto, e avere effetti altrettanto gravi, che calcolarla prima del tempo dovuto.Si può quindi dire che tempo reale non vuol dire essere veloci, ma essere sempre puntuali.A volte si definiscono “in tempo reale” sistemi che in realtà non lo sono (come i sistemi interattivi in tempo reale).

Page 34: Controlli automatici per la meccatronica - Intranet DEIBhome.deib.polimi.it/rocco/cam/informatica_controllo_2p.pdf · per la meccatronica Informatica per il controllo ... Le presenti

Controlli automatici per la meccatronica - Informatica per il controllo - P. Rocco [67]

Hard Hard realreal time e soft time e soft realreal timetime

Hard real time: La classe dei sistemi real time per cui il fallimento nel rispettare i vincoli temporali (spesso molto stringenti) può portare a gravi danni o addirittura disastri

Soft real time:La classe dei sistemi real time per cui il fallimento nel rispettare i vincoli temporali (più o meno stringenti) non porta a danni immediati, ma al più a una diminuzione dei benefici, che sono decrescenti col tempo.

Controlli automatici per la meccatronica - Informatica per il controllo - P. Rocco [68]

Requisiti hardware di un sistema Requisiti hardware di un sistema realreal timetime

Il requisito di tempo reale richiede, dal punto di vista hardware:L’utilizzo di uno o più processori di adeguata velocità di elaborazione;Che il tempo di esecuzione delle istruzioni sia noto (almeno nei valori massimi);Che l’accesso alla memoria ed ai dispositivi di I/O sia veloce, affidabile e deterministico;La garanzia di una tempificazione di riferimento certa;La presenza di funzioni di autodiagnostica;La presenza di ridondanze strutturali, in modo da poter continuare ad operare anche in presenza di malfunzionamenti.

Page 35: Controlli automatici per la meccatronica - Intranet DEIBhome.deib.polimi.it/rocco/cam/informatica_controllo_2p.pdf · per la meccatronica Informatica per il controllo ... Le presenti

Controlli automatici per la meccatronica - Informatica per il controllo - P. Rocco [69]

Sistemi operativi Sistemi operativi realreal timetime

Se l’applicazione di controllo è molto semplice il modo in cui i vari compiti (task) vengono eseguiti in parallelo ed in cui sono gestite le risorse è totalmente determinato dal programma utente.In tutti gli altri casi il dispositivo di controllo dovrà prevedere un (minimo di) sistema operativo che si occupi almeno della pianificazione dell’esecuzione dei processi (scheduling) e della gestione della comunicazione tra i processi.Il requisito di tempo reale si traduce quindi in requisiti sul sistema operativo.

Controlli automatici per la meccatronica - Informatica per il controllo - P. Rocco [70]

Requisiti di un sistema operativo Requisiti di un sistema operativo realreal timetime

Avere una pianificazione dell’esecuzione che preveda un meccansimodi assegnazione di priorità ai processi;Essere multitasking pre-emptive, ossia essere in grado di interrompere in qualsiasi istante un processo per trasferire le risorse ad un processo più prioritario;Supportare il cambio di contesto e l’allocazione della memoriaEvitare situazioni di stallo (deadlock);Realizzare un meccanismo di sincronizzazione e comunicazione traprocessi;Gestire le interruzioni (interrupt)Mettere a disposizione delle primitive (funzioni di SO) richiamabili dai linguaggi di programmazione (C) e un real time kernel (il codice delle primitive) residente in memoria in fase di esecuzione

Page 36: Controlli automatici per la meccatronica - Intranet DEIBhome.deib.polimi.it/rocco/cam/informatica_controllo_2p.pdf · per la meccatronica Informatica per il controllo ... Le presenti

Controlli automatici per la meccatronica - Informatica per il controllo - P. Rocco [71]

Specifica, progetto, verificaSpecifica, progetto, verifica

I sistemi operativi real time presentano difficoltà di progettazione e verifica a posteriori.

Il progetto effettivo è complicato: operazioni ritenute sicure nella pratica di progetto possono non essere più corrette per i RTS;Il sistema implementato non può spesso essere provato sul campo (controllore di una centrale nucleare): serve un simulatore dell’ambiente;È molto importante che il loro sviluppo sia fin dall’inizio rigoroso, basato su tecniche precise e assistito da strumenti opportuni.Occorre fare uso di metodologie consolidate di ingegneria del software.

Controlli automatici per la meccatronica - Informatica per il controllo - P. Rocco [72]

Sistemi Sistemi embeddedembeddedUn sistema embedded è un sistema di elaborazione che:

Interagisce con il mondo esternoHa un’interfaccia utente primitiva o inesistenteÈ inserito in altri prodotti (es. in automobile)È “single purpose”: fa una cosa sola in modo efficiente ed economico (contro i PC che sono “general purpose”)

Sono sistemi embedded quelli installati nei telefonini, nelle automobili, negli elettrodomestici, nei ricevitori GPS, nei satelliti, nei giocattoli, ecc.

Al mondo si stima ci siano alcune centinaia di milioni di PC e server ma diversi miliardi di sistemi embedded.

Page 37: Controlli automatici per la meccatronica - Intranet DEIBhome.deib.polimi.it/rocco/cam/informatica_controllo_2p.pdf · per la meccatronica Informatica per il controllo ... Le presenti

Controlli automatici per la meccatronica - Informatica per il controllo - P. Rocco [73]

Sistemi Sistemi embeddedembedded

Alcune caratteristiche dei sistemi embeddedDal punto di vista sw sono sistemi operativi real timeHanno piccola occupazione di memoria (tipico 1÷2 KB di memoria RAM/ROM), e devono essere eseguiti da CPU di piccola potenza e consumoDevono funzionare sempre senza interventi manualiÈ bene che non abbiano parti in movimento, che possono rompersi, consumano molta energia, sono lente, richiedono driver complessi, occupano spazioDevono gestire e recuperare, eventualmente con funzionalità ridotte, situazioni di erroreDevono ripartire (reboot) automaticamente in caso di arresto, eventualmente in configurazioni di sicurezza e “istantaneamente”Devono fare autotest di funzionamento (watchdog, ecc)