TechTipps

Bandbreite im Griff mit IDS GigE Vision Kameras

GigE Vision Kameras übertragen Bilddaten in kleinen Paketen über das Netzwerk, noch bevor ein aufgenommenes Sensorbild komplett ausgelesen ist. Das minimiert die Latenz der Bildübertragung. Wenn jedoch zu viele Daten zeitgleich übertragen werden, kann die maximale Übertragungsbandbreite eines GigE-Netzwerks sehr schnell überschritten werden.

Gerade der Mehrkamerabetrieb ist hiervon betroffen. In der Folge kommt es zu Übertragungsverlusten und erhöhten Übertragungszeiten, wenn Daten nachgefordert werden müssen. Der GigE Vision Standard ermöglicht die gezielte Konfiguration von Übertragungsparametern, um solche Situationen zu vermeiden. Mit den erweiterten Einstellungsmöglichkeiten der IDS GigE Vision Firmware 1.3 verwalten Sie die verfügbare Bandbreite mit Leichtigkeit.

Hintergrund

GigE Vision Kameradaten werden als Sequenz von Paketen übertragen. Neben den reinen Nutzdaten besteht ein Paket auch aus Header und Checksum-Daten. Je nach Einstellung der MTU (Maximum Transmission Unit) kann die Menge der Nutzdaten und damit die Paketgröße (Stichwort: Jumboframes) variieren. Zwischen zwei Paketen gibt es eine variabel einstellbare Verzögerung: Das sogenannte „Inter-Packet Delay“. Wenn Datenpakete nicht korrekt übertragen werden, kann ein Transport Layer (GenTL) durch einen Resend-Mechanismus fehlende Datenpakete erneut anfordern. Die Möglichkeiten zur Datennachforderung sind abhängig vom verwendeten Transport Layer. Zusammengenommen bestimmen diese drei Komponenten die komplette Übertragungszeit eines Kamerabildes.

Die “Paket Transmission Time” variiert durch Änderung der Paket-größe, des IPG und durch die Anzahl der Nachsendungen.
Die “Paket Transmission Time” variiert durch Änderung der Paket-größe, des IPG und durch die Anzahl der Nachsendungen.

Zur Entlastung des Netzwerkes im Mehrkamerabetrieb oder zur Entlastung eines verarbeitenden Systems ist es notwendig, die verwendete Netzwerkbandbreite der übertragenden Geräte zu reduzieren. Durch die Paketverzögerung (Inter-Packet Delay) im GigE Vision Standard werden Bandbreitenengpässe durch Übertragungspausen vermieden. Durch die Paketverzögerungen steigt die Gesamtübertragungszeit (Transmission Time) an, da die Bilddaten langsamer als vorher verschickt werden und dadurch der Datendurchsatz sinkt! Ein Anstieg der Übertragungszeit bedeutet zudem auch eine Verminderung der maximalen Framerate (Acquisition Framerate Limit).

Mit dem GigE Vision Inter-Packet-Delay kann der Datendurchsatz jeder Kamera separat eingestellt werden, um durch eine geeignete Verzögerung des Datentransfers das Limit der Übertragungsschnittstelle nicht zu „überfahren“.

Verzögerte Datenpakete senken die Übertragungsbandbreite, aber erhöhen die Übertragungszeit und Verringern damit die maximale Framerate.
Verzögerte Datenpakete senken die Übertragungsbandbreite, aber erhöhen die Übertragungszeit und Verringern damit die maximale Framerate.

Dieser TechTipp geht im weiteren Verlauf lediglich auf die Möglichkeiten des Bandbreitenmanagements der IDS GigE Vision-Firmware ein. Einstellungen und Monitoring des Datenstroms sind abhängig vom verwendeten Transport Layer (GenTL).

Standard-Einstellungen

Die GenICam SFNC (Standard Feature Naming Convention) definiert bereits zwei Standard-Features zur Kontrolle des Datendurchsatzes.

  • GevSCPD
  • DeviceLinkThroughputLimit


Mit dem Inter-Packet Delay (siehe GevSCPD - Stream Channel Packet Delay) kann eine Verzögerung (in Ticks des GigE Vision Timestamp-Counters) zwischen zwei Paketen auf dem StreamChannel eingestellt werden. Das erhöht die Übertragungszeit der Daten und senkt damit die Bandbreite. Die Bestimmung einer geeigneten Pause zwischen den Paketen ist nicht gerade selbsterklärend und zur Steuerung des Datenaufkommens ist diese Methode nicht gerade einfach zu bedienen.

Das DeviceLinkThroughputLimit begrenzt die maximale Bandbreite der Daten, die von einem Gerät gesendet werden. Der maximale Wert kann in Bytes pro Sekunde angegeben werden. Daraus wird eine entsprechende Verzögerung zwischen den Streamchannel-Paketen berechnet, die dann als
GevSCPD-Wert verwendet wird. Die Einheit in Bytes pro Sekunde erlaubt damit schon eine recht genaue und intuitive Steuerung des Datendurchsatzes.

