DE102012220875A1 - Maschinelle Visionssystem-Editierumgebung für ein Teilprogramm, in welchem ein kontinuierlicher Stream der Bilderfassungsoperationen während eines Ablaufmodus ausgeführt wird - Google Patents

Maschinelle Visionssystem-Editierumgebung für ein Teilprogramm, in welchem ein kontinuierlicher Stream der Bilderfassungsoperationen während eines Ablaufmodus ausgeführt wird Download PDF

Info

Publication number
DE102012220875A1
DE102012220875A1 DE102012220875A DE102012220875A DE102012220875A1 DE 102012220875 A1 DE102012220875 A1 DE 102012220875A1 DE 102012220875 A DE102012220875 A DE 102012220875A DE 102012220875 A DE102012220875 A DE 102012220875A DE 102012220875 A1 DE102012220875 A1 DE 102012220875A1
Authority
DE
Germany
Prior art keywords
instructions
mode
stream mode
operations
image capture
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE102012220875A
Other languages
English (en)
Inventor
Mark Lawrence Delaney
Barry Saylor
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitutoyo Corp
Original Assignee
Mitutoyo Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitutoyo Corp filed Critical Mitutoyo Corp
Publication of DE102012220875A1 publication Critical patent/DE102012220875A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/401Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by control arrangements for measuring, e.g. calibration and initialisation, measuring workpiece for machining purposes
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01NINVESTIGATING OR ANALYSING MATERIALS BY DETERMINING THEIR CHEMICAL OR PHYSICAL PROPERTIES
    • G01N21/00Investigating or analysing materials by the use of optical means, i.e. using sub-millimetre waves, infrared, visible or ultraviolet light
    • G01N21/84Systems specially adapted for particular applications
    • G01N21/88Investigating the presence of flaws or contamination
    • G01N21/8806Specially adapted optical and illumination features
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B21/00Microscopes
    • G02B21/24Base structure
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B21/00Microscopes
    • G02B21/36Microscopes arranged for photographic purposes or projection purposes or digital imaging or video purposes including associated control and data processing arrangements
    • G02B21/365Control or image processing arrangements for digital or video microscopes
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/4093Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by part programming, e.g. entry of geometrical information as taken from a technical drawing, combining this with machining and material information to obtain control information, named part programme, for the NC machine
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/42Recording and playback systems, i.e. in which the programme is recorded from a cycle of operations, e.g. the cycle of operations being manually controlled, after which this record is played back on the same machine
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01NINVESTIGATING OR ANALYSING MATERIALS BY DETERMINING THEIR CHEMICAL OR PHYSICAL PROPERTIES
    • G01N21/00Investigating or analysing materials by the use of optical means, i.e. using sub-millimetre waves, infrared, visible or ultraviolet light
    • G01N21/84Systems specially adapted for particular applications
    • G01N21/88Investigating the presence of flaws or contamination
    • G01N21/8851Scan or image signal processing specially adapted therefor, e.g. for scan signal adjustment, for detecting different kinds of defects, for compensating for structures, markings, edges
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/63Control of cameras or camera modules by using electronic viewfinders
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S715/00Data processing: presentation processing of document, operator interface processing, and screen saver display processing
    • Y10S715/961Operator interface with visual structure or function dictated by intended use
    • Y10S715/964CAD or CAM, e.g. interactive design tools
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S715/00Data processing: presentation processing of document, operator interface processing, and screen saver display processing
    • Y10S715/961Operator interface with visual structure or function dictated by intended use
    • Y10S715/965Operator interface with visual structure or function dictated by intended use for process control and configuration
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S715/00Data processing: presentation processing of document, operator interface processing, and screen saver display processing
    • Y10S715/961Operator interface with visual structure or function dictated by intended use
    • Y10S715/965Operator interface with visual structure or function dictated by intended use for process control and configuration
    • Y10S715/97Instrumentation and component modelling, e.g. interactive control panel

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Analytical Chemistry (AREA)
  • Chemical & Material Sciences (AREA)
  • Automation & Control Theory (AREA)
  • Multimedia (AREA)
  • Optics & Photonics (AREA)
  • Manufacturing & Machinery (AREA)
  • Human Computer Interaction (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biochemistry (AREA)
  • General Health & Medical Sciences (AREA)
  • Immunology (AREA)
  • Pathology (AREA)
  • Geometry (AREA)
  • Image Analysis (AREA)
  • Length Measuring Devices By Optical Means (AREA)
  • Image Processing (AREA)

Abstract

Es wird eine maschinelle Visionssystem-Editierumgebung für ein Teilprogramm bereitgestellt, in welcher ein kontinuierlicher Stream von Bilderfassungsoperationen während eines Ablaufmodus durchgeführt wird. Gemäß Verfahren nach dem Stand der Technik wurde ein kontinuierlicher Stream an Bilderfassungsoperationen durch Verwendung verschiedener Programmierungs-Darstellungen und Syntax für Programmierungs- und Gruppierungs-Bilderfassungsoperationen zusammen in dem Teilprogramm erreicht. Bei einer Ausführungsform werden neue, allgemeine Syntax und Darstellungen verwendet, wobei solche kontinuierlichen Bilderfassungsoperationen in derselben Weise aufgezeichnet werden wie reguläre Operationen, wobei der Ablauf des Teilprogramms in zwei Stadien durchgeführt wird. Im ersten Stadium wird der Abschnitt des Teilprogramms, der den kontinuierlichen Stream der Bilderfassung aufweisen soll, auf Bilderfassungsoperationen gescannt, und es wird die effizienteste Reihenfolge zur Erfassung der Bilder bestimmt, woraufhin mit dem Bilderfassungsprozess begonnen wird. Danach wird im zweiten Stadium, während das Bilderfassungsverfahren durchgeführt wird, der Abschnitt des Teilprogramms erneut gescannt, wobei die Bildanalyseoperationen dann durchgeführt werden.

Description

  • 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 133a133n, 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 341349. 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 331349 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 321350 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 346A346C 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 347A347C und 348A348C 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 321350 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 341349 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 342345, 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 342345, 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 342345, 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]

