View
216
Download
2
Category
Preview:
Citation preview
Controlli automaticiControlli automaticiper la meccatronicaper la meccatronica
Informatica per il controllo
Prof. Paolo Rocco (paolo.rocco@polimi.it)
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).
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.
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
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
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à.
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à.
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
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)
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.
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.
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à…)
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
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:
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)
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.
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
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.
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.
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
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
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
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.
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
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.
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.
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
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.
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.
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.
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.
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.
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
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).
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.
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
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.
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)
Recommended