F.A.Q. PROFINET: prestazioni e architetture Paolo Ferrari Dipartimento di Ingegneria dell Informazione, Università di Brescia, Via Branze 8-5 Brescia (Italy) Tel: +9-00-75445 fax: +9-00-8004 e-mail: paolo.ferrari@ing.unibs.it CSMT Gestione Scarl Centro di Competenza - Brescia http://profinet.csmt.it PROFIBUS & PROFINET Competence Center 0 Università Brescia - CSMT Gestione Scarl Paolo Ferrari Domanda: Coesistenza in PROFINET IO Ho letto che in PROFINET traffico Real-Time e traffico di TCP possono convivere senza che le prestazioni decadano. Perché? Comunicazione standard Automazione di fabbrica RT_Class Applicazioni al Motion Control RT_Class e 00ms IT Services, TCP/IP Real-Time: 0ms <ms PROFIBUS & PROFINET Competence Center 0 Università Brescia - CSMT Gestione Scarl Paolo Ferrari profinet@csmt.it
Risposta: Coesistenza in PROFINET IO La risposta a questa domanda prevede una introduzione perché in PROFINET IO ci sono due tipi di meccanismi per garantire la coesistenza sulla stessa rete di traffico Real-time e traffico non Realtime come il TCP. IT-Applications e.g. HTTP SNMP DHCP... PROFINET Applications Standard- Real-Time- Data Data Canale aperto per UDP/IP Parametrizzazione e configurazione Device Lettura dati diagnostici IT applications PROFINET applications e.g. HTTP SNMP Standard data Real-time data DHCP... Canale TCP/IP standard Parametrizzazione dispositivi Dati diagnostici Inizializzazione collegamenti Negoziazione del canale di comunicazione TCP/UDP IP Ethernet Real-Time RT Negoziazione del canale di comunicazione per I dati utente Canale Real-Time RT Scambio ciclico performante per dati utente Messaggi/allarmi basati su eventi TCP/ UDP Real-time switch ASIC Real-time IP RT RT Ethernet Real-time Canale Real-time RT Trasferimento hi-performance Dati ciclici Trasferimento su evento Real-time channel Trasferimento hi-performance Dati isocroni Jitter <μsec PROFINET IO RT Non sincronizzato best effort PROFINET IO Sincronizzato isocrono PROFIBUS & PROFINET Competence Center 0 Università Brescia - CSMT Gestione Scarl Paolo Ferrari Risposta: Coesistenza in PROFINET IO RT (non sincronizzato) Viene sfruttato lo standard IEEE80.q: switch con priorità Ci sono 7 livelli di priorità (crescenti da 0 a 7). PROFINET ha priorità 6 Negli switch il traffico TCP non real-time viene scavalcato. Rimane la variabilità introdotta dal fatto che non si interrompono pacchetti se la trasmissione è avviata. Il sistema garantisce a livello applicazione un jitter di tempo di ciclo low T p Code con priorità con priorità (IEEE80.q) hi t T sid PROFIBUS & PROFINET Competence PROFIBUS Center & 0 PROFINET Università Competence Brescia - CSMT Center Gestione 0 Università Scarl Brescia - CSMT Gestione Scarl Paolo Ferrari 4 D t t t profinet@csmt.it
Risposta: Coesistenza in PROFINET IO (sincronizzato) I dispostivi di rete e l infrastruttura stessa sono sincronizzati. L utilizzo della rete avviene a divisione di tempo Il traffico TCP aspetta nei buffer degli switch durante la fase riservata Non esiste variabilità se non quella dell incertezza di sincronizzazione Il sistema garantisce anche a livello applicazione un jitter pari all incertezza di sincronizzazione..5 us < Tciclo < 4ms NRT NRT Fase riservata PN IO Fase libera PN IO RT + TCP etc. NRT Phase NRT Phase PROFIBUS & PROFINET Competence PROFIBUS Center & 0 PROFINET Università Competence Brescia - CSMT Center Gestione 0 Università Scarl Brescia - CSMT Gestione Scarl Paolo Ferrari 5 Domanda: prestazioni in sistemi reali Ma in applicazioni reali, quali sono indicativamente le prestazioni temporali dei sistemi sincronizzati e non sincronizzati? Sync master network PROFIBUS & PROFINET Competence Center 0 Università Brescia - CSMT Gestione Scarl Paolo Ferrari 6 profinet@csmt.it
Risposta: Prestazioni in PROFINET IO RT (non sincronizzato) Esperimenti su reti di vaste dimensioni e con mix di topologie 5 dispositivi, switch in anello, controller. 0% traffico PN Risultato: L IO-Controller è in grado di sostenere un traffico elevato con un una ripetibilità estremamente spinta di circa 6 μs Risultato: La rete introduce una variabilità limitata sul traffico.il massimo jitter misurato è stato di 0.6 ms. Stelle IO-Controller Tap Monitor Station PLC PC monitor Anello 4 TAP 5 4000 500 Dispositivo vicino (F-) 400 00 Dispositivo lontano (B-) 0 9 8 7 6 Festoni Samples 000 500 000 500 000 000 70 μs 590 μs Samples 800 600 400 500 00 0.85.9.95.05..5. TDE [ms] 0.7.8.9....4 TDE [ms] PROFIBUS & PROFINET Competence PROFIBUS Center & 0 PROFINET Università Competence Brescia - CSMT Center Gestione 0 Università Scarl Brescia - CSMT Gestione Scarl Paolo Ferrari 7 Risposta: Prestazioni in PROFINET IO (sincronizzato) Esperimenti in laboratorio (sistemi di acquisizione con incertezza di 00ps) Traffico: RT_Class + RTClass + 70% traffico TCP Risultato: il jitter massimo è di 90 ns e la deviazione standard è di 0 ns Risultato: variabilità max tempo di reazione ingresso->uscita < 0 ns 500 400 Jitter IO-Controller ERTEC on PCI (CP66) PC + Linux RTAI OS IP Traffic generator A TAP B IO-Controller (S77) Endace Ninjacapture B A A B A TAP B B A IO-Device (IM5-) IP Traffic generator B TAP A IO-Device (EB400) VxWorks OS I/O Tre tipi di traffico! PROFINET Port Monitoring Port Pass-through Port Counter Samples Positive Width 00 00 00 00 0 999,96 999,98 999,99 000,0 000,0 000,04 TSYNC (μs) Tempo di ciclo di,000 ms Samples 80 60 40 0 00 80 7, ns,5 ns Average TRE 60 40 0 0 00005 00006 00008 00009 00000 0000 0000 00004 00005 00006 Bin Range - [Nanoseconds] PROFIBUS & PROFINET Competence PROFIBUS Center & 0 PROFINET Università Competence Brescia - CSMT Center Gestione 0 Università Scarl Brescia - CSMT Gestione Scarl Paolo Ferrari 8 profinet@csmt.it 4
Domanda: tempo di avvio di un dispositivo Quanto ci vuole perchè un dispositivo PROFINET sia pronto a scambiare dati da quando viene connesso alla rete? PROFIBUS & PROFINET Competence Center 0 Università Brescia - CSMT Gestione Scarl Paolo Ferrari 9 Risposta: tempo di avvio di un dispositivo I normali componenti PROFINET possono richiedere alcuni secondi Stabilire connessione Ethernet Scambiare parametri Avviare l applicazione Nuove soluzioni ad avvio rapido Fast Start Up riduzione tempi Ethernet (autonegoziazione e auto-crossover bloccati) avvio dello scambio dati su iniziativa dell IO-Device Check Name Check IP Set IP (optional) Resolve address Ident Scan Cycle IO-Controller ARP Request** ARP Timeout** IO-Device DCP.Identify (NameOfStation) DCP.Set (IP Suit) ARP Request** Connect(.) WriteRecord (Record Data) Device-internal startup Autoneg/Crossover (can take seconds) Module parameterization I/O device establishes I/O data (IOXC=Good) IO-Controller DCP:Hello Connect (.) IO-Device WriteRecord (Record Data) WriteRecord (Record Data) Power On I/O device establishes I/O data (IOXC=Bad) FAST START UP NORMAL START UP WriteRecord (Record Data) EndOfParameter IOxS=Good EndOfParameter IOxS=Good Application Ready **= Standard-Ethernet- Mechanismen Application Ready PROFIBUS & PROFINET Competence Center 0 Università Brescia - CSMT Gestione Scarl Paolo Ferrari 0 profinet@csmt.it 5
Domanda: Ridondanza a basso livello in PROFINET Che tipo di meccanismo di ridondanza è previsto per PROFINET a basso livello?? PROFIBUS & PROFINET Competence Center 0 Università Brescia - CSMT Gestione Scarl Paolo Ferrari Risposta: Ridondanza a basso livello in PROFINET La ridondanza (livello ) in PROFINET viene usata per aumentare la disponibilità dell impianto La struttura per realizzare la ridondanza in PROFINET è l anello (ring) Con la struttura ad anello, ogni dispositivo può essere raggiunto con due percorsi differenti L anello può essere agevolmente creato a partire da una topologia lineare semplicemente aggiungendo un link Nelle reti Ethernet però non è sufficiente aggiungere il link, bisogna anche introdurre la figura del redundancy manager (RM) che si assicura che frame multicast non ricircolino all infinito PROFIBUS & PROFINET Competence Center 0 Università Brescia - CSMT Gestione Scarl Paolo Ferrari profinet@csmt.it 6
Risposta: Ridondanza a basso livello in PROFINET PROFINET per default usa l MRP(Media Redundancy Protocol Il tempo massimo per il switchover è 00 ms Attraverso il protocollo LLDP ogni stazione conosce i suoi vicini e sa se la ridondanza è attivata Porte ridondate Sorgente Station Managed I dati di processo viaggiano solo sul percorso selezionato dall RM Stazione Stazione Process Data Stazione 8 Stazione 7 L RM verifica l integrità dell anello inviando dei test frame Test Frame Stazione 4 Stazione 6 Per i sistemi PROFINET IO c è un ulteriore metodo Redundnacy manager Stazione 5 Destinazione PROFIBUS & PROFINET Competence Center 0 Università Brescia - CSMT Gestione Scarl Paolo Ferrari Risposta: Ridondanza a basso livello in PROFINET MRPD (Media Redundancy for Planned Duplication) è la base per ottenere una ridondanza con tempo di switching pari a zero nel caso di sistemi con traffico RT_Class () Si basa sul fatto che il traffico di classe è pianificato in anticipo. In questo caso vengono sempre spediti due frame nelle due direzioni possibili, seguendo due piani di scheduling diversi Alla stazione di destinazione arrivano due frame se tutto va bene oppure uno solo se un percorso è interrotto I frame non possono ricircolare perché seguono il piano di scheduling MRPD richiede MRP per la gestione dei frame di comunicazione relativi al traffico non schedulato (fase verde) Porte ridondate Stazione Stazione Sorgente Station Process Data Stazione 5 Stazione 8 Stazione 7 Stazione 4 Stazione 6 Destinazione PROFIBUS & PROFINET Competence Center 0 Università Brescia - CSMT Gestione Scarl Paolo Ferrari 4 profinet@csmt.it 7
Centro di Competenza : Contatti Email supporto: profinet@csmt.it Segreteria CSMT con riferimento a: Sig.na Roberta Codenotti Tel.: 00 6595 E-mail: profinet@csmt.it I contatti tecnici vengono tenuti da: Prof. Paolo Ferrari Tel.: 00 75445 E-mail: paolo.ferrari@ing.unibs.it Dr. Ing. Francesco Venturini, PhD Tel.: 00 75606 E-mail: francesco.venturini@ing.unibs.it PROFIBUS & PROFINET Competence Center 0 Università Brescia - CSMT Gestione Scarl Paolo Ferrari 5 profinet@csmt.it 8