Claims (18)

  1. Maschinelles Präzisionsvisionsinspektionssystem, umfassend einen Bildgebungsabschnitt, eine Bühne zum Halten eines oder mehrerer Werkstücke in einem Sichtfeld (SF) des Bildgebungsabschnitts, ein Steuerabschnitt, eine Anzeige und eine Bedienoberfläche, wobei das maschinelle Visionsinspektionssystem ferner Folgendes umfasst: einen Lernmodus, der derart betrieben werden kann, um Benutzereingaben zu empfangen, um Operationen des maschinellen Visionsinspektionssystems zu steuern und um Anweisungen entsprechend den gesteuerten Operationen aufzuzeichnen, um ein Teilprogramm zu erzeugen, das derart betrieben werden kann, um ein Teilprogramm zu editieren, und das derart betrieben werden kann, um zuvor aufgezeichnete Teilprogramm-Anweisungen gemäß einer Ausführung eines Editiermodus auszuführen, wobei der Lernmodus Bedienoberflächenmerkmale enthält, umfassend: ein benutzersteuerbares Streammodus-Anweisungselement, das verwendbar ist, um ein Streammodussegment zu kennzeichnen, das ein Segment eines Teilprogramms umfasst, das zur Ausführung einer Streamoperation gekennzeichnet ist; eine editierbare Teilprogramm-Darstellung von Teilprogramm-Anweisungen, umfassend Bilderfassungs-Anweisungs-Darstellungen entsprechend Bilderfassungsoperationen, Bildanalyse-Anweisungs-Darstellungen entsprechend Bildanalyseoperationen und eine Streammodussegment-Darstellung; und einen Ablaufmodus, der derart betrieben werden kann, um ein zuvor erzeugtes Teilprogramm auszuführen, wobei der Ablaufmodus einen Nicht-Streammodus zum Ausführen von Teilprogramm-Anweisungen, die sich nicht in einem Streammodussegment befinden, und einen Streammodus zum Ausführen von Teilprogramm-Anweisungen umfasst, die sich in einem Streammodussegment befinden, wobei der Lernmodus derart konfiguriert ist, dass: die editierbare Teilprogramm-Darstellung eine erste Vielzahl von Teilprogramm-Anweisungen repräsentiert, umfassend Bilderfassungs- und entsprechende Bildanalyse-Anweisungen in einer ersten Reihenfolge entsprechend einer Reihenfolge, in welcher die entsprechenden gesteuerten Operationen durchgeführt wurden, um das Teilprogramm zu erzeugen; der Editiermodus der Ausführung die Teilprogramm-Bilderfassungs-Anweisungen und die entsprechenden Bildanalyse-Anweisungen der ersten Vielzahl von 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; und der Ablaufmodus derart konfiguriert ist, dass: der Streammodus die erste Vielzahl von Teilprogramm-Anweisungen, wenn diese in einem Streammodussegment enthalten sind, gemäß einer zweiten Reihenfolge ausführt, wobei die zweite Reihenfolge Folgendes umfasst: die Durchführung der ersten Vielzahl von Teilprogramm-Bilderfassungs-Anweisungen, um deren entsprechende Bilderfassungsoperationen in einer sequenziellen Reihenfolge durchzuführen, ohne von der Durchführung der entsprechenden Bildanalyseoperationen abhängig zu sein, sowie die Durchführung der ersten Vielzahl von Teilprogramm-Bildanalyse-Anweisungen, um deren entsprechenden Bildanalyseoperationen durchzuführen, nachdem ihre entsprechenden Bilder erfasst wurden.
  2. System nach Anspruch 1, wobei die Durchführung der Bilderfassungsoperationen in einer sequenziellen Reihenfolge während einer kontinuierlichen Bewegungssequenz ausgeführt wird, wobei die Bühne und der Bildgebungsabschnitt sich kontinuierlich relativ zueinander bewegen, um die Bilder zu erfassen.
  3. System nach Anspruch 1, wobei die Durchführung der Bildanalyseoperationen, nachdem deren entsprechenden Bilder erfasst worden sind, wenigstens teilweise während der sequenziellen Reihenfolge der Bilderfassungsoperationen durchgeführt wird.
  4. System nach Anspruch 1, wobei der Nicht-Streammodus der Ausführung die Bilderfassungs-Anweisungen und die entsprechenden Bildanalyse-Anweisungen der ersten Vielzahl von Teilprogramm-Anweisungen, die sich nicht im Streammodussegment befinden, ausführt, um die Bilderfassungsoperationen und die entsprechenden Bildanalyseoperationen in einer Weise durchzuführen, die konsistent mit der ersten Reihenfolge ist.
  5. System nach Anspruch 1, wobei der Lernmodus derart konfiguriert ist, dass wenn ein Teilprogramm, welches ein Streammodussegment einschließt, erneut zum Editieren aufgerufen wird, die editierbare Teilprogramm-Darstellung in der ersten Reihenfolge angezeigt wird und der Editiermodus der Ausführung die Bilderfassungsoperationen und die entsprechenden Bildanalyseoperationen in einer Weise ausführt, die konsistent mit der ersten Reihenfolge ist.
  6. System nach Anspruch 1, wobei der Lernmodus derart konfiguriert ist, dass ein Benutzer eine Teilprogramm-Anweisungs-Darstellung auswählen kann, die in einem Streammodussegment als ein Ort enthalten ist, um den Editiermodus der Ausführung von entsprechenden Teilprogramm-Anweisungen einzuleiten, woraufhin die darauffolgenden Teilprogramm-Anweisungen in einer Weise ausgeführt werden, die konsistent mit der ersten Reihenfolge ist.
  7. System nach Anspruch 6, wobei die darauffolgenden Teilprogramm-Anweisungen in einer Weise ausgeführt werden, die konsistent mit der ersten Reihenfolge ist.
  8. System nach Anspruch 1, wobei das Streammodussegment einen ersten Satz von Anweisungen und einen zweiten Satz von Anweisungen umfasst, wobei der erste Satz von Anweisungen erste Bilderfassungs-Anweisungen und erste Bildanalyse-Anweisungen umfasst, die Video-Werkzeug-Anweisungen eines ersten Video-Werkzeugs umfassen, und wobei der zweite Satz von Anweisungen zweite Bilderfassungs-Anweisungen und zweite Bildanalyse-Anweisungen umfasst, die Video-Werkzeug-Anweisungen eines zweiten Video-Werkzeugs umfassen, wobei während des Editiermodus der Ausführung die ersten Bilderfassungs-Anweisungen und die ersten Bildanalyse-Anweisungen, die Video-Werkzeug-Anweisungen des ersten Video-Werkzeugs umfassen, ausgeführt werden, bevor mit der Ausführung der zweiten Bilderfassungs-Anweisungen und der zweiten Bildanalyse-Anweisungen, die Video-Werkzeug-Anweisungen des zweiten Video-Werkzeugs umfassen, begonnen wird; und wobei während des Ablaufmodus das Streammodussegment aufgrund des Streammodus-Anweisungselements im Streammodus ausgeführt wird und während des Ablaufmodus der Ausführung des Streammodussegments die ersten und zweiten Bilderfassungs-Anweisungen in einer sequenziellen Reihenfolge ausgeführt werden, ohne von der Durchführung der entsprechenden ersten und zweiten Bildanalyseoperationen abhängig zu sein, die Video-Werkzeug-Anweisungen des ersten und zweiten Video-Werkzeugs umfassen.
  9. System nach Anspruch 8, wobei das Teilprogramm ferner ein Nicht-Streammodussegment umfasst und während des Lernmodus das Nicht-Streammodussegment vom Streammodussegment durch das Fehlen eines Streammodus-Anweisungselements für das Nicht-Streammodussegment unterschieden wird, wobei das Nicht-Streammodussegment einen dritten Satz von Anweisungen und einen vierten Satz von Anweisungen umfasst, wobei der dritte Satz von Anweisungen dritte Bilderfassungs-Anweisungen und dritte Bildanalyse-Anweisungen umfasst, die Video-Werkzeug-Anweisungen eines dritten Video-Werkzeugs umfassen, und der vierte Satz von Anweisungen vierte Bilderfassungs-Anweisungen und vierte Bildanalyse-Anweisungen umfasst, die Video-Werkzeug-Anweisungen eines vierten Video-Werkzeugs umfassen, wobei während des Editiermodus der Ausführung die dritten Bilderfassungs-Anweisungen und die dritten Bildanalyse-Anweisungen, die Video-Werkzeug-Anweisungen des dritten Video-Werkzeugs umfassen, ausgeführt werden, bevor mit der Ausführung der vierten Bilderfassungs-Anweisungen und der vierten Bildanalyse-Anweisungen, die Video-Werkzeug-Anweisungen des vierten Video-Werkzeugs umfassen, begonnen wird; und während des Ablaufmodus das Nicht-Streammodussegment aufgrund des Fehlens eines Streammodus-Anweisungselements für das Nicht-Streammodussegment im Nicht-Streammodus ausgeführt wird und während der Ausführung des Ablaufmodus das Nicht-Streammodussegment der dritten und vierten Bilderfassungs-Anweisungen in einer sequenziellen Reihenfolge ausgeführt wird, ohne von der Durchführung der entsprechenden dritten und vierten Bildanalyseoperationen abhängig zu sein, die Video-Werkzeug-Anweisungen des dritten und vierten Video-Werkzeugs umfassen.
  10. System nach Anspruch 8, wobei die ersten und zweiten Video-Werkzeuge Kantenerkennungs-Video-Werkzeuge umfassen.
  11. System nach Anspruch 8, wobei während des Lernmodus die ersten und zweiten Sätze von Anweisungen in der ersten Reihenfolge ausgeführt werden, wobei wenigstens einige der ersten und zweiten Bilderfassungs-Anweisungen mit den Video-Werkzeug-Anweisungen des ersten Video-Werkzeugs und des zweiten Video-Werkzeugs durchsetzt werden, wobei die Anweisungen an der Bedienoberfläche in der ersten Reihenfolge angezeigt werden; und wobei während des Ablaufmodus im Streammodus die Teilprogramm-Anweisung entsprechend dem Streammodussegment verarbeitet wird, um eine Bilderfassungsroutine zu bestimmen, die zwar Bilderfassungs-Anweisungen der ersten und zweiten Sätze an Anweisungen, jedoch keine Video-Werkzeug-Anweisungen umfasst, wobei die Bilderfassungsroutine zur Erfassung der Bilder ausgeführt wird und die Video-Werkzeug-Anweisungen ausgeführt werden, während die Bilderfassungsroutine ausgeführt wird.
  12. System nach Anspruch 11, wobei während des Ablaufmodus im Streammodus wenigstens ein Teil der Ausführung der Video-Werkzeug-Anweisungen während des zweiten Durchlaufs der Verarbeitung des Streammodussegments parallel mit der Ausführung der Bilderfassungsroutine erfolgt.
  13. System nach Anspruch 11, wobei während des Ablaufmodus während der Ausführung der Bilderfassungsroutine eine Vielzahl von Bilderfassungs-Anweisungen in Reihe ausgeführt wird, währenddessen Video-Werkzeug-Anweisungen, die während des Ablaufmodus 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.
  14. System nach Anspruch 11, wobei während des Ablaufmodus, wenn die Bilderfassungsroutine ausgeführt wird, die Bühne und der Bildgebungsabschnitt kontinuierlich relativ zueinander zur Erfassung der Bilder bewegt werden.
  15. System nach Anspruch 1, wobei das Streammodussegment des Teilprogramms durch die Streammodus-Anweisungs-Darstellungen am Anfang und Ende des Streammodussegments identifiziert wird.
  16. System nach Anspruch 1, wobei während des Lernmodus die Teilprogramm-Anweisungen innerhalb des Streammodussegments als Teilprogramm-Darstellungen angezeigt werden und ebenso wie Darstellungen ähnlicher Teilprogramm-Anweisungen aussehen, die sich außerhalb des Streammodussegments befinden, sodass ein Benutzer bei Programmierungs- oder Editieroperationen, die sich innerhalb des Streammodussegments befinden, keine andere Programmierungsdarstellung oder -syntax verwenden muss als außerhalb des Streammodussegments.
  17. Verfahren zum Betreiben eines maschinellen Präzisionsvisionsinspektionssystems, umfassend 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, wobei das Verfahren Folgendes umfasst: das Bereitstellen eines Lernmodus, der betrieben werden kann, um Benutzereingaben zu empfangen, um die Operationen des maschinellen Visionsinspektionssystems zu steuern und Anweisungen entsprechend der gesteuerten Operationen aufzuzeichnen, um ein Teilprogramm zu erzeugen, das betrieben werden kann, um ein Teilprogramm zu editieren, und das betrieben werden kann, um zuvor aufgezeichnete Teilprogramm-Anweisungen entsprechend einem Editiermodus der Ausführung auszuführen, wobei der Lernmodus Bedienoberflächenmerkmale enthält, umfassend: ein benutzersteuerbares Streammodus-Anweisungselement, das verwendet werden kann, um ein Streammodussegment zu kennzeichnen, das ein Segment eines Teilprogramms umfasst, das zur Streammodus-Ausführung gekennzeichnet ist; eine editierbare Teilprogramm-Darstellung von Teilprogramm-Anweisungen, umfassend Bilderfassungs-Anweisungs-Darstellungen entsprechend den Bilderfassungsoperationen, Bildanalyse-Anweisungs-Darstellungen entsprechend Bildanalyseoperationen sowie eine Streammodussegment-Darstellung; und das Bereitstellen eines Ablaufmodus, der betrieben werden kann, um ein zuvor erzeugtes Teilprogramm auszuführen, wobei der Ablaufmodus einen Nicht-Streammodus zur Ausführung von Teilprogramm-Anweisungen, die sich nicht in einem Streammodussegment befinden, und einen Streammodus zur Ausführung von Teilprogramm-Anweisungen umfasst, die sich in einem Streammodussegment befinden, wobei der Lernmodus derart konfiguriert ist, dass: die editierbare Teilprogramm-Darstellung eine erste Vielzahl von Teilprogramm-Bilderfassungs- und entsprechenden Bildanalyse-Anweisungen in einer ersten Reihenfolge entsprechend einer Reihenfolge repräsentiert, in welcher die entsprechenden gesteuerten Operationen durchgeführt wurden, um das Teilprogramm zu erzeugen; der Editiermodus der Ausführung die Teilprogramm-Bilderfassungs-Anweisungen und entsprechenden Bildanalyse-Anweisungen der ersten Vielzahl von Teilprogramm-Anweisungen ausführt, um die Bilderfassungsoperationen und entsprechenden Bildanalyseoperationen in einer Weise durchzuführen, die mit der ersten Reihenfolge konsistent ist, unabhängig davon, ob die erste Vielzahl der Teilprogramm-Bildanweisungen in einem Streammodussegment enthalten ist, oder nicht; der Ablaufmodus derart konfiguriert ist, dass: der Streammodus die erste Vielzahl an Teilprogramm-Anweisungen, wenn diese in einem Streammodussegment enthalten ist, entsprechend einer zweiten Reihenfolge ausführt, wobei die zweite Reihenfolge Folgendes umfasst: das Durchführen der ersten Vielzahl der 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, sowie das Durchführen der ersten Vielzahl an Teilprogramm-Bildanalyse-Anweisungen, um deren entsprechenden Bildanalyseoperationen durchzuführen, nachdem deren entsprechenden Bilder erfasst worden sind.
  18. Verfahren nach Anspruch 17, wobei, wenn ein Teilprogramm, das ein Streammodussegment einschließt, erneut zum Editieren aufgerufen wird, die editierbare Teilprogramm-Darstellung in der ersten Reihenfolge angezeigt wird und der Editiermodus der Ausführung die Bilderfassungsoperationen und entsprechenden Bildanalyseoperationen in einer Weise ausführt, die mit der ersten Reihenfolge konsistent ist.