IDS Erweiterung für mehr Klarheit

IDS implementiert in der GigE Vision Firmware (ab Version 1.3) zwei zusätzliche Merkmale, die noch mehr Übersicht beim Bandbreitenmanagement bringen.

  • DeviceLinkCalculatedThroughput
  • DeviceLinkAcquisitionFrameRateLimit


Durch die Eingabe einer Durchsatzgrenze (DeviceLinkThroughputLimit) berechnet die Kamerafirmware zum einen die benötigten Paketverzögerungen (GevSCPD) und zum anderen die maximal mögliche Framerate (DeviceLinkAcquisitionFrameRateLimit), die mit der aktuellen Beschränkung erreichbar ist.

Zusätzlich informiert der berechnete Durchsatz (DeviceLinkCalculatedThroughput) über die theoretische Bandbreite des Gerätes, die ohne die Beschränkung genutzt würde. Eigene aufwendige Berechnungen für jede Kamera sind damit nicht mehr notwendig.

Die neuen IDS  Features berechnen sich aus dem Bandbreitenlimit und den  aktuellen Kamera-Einstellungen.
Die neuen IDS Features berechnen sich aus dem Bandbreitenlimit und den aktuellen Kamera-Einstellungen.

Die zusätzlichen Merkmale stehen Ihnen in jeder GigE Vision kompatiblen Kamera-Anwendung zur Verfügung. Im Weiteren wird die Verwendung im IDS Vision Cockpit gezeigt.

Datendurchsatz beschränken

Wenn Sie in Ihrer GigE Vision-Anwendung eine hohe Datenbandbreite über einen Gigabit-Ethernet-Port übertragen wollen, sollten Sie einen Blick auf diese neuen IDS Kamera-Features werfen, da es schon beim Öffnen zweier Kameras mit den Standardeinstellungen zu Engpässen kommen kann.

Starten Sie die angeschlossenen Kameras am besten „ohne sofortigen“ Bildeinzug und nehmen Sie zuerst Ihre Kamera-Einstellungen vor.

Prüfen Sie vor dem Start des Bildeinzugs den berechneten Datendurchsatz, die maximal mögliche Framerate und setzen Sie gegebenenfalls ein Bandbreitenlimit. Für eine sinnvolle Übersicht filtern Sie die „Device-Nodes“ mittels des Begriffs „devicelink“ und mindestens „Expert“-Benutzerlevel. Die folgende gefilterte Device-Nodes-Übersicht zeigt Ihnen die Parameter mit Beispielwerten der Kamera-Datenbandbreite:

Gefilterte Übersicht zeigt die Kameraparameter zur Bandbreiteneinstellung
Gefilterte Übersicht zeigt die Kameraparameter zur Bandbreiteneinstellung

Standardmäßig sind die Kameras in ihrem Datendurchsatz unbeschränkt und nutzen das maximal einstellbare Durchsatzlimit (DeviceLinkThroughputLimit) von 120 MBps. Die Kamera in diesem Beispiel würde mit aktuellen Einstellungen bei einer Framerate von 25 fps einen Datendurchsatz (DeviceLinkCalculatedThroughput) von ca. 61 MBps erzeugen. Mit dem maximalen Limit könnte die Kamera bis zu 46 Bilder pro Sekunde (DeviceLinkAcquisitionFrameRateLimit) aufnehmen und übertragen. Variieren Sie die Kameraparameter ändern sich infolge dessen auch der „berechnete Durchsatz“ (DeviceLinkCalculatedThroughput) und die „maximale Framerate“ (DeviceLinkAcquisitionFrameRateLimit).

Limitieren Sie aber unabhängig der Kamera-Einstellungen und der daraus resultierenden Datenrate den Datendurchsatz mittels „DeviceLinkThroughputLimit“, wird die Kamera diesen Wert niemals überschreiten.

Wird in dem Beispiel das Durchsatzlimit auf 50 MBps reduziert, ist bei identischen Einstellungen lediglich eine maximale Framerate von ca. 20 fps möglich.

Unterschreitet das Bandbreitenlimit den berechneten Durchsatz, reduziert sich die maximale Framerate
Unterschreitet das Bandbreitenlimit den berechneten Durchsatz, reduziert sich die maximale Framerate

Da der berechnete Datendurchsatz mit ca. 60 MBps unverändert das Limit überschreitet, kann die Kamera nicht mehr die eingestellte Framerate von 25 fps übertragen. Es kommt zu einem Datenstau im Übertragungspuffer in der Kamera. Können aufgenommene Bilder nicht zwischengepuffert werden, „dropped“ die Kamera die Bilder. Die tatsächliche Übertragungsrate pendelt sich bei etwa der berechneten maximalen Framerate (21 fps) ein.

Je höher der berechnete Datendurchsatz über dem eingestellten Durchsatzlimit liegt, desto mehr Bilder werden von der Kamera intern verworfen und damit nicht übertragen.

