Herunterladen Inhalt Inhalt Diese Seite drucken

Vision Förderband Programmierung - Epcon Rc+ Benutzerhandbuch

Inhaltsverzeichnis
17.7.4
Vision Förderband Programmierung
Gewöhnlich werden zwei Tasks verwendet, um einen Vision Förderband zu betreiben. Ein Task
erkennt Objekte mit dem Vision System und fügt deren Koordinaten dem Förderband-Queue
hinzu. Der andere Task überprüft, ob sich die Koordinaten der Objekte im Förderband-Queue im
Pickup-Bereich befinden. Wenn sich ein Objekt im Pickup-Bereich befindet, wird der Roboter
angewiesen, das Objekt aufzunehmen und zu platzieren.
Das folgende Beispiel zeigt zwei Tasks. Der scannende Task verwendet das Vision System, um
Objekte zu finden, und sie dem Förderband-Queue hinzuzufügen. Es gibt zwei Beispiele für den
scannenden Task. ScanConveyorNonStrobed verwendet keine Stroboskop-Lampe und keinen
Hardware-Trigger. In diesem Fall muss Cnv_Trigger aufgerufen werden, bevor die Vision-
Sequenz ausgeführt wird. ScanConveyorStrobed verwendet eine Stroboskop-Lampe und Hardware
Conveyor Trigger. PickParts wartet darauf, dass sich Objekte im Pickup-Bereich befinden und
weist den Roboter an, jedes Objekt aufzuheben und zu platzieren.
Wenn Sie eine asynchrone Reset Kamera und ein Stroboskop verwenden, sollte der Stroboskop-
Trigger außerdem mit dem Trigger auf dem PG-Board verbunden sein. In diesem Fall muss die
Vision Sequenz RuntimeAcquire-Eigenschaft auf strobed gestellt sein.
Function main
Xqt ScanConveyorNonStrobed
Xqt PickParts
Fend
Function ScanConveyorNonStrobed
Integer i, numFound
Real x, y, u
Boolean found
Do
Cnv_Trigger 1
VRun FindParts
VGet FindParts.Parts.NumberFound, numFound
For i = 1 to numFound
Next i
Wait .1
Loop
Fend
Function ScanConveyorStrobed
Integer i, numFound, state
Real x, y, u
Boolean found
Do
VRun FindParts
Do
Loop Until state = 3
VGet FindParts.Parts.NumberFound, numFound
For i = 1 to numFound
Next i
Wait .1
Loop
Fend
Function PickParts
Do
Do While Cnv_QueLen(1, CNV_QUELEN_DOWNSTREAM) > 0
Loop
If Cnv_QueLen(1, CNV_QUELEN_PICKUPAREA) > 0 Then
EPSON RC+ User's Guide
VGet FindParts.Parts.CameraXYU(i), found, x, y, u
Cnv_QueAdd 1, Cnv_Point(1, x, y)
VGet FindParts.AcquireState, state
VGet FindParts.Parts.CameraXYU(i), found, x, y, u
Cnv_QueAdd 1, Cnv_Point(1, x, y)
Cnv_QueRemove(1, 0)
Conveyor Tracking
228
Inhaltsverzeichnis
loading

Inhaltsverzeichnis