Tutorial

pylon: Sistemi di visione GigE per tempo reale e prestazioni elevate

Ottimizzare i sistemi per Windows e Linux

In questa esercitazione imparerete come impostare le configurazioni a telecamera singola e multipla in pylon per ottenere le massime prestazioni nella vostra applicazione. L'attenzione si concentra sulle ottimizzazioni per le configurazioni GigE Vision che tengono conto delle telecamere, dei cavi, delle NIC e degli switch.

Avvio rapido - 5 passi per ottenere flussi stabili

  1. Aprire la telecamera in pylon Viewer → Dimensione pacchetto max, IPD bilanciamento, salvare Impostazione utente

  2. Windows / Linux: Abilita Jumbo Frames (MTU 8192-9014) 

  3. Aumentare i buffer e i descrittori della NIC; tagliare la moderazione delle interruzioni a bassa latenza. 

  4. pylon: Aumenta Priorità del thread di ricezione & Dimensione del buffer del socket

  5. Test: Statistiche pylon → Buffer fallito e Underrun devono rimanere 0

Suggerimento

Requisiti per le prestazioni complete del sistema

  • Cavo: Cat-6 S/FTP o S/STP, qualità industriale testata 

  • Scheda di rete: Intel i210, i340, i350 o più recente (con driver corrente) 

  • Switch: Gestito / PoE-capace; Gigabit

  • Software: pylon Visualizzatore installato; diritti di amministrazione disponibili 

  • Rete: Telecamera su NIC dedicata, non parallela a WLAN / internet 

Di seguito sono riportati i parametri che è possibile impostare per massimizzare le prestazioni dell'impostazione della visione in pylon.

Configurazione delle telecamere GigE Vision 

Per le telecamere GigE Vision, il Bandwidth Manager offre una funzione Optimize che regola automaticamente la dimensione del pacchetto e il ritardo tra pacchetti (IPD). Ciò consente di gestire in modo efficiente più telecamere tramite un unico adattatore, particolarmente importante quando si utilizza uno switch. Messa a punto manuale nel Viewer di pylon (Feature Tree → Transport Layer):

  • Dimensione del pacchetto (GevSCPSPacketSize): Più grande possibile → massima efficienza 

  • Inter-Packet Delay (GevSCPD): Piccole pause tra i pacchetti → previene le cadute nelle configurazioni multi-camera 

  • Ritardo di trasmissione del frame (GevSCFTD): utile per l'innesco sincrono 

  • Limite di velocità del collegamento del dispositivo: Limitare la larghezza di banda per telecamera → evitare conflitti. 

Demo: opzioni di regolazione dei parametri della telecamera

Il video spiega come impostare i parametri della telecamera menzionati in pylon Viewer. Andare all'albero Features All e selezionare Controlling the frame rate come attività comune. Questi e altri parametri si trovano nella voce Transport Layer.

Ottimizzare Windows (sistema NIC) 

Obiettivo: ridurre la latenza, evitare la perdita di immagini.

Impostazioni consigliate nel driver NIC:

  • Jumbo Packet / MTU: A 9014 byte (o alla massima dimensione possibile) 

  • Buffer di ricezione / Descrittori: Aumentare, ad esempio, a 2048. 

  • Interrupt Moderation Rate (ITR): alto (3.600) o basso per una bassa latenza 

Inoltre, in pylon:

  • Aumentare GrabLoopThreadPriority e InternalGrabEngineThreadPriority (25-30) 

Controllo di successo:
Flusso continuo di 30-60 secondi →
Buffer fallito = 0 

Dimostrazione: opzioni di sintonizzazione per la NIC

Su un PC Windows, assicurarsi di disporre di una scheda di rete server che supporti tutti i parametri sopra menzionati (Jumbo Frames, IMR, Receive Descriptors). Aprire le Proprietà facendo clic con il tasto destro del mouse sull'adattatore GigE nelle connessioni di rete > pulsante Configura > scheda Avanzate e regolare questi parametri. Il video guida l'utente attraverso le impostazioni in pylon e in pylon Viewer.

Ottimizzare Linux (sistema NIC) 

Obiettivo: flussi stabili anche con una larghezza di banda elevata.

Esempi di comandi:

# Attivare i jumbo frame
sudo ifconfig eth0 mtu 8192

# Aumentare il ring buffer
sudo ethtool -G ethX rx 4096 tx 4096

# Moderazione delle interruzioni: bassa latenza
sudo ethtool -C ethX adaptive-rx off adaptive-tx off rx-usecs 62 tx-usecs 62

