In collaborazione con:
A cura di: Matteo Sartini
Rif.PA. 2016-5633/RER Biennio 2016/2018 Progetto 2 Edizione 1
Modulo: Linguaggi e programmazione PLC
UF 15 – Architettura e gestione dei sistemi automatici II
FONDAZIONE ISTITUTO TECNICO SUPERIORE
MECCANICA, MECCATRONICA, MOTORISTICA E PACKAGING Sede di BOLOGNA
“TECNICO SUPERIORE PER L’AUTOMAZIONE E I SISTEMI MECCATRONICI”
Comunicazione nella Piramide dell’Automazione
Dim. da( Freq. da( Determinismo Enterprise
“Control”/ Supervision bus
Fieldbus (Control/Sensor/Device)
Server Mainframe
Worksta(on
Notebook
SCADA
PLC Controller
Sensor Actuator
REAL TIME
Controllo Supervisione Ges(one
Drive HMI
di impianto
Rete Informa(ca
• Definizione:
infrastruOura cos(tuita da elemen( HW e SW per la comunicazione di da( digitali (informazioni codificate in insiemi di bit) tra diversi sistemi di elaborazione digitale “composi(” (nodi)
– Sistema Digitale Composito:
• PC, PLC, scheda embedded, sensore “intelligente”…
• Non un singolo chip o soOoparte (µP, µC, FPGA, schede di un PLC) – Comunicazione ges(ta secondo altri principi
– Tipicamente almeno 3
• Altrimen( si parla di canale punto-‐punto (… non sempre vero)
• CaraOeris(che principali:
– Topologia – Dimensioni
– Elemen( HW/SW u(lizza(
• Organizzazione a stack
Rete Informa(ca – Topologie
• Due topologie principali:
– Broadcast: unico canale fisico di comunicazione condiviso da tuY i nodi della rete
• Un messaggio imposto sul canale è “visto” da tuY i nodi
– Ogni nodo deciderà se il messaggio è di suo interesse
• Un solo nodo per volta può trasmeOere
– Necessità di ARBITRAGGIO / Gest. COLLISIONI (distribuito o centralizz.)
– Insieme di connessioni punto-‐punto: connessioni dedicate tra coppie di nodi
• In genere è necessario definire il cammino per trasmeOere tra due nodi non fisicamente connessi
• Più nodi possono trasmeOere contemporaneamente
– Dipende dalla (pologia delle connessioni
• Connessioni punto-‐punto: simplex, half duplex; full duplex
– Dipende dal sistema fisico di interconnessione
Rete Informa(ca – Topologie
• Re( broadcast :
– Si possono indirizzare facilmente anche tuOe le macchine contemporaneamente (broadcas(ng) o un soOoinsieme (mul(cas(ng) tramite indirizzi speciali
– Re( a bus
• Fascio di conneOori condiviso
– Re( ad anello
• I singoli bit invia( circolano (verso di rotazione) sull’anello, in un tempo (picamente inferiore al tempo di trasmissione del paccheOo (senza “filtro” da parte dei nodi)
Rete a bus
Rete ad anello
Bus
Nodo
Nodo
Rete Informa(ca – Estensione
1m Metro quadro
10 m Stanza
100 m Edificio
1 km Distretto
10 km Città
100 km Nazione
1000 km Continente 10,000 km Pianeta Distanza media
tra due nodi
Estensione geografica
Personal area network Local area network
Metropolitan area network Wide area network
•
Rete Informa(ca – Estensione e Topologia
•
Re# LAN:
Topologie #piche
Re# bus
Re# ad anello
Re# a stella
Re# punto-‐mul#punto
Stru<ure broadcast ibride con pon# (bridge)
Re# WAN:
Tipicamente insiemi di re# LAN connesse con stru<ure a maglia
Stru<ura ibrida e gerarchica
Re# di re#
Rete Informa(ca – Organizzazione HW-‐SW
•
Organizzata a stack
(in par#colare il SW):
Ad ogni livello (layer) corrisponde una o più funzionalità
Ges#one della complessità
Ob: Modularità, Riu#lizzabilità, interoperabilità
Il layer n di un nodo si occupa di:
-‐ interfacciarsi col layer n+1 -‐ comunicare con il layer n
di un altro nodo mediante una serie di regole, de<e protocollo
Comunicazione orizzontale virtuale
In realtà la comunicazione avviene ver#calmente
(interfacciamento con livello n-‐1)
Comunque il layer n non si occupa dei de<agli dei layer inferiori
Rete Informa(ca – Organizzazione HW-‐SW
A<enzione (2)
Una RETE INFORMATICA è completamente definita quando sono defini# tuT i livelli HW e SW che iden#ficano in modo chiaro:
le funzioni e/o servizi che rende disponibili alle applicazioni (tasks) presen# sui nodi
Nella pra#ca comune, invece, quando si definiscono il livello HW e i livelli SW più bassi si parla di RETE DI COMUNICAZIONE.
Non si de<agliano le funzioni di alto livello messe a disposizione
èLe re# informa#che poggiano sulle re# di comunicazione
Comunicazione attraverso i livelli ISO-OSI
Confidenziale 10
La comunicazione
un caso concreto
La comunicazione
un caso concreto
Esempio frame
13
Frame overhead
Encapsulation & PDU
User Data 4 byte APPLICATION
Tipo
messaggio Tipo di
servizio
Controllo integrità User Data 4 byte
DATA LINK
Indirizzo
destinatario
User Data 4 byte USER
Dati utili
User Data 4 byte PHISICAL
Preambolo End Start
Layer fisico: trasmette
fisicamente i bit sul canale. A questo livello si fissano le convenzioni fisiche
14
ARCHITETTURA ISO-OSI
• International Standards Organization - Open Systems Interconnection (1983):
– Stack con 7 layer
Layer Fisico
• Mezzo trasmissivo:
– Doppino telefonico: coppia di cavi di rame twistati
• Cavo 10 Base-T
• Throughput (quantità di dati trasmessi in un lasso di tempo): Kbps
– Cavo coassiale: conduttore in rame circondato da materiale isolante
• Buona banda e reiezione ai disturbi
• Throughput: Mbps
– Fibra ottica: l’informazione è tradotto in impulsi luminosi
• Larghezza di banda decisamente superiore
• Throughput: Tbps
– Wireless
15
Layer Fisico- mezzo trasmessivo
Cavo coassiale (RG-58)
• Oramai in disuso, si utilizzava per realizzare reti con
topologia a bus e poteva
collegare computer distanti tra di loro al massimo 185 m.
• Ereditato dai sistemi di
interconnessione tra terminali e mainframe
Cavo Twisted Pair
• UTP: cavo TP non schermato (fino a 100 m.)
– Cat. 1 solo per telefonia – Cat. 2 fino a 4 Mbs
– Cat. 3 fino a 10 Mbs – Cat. 4 fino a 16 Mbs – Cat. 5 fino a 100 Mbs
– Cat. 5e e 6 fino a 1000 Mbs
• STP: cavo TP a singola
schermatura (fino a 500 m.)
• FTP: cavo a schermatura per singola coppia
Layer Fisico- mezzo trasmessivo
Layer Fisico- mezzo trasmessivo
18
Cavo Fibra Ottica
• Utilizzato per trasmissione ad alta banda e per coprire
distanze maggiori. Supporta velocità di trasmissione
nell’ordine dei Gigabit per secondo.
• Sostanzialmente immune da interferenze elettromagnetiche.
Layer Fisico- mezzo trasmessivo
Layer Fisico
• Codifica:
20
Architettura ISO-OSI
• International Standards Organization - Open Systems Interconnection (1983):
– Stack con 7 layer
Data link: nel trasmettitore divide il dato in frames; nel ricevitore spedisce gli ack di ricezione dei frames.
Effettua il controllo del flusso.
Nelle reti broadcast gestisce l’accesso al mezzo (MAC)
21
Approfondimen( sul Data-‐Link Layer
• Funzionalità e caraOeris(che (piche:
• (ci si riferisce alle sole re( a “commutazione di paccheOo”)
– Trasmissione a paccheY (frames)
• Il dato complesso (da livello superiore) viene diviso in paccheY
• Si inseriscono header e terminator per ogni paccheOo
– Nell’header sono contenute informazioni per iden(ficare il/i des(natario/i
» Indirizzo/indirizzi (trasmissione address-‐oriented)
» Tipo di messaggio (trasmissione message-‐oriented)
– Nell’header o Terminator sono contenute le informazioni per ricostruire il dato complesso
• Si spediscono i singoli paccheY
– Non si blocca il canale per trasmeOere tuOo il dato complesso
• Lato ricevitore: si ricostruisce il dato complesso unendo i
paccheY
Approfondimen( sul Data-‐Link Layer
• Funzionalità e caraOeris(che (piche (cont’d):
• (ci si riferisce alle sole re( a “commutazione di paccheOo”)
– Trasmissione a paccheY (frames) (cont’d)
• Meccanismi aggiun(vi che possono essere presen(:
– Verifica dell’Errore in Ricezione (esempio: CRC) – No(fica di Ricezione di PaccheOo (ACK)
– Ritrasmissione (per errori o mancato ACK)
– Meccanismi di Controllo di Flusso (se ricevitore “è pieno”)
Approfondimen( sul Data-‐Link Layer
• Funzionalità e caraOeris(che (piche (cont’d):
• (ci si riferisce alle sole re( a “commutazione di paccheOo”)
– AOenzione: ConceOo di PaccheOo
• Data-‐Link Layer divide in paccheY
• Esiste un altro livello dell’ISO-‐OSI che divide in paccheY:
Livello 4 (di trasporto)
• Sono paccheY diversi:
– Nel data-‐link layer si formano paccheY conformi alle necessità HW della rete di comunicazione a “commutazione di paccheOo”
– Nel Transport Layer si formano paccheY conformi alle necessità SW della rete informa(ca ((picamente molto grandi) che non sono lega(
alla rete di comunicazione (livelli 1 e 2)
– Tipicamente i paccheY del livello 4 arrivano al livello 2 (passando dal 3) dove vengono mappa( e/o divisi in paccheY per la rete di
comunicazione.
Approfondimen( sul Data-‐Link Layer
• Funzionalità e caraOeris(che (piche (cont’d):
• (ci si riferisce alle sole re( a “commutazione di paccheOo”)
– Medium Access Controller (MAC)
• Accesso al canale fisico/virtuale per trasmeOere un paccheOo
• Par(colarmente cri(co per re( broadcast dove più nodi possono accedere contemporaneamente
– Risoluzione/prevenzione confliY
» Vari metodi (vedi dopo)
» Forte impaOo sui tempi effeYvi di trasmissione (aOenzione a Real Time)
Approfondimen( sul Data-‐Link Layer
• Metodi di prevenzione/risoluzione dei confliY MAC per re( broadcast:
– Allocazione sta(ca del canale
• Il tempo viene suddiviso in quan(, ed ogni nodo può eseguire
l’accesso solamente in corrispondenza del quanto assegnato al nodo stesso
• Se un nodo non ha nulla da trasmeOere il quanto rimane inu(lizzato:
l’allocazione dinamica in questo caso non u(lizza tuOa la banda disponibile
• Si previene confli+o,
• tempi di trasmissione massimi cer( e facili da calcolare
• tempo di trasmissione massimo e medio coincidono (alto determinismo, vedi dopo)
• AOenzione: necessità di orologio condiviso o sequenza di trasmissione dai nodi nota a tu6 i nodi.
• Soluzione deOa TDMA (Time Division Mul(ple Access) o STDMA (Sincrona)
– Ci sono varian( per migliorare efficienza: ATDMA (Asincrono)
» Se nodo non trasmeOe in sua slot entro certo tempo, il nodo successivo lo usa
Approfondimen( sul Data-‐Link Layer
• Metodi di prevenzione/risoluzione dei confliY MAC per re(
broadcast (cont’d):
– Allocazione dinamica del canale
• Controllo centralizzato: esiste un nodo master che determina il prossimo nodo che deve trasmeOere (master-‐slave a livello 2)
– Si previene il confli+o
– Tempi di trasmissione massimi e medi ancora calcolabili abbastanza facilmente; dipendono dalla poli(ca del master
• Controllo decentralizzato: ogni nodo decide autonomamente se iniziare a trasmeOere.
– Ges(one coordinata: simile a controllo centralizzato, si previene il confli+o e tempi ancora calcolabili con abbastanza facilità
– Sistemi a collisione (più semplici): non vi è coordinamento preven(vo;
si possono avere collisioni, le collisioni devono essere rilevate e ges7te.
Tempi di trasmissione difficilmente calcolabili, in genere elevata differenza tra i medi e i massimi
Approfondimen( sul Data-‐Link Layer
• Metodi di prevenzione/risoluzione dei confliY MAC per re(
broadcast (cont’d):
– Allocazione dinamica del canale (cont’d):
• ESEMPIO GESTIONE COORDINATA:
• Sistemi a token: token ring/bus
– ogni nodo trasmeOe quando è in possesso all’abilitazione data da un token – alla fine della trasmissione, invia il token ad un altro nodo che può a sua volta
trasmeOere
Approfondimen( sul Data-‐Link Layer
• Metodi di prevenzione/risoluzione dei confliY MAC per re(
broadcast (cont’d):
– Allocazione dinamica del canale (cont’d):
• ESEMPI SISTEMI A COLLISIONE:
• Sistema a collisione Carrier Sense Mul(ple Access / Collision Detec(on (CSMA-‐CD)
– Ogni nodo è sempre in ascolto del canale – Quando vede canale libero può trasmeOere
– Il nodo che trasmeOe confronta il dato sul canale con quello trasmesso per rilevare le collisioni
– Rilevata la collisione tuY i nodi in collisione aOendono un tempo casuale e provano a ritrasmeOere
Approfondimen( sul Data-‐Link Layer
30
• Metodi di prevenzione/risoluzione dei confliY MAC per re(
broadcast (cont’d):
– Allocazione dinamica del canale (cont’d):
• ESEMPI SISTEMI A COLLISIONE:
• Sistema a collisione Carrier Sense Mul(ple Access / Collision Detec(on (CSMA-‐CD)
Approfondimen( sul Data-‐Link Layer
• Metodi di prevenzione/risoluzione dei confliY MAC per re(
broadcast (cont’d):
– Allocazione dinamica del canale (cont’d):
• ESEMPI SISTEMI A COLLISIONE:
• Sistema a collisione Carrier Sense Mul(ple Access / Collision Resolu(on (CSMA-‐CR)
– Come sopra
– Alla collisione esiste un nodo che “vince” e prosegue la trasmissione
» Necessario livello 1 adaOo per avere tale comportamento
Architettura ISO-OSI
32
Utilizzo finale del dato Codifica e preparazione dato
Gestione connessioni Divisione/ricostruzione
dati complessi Funzioni di routing
Accesso al mezzo
Gestione del supporto fisico
Architettura ISO-OSI
33
Utilizzo finale del dato Codifica e preparazione dato
Gestione connessioni Divisione/ricostruzione
dati complessi Funzioni di routing
Accesso al mezzo
Gestione del supporto fisico
DATO SEMPLICE
RETE BROADCAST
TRASMISSIONE ORIENTATA AL MESSAGGIO
DATO SEMPLICE
Re( per l’automazione 34
• Specifiche Principali per FieldBus
– Robustezza meccanica
– Robustezza eleOromagne(ca
• Ambiente EM os(le
• Da( non si devono corrompere troppo spesso!
– Soddisfacimento vincoli di (po real-‐(me
• I task del livello dei controlli che comunicano su tali re(
hanno vincoli real(me
Specifiche per I Fieldbus
Specifiche per I Fieldbus
• Tipologie di comunicazioni e di traffico sui FieldBus
– Derivan( da
• CaraOeris(che funzionali del livello dei controlli della PA
• Scelta delle unità di elaborazione
• Mappatura in tasks delle funzioni
• Scelta di Sensori e AOuatori (intelligien()
– Tipicamente:
• Da( per le applicazioni di piccole dimensioni (pochi byte)
• Tipologia di comunicazioni:
– Misure da sensori
– Comandi per aOuatori
– Comandi e “misure virtuali” tra applicazioni – Allarmi
– Messaggi per o da HMI o simili
• TuOe le comunicazione deOe si possono dividere in due grandi classi:
– State Message – Event Message
Specifiche per i FieldBus
• Tipologie di comunicazioni e di traffico sui FieldBus
– State messages
• Messaggi fotografano completamente la condizione (stato) di interesse in un certo istante
• Istante di generazione deciso da a livello di applicazione di ctrl in modo arbitrario rispeOo alle variazioni di stato
– Istan( in cui stato è variato stato non sono rilevan(, è rilevante il valore aOuale
• Non è necessario combinarli con i messaggi passa( per conoscere la condizione (stato) corrente
– Event Messages
• Messaggi lega( alla variazione di stato di una informazione di interesse
• Istante di generazione legato all’istante di variazione dello stato
– ISTANTE DI VARIAZIONE E’ IMPORTANTE – Si può trasmeOere solo la variazione
» Per ricostruire la condizione (stato) è necessaria la conoscenza di tuOa la sequenza dei messaggi evento (da un certo stato iniziale)
– Si può trasmeOere tuOo lo stato
» Comunque è rilevante l’istante di variazione (non si ricade in state messages)
Reti per l’automazione 37
• Approfondimento Specifiche per Vincoli RealTime:
1. Ritardo di trasmissione contenuto
• Ritardi negli anelli di controllo sono deleteri!!
• Utile avere elevata “efficienza della rete”
– Efficienza: indica overhead di bit di controllo rispetto ai dati
2. Determinismo (o Predicibilità)
• I dati devono essere consegnati entro un certo tempo fissato
– Si veda in seguito
3. Possibilità di sincronizzare i nodi
• Primitive di comunicazione di rete per sincronizzare innesco dei tasks (ciclici) su nodi diversi
– Complesso, ma dà maggiori possibilità
» Vedi state msg con vincoli di latenze minime e non perdita..
• Primitive che allineano orologi dei nodi (“tempo globale”…)
– Magari non si sincronizzano tasks, ma conteggio del tempo
» Vedi msg evento in cui è importante istante
Specifiche per FIELDBUS
38
Alcune considerazioni su Ethernet
– Ethernet
• Particolare rete di comunicazione molto usata nelle LAN
• Rete di tipo Broadcast
– Con evoluzioni verso soluzioni a stella (con switch)
• Diversi tipi di supporto
– Cavo (doppino rame (in passato coassiale) o fibra ottica) – Diverse velocità:
» Ethernet: 1-10Mbps
» Fast-Ethernet: 100Mbps
» Giga-Ethernet: 1-10Gbps
• MAC con gestione a collisione CSMA-CD (Carrier Sense Multiple Access Collision Detection)
• I moderni fieldbus sono basati su Ethernet
38
• SERCOS II
– Basato su fibra oYca
• SERCOS III
– Basato su ethernet
– Comunicazione ad anello
39
SERCOS : evoluzione fieldbus su ethernet
CaraOeris(che fornitori di automazione – bus di campo
40
Bus di campo
41
• Utilizzo standard ethernet hardware
• Standard TCP/
IP software stack
• Real time limitato da ritardi
impredicibili e dallo stack TCP/IP
42
Bus di campo
• Utilizzo standard ethernet hardware
• Non viene utilizzato
standard TCP/
IP software stack
• Esempio PowerLink:
invece di
CSMA/CD un nodo master che va a
polling sui nodi slave.
43
Bus di campo
• Utilizzo di specifico ethernet hardware
• Possibile utilizzo TCP/
IP software stack
Sincronizzazione bus di campo PLC
44
PLC
Accoppiatore
Moduli I/O
Bus interno
Legame ciclo PLC e
ciclo bus?
Livello MAC - EtherCAT
– Il protocollo EtherCAT
• Basato su Ethernet (SOLO LIVELLO FISICO)
• Velocità di Trasmissione:
– 2 x 100 Mbit/s (Fast Ethernet, Full-Duplex)
• Il frame trasmesso ha struttura costante
– viene trasmesso dal master
– attraversa tutti gli slave (tranne l’ultimo) in andata e ritorno fino a tornare al master
Reti per l’automazione 46
Livello MAC - EtherCAT
– EtherCAT: principio di funzionamento
• “Il Treno” (Frame Ethernet ) non si ferma
– Persino osservando il “Treno” attraverso una sottile finestra , si è in grado di veder passare il “Treno” per intero
• “Vagoni” (Sub-Telegram) hanno una lunghezza variabile
– Si possono “estrarre” o “inserire” singole “persone” (Bits) o interi
“gruppi” (Bytes) – persino gruppi multipli per treno