Basler¶
Vor der Verwendung einer Basler-Kamera, muss die Software ‚Basler_pylon_6.1.0.19674‘ für ‚Developer‘ installiert werden. Die ‚Basler_pylon_6.1.0.19674.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
Start/Stop/Reset
Start/Stop: Diese Taster sind ab Pylon 6 ohne Funktion. Das ‚AcquisitionStart/Stop Kommando‘ wird von der Bildquelle bei jeder Bildaufnahme aufgerufen.
Reset: Alle Kameraparameter auf Werkseinstellungen zurücksetzen. Diese Funktion ist zur Zeit in Viper.NET nicht verfügbar, da ‚Gige_Camera_restoreFactoryDefaults()‘ in Pylon 6 nicht mehr vorhanden ist. Stattdessen werden nur noch die aktuellen Parameter aus der Kamera ausgelesen.
Read Settings from Camera: Alle Parameter aus der Kamera auslesen und dieser Bildquelle bzw. diesem Bildaufnahmeparametersatz zuweisen.
Save to EEPROM: Aktuellen Parametersatz ins EEPROM der Kamera speichern. Diese Funktion ist zur Zeit in Viper.NET nicht verfügbar, da ‚Gige_Camera_writeEEPROM()‘ in Pylon 6 nicht mehr vorhanden ist.
Export Nodes XML: Alle Parameter aus der verbundenen Kamera auslesen und in eine XML-Datei exportieren.
Camera list: Auswahlliste aller Basler Kameras. Die Liste kann mit dem ‚… - Taster‘ aktualisiert werden.
UserID: Kameraname, der durch click auf den Taster ‚set‘ in der Kamera gespeichert wird.
Bildaufnahme:
Exposure: Belichtungszeit in [ms].
Gain: Analoger Verstärkungsfaktor (Helligkeit).
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.
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.
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.
EvaluateMaximalPacketSize: Diese Funktion ist zur Zeit in Viper.NET nicht verfügbar, da ‚Gige_Camera_evaluateMaximalPacketSize()‘ in Pylon 6 nicht mehr vorhanden ist. Stattdessen wird der aktuelle Wert des Parameters ‚GevSCPSPacketSize‘ angezeigt.
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.
ROI Einstellungen¶
Hier kann ein Bildausschnitt (ROI = Region Of Interest) eingestellt werden. Somit wird nicht mehr der ganze Kamerachip ausgelesen und übertragen.
OffsetX/Y, Widht/Height: Ausgewählter Bildbereich. Position der linken oberen Ecke, Breite und Höhe.
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]
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).
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).
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.