DE102012220875A 2011-11-15 2012-11-15 Maschinelle Visionssystem-Editierumgebung für ein Teilprogramm, in welchem ein kontinuierlicher Stream der Bilderfassungsoperationen während eines Ablaufmodus ausgeführt wird Pending DE102012220875A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/297,220 US8902307B2 (en) 2011-11-15 2011-11-15 Machine vision system editing environment for a part program in which a continuous stream of image acquisition operations are performed during a run mode
US13/297,220 2011-11-15

Publications (1)

Publication Number Publication Date
DE102012220875A1 true DE102012220875A1 (de) 2013-05-16

Family

ID=48145420

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102012220875A Pending DE102012220875A1 (de) 2011-11-15 2012-11-15 Maschinelle Visionssystem-Editierumgebung für ein Teilprogramm, in welchem ein kontinuierlicher Stream der Bilderfassungsoperationen während eines Ablaufmodus ausgeführt wird

Country Status (4)

Country Link
US (1) US8902307B2 (de)
JP (1) JP6071451B2 (de)
CN (1) CN103105193B (de)
DE (1) DE102012220875A1 (de)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9223306B2 (en) 2011-11-15 2015-12-29 Mitutoyo Corporation System and method utilizing an editing initialization block in a part program editing environment in a machine vision system
US8957960B2 (en) * 2011-11-15 2015-02-17 Mitutoyo Corporation Machine vision system program editing environment including real time context generation features
US9013574B2 (en) 2011-11-15 2015-04-21 Mitutoyo Corporation Machine vision system program editing environment including synchronized user interface features
US9235337B2 (en) * 2013-05-09 2016-01-12 Mitutoyo Corporation System, GUI and method for editing step and repeat operation instructions in a machine vision inspection system
CN104679017A (zh) * 2013-11-29 2015-06-03 中国银联股份有限公司 移动终端应用程序的自动化测试装置以及测试方法
DE102015208337A1 (de) * 2014-06-17 2015-12-17 Mitutoyo Corp. Bearbeitungsumgebung eines maschinellen sichtsystems für ein teileprogramm, in dem ein durchgehender datenstrom von bilderfassungsvorgängen in einem laufmodus ausgeführt wird
CN104281132A (zh) * 2014-09-24 2015-01-14 镇江市高等专科学校 基于机器视觉的机械制造车间生产过程信息采集系统及采集方法
US9740190B2 (en) 2014-10-09 2017-08-22 Mitutoyo Corporation Method for programming a three-dimensional workpiece scan path for a metrology system
US9646425B2 (en) 2015-04-09 2017-05-09 Mitutoyo Corporation Inspection program editing environment with editing environment automatically globally responsive to editing operations in any of its portions
US9933256B2 (en) 2015-04-09 2018-04-03 Mitutoyo Corporation Inspection program editing environment including real-time feedback related to throughput
US9952586B2 (en) 2015-04-09 2018-04-24 Mitutoyo Corporation Inspection program editing environment with simulation status and control continually responsive to selection operations
US9602715B2 (en) 2015-07-09 2017-03-21 Mitutoyo Corporation Adaptable operating frequency of a variable focal length lens in an adjustable magnification optical system
US9830694B2 (en) * 2015-08-31 2017-11-28 Mitutoyo Corporation Multi-level image focus using a tunable lens in a machine vision inspection system
US9774765B2 (en) 2015-09-15 2017-09-26 Mitutoyo Corporation Chromatic aberration correction in imaging system including variable focal length lens
CN108463717B (zh) * 2016-01-26 2021-05-25 富士胶片株式会社 龟裂信息检测装置、龟裂信息检测方法及存储介质
CN105635542A (zh) * 2016-02-24 2016-06-01 山东钢铁股份有限公司 一种摄像机防护系统及方法
AU2018374385B2 (en) 2017-11-30 2021-03-04 Leica Biosystems Imaging, Inc. Impulse rescan system
DE102021101957B4 (de) * 2021-01-28 2022-10-13 Klingelnberg GmbH. Verfahren und Vorrichtung zum Messen einer Verzahnung
CN112988316B (zh) * 2021-05-19 2021-10-26 北京创源微致软件有限公司 基于bs架构的工业视觉系统开发方法和存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6542180B1 (en) 2000-01-07 2003-04-01 Mitutoyo Corporation Systems and methods for adjusting lighting of a part based on a plurality of selected regions of an image of the part
US7324682B2 (en) 2004-03-25 2008-01-29 Mitutoyo Corporation System and method for excluding extraneous features from inspection operations performed by a machine vision inspection system
US7454053B2 (en) 2004-10-29 2008-11-18 Mitutoyo Corporation System and method for automatically recovering video tools in a vision system
US7590276B2 (en) 2004-12-20 2009-09-15 Mitutoyo Corporation System and method for programming interrupting operations during moving image acquisition sequences in a vision system

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4835730A (en) 1987-02-27 1989-05-30 Adept Technology, Inc. Database driven robot programming system and method
US5481712A (en) 1993-04-06 1996-01-02 Cognex Corporation Method and apparatus for interactively generating a computer program for machine vision analysis of an object
FR2707446B1 (fr) 1993-07-07 1995-08-11 Pouyet Int Dispositif terminal d'interconnexion téléphonique d'abonné.
US6016467A (en) 1997-05-27 2000-01-18 Digital Equipment Corporation Method and apparatus for program development using a grammar-sensitive editor
US6510434B1 (en) 1999-12-29 2003-01-21 Bellsouth Intellectual Property Corporation System and method for retrieving information from a database using an index of XML tags and metafiles
US7376904B2 (en) 2000-06-13 2008-05-20 National Instruments Corporation Automatic generation of programs with GUI controls for interactively setting or viewing values
US6636211B2 (en) 2000-12-15 2003-10-21 Dassault Systemes CAD/CAM feature tree with manipulatable 3D miniatures
US7055092B2 (en) 2001-12-05 2006-05-30 Canon Kabushiki Kaisha Directory for multi-page SVG document
JP2004320567A (ja) * 2003-04-17 2004-11-11 Sumitomo Electric Ind Ltd 撮像装置、画像表示システム、画像表示方法、画像処理システム及び画像処理方法
US20040223053A1 (en) * 2003-05-07 2004-11-11 Mitutoyo Corporation Machine vision inspection system and method having improved operations for increased precision inspection throughput
US7030351B2 (en) * 2003-11-24 2006-04-18 Mitutoyo Corporation Systems and methods for rapidly automatically focusing a machine vision inspection system
US7207017B1 (en) 2004-06-10 2007-04-17 Advanced Micro Devices, Inc. Method and system for metrology recipe generation and review and analysis of design, simulation and metrology results
GB0414649D0 (en) 2004-06-30 2004-08-04 Renishaw Plc Generation of a CNC machine tool control program
US9766953B2 (en) 2004-12-16 2017-09-19 Openspan, Inc. System and method for non-programmatically constructing software solutions
US7643907B2 (en) 2005-02-10 2010-01-05 Abb Research Ltd. Method and apparatus for developing a metadata-infused software program for controlling a robot
JP4833588B2 (ja) * 2005-06-03 2011-12-07 株式会社ミツトヨ 画像測定システム並びに非停止画像測定プログラムの作成方法及び実行方法
US8028085B2 (en) 2005-06-03 2011-09-27 Microsoft Corporation Optimizing message transmission and delivery in a publisher-subscriber model
US7689634B2 (en) 2005-09-16 2010-03-30 Oracle International Corporation Flexible approach to store attribute information (META-DATA) related to files of a file system
US7765184B2 (en) 2005-09-22 2010-07-27 Nokia Corporation Metadata triggered notification for content searching
US7864178B2 (en) 2005-11-09 2011-01-04 National Instruments Corporation Creating machine vision inspections using a state diagram representation
US20070150102A1 (en) 2005-12-09 2007-06-28 Joong Ki Park Method of supporting robot application programming and programming tool for the same
ES2685250T3 (es) 2006-05-11 2018-10-08 Abb Schweiz Ag Sincronización de un programa gráfico y un programa de robot
KR200437242Y1 (ko) 2007-03-06 2007-11-16 광성전기산업(주) 교류 전원용 발광 다이오드 램프
KR101424715B1 (ko) * 2007-09-12 2014-07-31 삼성전자주식회사 이미지 획득 장치 및 그 동작 방법
US20100269094A1 (en) 2007-11-13 2010-10-21 Roman Levenshteyn Technique for automatically generating software in a software development environment
US8111938B2 (en) 2008-12-23 2012-02-07 Mitutoyo Corporation System and method for fast approximate focus
US8111905B2 (en) 2009-10-29 2012-02-07 Mitutoyo Corporation Autofocus video tool and method for precise dimensional inspection
US8957960B2 (en) 2011-11-15 2015-02-17 Mitutoyo Corporation Machine vision system program editing environment including real time context generation features
US9013574B2 (en) 2011-11-15 2015-04-21 Mitutoyo Corporation Machine vision system program editing environment including synchronized user interface features
US9223306B2 (en) 2011-11-15 2015-12-29 Mitutoyo Corporation System and method utilizing an editing initialization block in a part program editing environment in a machine vision system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6542180B1 (en) 2000-01-07 2003-04-01 Mitutoyo Corporation Systems and methods for adjusting lighting of a part based on a plurality of selected regions of an image of the part
US7324682B2 (en) 2004-03-25 2008-01-29 Mitutoyo Corporation System and method for excluding extraneous features from inspection operations performed by a machine vision inspection system
US7454053B2 (en) 2004-10-29 2008-11-18 Mitutoyo Corporation System and method for automatically recovering video tools in a vision system
US7590276B2 (en) 2004-12-20 2009-09-15 Mitutoyo Corporation System and method for programming interrupting operations during moving image acquisition sequences in a vision system

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
QVPAK 3D CNC Vision Measuring Machine Operation Guide (Handbuch der QVPAK 3D CNC Visionsmessmaschine), veröffentlicht im September 1996
QVPAK 3D CNC Vision Measuring Machine User's Guide (Handbuch der QVPAK 3D CNC Visionsmessmaschine), veröffentlicht im Januar 2003

