Basler¶
Vor der Verwendung einer Basler-Kamera, muss die Software ‚Basler_pylon_8.0.2.16314‘ für ‚Developer‘ installiert werden. Die ‚Basler_pylon_8.0.2.16314.exe‘ muss dabei als Administrator ausgeführt werden. Vor der Installation sollte geprüft werden, ob die maximale Anzahl der installierbaren Filtertreiber bereits erreicht ist. An allen LAN-Adaptern mit Basler-Kamera muss der ‚pylon GigE Vision Driver‘ aktiviert werden. Nach der Installation muss der PC neu gestartet werden, bevor eine Basler-Kamera in Viper.NET verwendet werden kann.
Allgemeine Einstellungen¶
Allgemeine Einstellungen: Bildquellen-Editor
Cancel all acquisition: Bricht eine laufende bzw. ausstehende Bildaufnahme dieser Bildquelle ab (stoppt den StreamGrabber). Nützlich, wenn eine Aufnahme hängt – z.B. weil die Kamera auf einen Trigger wartet, der nicht eintrifft. (Ersetzt die früheren, ab Pylon 6 funktionslosen ‚Start‘/‘Stop‘/‘Reset‘-Taster.)
Read Settings from Camera: Alle Parameter aus der Kamera auslesen und dieser Bildquelle bzw. diesem Bildaufnahmeparametersatz zuweisen.
Export Device Parameters: Alle Parameter der verbundenen Kamera in einen auswählbaren Ordner exportieren. Es werden vier Pylon-Feature-Stream-Dateien (*.pfs) geschrieben – für ‚CameraDevice‘, ‚CameraInstance‘, ‚StreamGrabber0‘ und ‚DeviceTransportLayer‘ – jeweils mit Zeitstempel und Seriennummer im Dateinamen (z. B.
20260728_153000_sn_21909644_CameraDevice.pfs). Die.pfs-Dateien lassen sich u. a. im Basler pylon Viewer wieder einlesen.Camera list: Auswahlliste aller Basler Kameras. Die Liste kann mit dem ‚… - Taster‘ aktualisiert werden.
Shutter Mode: Verschlussmodus des Sensors (z.B. ‚Global‘ oder ‚Rolling‘). Standardwert für neu hinzugefügte Kameras: ‚Global‘. Unterstützt die verbundene Kamera den Modus nicht (z.B. Zeilen- oder Rolling-Shutter-Sensoren), wird die Einstellung ohne Fehler ignoriert.
UserID: Kameraname, der durch click auf den Taster ‚set‘ in der Kamera gespeichert wird.
Pixel Format: Auswahl des Pixelformats. Die Liste enthält nur die von der verbundenen Kamera tatsächlich einstellbaren Formate:
Mono8 / Mono12: Graustufen (Mono12 wird als 16-Bit-Bild geliefert).
Bayer-Formate (nur Farbkameras, nur das native Muster des Sensors, 8-Bit): Lieferung siehe Deliver colour image (Punkt 16).
Farbformate der Kamera (z.B. ‚RGB‘, ‚YUV422‘, sofern die Kamera sie anbietet): werden direkt als Farbbild (CogImage24PlanarColor) geliefert.
Processed Raw: Nur bei Bayer-(Roh-)Formaten wählbar. Aktiviert die kamerainterne Farbverarbeitung des Rohbildes (sichtbar gesättigteres Bild). Standardwert bei neu hinzugefügten Kameras: aktiv. Hinweis: Es handelt sich um Farbverarbeitung, nicht um Rauschunterdrückung.
Deliver colour image: Nur bei Bayer-Formaten.
Aus (Standard): Das Bayer-Rohmosaik wird in einem Graubild geliefert und nachgelagert (Cognex/Halcon) entbayert – das bisherige, abwärtskompatible Verhalten.
Ein: Die Bildquelle entbayert selbst und liefert direkt ein Farbbild (CogImage24PlanarColor); ein nachgelagerter Entbayer-Schritt entfällt.
SensorTemperature: Wert des Temperaturfühlers der Kamera in [°C]. (Falls das Feature ‚TemperatureAbs‘ nicht vorhanden ist, oder die Kamera nicht verbunden ist, wird der Wert 0.0 angezeigt.)
Last Error: Den zuletzt aufgetretenen Fehler aus der Kamera mit ‚Get‘ auslesen und anzeigen bzw. mit ‚Clear‘ ablöschen. Falls ‚AutoClearOverTr‘ aktiviert ist, wird der Fehler ‚Kamera über-triggert‘ automatisch abgelöscht.
Exposure: Belichtungszeit in [ms]. Standardwert für neu hinzugefügte Kameras: 25 ms. (Bei Zeilenkameras gilt die Belichtungszeit pro Zeile und begrenzt damit die maximale Zeilenrate.)
Gain: Analoger Verstärkungsfaktor (Helligkeit). Standardwert für neu hinzugefügte Kameras: 1.
Acqu. LineRate: Frequenz in [Hertz = 1/s] mit der die Zeilen eines Bildes aufgenommen werden, wenn der Zeilen-Trigger-Modus deaktiviert ist. Diesen Parameter gibt es nur bei Zeilenkameras.
Acqu. Timeout: Maximale Bildaufnahmezeit in [ms].
FramesCount: Bei Zeilenkameras kann das Bild in mehrere ‚Frames‘ aufgeteilt werden. Die Kamera wird dann im ‚MultiFrame-Mode‘ betrieben und sendet das Bild in mehreren Frames. Die Viper.NET Bildquelle kopiert diese einzelnen Bildpuffer anschließend in einen Cognex-Bildpuffer.
Skip Lines: Anzahl der zu Beginn eines Bildes zu verwerfenden Zeilen (nur Zeilenkameras). Die ersten n Zeilen werden nicht in das gelieferte Bild übernommen; das Bild ist entsprechend um n Zeilen kürzer. Damit lassen sich z.B. anfängliche, noch ungültige Zeilen direkt nach dem Aufnahmestart ausblenden.
Digital Shift: Digitale Helligkeitsanhebung durch Bit-Verschiebung (Multiplikation der Pixelwerte mit 2^n). Damit kann u.a. die Belichtungszeit gesenkt werden (hilfreich gegen Über-Triggerung bei Zeilenkameras). Werte außerhalb des von der Kamera unterstützten Bereichs werden automatisch begrenzt.
Binning: Zusammenfassen benachbarter Pixel, getrennt für horizontal und vertikal einstellbar (Faktor), mit Modus:
Sum: Pixelwerte werden addiert (Bild wird heller).
Average: Pixelwerte werden gemittelt (Helligkeit bleibt erhalten).
Bemerkung
Binning reduziert die Auflösung entsprechend dem Faktor (typischer Zeilenkamera-Anwendungsfall: 2048 → 1024 Pixel).
Trigger Settings: Je nach Kameratyp (Fläche oder Zeile) sind die Folgenden Trigger einzustellen:
AcquisitionStart : Trigger zum Starten einer neuen Bildaufnahme bei einer Zeilenkamera.
FrameStart : Trigger zum Starten einer neuen Bildaufnahme bei einer Flächenkamera, bzw. eines neuen Frames eines Bildes bei einer Zeilenkamera.
LineStart : Trigger zur Aufnahme einer Zeile bei einer Zeilenkamera.
Softtrigger: Alle aktivierten ‚Softwaretrigger‘ auslösen (AcquisitionStart, FrameStart, LineStart).
Gigabit Ethernet Einstellungen¶
Read only:
Ein : Die Parameter 3 und 4 werden nur ausgelesen und angezeigt, aber nicht verändert.
Aus : Die Parameter 3 und 4 können eingestellt und verändert werden.
Evaluate maximum packet size: Ermittelt per ‚ProbePacketSize‘ die größte Paketgröße, die der Netzwerkpfad (Kamera ↔ LAN-Adapter/Switch) durchgängig überträgt, und setzt ‚GevSCPSPacketSize‘ auf diesen Wert. Funktioniert unabhängig vom ‚Read only‘-Kontrollkästchen.
Packetsize: Paketgröße in [Byte] für die Übertragung der UDP Pakete der Bilddaten.
InterPacketdelay: Wartezeit in [Ticks : Umgerechnete Zeit in [µs] wir neben dem Eingabefeld angezeigt] zwischen dem Senden einzelner UDP Datenpakete der Bilddaten. Damit wird die Bilddatenübertragung verlangsamt und eventuelle Datenpaketkollisionen oder ein „Überfahren“ des LAN-Adapters bzw. des PCs vermieden.
Auto Packet Size: Die Kamera handelt mit dem LAN-Adapter die maximale UDP-Packet-Größe automatisch aus.
Adjust packet size on connect: Beim Verbinden wird die maximale vom Netzwerkpfad unterstützte Paketgröße automatisch ausgehandelt (wie 2, jedoch automatisch bei jedem Verbindungsaufbau). Standardwert bei neu hinzugefügten Kameras: aktiv; bei bestehenden Projekten deaktiviert (unverändertes Verhalten). Auf Stationen mit mehreren Kameras an einem gemeinsamen LAN-Adapter kann die Option pro Kamera deaktiviert werden.
ROI Einstellungen¶
Hier kann ein Bildausschnitt (ROI = Region Of Interest) eingestellt werden. Somit wird nicht mehr der ganze Kamerachip ausgelesen und übertragen.
ROI Enabled: Aktiviert den eingestellten Bildausschnitt (ROI). Ist die Option deaktiviert, wird der gesamte Sensorbereich ausgelesen und übertragen.
Center X: Der ‚OffsetX‘ wird so gesetzt, dass der Bildausschnitt in der Zeilenmitte ist. Der vorher eingestellte ‚OffsetX‘ wird dabei ebenfalls berücksichtigt und kann vorher auf ‚0‘ gesetzt werden. [Formel: OffsetX_neu = (SensorWidth + OffsetX_alt - Width) / 2]
OffsetX/Y, Widht/Height: Ausgewählter Bildbereich. Position der linken oberen Ecke, Breite und Höhe.
Display Finder: Mit dem DisplayFinder kann per Drag&Drop ein Display für die interaktive Einstellung des Bildausschnitts ausgewählt werden. In diesem Display wird dann ein Rechteck dargestellt; ‚Apply ROI from rectangle‘ übernimmt dieses Rechteck als ROI (Offset und Größe).
Weißabgleich¶
Bei Farbkameras kann ein Weißabgleich durchgeführt werden. Bei Monokameras ist der Reiter ‚White Balance‘ deaktiviert, da die Kamera keine Weißabgleich-Parameter bereitstellt.
Enable white balance: Live-Schalter für den Weißabgleich.
Ein: Die gespeicherten R/G/B-Verhältnisse werden sofort an die Kamera geschrieben.
Aus: Die Kamera wird auf neutral (1.0) zurückgesetzt, das Bild kehrt zum unbalancierten Zustand zurück. Die gespeicherten Verhältnisse bleiben erhalten und werden beim erneuten Aktivieren wieder angewendet.
Die Einstellung ist persistent und wird beim Verbinden der Kamera erneut angewendet.
Auto white balance (once): Startet den kamerainternen automatischen Weißabgleich (einmalig). Die Kamera ermittelt die Verhältnisse aus den nächsten aufgenommenen Bildern – es muss daher ein Job laufen oder Live aktiv sein, damit Bilder geliefert werden. Nach Abschluss werden die ermittelten R/G/B-Verhältnisse in die Felder übernommen und ‚Enable white balance‘ wird automatisch aktiviert.
R / G / B: Manuelle Verhältnisse der Farbkanäle. Änderungen wirken sofort im Bild, sofern ‚Enable white balance‘ aktiv ist.
Restrict auto white balance to a region: Beschränkt den automatischen Weißabgleich auf einen Bildausschnitt.
X / Y / Width / Height: Bildausschnitt, in dem der automatische Weißabgleich ausgewertet wird.
DisplayFinder / Apply ROI from rectangle: Mit dem DisplayFinder kann per Drag&Drop ein Display für die interaktive Auswahl des Bildausschnitts gewählt werden; Apply ROI from rectangle übernimmt das dort gezeichnete Rechteck.
Bemerkung
Für ein gutes Ergebnis sollte die Kamera beim automatischen Weißabgleich auf eine graue bzw. weiße, gleichmäßig ausgeleuchtete Fläche schauen.
Ein- Ausgänge¶
Read Settings from Camera: Alle Parameter einschließlich Ein- Ausgangseinstellungen aus der Kamera ausgelesen und die Liste der verfügbaren Ein- Ausgänge (2) aktualisieren.
IO List: Liste der verfügbaren Ein- Ausgänge der Kamera. Doppelklick auf ein Element öffnet die Einstellungen des Ein- bzw. Ausgangs (3).
Ein- Ausgangsparameter:
Format: Typ des elektrischen Ein-/ Ausgangs.
Format
Beschreibung
NoConnect
Nicht angeschlossen
OptoCoupled
Optisch entkoppelt
OpenDrain
Ausgang schaltet die Spannung zum Verbraucher durch
TTL
Transistor-Transistor-Logik Ein-/ Ausgang mit 5 Volt
LVTTL
Transistor-Transistor-Logik Ein-/ Ausgang mit 3,3 Volt
Source: Signal, mit dem der Ausgang Ein-/Ausgeschalten wird.
Debouncetime: Eingang-Entprellzeit in [µs]
Output Pulse Min Width: Minimale Dauer eines Pulses am Ausgang in [µs].
Inverter: Logik des elektrischen Signals invertieren.
Termination: Leitungsabschluss.
Eingangssignal-Encoder¶
Bei Zeilenkameras kann eine Weg-gesteuerte Triggerung der einzelnen Zeilen über den Encoder der Kamera erfolgen. Die Trigger-Quelle für ‚LineStart‘ muss dazu auf ‚ShaftEncoderModuleOut‘ gestellt werden.
Encoder Inputs: Eingänge der Kamera, die für die Phasen A und B des Encoders verwendet werden.
Trigger Mode:
AnyDirection : Das Trigger-Signal wird in beide Richtungen ausgelöst, vorwärts und rückwärts.
ForwardOnly: Solange der Rückwärtszähler größer Null ist, wird das Trigger-Signal unterdrückt.
Counter Mode:
FollowDirection: Zähler wird bei Vorwärtsbewegung inkrementiert und bei Rückwärtsbewegung dekrementiert.
IgnoreDirection: Zähler wird bei Vorwärtsbewegung und bei Rückwärtsbewegung inkrementiert.
Counter Max: Maximalwerte für den Encoder Zähler [0..32767]. Wird dieser überschritten, beginnt der Zähler wieder bei ‚0‘. Mit ‚get‘ kann der aktuelle Encoder-Zählerstand ausgelesen werden.
Reset Counter: Encoder Zählerstand auf ‚0‘ zurücksetzen.
Autoreset Counter on acquisition: Den Encoder-Zähler und den Rückwärts-Zähler vor jedem Start einer Bildaufnahme auf ‚0‘ zurücksetzen.
Frequenzwandler¶
Über den Frequenzwandler kann die Kamera mit einer anderen Frequenz getriggert werden, als die Frequenz des Eingangssignals. Die Quelle des Frequenzwandlers kann dabei einer der Eingänge des Encoders sein (‘Line1/2/3‘).
Source: Eingang, bzw. Quelle für den Frequenzwandler.
Signal Alignment:
RisingEdge: Steigende Flanke
FallingEdge: Fallende Flanke
Signal Converter Parameters: Der Frequenzwandler hat drei Module, die nacheinander angewandt werden (Dividierer -> Multiplizierer -> Dividierer).
Pre-Divider: Faktor, um den die Eingangsfrequenz verringert wird.
Multiplier: Faktor, um den die Frequenz erhöht wird.
PostDivider: Faktor, um den die Frequenz verringert wird.
Kamera Ereignisse¶
Zu Analysezwecken können Kamera Ereignisse aktiviert werden. Tritt ein aktiviertes Kamera Ereignis ein, so wird der Name des Ereignisses als ‚Warning‘ in das ‚Gefasoft.MAK.Vision.GigEBaslerPylon‘ Log geschrieben
Get: Ereigniseinstellungen aus der Kamera auslesen und die Liste (2) aktualisieren.
Event List: Liste aller Basler Pylon Kameraereignisse.
Name: Name des Ereignisses.
Available: Zeigt an, ob das Ereignis bei der verbundenen Kamera verfügbar ist oder nicht.
Desired: Zeigt an, ob der Anwender versucht hat diese Ereignis zu aktivieren, unabhängig davon, ob es bei der verbundenen Kamera verfügbar ist oder nicht
Enabled: Zeigt an, ob diese Ereignis aktiviert ist.
Apply: Aktiviert alle Ereignisse, die über das Kontrollkästchen der Liste (2) angewählt sind. Diese Einstellung ist nicht permanent und wird auch nicht gespeichert. Die Ereignisse werden nur temporär zu Analysezwecken aktiviert.
Diagnose¶
Auf dem Reiter ‚Diagnostics‘ kann bei Zeilenkameras die Überwachung über-triggerter Zeilen (Trigger-Overrun) aktiviert werden. Ein Trigger-Overrun entsteht, wenn ein neuer ‚LineStart‘-Trigger eintrifft, bevor die Kamera die vorherige Zeile fertig aufgenommen hat. Die betroffene Zeile wird dann verworfen (verlorene Zeile), was zu einer gestauchten oder verzerrten Bilddarstellung führen kann.
Bemerkung
Diese Funktion steht nur bei Zeilenkameras zur Verfügung, die den Kamera-Chunk ‚LineTriggerIgnoredCounter‘ unterstützen. Unterstützt eine verbundene Kamera dies nicht, wird die Gruppe deaktiviert.
Enable LineTriggerIgnoredCounter chunk (count lost lines): Aktiviert den Kamera-Chunk ‚LineTriggerIgnoredCounter‘, der die aufgrund von Über-Triggerung verworfenen Zeilen zählt. Bei jeder Bildaufnahme wird die Anzahl der während dieses Bildes verlorenen Zeilen (Delta zum vorherigen Bild) ermittelt.
Job terminal name: Name des ‚JobInputDataBlock‘-Terminals, das die Anzahl der im aktuellen Bild verlorenen Zeilen (Delta) erhält. Der Wert kann im Job weiterverarbeitet werden (z.B. Gut-/Schlecht-Bewertung). Der Wert ‚0‘ bedeutet, dass während dieses Bildes keine Zeile verloren wurde. Standardwert: ‚LineTriggerIgnoredCount‘.
On lost lines, report: Schweregrad, mit dem verlorene Zeilen in das Log geschrieben werden.
Warning: Verlorene Zeilen werden als Warnung protokolliert.
Error: Verlorene Zeilen werden als Fehler protokolliert.
Bemerkung
Beim Aktivieren der Funktion (bzw. beim (Neu-)Verbinden der Kamera) werden die Trigger-Zähler der Kamera per Software zurückgesetzt, sodass bereits für das erste Bild ein korrektes Delta (Baseline = 0) ermittelt werden kann. Nur wenn die Kamera das Zurücksetzen des Zählers nicht unterstützt, liegt für das erste Bild kein Referenzwert (Baseline) vor. In diesem Fall wird der kumulierte Zählerstand als konservativer Worst-Case gemeldet, damit ein prüfendes System sicher reagiert und kein potenziell fehlerhaftes erstes Bild als gut bewertet.
Konfiguration im Job¶
Der unter Job terminal name eingestellte Wert wird über den JobInputDataBlock in den Job eingespeist. Damit der Zählwert in der Bildverarbeitung zur Verfügung steht, muss im CogToolBlock mit Namen JobInputDataBlock ein Output-Terminal angelegt werden:
Name: Muss exakt mit dem unter Job terminal name eingestellten Namen übereinstimmen (Standard: LineTriggerIgnoredCount).
Typ: System.Int32 (der Wert wird als ganze Zahl geschrieben; stimmt der Terminal-Typ nicht überein, wird der Wert verworfen und eine Warnung protokolliert).
ForceChangedEvent: sollte aktiviert sein, damit nachgelagerte Abfragen (z.B. im CogDataAnalysisTool) nicht wegen nicht aktualisierter Ergebnisse eine Fehlermeldung liefern.
Bei jeder Bildaufnahme wird dieses Terminal mit der Anzahl der im aktuellen Bild verlorenen Zeilen (Delta) beschrieben und kann anschließend innerhalb der Toolgroup weiterverarbeitet werden (z.B. Vergleich gegen einen Grenzwert für eine Gut-/Schlecht-Bewertung).
Wichtig
Der Wert des JobInputDataBlock-Terminals wird erst nach dem tatsächlichen Bildeinzug aktualisiert. Wird das Bild erst im Job eingezogen (z.B. weil die Achse über die Bildverarbeitung gesteuert wird), muss die Auswertung (z.B. CogDataAnalysisTool) daher nach dem Bildeinzug erfolgen.
Typische Job-Reihenfolge bei Bildeinzug im Job mit Achssteuerung durch die Bildverarbeitung:
JobInputDataBlock: übergibt das Terminal mit der Overtriggering-Information.
GetPos / GoToPos: steuert die Achse.
StartAcquisition / GetImage: startet die Bildaufnahme bzw. zieht das Bild ein.
CogDataAnalysisTool: wertet nach dem Bildeinzug die Overtriggering-Information des zuletzt eingezogenen Bildes aus.
Hinweis
Jedem Kameraobjekt sollte ein sprechender Name gegeben werden, damit sich die Meldungen im Log und im Job eindeutig zuordnen lassen.
Bemerkung
Das Terminal ist optional. Ist im JobInputDataBlock kein passendes Terminal vorhanden, wird der Wert einfach nicht übergeben (kein Fehler). Stationen, die die Auswertung nicht benötigen, müssen das Terminal also nicht anlegen.