Im Live-View der Kamera können Sie die aktuelle Framerate unterhalb des Bildes kontrollieren.
Im Live-View der Kamera können Sie die aktuelle Framerate unterhalb des Bildes kontrollieren.

In Folge der Bandbreitenreduzierung wird die Bildübertragung der Kamera mit Hilfe der verwendeten Datenpaket-Pausen (GevSCPD) gezielt verzögert!

Vorteile des Bandbreitenlimit

Verteilen Sie die verfügbare Bandbreite eines Gigabit-Ethernet-Ports (120 MBps) durch geeignete Bandbreitenlimits auf die angeschlossenen Kameras. Damit sind Sie sicher vor Übertragungsengpässen, die in Folge zu fehlerhaften und unvollständigen Bildern führen.

Des Weiteren können Sie Kameras unterschiedlich priorisieren, indem Sie den Kameras unterschiedliche Bandbreiten zur Verfügung stellen.

Zwei Kameras mit unterschiedlichem Bandbreitenlimit. Kamera 2 kann Daten schneller übertragen.
Zwei Kameras mit unterschiedlichem Bandbreitenlimit. Kamera 2 kann Daten schneller übertragen.

System optimieren

Auch wenn Sie beim Einstellen der Datendurchsätze Ihrer Kameras auf das GigE-Bandbreitenlimit geachtet haben, können hoher Netztraffic oder andere systembasierte Schwankungen kurzzeitig zu Engpässen auf der Gigabit-Leitung führen. Infolgedessen kann es trotzdem noch zu unvollständigen Bildern oder anderen Übertragungsfehlern kommen.

GenTL-Einstellungen

Je nach verwendetem GenTL stehen Ihnen zur Optimierung der Datenübertragung unterschiedliche Möglichkeiten der Einstellung und des Monitoring zur Verfügung. Beispielhaft sind nachfolgend entsprechende Features des IDS GenTL gelistet:

  • Der „Stream Monitor“ zeigt über das „Buffer Fill Level“ wie viel Prozent der Übertragungspuffer korrekt übertragen werden. Und der „Resend Request Count“ zeigt die Nutzung der Puffer-Nachforderung.
  • Mit dem „Loss Handling“ der Datenstrom-Steuerung können Sie steuern, wieviel Daten nachgefordert werden sollen. Dieses Feature ist standardmäßig ausgeschaltet.
  • „Unvollständige“ Bilder werden vom IDS GenTL gezählt aber trotzdem übertragen. Der Anwender kann dann selbst entscheiden, ob er diese Bilddaten verwenden möchte.

Reserve vorsehen

Um bei kurzzeitigen Performance-Schwankungen des Netzwerks nicht direkt Übertragungsfehler zu provozieren, sollten Sie auf jeden Fall Reserven vorsehen. Planen Sie bei der Verteilung der verfügbaren Bandbreite etwa 10 % Reserve ein, die nicht von den Kameras belegt wird.

Hinweise zur Einstellung der verwendeten Netzwerkkarte

  • Wir empfehlen, in den Einstellungen der Netzwerkkarte die Empfangspuffer (Receive Descriptors) auf den Maximalwert zu setzen.
  • Ebenfalls wird empfohlen, in den Einstellungen der Netzwerkkarte "Jumbo Frames" (auch: Jumbo Packet, Großes Paket, Großrahmen) auf den Maximalwert zu setzen.
    Beachten Sie, dass die Verbindung zwischen der Kamera und dem PC durchgehend jumbofähig sein muss, um die Übertragung der Jumbo-Pakete sicherzustellen. Informationen zu diesen Einstellungen finden Sie in der Beschreibung des Netzwerkkarten-Herstellers.

Fazit

Neben den bereits im Standard definierten Funktionen zur Bandbreitenregulierung sind in der IDS GigE Vision Firmware zwei weitere IDS Parameter implementiert, die für noch mehr Übersicht sorgen.

IDS GigE Vision Kameras nutzen das Bandbreitenlimit nicht nur zur selbständigen Beschränken des Daten-Outputs, sondern zeigen auch noch die damit mögliche Framerate und als Vergleich die berechnete Bandbreite bei Nutzung der aktuellen Kameraeinstellungen. Mit diesen zusätzlichen Kameraparametern ist umgekehrt auch eine Optimierung der Kameraeinstellungen möglich, um das Bandbreitenlimit einzuhalten.

Mit diesen Möglichkeiten stellen Sie auch mehrere Kameras (Multikamerasystem) optimal auf den Betrieb am selben Gigabit-Ethernet-Port ein ohne die maximale Bandbreite zu überlasten. Dadurch lassen sich Engpässe effektiv vermeiden, die sonst zu Fehlern in der Bildübertragung führen.

Weitere Informationen zur aktuellen GigE Vision Firmware der IDS Kameras finden Sie auf unserer Webseite unter: https://de.ids-imaging.com/gige-vision-firmware.html