Tutorial

pylon: USB3 Vision Systeme für Echtzeit und hohe Leistung

Systeme für Windows & Linux optimieren

In diesem Tutorial lernen Sie Einzelkamera-Setups in pylon so einzurichten, dass sie die maximale Leistung in Ihrer Anwendung erzielen. Im Fokus stehen Optimierungen für USB3 Vision Setups, die sowohl Kameras als auch Host Controller und Kabel berücksichtigen.

Schnellstart – In 5 Schritten zu stabilen Streams

  1. Kamera im pylon Viewer öffnen: sicherstellen, dass Verbindung, Treiber und Firmware korrekt funktionieren

  2. Treiber und System korrekt konfigurieren: aktuelle Host Controller-Treiber, geeignete Betriebssystem-Einstellungen (z. B. Echtzeit-Prioritäten)

  3. Bandbreite gezielt steuern: sinnvolle Limits und saubere Verteilung der verfügbaren USB-Bandbreite → vermeidet Datenverluste

  4. Streaming-Parameter optimieren: Maximum Transfer Size, Anzahl der USB Request Blocks (URBs) und Puffer-Größen → effiziente Übertragung, minimale CPU-Last

  5. Monitoring und Fehleranalyse nutzen: Continuous Grabbing starten; Statistik-Zähler für verlorene Frames, Resynchronisationen oder Speicherprobleme → frühzeitig Engpässe im Setup erkennen

Hinweis

Voraussetzungen für die volle Systemleistung

  • USB 3.0 Kabel: in Industriequalität; qualitativ hochwertige Komponenten reduzieren Übertragungsfehler und erhöhen die Systemstabilität

  • Hochwertige Host Controller (USB-Controller): mit aktuellen Treibern; veraltete oder minderwertige Controller führen häufig zu Bandbreiten-Engpässen, Resync-Fehlern und verlorenen Frames

  • Ausreichend PC-Speicher (RAM): besonders wichtig für große Transfergrößen

Im Folgenden erfahren Sie, welche Parameter Sie für eine maximale Leistung des Vision Setups in pylon einstellen können. Die Kameraeinstellungen gelten für Windows und Linux. Zusätzliche Systemparameter für Linux sind separat aufgeführt.

USB 3.0-Kameras optimal einstellen

Die Kameraeinstellungen beeinflussen maßgeblich, wie stabil und performant Daten übertragen werden. Ziel ist es, die Bandbreite optimal anzupassen und Fehler zu vermeiden.

Diese zwei Parameter im pylon Viewer wirken besonders auf Bandbreite und Stabilität:

  • Device Link Throughput Limit Mode: Aktiviert oder deaktiviert die gesamte Bandbreitenkontrolle
    Empfohlen:
    Aktiviert, wenn die Host Controller-Bandbreite begrenzt ist

  • Device Link Throughput Limit: Legt die maximal verfügbare Bandbreite der Kamera für die Datenübertragung fest
    Durch
    Reduktion dieses Werts lassen sich Engpässe vermeiden.

Gehen Sie in pylon auf den Features All-Baum und wählen als Common Task Controlling the frame rate. Im Eintrag Device Control finden Sie die Kameraparameter.

USB3-Parameter für Windows einstellen

Die folgenden fünf USB3-Parameter werden in pylon unter Stream Parameters konfiguriert. Richtige Einstellungen erhöhen Performanz und Stabilität des Vision Systems bei reduzierter CPU-Last.

  • Maximum Transfer Size (MaxTransferSize)
    Größe der Stream-Pakete für die Bildübertragung (vergleichbar mit Jumbo Frames bei GigE). Größere Werte = höhere Performance, weniger CPU-Last; max. = 4 MB je nach USB Host Controller

  • Number of Maximum Queued URBs (NumMaxQueuedUrbs)
    URBs = USB Request Blocks, also gleichzeitig verarbeitbare USB-Anfragen
    Dient dazu, Kamera und Host Controller optimal zueinander einzustellen
    Höheren Wert probieren = weniger Jitter, stabilere Datenübertragung (Limit: verfügbarer RAM des PCs); Voreinstellung = 64

  • Maximum Number of Buffers (MaxNumBuffer)
    Anzahl der Bildpuffer – erhöhen, wenn die Bildverarbeitung zeitweilig länger dauert; Voreinstellung = 10

  • Number of Queued Buffers (NumQueuedBuffers)
    Zeigt, wie stabil die Anzahl der Puffer und Bildaufnahme sind; sinkender Wert könnte Hinweis auf Bildverluste sein

  • Transfer Loop Thread Priority (TransferLoopThreadPriority)
    Priorität des Threads, der USB-Transfers verarbeitet. Für maximale Performance: pylon Viewer
    mit Administratorrechten starten und Priorität erhöhen von 15 auf 25 (max. = 31)

