PROFINET (2000 -CBA-, 2004 -I/O-) www.profibus.com 1
PROFINET: L APPROCCIO 2
PROFINET I/O e CBA 3
PROFINET CBA 4
PROFINET I/O e CBA 5
Ethernet: il il frame 6
Ethernet: address Ethernet: Indirizzo Ethernet - OUI CSMA/CD L indirizzo Ethernet è composto da 6 byte L indirizzo Ethernet è anche detto MAC (Medium Access Control) Address OUI = Organizationally Unique Identifier PNO possiede l OUI = 00 0E CF (16 777 214 dispositivi possibili) OUI Specifico del costruttore Numero progressivo OUI Organization 00:0E:CF PNO 08:00:06 Siemens 00:A0:45 Phoenix Contact Se il primo byte (MSB) è dispari allora l indirizzo è multicast FF FF FF FF FF FF è l indirizzo broadcast 7
Internet Protocol (IP) IP serve per trasferire dati IP non garantisce la consegna -> nessun controllo di flusso dei dati Le stazioni sono identificate per mezzo dei rispettivi indirizzi IP. I compiti di IP sono: Spedire e ricevere dati Funzionalità di gestione degli indirizzi (ARP/RARP) Segmentazione e riassemblaggio dei dati Routing Funzioni di controllo della rete (e.g. ICMP) In industria si usa IP Address v4 (indirizzo IP a 32 bit = 4 valori decimali). (es. 192.148.12.15) Big endian, bit più significativo identificato come bit 0 Network e Host ID 8
Internet Protocol (IP): classi di di reti, reti private Sono state definite tre classi di reti (A,B,C) con diversa dimensione del NetID. Alcune reti di classe A, B e C sono state riservate per reti private, non connesse ad Internet (di solito le reti Profinet sono private e A,B,C ) Class Range Networks Host A 0 7-bit network 24-bit host 1-126 126 16777216 B 10 14-bit network 16-bit host 128-191 16384 65536 C 110 21-bit network 8-bit host 192-223 2097152 256 9
Internet Protocol (IP): sottoreti Subnet mask: la subnet Mask in AND con l indirizzo IP ritorna il NetID e la SubNetID. Settare correttamente la subnet Mask è importante per non filtrare pacchetti che servono Nota: 142.128.32.255 è l indirizzo broadcast limitato alla sottorete 32 10
Internet Protocol (IP): ARP e RARP ARP (Address Resolution Protocol) serve a ricercare l indirizzo fisico di una stazione con un particolare indirizzo IP La richiesta ARP è di tipo broadcast sulla rete fisica (es. MAC address = FF:FF:FF:FF:FF:FF RARP (Reverse Address Resolution Protocol) serve a ricercare l indirizzo IP di una stazione con un particolare indirizzo fisico altri protocolli per gestire la ridondanza, la sincronizzazione 11
COMPONENTI DI DIRETE 142.0.1.2 142.0.1.1 142.0.1.3 Subnetwork 142.0.1 Total network 142.0... 142.0.1.4 142.0.2.4 Router Subnetwork 142.0.2 142.0.2.1 142.0.2.3 HUB livello fisico collisioni alto carico per la rete ritardo trascurabile SWITCH livello dati no collisioni ridotto carico per la rete ritardo variabile (lunghezza dati Store and Forward-, traffico e accodamento (0-200 μs) 142.0.2.2 ROUTER livello rete ( NetID) firewall per bloccare gli effetti di reti non sicure o non real-time 12
SWITCHES CON ACCODAMENTO E PRIORITA Il messaggio verde arriva per primo ed è trasmesso per primo Il messaggio viola (alta priorità) arriva per ultimo ma passa davanti all arancione (bassa priorità); deve tuttavia attendere la fine della trasmissione del verde (123 μs max) 13
TABELLA SWITCHES La tabella è aggiornata grazie ai messaggi ricevuti Dopo un certo tempo l associazione viene rimossa (aging-time) Se lo switch non trova l indirizzo manda broadcast-like 14
PROTOCOLLI SU IP IP 15
APPLICAZIONI TCP/IP SMTP - Simple Mail Transfer Protocol Usato per le email HTTP - Hypertext Transfer Protocol Usato per i WWW browser FTP - File Transfer Protocol Usato per trasferire file tra due stazioni DCOM - Distributed Component Object Model Permette la connessione di oggetti COM (Microsoft) in una rete SNMP - Simple Network Management Protocol Usato per la gestione centralizzata dei componenti di rete Altri protocolli DHCP, TFTP, TELNET, SOAP, Microsoft.NET 16
TCP/IP: ENCAPSULATION Transport Layer UDP Bit No. 0 32 64 Source Port Length Data (length varies) Destination Port Checksum Network Layer IP Bit No. 0 32 64 96 128 160 0 4 8 16 24 31 Version Time to Live IHL Identification TOS Protocol Flag s Source IP Address Destination IP Address IP Options (optional) Data Total Length Fragment Offset Header Checksum Padding Data Link Physical Layer 56 bits 8 48 bits 48 bits 16 bits 46-1500 bytes 32 bits Preamble S F D Destination Address Source Address Length or Type Data Frame Check Sequence 17
SNMP, LLDP (UDP port 161) Profinet Usa SNMPv1 LLDP è un protocollo a livello dati usato dai dispostivi di rete per annunciare la propria identità, le proprie caratteristiche e le proprie interconnessioni. Le informazioni raccolte con LLDP sono raccolte in un MIB che può essere successivamente letto usando SNMP Si può vedere la topologia di rete con LLDP leggendo i MIB dei dispositivi 18
PROFINET: FISICO 100 BASE-TX; Cavi CAT 5e FTP (doppino twistato e schermato); Attenuation 24dB/100m) Fibra ottica 100 BASE-FX 19
PROFINET IO IO 20
PROFINET IO IO E PROFIBUS PROFINET IO: implementazione Periferica decentrata: Cambia l interfaccia sul bus I moduli possono essere riutilizzati PROFINET PROFIBUS PROFINET Configurazione/programmazione: Rimane identica a prima File GSD scritti in XML GSD Protezione degli investimenti 21
PROFINET IO: terminologia PROFINET IO IO PROFINET IO-Controller: Scambia dati con gli IO-Device ad esso assegnati Dispositivo che contiene il programma applicativo PROFINET IO-Device: Dispositivo di campo collegata all IO-Controller PROFINET IO-Supervisor: HMI e diagnostica della stazione PROFINET IO-System Comprende un IO-controller e i suoi IO-Device 22
PROFINET IO: RELAZIONI 23
PROFINET IO: LO STACK (3 (3 MODALITA ) 24
PROFINET IO: ISOCHRONOUS ETHERNET 25
PROFINET IO: TEMPO DI DICICLO 26
PROFINET IO: CONFORMANCE CLASSES (CC) 27
PROFINET IO: MODELLO DI DIIO IO DEVICE 28
PROFINET IO: MECCANISMI DI DIDATA EXCHANGE Tra l IO-Controller and IO-Device esiste una Application Relation (AR) Una AR può contenere diverse Communication Relations (CR s) per la configurazione, i dati di processo e gli allarmi Ogni IO-Device deve supportare almeno 3 AR: IO-Controller, IO-Supervisor, AR implicita Canale Standard Configurazione Canale Real-Time Dati di processo Canale Real-Time Allarmi Record data CR IO data CR Alarm CR IO-Controller IO-Device AR 29
PROFINET IO: TIPI DI DICOMUNICAZIONE Non Real Time Start up Set up di una application relation Set up di una communication relation Scambio di informazioni non temporalmente critiche (diagnostica,..) Scambio di informazioni generali sul dispositivo Lettura e modifica parametri del device. Lettura e scrittura di informazioni legate al processo Real-Time Scambio dati ciclico (Cyclic data exchange) Immagini di processo Modello Consumer-Provider senza conferma Monitoraggio della comunicazione Allarmi 30
PROFINET IO: SCAMBIO DATI CICLICO 31
PROFINET IO: SCAMBIO DATI ACICLICO 32
PROFINET IO: MECCANISMI DI DIDIAGNOSTICA 33
PROFINET IO: MECCANISMI DI DIDIAGNOSTICA 34
PROFINET IO: ALLARMI 35
PROFINET IO: IL IL CICLO Real-Time La durata del ciclo PROFINET IO può essere impostata secondo diversi criteri Unica per tutta la rete (tutti gli IO-Device usano lo stesso tempo) Specifica per ogni IO-Device Specifica per ogni IO-CR (ogni modulo interno ad ogni device ha la sua durata del ciclo di scambio dati) Ogni Communication Relation ha i seguenti parametri temporali: SendClockFactor: varia tra 1 a 128 e serve a calcolare la durata del ciclo base di trasmissione (SendClock) SendClock = SendClockFactor*31.25 μs (Typ. 1 ms) ReductionRatio: indica quanti SendClock trascorrono tra un l aggiornamento di un dato e il successivo. Può essere scelto tra le potenze di 2 nel range 1..16384 SendCycle: definisce il ciclo di trasferimento di un dato. Dopo SendCycle il trasferimento dati si ripete uguale a se stesso. SendCycle = ReductionRatio * SendClock Phase: Ogni SendCycle è composto da ReductionRatio fasi. Phase indica in quale fase inviare i dati. Phase permette di distribuire meglio il carico nella rete. Frame Send Offset: quando inviare i dati rispetto all inizio della fase (importante solo per la comunicazione sincronizzata) 36
PROFINET IO: IL IL CICLO Real Time Fortunatamente ci pensa il tool di engineering 37
PROFINET IO: IL IL CICLO Real Time, esempio 38
PROFINET IO: IL IL PROXY UNIVERSALE 39
PROFINET IO: PROXY E GATEWAY 40
PROFINET IO: ENGINEERING TOOL 41
PROFINET IO: ENGINEERING TOOL 42
PROFINET IO: COMUNICAZIONE ISOCRONA 43
PROFINET IO: COMUNICAZIONE ISOCRONA IRTtop IRTflex 44
PROFINET IO: COMUNICAZIONE ISOCRONA 45
PROFINET IO: COMUNICAZIONE ISOCRONA 46
PROFINET IO: COMUNICAZIONE ISOCRONA 47
PROFINET IO: SCHEDULING PER TOPOLOGIA LINEARE 48
PROFINET IO: COMUNICAZIONE ISOCRONA 49
PROFINET IO: COMUNICAZIONE ISOCRONA 50
PROFINET IO: RIDONDANZA PROFINET IO: Rilevazione dei percorsi e gestione errori In Ethernet (802.1D) esiste un protocollo standard per la rilevazione dei percorsi multipli e la gestione del traffico nel caso degli errori Questo protocollo è l RSTP (Rapid Spanning Tree Protocol) usato per topologie ad anello. Il tempo di commutazione tra un percorso e quello alternativo in caso di errori dipende dal numero di stazioni. Con RSTP il tempo di commutazione può arrivare ad alcune centinaia di millisecondi. Un tempo spesso troppo alto per l automazione In PROFINET è possibile utilizzare anche il protocollo MRP (Media Redundancy Protocol) descritto nella IEC61158 e nella IEC62439 RSTP e MRP sono incompatibili tra loro! 51
PROFINET IO: STRUTTURA FRAME ETHERNET 52
PROFINET IO: STRUTTURA FRAME ETHERNET 53
PROFINET IO: STRUTTURA FRAME ETHERNET 54
PROFINET IO: ESEMPI DI DITRASFERIMENTO DATI IOCS (IO Consumer Status): rappresenta lo stato dei dati ricevuti dal dispositivo (il quale agisce come consumer) IOPS (IO Provider Status): rappresenta lo stato dei dati spediti dal dispositivo (il quale agisce da provider) 55
PROFINET IO: ESEMPI DI DITRASFERIMENTO DATI 56
PROFINET IO: TEMPISTICHE 57
PROFINET IO: TEMPISTICHE 58
PROFINET IO: TEMPISTICHE 59
PROFINET IO: TEMPISTICHE 60
PROFINET IO: TEMPISTICHE Si valuti il jitter di ricezione di un messaggio di sincronizzazione alla 10ma stazione RT non sincronizzato ritardo: 0,1 1,3 ms Jitter ~ ms RT isocrono 45 μs Jitter ~ μs PROFINET IO: banda libera per il traffico Non Real Time Si supponga di avere un ciclo di bus di 1 ms 250 μs sono dedicati a IRT e 750 μs per il resto Per trasmettere 1 kbyte servono 82 µs, pertanto lasciando 750 µs liberi si possono trasferire circa 9 MBbyte al secondo 61
PROFINET IO: TEMPISTICHE, OTTIMIZZAZIONE 62
PROFINET IO: TEMPISTICHE, OTTIMIZZAZIONE 63
PROFINET IO: IRT PROFINET IO: TEMPISTICHE Ciclo di bus = 1ms; 75% banda per traffico TCP Switch con tempo attraversamento Tswitch = 3 μs Durata del frame incluso i 96 bit di idle Tf = 7 μs Quante stazioni posso avere? Solo 250 μs dedicati al traffico. Si consideri il tempo di propagazione (20cm/ns) per 100m Tcable =.5 μs Si ottiene (250-3-0.5)/7 = 35 NOTA: per ogni switch si deve considerare il jitter (circa 40 ns) Per 25 dispositivi in linea il jitter è di circa 1 µs 64