Also Published As

Publication number Publication date
JP6071451B2 (ja) 2017-02-01
US20130120553A1 (en) 2013-05-16
US8902307B2 (en) 2014-12-02
CN103105193B (zh) 2016-08-10
CN103105193A (zh) 2013-05-15
JP2013105500A (ja) 2013-05-30

Similar Documents

Publication Publication Date Title
DE102012220875A1 (de) Maschinelle Visionssystem-Editierumgebung für ein Teilprogramm, in welchem ein kontinuierlicher Stream der Bilderfassungsoperationen während eines Ablaufmodus ausgeführt wird
DE102009029478B4 (de) System und Verfahren für einen schnellen ungefähren Fokus
DE102012220884A1 (de) Maschinensichtsystemprogramm-Bearbeitungsumgebung mit Echtzeitkontexterzeugungsmerkmalen
DE102012220882B4 (de) System und Verfahren unter Verwendung eines Bearbeitungsinitialisierungsblocks in einer Teileprogramm-Bearbeitungsumgebung in einem Maschinenvisionssystem
DE112014002389B4 (de) Bearbeitungsumgebung für ein Programm für ein maschinelles Bilderkennungssystem, enthaltend ein betriebskontextbewusstes Kopier-und Einfüge-Merkmal
DE102016213122A1 (de) Mehrstufige Bildschärfe unter Verwendung einer abstimmbaren Linse in einem maschinellen Sichtinspektionssystem
DE102014206309B4 (de) System und Verfahren zum Erhalten von Bildern mit Versatz zur Verwendung für verbesserte Kantenauflösung
DE102017220104A1 (de) Linsensystem mit variabler Brennweite mit Mehrebenen-Bildverarbeitung mit erweiterter Tiefenschärfe
DE102011005814A1 (de) Grafisohe benutzeroberfläche zum programmieren von schritt- und wiederholvorgängenin einem visuellen maschinenprüfungssystem
DE102012216908B4 (de) Verfahren unter Verwendung einer Bildkorrelation zum Bestimmen von Positionsmessungen in einem Maschinenvisionssystem
DE102012224320A1 (de) Verbessertes Kantenfokussierungswerkzeug
DE102012220759A1 (de) Programmbearbeitungsumgebung eines maschinell sehenden Systems mit synchronisierten Benutzerschnittstellenmerkmalen
DE102013217354B4 (de) Kantenmessungs-videowerkzeug und schnittstelle mit automatischen parametersatzalternativen
DE102021114967A1 (de) Werkstückinspektions- und fehlererkennungssystem, das die anzahl der fehlerbilder für das training angibt
DE112012005389T5 (de) "Points-from-Focus"-Operationen, die mehrere Beleuchtungseinstellungen in einem maschinell sehenden System verwenden
DE10122699A1 (de) Verfahren und Vorrichtung zum Erzeugen von Teileprogrammen zur Verwendung in Bildmessinstrumenten, und Bildmessinstrument und Verfahren zur Darstellung damit gemessener Ergebnisse
DE112007001964T5 (de) Verfahren zur Bestätigung von dreidimensionalen Modelldaten und Vorrichtung zur Bestätigung von dreidimensionalen Modelldaten
DE102006005044A1 (de) Verfahren und System zur Bestimmung eines Datenmodells zur Überlagerung mit einem realen Objekt in einem Verfahren zur Objektverfolgung
DE102012206079A1 (de) Inspizieren von potenziell störenden Eigenschaften in einem maschinellen, visuellen System
DE102007033793A1 (de) Verfahren und Vorrichtung zum mikroskopischen Untersuchen einer Probe, Computerprogramm und Computerprogrammprodukt
DE102014001278A1 (de) Indentation-Härtesystem mit selbstlernendem Shading-Korrektor
DE102013215791A1 (de) lnspektionssystem mit maschineller Bilderkennung, das zwei Kameras mit einem Drehversatz aufweist
DE112017002965T5 (de) Verfahren und System zum Abwinkeln einer visuellen Inspektionsvorrichtung
US9167215B2 (en) Machine vision system editing environment for a part program in which a continuous stream of image acquisition operations are performed during a run mode
EP3172612B1 (de) Verfahren zur korrektur von auflichtreflexen in einem modularen digitalmikroskop, digitalmikroskop und datenverarbeitungsprogramm

Legal Events

Date Code Title Description
R012 Request for examination validly filed