-
GEBIET DER ERFINDUNG
-
Die Erfindung betrifft im Allgemeinen maschinelle Visionsinspektionssysteme und insbesondere Editierumgebungen für Teilprogramme, die eine kontinuierliche Hochgeschwindigkeits-Bilderfassung in solchen Systemen beinhalten.
-
STAND DER TECHNIK
-
Maschinelle Präzisionsvisionsinspektionssysteme (oder kurz „Visionssysteme” genannt) können eingesetzt werden, um präzise dimensionale Messungen von inspizierten Objekten zu erfassen und um verschiedene andere Objektcharakteristika zu inspizieren. Solche Systeme können einen Computer, eine Kamera und ein optisches System sowie eine Präzisionsbühne beinhalten, die sich in mehrfache Richtungen bewegen lässt, um es der Kamera zu ermöglichen, die Merkmale eines Werkstücks, das inspiziert wird, abzutasten. Ein beispielhaftes System gemäß dem Stand der Technik, das auf dem Markt erhältlich ist, ist die QUICK VISION®-Serie der Visionssysteme auf PC-Basis und die QVPAK®-Software, die von der Mitutoyo America Corporation (MAC) in Aurora, IL, USA, erhältlich ist. Die Merkmale und der Betrieb der QUICK VISION®-Serie der Visionssysteme und die QVPAK®-Software werden allgemein z. B. im QVPAK 3D CNC Vision Measuring Machine User's Guide (Handbuch der QVPAK 3D CNC Visionsmessmaschine), veröffentlicht im Januar 2003, und dem QVPAK 3D CNC Vision Measuring Machine Operation Guide (Handbuch der QVPAK 3D CNC Visionsmessmaschine), veröffentlicht im September 1996, beschrieben, die jeweils in ihrer Gesamtheit durch Bezugnahme hierin enthalten sind. Dieses Produkt, wie durch das QV-302 Pro-Modell beispielhaft erläutert, ist in der Lage, ein optisches System vom Mikroskoptyp einzusetzen, um Bilder eines Werkstücks in verschiedenen Bildvergrößerungen bereitzustellen und die Bühne nach Bedarf zu bewegen, um die Werkstückoberfläche über die Grenzen eines einzelnen Videobilds hinaus zu fahren. Ein einzelnes Videobild umfasst typischerweise angesichts der gewünschten Bildvergrößerung, Messungsauflösung und den Beschränkungen der physikalischen Größen solcher Systeme nur einen Teil des Werkstücks, das beobachtet oder inspiziert wird.
-
Maschinelle Visionsinspektionssysteme setzen im Allgemeinen eine automatisierte Videoinspektion ein. Das
U.S.-Patent Nr. 6,542,180 lehrt verschiedene Aspekte einer solchen automatisierten Videoinspektion und ist hierin in seiner Gesamtheit durch Bezugnahme enthalten. Wie in dem '180-Patent gelehrt, weisen automatisierte messtechnische Videoinspektionsinstrumente im Allgemeinen eine Programmiermöglichkeit auf, durch die eine automatisierte Inspektionsereignissequenz durch den Anwender für jede bestimmte Werkstückkonfiguration definiert werden kann. Dies kann z. B. durch eine Programmierung auf Textbasis oder durch einen Aufzeichnungsmodus implementiert werden, der die Inspektionsereignissequenz progressiv „erlernt”, indem eine Sequenz der maschinellen Steueranweisungen entsprechend einer Sequenz an Inspektionsoperationen gespeichert wird, die durch einen Anwender mithilfe einer grafischen Bedienoberfläche ausgeführt wird, oder durch eine Kombination beider Verfahren. Ein solcher Aufzeichnungsmodus wird oftmals als „Lernmodus” bezeichnet. Wenn die Inspektionsereignissequenz einmal im „Lernmodus” definiert worden ist, kann eine solche Sequenz dann verwendet werden, um Abbildungen eines Werkstücks während des „Ablaufmodus” automatisch zu erfassen (und zusätzlich zu analysieren oder zu inspizieren).
-
Video-Werkzeuge (oder kurz „Werkzeuge” genannt) und andere Merkmale grafischer Bedienoberflächen können verwendet werden, um eine manuelle Inspektion und/oder maschinelle Steueroperationen (im „manuellen Modus”) manuell auszuführen. Ihre Einrichtungsparameter und ihr Betrieb können ebenfalls während des Lernmodus aufgezeichnet werden, um automatische Inspektionsprogramme oder „Teilprogramme” automatisch zu erzeugen. Video-Werkzeuge können z. B. Kanten-/Grenzen-Erkennungswerkzeuge, Autofokus-Werkzeuge, Gestalt- oder Musterpassungs-Werkzeuge, Dimensions-Messwerkzeuge und dergleichen beinhalten. Andere grafische Bedienoberflächen-Merkmale beinhalten Dialogkästchen zur Datenanalyse, Schritt- und Wiederholungs-Schleifenprogrammierung und dergleichen. Solche Werkzeuge werden z. B. regelmäßig in einer Vielzahl von auf dem Markt erhältlichen maschinellen Visionsinspektionssystemen eingesetzt, wie z. B. der QUICK VISION®-Serie der Visionssysteme und der assoziierten QVPAK®-Software, die oben erörtert worden sind.
-
Die Maschinen-Steueranweisungen, einschließlich der spezifischen Inspektionsereignissequenz (d. h. wie jedes Bild zu erfassen ist und wie jedes erfasste Bild zu analysieren/inspizieren ist) werden im Allgemeinen als ein „Teilprogramm” oder „Werkstückprogramm” gespeichert, das spezifisch für die bestimmte Werkstückkonfiguration ist. Ein Teilprogramm definiert z. B., wie jedes Bild zu erfassen ist, z. B. wie die Kamera relativ zum Werkstück positioniert werden soll, zu welchem Lichtwert, zu welchem Bildvergrößerungswert, etc. Weiterhin definiert das Teilprogramm, z. B. durch Verwendung eines oder mehrerer Video-Werkzeuge, wie z. B. der Kanten-/Grenzen-Erkennungswerkzeuge, wie ein erfasstes Bild zu analysieren/überprüfen ist. Die Fähigkeit, Teilprogramme mit Anweisungen zu erzeugen, die eine vorbestimmte Sequenz an Inspektionsoperationen ausführen, stellt mehrfache Vorteile bereit, einschließlich einer erhöhten Wiederholbarkeit der Inspektion sowie der Fähigkeit, dasselbe Teilprogramm wiederholt an einem oder mehreren kompatiblen maschinellen Visionsinspektionssystemen automatisch auszuführen.
-
Für maschinelle Universalvisionsinspektionssysteme, die für eine rasche Programmierung für eine große Vielzahl von Werkstücken vorgesehen sind, für die die oben angegebene QUICK VISION®-Serie der Visionssysteme auf PC-Basis beispielhaft ist, werden herkömmlicherweise die Bilderfassungsoperationen mit Bildanalyseoperationen und/oder Merkmalsinspektionsoperationen durchsetzt, die am zuletzt erfassten Bild durchgeführt werden (hierin als Operationen vom „durchsetzten” Typ bezeichnet). Es besteht jedoch ein steigender Bedarf an maschinellen Universalvisionsinspektionssystemen, um einen höheren Durchsatz bereitzustellen. Gemäß einem Verfahren kann dies durch die Durchführung einer Bilderfassung erreicht werden, während eine kontinuierliche relative Bewegung zwischen der Kamera und der Werkstückbühne durchgeführt wird (im Gegensatz zu intermittierendem Stoppen und Starten der relativen Bewegung, wie es für Operationen vom durchsetzten Typ erforderlich ist), wodurch der Inspektionsdurchsatz erheblich erhöht wird. Solche Operationen werden hierin als Operationen vom kontinuierlichen Typ bezeichnet. Es ist für solche Systeme vorteilhaft, eine Stroboskopbeleuchtung vorzusehen, um das Erfassen der Bilder während der kontinuierlichen Bewegung ohne Verschmieren (Unschärfe) des Bilds zu unterstützen.
-
„In-Line” Hochgeschwindigkeitsvisionsinspektionssysteme, die in Hochgeschwindigkeits-Fertigungsanlagen verwendet werden, haben eine Bilderfassung der kontinuierlichen Bewegungsart bereitgestellt. Solche In-Line Visionssysteme sind jedoch typischerweise einer einzelnen Fertigungsanlage zugedacht und erfassen immer wieder das „selbe” Bild, z. B. für aufeinanderfolgende Werkstücke auf einer Bandanlage. In solchen Fällen sind die Bewegungsgeschwindigkeit und Stroboskopbeleuchtungsparameter, etc. für jedes Bild die gleichen. Weiterhin werden Werkstückkonfigurationen und/oder Bilderfassungsparameter, etc. selten verändert. Deshalb haben bisherige Programmierungsverfahren für solche Systeme die rasche Programmierung für eine unbeschränkte Vielzahl von Werkstücken, Kamerapositionen, Bilderfassungsparametern, etc. durch relativ unerfahrene Benutzer nicht erleichtert.
-
Im Gegensatz dazu hat die Erfahrung gelehrt, dass es für maschinelle Universalvisionsinspektionssysteme von äußerster Wichtigkeit ist, die rasche Programmierung für eine unbeschränkte Vielzahl von Werkstücken, Kamerapositionen, Bilderfassungsparametern, etc. durch relativ unerfahrene Benutzer zu ermöglichen. Bisherige Programmierverfahren für maschinelle Universalvisionsinspektionssysteme haben die Programmierung von Operationen der kontinuierlichen Bewegungsart nicht ausreichend leicht oder schnell gemacht. Weiterhin haben bisherige Programmierungsverfahren die Programmierung von Operationen der kontinuierlichen Bewegungsart in Kombination mit Operationen der durchsetzten Art nicht ausreichend leicht oder schnell gemacht. Die Programmierungssystem und Verfahren, die diese Probleme und Nachteile entweder separat oder in Kombination bewältigen können, sind deshalb wünschenswert.
-
Ein beispielhaftes Verfahren gemäß dem Stand der Technik, das manche dieser Probleme und Nachteile bewältigt, ist im
U.S.-Patent Nr. 7,590,276 illustriert, das hierin durch Bezugnahme in seiner Gesamtheit enthalten ist. Wie in dem '276 Patent beschrieben, wird ein Verfahren für eine Teilprogrammierung bereitgestellt, das es einem Benutzer erlaubt, mehrfache Bilderfassungsoperationen, die während der Lernmodusoperationen mit assoziierten Bildanalyseoperationen durchsetzt sind, in einer natürlichen und intuitiv verständlichen Beziehung zu definieren. Im resultierenden Teilprogramm werden dann Bilderfassungsoperationen für wenigstens manche der Bilder automatisch in eine kontinuierliche Bewegungs-Bilderfassungssequenz umorganisiert, die Bilder erfasst und Bilder auf eine „undurchsetzte” Weise speichert, um den Durchsatz des maschinellen Visionsinspektionssystems zu erhöhen.
-
Ein Nachteil von bestimmten bisherigen Programmierungsverfahren, wie z. B. dem im
'276 Patent illustrierten, ist jedoch, dass der kontinuierliche Stream der Bilderfassungsoperationen typischerweise durch Analysieren verschiedener Operationen erreicht worden ist, die vom Benutzer während des Lernmodus eingegeben worden sind, und ihre Reihenfolge in den Teilprogrammanweisungen unter Verwendung von „umgruppierten” Programmierungsdarstellungen und Syntax zu verändert oder „umgruppiert” wurden, sodass die Bilderfassungsanweisungen zur Erfassung einer Vielzahl von Bildern unter Verwendung einer kontinuierlichen Bewegung zusammengruppiert werden und deren entsprechenden Bildanalyseanweisungen verändert oder „umgruppiert” werden, um die Bilderfassungsanweisungen derart zu befolgen, dass die Bildanalyseoperationen während der kontinuierlichen Bewegung nicht mit der Hochgeschwindigkeits-Bilderfassung durchsetzt werden oder diese unterbrechen müssen. Wenn die Teilprogrammanweisungen zum Editieren oder zur Ansicht erneut aufgerufen werden, sind die Bildanalyseanweisungen somit von den Erfassungsanweisungen für deren entsprechendes Bild getrennt. Dies hat sich jedoch für die Benutzer solcher Systeme als verwirrend erwiesen, indem die zugeordneten Bilderfassungs- und Analyseanweisungen durch zwischengeschaltete „nicht zugeordnete” Bilderfassungs- und Bildverarbeitungsanweisungen getrennt werden, was nicht intuitiv ist und zu Ineffizienzen und Fehlern führt, wenn ein Benutzer versucht, die „umgeordneten” Teilprogrammanweisungen zu lesen oder zu editieren. Mit anderen Worten haben die umgeordneten Programmierungsdarstellungen und die Syntax zum Zusammengruppieren der Bilderfassungsoperationen im Teilprogramm die Programmierung und das Editieren solcher Teilprogramme schwieriger für Benutzer gemacht. Es besteht deshalb ein Bedarf an einer Teilprogrammierungssyntax und Editieroperationen sowie Merkmalen, die diese und andere Mängel bewältigen, um eine effizientere, intuitive und flexible Programmierung und Editierung kontinuierlicher Bilderfassungs-Teilprogramme für maschinelle Präzisionsvisionsinspektionssysteme zu ermöglichen.
-
KURZBESCHREIBUNG
-
Diese Kurzbeschreibung wird bereitgestellt, um eine Auswahl an Konzepten in vereinfachter Form vorzustellen, die nachfolgend in der detaillierten Beschreibung weiter beschrieben werden. Diese Kurzbeschreibung ist nicht dazu vorgesehen, die Schlüsselmerkmale des beanspruchten Gegenstands zu identifizieren, noch ist sie dazu vorgesehen, als Hilfe bei der Feststellung des Umfangs des beanspruchten Gegenstands verwendet zu werden.
-
Gemäß einem Aspekt der Erfindung wird eine maschinelle Präzisionsvisionssystem-Editierumgebung für ein Teilprogramm bereitgestellt, in dem ein kontinuierlicher oder ununterbrochener sequenzieller Strom an Bilderfassungsoperationen während eines Ablaufmodus durchgeführt wird. Das maschinelle Präzisionsvisionsinspektionssystem enthält einen Bildgebungsabschnitt, eine Bühne zum Halten eines oder mehrerer Werkstücke in einem Sichtfeld (SF) des Bildgebungsabschnitts, einen Steuerabschnitt, eine Anzeige und eine Bedienoberfläche.
-
Gemäß einem weiteren Aspekt der Erfindung umfasst das maschinelle Visionsinspektionssystem ferner einen Lernmodus, der derart betrieben werden kann, dass Benutzereingaben empfangen werden, um Operationen des maschinellen Visionsinspektionssystems zu steuern und Anweisungen entsprechend den gesteuerten Operationen aufzuzeichnen, um ein Teilprogramm zu erzeugen. Der Lernmodus wird kann ebenfalls derart betrieben werden, um das Teilprogramm zu editieren und um zuvor aufgezeichnete Teilprogrammanweisungen gemäß einem Editierausführungsmodus auszuführen. Der Lernmodus enthält Bedienoberflächenmerkmale, wie z. B. ein vom Benutzer steuerbares Streammodus-Anweisungselement und eine editierbare Teilprogrammdarstellung der Teilprogrammanweisungen. Das vom Benutzer steuerbare Streammodus-Anweisungselement kann verwendet werden, um ein Streammodussegment zu kennzeichnen, welches ein Segment eines Teilprogramms umfasst, das für die Streammodusausführung gekennzeichnet ist. Bei verschiedenen Ausführungsformen kann die Streammodusausführung das Durchführen von Bilderfassungsoperationen in einer sequenziellen Reihenfolge während einer kontinuierlichen Bewegungssequenz umfassen, wobei die Bühne und der Bildgebungsabschnitt sich kontinuierlich relativ zu einander bewegen, um wenigstens zwei Bilder zu erfassen. Die editierbare Teilprogrammdarstellung enthält Bilderfassungs-Anweisungsdarstellungen entsprechend den Bilderfassungsoperationen, Bildanalyse-Anweisungsdarstellungen entsprechend den Bildanalyseoperationen und eine Streammodus-Segmentdarstellung.
-
Gemäß einem weiteren Aspekt der Erfindung umfasst das maschinelle Visionsinspektionssystem einen Ablaufmodus, der so betrieben werden kann, dass ein vorher erzeugtes Teilprogramm ausgeführt wird, wobei der Ablaufmodus einen Nicht-Streammodus zur Ausführung von Teilprogramm-Anweisungen, die sich nicht in einem Streammodussegment befinden, sowie einen Streammodus zur Ausführung von Teilprogrammanweisungen umfasst, die sich in einem Streammodussegment befinden.
-
Gemäß einem weiteren Aspekt der Erfindung ist der Lernmodus derart konfiguriert, dass die editierbare Teilprogramm-Darstellung eine erste Vielzahl von Teilprogrammanweisungen repräsentiert, die Anweisungen zur Bilderfassung und entsprechender Bildanalyse in einer ersten Reihenfolge umfassen, die einer Reihenfolge entspricht, in welcher die entsprechenden gesteuerten Operationen durchgeführt wurden, um das Teilprogramm zu erzeugen. Zusätzlich ist der Lernmodus weiterhin derart konfiguriert, dass der Editierausführungsmodus die Bilderfassungsanweisungen des Teilprogramms und die entsprechenden Bildanalyseanweisungen der ersten Vielzahl von Teilprogrammanweisungen ausführt, um die Bilderfassungsoperationen und entsprechenden Bildanalyseoperationen auf eine Weise durchzuführen, die konsistent mit der ersten Reihenfolge ist, ohne Rücksicht darauf, ob die erste Vielzahl der Bilderfassungs- und entsprechenden Bildanalyseanweisungen des Teilprogramms in einem Streammodussegment enthalten sind, oder nicht.
-
Gemäß einem weiteren Aspekt der Erfindung ist der Ablaufmodus derart konfiguriert, dass der Streammodus die erste Vielzahl von Bilderfassungs- und entsprechenden Bildanalyseanweisungen des Teilprogramms in einer zweiten Reihenfolge ausführt, wenn diese in einem Streammodussegment enthalten sind. Bei einer Ausführungsform umfasst die zweite Reihenfolge die Durchführung der ersten Vielzahl der Bilderfassungsanweisungen des Teilprogramms, um deren entsprechenden Bilderfassungsoperationen in einer sequenziellen Reihenfolge durchzuführen, ohne von der Durchführung der entsprechenden Bildanalyseoperationen abhängig zu sein. Weiterhin kann die zweite Reihenfolge ferner die Durchführung der ersten Vielzahl von Bildanalyseanweisungen des Teilprogramms umfassen, um deren entsprechenden Bildanalyseoperationen durchzuführen, nachdem ihre entsprechenden Bilder erfasst worden sind. Bei einer Ausführung wird die Arbeit der Bildanalyseoperationen, nachdem deren entsprechenden Bilder erfasst worden sind, während der sequenziellen Reihenfolge der Bilderfassungsoperationen ausgeführt.
-
Gemäß einem weiteren Aspekt der Erfindung wird die Arbeit der Bilderfassungsoperationen in einer sequenziellen Reihenfolge während einer kontinuierlichen Bewegungssequenz vorgenommen, wobei sich die Bühne und der Bildgebungsabschnitt kontinuierlich relativ zu einander bewegen (z. B. bewegt sich die Bühne kontinuierlich relativ zum Bildgebungsabschnitt). In manchen Konfigurationen kann die Bewegung der Bühne derart erfolgen, um ein Werkstück in einer horizontalen Ebene (z. B. eine X-Y-Ebene) physikalisch zu bewegen, den Bildgebungsabschnitt jedoch nicht zu bewegen, wohingegen die Bewegung der Bühne derart erfolgen kann, um den Bildgebungsabschnitt in vertikaler Richtung (z. B. eine Z-Richtung) zu bewegen, das Werkstück jedoch nicht. In anderen Konfigurationen kann die Bewegung der Bühne derart erfolgen, um ein Werkstück in eine horizontale Richtung (z. B. eine X-Richtung) zu bewegen, den Bildgebungsabschnitt jedoch nicht, wohingegen die Bewegung der Bühne derart erfolgen kann, um den Bildgebungsabschnitt in eine andere horizontale Richtung (z. B. eine Y-Richtung) und in eine vertikale Richtung (z. B. eine Z-Richtung) zu bewegen, das Werkstück jedoch nicht. Bei verschiedenen Ausführungsformen werden die Bilderfassungsoperationen in einer kontinuierlichen Bewegungssequenz für wenigstens zwei Bilder durchgeführt.
-
Gemäß einem weiteren Aspekt der Erfindung wird die Arbeit der Bildanalyseoperationen, nachdem die entsprechenden Bilder erfasst worden sind, wenigstens teilweise während der sequenziellen Reihenfolge der Bilderfassungsoperationen ausgeführt.
-
Gemäß einem weiteren Aspekt der Erfindung führt der Nicht-Streammodus der Ausführung die Bilderfassungsanweisungen und entsprechenden Bildanalyseanweisungen der ersten Vielzahl der Teilprogrammanweisungen aus, die sich nicht in einem Streammodussegment befinden, um die Bilderfassungsoperationen und entsprechenden Bildanalyseoperationen in einer Weise durchzuführen, die mit der ersten Reihenfolge übereinstimmt.
-
Gemäß einem weiteren Aspekt der Erfindung ist der Lernmodus derart konfiguriert, dass, wenn ein Teilprogramm mit einem Streammodussegment erneut zum Editieren aufgerufen wird, die editierbare Teilprogramm-Darstellung in der ersten Reihenfolge angezeigt wird, und dass der Editiermodus der Ausführung die Bilderfassungsoperationen und entsprechenden Bildanalyseoperationen in einer Weise ausführt, die mit der ersten Reihenfolge übereinstimmt. Gemäß einem weiteren Aspekt der Erfindung ist der Lernmodus derart konfiguriert, dass ein Benutzer eine Teilprogramm-Anweisungsdarstellung, die in einem Streammodussegment enthalten ist, als eine Stelle auswählen kann, um den Editiermodus der Ausführung der entsprechenden Teilprogrammanweisungen einzuleiten, nach welchem darauffolgende Teilprogrammanweisungen in einer Weise ausgeführt werden, die mit der ersten Reihenfolge übereinstimmt. Gemäß einem weiteren Aspekt der Erfindung werden die darauffolgenden Teilprogrammanweisungen in einer Weise ausgeführt, die mit der ersten Reihenfolge übereinstimmt.
-
Gemäß einem weiteren Aspekt der Erfindung umfasst das Streammodussegment einen ersten Satz an Anweisungen und einen zweiten Satz an Anweisungen, wobei der erste Satz an Anweisungen die ersten Bilderfassungsanweisungen und die ersten Bildanalyseanweisungen umfasst, welche Video-Werkzeuganweisungen eines ersten Video-Werkzeugs umfassen, und wobei der zweite Satz an Anweisungen zweite Bilderfassungsanweisungen und zweite Bildanalyseanweisungen umfasst, welche Video-Werkzeuganweisungen eines zweiten Video-Werkzeugs umfassen, wobei während des Editiermodus der Ausführung die ersten Bilderfassungsanweisungen und die ersten Bildanalyseanweisungen, die Video-Werkzeuganweisungen eines ersten Video-Werkzeugs umfassen, ausgeführt werden, bevor mit der Ausführung der zweiten Bilderfassungsanweisungen und der zweiten Bildanalyseanweisungen, die Video-Werkzeuganweisungen des zweiten Video-Werkzeugs umfassen, begonnen wird. Während des Ablaufmodus wird das Streammodussegment aufgrund des Streammodus-Anweisungselements im Streammodus ausgeführt, und während des Ablaufmodus bei der Ausführung des Streammodussegments werden die ersten und zweiten Bilderfassungsanweisungen in einer sequenziellen Reihenfolge ausgeführt, ohne von der Durchführung der entsprechenden ersten und zweiten Bildanalyseoperationen abhängig zu sein, welche die Video-Werkzeuganweisungen des ersten und zweiten Video-Werkzeugs umfassen. Gemäß einem weiteren Aspekt der Erfindung umfassen die ersten und zweiten Video-Werkzeuge Kantenerkennungs-Video-Werkzeuge.
-
Gemäß einem weiteren Aspekt der Erfindung umfasst das Teilprogramm ferner ein Nicht-Streammodussegment, und während des Lernmodus wird das Nicht-Streammodussegment durch das Fehlen eines Streammodus-Anweisungselements für das Nicht-Streammodussegment vom Streammodussegment unterschieden, wobei das Nicht-Streammodussegment einen dritten Satz an Anweisungen sowie einen vierten Satz an Anweisungen umfasst, wobei der dritte Satz an Anweisungen dritte Bilderfassungsanweisungen und dritte Bildanalyseanweisungen umfasst, die Video-Werkzeuganweisungen eines dritten Video-Werkzeugs umfassen, und wobei der vierte Satz an Anweisungen vierte Bilderfassungsanweisungen und vierte Bildanalyseanweisungen umfasst, die Video-Werkzeuganweisungen eines vierten Video-Werkzeugs umfassen, wobei während des Editiermodus der Ausführung die dritten Bilderfassungsanweisungen und dritten Bildanalyseanweisungen, die Video-Werkzeuganweisungen des dritten Video-Werkzeugs umfassen, vor Beginn der Ausführung der vierten Bilderfassungsanweisungen und der vierten Bildanalyseanweisungen ausgeführt werden, die Video-Werkzeuganweisungen des vierten Video-Werkzeugs umfassen. Während des Ablaufmodus wird das Nicht-Streammodussegment aufgrund des Fehlens eines Streammodus-Anweisungselements für das Nicht-Streammodussegment im Nicht-Streammodus ausgeführt, und während der Ausführung des Ablaufmodus des Nicht-Streammodussegments werden die dritten und vierten Bilderfassungsanweisungen in einer sequenziellen Reihenfolge ausgeführt, ohne von der Durchführung der entsprechenden dritten und vierten Bildanalyseoperationen abhängig zu sein, die Video-Werkzeuganweisungen des dritten und vierten Video-Werkzeugs umfassen.
-
Gemäß einem weiteren Aspekt der Erfindung wird, wenn ein Teilprogramm mit einem Streammodussegment erneut zum Editieren aufgerufen wird, die editierbare Teilprogramm-Darstellung in der ersten Reihenfolge angezeigt, und der Editiermodus der Ausführung führt die Bilderfassungsoperationen sowie die entsprechenden Bildanalyseoperationen auf eine Weise auf, die mit der ersten Reihenfolge übereinstimmt.
-
Gemäß einem weiteren Aspekt der Erfindung kann ein Benutzer während des Lernmodus jede beliebige Teilprogramm-Anweisung in einem Streammodussegment als eine Stelle auswählen, um die Ausführung der Teilprogramm-Anweisungen zu starten, woraufhin die darauffolgenden Teilprogramm-Anweisungen auf eine Weise ausgeführt werden, die mit der ersten Reihenfolge übereinstimmt.
-
Gemäß einem weiteren Aspekt der Erfindung umfasst das Streammodussegment einen ersten Satz an Anweisungen und einen zweiten Satz an Anweisungen. Der erste Satz an Anweisungen enthält erste Bilderfassungsanweisungen und erste Bildanalyseanweisungen, die Video-Werkzeuganweisungen eines ersten Video-Werkzeugs umfassen, während der zweite Satz an Anweisungen zweite Bilderfassungsanweisungen und zweite Bildanalyseanweisungen enthält, die Video-Werkzeuganweisungen eines zweiten Video-Werkzeugs umfassen. Bei einer Ausführungsform werden während des Editiermodus der Ausführung erste Bilderfassungsanweisungen und erste Bildanalyseanweisungen, die Video-Werkzeuganweisungen des ersten Video-Werkzeugs umfassen, vor Beginn der Ausführung der zweiten Bilderfassungsanweisungen und der zweiten Bildanalyseanweisungen, die Video-Werkzeuganweisungen des zweiten Video-Werkzeugs umfassen, ausgeführt. Danach wird das Streammodussegment während des Ablaufmodus aufgrund des Streammodus-Anweisungselements im Streammodus ausgeführt. Während des Ablaufmodus der Ausführung des Streammodussegments werden die ersten und zweiten Bilderfassungsanweisungen in einer sequenziellen Reihenfolge ausgeführt, ohne auf die Durchführung der entsprechenden ersten und zweiten Bildanalyseoperationen zurückgreifen zu müssen, die Video-Werkzeuganweisungen des ersten und zweiten Video-Werkzeugs umfassen. Bei einer Ausführungsform umfassen die ersten und zweiten Video-Werkzeuge Kantenerkennungs-Video-Werkzeuge.
-
Gemäß einem weiteren Aspekt der Erfindung umfasst das Teilprogramm ferner ein Nicht-Streammodussegment, und während des Lernmodus wird das Nicht-Streammodussegment durch das Fehlen eines Streammodus-Anweisungselements für das Nicht-Streammodussegment vom Streammodussegment unterschieden. Bei einer Ausführungsform enthält das Nicht-Streammodussegment einen dritten Satz an Anweisungen und einen vierten Satz an Anweisungen. Der dritte Satz an Anweisungen enthält dritte Bilderfassungsanweisungen und dritte Bildanalyseanweisungen, die Video-Werkzeuganweisungen eines dritten Video-Werkzeugs umfassen, während der vierte Satz an Anweisungen vierte Bilderfassungsanweisungen und vierte Bildanalyseanweisungen enthält, die Video-Werkzeuganweisungen eines vierten Video-Werkzeugs umfassen. Während des Editiermodus der Ausführung werden die dritten Bilderfassungsanweisungen und die dritten Bildanalyseanweisungen, die Video-Werkzeuganweisungen des dritten Video-Werkzeugs umfassen, vor Beginn der Ausführung der vierten Bilderfassungsanweisungen und der vierten Bildanalyseanweisungen, die Video-Werkzeuganweisungen des vierten Video-Werkzeugs umfassen, ausgeführt. Danach wird das Nicht-Streammodussegment während des Ablaufmodus aufgrund des Fehlens eines Streammodus-Anweisungselements für das Nicht-Streammodussegment im Nicht-Streammodus ausgeführt. Während der Ausführung des Ablaufmodus des Nicht-Streammodussegments werden die dritten und vierten Bilderfassungsanweisungen in einer sequenziellen Reihenfolge ausgeführt, ohne auf die Durchführung der entsprechenden dritten und vierten Bildanalyseoperationen zurückgreifen zu müssen, die Video-Werkzeuganweisungen des dritten und vierten Video-Werkzeugs umfassen.
-
Gemäß einem weiteren Aspekt der Erfindung werden die ersten und zweiten Sätze an Anweisungen während des Lernmodus in der ersten Reihenfolge ausgeführt, wobei wenigstens einige der ersten und zweiten Bilderfassungsanweisungen mit den Video-Werkzeuganweisungen des ersten Video-Werkzeugs und des zweiten Video-Werkzeugs durchsetzt sind, wobei die Anweisungen auf der Bedienoberfläche in der ersten Reihenfolge angezeigt werden. Danach wird die Teilprogramm-Anweisung entsprechend dem Streammodussegment während des Ablaufmodus im Streammodus verarbeitet, um eine Bilderfassungsroutine zu bestimmen, welche die Bilderfassungsanweisungen der ersten und zweiten Sätze an Anweisungen, jedoch nicht die Video-Werkzeuganweisungen umfassen, wobei die Bilderfassungsroutine zur Erfassung der Bilder ausgeführt wird und die Video-Werkzeuganweisungen während der Ausführung der Bilderfassungsroutine ausgeführt werden.
-
Gemäß einem weiteren Aspekt der Erfindung wird während des Ablaufmodus wenigstens ein Teil der Ausführung der Video-Werkzeuganweisungen im Streammodus während des zweiten Durchgangs durch das Streammodussegment parallel zur Ausführung der Bilderfassungsroutine durchgeführt.
-
Gemäß einem weiteren Aspekt der Erfindung wird während des Ablaufmodus während der Ausführung der Bilderfassungsroutine eine Vielzahl von Bilderfassungsanweisungen in Reihe ausgeführt, wobei währenddessen Video-Werkzeuganweisungen, die während des Lernmodus beim Durchsetzen eingefügt wurden, noch nicht ausgeführt werden, sodass die Anweisungen in der zweiten Reihenfolge ausgeführt werden, die sich von der ersten Reihenfolge unterscheidet.
-
Gemäß einem weiteren Aspekt der Erfindung bewegen sich während des Ablaufmodus, wenn die Bilderfassungsroutine ausgeführt wird, die Bühne und der Bildgebungsabschnitt zur Erfassung der Bilder kontinuierlich relativ zueinander.
-
Gemäß einem weiteren Aspekt der Erfindung wird das Streammodussegment des Teilprogramms durch spezifische Streammodus-Anweisungs-Darstellungen am Anfang und Ende des Streammodussegments identifiziert.
-
Gemäß einem weiteren Aspekt der Erfindung werden während des Lernmodus die Teilprogramm-Anweisungen innerhalb des Streammodussegments als Teilprogramm-Darstellungen angezeigt und werden zu einem identischen Erscheinungsbild wie die Darstellungen ähnlicher Teilprogramm-Anweisungen gebracht, die außerhalb des Streammodussegments liegen, sodass ein Benutzer bei den Programmierungs- oder Editierungsoperationen innerhalb des Streammodussegments keine andere Programmierungs-Darstellung oder Syntax als außerhalb des Streammodussegments verwenden muss.
-
BESCHREIBUNG DER ZEICHNUNGEN
-
Die vorstehenden Aspekte und viele der begleitenden Vorteile dieser Erfindung werden durch Bezugnahme auf die nachfolgende detaillierte Beschreibung in Zusammenhang mit den beigefügten Zeichnungen näher erläutert, wobei:
-
1 ein Diagramm ist, das verschiedene typische Komponenten eines maschinellen Universalpräzisionsvisionsinspektionssystems darstellt;
-
2 ein Blockdiagram eines Steuersystemabschnitts und eines Visionskomponentenabschnitts eines maschinellen Visionsinspektionssystems ähnlich dem von 1 ist, welches die Merkmale gemäß dieser Erfindung enthält;
-
3 ein Diagramm einer Editierbedienoberfläche ist, einschließlich einer Darstellung eines Teilprogramms, das ein Streammodussegment enthält, für welches ein kontinuierlicher Stream von Bilderfassungsoperationen während eines Ablaufmodus durchgeführt wird;
-
4 ein Diagramm einer Bedienoberfläche ist, einschließlich einem Abschnitt eines Werkstücks, an welchem die Teilprogrammschritte von 3 durchgeführt werden; und
-
5A und 5B Ablaufdiagramme einer Ausführungsform für eine Routine zur Bereitstellung einer Editierumgebung für ein Teilprogramm sind, die ein Streammodussegment einschließen.
-
DETAILLIERTE BESCHREIBUNG
-
1 ist ein Blockdiagramm eines beispielhaften maschinellen Visionsinspektionssystems 10, das gemäß den hierin beschriebenen Verfahren verwendet werden kann. Das maschinelle Visionsinspektionssystem 10 enthält eine Visionsmessmaschine 12, die derart in Betriebsverbindung steht, um Daten und Steuersignale mit einem Steuercomputersystem 14 auszutauschen. Das Steuercomputersystem 14 steht weiterhin in Betriebsverbindung, um Daten und Steuersignale mit einem Monitor oder einer Anzeige 16, einem Drucker 18, einem Joystick 22, einer Tastatur 24 und einer Maus 26 auszutauschen. Der Monitor oder die Anzeige 16 kann eine Bedienoberfläche anzeigen, die zum Steuern und/oder Programmieren der Operationen des maschinellen Visionsinspektionssystems 10 geeignet ist.
-
Die Visionsmessmaschine
12 enthält eine bewegliche Werkstückbühne
32 und ein optisches Bildgebungssystem
34, das eine Zoomlinse oder austauschbare Linsen enthalten kann. Die Zoomlinse oder die austauschbaren Linsen stellen im Allgemeinen verschiedene Bildvergrößerungen für die Bilder bereit, die vom optischen Bildgebungssystem
34 bereitgestellt werden. Das maschinelle Visionsinspektionssystem
10 ist im Allgemeinen mit den QUICK VISION
®-Serien der Visionssysteme sowie der oben erörterten QVPAK
®-Software sowie ähnlichen auf dem Markt erhältlichen maschinellen Präzisionsvisionsinspektionssystemen nach dem neuesten Stand vergleichbar. Das maschinelle Visionsinspektionssystem
10 wird ebenfalls in den in gemeinsamem Besitz befindlichen
U.S.-Patent Nr. 7,454,053 und
7,324,682 sowie den veröffentlichten U.S.-Patentanmeldungen Nr. 2010/0158343 und 2011/0103679 beschrieben, die jeweils hierin unter Bezugnahme in ihrer Gesamtheit enthalten sind.
-
2 ist ein Blockdiagramm eines Steuersystemabschnitts 120 und eines Visionskomponentenabschnitts 200 eines maschinellen Visionsinspektionssystems 100 ähnlich dem maschinellen Visionsinspektionssystem von 1 und enthält Merkmale gemäß der vorliegenden Erfindung. Wie nachfolgend noch im Einzelnen erörtert wird, wird der Steuersystemabschnitt 120 eingesetzt, um den Visionskomponentenabschnitt 200 zu steuern. Der Visionskomponentenabschnitt 200 enthält einen optischen Baugruppenabschnitt 205, Lichtquellen 220, 230 und 240 sowie eine Werkstückbühne 210 mit einem zentralen transparenten Abschnitt 212. Die Werkstückbühne 210 ist steuerbar entlang der X- und Y-Achsen beweglich, die in einer Ebene liegen, die im Allgemeinen parallel zur Oberfläche der Bühne liegt, wo ein Werkstück 20 positioniert werden kann. Der optische Baugruppenabschnitt 205 enthält ein Kamerasystem 260, eine austauschbare Objektivlinse 250 und kann eine Revolverlinsenbaugruppe 280 mit den Linsen 286 und 288 enthalten. Alternativ zur Revolverlinsenbaugruppe kann eine fixierte oder manuell austauschbare Vergrößerungs-Veränderungslinse oder eine Zoomlinsenkonfiguration oder dergleichen enthalten sein. Der optische Baugruppenabschnitt 205 ist durch einen steuerbaren Motor 294 steuerbar entlang einer Z-Achse beweglich, die im Allgemeinen orthogonal zu den X- und Y-Achsen liegt.
-
Ein Werkstück 20 oder eine Schale oder Befestigung, die eine Vielzahl von Werkstücken 20 hält, die unter Verwendung des maschinellen Visionsinspektionssystems 100 abgebildet werden soll, wird auf der Werkstückbühne 210 platziert. Die Werkstückbühne 210 kann derart gesteuert werden, dass sie sich relativ zum optischen Baugruppenabschnitt 205 bewegt, sodass sich die austauschbare Objektivlinse 250 zwischen Positionen an einem Werkstück 20 und/oder unter einer Vielzahl von Werkstücken 20 bewegt. Ein oder mehrere von einer Bühnenleuchte 220, koaxialen Leuchte 230 und einer Oberflächenleuchte 240 können jeweils Lichtquelle 222, 232 oder 242 emittieren, um das Werkstück oder die Werkstücke 20 zu beleuchten. Das Quelllicht wird als Werkstücklicht 255 reflektiert oder übertragen, das durch die austauschbare Objektivlinse 250 und die Revolverlinsenbaugruppe 280 hindurch gelangt und vom Kamerasystem 260 erfasst wird. Das Bild des Werkstücks/der Werkstücke 20, das vom Kamerasystem 260 erfasst worden ist, wird an einer Signalleitung 262 an den Steuersystemabschnitt 120 ausgegeben. Die Lichtquellen 220, 230 und 240 können jeweils durch Signalleitungen oder durch Busse 221, 231 und 241 mit dem Steuersystemabschnitt 120 verbunden sein. Um die Bildvergrößerung zu verändern, kann der Steuersystemabschnitt 120 die Revolverlinsenbaugruppe 280 entlang der Achse 284 rotieren, um eine Revolverlinse durch eine Signalleitung oder eine Bus 281 auszuwählen.
-
Bei verschiedenen beispielhaften Ausführungsformen ist der optische Baugruppenabschnitt 205 in der vertikalen Z-Achsenrichtung relativ zur Werkstückbühne 210 unter Verwendung eines steuerbaren Motors 294 beweglich, der einen Stellmotor, ein Verbindungskabel oder dergleichen antreibt, um den optischen Baugruppenabschnitt 205 entlang der Z-Achse zu bewegen, um die Bildschärfe des Werkstückbilds 20, das vom Kamerasystem 260 erfasst wird, zu verändern. Der Begriff Z-Achse, wie hierin verwendet, bezieht sich dabei auf die Achse, die zur Verwendung zur Scharfeinstellung des vom optischen Baugruppenabschnitt 205 erhaltenen Bilds vorgesehen ist. Der steuerbare Motor 294, falls verwendet, wird an die Eingabe-/Ausgabe-Bedienoberfläche 130 über eine Signalleitung 296 angeschlossen.
-
Wie in 2 gezeigt, enthält der Steuersystemabschnitt 120 in verschiedenen beispielhaften Ausführungsformen eine Steuereinheit 125, die Eingabe-/Ausgabe-Bedienoberfläche 130, einen Speicher 140, einen Werkstück-Programmierungsgenerator und -ausführer 170 sowie einen Stromzufuhrabschnitt 190. Jede dieser Komponenten sowohl die nachfolgend beschriebenen Komponenten kann durch einen oder mehrere Daten/Steuerbusse und/oder Anwendungsprogrammierungs-Bedienoberflächen oder durch direkte Verbindungen zwischen den verschiedenen Elementen miteinander verbunden werden.
-
Bei verschiedenen Ausführungsformen gemäß dieser Erfindung enthält der Werkstück-Programmierungsgenerator und -ausführer 170 einen Editierabschnitt 172, der verschiedene Operationen sowie Bedienoberflächen-Merkmale bereitstellt oder aktiviert, die das Editieren eines Teilprogramms betreffen, wie nachfolgend noch im Einzelnen beschrieben wird. Es ist zu erkennen, dass die Begriffe „Werkstückprogramm” und „Teilprogramm” hierin untereinander austauschbar verwendet werden können. Im Allgemeinen enthält der Editierabschnitt 712 eine Editieroperations-Steuereinheit 174, welche die Operationen der Editierfunktionen steuert, sowie eine Editierbedienoberfläche 176, welche die Bedienoberflächen-Merkmale für die Editierfunktionen bereitstellt. Der Werkstück-Programmierungsgenerator und -ausführer 170 enthält ebenfalls einen Streammodusabschnitt 178, der verschiedene Merkmale bereitstellt, die mit der vorliegenden Erfindung assoziiert sind, wie nachfolgend noch im Einzelnen beschrieben wird.
-
Wie in 2 gezeigt, enthält die Eingabe-/Ausgabe-Bedienoberfläche 130 eine Bildgebungs-Steuerbedienoberfläche 131, eine Bewegungs-Steuerbedienoberfläche 132, eine Licht-Steuerbedienoberfläche 133 und eine Linsen-Steuerbedienoberfläche 134. Die Bewegungs-Steuerbedienoberfläche 132 kann ein Positions-Steuerelement 132a und ein Geschwindigkeits-/Beschleunigungs-Steuerelement 132b enthalten, obwohl solche Elemente ineinander übergehen und/oder nicht zu unterscheiden sein können. Die Licht-Steuerbedienoberfläche 133 enthält Licht-Steuerelemente 133a–133n, die z. B. die Auswahl, den Strom, An-/Ausschalter und den Stroboskoppulszeitgeber, falls zutreffend, für die verschiedenen entsprechenden Lichtquellen des maschinellen Visionsinspektionssystems 100 steuern.
-
Der Speicher 140 enthält einen Bilddatei-Speicherabschnitt 141, einen Werkstückprogramm-Speicherabschnitt 142, der ein oder mehrere Teilprogramme oder dergleichen enthalten kann, sowie einen Video-Werkzeugabschnitt 143. Der Video-Werkzeugabschnitt 143 enthält einen Video-Werkzeugabschnitt 143a und andere Video-Werkzeugabschnitte (z. B. 143 m), welcher die grafische Bedienoberfläche, die Bildverarbeitungsoperation, etc. für jedes der entsprechenden Video-Werkzeuge bestimmt. Viele bekannte Video-Werkzeuge sind in auf dem Markt erhältlichen maschinellen Visionsinspektionssystemen enthalten, wie z. B. den QUICK VISION®-Serien der Visionssysteme und der oben erörterten assoziierten QVPAK®-Software. Der Video-Werkzeugabschnitt 143 enthält ebenfalls einen Region von Interesse (ROI) Generator 143x, der automatische, halbautomatische und/oder manuelle Operationen unterstützt, die verschiedene ROIs definieren, die in verschiedenen Video-Werkzeugen betriebsfähig sind, die im Video-Werkzeugabschnitt 143 enthalten sind.
-
Im Allgemeinen speichert der Speicherabschnitt 140 Daten, die zum Betrieb des Visionssystem-Komponentenabschnitts 200 verwendbar sind, um ein Bild des Werkstücks 20 derart zu erfassen oder zu erhalten, dass das erfasste Bild des Werkstücks 20 die erwünschten Bildcharakteristika aufweist. Der Speicherabschnitt 140 kann auch Inspektions-Ergebnisdaten speichern, kann ferner Daten speichern, die verwendet werden können, um das maschinelle Visionsinspektionssystem 100 zu betreiben, um verschiedene Inspektions- und Messungsoperationen an den erfassen Bildern (z. B. teilweise implementiert als Video-Werkzeuge) entweder manuell oder automatisch durchzuführen und um die Ergebnisse durch die Eingabe-/Ausgabe-Bedienoberfläche 130 auszugeben. Der Speicherabschnitt 140 kann auch Daten enthalten, die eine Bedienoberfläche definieren, die durch die Eingabe-/Ausgabe-Bedienoberfläche 130 betriebsfähig ist.
-
Die Signalleitungen oder Busse 221, 231 und 241 der Bühnenleuchte 220, der koaxialen Leuchte 230 und der Oberflächenleuchte 240 sind jeweils alle mit der Eingabe-/Ausgabe-Bedienoberfläche 130 verbunden. Die Signalleitung 262 vom Kamerasystem 260 und die Signalleitung 296 vom steuerbaren Motor 294 sind mit der Eingabe-/Ausgabe-Bedienoberfläche 130 verbunden. Zusätzlich zum Transport der Bilddaten kann die Signalleitung 262 ein Signal von der Steuereinheit 125 transportieren, das eine Bilderfassung einleitet.
-
Ein oder mehrere Anzeigegeräte 136 (z. B. die Anzeige 16 von 1) und ein oder mehrere Eingabegeräte 138 (z. B. der Joystick 22, die Tastatur 24 und die Maus 26 von 1) können ebenfalls mit der Eingabe-/Ausgabe-Bedienoberfläche 130 verbunden sein. Die Anzeigegeräte 136 und Eingabegeräte 138 können verwendet werden, um eine Bedienoberfläche anzuzeigen, die verschiedene Bedienoberflächenmerkmale enthalten kann, die verwendet werden können, um Inspektionsoperationen durchzuführen und/oder um Teilprogramme zu erzeugen und/oder zu modifizieren, um die vom Kamerasystem 260 erfassten Bilder zu betrachten und/oder den Visionssystemkomponentenabschnitt 200 direkt zu steuern.
-
Wenn ein Benutzer das maschinelle Visionsinspektionssystem 100 verwendet, um ein Teilprogramm für das Werkstück 20 zu erzeugen, generiert der Benutzen in verschiedenen beispielhaften Ausführungsformen Teilprogramm-Anweisungen entweder durch das ausdrückliche, automatische, halbautomatische oder manuelle Kodieren der Anweisungen unter Verwendung einer Werkstück-Programmierungssprache und/oder durch das Generieren der Anweisungen durch den Betrieb des maschinellen Visionsinspektionssystems 100 in einem Lernmodus, um eine erwünschte Bilderfassungs-Lehrgangssequenz bereitzustellen. Eine Lehrgangssequenz kann z. B. das Positionieren eines Werkstückmerkmals im Sichtfeld (SF), Einstellen von Lichtwerten, Scharfeinstellung oder automatische Scharfeinstellung, Erfassen eines Bilds und Bereitstellen einer Analyse-Lehrgangssequenz, die auf das Bild angewendet wird (z. B. unter Verwendung von Video-Werkzeugen), umfassen. Der Lernmodus arbeitet dabei so, dass die Sequenz(en) erfasst oder aufgezeichnet und in entsprechende Teilprogrammschritte (d. h. Anweisungen) umgewandelt werden. Wenn das Teilprogramm ausgeführt wird, führen diese Teilprogrammschritte dazu, dass das maschinelle Visionsinspektionssystem die im Lehrgang erlernten Bilderfassungs- und Analyseoperationen reproduziert, um ein Werkstück oder Werkstücke, das dem Werkstück entspricht, das zum Erzeugen des Teilprogramms verwendet wurde, automatisch zu inspizieren.
-
Zugehörige Editiermerkmale und Funktionen werden ebenfalls in den Patentanmeldungen mit dem Titel „Machine Vision System Program Editing Environment Including Real Time Context Generation Features (Maschinelle Visionssystem-Editierumgebung, einschließlich Kontextgenerationsmerkmale in Echtzeit)” (Aktennummer MEIP138167); „Machine Vision System Program Editing Environment Including Synchronized User Interface Features (Maschinelle Visionssystem-Programmeditierumgebung, einschließlich synchronisierter Bedienoberflächenmerkmalen)” (Aktennummer MEIP138244); und „System and Method Utilizing An Editing Initialization Block in A Part Program Editing Environment In A Machine Vision System (System und Verfahren, die einen Editiereinleitungsblock in einem Teilprogramm-Editierumgebung in einem maschinellen Visionssystem einsetzen)” (Aktennummer MEIP137678) beschrieben, wobei jede davon hiermit gleichzeitig eingereicht worden ist und somit durch Bezugnahme hierin enthalten ist.
-
3 ist ein Diagramm einer Editierbedienoberfläche 300, die verschiedene Messungs- und/oder Operationsauswahlbalken, wie z. B. den Auswahlbalken 310, und eine editierbare Darstellung eines Teilprogramms 320 entsprechend verschiedenen Teilprogramm-Anweisungen einschließt, die eine Nicht-Streammodussegment-Darstellung 330 und eine Streammodussegment-Darstellung 340 enthalten. Die Nicht-Streammodussegment-Darstellung 330 enthält einen Satz an Teilprogramm-Anweisungs-Darstellungen 331 und 332, und die Streammodussegment-Darstellung 340 enthält einen Satz an Teilprogramm-Anweisungs-Darstellungen 341–349. Das Streammodussegment 340 ist ein Segment des Teilprogramms 320, das für die Ausführung des Streammodus vorgesehen ist, und wird nachfolgend noch im Einzelnen beschrieben. Die Operation der spezifischen Teilprogramm-Anweisungen 331–349 wird in Bezug auf 4 nachfolgend noch im Einzelnen beschrieben.
-
4 ist ein Diagramm, das eine Bedienoberfläche 400, einschließlich einem Anzeigefenster 410 mit einem Abschnitt eines Werkstücks 415 darstellt. Die Bedienoberfläche 400 enthält ebenfalls verschiedene Messungs- und/oder Operationsauswahlbalken, wie z. B. die Auswahlbalken 420 und 440, ein X-Y-Z-(Positions)-Koordinatenfenster 430 in Echtzeit, ein Lichtsteuerungsfenster 450 und eine Video-Werkzeug-Parameterbox 460. Wie nachfolgend noch im Einzelnen beschrieben, werden verschiedene Merkmale am Werkstück 415 gemäß den dazugehörigen Teilprogramm-Anweisungen von 3 bestimmt.
-
Die nachfolgende Beschreibung bezieht sich auf die Teilprogramm-Anweisungs-Darstellungen 321–350 von 3 und die entsprechenden Aktionen bezüglich des Werkstücks 415 von 4. Wie in 3 dargestellt, beginnt das Teilprogramm 320 mit den Anweisungs-Darstellungen 321, 331 und 332, die den Prologknoten zeigen und darauf hinweisen, dass jeweils die Leuchten eingestellt sind und die Bühne zur gewünschten Stelle bewegt worden ist. Bezüglich 4 wäre die Einstellung der Leuchten bezüglich der Beleuchtung im Anzeigefenster 410 sichtbar, und die Bewegung der Bühne wäre im Anzeigefenster 410 sichtbar und im X-Y-Z-(Positions)-Koordinatenfenster 430 in Echtzeit gezeigt. Wie nachfolgend noch im Einzelnen beschrieben wird, sind die Anweisungs-Darstellungen 331 und 332 Teil der Nicht-Streammodussegment-Darstellung 330, der in der Illustration von 3 die Streammodussegment-Darstellung 340 folgt. Es sei darauf hingewiesen, dass, obwohl zu Illustrationszwecken die Nicht-Streammodussegment-Darstellung 330 derart gestaltet ist, dass lediglich zwei Anweisungs-Darstellungen enthalten sind, in einer detaillierteren Ausführungsform mehr Anweisungs-Darstellungen enthalten sein können, wie z. B. Video-Werkzeug-Anweisungs-Darstellungen, etc., die nachfolgend noch im Einzelnen beschrieben werden.
-
Die Anweisungs-Darstellung 341 ist ein Streammodus-Anweisungselement, das den Start des Streammodussegments 340 bezeichnet. Die Anweisungs-Darstellung 341 kann durch das Aktivieren des Streammodusabschnitts 178 eingefügt werden, z. B. durch eine Menüauswahl unter einem Programmmenü 360. Die Anweisungs-Darstellungen 342, 343, 344 und 345 zeigen dann, dass jeweils die Bildvergrößerung eingestellt, das Wegglätten ausgeschaltet, die zulässige Bewegung eingestellt und die Leuchten eingestellt sind.
-
Die Anweisungs-Darstellung 346 zeigt dann, dass ein Kreiswerkzeug zum Messen eines Kreises C1, wie durch die entsprechende Anweisungs-Darstellung 346A–346C angedeutet, geöffnet wird. Insbesondere zeigt die Anweisungs-Darstellung 346A eine Einrichtung zum Messen (z. B. einschließlich einer Bewegung der Bühne an eine angegebene Stelle und eine Erfassung eines entsprechenden Bilds), während die Anweisungs-Darstellung 346B den Einsatz eines Kreiswerkzeugs zeigt, um die Randpunkte des Kreises C1 zu bestimmen, der sich im erfassten Bild befindet. Die Funktionen und Operationen der Kreiswerkzeuge und anderer Kantenerkennungs-Video-Werkzeuge sind gemäß dem Stand der Technik bekannt und sind in den oben genannten, einbezogenen Druckschriften im Einzelnen beschrieben. Wie in 4 dargestellt, ist ein Kreiswerkzeug im Anzeigefenster 410 als ein Kreismerkmal überlagernd (z. B. wie der Kreis C1) am Werkstück 415 dargestellt. Die Randpunkte, die vom Kreiswerkzeug bestimmt werden, werden dann durch die Anweisungs-Darstellung 346C genutzt, um den Kreis C1 zu definieren.
-
Auf ähnliche Weise zeigen die Anweisungs-Darstellungen 347 und 348, dass die Kreiswerkzeuge zum Messen der Kreise C2 und C3, wie durch die entsprechenden Anweisungs-Darstellungen 347A–347C und 348A–348C gezeigt, geöffnet werden. Insbesondere zeigen die Anweisungs-Darstellungen 347A und 348A eine Einrichtung zum Messen (z. B. einschließlich einer Bewegung der Bühne an angegebene Stellen und Erfassung eines entsprechenden Bilds), während die Anweisungs-Darstellung 347B und 348B die Nutzung eines Kreiswerkzeugs zur Bestimmung der Randpunkte der Kreise C2 und C3 zeigen, die sich im erfassten Bild befinden. In Bezug auf 4 zeigt dies, dass die Bühne derart bewegt würde, dass das Feld des Anzeigefensters 415 die Bewegung jeweils vom Kreismerkmal C1 bis zu den Kreismerkmalen C2 und C3 anzeigen würde. Die Randpunkte, die für die Kreiswerkzeuge bestimmt werden, werden dann von den Anweisungs-Darstellungen 347C und 348C genutzt, um die Kreise C2 und C3 zu definieren. Die Anweisungs-Darstellung 349 ist ein Streammodus-Anweisungselement, welches das Ende des Streammodussegments 340 angibt. Die Anweisungs-Darstellung 350 zeigt das Ende des Teilprogramms.
-
In Bezug auf die ursprüngliche Erzeugung des Teilprogramms 320 werden Teilprogramm-Anweisungen während des Lernmodus gemäß der Benutzereingabe aufgezeichnet (z. B. wie durch die Bedienoberfläche bereitgestellt, um die Operationen des maschinellen Visionsinspektionssystems zu steuern). Danach werden die oben beschriebenen Teilprogramm-Anweisungs-Darstellungen 321–350 in einem Editiermodus in einer Editierbedienoberfläche bereitgestellt, wie z. B. der Editierbedienoberfläche 300 von 3, um die entsprechenden Teilprogramm-Anweisungen (z. B. wie in einer Programmierungssprache geschrieben) in vereinfachter Form zum erleichterten Gebrauch zu repräsentieren. Wie nachfolgend noch im Einzelnen beschrieben wird, können die entsprechenden Teilprogramm-Anweisungen gemäß der vorliegenden Erfindung gemäß einer zweiten Reihenfolge ausgeführt werden, während die Sequenz der Teilprogramm-Anweisungs-Darstellungen 341–349 im Streammodussegment 340 im Editiermodus in einer ersten Reihenfolge während eine Ablaufmodus repräsentiert werden (d. h. in der in 3 dargestellten Reihenfolge).
-
Insbesondere umfasst bei einer Ausführungsform der Ablaufmodus eine Ausführung des Streammodus, die auf identifizierte Streamsegmente anwendbar ist, und der Streammodus ist derart konfiguriert, dass die Teilprogramm-Anweisungen entsprechend der Streammodussegment-Darstellung 340 derart verarbeitet werden, um die Bilderfassungsoperationen zu identifizieren, die im Streamsegment enthalten sind (z. B. eine Vielzahl von Bilderfassungsoperationen). Das Bilderfassungsverfahren für die Vielzahl von Bildern kann erfolgen, sobald diese Verarbeitung es gestattet. Weiterhin werden die Teilprogramm-Anweisungen entsprechend der Streammodussegment-Darstellung 340 verarbeitet, um die Bildanalyseoperationen entsprechend den erfassten Bildern zu identifizieren, und die identifizierten Bildanalyse-Anweisungen (z. B. Video-Werkzeugbetriebe) können beginnen, sobald deren entsprechenden Bilder erfasst worden sind, vorausgesetzt, dass dies die Sequenz der Bilderfassungsoperationen nicht unterbricht (z. B. eine kontinuierliche Bewegung, die zur Erfassung der Bilder verwendet wird, kann fortfahren, ohne von den Bildanalyseoperationen abhängig zu sein).
-
Bei einem spezifischen Beispiel wird die Reihenfolge der Operationen des Teilprogramms 320 wie folgt durchgeführt. Die Anweisungs-Darstellung 321 für den Prologknoten sowie die Anweisungs-Darstellungen 331 und 332 für die Einstellung der Leuchten und der Bewegung der Bühne (die Teil der Nicht-Streammodussegment-Darstellung 330 sind) werden in der dargestellten Reihenfolge durchgeführt. Wie oben beschrieben, zeigt dies, wenn die Anweisungs-Darstellung 341 einmal erreicht worden ist, den Start der Streammodussegment-Darstellung 340, welche die Streammodusverarbeitung startet. Im Streammodus wurde das Streammodussegment 340 ein erstes Mal durchlaufen, um eine Liste von Bilderfassungsoperationen zu bestimmen, die dann ausgeführt wird, und danach ein zweites Mal, um mit der Ausführung der Bildanalyseoperationen (z. B. Video-Werkzeugoperationen) zu beginnen.
-
Insbesondere werden bei einer Ausführungsform jegliche Operationen, die zur Erfassung von Bildern notwendig sind, beim ersten Durchgang durch das Streammodussegment 340 zur Liste einer Bilderfassungsroutine hinzugefügt, während jegliche Operationen, die nicht für Bilderfassungsoperationen notwendig sind, ignoriert werden. Bei einer spezifischen beispielhaften Ausführungsform werden somit die Anweisungs-Darstellungen 342–345, die alle Teil des Einrichtens des maschinellen Visionsinspektionssystem zur Erfassung der Bilder sind, zur Liste der Operationen hinzugefügt, die Teil der Bilderfassungsroutine wird. Im Gegensatz dazu wird die Teilprogramm-Anweisungs-Darstellung 346, die zeigt, dass ein Kreismessungswerkzeug geöffnet werden muss, nicht zur Liste der Bilderfassungsroutine hinzugefügt, weil diese zur Erfassung des entsprechenden Bilds nicht erforderlich ist. Die Anweisungs-Darstellung 346A, die eine Einrichtung zur Messung zeigt, die das Bewegen zu einer Stelle und das Erfassen eines Bilds beinhaltet, wird jedoch zur Liste der Bilderfassungsroutine hinzugefügt. Die Anweisungs-Darstellungen 346B und 346C, die sich auf das Ausführen des Kreiswerkzeugs und das Definieren des Kreises beziehen, sind nicht zur Bilderfassung erforderlich und können somit ignoriert anstatt zur Liste hinzugefügt werden. Auf ähnliche Weise wird die Anweisungs-Darstellung 347 ignoriert, die Anweisungs-Darstellung 347A wird zur Liste hinzugefügt, die Anweisungs-Darstellungen 347B, 347C und 364B werden ignoriert, die Anweisungs-Darstellung 348A wird zur Liste hinzugefügt und die Anweisungs-Darstellungen 348B und 348C werden ignoriert.
-
Nach dem ersten Durchgang durch das Streammodussegment 340 beginnt die Ausführung der Bilderfassungsroutine, sobald die Bilderfassungsroutine gemäß den Anweisungs-Darstellungen 342–345, 346A, 347A und 348A bestimmt worden ist. Während die Bilderfassungsroutine ausgeführt wird, wird das Streammodussegment 340 ein zweites Mal durchlaufen, bei dem die Bildanalyseoperationen (z. B. Video-Werkzeugoperationen) ausgeführt werden. Während des zweiten Durchgangs werden bei einer Ausführungsform die Anweisungs-Darstellungen 342–345, die keine Bildanalyseoperationen enthalten, ignoriert. Die Anweisungs-Darstellung 346, die zeigt, dass eine Kreismessung geöffnet werden muss, wird ausgeführt.
-
Die Anweisungs-Darstellung 346A ist ein spezieller Fall, der Bilderfassungs- und Bildanalyseoperationen zeigt, wie nachfolgend noch im Einzelnen beschrieben wird. Kurz gesagt zeigt während des zweiten Durchlaufs die Anweisungs-Darstellung 346A, die vorher Bilderfassungsoperationen gezeigt hat, auch an, dass ein Bild geladen werden muss, was eine Bildanalyseoperation ist und als solche ausgeführt wird. Falls das von der Anweisungs-Darstellung 346A gezeigte Bild bereits durch die Bilderfassungsroutine erfasst worden ist, die wie oben gezeigt gestartet worden ist, wird das Bild dann geladen. Falls das Bild noch nicht erfasst worden ist, wird das Verfahren für den zweiten Durchlauf vorübergehend angehalten, bis das Bild von der Bilderfassungsroutine erfasst worden ist. Daher können, wie von der Anweisungs-Darstellung 346A dargestellt, manche Anweisungs-Darstellungen Operationen zeigen, die während der ersten und zweiten Durchläufe durch das Streammodussegment 340 ausgeführt werden.
-
Nach der Ausführung der Anweisungs-Darstellung 346A fährt der zweite Durchlauf mit den Anweisungs-Darstellungen 346B und 346C fort, die zur Ausführung des Kreiswerkzeugs durchgeführt werden und den Kreis C1 gemäß den vom Kreiswerkzeug bestimmten Randpunkten definieren. Auf ähnliche Weise wird die Anweisungs-Darstellung 347 ausgeführt, und die Anweisungs-Darstellung 347A zum Laden des entsprechenden Bilds des Kreises C2 wird ausgeführt, falls das Bild von der Bilderfassungsroutine erfasst worden ist, und es wird darauf gewartet, falls das Bild noch nicht erfasst worden ist. Nach der Ausführung der Anweisungs-Darstellung 347A werden die Anweisungs-Darstellungen 347B, 347C und 348 ausgeführt, wobei die Anweisungs-Darstellungen 348A dann ausgeführt werden, falls das entsprechende Bild zur Verfügung steht, oder es wird andernfalls gewartet, falls das Bild noch nicht erfasst worden ist. Nach der Ausführung der Anweisungs-Darstellung 348A werden die Anweisungs-Darstellungen 348B und 348C ausgeführt, wobei die Anweisungs-Darstellung 349 das Ende des Streammodussegments 340 und das Ende des Streammodus zeigt. Es ist zu erkennen, dass bei einer Ausführungsform, bei der zusätzliche Anweisungs-Darstellungen dem Streammodussegment 340 folgen, sich diese außerhalb des Streammodus befinden und in der Reihenfolge ausgeführt würden, die gemäß dem Nicht-Streammodus angezeigt wird, ähnlich den Anweisungselementen 331 und 332 des Nicht-Streammodussegments 330.
-
Es ist zu erkennen, dass die oben beschriebenen Operationen und die Editierumgebung für ein Streammodussegment gegenüber den Implementationen gemäß dem Stand der Technik von Vorteil sind. Insbesondere wurde bei bestimmten vorherigen Implementationen eine explizite Liste an Befehlen zum Erfassen der erforderlichen Bilder verwendet, und zum Analysieren der erfassten Bilder wurde eine andere explizite Liste an Befehlen verwendet. Um Bilderfassungen der kontinuierlichen Bewegungsart zum Zeitpunkt der Programmierung zu erreichen, wurden die Bilderfassungs-Anweisungen in eine separate Liste organisiert und waren in verschiedenen Programmierungs-Darstellungen und Syntax im Teilprogramm. Dies macht das Editieren und die „Fehlersuche” der entsprechenden Teilprogramme schwieriger. Wenn ein Benutzer zum Teilprogramm zurückkam, in dem die Operationen neu geordnet worden waren, und verschiedene Programmierungs-Darstellungen und Syntax zur Bilderfassung der kontinuierlichen Bewegungsart verwendet worden waren, war insbesondere die Bestimmung unübersichtlicher, wie man editieren oder Anweisungen neu programmieren sollte, die sich innerhalb der Bilderfassungsroutine der kontinuierlichen Bewegung im Gegensatz zu außerhalb befanden. Weiterhin wurde die Fehlersuche des Teilprogramms noch weiter dadurch kompliziert, dass es keine leicht anzeigbare Darstellung der Schritte darüber gab, wie diese ursprünglich durchgeführt worden waren, wodurch dann schwieriger ermittelt werden konnte, welche Anweisungen welche Ergebnisse verursacht hatten.
-
Gemäß der vorliegenden Erfindung wird wie oben beschrieben eine eher wünschenswerte Editierumgebung bereitgestellt, bei der die Teilprogramm-Anweisungs-Darstellungen in ihrer ursprünglichen Reihenfolge bereitgestellt werden können. Weiterhin sind die Anweisungs-Darstellungen im Innern eines Streammodussegments (z. B. dem Streammodussegment 340) derart gestaltet, dass sie genauso wie diejenigen außerhalb eines Streammodussegments aussehen. Als ein spezifisches Beispiel würden die Anweisungs-Darstellungen 346, 346A, 346B und 346C, falls sie außerhalb des Streammodussegments 340 (z. B. innerhalb des Nicht-Streammodussegments 330) aufgezeichnet worden wären, in der Editierbedienoberfläche 300 genauso aussehen, außer dass die Darstellung in der Anweisungs-Darstellung 341 „enthalten” sein würde. Dies steht im Gegensatz zu den oben beschriebenen Verfahren gemäß dem Stand der Technik, bei denen solche Anweisungs-Darstellungen in einer anderen Programmierungs-Darstellung und Syntax im Innern eines Streammodussegments im Vergleich zu außen bereitgestellt würden. Wie oben beschrieben erlaubt die Darstellung des Teilprogramms 320, wie in der Editierbedienoberfläche 300 dargestellt, ebenfalls die Fehlersuche im Teilprogramm, die auf sequenzielle Weise auch innerhalb des Streammodussegments 340 durchgeführt werden kann. Insbesondere kann ein Benutzer während eines Fehlersuchprozesses (Debugging) (z. B. während des Editiermodus) wählen, dass die Anweisungs-Darstellungen innerhalb des Streammodussegments 340 in der ersten Reihenfolge (d. h. der Reihenfolge, die in der Editier-Darstellung 300 gezeigt ist) ausgeführt werden soll, welche die Reihenfolge ist, in welcher diese ursprünglich in einem Schritt-für-Schritt-Verfahren programmiert wurden, um die Feststellung zu vereinfachen, welche Anweisungs-Darstellungen welche Ergebnisse verursachen.
-
5A und 5B sind Ablaufdiagramme 500A und 500B einer Ausführungsform einer Routine 500 zur Bereitstellung einer Editierumgebung für ein Teilprogramm, einschließlich einem Streammodussegment. Wie in 5A dargestellt, wird an einem Block 510 ein Lernmodus bereitgestellt, der derart betrieben werden kann, um eine Benutzereingabe zu empfangen, um die Operationen des maschinellen Visionsinspektionssystem zu steuern und Anweisungen entsprechend den gesteuerten Operationen aufzuzeichnen, um ein Teilprogramm zu erzeugen. Der Lernmodus kann ebenfalls derart betrieben werden, um ein Teilprogramm zu editieren und zuvor aufgezeichnete Teilprogramm-Anweisungen gemäß einer Ausführung eines Editiermodus auszuführen.
-
An einem Block 520 werden Bedienoberflächenmerkmale, einschließlich einem benutzergesteuerten Streammodus-Anweisungselement und einer editierbaren Teilprogramm-Darstellung von Teilprogramm-Anweisungen bereitgestellt. Das benutzergesteuerte Streammodus-Anweisungselement kann verwendet werden, um ein Streammodussegment zu kennzeichnen, das ein Segment eines Teilprogramms umfasst, das zur Ausführung des Streammodus gekennzeichnet ist. Die editierbare Teilprogramm-Darstellung kann Bilderfassungs-Anweisungs-Darstellungen entsprechend Bilderfassungsoperationen, Bildanalyse-Anweisungs-Darstellungen entsprechend Bildanalyseoperationen sowie eine Streammodussegment-Darstellung beinhalten.
-
An einem Block 530 wird ein Ablaufmodus bereitgestellt, der derart betrieben werden kann, um ein zuvor erzeugtes Teilprogramm auszuführen, wobei der Ablaufmodus einen Nicht-Streammodus zur Ausführung von Teilprogramm-Anweisungen umfasst, die sich nicht in einem Streammodussegment befinden, sowie einen Streammodus zur Ausführung von Teilprogramm-Anweisungen, die sich in einem Streammodussegment befinden. Vom Block 530 aus fährt die Routine bis zu einem Punkt A fort, wie nachfolgend noch im Einzelnen in Bezug auf 5B beschrieben wird.
-
Wie in 5B dargestellt, fährt die Routine vom Punkt A bis zu einem Block 540 fort. Am Block 540 ist der Lernmodus derart konfiguriert, dass die editierbare Teilprogramm-Darstellung eine erste Vielzahl an Teilprogramm-Anweisungen repräsentiert, die Bilderfassungs- und entsprechende Bildanalyseanweisungen in einer ersten Reihenfolge entsprechend einer Reihenfolge umfassen, in welcher die entsprechenden gesteuerten Operationen durchgeführt worden sind, um das Teilprogramm zu erzeugen. Der Lernmodus ist ferner derart konfiguriert, dass die Ausführung des Editiermodus die Teilprogramm-Anweisungen ausführt, um die Bilderfassungsoperationen und die entsprechenden Bildanalyseoperationen in einer Weise durchzuführen, die konsistent mit der ersten Reihenfolge ist, unabhängig davon, ob die erste Vielzahl von Teilprogramm-Anweisungen in einem Streammodussegment enthalten ist oder nicht.
-
An einem Block 550 ist der Ablaufmodus derart konfiguriert, dass der Streammodus die erste Vielzahl von Teilprogramm-Anweisungen, wenn diese in einem Streammodussegment enthalten sind, gemäß einer zweiten Reihenfolge ausführt. Die zweite Reihenfolge beinhaltet die Durchführung der ersten Vielzahl von Teilprogramm-Bilderfassungs-Anweisungen, um deren entsprechenden Bilderfassungsoperationen in einer sequenziellen Reihenfolge durchzuführen, ohne von der Durchführung der entsprechenden Bildanalyseoperationen abhängig zu sein. Bei einer Ausführungsform können die Bilderfassungsoperationen in einer sequenziellen Reihenfolge während einer kontinuierlichen Bewegungssequenz durchgeführt werden. Die zweite Reihenfolge beinhaltet ferner die Durchführung der ersten Vielzahl von Teilprogramm-Bildanalyse-Anweisungen, um deren entsprechenden Bildanalyseoperationen durchzuführen, nachdem ihre entsprechenden Bilder erfasst worden sind.
-
Obwohl verschiedene bevorzugte und beispielhafte Ausführungsformen der Erfindung dargestellt und beschrieben worden sind, sei darauf hingewiesen, dass verschiedene Änderungen an diesen vorgenommen werden können, ohne von der Idee und dem Umfang der Erfindung abzuweichen.
-
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
-
- US 6542180 [0003]
- US 7590276 [0009, 0010]
- US 7454053 [0040]
- US 7324682 [0040]
-
Zitierte Nicht-Patentliteratur
-
- QVPAK 3D CNC Vision Measuring Machine User's Guide (Handbuch der QVPAK 3D CNC Visionsmessmaschine), veröffentlicht im Januar 2003 [0002]
- QVPAK 3D CNC Vision Measuring Machine Operation Guide (Handbuch der QVPAK 3D CNC Visionsmessmaschine), veröffentlicht im September 1996 [0002]