# Aumenta il buffer UDP
sudo sysctl -w net.core.rmem_max=4096000 

Impostazioni di pylon:

  • ReceiveThreadPriority: Aumenta (ad esempio > 50, max. 99) 

  • Aumentare SocketBufferSize: Aumentare (ad es. ≥ 2048 KB) 

Demo: opzioni di messa a punto per le configurazioni GigE Vision

Durante la demo, imparerete come impostare i vari parametri in pylon in modo che il sistema funzioni in modo ottimale e stabile.

La configurazione consiste in un PC Linux con Ubuntu, una telecamera GigE, una NIC e il software pylon.

Accedere alla struttura Features All e selezionare Checking whether the camera is losing image data come attività comune. I parametri si trovano nella voce Parametri del flusso.

Configurazione multicamera 

È possibile utilizzare più telecamere tramite un unico interruttore, ma richiede la serializzazione dei dati. 

Opzione 1 - Gestore della larghezza di banda:

  • Fare clic su Ottimizza → distribuzione automatica della dimensione dei pacchetti, dell'IPD e dell'FTD. 

Opzione 2 - Sintonizzazione manuale:

  • IPD: Durata del pacchetto × (N-1) → impedisce le collisioni 

  • FTD: Definire il ritardo di avvio per telecamera per l'attivazione sincrona. 

Obiettivo: Tutti i flussi funzionano in modo stabile, senza buffer falliti. 

Dimostrazione: opzioni di sintonizzazione per sistemi multicamera

Qui è possibile scoprire come effettuare le impostazioni nel pylon Viewer e nel pylon Bandwidth Manager per due telecamere e uno switch non gestito, in modo che tutte le telecamere trasmettano le loro immagini con la massima larghezza di banda disponibile.

Accedere alla struttura Features All e selezionare Controlling the frame rate come attività comune. Le telecamere possono essere configurate automaticamente nella voce Transport Layer.

Risoluzione dei problemi & monitoraggio del successo 

Utilizzate le statistiche di pylon per identificare immediatamente i colli di bottiglia: 

  • Conteggio buffer non riuscito: almeno un pacchetto perso nel frame. 

  • Conteggio Buffer Underrun: Troppo poco buffer disponibile 

Errori tipici & soluzioni:

  • 0xE1000014 (buffer incompleto): Adattare IPD o dimensione del pacchetto 

  • 0xE1000016 (canale di controllo disconnesso): Controllare cavo / NIC / switch 

  • Molti buffer falliti: Aumentare il buffer UDP o SocketBufferSize

Facendo clic con il tasto destro del mouse su un parametro (sul lato destro dello schermo, alla voce Caratteristiche), è possibile accedere alla documentazione del prodotto con spiegazioni dettagliate e frammenti di codice sorgente. È possibile accedervi in qualsiasi momento dal pylon Viewer, anche senza una connessione a Internet.

Documentazione dei Prodotti Basler

Sistemi di visione GigE ottimizzati

Le prestazioni e l'affidabilità di un sistema di visione GigE dipendono sempre da diversi livelli che devono interagire in modo ottimale.

  • Hardware robusto: Utilizza componenti industriali collaudati. Cavi di alta qualità, le schede di rete ad alte prestazioni e gli switch adatti sono la base per una trasmissione stabile dei dati.

  • Parametri della telecamera impostati correttamente: La dimensione del pacchetto più grande possibile, un ritardo interpacchetto (IPD) adeguato e, se necessario, un ritardo di trasmissione del fotogramma (FTD) assicurano una trasmissione delle immagini efficiente e senza perdite, anche in caso di configurazioni con più telecamere.

  • Impostazioni di sistema ottimizzate di pylon&: Le dimensioni adeguate del buffer, l'aumento delle priorità dei thread e i parametri di rete impostati correttamente (ad esempio, Jumbo Frames, Socket Buffer Size) garantiscono che il computer sia in grado di elaborare in modo affidabile le elevate velocità di trasmissione dei dati.

Se tutte e tre le aree vengono prese in considerazione, il vostro sistema di visione GigE basato su pylon funziona con la massima stabilità, la minima latenza e riserve di prestazioni elevate, sia sotto Windows che Linux.

Prodotti per sistemi GigE Vision

Volete implementare una soluzione analoga? Questi prodotti possono aiutarvi.

Come possiamo sostenerti?

Saremo lieti di consigliarti nella scelta dei prodotti più giusti per la tua applicazione.