Gehen Sie in pylon auf den Features All-Baum und wählen als Common Task Checking whether the camera is losing image data. Im Eintrag Stream Parameters finden Sie die USB3-Parameter.

USB3 Vision Setups unter Linux optimieren

Die Kameraeinstellungen sind die gleichen wie unter Windows. Jedoch sind unter Linux einige zusätzliche Systemparameter relevant:

  • Receive Thread Priority
    Für Bildübertragung sollte der Thread eine
    Echtzeit-Priorität erhalten

  • USB-FS Kernel Space erhöhen

    • Verhindert Engpässe im Kernel-Speicher für USB-Transfers

    • Besonders wichtig bei: großen Transfergrößen

  • File Handle Limit / File Descriptor erhöhen

    • Wichtig bei großen Paketgrößen

    • Anpassung abhängig vom System und Workload

Einstellen diverser Systemparameter unter Linux

Demo: Tuning-Optionen

In der Demo erfahren Sie, wie Sie die unterschiedlichen Parameter im pylon Viewer so einstellen, dass das System optimal und stabil läuft. Um Einstellungen vorzunehmen, sollten Sie den pylon Viewer mit Administratorrechten verwenden.

Das Setup besteht aus einem Windows PC, einer USB3-Kamera und der pylon Software.

Troubleshooting & Erfolgskontrolle

pylon bietet mehrere statistische Parameter, die frühzeitig auf Probleme hinweisen:

  • Failed Buffer Count: Beschädigte oder verworfene Bilder; zeigt an, dass bereits Fehler auftreten (z. B. Bandbreiten-Engpässe)

  • Missed Frame Count: Kamera hat ein Bild aufgenommen, aber nicht übertragen, z. B. weil interner Kamerapuffer zu schnell gefüllt wird → Hinweis auf: zu hohe Bildrate, zu geringe Bandbreite des Host Controllers

  • Resynchronization Count: Schwerwiegender Fehler → Host Controller setzt Verbindung zurück → Folgen: alle im Kamerapuffer gespeicherten Bilder gehen verloren
    Ursachen: massiv überlasteter Host Controller, fehlerhaftes Kabel, schlechte Stromversorgung

Für präzise Analyse: pylon Viewer öffnen → Features All → Stream Parameters → statistische Werte beobachten

Gehen Sie in pylon auf den Features All-Baum und wählen als Common Task Checking whether the camera is losing image data. Im Eintrag Stream Parameters finden Sie die Statistikparameter.

Durch Rechtsklick auf einen Parameter (in der rechten Bildhälfte unter Features) gelangen Sie zur Produktdokumentation mit detaillierten Erläuterungen und Quellcode-Snippets. Diese kann jederzeit auch ohne Internetverbindung aus dem pylon Viewer heraus aufgerufen werden.

Basler Produktdokumentation

Optimierte USB3 Vision Systeme

Die Performance und Zuverlässigkeit eines USB3 Vision Systems hängt immer von mehreren Ebenen ab, die optimal zusammenspielen müssen.

  • Hochwertige Hardware: Industrie-USB3-Kabel und aktuelle Host Controller

  • Optimierte Kameraeinstellungen: Bandbreitenkontrolle, Paketgrößen und Verzögerungen

  • Richtige USB3-Parameter in pylon: Transfergrößen, URBs, Puffer-Management, Thread-Prioritäten

  • Systemüberwachung via Statistik-Parameter: Failed Buffer Count, Missed Frame Count, Resynchronization Count

  • Zusätzliche Optimierungen unter Linux: Echtzeit-Threads, Kernel-Space und File-Handle-Limits

Richtig konfiguriert erreichen Einzelkamera-Setups eine stabile, verlustfreie und performante Echtzeit-Bildübertragung.

Produkte für USB 3.0-Systeme

Sie möchten eine vergleichbare Lösung umsetzen? Diese Produkte helfen Ihnen dabei.

Wie können wir Sie unterstützen?

Wir beraten Sie gerne bei der Produktauswahl und finden die richtige Lösung für Ihre Anwendung.