-
HINTERGRUND DER ERFINDUNG
-
1. Gebiet der Erfindung
-
Die
vorliegende Erfindung bezieht sich auf eine Bildverarbeitungsvorrichtung,
die zur Aufnahme eines Bildes eines Testobjektes unter Verwendung einer
Bildaufnahmeeinheit, wie etwa einer Kamera, und Ausführen
eines Messprozesses unter Verwendung erhaltener Bilddaten in der
Lage ist, und ein Bildverarbeitungsverfahren.
-
2. Beschreibung verwandten
Stands der Technik
-
An
vielen Produktionsstätten, wie etwa Fabriken, werden Bildverarbeitungsvorrichtungen,
mit denen ein Inspektionsprozess, der sich auf visuelle Überprüfung
durch eine Person verlassen hat, automatisiert und beschleunigt
werden kann, eingeführt. Die Bildverarbeitungsvorrichtung
verwendet typischer Weise eine Kamera, um ein Bild eines Werkstücks
aufzunehmen, das auf einem Transportband oder dergleichen längs
einer Produktionslinie geführt wird, und führt
einen Messprozess, wie etwa Kantendetektion und Flächenberechnung
eines vorgegebenen Bereichs basierend auf den erhaltenen Bilddaten durch.
Die Bildverarbeitungsvorrichtung führt dann eine Inspektion,
wie etwa Rissdetektion und Positionsdetektion einer Ausrichtungsmarke
des Werkstücks durch, basierend auf den Verarbeitungsergebnissen
des Messprozesses, wodurch ein Bestimmungssignal ausgegeben wird,
das das Vorliegen eines Risses oder die Position einer Positionsfehlausrichtung
im Werkstück bestimmt. Auf diese Weise werden die Bildverarbeitungsvorrichtungen
oft als eine Art von Fabrikautomatisierungssensoren eingesetzt.
-
Die
Bildverarbeitungsvorrichtungen enthalten einen ”Black-Box”-Typ,
für den auszuführende Prozeduren vorab bestimmt
werden, und einen Typ, mit dem ein gewünschter Messprozess
durch Übertragen eines Bildverarbeitungsprogramms, das
durch einen Anwender unter Verwendung eines Persönlichen
Computers (PC) erzeugte gewünschte Prozeduren ausführt,
durchgeführt wird. Mit dem ersteren Typ ist ein Freiheitsgrad
der Bildverarbeitung beschränkt, da die Bildverarbeitung
nur basierend auf den vorbestimmten Prozeduren durchgeführt
wird. Der letztere Typ jedoch verlangt hoch fortgeschrittene Programmierungskenntnisse
und eine große Anzahl von Mannstunden, um den gewünschten
Messprozess durchzuführen. Ein Beispiel der Bildverarbeitungsvorrichtungen,
die diese Probleme angehen, präsentiert ein Flussdiagramm
einer Reihe von Bildverarbeitungsprozeduren und gestattet es einem
Anwender, die Prozeduren im Flussdiagramm zu verändern
(siehe beispielsweise
japanische
ungeprüfte Patentveröffentlichung Nr. H09-288568 ).
Damit der Anwender die gewünschten Prozeduren realisieren kann,
können die Prozeduren im Flussdiagramm beispielsweise unter
Verwendung spezieller Software, die auf einem PC läuft,
angepasst werden, um ein Bildverarbeitungsprogramm zu erzeugen,
das die Bildverarbeitungsvorrichtung veranlasst, die angepassten
Prozeduren auszuführen, und das Bildverarbeitungsprogramm
kann an eine Steuerung (Controller) der Bildverarbeitungsvorrichtung
transferiert werden.
-
Ein
Aspekt der Bildverarbeitungsvorrichtung, mit der der Anwender die
Prozeduren maßschneidern kann, wird spezifisch unter Bezugnahme
auf 20 beschrieben. 20 ist
ein Diagramm, das ein Beispiel einer Situation zeigt, in der eine
Bildverarbeitungsvorrichtung verwendet wird. Bezug nehmend auf 20 wird
ein Bild eines auf ein Förderband 200 getragenen
Werkstücks 100 unter Verwendung von zwei Kameras 301 und 302 aufgenommen, und
der Messprozess wird basierend auf den erhaltenen Bilddaten mit
einer einzigen Steuerung 300, mit der die Kameras 301 und 302 verbunden
sind, ausgeführt. 21 ist
ein Flussdiagramm, das ein Beispiel der durch den Anwender erzeugten
Prozeduren zeigt.
-
Wie
in 20 und 21 gezeigt,
wenn das Werkstück 100 unter der Kamera 301 geführt
wird, nimmt die Kamera 301 ein Bild des Werkstücks 100 basierend
auf einem Auslösereingang von außen (wie etwa
beispielsweise einem photoelektrischen Sensor) auf. Dann, wenn das
Werkstück 100 unter die Kamera 302 geführt
wird, nimmt die Kamera 302 ein Bild des Werkstücks 100 basierend
auf einer Auslösereingabe von außen (wie beispielsweise
einem photoelektrischen Sensor) auf. Auf diese Weise, wenn die Bildaufnahme
durch die Kamera 301 und die Kamera 302 endet
(Schritt 101 in 21), führt die Steuerung 300 den
Messprozess unter Verwendung von zwei durch die Bildaufnahme (Schritt
102 in 21) erhaltenen zwei Bilddatenstücke
durch. Im in 21 gezeigten Flussdiagramm wird
ein Messzyklus dadurch bestimmt, dass eine Flusssequenz vom START-Symbol
zu einem ENDE-Symbol als ein einzelner Zyklus der Bildverarbeitung
angenommen wird.
-
Hier,
und Bezug nehmend auf 21, ist es nicht möglich,
ein Bild eines Werkstückes durch die Kamera 301 aufzunehmen,
das nach dem Werkstück 100 (ein Werkstück
auf der linken Seite des Werkstücks 100) transportiert
wird, bis der Messprozess in Schritt S102 endet. Wie oben beschrieben,
ist die Flusssequenz vom START-Symbol zum ENDE-Symbol ein einzelner
Zyklus der Bild-Verarbeitung und folglich ist es nicht möglich,
den Aufnahmeprozess in Schritt S101 auszuführen, während
der Messprozess in Schritt S102 ausgeführt wird. Um diesen
Punkt weiter darzulegen, wird in 21 zuerst
der Aufnahmeprozess (Schritt S101) unmittelbar nach dem START-Symbol
ausgeführt und die Bilder des Werkstückes 100 werden
aufgenommen. Wenn die Bilddatenstücke, die im nächsten
Messprozess (Schritt S102) erforderlich sind, aus der Kamera 301 und
der Kamera 302 erhalten werden, endet die Bildaufnahme
in Schritt S101. Dann, wenn der Messprozess in Schritt S102 unter
Verwendung der aus der Kamera 301 und der Kamera 302 erhaltenen
Bilddatenstücke ausgeführt wird und der Messprozess
endet, ist ein einzelner Zyklus der Bildverarbeitung (eine einzelne Flusssequenz)
abgeschlossen. Es gibt mehrere Vorteile beim Ausführen
jeder der Bildverarbeitungen (Schritt S101 oder Schritt S102) synchron
zu den im Flussdiagramm gezeigten Prozeduren. Ein Beispiel solcher
Vorteile ist wie folgt. Das Ausführen jeder Bildverarbeitung
asynchron verursacht oft ein Problem eines Speicherkonflikt aufgrund
dessen, dass mehr als eine Operation, wie etwa Schreiben der Bilddaten,
die aufgenommen worden sind, in den Speicher, und Lesen der Bilddaten
aus dem Speicher, um den Messprozess auszuführen, gleichzeitig durchgeführt
werden. Falls jedoch jede Bildverarbeitung synchron zu den im Flussdiagramm
gezeigten Prozeduren ausgeführt wird, mag ein solches Problem
der Speicherverstopfung nicht auftreten. Weiterhin, falls jede der
Bildverarbeitungen synchron zu der im Flussdiagramm gezeigten Prozedur
ausgeführt wird, ist es möglich, anhand dieser
Prozeduren Fehler zu beseitigen, wodurch eine Fehlerbeseitigung
erleichtert wird.
-
Aufgrund
der obigen Gründe wird bei der Bildverarbeitungsvorrichtung,
mit der der Anwender in der Lage ist, die Prozeduren maßzuschneidern, jede
Bildverarbeitung synchron zu den vorbestimmten Prozeduren durchgeführt,
und es ist nicht möglich, zum nächsten Verarbeitungsschritt
vorzurücken, bis ein Verarbeitungsschritt, der aktuell
ausgeführt wird, endet. Entsprechend, wie oben beschrieben,
ist es nicht möglich, den Aufnahmeprozess in Schritt S101
auszuführen, während der Messprozess in Schritt
S102 in 21 ausgeführt wird
und es ist erforderlich, eine Bildaufnahmehemmperiode bereitzustellen,
während der die Bildaufnahme durch die Kamera 301 gesperrt
ist, um eine unvollständige Bildaufnahme zu verhindern.
-
In
dieser Hinsicht gibt es eine Technik, mit der die Bildaufnahme durch
die Kamera
301 intern freigegeben wird, selbst wenn der
Messprozess in Schritt S102 ausgeführt wird. Wie beispielsweise
in der
japanischen ungeprüften
Patentveröffentlichung Nr. H10-32810 offenbart,
sind ein Bilddatenspeicher für Bildaufnahme und ein Bilddatenspeicher
für Messung vorgesehen und die Bildaufnahme wird zusammen
mit dem Messprozess durchgeführt. Durch Einsetzen einer
solchen Technik ist es in dem in
21 gezeigten
Flussdiagramm möglich, die Bildaufnahme durch die Kamera
301 für
den nächsten Messzyklus unter Verwendung des Bilddatenspeichers
für Bildaufnahme vorher auszuführen, selbst falls
der Messprozess in Schritt S102, in dem der Bilddatenspeicher für
die Messung verwendet wird, noch nicht abgeschlossen ist.
-
Während
das in 21 gezeigte Flussdiagramm eine
einzelne Bildverarbeitung im Messprozess in Schritt S102 unter Verwendung
des durch die Bildaufnahme durch die Kamera 301 erhaltenen
Bilddatenstücks und des durch die Bildaufnahme durch die
Kamera 302 erhaltenen Bilddatenstücks ausführt, gibt
es einen Fall, in dem es gewünscht ist, die Bildverarbeitung
getrennt für jedes Bilddatenstück durchzuführen.
-
22 zeigt
ein Flussdiagramm, in dem die getrennte Bildverarbeitung an jedem
der Bilddatenstücke ausgeführt wird, die jeweils
durch die Bildaufnahme durch die Kamera 301 und durch die
Kamera 302 erhalten werden. Unter Bezugnahme auf das in 22 gezeigte
Flussdiagramm wird zuerst, wenn das Werkstück 100 unter
der Kamera 301 geführt wird, eine erste Bildaufnahme
zum Erhalten eines Bilddatenstücks durch die Bildaufnahme
durch die Kamera 301 ausgeführt (Schritt S201).
Nachdem die erste Bildaufnahmeverarbeitung endet, wird eine erste
Messung am erhaltenen Bilddatenstück durchgeführt
(Schritt S202). Als Nächstes, wenn das Werkstück 100 unter
die Kamera 302 transportiert wird, wird eine zweite Bildaufnahme
zum Erhalten eines Bilddatenstücks durch die Bildaufnahme
durch die Kamera 302 ausgeführt (Schritt S203).
Nachdem die zweite Bildaufnahme endet, wird eine zweite Messung
am erhaltenen Bilddatenstück durchgeführt (Schritt
S204).
-
Weiterhin
ist es durch Einsetzen der in der
japanischen
ungeprüften Patentveröffentlichung Nr. H10-32810 wie
oben beschrieben offenbarten Technik möglich, intern die
Bildaufnahme durch die Kamera
302 auszuführen,
bevor die erste in Schritt S202 gezeigte Messung endet und bevor
die zweite Messung in Schritt S204 endet, ist es möglich,
intern die Bildaufnahme durch die Kamera
301 zuvor im nächsten
Messzyklus durchzuführen. Wie oben beschrieben, ist es
durch Verwendung der Technik zum Ausführen der Bildaufnahme,
während der Messprozess ausgeführt wird (d. h.
eine Technik zum asynchronen Ausführen des Messprozesses
und des Aufnahmeprozesses) möglich, jede Bildverarbeitung
(Schritt S201 bis Schritt S204) synchron zu den im Flussdiagramm
gezeigten Prozeduren durchzuführen, wie auch eine unvollständige
Bildaufnahme zu verhindern.
-
ZUSAMMENFASSUNG DER ERFINDUNG
-
Jedoch
ist es im in
23 gezeigten Flussdiagramm
zumindest notwendig, dass die Bildaufnahme durch die Kamera
301 (die
erste Bildaufnahme in Schritt S201) und die Bildaufnahme durch die Kamera
302 (die
zweite Bildaufnahme in Schritt S203) seriell verarbeitet werden.
Spezifisch ist es nicht möglich, die erste Bildaufnahme
in Schritt S201 im nächsten Messzyklus auszuführen,
wenn ein nachfolgendes Werkstück zum Werkstück
100 unter der
Kamera
301 geführt wird, während die in
Schritt S203 gezeigte zweite Bildaufnahme ausgeführt wird. Dies
liegt daran, dass, wie unter Bezugnahme auf
21 beschrieben,
gemäß der Bildverarbeitungsvorrichtung, in der
jede Bildverarbeitung synchron zu dem die Prozedur im Flussdiagramm
ausgeführt wird, es nicht möglich ist, zum nächsten
Prozessschritt (Messzyklus) vorzurücken, bevor der aktuell ausgeführten
Verarbeitungsschritt endet. Weiterhin, selbst falls die in der
japanischen ungeprüften
Patentveröffentlichung Nr. H10-32810 offenbarte
Technik eingesetzt wird, tritt ein Problem von Speicherkonflikt
auf, falls eine Operation des Schreibens der durch die erste Bildaufnahme
durch die Kamera
301 erhaltenen Bilddatenstück
in einen Speicher und eine Operation des Schreibens des durch die
zweite Bildaufnahme durch die Kamera
302 erhaltenen Bilddatenstücks
in einem Speicher gleichzeitig ausgeführt werden.
-
Entsprechend
ist es im in 22 gezeigten Flussdiagramm noch
immer notwendig, eine Bildaufnahmehemmungsperiode vorzusehen, während
der die Bildaufnahme durch die Kamera 301 gesperrt ist, um
eine unvollständige Bildaufnahme am Auftreten zu hindern.
Die Anwesenheit der Bildaufnahmehemmperiode führt zu einer
Verzögerung bei der Verarbeitungszeit der Kamera 301 und
folglich zu einer Inspektionstaktzeit-Verzögerung.
-
Daher
ist es vorstellbar, zwei Steuerungen 300 vorzusehen, wie
beispielhaft in 20 gezeigt, und die Bildaufnahme
durch die Kamera 301 und die Bildaufnahme durch die Kamera 302 zu
trennen. Spezifisch ist die Kamera 301 mit einer von zwei Steuerungen
verbunden und die Kamera 302 ist mit der anderen Steuerung
verbunden. Wie in den 23A und 23B gezeigt, ist dies äquivalent zur Bereitstellung
von zwei unabhängigen Flussdiagrammen als Prozeduren. 23A zeigt Prozeduren, in denen die erste Bildaufnahme
zum Erhalten des Bilddatenstücks durch die Kamera 301 (Schritt
S201) und die erste Messung unter Verwendung des erhaltenen Bilddatenstücks (Schritt
S202) in Reihe verbunden sind und 23B zeigt
Prozeduren, in denen die zweite Bildaufnahme zum Erhalten des Bilddatenstücks
durch die Kamera 302 (Schritt S203) und die zweite Messung
unter Verwendung des erhaltenen Bilddatenstücks (Schritt
S204) in Reihe verbunden sind.
-
Unter
Bezugnahme auf 23A und 23B kann,
da die Bildaufnahmen durch die Kamera 301 mit der einen
Steuerung (der ersten Bildaufnahme in Schritt S201) und die Bildaufnahme durch
die Kamera 302 mit der anderen Steuerung (die zweite Bildaufnahme
in Schritt S203) unabhängig bereitgestellt werden können,
die erste Bildaufnahme in Schritt S201 ausgeführt werden,
selbst wenn das dem Werkstück 100 nachfolgende
Werkstück unter der Kamera 301 geführt
wird, während die zweite Bildaufnahme durch die Kamera 302 gerade
ausgeführt wird (Schritt S203).
-
Um
jedoch die Bildverarbeitung wie in den Flussdiagrammen von 23A und 23B gezeigt
zu realisieren, sind die zwei Steuerungen wie oben beschrieben erforderlich
und dies legt dem Anwender unnötige Kosten auf. Entsprechend
ist es vorstellbar, die Bildverarbeitung durch die in 23A und 23B gezeigten
Flussdiagramme nur mit einer einzelnen Steuerung zu realisieren.
Falls jedoch die Ablaufsequenzen der im Flussdiagramm von 23A gezeigten Bildverarbeitung und der im Flussdiagramm
von 23B gezeigten Bildverarbeitung
synchron ausgeführt werden, ähnlich dem Fall der
Verwendung der zwei Steuerungen, ist es nicht möglich,
vorteilhafte Effekte zu erzielen, die erhalten werden können,
indem jede Bildverarbeitung synchron mit dem im Flussdiagramm gezeigten
Prozeduren ausgeführt werden, da das Problem von Speicherkonflikt
auftreten kann, oder es nicht möglich sein mag, längs
einer der Ablaufsequenzen Fehler zu beseitigen (zu de-buggen), wie
oben beschrieben.
-
Wie
oben beschrieben, hat es gemäß der konventionellen
Bildverarbeitungsvorrichtung beim Versuch, die Bildaufnahmehemmperiode
zu eliminieren, um eine unvollständige Bildaufnahme mit
nur einer einzelnen Steuerung zu verhindern, um einen Inspektionstakt
zu verbessern und zu verhindern, dass dem Anwender unnotwendige
Kosten auferlegt werden, das Problem gegeben, dass es nicht möglich
ist, vorteilhafte Effekte (Verhindern der Speicherverstopfung und
Erleichtern der Fehlerbeseitigung) bereitzustellen, die durch Ausführen
jeder Bildverarbeitung synchron mit vorbestimmten Prozeduren erhalten werden
können, wie unter Bezugnahme auf 23A und 23B beschrieben.
-
Die
vorliegende Erfindung ist im Hinblick auf die obigen Probleme gemacht
worden und eine Aufgabe der vorliegenden Erfindung ist es, eine
Bildverarbeitungsvorrichtung und ein Bildverarbeitungsverfahren
bereitzustellen, die zum Ausführen jeder Bildverarbeitung
synchron mit vorbestimmten Prozeduren mit einer einzelnen Steuerung
in der Lage sind und gleichzeitig eine Bildaufnahmehemmperiode zum
Verhindern unvollständiger Bildaufnahmen eliminieren.
-
Eine
Bildverarbeitungsvorrichtung gemäß der vorliegenden
Erfindung ist mit einer Mehrzahl von Kameras versehen, die Bilddaten
durch Aufnehmern von Bildern eines Testobjektes erzeugen, und ist
dafür ausgelegt, Messungen unter Verwendung der aus der
Mehrzahl von Kameras erhaltenen Bilddaten auszuführen,
ein Bestimmungssignal auszugeben, durch Bestimmen, ob das Testobjekt
gut oder defekt ist, basierend auf einem Ergebnis der Messung, und einen
Zuordnungsprozess des Ausführens einer Zuordnung der aus
der Mehrzahl von Kameras erhaltenen Bilddaten, die in der Messung
zu verwenden sind, und einer Mehrzahl von Messprozessen des Ausführens
der Messung unter Verwendung der im Zuweisungsprozess zugewiesenen
Bilddaten auszuführen, und die Bildverarbeitungsvorrichtung
enthält: eine Einstelleinheit, die eine Mehrzahl von Assoziierungs-Mustern
zwischen einem Typ oder von Typen eines oder mehreren der Mehrzahl
von Kameras und eines der Mehrzahl von Messprozessen einstellt; eine
Bestimmungseinheit, die eine Kamera identifiziert, aus der die Bilddaten
aus der Mehrzahl von Kameras erhalten werden und bestimmt, ob die
Bilddaten aus einer, durch eines der Mehrzahl von Assoziierungsmustern,
die durch die Einstelleinheit eingestellt sind, spezifizierten Kamera
erhalten wird oder nicht; und eine Zuweisungseinheit, die eine Zuweisung
zum Ausführen eines der Messprozesse, der durch das Assoziierungsmuster
spezifiziert ist, für welches die Bilddaten als erhalten
bestimmt worden sind, ausführt.
-
Gemäß einer
solchen Konfiguration wird beispielsweise durch Übertragen
eines Bildverarbeitungsprogramms aus einer externen Programmerzeugungs-Assistenzvorrichtung
die Mehrzahl von Assoziierungsmustern zwischen dem Typ oder den Typen
einer oder mehrerer der Mehrzahl von Kameras und einer der Mehrzahl
von Messprozessen eingestellt, festgestellt, ob die Bilddaten aus
der durch eines aus der Mehrzahl von Assoziierungsmustern spezifizierten
Kamera erhalten wird oder nicht, und die Zuweisung zum Ausführen
eines der Messprozesse, welcher durch das Assoziierungsmuster spezifiziert
wird, für welches die Bilddaten als erhalten bestimmt worden
sind, wird ausgeführt. Daher ist es möglich, jeden
Prozess synchron mit den vorbestimmten Prozeduren auszuführen,
welche die Bildaufnahme durch die Kamera und den Zuweisungsprozess
zur Verwendung der Messung beinhalten, und dem die Bilddaten verwendenden
Messprozess. Weiterhin wird der wie in der vorliegenden Erfindung verwendete
Zuweisungsprozess ausgeführt, indem er durch die aus der
durch eines der Mehrzahl von Assoziierungsmustern, die durch die
Einstelleinheit eingestellt sind, spezifizierten Kamera erhaltenen Bilddaten
ausgelöst wird, und es ist möglich, einen Bildaufnahmemechanismus
zu betreiben, der die Bilddaten aus der Mehrzahl von Kameras erhält,
die Bilder des Testobjekts asynchron zu den vorbestimmten oben beschriebenen
Prozeduren aufnimmt. Als Ergebnis ist es möglich, eine
Bildaufnahmehemmperiode zu eliminieren, die vorgesehen ist, um unvollständige
Bildaufnahme zu verhindern. Weiterhin ist es möglich, solch
einen Effekt nur mit einer einzelnen Steuerung (Controller) zu realisieren.
-
In
diesem Fall kann die Bildverarbeitungsvorrichtung so konfiguriert
sein, dass, wenn die Bestimmungseinheit bestimmt, dass die Bilddaten
nicht erhalten werden, die Zuweisungseinheit in Bereitschaft ist,
ohne die Zuweisung zum Ausführen des Messprozesses auszuführen.
-
Gemäß einer
solchen Konfiguration ist die Zuweisungseinheit in Bereitschaft,
ohne die Zuweisung zum Ausführen des Messprozesses durchzuführen,
wenn die Bestimmungseinheit bestimmt, dass die Bilddaten nicht erhalten
sind. Daher kann selbst in einem solchen Fall ein Zuweisungsfehler, bei
dem die Zuweisung durch die Zuweisungseinheit nicht ausgeführt
werden kann, nicht auftreten und es ist möglich, den Zuweisungsprozess
und den einen Messprozess synchron zu den vorbestimmten Prozeduren
auszuführen.
-
Darüber
hinaus kann die Bildverarbeitungsvorrichtung so konfiguriert sein,
dass, wenn die Bilddaten als aus einer Kamera des Typs, der durch
zwei oder mehr der Mehrzahl von Assoziierungsmustern, die durch
die Einstelleinheit eingestellt sind, spezifiziert wird, erhalten
worden festgestellt sind, die Zuweisungseinheit die Zuweisung zum
Ausführen des Messprozesses ausführt, der durch
eines der Assoziierungsmuster basierend auf vorbestimmter Priorität spezifiziert
ist.
-
Gemäß einer
solchen Konfiguration, wenn die Bilddaten als aus der Kamera des
Typs erhalten bestimmt worden sind, die durch zwei oder mehr der Mehrzahl
von Assoziierungsmustern, welcher durch die Einstelleinheit eingestellt
sind, spezifiziert ist, führt die Zuweisungseinheit die
Zuweisung zum Ausführen des durch eines der Assoziierungsmuster spezifizierten
Messprozesses durch, basierend auf vorbestimmter Priorität.
Daher ist es selbst in einem solchen Fall möglich, die Situation
zu vermeiden, bei der das Ziel der Zuweisung durch die Zuweisungseinheit
unbekannt ist (das heißt, selbst wenn die Bilddaten bestimmt
worden sind, aus einer Kamera des Typs erhalten worden zu sein,
die durch zwei oder mehr Assoziierungsmuster spezifiziert ist, ist
es möglich, das Assoziierungsmuster zu spezifizieren, das den
Messprozess spezifiziert, für den die Zuweisung durchzuführen
ist). Entsprechend ist es möglich, den Zuweisungsprozess
und den einen Messprozess synchron mit den vorbestimmten Prozeduren
auszuführen.
-
Darüber
hinaus kann die Bildverarbeitungsvorrichtung so konfiguriert sein,
dass die Priorität basierend auf einem Timing bestimmt
wird, bei dem die Bilddaten durch die Kamera des Typs erhalten werden,
der durch eine der Mehrzahl von Assoziierungsmustern spezifiziert
ist, die durch die Einstelleinheit eingestellt worden sind.
-
Gemäß einer
solchen Konfiguration, da die Zuweisung basierend auf dem Timing
durchgeführt werden kann, mit dem die Bilddaten aus der
Kamera erhalten werden, früh oder spät ist, ist
es möglich, die Zuweisung unter Erwägung der Reihenfolge
durchzuführen, in der die Bilddaten aus der Kamera erhalten
werden (auf sogenannter ”first-come-first-served”-Basis).
-
Weiterhin,
in einem Bildverarbeitungsverfahren, das eine mit einer Mehrzahl
von Kameras versehene Bildverarbeitungsvorrichtung verwendet, die Bilddaten
durch Aufnehmen von Bildern eines Testobjekts erzeugen, und die
dafür konfiguriert ist, Messungen unter Verwendung der
aus der Mehrzahl von Kameras erhaltenen Bilddaten durchzuführen,
ein Bestimmungssignal durch Bestimmen, ob das Testobjekt gut oder
defekt ist, basierend auf einem Ergebnis der Messung, auszugeben,
und einen Zuweisungsprozess zum Durchführen der Zuweisung
von aus der Mehrzahl von Kameras erhaltenen, in der Messung zu verwendenden
Bilddaten und eine Mehrzahl von Messprozessen des Ausführens
der Messung unter Verwendung der im Zuweisungsprozess zugewiesenen
Bilddaten auszuführen, kann das Bildverarbeitungsverfahren
beinhalten: einen Einstellschritt des Einstellens einer Mehrzahl
von Assoziierungsmustern zwischen einem Typ oder Typen einer oder
mehrerer der Mehrzahl von Kameras und einem aus der Mehrzahl von
Messprozessen; einen Bestimmungsschritt des Identifizierens einer
Kamera, aus der die Bilddaten erhalten werden, aus der Mehrzahl
von Kameras, und bestimmt, ob die Bilddaten aus einer Kamera erhalten
werden, die durch eines der Mehrzahl von Assoziierungsmustern spezifiziert
ist, das durch den Einstellschritt eingestellt ist; und einen Zuweisungsschritt
des Ausführens der Zuweisung zum Ausführen eines
der Messprozesse, der durch das Assoziierungsmuster spezifiziert
ist, für welches die Bilddaten als erhalten bestimmt worden
sind.
-
Gemäß einem
solchen Verfahren ist es ähnlich der oben beschriebenen
Bildverarbeitungsvorrichtung möglich, den Zuweisungsprozess
und den Messprozess synchron zu den vorbestimmten Prozeduren mit
einer einzelnen Steuerung auszuführen, wie auch den Bildaufnahmemechanismus
asynchron zu den vorbestimmten Prozeduren zu betreiben, wodurch
eine Bildaufnahmehemmperiode eliminiert wird, die vorgesehen ist,
um unvollständige Bildaufnahme zu verhindern.
-
Wie
oben beschrieben, ist es gemäß der vorliegenden
Erfindung, da der Zuweisungsprozess und der Messprozess synchron
mit den vorbestimmten Prozeduren ausgeführt werden können,
möglich, Probleme bei Speicherkonflikt und Fehlerbeseitigung zu
verhindern, die verursacht werden, wenn die obigen Prozesse asynchron
ausgeführt werden.
-
Weiterhin
kann gemäß der vorliegenden Erfindung, da es möglich
ist, den Bildaufnahmemechanismus, der die Bilddaten aus der Mehrzahl
von Bildaufnahmeeinheiten, die Bilder des Testobjekts aufnehmen,
erhält, asynchron zu den vorbestimmten Prozeduren zu betreiben,
eine Bildaufnahmehemmperiode, die vorgesehen ist, um unvollständige
Bildaufnahme zu verhindern, eliminiert werden. Weiterhin ist es
möglich, diese Effekte mit nur einer einzelnen Steuerung
zu realisieren.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
1 ist
ein Diagramm, das eine schematische Konfiguration einer Bildverarbeitungsvorrichtung
gemäß einer Ausführungsform der vorliegenden Erfindung
zeigt;
-
2A und 2B sind
Flussdiagramme zum schematischen Beschreiben eines Betriebs der Bildverarbeitungsvorrichtung;
-
3 ist
ein Blockdiagramm, das eine Hardware-Konfiguration der Bildverarbeitungsvorrichtung gemäß der
Ausführungsform der vorliegenden Erfindung zeigt;
-
4 ist
ein Flussdiagramm, das einen Betrieb eines Bildaufnahmemechanismus
in der Bildverarbeitungsvorrichtung gemäß der
vorliegenden Ausführungsform zeigt;
-
5 ist
ein Flussdiagramm, das einen Ablauf der Bildverarbeitung der Bildverarbeitungsvorrichtung
gemäß der vorliegenden Ausführungsform zeigt;
-
6 ist
ein Flussdiagramm, das einen detaillierten Ablauf eines Bildaufnahmeeinheiten-Prozesses
zeigt, der in 5 gezeigt ist;
-
7 ist
ein Diagramm, das ein Beispiel von Aufnahmeabschlussbedingungen
zeigt, die vorab eingestellt werden;
-
8 zeigt
ein Timing-Diagramm (Konzept-Diagramm), das den Ablauf der Bildverarbeitung
der Bildverarbeitungsvorrichtung gemäß der vorliegenden
Ausführungsform zeigt;
-
9 ist
ein Blockdiagramm, das ein Beispiel einer funktionalen Konfiguration
eines PCs zeigt, der ein Bildverarbeitungsprogramm der Bildverarbeitungsvorrichtung
erzeugt;
-
10 ist
ein Diagramm, das ein Beispiel eines Editor-Bildschirms (nur einen
Hauptteil) zeigt, der auf einem Anzeigeabschnitt des PCs angezeigt wird;
-
11 ist
ein Diagramm, das ein Beispiel eines Einstellbildschirms zum Einstellen
der in 7 gezeigten Aufnahmeabschlussbedingungen zeigt;
-
12 zeigt
ein Timing-Diagramm (Konzept-Diagramm), das den Ablauf der Bildverarbeitung
der Bildverarbeitungsvorrichtung gemäß einer anderen
Ausführungsform der vorliegenden Erfindung zeigt;
-
13 ist
eine Aufnahmeabschlussbedingungs-Einstelltabelle, welche durch die
Bildverarbeitungsvorrichtung gemäß einer anderen
Ausführungsform der vorliegenden Erfindung verwendet wird;
-
14 ist
eine Aufnahmeabschlussbedingungs-Einstelltabelle, die durch die
Bildverarbeitungsvorrichtung gemäß einer anderen
Ausführungsform der vorliegenden Erfindung verwendet wird;
-
15 zeigt
ein Timing-Diagramm (Konzept-Diagramm), das einen Ablauf der Bildverarbeitung
unter Verwendung der Aufnahmeabschlussbedingungs-Einstelltabelle,
die in 14 gezeigt ist, zeigt;
-
16 ist
eine Aufnahmeabschlussbedingungs-Einstelltabelle, die von der Bildverarbeitungsvorrichtung
gemäß einer anderen Ausführungsform der
vorliegenden Erfindung verwendet wird;
-
17 ist
ein Flussdiagramm, das einen Ablauf der Bildverarbeitung der Bildverarbeitungsvorrichtung
gemäß einer anderen Ausführungsform der vorliegenden
Erfindung zeigt;
-
18 ist
eine Aufnahmeabschlussbedingungs-Einstelltabelle, welche durch die
Bildverarbeitungsvorrichtung gemäß einer anderen
Ausführungsform der vorliegenden Erfindung verwendet wird;
-
19 ist
ein Flussdiagramm, das einen Ablauf der Bildverarbeitung der Bildverarbeitungsvorrichtung
gemäß einer anderen Ausführungsform der vorliegenden
Erfindung zeigt;
-
20 ist
ein Diagramm, welches zeigt, wie ein Bild eines auf einem Transportband
transportierten Werkstücks unter Verwendung von zwei Kameras aufgenommen
wird;
-
21 ist
ein Flussdiagramm, das einen Ablauf der konventionellen Bildverarbeitung
bei Inspektion eines Werkstückes zeigt;
-
22 ist
ein Flussdiagramm, das einen Ablauf der konventionellen Bildverarbeitung
zeigt, wenn ein Werkstück inspiziert wird; und
-
23A und 23B sind
Flussdiagramme, die einen Ablauf der konventionellen Bildverarbeitung
bei Inspektion eines Werkstücks zeigen.
-
BESCHREIBUNG BEVORZUGTER AUSFÜHRUNGSFORMEN
-
Nachfolgend
werden Bildverarbeitungsvorrichtungen gemäß Ausführungsformen
der vorliegenden Erfindung spezifisch unter Bezugnahme auf die Zeichnungen
beschrieben.
-
Schematische Konfiguration
-
1 ist
ein Diagramm, das ein schematisches Konfigurationsbeispiel einer
Bildverarbeitungsvorrichtung gemäß einer Ausführungsform
der vorliegenden Erfindung zeigt. Unter Bezugnahme auf 1 ist
die Bildverarbeitungsvorrichtung 1 versehen mit einer Steuerung 10,
die einen Messprozess wie etwa Kantendetektion und Flächenberechnung ausführt,
drei Kameras 30a, 30b und 30c, die jeweils Bilder
eines Testobjektes aufnehmen, einem Monitor 40, wie etwa
einer Flüssigkristallanzeige, und einer Konsole 50,
mit der ein Anwender verschiedene Bedienungen am Monitor 40 ausführt.
Die Kameras 30a, 30b und 30c, der Monitor 40 und
die Konsole 50 sind abnehmbar mit der Steuerung 10 verbunden. Die
Steuerung 10 führt den Messprozess unter Verwendung
von aus den Kameras 30a, 30b und 30c erhaltenen
Bilddaten durch und gibt ein Bestimmungssignal an einen PLC 60 aus,
wobei das Bestimmungssignal ein Bestimmungsergebnis eines Werkstücks,
wie etwa Gut oder Defekt, anzeigt.
-
Jede
der drei Kameras 30a, 30b und 30c nimmt
ein Bild des Testobjekts auf, basierend auf einem aus dem PLC 60 eingegebenen
Steuersignal, d. h. einem Bildaufnahmeauslösesignal, das
ein Timing spezifiziert, mit dem die Bilddaten durch jede der Kameras 30a, 30b und 30c erfasst
werden. Der Monitor 40 ist eine Anzeigevorrichtung, welche
die Bilddaten, die durch Aufnehmen des Bildes des Testobjektes oder
Ergebnisse des Messprozesses unter Verwendung der Bilddaten erhalten
sind, anzeigt. Im Allgemeinen beobachtet der Anwender visuell Monitor 40, um
den Betriebszustand der Steuerung 10 zu überprüfen,
wenn die Bildverarbeitungsvorrichtung 1 in Betrieb ist.
Die Konsole 50 ist eine Eingabevorrichtung zum Bewegen
einer Fokusposition über den Monitor 40 oder Auswählen
eines Menüpunkts.
-
Weiterhin
ist die Steuerung 10 der Bildverarbeitungsvorrichtung 1 mit
einem PC 70 verbunden, der ein Bildverarbeitungsprogramm
(Steuerprogramm) für die Bildverarbeitungsvorrichtung 1 erzeugt,
und ein Bildverarbeitungsprogramm, das Prozeduren von Bildverarbeitungseinheiten
spezifiziert, wird basierend auf, auf dem PC 70 ablaufender
Software erzeugt (Details werden später beschrieben). In der
Bildverarbeitungsvorrichtung 1 wird jede Bildverarbeitungseinheit
sequentiell gemäß den Prozeduren ausgeführt.
Der PC 70 und die Steuerung 10 sind über
eine Kommunikationsnetzwerk verbunden und das auf dem PC 70 erzeugte
Bildverarbeitungsprogramm wird zusammen mit Layout-Informationen, die
einen Anzeigemodus des Monitors 40 spezifizieren, an die
Steuerung 10 übertragen. Andererseits kann das
Bildverarbeitungsprogramm oder die Layout-Information aus der Steuerung 10 importiert
und mit dem PC 70 editiert werden.
-
2A und 2B sind
Flussdiagramme zum schematischen Beschreiben eines Betriebs der Bildverarbeitungsvorrichtung 1.
Unter Bezugnahme auf die 2A und 2B repräsentiert
Messung A in Schritt S2 eine Messeinheit, die einen vorbestimmten
Messprozess unter Verwendung der durch Bildaufnahme durch die Kamera 30a erhaltenen
Bilddaten ausführt, Messung B in Schritt S3 repräsentiert eine
Messeinheit, die einen vorbestimmten Messprozess unter Verwendung
der durch die Bildaufnahme durch die Kamera 30b erhaltenen
Bilddaten ausführt, und die Messung C in Schritt S4 repräsentiert
eine Messeinheit, die einen vorgegebenen Messprozess unter Verwendung
der durch Bildaufnahme durch die Kamera 30c erhaltenen
Bilddaten ausführt. Weiter werden diese Messeinheiten in
der Steuerung 10 zusammen mit der Bildaufnahmeeinheit in
Schritt S1, einer Verzweigungseinheit in Schritt S5 (2A)
und einer Zusammenführungseinheit in Schritt S6 (2A)
als eine Mehrzahl von Bildverarbeitungseinheiten gespeichert, deren
Verarbeitungsinhalte, die auszuführen sind, spezifiziert
werden. Darüber hinaus sind die in 2A und 2B gezeigten
Flussdiagramme vom Anwender erzeugt, der beispielsweise die auf
dem in 1 gezeigten PC 70 arbeitende Software
verwendet, und repräsentieren die Prozeduren der Bildverarbeitungseinheit.
-
Hier
führt eine Bildaufnahmeeinheit (Schritt S1) in der Bildverarbeitungsvorrichtung 1 gemäß der vorliegenden
Ausführungsform einen Zuweisungsprozess zu aus den Kameras 30a, 30b und 30c erhaltenen
Bilddaten zur Verwendung der Bilddaten im durch die Messeinheit
ausgeführten Messprozess aus. Es wird weiter festgestellt,
ob Aufnahmeabschlussbedingungen einer Mehrzahl von Typen (Details
werden später beschrieben), die etabliert werden können,
wenn die Bilddaten aus einer vorbestimmten Kamera von den Kameras 30a, 30b und 30c erhalten
werden, etabliert werden oder nicht, wenn der Zuweisungsprozess
ausgeführt wird, und der Zuweisungsprozess wird in den
für die Ausführung der Messeinheit verwendeten
Bilddaten ausgeführt, die mit der Aufnahmeabschlussbedingung
assoziiert ist, die als zu etablieren festgestellt wird.
-
In
den 2A und 2B wird
eine Bedingung A als eine Aufnahmeabschlussbedingung etabliert,
wenn die Bilddaten aus der Kamera 30a erhalten werden,
wird eine Bedingung B als Aufnahmeabschlussbedingung etabliert,
wenn Bilddaten aus der Kamera 30b erhalten werden, und
wird eine Bedingung C als Aufnahmeabschlussbedingung etabliert, wenn
die Bilddaten aus der Kamera 30c erhalten werden.
-
Weiterhin
ist die Bedingung A mit der Messung A assoziiert, die Bedingung
B ist mit der Messung B assoziiert und die Bedingung C ist mit der Messung
C assoziiert. Spezifisch wird eine solche Assoziierung in Eigenschaften
der Verzweigungseinheit in Schritt S5 von 2A und
in Eigenschaften jeder Messeinheit von 2B gemacht.
-
Zuerst
das in 2A gezeigte Flussdiagramm im
Detail beschreibend, wird die Bildaufnahmeeinheit (Schritt S1),
die unmittelbar unter dem START-Symbol lokalisiert ist, ausgeführt.
Spezifisch enthält die Steuerung 10 einen Bildaufnahmemechanismus,
der asynchron zum in 2A gezeigten Flussdiagramm betrieben
werden kann und in der Lage ist, die aus der Bildaufnahme durch
die Kameras 30a, 30b und 30c erhaltenen
Bilddaten mit dem Bildaufnahmemechanismus unabhängig vom
in 2 gezeigten Flussdiagramm zu erhalten.
Die Steuerung 10 enthält weiter eine Funktion
zur Identifizierung der Kamera, aus der die Bilddaten erhalten werden
und bestimmt, ob die Bedingungen A bis C etabliert sind, basierend
auf einem Ergebnis der Identifikation. Falls bestimmt wird, dass
irgendeine der Bedingungen nicht etabliert ist, geht die Steuerung 10 in
Bereitschaft, während die obige Identifikationsfunktion
ausgeübt wird, bis irgendeine der Bedingungen A bis C etabliert
ist. Bezüglich eines Timings zum Identifizieren der Kamera,
aus der die Bilddaten erhalten werden (Timing zum Zugriff auf den
Speicher beispielsweise), kann die Identifikation kontinuierlich
oder periodisch ausgeführt werden.
-
Wenn
beispielsweise die durch die Bildaufnahme durch die die Kamera 30a erhaltenen
Bilddaten erhalten werden, bestimmt die Steuerung 10, dass
die Bedingung A etabliert ist und der Zuweisungsprozess wird an
den Bilddaten als die zur Ausführung der Messeinheit verwendeten
Bilddaten (Messung A), die mit der Bedingung A assoziiert sind, ausgeführt.
Durch Ausführen des Zuweisungsprozesses werden die Bilddaten
als ein Objekt wahrgenommen, an dem die Messung A auszuführen
ist.
-
Nach
dem Zuweisungsprozess endet die Ausführung der Bildaufnahmeeinheit
(Schritt S1) und der Prozess bewegt sich zur Ausführung
der Verzweigungseinheit (Schritt S2) weiter. In dieser Verzweigungseinheit
wird ein Verzweigungsprozess ausgeführt, um das Flussdiagramm
zu veranlassen, in die Messeinheiten (Messung A bis Messung C) zu verzweigen.
Zu diesem Zeitpunkt, da die Bedingung A mit der Messung A wie oben
beschrieben assoziiert ist, bewegt sich der Prozess zur Messeinheit
in Schritt S2 (der Messung A) nach der Verzweigungseinheit weiter.
Dann wird unter Verwendung der durch die Bildaufnahme durch die
Kamera 30a erhaltenen Bilddaten der durch die Messung A
angezeigte Messprozess ausgeführt. Nach dem Messprozess wird
der einzelne Flussablauf am ENDE-Symbol nach einer Zusammenführeinheit
in Schritt S6 abgeschlossen.
-
Dasselbe
gilt für den Fall, bei dem die Steuerung 10 die
durch die Bildaufnahme durch die Kamera 30b erhaltenen
Bilddaten erhält und für den Fall, bei dem die
Steuerung 10 die durch die Bildaufnahme durch die Kamera 30c erhaltenen
Bilddaten erhält. Das heißt, im früheren
Fall wird die Messeinheit in Schritt S3 (Messung B) nach der Bildaufnahmeeinheit
in Schritt S1 über die Verzweigungseinheit in Schritt S5
ausgeführt und im letzteren Fall wird die Messeinheit in
Schritt S4 (Messung C) nach der Bildaufnahmeeinheit in Schritt S1 über
die Verzweigungseinheit in Schritt S5 ausgeführt.
-
Konventionellerweise
wird ein Timing, bei dem die Ausführung der Bildaufnahmeeinheit
(Schritt S1) endet, einfach zu einem solchen Timing festgelegt,
wenn der Zuweisungsprozess zu den Bilddaten, die zum Ausführen
der Messung A verwendet werden, ausgeführt wird, und daher
ist es nicht möglich, die Flussabfolge, wie in 2A gezeigt,
zu realisieren. Das heißt, wenn das Timing, mit dem die
Ausführung der Bildaufnahmeeinheit endet, als das Timing bestimmt
wird, an dem der Zuweisungsprozess zu den zum Ausführen
der Messung A verwendeten Bilddaten ausgeführt wird, wird
die Bildverarbeitung nur über einen Prozessablauf ausgeführt,
bei dem die Messeinheit (Messung A) in Schritt S2 ausgeführt wird,
nach der Bildaufnahmeeinheit in Schritt S1 über die Verzweigungseinheit
in Schritt S5. Weiter, wenn das Timing, mit dem die Ausführung
der Bildaufnahmeeinheit endet, als das Timing festgestellt wird,
bei dem der Zuweisungsprozess zu dem zum Ausführen der
Messung B verwendeten Bilddaten ausgeführt wird, wird die
Bildverarbeitung nur über einen Prozessfluss, bei dem die
Messeinheit (Messung B) in Schritt S3 nach der Bildaufnahmeeinheit
in Schritt S1 über die Verzweigungseinheit in Schritt S5
durchgeführt wird, ausgeführt. Ähnlich,
wenn das Timing, mit dem die Ausführung der Bildaufnahmeeinheit
endet, als das Timing festgestellt wird, bei dem der Zuweisungsprozess
zu den zur Ausführung der Messung C verwendeten Bilddaten
ausgeführt wird, wird die Bildverarbeitung nur über
einen Prozessablauf durchgeführt, bei dem die Messeinheit
(Messung C) in Schritt S4 nach der Bildaufnahmeeinheit in Schritt
S1 über die Verzweigungseinheit in Schritt S5 ausgeführt wird.
-
Jedoch,
da die Bildverarbeitungsvorrichtung 1 gemäß der
vorliegenden Ausführungsform durch Einstellen des Timings,
bei dem die Ausführung der Bildaufnahmeeinheit (Schritt
S1) endet, als das Timing, bei dem der Zuweisungsprozess zu den
Bilddaten ausgeführt wird, die zum Ausführen der
Messeinheit (eine der Messungen A bis C) verwendet wird, die mit
der Aufnahmeabschlussbedingung assoziiert ist, die eine der Aufnahmeabschlussbedingungen aus
der Mehrzahl von Typen ist, die als zu etablieren festgestellt werden,
ist es möglich, den Prozessablauf wie in 2A gezeigt
zu realisieren.
-
Als
Nächstes wird das in 2B gezeigte Flussdiagramm
beschrieben. Das in 2B gezeigte Flussdiagramm enthält
die Verzweigungseinheit (Schritt S5) und die Zusammenführeinheit
(Schritt S6), die im in 2A gezeigten
Flussdiagramm enthalten sind, nicht. In 2B, wie
oben beschrieben, wird die Assoziierung zwischen der Aufnahmeabschlussbedingung
und der Messeinheit in den Eigenschaften jeder Messeinheit gemacht.
Daher wird die Messeinheit (die Messung A) in Schritt S2 ausgeführt,
wenn festgestellt wird, dass die Bedingung A etabliert ist, aber
ansonsten ohne Ausführung übersprungen. Weiter
wird die Messeinheit (Messung B) in Schritt S3 ausgeführt,
wenn festgestellt wird, dass die Bedingung B etabliert ist, aber
ansonsten ohne Ausführung übersprungen. Darüber
hinaus wird die Messeinheit (Messung C) in Schritt S4 ausgeführt, wenn
festgestellt wird, dass die Bedingung C etabliert ist, aber ansonsten
ohne Ausführung übersprungen. Es sollte angemerkt
werden, dass der Verarbeitungsinhalt der Bildaufnahmeeinheit (Schritt
S1) derselbe wie in 2A ist.
-
Daher,
wenn der Zuweisungsprozess ausgeführt wird, nachdem festgestellt
wird, dass die Bedingung A in der Bildaufnahmeeinheit etabliert
ist (Schritt S1), wird nur die Messeinheit (Messung A) in Schritt
S2 als der nachfolgende Prozessfluss ausgeführt und die
Messeinheit (Messung B) in Schritt S3 und die Messeinheit (Messung
C) in Schritt S4 werden übersprungen und die einzelne Flusssequenz endet
am ENDE-Symbol. Dasselbe gilt in dem Fall, bei dem der Zuweisungsprozess
ausgeführt wird, nachdem festgestellt wird, dass die Bedingung
B oder die Bedingung C etabliert sind.
-
In
den 2A und 2B wird
die Aufnahmeabschlussbedingung als etabliert festgestellt, wenn
die Bilddaten aus den Kameras 30a bis 30c in der
Steuerung 10 ”erhalten worden sind”.
Jedoch kann die Aufnahmeabschlussbedingung als etabliert festgestellt
werden, wenn die Bilddaten aus den Kameras 30a bis 30c ”erhalten
werden”. Spezifisch kann beispielsweise die Aufnahmeabschlussbedingung
als etabliert festgestellt werden, wenn das Bildaufnahmeauslösesignal
irgendeiner der Kameras 30a bis 30c aus dem PLC 260 an
der Steuerung 10 eingegeben wird.
-
Wie
oben beschrieben, speichert die Bildverarbeitungsvorrichtung 1 die
Mehrzahl von Bildverarbeitungseinheiten, in denen die auszuführenden
Verarbeitungsinhalte spezifiziert sind und enthalten die Bildverarbeitungseinheiten
die Messeinheiten (Schritt S2 bis Schritt S4), die den Messprozess
unter Verwendung der aus der Kamera, die das Bild des Testobjektes
aufnimmt, erhaltenen Bilddaten ausführen, und die Bildaufnahmeeinheit
(Schritt S1), die den Zuweisungsprozess zu den aus der Kamera erhaltenen
Bilddaten zur Verwendung der Bilddaten im Messprozess ausführt.
Weiterhin, basierend auf dem Bildverarbeitungsprogramm, das die
Prozeduren der Bildverarbeitungseinheit spezifiziert, führt
die Bildverarbeitungsvorrichtung 1 sequentiell die Bildverarbeitungseinheiten
gemäß den Prozeduren aus.
-
Darüber
hinaus speichert die Bildverarbeitungsvorrichtung 1 die
Aufnahmeabschlussbedingungen der Mehrzahl von Typen, die etabliert
werden, wenn die Bilddaten aus der vorbestimmten Kamera aus der
Mehrzahl von Kameras erhalten werden. spezifisch gibt es einen Satz
einer Mehrzahl von Mustern der Assoziierung zwischen einem oder
einer Mehrzahl von Typen von Kameras (wie etwa den Kameras 30a, 30b und 30c)
und einer der Mehrzahl von Messprozessen (Schritt S2 bis Schritt
S4). Weiter enthält der Verarbeitungsinhalt der Bildaufnahmeeinheit
(Schritt S1) das Identifizieren der Kamera, aus der die Bilddaten
erhalten werden, aus der Mehrzahl von Kameras, Bestimmen, ob die
Aufnahmeabschlussbedingungen der Mehrzahl von Arten etabliert ist
oder nicht, Durchführen der Zuweisung zu den für
die Ausführung der Messeinheit verwendeten Bilddaten, die
mit der Aufnahmeabschlussbedingung assoziiert ist, die als etabliert festgestellt
wird (d. h., wenn festgestellt wird, dass die Bilddaten aus der
Kamera der Art erhalten werden, die in einem Assoziierungsmuster
aus der Mehrzahl von Assoziierungsmustern spezifiziert ist, einem
in dem einen Assoziierungsmuster spezifizierten Messprozess).
-
Auf
diese Weise ist es möglich, die Bildaufnahmeeinheit und
die Messeinheit synchron mit den vorbestimmten Prozeduren auszuführen,
so dass der Prozess sich von der einen Bildaufnahmeeinheit zur Messeinheit
bewegt, die mit der Aufnahmeabschlussbedingung assoziiert ist, die
als etabliert festgestellt wird, aus den in den Prozeduren enthaltenen Messeinheiten.
Zusätzlich wird in der Bildaufnahmeeinheit gemäß der
vorliegenden Erfindung die Bewegung zur Messeinheit durch die Feststellung
ausgelöst, dass irgendeine der Aufnahmeabschlussbedingungen
der Mehrzahl von Typen etabliert ist. Entsprechend ist es möglich,
den Bildaufnahmemechanismus, der die Bilddaten aus der Mehrzahl
von Bildaufnahmeeinheiten erhält, welche die Bilder des Testobjektes
aufnehmen, zu veranlassen, asynchron zu den vorbestimmten Prozeduren
zu arbeiten. Als Ergebnis ist es möglich, die Bildaufnahmehemmperiode
zu eliminieren, um unvollständige Bildaufnahme zu verhindern.
Zusätzlich ist es möglich, einen solchen Effekt
nur mit einer einzelnen Steuerung zu realisieren.
-
Die
vorliegende Ausführungsform, die unten beschrieben ist,
nimmt ein Beispiel, bei dem die Assoziierung zwischen den Aufnahmeabschlussbedingungen
und den Messeinheiten in den Eigenschaften der Verzweigungseinheit
(Schritt S5) gemacht wird, wie in 2A gezeigt.
-
Hardware-Konfiguration
-
3 ist
ein Blockdiagramm, das eine Hardware-Konfiguration der Steuerung
C in der Bildverarbeitungsvorrichtung 1 gemäß der
vorliegenden Erfindung zeigt. Bezug nehmend auf 3ist
die Steuerung 10 in der Bildverarbeitungsvorrichtung 1 versehen
mit einem Hauptsteuerabschnitt 11 wie etwa einer CPU, der
numerische Berechnung oder Informationsverarbeitung durchführt,
basierend auf verschiedenen Programmen wie auch Steuerungen der
Hardware-Komponenten, einem Programmspeicher 12, wie etwa
einem ROM oder einem Flash-ROM, der Programme wie etwa ein Boot-Programm
und ein Initialisierungsprogramm speichert, einem Hauptspeicher 13,
wie etwa einem RAM, der als ein Arbeitsbereich funktioniert, wenn
die CPU 11 verschiedene Programme ausführt, einen
Kommunikationsabschnitt 14, der extern mit dem PLC 60,
dem PC 70 oder dergleichen verbunden ist, um in der Lage
zu sein, miteinander zu kommunizieren, und einen Bedienungseingabeabschnitt 15,
an dem ein Bediensignal auf der Konsole 50 eingegeben wird.
Weiterhin ist die Bildverarbeitungsvorrichtung 1 versehen
mit einem Bildeingabeabschnitt 16 wie etwa einem ASIC, der
aus der Bildaufnahme durch die Kameras 30a bis 30c erhaltene
Bilddaten erfasst, einem Bildspeicher (Rahmenpuffer) 17a,
der die Bilddaten puffert, einem Bildprozessor 18 wie etwa
einem DSP, der den Messprozess wie etwa Kantendetektion und Flächenberechnung
ausführt, einem Bildspeicher (Arbeitsspeicher) 17b,
der die Bilddaten für den Messprozess speichert, einem
Bildanzeigeabschnitt 19, wie etwa einen DSP, der ein Bild
auf dem Monitor 40, wie etwa einem Flüssigkristallpaneel,
anzeigt, und einem Videospeicher 20, wie etwa einem VRAM,
das die Bilddaten bei Anzeige des Bildes zeitweilig speichert. Weiterhin
sind diese Hardware-Komponenten verbunden, um in der Lage zu sein,
miteinander über eine elektronische Verdrahtung, wie etwa
einen Bus, zu kommunizieren.
-
Der
Programmspeicher 12 speichert ein Vorrichtungssteuerprogramm,
um den Bildeingabeabschnitt 16, den Bildprozessor 18,
den Bildanzeigeabschnitt 19 und den Kommunikationsabschnitt 14 und den
Bedieneingabeabschnitt 15 durch den Hauptsteuerabschnitt 11 zu
steuern. Weiterhin speichert ein (nicht gezeigter) Programmspeicher
im Bildeingabeabschnitt 16 ein Bildeingabeprogramm zum
Ausführen verschiedener Prozesse, wie etwa Erfassen der
durch die Bildaufnahme durch die Kameras 30a bis 30c erhaltenen
Bilddaten, Puffern im Bildspeicher 17a, des Zuweisungsprozesses
der gepufferten Bilddaten für den Messprozess und das interne
Transferieren zum Bildspeicher 17b. Ein (nicht gezeigter) Programmspeicher
im Bildprozessor 18 speichert ein Messprozessprogramm zum
Ausführendes Messprozesses. Ein (nicht gezeigter) Programmspeicher im
Bildanzeigeabschnitt 19 speichert ein Bildanzeigeprogramm
zum Anzeigen eines Bildes auf dem Monitor 40. Alternativ
können das Bildeingabeprogramm, das Messprozessprogramm,
und das Bildanzeigeprogramm im Programmspeicher 12 des
oben beschriebenen Hauptspeichers 13 gespeichert werden.
-
Der
Hauptspeicher 13, die Bildspeicher 17a und 17b und
der Videospeicher 20 sind durch flüchtige Speicher
wie etwa SRAMs oder SDRAMS aufgebaut und jeweils als unabhängige
Speicher in der in 3 gezeigten Steuerung 10 vorgesehen.
Diese Speicher können durch nicht-flüchtige Speicher
oder durch einen einzelnen Speicher, der in eine Mehrzahl von Speicherbereichen
unterteilt ist, welche die entsprechenden Speicher bilden, konfiguriert
sein. Weiterhin ist der Bildspeicher 17a als der Rahmenpuffer dafür
konfiguriert, sowohl für Lesen als auch Schreiben simultan
zugänglich zu sein.
-
Der
Kommunikationsabschnitt 14 funktioniert als eine Schnittstelle
(I/F, Interface) zum Empfangen des Bildaufnahmeauslösesignals
aus dem PLC 60, wenn eine Auslöseeingabe an einem
Sensor (wie etwa eine photoelektrischen Sensor) gemacht wird, der
mit dem externen PLC 60 verbunden ist. Weiterhin funktioniert
der Kommunikationsabschnitt 14 auch als eine Schnittstelle
(I/F) zum Empfangen des Bildverarbeitungsprogramms der Bildverarbeitungsvorrichtung 1 oder
der Layout-Information, die den Anzeigemodus des Monitors 40 spezifiziert,
die vom PC 70 übertragen wird. Der Hauptsteuerabschnitt 11 sendet
ein Aufnahmekommando an den Bildeingabeabschnitt 16 beim
Empfang des Bildaufnahmeauslösesignals aus dem PLC 60 über
den Kommunikationsabschnitt 14. Das Bildaufnahmeauslösesignal kann
ein Bildaufnahmeauslöser an eine der Kameras 30a bis 30c sein
oder kann ein Bildaufnahmeauslöser an alle Kameras 30a bis 30c sein.
Folglich kann auch das aus dem Hauptsteuerabschnitt 11 an
den Bildeingabeabschnitt 16 gesendete Aufnahmekommando
ein Aufnahmekommando für eine der Kameras 30a bis 30c sein
oder kann ein Aufnahmekommando für alle Kameras 30a bis 30c gleichzeitig
sein. Zusätzlich kann ein Sensor, wie etwa ein photoelektrischer
Sensor, zur Eingabe eines Auslösers direkt mit dem Kommunikationsabschnitt 14 als
eine Vorrichtung verbunden sein, die ein Bildaufnahmeauslösesignal
erzeugt, anstelle des PLC 60.
-
Der
Bedieneingabeabschnitt 15 funktioniert als eine Schnittstelle
(I/F) zum Empfangen eines Bediensignals von der Konsole 50.
Die Konsole 50 ist mit einer Pfeiltaste zum Bewegen eines
Cursors auf dem Monitor 40 von rechts nach links oder oben
und unten, einen Bestimmungsknopf und einem Abbruchknopf versehen.
Diese Komponenten können verwendet werden, wenn der Anwender
die Aufnahmeabschlussbedingungen oder dergleichen einstellt. Die
Konsole 50 kann durch eine Tastatur oder eine Maus ersetzt
werden. Weiterhin ist es möglich, ein berührungssensitives
Paneel zu verwenden, in dem die Funktion der Konsole 50 und
die Funktion des Monitors 40 integriert sind.
-
Die
Kameras 30a bis 30c sind ein Beispiel einer Bildaufnahmeeinheit,
die sichtbares Licht oder Infrarotlicht verwendet, um das Bild des
Testobjektes aufzunehmen, und eine CCD oder CMOS sein kann. Die
drei Kameras 30a bis 30c, die mit dem Bildeingabeabschnitt 16 verbunden
sind, sind jeweils mit A/D-Wandlern darin ausgestattet und geben
die durch die Bildaufnahme erhaltenen Bilddaten als digitale Daten
aus. Weiterhin arbeitet jede Kamera basierend auf einem Bilddaten-Erfassungssignal
aus dem Bildeingabeabschnitt 16 (oder dem Hauptsteuerabschnitt 11).
Beispielsweise ist es möglich, das Bild des Testobjektes
durch nur eine der Kameras 30a bis 30c oder durch
alle Kameras 30a bis 30c aufzunehmen. Es ist auch
möglich, einen Verstärker wie etwa einen Repeater
zwischen den Kameras 30a bis 30c und dem Bildeingabeabschnitt 16 vorzusehen. Weiterhin
sind in der vorliegenden Ausführungsform die Kameras 30a bis 30c mit
den A/D-Wandlern versehen, aber es ist möglich, eine Kamera
mit einer analogen Ausgabe zu verwenden und einen A/D-Wandler am
Bildeingabeabschnitt 16 bereitzustellen. Darüber
hinaus sind in der vorliegenden Ausführungsform drei Kameras
mit dem Bildeingabeabschnitt 16 verbunden, aber es ist
möglich, vier beispielsweise Kameras mit dem Bildeingabeabschnitt zu
verbinden.
-
Der
Bildeingabeabschnitt 16 erfasst die Bilddaten gemäß dem
oben beschriebenen Bildeingabeprogramm. Spezifisch sendet beispielsweise
beim Empfang des Aufnahmekommandos für die Kamera 30a aus
dem Hauptsteuerabschnitt 11 der Bildeingabeabschnitt 16 das
Bilddaten-Erfassungssignal an die Kamera 30a. Dann erfasst
nach der Bildaufnahme durch die Kamera 30a der Bildeingabeabschnitt 16 die
durch die Bildaufnahme erhaltenen Bilddaten. Die erfassten Bilddaten
werden temporär im Bildspeicher 17a gepuffert.
-
Hier
wird in der Bildverarbeitungsvorrichtung 1 gemäß der
vorliegenden Ausführungsform das Aufnahmekommando, das
aus dem Hauptsteuerabschnitt 11 an den Bildeingabeabschnitt 16 gesendet wird,
vorübergehend in einem (nicht gezeigten) Arbeitsspeicher
innerhalb des Bildeingabeabschnitts 16 zwischengespeichert.
Entsprechend bezieht sich der Bildeingabeabschnitt 16 auf
den Inhalt des im Arbeitsspeicher zwischengespeicherten Aufnahmekommandos,
wodurch diejenige Kamera von den Kameras 30a bis 30c identifiziert
wird, von der die im Bildspeicher 17a gepufferten Bilddaten
erhalten werden. Andererseits speichert der Hauptspeicher 13 die Aufnahmeabschlussbedingungen
der Mehrzahl von Typen, die etabliert sind, wenn die Bilddaten aus
der vorbestimmten Kamera von den Kameras 30a bis 30c erhalten
werden (Details werden später beschrieben).
-
Der
Bildeingabeabschnitt 16 identifiziert diejenige Kamera
aus den Kameras 30a bis 30c, von der die im Bildspeicher 17a gepufferten
Bilddaten erhalten werden, durch Bezugnahme auf den Inhalt des zwischengespeicherten
Aufnahmekommandos, greift auf den Hauptspeicher 13 zu,
um sich auf die Aufnahmeabschlussbedingungen der Mehrzahl von Typen
zu beziehen und bestimmt, welche Aufnahmeabschlussbedingungen von
den Aufnahmeabschlussbedingungen der Mehrzahl von Typen etabliert
ist.
-
Wenn
festgestellt wird, dass eine Aufnahmeabschlussbedingung aus den
Aufnahmeabschlussbedingungen der Mehrzahl von Typen etabliert ist, führt
der Bildeingabeabschnitt 16 den Zuweisungsprozess für
den Messprozess (Zuweisungsprozess) zu den im Bildspeicher 17a gespeicherten
Bilddaten aus, wie den zum Ausführen der Messeinheit verwendeten
Bilddaten, die mit einer Aufnahmeabschlussbedingung assoziiert ist.
Spezifisch werden im Bildspeicher 17a die Bilddaten mit
einer Bildvariablen, die zuvor vorbereitet worden ist, substituiert. Anders
als bei normalen Variablen, die numerische Zahlen handhabt, indem
als ein Eingabebild der entsprechenden Bildverarbeitungseinheit
zugewiesen wird (Details der Bildverarbeitungseinheit werden später
beschrieben), ist die Bildvariable eine Variable, die ein Referenzziel
im Messprozess oder der Bildanzeige wird. Durch Substituieren der
Bilddaten mit der Bildvariablen durch den Bildeingabeabschnitt 16 und
Ausführen des Zuweisungsprozesses für den Messprozess
ist die Ausführung der Bildaufnahmeeinheit abgeschlossen,
wie unter Bezugnahme auf 2A und 2B beschrieben.
-
Weiterhin,
wenn festgestellt wird, dass die Mehrzahl von Aufnahmeabschlussbedingungen
aus den Aufnahmeabschlussbedingungen der Mehrzahl von Typen etabliert
ist, führt der Bildeingabeabschnitt 16 den Zuweisungsprozess
für den Messprozess zu den Bilddaten durch, der für
die Ausführung des mit der einen Aufnahmeabschlussbedingung
assoziierten Messeinheit verwendet wird, basierend auf der Priorität,
die zuvor spezifiziert wird. Details der ”zuvor spezifizierten
Priorität” werden später beschrieben.
-
Wenn
andererseits festgestellt wird, dass irgendeine der Aufnahmeabschlussbedingungen
der Mehrzahl von Typen nicht etabliert ist, führt der Bildeingabeabschnitt 16 den
Zuweisungsprozess für den Messprozess nicht durch und setzt
den Prozess der Identifikation der Kamera, aus der die Bilddaten erhalten
werden, von den Kameras 30a bis 30c fort. Der
Identifikationsprozess kann kontinuierlich oder periodisch wiederholt
werden, und wie der Prozess wiederholt wird, ist nicht in bestimmter
Weise beschränkt.
-
Wenn
die Ausführung der Messeinheit startet, liest der Bildeingabeabschnitt 16 die
Bilddaten aus dem Bildspeicher 17a und transferiert die
Bilddaten intern an den Bildspeicher 17b durch den Bildprozessor 18.
Dann führt der Bildprozessor 18 den Messprozess
an Bilddaten aus, während er sich auf die oben beschriebene
Bildvariable bezieht.
-
Gemäß der
vorliegenden Ausführungsform wird der Inhalt des Aufnahmekommandos,
das aus dem Hauptsteuerabschnitt 11 empfangen wird, verwendet,
um die Kamera zu identifizieren, aus der die Bilddaten erhalten
werden. Jedoch ist es möglich, ein Bilderfassungssignal
zu verwenden, das aus dem Bildeingabeabschnitt 16 an die
Kameras 30a bis 30c gesendet wird. In diesem Fall
kann das Bilderfassungssignal temporär im Arbeitsspeicher
des Bildeingabeabschnitts 16 zwischengespeichert werden. Weiterhin
kann auch das Bildaufnahmeauslösesignal aus dem PLC 60,
wie in ”Konfigurationsumriss” beschrieben, verwendet
werden, anstelle des Aufnahmekommandos oder des Bilderfassungssignals.
-
Weiterhin
wird gemäß der vorliegenden Ausführungsform
eine Substitution der Bilddaten mit der Bildvariablen, die zuvor
im Bildspeicher 17a vorbereitet worden ist, als der Zuweisungsprozess
für den Messprozess zu den Bilddaten erwogen. Jedoch können
verschiedene Methoden erwogen werden. Beispielsweise können
unter Verwendung eines Pointers in der Computersprache C die Bilddaten
ein gespeichertes Sequenzelement als die Bildvariable anzeigen.
Alternativ können die Bilddaten durch die Bildvariable
substituiert werden, die der Kamera ab dem Anfang entspricht, wenn
die aus den Kameras 30a bis 30c erhaltenen Bilddaten
im Bildspeicher 17a gespeichert werden. In diesem Fall
wird die Kamera, aus der Bilddaten erhalten werden, unter Verwendung
der Bildvariablen identifiziert, und der interne Transfer zum Bildspeicher 17b kann
der Zuweisungsprozess für den Messprozess zu den Bilddaten sein.
-
Der
Bildprozessor 18 liest die im Bildspeicher 17b gespeicherten
Bilddaten aus und führt den Messprozess aus. Die Bilddaten,
an denen der Messprozess ausgeführt wird, können
identisch mit den Bilddaten, die im Bildspeicher 17a gespeichert
sind, sein, oder können Bilddaten sein, an denen eine Vorprozessierung
(wie etwa Rauschminderung) in dem Bildeingabeabschnitt 16 oder
dem Bildprozessor 18 ausgeführt worden sind.
-
Der
Bildanzeigeabschnitt 19 zeigt ein vorbestimmtes Bild auf
dem Monitor 40 an, basierend auf einem aus dem Hauptsteuerabschnitt 11 gesendeten Anzeigekommando.
Beispielsweise liest der Bildanzeigeabschnitt 19 die Bilddaten
vor oder nach dem im Bildspeicher 17b gespeicherten Messprozess
aus, speichert sie temporär im Videospeicher 20(expandiert)
und sendet das Bilddatenanzeigesignal an den Monitor 40.
-
Fluss der Bildverarbeitung
-
4 ist
ein Flussdiagramm, das einen Betrieb des Bildaufnahmemechanismus
in der Bildverarbeitungsvorrichtung gemäß der
vorliegenden Ausführungsform l zeigt. Wie hierin verwendet,
bezieht sich der ”Bildaufnahmemechanismus”, wie
unter Bezugnahme auf die 2A und 2B beschrieben, auf
einem Mechanismus, der (wiederholt) die Bilddaten aus den Kameras 30a bis 30c asynchron
zu vorbestimmten Prozeduren erhält.
-
Unter
Bezugnahme auf 4 wird zuerst festgestellt,
ob es eine externe Auslösereingabe gibt oder nicht (Schritt
S7). Spezifisch bestimmt der Hauptsteuerabschnitt 11, ob
das Bildaufnahmeauslösesignal aus dem PLC 60 über
den Kommunikationsabschnitt 14 empfangen worden ist. Falls
bestimmt wird, dass das Signal noch nicht empfangen worden ist (Schritt
S7: NEIN), geht der Hauptsteuerabschnitt 11 bis zum Empfang
in den Bereitschaftsmodus. Falls andererseits festgestellt wird,
dass das Signal empfangen worden ist (Schritt S7: JA), sendet der Hauptsteuerabschnitt 11 das
Aufnahmekommando an den Bildeingabeabschnitt 16. Auf diese
Weise, wie oben beschrieben, erfasst der Bildeingabeabschnitt 16 die
Bilddaten (Schritt S8) und puffert die Bilddaten im Bildspeicher 17a (Schritt
S9). Die Erfassung der Bilddaten und das Puffern im Bildspeicher 17a werden,
ausgelöst durch die externe Auslöseeingabe, wiederholt
durchgeführt. Entsprechend ist es möglich, den
Bildaufnahmehemmzeitraum zu eliminieren, der vorgesehen ist, um
eine inkomplette Bildaufnahme zu verhindern.
-
5 ist
ein Flussdiagramm, das ein Beispiel der Prozeduren zur Steuerung
der Bildverarbeitungsvorrichtung 1 gemäß der
vorliegenden Ausführungsform zeigt. Das in 5 gezeigte Flussdiagramm
bestimmt den Messzyklus, wobei eine Flusssequenz vom START-Symbol
(in diesem Fall durch S angezeigt) zum ENDE-Symbol (in diesem Fall
durch E angezeigt) als Bildverarbeitung eines einzelnen Zyklus angenommen
wird, gebildet durch eine Bildaufnahmeeinheit (Schritt S11) einer
Verzweigungseinheit, die den Prozessfluss in zwei oder mehr Verzweigungsflüsse
verzweigt (Schritt S12), Flächeneinheiten zum Ausführen
von Flächenberechnungen als ein Beispiel der Messeinheit
(Schritt S13 und Schritt S14) und eine Zusammenführeinheit
zum Zusammenführen der Verzweigungsflüsse, die
verzweigt worden sind (Schritt S15). Diese Verarbeitungseinheiten
sind Symbole, die jeweils Prozesse repräsentieren, in denen
Parameter geändert werden können, und auf dem
Flussdiagramm beim PC 70 vorgesehen sind. In der unten
stehenden Beschreibung werden aus Gründen der Beschreibung
von den Kameras 30a bis 30c nur die Kameras 30a und 30b verwendet.
-
Unter
Bezugnahme auf 5 wird zuerst die Bildaufnahmeeinheit
ausgeführt (Schritt S11). Wenn die Bildaufnahmeeinheit
ausgeführt wird, wird die Kamera, aus der die durch den
Bildaufnahmemechanismus erhaltenen Bilddaten erhalten werden (4) durch
den Bildeingabeabschnitt 16 aus den Kameras 30a
30b identifiziert.
Dann wird festgestellt, welche der Aufnahmeabschlussbedingungen
der Mehrzahl von Typen durch den Bildeingabeabschnitt 16 etabliert
ist, basierend auf einem Identifikationsergebnis, und der Zuweisungsprozess
der für den Messprozess zum Ausführen der Flächeneinheit
verwendeten Bilddaten, die mit der Aufnahmeabschlussbedingung assoziiert
sind, die als etabliert festgestellt wird (Schritt S13 oder Schritt
S14) wird ausgeführt. Nachfolgend wird über die
Verzweigungseinheit (Schritt S12) entweder die Flächeneinheit
von Schritt S13 oder die Flächeneinheit von Schritt S14
ausgeführt.
-
Die
Bildaufnahmeeinheit von Schritt S11 wird weiter detailliert unter
Bezugnahme auf 6 beschrieben. 6 ist
ein Flussdiagramm, welches den Prozessfluss der Bildaufnahmeeinheit
(Schritt S11) zeigt, die in 5 gezeigt
ist. Wie in 6 gezeigt, wird in der vorliegenden
Ausführungsform festgestellt, ob der Bildspeicher 17a die
Aufnahmeabschlussbedingung erfüllt oder nicht (Schritt
S111). Spezifisch greift der Bildeingabeabschnitt 16 auf
den Hauptspeicher 13 zu, bezieht sich auf die zuvor eingestellten
Aufnahmeabschlussbedingungen und bestimmt, ob die Aufnahmeabschlussbedingungen
etabliert sind, basierend auf dem aus dem Hauptsteuerabschnitt 11 empfangenen
Aufnahmekommando.
-
Beispielsweise
ist 7 ein Diagramm, das ein Beispiel der Aufnahmeabschlussbedingungen zeigt.
Unter Bezugnahme auf 7 wird sie so gesetzt, dass
eine Bedingung 0 etabliert ist, wenn die im Bildspeicher 17a gespeicherten
Bilddaten aus der Kamera 30a erhalten werden, und eine
Bedingung 1 etabliert ist, wenn die Bilddaten aus der Kamera 30b erhalten
werden. Entsprechend der vorliegenden Ausführungsform wird
im in 6 gezeigten Schritt S111 festgestellt, ob der
Bildspeicher 17a die Aufnahmeabschlussbedingungen (einschließlich
zwei Arten der Bedingung 0 und der Bedingung 1) erfüllt,
die in 7 gezeigt sind.
-
Falls
festgestellt wird, dass die Aufnahmeabschlussbedingungen nicht erfüllt
sind (Schritt S111: NEIN), das heißt, falls festgestellt
wird, dass der Bildspeicher 17a nicht entweder die aus
der Kamera 30a erhaltenen Bilddaten oder die aus der Kamera 30b erhaltenen
Bilddaten speichert, geht der Bildeingabeabschnitt 16 in
Bereitschaft, bis die Aufnahmeabschlussbedingung erfüllt
ist. Andererseits, falls festgestellt wird, dass die Aufnahmeabschlussbedingung erfüllt
ist (Schritt S111: JA), das heißt, falls bestimmt wird,
dass der Bildspeicher 17a entweder die aus der Kamera 30a erhaltenen
Bilddaten oder die aus der Kamera 30b erhaltenen Bilddaten
speichert, führt der Bildeingabeabschnitt 16 den
Zuweisungsprozess für den Messprozess durch (Schritt S112).
Spezifisch substituiert der Bildeingabeabschnitt 16 die
im Bildspeicher 17a gespeicherten Bilddaten durch die Bildvariable,
die zuvor für den Messprozess vorbereitet worden ist. Wenn
der Zuweisungsprozess für den Messprozess endet, ist die
Ausführung der Bildaufnahmeeinheit in Schritt S11 abgeschlossen.
Der Bestimmungsprozess in Schritt S111 kann kontinuierlich durchgeführt
werden, während die Bildaufnahmeeinheit gerade ausgeführt
wird, oder der Bestimmungsprozess in Schritt S111 kann in periodischen
Intervallen durchgeführt werden.
-
Nochmals
Bezug nehmend auf 5 wird, nachdem die Ausführung
der Bildaufnahmeeinheit in Schritt S11 abgeschlossen ist, der Prozess
der Verzweigungseinheit ausgeführt (Schritt S12). Spezifisch
ist gemäß der vorliegenden Ausführungsform
in den Eigenschaften der Verzweigungseinheit die Bedingung 0, die
in 7 gezeigt ist, mit der Flächeneinheit
von in 5 gezeigtem Schritt S13 assoziiert, und ist die
in 7 gezeigte Bedingung 1 mit der Flächeneinheit
von in 5 gezeigtem Schritt S14 assoziiert. Daher, wenn
festgestellt wird, dass die Bedingung 0 aus den Aufnahmeabschlussbedingungen, die
in 7 gezeigt sind, etabliert ist, wird die Flächeneinheit
des in 5 gezeigten Schritts S13 ausgeführt,
und wenn festgestellt wird, dass die Bedingung 1 aus den in 7 gezeigten
Aufnahmeabschlussbedingungen etabliert ist, wird die in 5 gezeigten
Flächeneinheit von Schritt S14 ausgeführt.
-
Wenn
entweder die Flächeneinheit von Schritt S13 oder die Flächeneinheit
von Schritt S14 ausgeführt wird, überträgt
der Bildeingabeabschnitt 16 intern die mit der Bildvariablen
substituierten Bilddaten aus dem Bildspeicher 17a an den
Bildspeicher 17b. Der Bildprozessor 18 liest die
Bilddaten aus dem Bildspeicher 17b aus und führt
den Messprozess wie etwa Kantendetektion und Flächenberechnung
aus. Zu diesem Zeitpunkt wird durch Bezugnahme auf die Bildvariable,
durch die die Bilddaten substituiert sind, erkannt, ob der Messprozess
an den aus Kamera 30a erhaltenen Bilddaten oder den aus Kamera 30b erhaltenen
Bilddaten ausgeführt wird.
-
Schließlich
ist die einzelne Ablaufsequenz am ENDE-Symbol nach der Vereinigungseinheit
abgeschlossen (Schritt S15). Der durch die Flächeneinheit
von Schritt S13 und die Flächeneinheit von Schritt S14
auszuführende Inhalt kann entweder gleich oder unterschiedlich
sein.
-
Wie
oben beschrieben, wird bei der Steuerung 10 der Bildverarbeitungsvorrichtung 1 das
Bild des Testobjektes durch den Bildaufnahmemechanismus asynchron
aufgenommen, der im Hintergrund des in 5 gezeigten
Flussdiagramms arbeitet (4), es wird festgestellt, welche
der Aufnahmeabschlussbedingungen der Mehrzahl von Typen etabliert
ist, durch die Bildaufnahmeeinheit (Schritt S11) des in 5 gezeigten
Flussdiagramms, und der Zuweisungsprozess für den Messprozess
wird an den Bilddaten ausgeführt, die für die
Ausführung der Messeinheit verwendet werden, die mit der
Aufnahmeabschlussbedingung assoziiert ist, die als etabliert bestimmt
wird. Spezifisch ist es möglich, die Bildaufnahmeeinheit
(Schritt S11) und die Flächeneinheit (Schritt S13 oder
Schritt S14) synchron zum in 5 gezeigten
Flussdiagramm auszuführen. Daher ist es möglich,
die Bildaufnahmehemmperiode zu eliminieren, die vorgesehen ist,
um unvollständige Bildaufnahmen zu verhindern, und die
Probleme der Speicherverstopfung und Fehlerbeseitigung zu verhindern,
die auftreten können, wenn die Bildaufnahmeeinheit oder
die Flächeneinheit asynchron ausgeführt wird.
-
Timing-Diagramm
-
Die
unter Bezugnahme auf die 4 bis 7 beschriebene
Bildverarbeitung wird nun chronologisch unter Bezugnahme auf Timing-Diagramme beschrieben. 8 zeigt
ein Timing-Diagramm (Konzeptdiagramm), welches den Fluss der Bildverarbeitung
in der Bildverarbeitungsvorrichtung 1 gemäß der vorliegenden
Ausführungsform zeigt. In 8 zeigt (a)
Timings für die Eingabe des externen Auslösers, wie
etwa dem Bildaufnahmeauslösesignal, (b) zeigt Perioden
zum Verarbeiten der Bildaufnahme unter Verwendung der Kamera 30a (Schritt
S8 in 4) und der Pufferung (Schritt S9 in 4),
(c) zeigt Perioden zum Verarbeiten der Bildaufnahme unter Verwendung
der Kamera 30b (Schritt S8 in 4) und der
Pufferung (Schritt S9 in 4), (d) zeigt einen Speicherzustand
des Bildspeichers 17a (in (d) in 8 ist eine
obere Hälfte schraffiert, wenn aus der Kamera 30a erhaltenen
Bilddaten Ka gespeichert werden, und ist die untere Hälfte
schraffiert, wenn aus der Kamera 30b erhaltene Bilddaten
Kb gespeichert werden), (e) zeigt Timings, an denen der Zustand
des Bildspeichers 17a ein Speicherzustand wird, der die
Aufnahmeabschlussbedingung erfüllt, (f) zeigt Perioden,
während denen die Bildaufnahmeeinheit (Schritt S11 in 5)
ausgeführt wird (Ausführungszeitraum), und (g)
zeigt Timings zum Ausführen der Verarbeitung von der Verzweigungseinheit (Schritt
S12 in 5) bis zur Zusammenführeinheit (Schritt
S15 in 5) Ausführungsperiode).
-
Für
(a) in 8 zeigt eine obere Seite Eingangs-Timings des
externen Auslösers zur Kamera 30a und zeigt eine
untere Seite die Eingabe-Timings des externen Auslösers
an die Kamera 30b. Weiterhin wird (g) in 8 als
die ”Messeinheit” angezeigt, da sie hauptsächlich
die Ausführungsperioden der Messeinheiten (der Flächeneinheiten
von Schritt S13 und Schritt S14 in 5) zeigt.
Darüber hinaus entsprechend das Timing-Diagramm von (a)
bis (e) in 8 das in 4 gezeigten
Flussdiagramm und entsprechen die Timing-Diagramme von (f) in 8 und
(g) in 8 dem in 5 gezeigten
Flussdiagramm.
-
Weiterhin
zeigt 8 nur ein Konzeptdiagramm und es ist möglich,
die Zeitdauer jedes Pulses und Timings einer führenden
Kante (nachlaufenden Kante) entsprechend zu verändern.
Beispielsweise ist es anders als in 8 möglich,
die Zeitdauer eines Pulses jedes externen Auslösers als
näher an 0 ohne Beschränkung einzustellen, oder
die Bildaufnahmen der Kamera 30a oder der Kamera 30b können
zum Timing der folgenden Kante eines Impulses ausgeführt
werden.
-
Wie
in (a) in 8 gezeigt, wenn ein externer
Auslöser 1 an die Kamera 30a eingegeben wird, wird
die Aufnahme des Bilds des Testobjektes (Werkstück W1)
durch die Kamera 30a durchgeführt. Wie oben beschrieben,
zeigt (b) in 8 die Perioden, während
denen das Erfassen der aus der Bildaufnahme durch die Kamera 30a erhaltenen
Bilddaten Ka und das Puffern im Bildspeicher 17a durch
den Bildeingabeabschnitt 16 ausgeführt werden.
Weiterhin repräsentiert in (b) in 8 das Symbol
W1 ein erstes Werkstück, repräsentiert ein Symbol
W2 ein nachfolgendes Werkstück und repräsentiert
Symbol W3 ein weiteres nachfolgendes Werkstück.
-
Wenn
das Puffern im Bildspeicher 17a endet, wie in (d) in 8 gezeigt,
werden die aus der Kamera 30a erhaltenen Bilddaten Ka im
Bildspeicher 17a gespeichert. Zu dieser Zeit, da der Bildspeicher 17a im
Speicherzustand ist, der die ”Bedingung 0” aus den
Aufnahmeabschlussbedingungen (siehe 7 ((e) in 8)
erfüllt, bestimmt der Bildeingabeabschnitt 16,
dass die Aufnahmeabschlussbedingung etabliert ist und der Bildeingabeabschnitt 16 führt
den Zuweisungsprozess für den Messprozess aus. Spezifisch
werden die aus der Kamera 30a erhaltenen Bilddaten Ka durch
die Bildvariable substituiert, die zuvor für den Messprozess
vorbereitet war.
-
Danach
werden die durch die Bildvariable substituierten Bilddaten Ka intern
an den Bildspeicher 17b transferiert und die Flächeneinheit
(Schritt S13, gezeigt in 5) wird an den Bilddaten Ka
ausgeführt. In (g) in 8 repräsentiert
(W1, Ka), dass die Flächeneinheit an den erhaltenen Bilddaten
Ka als ein Ergebnis der Aufnahme des Bildes des Werkstücks
W1 durch die Kamera 30a ausgeführt wird.
-
Dasselbe
gilt auch, wenn ein externer Auslöser Trb1, Tra2 oder Trb2
eingegeben wird. Der Prozess bewegt sich sequentiell von der Eingabe
des externen Auslösers Trb1 zur Bildaufnahme durch die Kamera 30b,
zur Erfassung der Bilddaten Kb, zur Pufferung im Bildspeicher 17a,
zur Bildaufnahmeeinheit und schließlich zur Messeinheit
(W1, Kb). Der Prozess bewegt sich sequentiell von der Eingabe des externen
Auslösers Tra2 zur Bildaufnahme durch die Kamera 30a,
zur Erfassung der Bilddaten Ka, zur Pufferung im Bildspeicher 17a,
zur Bildaufnahmeeinheit und schließt sich zur Messeinheit
(W2, Ka). Der Prozess bewegt sich sequentiell von der Eingabe des externen
Auslösers Trb2 zur Bildaufnahme durch die Kamera 30b,
zur Erfassung der Bilddaten Kb, zur Pufferung im Bildspeicher, zur
Bildaufnahmeeinheit und schließlich zur Messeinheit (W2,
Kb).
-
Hier
wird angenommen, dass das dritte Werkstück W3 früh
unter der Kamera 30a transportiert wird. Spezifisch wird
angenommen, dass ein externer Auslöser Tra3 eingegeben
wird, bevor Erfassung und Pufferung der durch die Bildaufnahme mittels
der Kamera 30b erhaltenen Bilddaten enden (siehe (a) in 8).
In diesem Fall werden die durch die Bildaufnahme durch die Kamera 30a erhaltenen Bilddaten
Ka des Werkstücks W3 erfasst (siehe (b) in 8)
und diese Bilddaten werden temporär im Bildspeicher 17a gepuffert
(siehe (d) in 8). Daher kann, wenn der externe
Auslöser Tra3 eingegeben wird, das Bild des Werkstücks
W3 durch die Kamera 30a ohne Versagen aufgenommen werden.
-
Weiterhin,
wenn die Bilddaten Ka des Werkstücks W3, die durch die
Bildaufnahme durch die Kamera 30a erhalten sind, durch
Eingeben des externen Auslösers Tra3 gepuffert werden,
wird die Messeinheit von (W2, Kb) ausgeführt (siehe einen
Pfeil 0 in (f) in 8). Wenn die Messeinheit von
(W2, Kb) im Bildprozessor 18 endet, bewegt sich der Bildeingabeabschnitt
zum nächsten Messzyklus beim Empfang des Signals, welches
anzeigt, dass der Prozess der Messeinheit endet, aus dem Bildprozessor 18. Zusammen
damit wird die Bildaufnahmeeinheit im nächsten Messzyklus
ausgeführt (siehe einen Pfeil P in (f) in 8).
Dann wird in dieser Bildaufnahmeeinheit, wie oben beschrieben, durch
den Bildeingabeabschnitt 16 bestimmt, ob der Bildspeicher 17a die
in 7 gezeigten Aufnahmeabschlussbedingungen erfüllt
oder nicht, und, da festgestellt wird, dass ”die Bedingung
0” von den Aufnahmeabschlussbedingungen erfüllt
ist, wird der Zuweisungsprozess für den Messprozess ausgeführt.
-
Nachfolgend
bewegt sich der Prozess zur in (g) in 8 gezeigten
Messeinheit weiter. Spezifisch wird der interne Transfer aus dem
Bildspeicher 17a an den Bildspeicher 17b durch
den Bildeingabeabschnitt 16 durchgeführt und der
Messprozess wie etwa die Flächenberechnung wird ausgeführt.
-
Einstellen der Aufnahmeabschlussbedingung
-
9 ist
ein Blockdiagramm, das eine funktionale Konfiguration des PC 70 zeigt,
der das Bildverarbeitungsprogramm der Bildverarbeitungsvorrichtung 1 erzeugt. 10 ist
ein Diagramm, das ein Beispiel eines Editor-Bildschirmes (nur den
Hauptteil) zeigt, der auf einem Anzeigeabschnitt 705 des PCs 70 angezeigt
wird. 11 ist ein Diagramm, das ein
Beispiel eines Einstellbildschirms zum Einstellen der in 7 gezeigten
Aufnahmeabschlussbedingungen zeigt.
-
Der
in 1 oder 3 gezeigte PC 70 besteht
aus einer CPU, einem ROM, einem RAM und dergleichen und ist versehen
mit einem Steuerabschnitt 701, der als ein Flussdiagramm-Erzeugungsabschnitt 7011 und
ein Programmerzeugungsabschnitt 7012 funktioniert, einem
Speicher 702, der von einer Festplatte und dergleichen
gebildet ist und als ein Prozesseinheits-Speicherabschnitt 7021 und ein
Inspektionsdatenspeicherabschnitt 7022 funktioniert, einem
Kommunikationsabschnitt 703, der mit der Steuerung 10 der
Bildverarbeitungsvorrichtung 1 verbunden ist, um in der
Lage zu sein, miteinander zu kommunizieren, einem Eingabeabschnitt 704,
der von einer Maus, einer Tastatur und dergleichen gebildet wird,
und dem Anzeigeabschnitt 705, der von einem Flüssigkristallmonitor
und dergleichen gebildet wird.
-
Der
Flussdiagramm-Erzeugungsabschnitt 7011 weist eine Funktion
zur Erzeugung eines Flussdiagramms auf, das bei dem START-Symbol
beginnt und beim ENDE-Symbol endet, durch Bereitstellen der Bildverarbeitungseinheiten
längs des Ausführungsablaufs. Spezifisch stellt
durch Betätigen des Eingabeabschnitts 704, wenn
eine gewünschte Bildverarbeitungseinheit aus einer Punkteliste
im Editor-Bildschirm (rechte Seite) gezogen wird, der in 10 gezeigt
ist, und an eine gewünschte Stelle im Ablaufansichtsfenster
(linke Seite) abgeworfen wird, der Flussdiagramm-Erzeugungsabschnitt 7011 die Bildverarbeitungseinheit
an dieser Position bereit.
-
Jede
Bildverarbeitungseinheit wird aus dem Verarbeitungseinheitsspeicherabschnitt 7021 ausgelesen.
Wie in 10 gezeigt, werden die Mehrzahl von
Bildverarbeitungseinheiten in einer Punkteliste angezeigt und sind
in Kategorien unterteilt, einschließlich ”Bildeingabe”, ”Messung”, ”Steuerung”, ”Berechnung”, ”Timing”, ”Anzeige”, ”Ausgabe”,
und ”Befehlsausgabe”. Die ”Bildeingabe” ist
eine Kategorie, zu der eine sich auf die Bildaufnahme beziehende Bildverarbeitungseinheit
gehört und die oben beschriebene Bildaufnahmeeinheit (Schritt
S11 in 5) gehört zu dieser Kategorie. Die Bildaufnahmeeinheit
ist mit Parametern wie etwa Eigenschaften zum Einstellen einer Verschlussgeschwindigkeit,
Kamerasensitivität, Blitzeinschaltzeit, Blitzverzögerungszeit,
einer Kamera zur Erfassung und einem Auslöseranschluss
assoziiert. Insbesondere, wie später unter Bezugnahme auf 11 beschrieben wird,
sind in der Bildverarbeitungsvorrichtung 1 gemäß der
vorliegenden Ausführungsform Parameter zum Einstellen der
Aufnahmeabschlussbedingungen als Eigenschaften assoziiert.
-
Weiterhin
ist die ”Messung” eine Kategorie, zu der eine
sich auf die Messung beziehende Bildverarbeitungseinheit gehört
und die Messeinheiten, die ein Messergebnis aus den durch die Bildaufnahmeeinheit
erhaltenen Bilddaten extrahieren und bestimmen, ob das Testobjekt
gut oder defekt ist, basierend auf dem Messergebnis, gehören
in diese Kategorie. Beispielsweise gehören die oben beschriebenen
Flächeneinheiten (Schritt S13 und Schritt S14 in 5), die
Kantenpositionsdetektionseinheit und die Farbinspektionseinheit
zu dieser Kategorie. Die ”Steuerung” ist eine
Kategorie, zu der die sich auf die Steuerung beziehende Bildverarbeitungseinheit
gehört und die Steuereinheiten, wie etwa eine Umgehungseinheit
und das ENDE-Symbol gehören in diese Kategorie. Die Umgehungseinheit
ist die aus der Verzweigungseinheit, die den Ausführungsablauf
in zwei oder mehr Verzweigungsflüsse so verzweigt und der Zusammenführeinheit,
welche die Verzweigungsflüsse, die verzweigt worden sind,
zusammenführt, basierend auf den vorbestimmten Bedingungen,
gebildete Bildverarbeitungseinheit. Das ENDE-Symbol ist das Symbol,
an dem eine einzelne Ablaufsequenz endet. Die ”Berechnung” ist
eine Kategorie, zu der die sich auf die Berechnung, wie etwa als
numerische Berechnungseinheit, beziehende Bildverarbeitungseinheit
gehört, das ”Timing” ist eine Kategorie,
zu der die sich auf die Timing-Steuerung nach dem Ablaufübergang,
wie etwa eine Timer-Warteeinheit, beziehende Bildverarbeitungseinheit
gehört, die ”Anzeige” ist eine Kategorie,
zu der die sich auf die Anzeige beziehende Bildverarbeitungseinheit
bezieht, und die ”Ausgabe” bzw. die ”Befehlsausgabe” sind
Kategorien, auf welche sich die auf Ausgabe und Befehlsausgabe beziehenden
Bildverarbeitungseinheiten gehören.
-
Wieder
Bezug nehmend auf 9, hat der Programmerzeugungsabschnitt 7012 eine
Funktion zur Umwandlung des Flussdiagramms, das ein Anwender erzeugt
hat, im Flussansichtsfenster, das in 10 gezeigt
wird, in Einstelldaten, die die Steuerung 10 lesen kann,
um Inspektionsdaten zu erzeugen. Die erzeugten Inspektionsdaten
(Bildverarbeitungsprogramm) werden im Inspektionsdaten Speicherabschnitt 7022 des
Speichers 702 gespeichert. Der Steuerabschnitt 701 liest
die Inspektionsdaten aus dem Inspektionsdatenspeicherabschnitt 7022 und überträgt
die Inspektionsdaten über den Kommunikationsabschnitt 703 an
die Steuerung 10.
-
Wie
oben beschrieben, ist das in 10 gezeigte
Flussansichtsfenster ein Fenster zum Präsentieren des die
Prozeduren zeigenden Flussdiagramms, um das Bildverarbeitungsprogramm
der Steuerung 10 neu zu erzeugen, oder das aus der Steuerung 10 erhaltene
Bildverarbeitungsprogramm zu editieren. Der Anwender ist in der
Lage, leicht ein gewünschtes Bildverarbeitungsprogramm
durch Platzieren von Bildverarbeitungseinheiten längs des Ausführungsflusses
zu Erzeugen, der am START-Symbol beginnt und am ENDE-Symbol endet.
Spezifisch wird eine Reihe von Bildverarbeitungen, die durch die
Steuerung 10 ausgeführt werden, in einer Bildverarbeitungseinheit
geblockt und es ist für den Anwender möglich,
durch einfaches Platzieren einer Bildverarbeitungseinheit längs
eines Ausführungsflusses, eine Ablaufsequenz zu erzeugen,
in der die Bildverarbeitungseinheit einen vorbestimmten Prozess durchführt,
basierend auf dem Verarbeitungsergebnis der unmittelbar vorherigen
Bildverarbeitungseinheit.
-
Hier
wird im in 10 gezeigten Flussansichtsfenster
durch Anklicken des rechten Mausknopfs mit dem auf die Bildaufnahmeeinheit
(die den Eingabeabschnitt 704 bedient) weisenden Cursor
ein Editier-Bildschirm zum Einstellen der in 11 gezeigten
Eigenschaften im Anzeigeabschnitt 705 angezeigt. Alternativ
ist der Einstell-Editier-Bildschirm mit einem (nicht gezeigten)
Einheitseigenschaftsfenster versehen und es werden Eigenschaften
der Bildverarbeitungseinheit, die im Flussansichtsfenster ausgewählt
wird und mit Fokus angezeigt wird, auf dem Einheitseigenschaftsfenster
angezeigt. Dann werden die Aufnahmeabschlussbedingungen der Mehrzahl
von Typen in dem in 11 gezeigten Editierbildschirm
eingestellt.
-
Wie
in 11 gezeigt, werden an einem oberen Teil des Einstellbildschirms
ein allgemeiner Einstelltabulator 1001 zum Ausführen
allgemeiner Einstellungen, die sich auf die Bildaufnahme beziehen,
ein Auslösereinstellungstabulator 1002 zum Ausführen
von Einstellungen, die sich darauf beziehen, ob die Eingabe-Timings
der externen Auslöser synchronisiert sind oder nicht (alternativ
zusammen mit einer gewissen Verzögerungszeit), ein Beleuchtungseinstellungstabulator 1004 zum
Ausführen von Beleuchtungseinstellungen beim Durchführen
der Bildaufnahme, und ein Aufnahmeabschlussbedingungs-Einstelltabulator 1003,
der aktuell ausgewählt ist, vorgesehen.
-
Wenn
der Aufnahmeabschlussbedingungs-Einstelltabulator 1003 ausgewählt
ist, erscheint eine Aufnahmeabschlussbedingungs-Einstelltabelle 1005,
eine Kommentarfläche 1006, ein OK-Knopf 1007 und
ein Abbruch-Knopf 1008. Der Anwender stellt beispielsweise
die Aufnahmeabschlussbedingung unter Verwendung des Eingabeabschnitts 704 des
PCs 70 ein, durch Markieren einer Checkbox über
der Aufnahmeabschlussbedingungs-Einstelltabelle 1005. Wenn
ein Fall angenommen wird, in dem vier Kameras verbunden sind, enthält
die Aufnahmeabschlussbedingungs-Einstelltabelle 1005 vier
Spalten für eine Kamera 1 bis zu einer Kamera 4 und vier
Reihen für die Bedingung 0 bis Bedingung 3, so dass vier
Bedingungen eingestellt werden können. Gemäß der
bevorzugten Ausführungsform entsprechen Kamera 1 bzw. Kamera
2 den wirklich verwendeten Kameras 30a und 30b.
Um die Aufnahmeabschlussbedingungen wie in 7 gezeigt
einzustellen, wird die Kamera 30a für die Bedingung
0 ausgewählt und wird die Kamera 30b für
die Bedingung 1 ausgewählt.
-
Schließlich
wird das Einstellen der Aufnahmeabschlussbedingungen durch Drücken
des OK-Knopfes 1007 abgeschlossen. Wie oben beschrieben,
ist es bei der Bildverarbeitungsvorrichtung 1 gemäß der
vorliegenden Ausführungsform möglich, jede der
Aufnahmeabschlussbedingungen der Mehrzahl von Typen, die zu etablieren
sind, entweder wenn die Bilddaten aus der Kamera 30a (Kamera
1) erhalten werden oder wenn die Bilddaten aus der Kamera 30b (Kamera
2) erhalten werden, einzustellen (11). Spezifisch
ist der Anwender fähig, die Inhalte der Aufnahmeabschlussbedingungen
der Mehrzahl von Typen unter Verwendung des PC 70 oder
der Konsole 50 einzustellen. Entsprechend ist es möglich,
die Verwendbarkeit der Bildverarbeitungsvorrichtung 1 zu
verbessern.
-
Dasselbe
gilt auch beim Einstellen der Eigenschaften für die Verzweigungseinheit
(Schritt S12 in 5). Spezifisch, obwohl nicht
besonders gezeigt, wird ein Editier-Bildschirm zum Einstellen der Eigenschaften
für die Verzweigungseinheit im Anzeigeabschnitt 705 angezeigt,
und eine Assoziierung zwischen den Aufnahmeabschlussbedingungen
und der Messeinheit wird unter Verwendung des Eingabeabschnitts 704 vorgenommen.
Spezifisch wird die Bildverarbeitungsvorrichtung 1 gemäß der
vorliegenden Ausführungsform so konfiguriert, dass die Bildverarbeitungseinheiten
die Verzweigungseinheit beinhalten, welche der Verzweigungsprozess
zum Verzweigen der Prozeduren in die Mehrzahl von Messeinheiten
ausführen, und der Bildeingabeabschnitt 16 macht
eine Assoziierung zwischen der Aufnahmeabschlussbedingung, die als
zu etablieren festgestellt wird, und der Messeinheit. Als Ergebnis
ist es möglich, die Mehrzahl von Assoziierungsmustern zwischen
einem oder einer Mehrzahl von Typen der Mehrzahl von Kameras und
einer aus der Mehrzahl von Messprozessen einzustellen (Assoziierung
zwischen der Bedingung 0 und der Kamera 1 und Assoziierung zwischen
der Bedingung 1 und der Kamera 2).
-
Nachfolgend
werden die Inspektionsdaten basierend auf dem Flussdiagramm erzeugt
und die Inspektionsdaten werden an die Steuerung 10 transferiert.
Der Hauptsteuerabschnitt 11 steuert die Inspektionsdaten
einschließlich des Bildverarbeitungsprogramms im Hauptspeicher 12 und
ermöglicht die Referenz auf den Einstellinhalt der Aufnahmeabschlussbedingungs-Einstelltabelle 1005 durch
den Bildeingabeabschnitt 16. Dann wird festgestellt, ob die
Aufnahmeabschlussbedingungen etabliert sind oder nicht, durch den
sich entsprechend auf den Einstellinhalt der Aufnahmeabschlussbedingungs-Einstelltabelle 1005 beziehenden
Bildeingabeabschnitt 16. Obwohl gemäß der
vorliegenden Ausführungsform der Einstellinhalt der Aufnahmeabschlussbedingungs-Einstelltabelle 1005 im
Hauptspeicher 13 gespeichert wird, kann der Einstellinhalt
der Aufnahmeabschlussbedingungs-Einstelltabelle 1005 im
Arbeitsspeicher im Bildeingabeabschnitt 16 oder im Bildspeicher 17a gespeichert
werden. Weiter können durch Verwenden eines nicht-flüchtigen
Speichers, wie etwa eines EEPROMs, die Aufnahmeabschlussbedingungen
vorab eingestellt werden, beispielsweise vor dem Verschiffen. Auf
diese Weise ist es möglich, Zeit und Mühe für
den Anwender darin zu sparen, die Aufnahmeabschlussbedingungen einzustellen.
-
Wie
oben beschrieben, wird im PC 70, der mit der Bildverarbeitungsvorrichtung 1 verbunden
ist und der die Inspektionsdaten (Bildverarbeitungsprogramm) für
die Bildverarbeitungsvorrichtung 1 erzeugt, das Flussdiagramm
erzeugt, das die Bildaufnahmeeinheiten beinhaltet, auf welche die
Mehrzahl von Aufnahmeabschlussbedingungen (Bedingung 0 und Bedingung
1) durch Anwenderbedienung eingestellt werden. Dann, nachdem die
Inspektionsdaten (Bildverarbeitungsprogramm) für die Bildverarbeitungsvorrichtung 1 basierend
auf diesem Flussdiagramm erzeugt sind, wird das Bildverarbeitungsprogramm
an die Bildverarbeitungsvorrichtung 1 transferiert. Nachfolgend
stellt der Hauptsteuerabschnitt 11 die Aufnahmeabschlussbedingungen
ein, basierend auf dem Bildverarbeitungsprogramm, so dass der Einstellinhalt
der Aufnahmeabschlussbedingungs-Einstelltabelle 1005 durch
den Bildeingabeabschnitt 16 referenziert werden kann. Der
in 11 gezeigte Bildschirm kann auf dem Monitor 40 der Bildverarbeitungsvorrichtung 1 angezeigt
werden, und die Aufnahmeabschlussbedingungen können durch
den Hauptsteuerabschnitt 11 basierend auf dem Betrieb der
Konsole 50 durch den Anwender eingestellt werden.
-
Variationen
-
12 zeigt
ein Timing-Diagramm (Konzeptdiagramm), das den Fluss der Bildverarbeitung der
Bildverarbeitungsvorrichtung 1 gemäß einer
anderen Ausführungsform der vorliegenden Erfindung zeigt.
Im in 12 gezeigten Timing-Diagramm
erfordert es Zeit, die Messeinheit auszuführen. Spezifisch
ist die Ausführungszeit der in (g) von 12 gezeigten
Messeinheit länger als die in (g) in 8 gezeigte
Ausführungszeit. Dies wird angenommen, wenn ein Messprozess
mit einer großen Berechnungslast, beispielsweise solch
eine wie eine ausgefeilte Musterpassung, ausgeführt wird.
In solch einem Fall wird oft festgestellt, dass zwei oder mehr Aufnahmeabschlussbedingungen
gleichzeitig durch den Bildeingabeabschnitt 16 etabliert
werden, aufgrund der Verschleppung des unmittelbar vorhergehenden Messprozesses.
-
Spezifisch
wird angenommen, dass die Bildaufnahmeeinheit im nächsten
Messzyklus (ein Pfeil Q in (f) in 12, Schritt
S11 in 5) nachdem die Ausführung der Messeinheit
von (W2, Ka) von (g) in 12 endet,
auszuführen ist. Zu diesem Zeitpunkt bezieht sich der Bildeingabeabschnitt 16 auf
den Einstellinhalt der Aufnahmeabschlussbedingungs-Einstelltabelle 1005 und
bestimmt, ob die in 7 gezeigten Aufnahmeabschlussbedingungen
etabliert sind oder nicht, und sowohl die Bedingung 0 als auch die
Bedingung 1 sind etabliert, wie in (e) in 12 gezeigt.
Daher kann in solch einem Fall der Bildeingabeabschnitt 16 nicht
bestimmen, ob der Zuweisungsprozess für den Messprozess
zu den aus der Kamera 30a erhaltenen Bilddaten oder zu
den aus der Kamera 30b erhaltenen Bilddaten durchzuführen ist.
Als Ergebnis führt dies möglicherweise zu einem Bildverarbeitungsfehler.
-
Entsprechend
führt in der Bildverarbeitungsvorrichtung 1 gemäß einer
anderen Ausführungsform der vorliegenden Erfindung, wenn
die Mehrzahl von Aufnahmeabschlussbedingungen als etabliert festgestellt
werden, aus den Aufnahmeabschlussbedingungen der Mehrzahl von Arten,
der Bildeingabeabschnitt 16 den Zuweisungsprozess zu den
Bilddaten aus, die zum Ausführen der mit einer Aufnahmeabschlussbedingung
assoziierten Messeinheit verwendet werden, basierend auf der zuvor
spezifizierten Priorität (Details werden später
beschrieben). Weiterhin wird eine Funktion als eine Detektionseinheit
zum Detektieren eines Timings, zu dem die Aufnahmeabschlussbedingung
etabliert ist, vorgesehen, um in der Lage zu sein, die Aufnahmeabschlussbedingung
zu verwenden, die zuerst im Bildspeicher 17a etabliert ist.
Spezifisch werden Programme, welche die Funktionen dem Bildeingabeabschnitt 16 realisieren,
im Programmspeicher (nicht gezeigt) im Bildeingabeabschnitt 16 gespeichert.
Um die Funktion zum Detektieren des Timings zu realisieren, kann
das etablierte Timing (wie Zeitpunkt der Etablierung) beispielsweise im
Arbeitsspeicher im Bildeingabeabschnitt 16, dem Bildspeicher 17a oder
dergleichen unter Verwendung eines externen Timers oder externen
Zählers, eines CPU-internen Timers oder dergleichen gespeichert werden.
-
Nach
der Ausführung der Messeinheit von (W2, Ka) führt
der Bildeingabeabschnitt 16 die Bilderfassungseinheit im
nächsten Messzyklus aus. Zu dieser Zeit werden im Bildspeicher 17a sowohl
die Bedingung 1 als auch die Bedingung 0 gleichzeitig aus den Aufnahmeabschlussbedingungen
zum Timing es Pfeils Q in (f) in 12 etabliert.
Daher liest der Bildprozessor 16 das Timing, zu dem die
Bedingung 1 etabliert worden ist, und das Timing, zu dem die Bedingung
0 etabliert worden ist, aus dem Arbeitsspeicher aus und vergleicht
beide Timings. Dann bestimmt der Bildprozessor 16 die aus
der Kamera 30b erhaltenen Bilddaten als ein Ausführungsziel
des Messprozesses unter Verwendung der Bedingung 1, die zuerst etabliert
wird, und der Zuweisungsprozess für den Messprozess (ähnliche
dem oben beschriebenen Fall, die Substitution durch die Bildvariable wird
ausgeführt) wird durchgeführt. Als Ergebnis wird die
Messeinheit von (W2, Kb) ausgeführt.
-
Wie
oben beschrieben, ist es durch Versehen des Bildeingabeabschnitts 16 mit
der Funktion zum Ausführen des Zuweisungsprozesses zu den Bilddaten,
basierend auf der zuvor spezifizierten Priorität und Funktion
zum Detektieren des Timings, zu dem die Aufnahmeabschlussbedingungen
etabliert sind, möglich, einen Bildverarbeitungsfehler
zu verhindern, indem das Ziel des Messprozesses unbekannt wird.
Weiter, obwohl hierin das erste etablierte Timing verwendet wird,
kann auch das letzte (jüngste) etablierte Timing (d. h.,
die Bedingung 0 im Falle von 12) verwendet
werden. Darüber hinaus kann die Priorität beispielsweise
zuvor aus den Aufnahmeabschlussbedingungen spezifiziert werden (siehe 13).
-
13 ist
eine Aufnahmeabschlussbedingungs-Einstelltabelle, die für
die Bildverarbeitungsvorrichtung 1 gemäß einer
anderen Ausführungsform der vorliegenden Erfindung verwendet
wird. Ein Unterschied gegenüber der in 7 gezeigten
Aufnahmeabschlussbedingungs-Einstelltabelle ist, dass ein Punkt
für die Priorität in der rechtesten Spalte vorgesehen
ist. Es gibt oft den Fall, bei dem es, beispielsweise wenn die Kamera
1 (die Kamera 30a) eine Kamera zum Aufnehmen eines Bildes
eines Identifikators (wie etwa einem Barcode) zum Identifizieren
der Art des Werkstücks ist, und die Kamera 2 (die Kamera 30b)
eine Kamera zum Aufnehmen eines Bildes einer vollständigen
Oberfläche des Werkstücks ist, gewünscht
ist, die Bildaufnahme durch die Kamera 1 gegenüber Kamera
2 zu priorisieren. In solch einem Fall wird die Priorität
der Bedingung 0 auf ”Hoch” eingestellt und die
Priorität der Bewertung 1 wird auf ”Niedrig” eingestellt,
durch ein Pull-Down-Menü oder dergleichen, beispielsweise
wie in der rechtesten Spalte in 13 gezeigt.
Die Priorität kann unter Verwendung beispielsweise des
PCs 70 oder des Monitors 40 und der Konsole 50 eingestellt
werden. Der Bildeingabeabschnitt 16 verwendet eine Bedingung mit
höherer Priorität (die Bedingung 0), wenn er sich auf
die in 13 gezeigte Aufnahmeabschlussbedingungs-Einstelltabelle
bezieht. Entsprechend wird zum Timing des Pfeils Q von (f) in 12 der
Zuweisungsprozess für den Messprozess an den aus der Kamera 30a erhaltenen
Bilddaten ausgeführt. Als Ergebnis, anders als im in 12 gezeigten
Fall, wird die Messeinheit von (W3, Ka) anstelle von (W2, Kb) ausgeführt.
Wie oben beschrieben, ist es durch Priorisieren der Aufnahmeabschlussbedingungen
möglich, Wichtigkeitsniveaus von den Aufnahmeabschlussbedingungen
zu bewerten. Spezifisch ist es unter Verwendung der in 13 gezeigten
Aufnahmeabschlussbedingungs-Einstelltabelle möglich, den
Prozess zur Identifikation der Bildaufnahmeeinheit, von der die
Bilddaten erhalten werden, aus der Mehrzahl von Bildaufnahmeeinheiten
fortzusetzen, ohne den Zuweisungsprozess auszuführen, wenn festgestellt
wird, dass keine der Aufnahmeabschlussbedingungen der Mehrzahl von
Typen etabliert ist. Wenn festgestellt wird, dass eine der Aufnahmeabschlussbedingungen
der Mehrzahl von Typen etabliert ist, kann der Zuweisungsprozess
zu den zur Ausführung der Messeinheit verwendeten Bilddaten,
die mit der Aufnahmeabschlussbedingung assoziiert ist, ausgeführt
werden, und wenn festgestellt wird, dass zwei oder mehr der Aufnahmeabschlussbedingungen
der Mehrzahl von Typen etabliert sind, kann der Zuweisungsprozess
zu den zum Ausführen der mit der einen Aufnahmeabschlussbedingung
assoziierten Messeinheit verwendeten Bilddaten ausgeführt werden,
basierend auf der zuvor spezifizierten Priorität. Daher,
selbst wenn die Aufnahmeabschlussbedingung nicht etabliert ist,
oder wenn zwei oder mehr Aufnahmeabschlussbedingungen etabliert
sind, ist es möglich, die Bildaufnahmeeinheit und die Messeinheit
synchron zu den vorbestimmten Prozeduren auszuführen, ohne
den Inhalt der Verarbeitung der Bildaufnahmeeinheit unklar zu machen.
-
14 ist
eine Aufnahmeabschlussbedingungs-Einstelltabelle, die für
die Endverarbeitungsvorrichtung gemäß einer anderen
Ausführungsform der vorliegenden Erfindung verwendet wird.
Ein Unterschied gegenüber der in 13 gezeigten
Aufnahmeabschlussbedingungs-Einstelltabelle ist, dass die Aufnahmeabschlussbedingung
für die vier Kameras (Kamera 1 bis Kamera 4) eingestellt
werden, die mit der Steuerung 10 verbunden sind. Beispielsweise ist
die Kamera 1 (Kamera 30a) eine Kamera zum Aufnehmen eines
Bildes eines Identifikators zum Identifizieren der Art des Werkstückes
und die Kameras 2 bis 4 (Kamera 30b bis Kamera 30d)
sind jeweils Kameras zum gleichzeitigen Aufnehmen von Bildern einer
oberen Oberfläche, einer unteren Oberfläche und einer
Seitenoberfläche des Werkstücks. Ähnlich
wird die Priorität der Bedingung 0 auf ”Hoch” eingestellt und
die Priorität der Bedingung 1 wird auf ”Niedrig” eingestellt.
-
15 zeigt
ein Timing-Diagramm (Konzeptdiagramm), das den Fluss der Bildverarbeitung unter
Verwendung der Aufnahmeabschlussbedingungs-Einstelltabelle von 14 zeigt.
Wie in (c) bis (e) in 15 gezeigt, sind die Aufnahme-Timings
der Kameras 2 bis 4 gleichzeitig. Weiterhin repräsentieren
Trb1 bis Trb3 Eingabe-Timings der externen Auslöser an
die Kameras 30b bis 30d. Darüber hinaus
fokussiert der Speicherzustand des in (f) in 15 gezeigten
Bildspeichers 17a nur auf die aus der Kamera 30a (Ka)
bis Kamera 30d (Kd) erhaltenen Bilddaten und zwei Bildschirme
werden in der Figur für jede der Kameras 30a (Ka)
bis 30d (Kd) gezeigt. Weiterhin, wie in (i) in 15 gezeigt,
ist die Verarbeitungszeit bei Ausführung der Messeinheit
an den aus den Kameras 2 bis 4 erhaltenen Bilddaten länger
als bei Ausführung der Messeinheit an den aus der Kamera 1
erhaltenen Bilddaten.
-
Wie
in (h) und (i) in 15 gezeigt, wird, nachdem die
Messeinheit von (W2, Ka) endet, der Bildaufnahmeeinheitenprozess
im nächsten Messzyklus ausgeführt (siehe einen
Pfeil in (h) in 15). Zu diesem Zeitpunkt verwendet
der Bildeingabeabschnitt 16 aus einer Bedingung mit höherer
Priorität (der Bedingung 0), wenn er sich auf das Einstellen von
Inhalt der Aufnahmeabschlussbedingungs-Einstelltabelle referenziert
und bestimmt, ob die in 14 gezeigten
Aufnahmeabschlussbedingungen etabliert sind oder nicht. Daher wird
zum Timing des Pfeils R in (h) in 15 der
Zuweisungsprozess für den Messprozess an den aus der Kamera 30a erhaltenen
Bilddaten ausgeführt. Als Ergebnis wird die Messeinheit
von (W3, Ka) ausgeführt.
-
Wenn
die Erfassung der Bilddaten durch die Kameras 30b bis 30d (siehe
(c) bis (e) in 15) ausgeführt wird,
bevor die Ausführung der Messeinheit von (W3, Ka) endet,
speichert der Bildspeichereinheit 17a Bilddaten für
zwei Bildschirme (siehe (f) in 15). Nachfolgend
ist es beispielsweise möglich, die Messeinheit in der im
Bildspeicher 17a gespeicherten Reihenfolge auszuführen.
-
Es
ist möglich, dass der Anwender die Anzahl von Bildschirmen
der Bilddaten, die im Bildspeicher 17a gespeichert werden
können, einstellt. Spezifisch kann die Bildverarbeitungsvorrichtung 1 mit
einer Kapazitätseinstelleinheit versehen sein, welche die
Kapazität in einer Speichereinheit zum Speichern der durch
die Bildaufnahme durch die Bildaufnahmeeinheit erhaltenen Bilddaten
einstellt. Daher ist es möglich, eine akzeptable Menge
der durch den Bildaufnahmemechanismus lagerbaren Bilddaten zu justieren,
wodurch die Bequemlichkeit der Bildverarbeitungsvorrichtung 1 verbessert
wird.
-
Weiterhin
ist es möglich, einen Zustand des Bildspeichers 17a zu
erreichen, bei dem zusätzliche Bilddaten nicht im Bildspeicher 17a gespeichert
werden können. Spezifisch ist es möglich, eine
Notifizierungseinheit vorzusehen, die den Anwender benachrichtigt,
wenn es nicht möglich ist, zusätzlich die durch
die Bildaufnahme durch die Bildaufnahmeeinheiten erhaltenen Bilddaten
in der Speichereinheit zu speichern. Als ein Benachrichtigungsmodus
für den Anwender ist es beispielsweise vorstellbar, dass
der Monitor 40 eine Alarmanzeige anzeigt. Auf diese Weise
ist es für den Anwender möglich, eine rasche Reaktion
durch Vergrößern eines Intervalls zwischen Werkstücken,
die transportiert werden, oder Vergrößern der
zugreifbaren Menge zu geben, wobei die oben beschriebene Kapazitätseinstelleinheit
verwendet wird.
-
Alternativ
ist es möglich, wenn die zusätzlichen Bilddaten
nicht im Bildspeicher 17a gespeichert werden können,
zwischen Verhindern der zusätzlichen Bildaufnahme und Überschreiben
auszuwählen. Spezifisch ist es möglich, eine Auswahleinheit vorzusehen,
die zwischen Verhindern der nachfolgenden Bildaufnahme durch die
Bildaufnahmeeinheit und Überschreiben der Bilddaten, die
bereits in der Speichereinheit gespeichert sind, auswählt,
wenn es nicht möglich ist, die zusätzlich durch
die Bildaufnahme durch die Bildaufnahmeeinheit erhaltenen Bilddaten
in der Speichereinheit zu speichern. Entsprechend ist es möglich,
festzustellen, ob die Bildaufnahme auf Anwenderaufforderung verboten
ist, wodurch die Bequemlichkeit der Bildverarbeitungsvorrichtung 1 verbessert
wird.
-
Die
Funktionen der Kapazitätseinstelleinheit, der Notifikationseinheit
und der Auswahleinheit, die oben beschrieben worden sind, können
durch den Monitor 40 und die Konsole 50, den Hauptsteuerabschnitt 11 und
den Bildeingabeabschnitt 16 oder dergleichen realisiert
werden.
-
16 ist
eine Aufnahmeabschlussbedingungs-Einstelltabelle, welche durch die
Bildverarbeitungsvorrichtung 1 gemäß einer
anderen Ausführungsform der vorliegenden Erfindung verwendet wird.
Wie in der Aufnahmeabschlussbedingungs-Einstelltabelle in 16 gezeigt,
können Kamera 1 und Kamera 2 für die Bedingung
0 (Kamera 1 und Kamera 2 arbeiten gleichzeitig) eingestellt werden,
die Kamera 3 kann für die Bedingung 1 eingestellt werden und
die Kamera 4 kann für die Bedingung 2 eingestellt werden.
-
17 ist
ein Flussdiagramm, das unterschiedliche Prozeduren der Bildverarbeitung
der Bildverarbeitungsvorrichtung gemäß der vorliegenden
Ausführungsform zeigt. Insbesondere werden die Prozeduren
beschrieben, welche die in 16 gezeigte
Aufnahmeabschlussbedingungs-Einstelltabelle verwenden.
-
Die
Aufnahmeabschlussbedingungs-Einstelltabelle als Eigenschaften einer
Bildaufnahmeeinheit (Schritt S21), ist wie in 17 gezeigt.
Weiter wird als die Eigenschaft einer Verzweigungseinheit (Schritt
S22) die Bedingung 0 mit einer Flächeneinheit von Schritt
S23 und einer Farbinspektionseinheit von Schritt S24 assoziiert
und der Rest der Bedingung (die Bedingung 1 und die Bedingung 2)
sind mit der anderen Messeinheit assoziiert. Darüber hinaus ist
als die Eigenschaften einer Verzweigungseinheit (Schritt S26) die
Bedingung 1 mit einer numerischen Berechnungseinheit von Schritt
S27 assoziiert und ist der Rest der Bedingungen (Bedingung 2) mit
einer Kantenpositionsdetektionseinheit von Schritt S29 assoziiert.
Wie oben beschrieben, sind in den Eigenschaften der Verzweigungseinheit
die Aufnahmeabschlussbedingungen jeweils mit den auf der stromabwärtigen
Seite der Bildaufnahmeeinheit vorgesehenen Messeinheiten assoziiert.
-
Es
kann verschiedene Assoziierungsmodi geben, solange wie der Prozessfluss,
der fortgeführt werden soll, erkannt werden kann. Entsprechend
ist es beispielsweise als Eigenschaften der Verzweigungseinheit
(Schritt S22) nicht unbedingt notwendig, dass die Bedingung 0 mit
der Flächeneinheit von Schritt S23 und der Farbinspektionseinheit
von Schritt S24 assoziiert ist, und die Bedingung 0 kann nur mit
der Flächeneinheit von Schritt S23 assoziiert sein. Es
ist möglich, den weiter zu bewegenden Prozessfluss mit
einer solchen Assoziierung zu erkennen. Weiterhin kann beispielsweise
als die Eigenschaften der Verzweigungseinheit (Schritt S22) eine Assoziierung
mit irgendeiner der Messeinheiten vorgenommen werden, die auf der
stromabwärtigen Seite vorgesehen sind. Es ist möglich,
den zu bewegenden Prozessfluss selbst mit einer solchen Assoziierung
zu erkennen.
-
Im
oben beschriebenen Flussdiagramm, wenn die Bilddaten aus der Kamera
1 und der Kamera 2 im Bildspeicher 17a gepuffert sind,
nachdem der Zuweisungsprozess für den Messprozess ausgeführt ist,
werden die Flächeneinheit (Schritt S23) und die Farbinspektionseinheit
(Schritt S24) nach Schritt S21 und Schritt S22 ausgeführt.
Weiterhin, wenn die Bilddaten aus der Kamera 3 im Bildspeicher 17a gepuffert
werden, nachdem der Zuweisungsprozess für den Messprozess
ausgeführt ist, wird die numerische Berechnungseinheit
(Schritt S27) nach Schritt S21, Schritt S22 und Schritt S26 ausgeführt.
Darüber hinaus, wenn die Bilddaten aus der Kamera 4 im
Bildspeicher 17a gepuffert sind, nachdem der Zuweisungsprozess
für den Messprozess ausgeführt ist, wird die Kantenpositionsdetektionseinheit
(Schritt S29) nach Schritt S21, Schritt S22 und Schritt S26 ausgeführt.
-
In 17 werden
zwei Verzweigungseinheiten und zwei Zusammenführungseinheiten
verwendet. Jedoch kann ebenfalls eine einzelne Verzweigungseinheit
und eine einzelne Zusammenführungseinheit verwendet werden.
Spezifisch ist es möglich, drei Verzweigungen durch Kombinieren
der Verzweigungseinheiten von Schritt S22 und Schritt S26 in eine
einzelne Verzweigungseinheit und durch Kombinieren der Zusammenführungseinheiten
von Schritt S25 und Schritt S28 in einer einzelnen Zusammenführungseinheit
bereitzustellen. Zusätzlich, wie in der Aufnahmeabschlussbedingungs-Einstelltabelle
von 18 gezeigt, ist es möglich, die Kamera
1 für die Bedingung 0 einzustellen, die Kamera 2 für
die Bedingung 1, die Kamera 3 für die Bedingung 2 und die Kamera
4 für die Bedingung 3.
-
19 ist
ein Flussdiagramm, das einen Hauptablauf der Bildverarbeitung der
Bildverarbeitungsvorrichtung gemäß einer anderen
Ausführungsform der vorliegenden Erfindung zeigt. In der
Bildverarbeitung wie zuvor beschrieben ist der in 4 gezeigte
Bildaufnahmemechanismus getrennt vorgesehen und wird asynchron betrieben.
Jedoch ist es, wie in 9 gezeigt, möglich,
den in 4 gezeigten Bildaufnahmemechanismus so zu inkorporieren, dass
er seriell in der Bildaufnahmeeinheit zu betreiben ist.
-
Die
in 19 gezeigte Bildverarbeitung ist grob in eine
Bildaufnahmeeinheit (Schritt S31, siehe innerhalb eines Rahmens
mit gestrichelter Linie) und eine Messeinheit (Schritt S32) unterteilt.
Die Messeinheit von Schritt S32 ist ähnlich zu 5,
kann als die Verzweigungseinheit, die Flächeneinheit und
die Zusammenführungseinheit (Schritt S12 bis Schritt S14)
konfiguriert werden.
-
In
der in 19 gezeigten Bildaufnahmeeinheit
(Schritt S31) wird zuerst festgestellt, ob es eine externe Auslösereingabe
gibt oder nicht (Schritt S311). Falls es keine Auslösereingabe
gibt (Schritt S311: NEIN), geht der Prozess in Bereitschaft, bis
es eine Auslösereingabe gibt. Falls es eine Auslösereingabe
gibt (Schritt S311: JA), wird das Erfassen der Bilddaten ausgeführt
(Schritt S312). In diesem Fall, da der Bildspeicher 17a,
der als Pufferspeicher (frame buffer) fungiert, nicht vorgesehen
ist, wird, wenn es eine Auslösereingabe gibt, der interne
Transfer zusammen mit der Erfassung der Bilddaten durchgeführt.
Zu diesem Zeitpunkt werden Identifikationsinformationen, welche
die Kamera anzeigen, von der die intern transferierten Bilddaten
erhalten werden (beispielsweise Informationen des Aufnahmebefehls oder
dergleichen, wie oben beschrieben) gleichzeitig intern übertragen.
Auch ist es möglich, nur die Identifikationsinformationen
im Arbeitsspeicher im Bildprozessor 18 zu speichern.
-
Nachfolgend
wird festgestellt, ob das Bild, welches die Aufnahmeabschlussbedingung
erfüllt, durch den Bildprozessor 18 anstelle des
Bildeingabeabschnitts 16 erfasst wird (Schritt S313). Spezifisch greift
der Bildprozessor 13 auf den Bildspeicher 17b zu
und bezieht sich auf die Identifikationsinformationen, wodurch die
Kamera erkannt wird, aus der die gespeicherten Bilddaten erhalten
werden. Gleichzeitig greift der Bildprozessor 18 auf den
Hauptspeicher 13 zu und bezieht sich auf die zuvor eingestellten Aufnahmeabschlussbedingungen,
wodurch festgestellt wird, ob die erkannten Bilddaten die Aufnahmeabschlussbedingungen
erfüllen oder nicht.
-
Wenn
festgestellt wird, dass irgendeine der Aufnahmeabschlussbedingungen
nicht erfüllt ist (Schritt S313: NEIN), kehrt der Prozess
zu Schritt S311 zurück und wenn festgestellt wird, dass
irgendeine der Aufnahmeabschlussbedingungen erfüllt ist
(Schritt S313: JA), wird der Zuweisungsprozess für den
Messprozess durchgeführt (Schritt S314). Spezifisch wird, ähnlich
wie beim oben beschriebenen Prozess in Schritt S112 die Substitution der
Bildvariablen durch den Bildprozessor durchgeführt. Schließlich
bewegt sich, wenn der Zuweisungsprozess für den Messprozess
in Schritt S314 endet, der Prozess zur Messeinheit (Schritt S32).
-
Wie
oben beschrieben, kann der Bildaufnahmemechanismus (seriell) betrieben
werden, wenn der Bildaufnahmeeinheitsprozess ausgeführt
wird.
-
Haupteffekt der Ausführungsformen
-
Wie
oben beschrieben, ist es gemäß der Bildverarbeitungsvorrichtung 1 der
Ausführungsformen der vorliegenden Erfindung möglich,
eine Bildaufnahmehemmperiode zum Verhindern unvollständiger
Bildaufnahme, während die aus den Kameras erhaltenen Bilddaten
sequentiell im Bildspeicher 17a gespeichert werden (der
Bildspeicher 17b in der in 19 gezeigten
Bildverarbeitung) zu eliminieren. Als Ergebnis ist es möglich,
die Verarbeitungszeit für jede Kamera, wie auch den Inspektionstakt
zu senken. Weiterhin ist es möglich, die Bildaufnahmeeinheit
und die Messeinheit synchron zum Flussdiagramm in einer Weise auszuführen,
bei der die Aufnahmeabschlussbedingungen der Mehrzahl von Typen
eingestellt sind und der Prozess bewegt sich von einer Bildaufnahmeeinheit
zur Messeinheit, welche mit der Aufnahmeabschlussbedingung assoziiert wird,
die als etabliert den Bildeingabeabschnitt 16 aus den Messeinheiten
innerhalb der Prozeduren etabliert festgestellt wird. Daher ist
es möglich, Probleme wie etwa Speicherkonflikte und bei
der Fehlerkorrektur zu verhindern, die auftreten können,
wenn diese Einheiten asynchron ausgeführt werden. Darüber
hinaus, da nur eine einzelne Steuerung erforderlich ist, ist es
möglich, die Anwenderkosten zu reduzieren.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste
der vom Anmelder aufgeführten Dokumente wurde automatisiert
erzeugt und ist ausschließlich zur besseren Information
des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen
Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt
keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Patentliteratur
-
- - JP 09-288568 [0003]
- - JP 10-32810 [0008, 0011, 0012]