DE102015208337A1 - WORKING ENVIRONMENT OF A MACHINE VISIBILITY SYSTEM FOR A PART PROGRAM IN WHICH A CONTINUOUS DATA STREAM OF IMAGE PROCESSING IS PERFORMED IN A RUNNING MODE - Google Patents

WORKING ENVIRONMENT OF A MACHINE VISIBILITY SYSTEM FOR A PART PROGRAM IN WHICH A CONTINUOUS DATA STREAM OF IMAGE PROCESSING IS PERFORMED IN A RUNNING MODE Download PDF

Info

Publication number
DE102015208337A1
DE102015208337A1 DE102015208337.3A DE102015208337A DE102015208337A1 DE 102015208337 A1 DE102015208337 A1 DE 102015208337A1 DE 102015208337 A DE102015208337 A DE 102015208337A DE 102015208337 A1 DE102015208337 A1 DE 102015208337A1
Authority
DE
Germany
Prior art keywords
instructions
part program
mode
operations
data stream
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
DE102015208337.3A
Other languages
German (de)
Inventor
Mark Delaney
Barry E. 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
Priority claimed from US14/307,458 external-priority patent/US9167215B2/en
Application filed by Mitutoyo Corp filed Critical Mitutoyo Corp
Publication of DE102015208337A1 publication Critical patent/DE102015208337A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B11/00Measuring arrangements characterised by the use of optical techniques
    • G01B11/24Measuring arrangements characterised by the use of optical techniques for measuring contours or curvatures
    • 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
    • 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
    • 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

Abstract

In einer Bearbeitungsumgebung eines maschinellen Sichtsystems für ein Teileprogramm wird ein durchgehender Datenstrom von Bilderfassungsvorgängen in einem Laufmodus ausgeführt. Zuvor wurde ein durchgehender Datenstrom von Bilderfassungsvorgängen dadurch erreicht, dass verschiedene Programmierdarstellungen und Syntax zum Programmieren und Gruppieren von Bilderfassungsvorgängen in dem Teileprogramm verwendet wurden. Es werden eine neue gemeinsame Syntax und Darstellungen verwendet, wobei derartige durchgehende Bilderfassungsvorgänge wie normale Vorgänge aufgezeichnet werden, wobei der Ablauf des Teileprogramms in zwei Phasen ausgeführt wird. Erstens wird der Teil des Teileprogramms, der den durchgehenden Bilderfassungs-Datenstrom aufweisen soll, auf Bilderfassungsvorgänge untersucht, und die effizienteste Reihenfolge zum Erfassen der Bilder wird bestimmt. Zweitens wird, während der Bilderfassungsprozess ausgeführt wird, der Teil des Teileprogramms wieder untersucht, wobei dann die Bildanalysevorgänge ausgeführt werden.In a machining environment of a machine vision system for a parts program, a continuous data stream of image acquisition operations is executed in a run mode. Previously, a continuous stream of image capture operations was achieved by using various programming representations and syntax to program and group image capture operations in the part program. A new common syntax and representations are used wherein such continuous image acquisition operations are recorded as normal operations, with the run of the part program being performed in two phases. First, the portion of the part program that is to have the continuous image capture data stream is examined for image capture operations, and the most efficient order for capturing the images is determined. Second, while the image acquisition process is being performed, the part program part is re-examined, and then the image analysis operations are performed.

Description

KREUZVERWEIS AUF VERWANDTE ANWENDUNGCROSS REFERENCE TO RELATED APPLICATION

Die vorliegende Anmeldung ist eine Teilfortsetzung der US-Patentanmeldung Nr. 13/297,220, eingereicht am 15. November 2011, deren Offenbarung hiermit zur Bezugnahme vollständig übernommen wird.The present application is a continuation-in-part of US Patent Application No. 13 / 297,220, filed on Nov. 15, 2011, the disclosure of which is hereby incorporated by reference in its entirety.

GEBIET DER ERFINDUNGFIELD OF THE INVENTION

Die vorliegende Offenbarung betrifft im Allgemeinen maschinelle Sichtinspektionssysteme und genauer gesagt Bearbeitungsumgebungen für Teileprogramme, die eine durchgehende schnelle Bilderfassung bei solchen Systemen umfassen.The present disclosure relates generally to machine vision inspection systems and, more particularly, machining environments for part programs that include continuous high speed image capture in such systems.

HINTERGRUNDBACKGROUND

Präzise maschinelle Sichtinspektionssysteme (bzw. kurz „Sichtsysteme”) können verwendet werden, um präzise Dimensionsmessungen von inspizierten Objekten zu erzielen und um diverse andere Objektkennzeichen zu inspizieren. Derartige Systeme können einen Computer, eine Kamera und ein optisches System und einen Präzisionsarbeitstisch, der in mehreren Richtungen bewegbar ist, damit die Kamera die Merkmale eines Werkstücks, das inspiziert wird, abtasten kann, umfassen. Ein beispielhaftes System aus dem Stand der Technik, das im Handel erhältlich ist, ist die Reihe QUICK VISION® von PC-basierten Sichtsystemen und die Software QVPA®, die bei Mitutoyo America Corporation (MAC), in Aurora, IL., erhältlich sind. Die Merkmale und die Funktionsweise der Sichtsystemreihe QUICK VISION® und der Software QVPAK® werden beispielsweise in „QVPAK 3D CNC Vision Measuring Machine User's Guide”, veröffentlicht im Januar 2003 , und „QVPAK 3D CNC Vision Measuring Machine Operation Guide”, veröffentlicht im September 1996 , die hiermit jeweils zur Bezugnahme vollständig übernommen werden, allgemein beschrieben. Dieses Produkt, wie es beispielsweise durch das Modell QV302 Pro dargestellt wird, ist in der Lage, ein optisches System nach Art eines Mikroskops zu verwenden, um Bilder eines Werkstücks auf diversen Vergrößerungen bereitzustellen und den Arbeitstisch je nach Bedarf zu bewegen, um die Werkstückfläche über die Grenzen eines beliebigen einzigen Videobilds hinaus zu überqueren. Ein einziges Videobild umfasst typischerweise nur einen Teil des Werkstücks, das betrachtet oder inspiziert wird, angesichts der gewünschten Vergrößerung, der Messauflösung und der physischen Größeneinschränkungen derartiger Systeme.Precise machine vision inspection systems (or "vision systems" for short) can be used to obtain precise dimensional measurements of inspected objects and to inspect various other object features. Such systems may include a computer, a camera and an optical system, and a precision work table that is movable in multiple directions for the camera to scan the features of a workpiece being inspected. An exemplary prior art system that is commercially available is the QUICK VISION® series of PC-based vision systems and the QVPA® software available from Mitutoyo America Corporation (MAC) of Aurora, IL. The features and operation of the QUICK VISION ® vision system series and the QVPAK ® software are described, for example, in "QVPAK 3D CNC Vision Measuring Machine User's Guide", published in January 2003 , and "QVPAK 3D CNC Vision Measuring Machine Operation Guide", published in September 1996 , which are hereby incorporated by reference in their entirety, are generally described. This product, as exemplified by the QV302 Pro model, is capable of using a microscope-type optical system to provide images of a workpiece at various magnifications and to move the worktable as needed around the workpiece surface cross the boundaries of any single video image. A single video image typically includes only a portion of the workpiece being viewed or inspected, given the desired magnification, measurement resolution, and physical size limitations of such systems.

Maschinelle Sichtinspektionssysteme verwenden im Allgemeinen eine automatisierte Videoinspektion. Das US-Patent Nr. 6,542,180 lehrt diverse Aspekte einer derartigen automatisierten Videoinspektion und wird hiermit zur Bezugnahme vollständig übernommen. Wie es in dem Patent '180 gelehrt wird, verfügen automatisierte Videoinspektions-Messinstrumente im Allgemeinen über eine Programmierfähigkeit, die es ermöglicht, dass eine automatische Inspektionsereignissequenz für jede bestimmte Werkstückkonfiguration durch den Benutzer definiert wird. Dies kann beispielsweise durch textbasiertes Programmieren oder über einen Aufzeichnungsmodus, der die Inspektionsereignissequenz nach und nach „erlernt”, umgesetzt werden, indem eine Sequenz von Maschinensteueranweisungen, die einer Sequenz von Inspektionsvorgängen entsprechen, die von einem Benutzer anhand einer grafischen Benutzerschnittstelle oder durch eine Kombination von beiden Verfahren ausgeführt werden. Ein derartiger Aufzeichnungsmodus wird häufig als „Lernmodus” oder „Trainingsmodus” bezeichnet. Sobald die Inspektionsereignissequenz im „Lernmodus” definiert wurde, kann eine derartige Sequenz dann verwendet werden, um automatisch Bilder eines Werkstücks im „Laufmodus” zu erfassen (und zusätzlich zu analysieren oder zu inspizieren).Machine vision inspection systems generally use an automated video inspection. The U.S. Patent No. 6,542,180 teaches various aspects of such an automated video inspection and is hereby fully incorporated by reference. As taught in the '180 patent, automated video inspection gauges generally have a programming capability that allows an automatic inspection event sequence for each particular workpiece configuration to be defined by the user. This may be implemented, for example, by text-based programming or a record mode that gradually "learns" the inspection event sequence by a sequence of machine control statements corresponding to a sequence of inspection operations performed by a user through a graphical user interface or a combination of both methods are executed. Such a recording mode is often referred to as a "learning mode" or "training mode". Once the inspection event sequence has been defined in the "learning mode", such a sequence can then be used to automatically capture (and additionally analyze or inspect) images of a workpiece in "run mode".

Video-Tools (bzw. kurz „Tools”) und andere grafische Benutzerschnittstellenmerkmale können manuell verwendet werden, um manuelle Inspektions- und/oder Maschinensteuervorgänge (im „manuellen Modus”) zu erledigen. Ihre Einrichtungsparameter und ihre Funktionsweise können ebenfalls im Lernmodus aufgezeichnet werden, um automatische Inspektionsprogramme, bzw. „Teileprogramme”, zu erstellen. Video-Tools können beispielsweise Kanten/Rand-Erkennungs-Tools, Autofokus-Tools, Form- oder Musterabgleich-Tools, Dimensionsmess-Tools und dergleichen umfassen. Andere grafische Benutzerschnittstellenmerkmale können Dialogfelder bezüglich Datenanalyse, Repetierschleifen-Programmierung und dergleichen umfassen. Beispielsweise werden derartige Tools gewöhnlich in vielen verschiedenen handelsüblichen maschinellen Sichtinspektionssystemen, wie etwa in der zuvor angesprochenen Reihe QUICK VISION® von Sichtsystemen und der dazugehörigen Software QVPAK® verwendet.Video tools (or "tools" for short) and other graphical user interface features can be manually used to perform manual inspection and / or machine control operations (in "manual mode"). Their setup parameters and their operation can also be recorded in the learning mode to create automatic inspection programs or "part programs". For example, video tools may include edge / edge detection tools, autofocus tools, shape or pattern matching tools, dimension measurement tools, and the like. Other graphical user interface features may include dialog boxes relating to data analysis, loopback programming, and the like. For example, such tools are commonly used in many commercially available machine vision inspection systems, such as in the aforementioned series QUICK VISION ® vision systems and related software QVPAK ®.

Die Maschinensteueranweisungen, welche die spezifische Inspektionsereignissequenz umfassen (d. h. wie jedes Bild zu erfassen ist und wie jedes erfasste Bild zu analysieren/inspizieren ist), sind im Allgemeinen als „Teileprogramm” oder „Werkstückprogramm” gespeichert, der für die bestimmte Werkstückkonfiguration spezifisch ist. Beispielsweise definiert ein Teileprogramm, wie jedes Bild zu erfassen ist, wie etwa wie die Kamera mit Bezug auf das Werkstück, auf welcher Beleuchtungsstufe, auf welcher Vergrößerungsstufe usw. zu positionieren ist. Ferner definiert das Teileprogramm, wie ein erfasstes Bild zu analysieren/inspizieren ist, beispielsweise unter Verwendung von einem oder mehreren Video-Tools, wie etwa Kanten/Rand-Erkennungs-Video-Tools. Die Fähigkeit, Teileprogramme mit Anweisungen zu erstellen, die eine vorbestimmte Sequenz von Inspektionsvorgängen ausführen, stellt mehrere Vorzüge bereit, einschließlich einer verbesserten Inspektionswiederholbarkeit, sowie der Fähigkeit, das gleiche Teileprogramm wiederholt auf einem oder mehreren kompatiblen maschinellen Sichtinspektionssystemen automatisch auszuführen.The machine control instructions that include the specific inspection event sequence (ie, how each image is to be captured and how each captured image is to be analyzed / inspected) are generally stored as a "part program" or "part program" specific to the particular workpiece configuration. For example, a part program defines how each image is to be captured, such as how the camera is to be positioned with respect to the workpiece, at which illumination level, at which magnification level, etc. Furthermore, the parts program defines how to capture a captured image analyze / inspect using, for example, one or more video tools, such as edge / edge detection video tools. The ability to create part programs with instructions that perform a predetermined sequence of inspection operations provides several benefits, including improved inspection repeatability, as well as the ability to automatically execute the same part program repeatedly on one or more compatible machine vision inspection systems.

Für universelle maschinelle Sichtinspektionssysteme, die dazu gedacht sind, für viele verschiedene Werkstücke schnell programmierbar zu sein, wie sie durch die zuvor erwähnte Reihe QUICK VISION® von PC-basierten Sichtsystemen dargestellt werden, war es üblich, dass Bilderfassungsvorgänge mit Bildanalysevorgängen und/oder Merkmalsinspektionsvorgängen durchsetzt waren, die an dem zuletzt erfassten Bild ausgeführt wurden (hier als „durchsetzte” Vorgänge bezeichnet). Es besteht jedoch eine steigende Nachfrage dafür, dass universelle maschinelle Sichtinspektionssysteme einen höheren Durchsatz bereitstellen. Gemäß einem Verfahren kann dies durch Ausführen einer Bilderfassung erreicht werden, während eine durchgehende relative Bewegung zwischen der Kamera und dem Werkstückarbeitstisch bewerkstelligt werden kann (im Gegensatz zum zeitweiligen Anhalten und Starten der relativen Bewegung, wie es für durchsetzte Vorgänge notwendig ist), wodurch der Inspektionsdurchsatz erheblich erhöht wird. Derartige Vorgänge werden hier Dauerbetriebsvorgänge bezeichnet. Es ist vorteilhaft, dass solche Systeme eine Stroboskopbeleuchtung umfassen, um bei der Erfassung von Bildern während einer kontinuierlichen Bewegung beizutragen, ohne das Bild zu verwischen (bzw. unscharf zu machen).For universal machine vision inspection systems, which are intended to be fast programmed for many different workpieces as VISION ® are represented by PC-based vision systems by the aforementioned series QUICK, it was common for imaging processes with image analysis processes and / or feature inspection operations interspersed that were executed on the last captured image (referred to herein as "interspersed" operations). However, there is an increasing demand for universal machine vision inspection systems to provide higher throughput. According to one method, this may be accomplished by performing image acquisition while allowing continuous relative movement between the camera and the workpiece table (as opposed to temporarily stopping and starting the relative movement necessary for interspersed operations), thereby increasing inspection throughput is significantly increased. Such operations are referred to as continuous operations. It is advantageous that such systems include strobe lighting to help capture images during continuous motion without blurring the image.

Schnelle „mitlaufende” Sichtinspektionssysteme, die in schnellen Fertigungsstraßen verwendet werden, haben eine Dauerbetrieb-Bilderfassung bereitgestellt. Derartige mitlaufende Sichtsysteme sind jedoch typischerweise einer einzigen Fertigungsstraße gewidmet und erfassen immer wieder das „gleiche” Bild für aufeinanderfolgende Werkstücke z. B. auf einem Fördersystem. In solchen Fällen sind die Parameter der Bewegungsgeschwindigkeit und der Stroboskopbeleuchtung usw. für jedes Bild die gleichen. Ferner werden die Werkstückkonfigurationen und/oder die Bilderfassungsparameter usw. selten geändert. Somit haben die Programmierverfahren für derartige Systeme kein schnelles Programmieren für eine unbegrenzte Vielfalt von Werkstücken, Kamerapositionen, Bilderfassungsparametern usw. durch relativ ungeübte Benutzer erleichtert.Fast "on-the-fly" vision inspection systems used in fast assembly lines have provided a continuous operation image capture. However, such tracking vision systems are typically dedicated to a single production line and repeatedly capture the "same" image for successive workpieces e.g. B. on a conveyor system. In such cases, the parameters of moving speed and strobe lighting, etc. are the same for each picture. Further, the workpiece configurations and / or the image acquisition parameters, etc. are rarely changed. Thus, the programming techniques for such systems have not facilitated rapid programming for an unlimited variety of workpieces, camera positions, image acquisition parameters, etc. by relatively untrained users.

Dagegen hat die Erfahrung gezeigt, dass es für universelle maschinelle Sichtinspektionssysteme wesentlich ist, ein schnelles Programmieren für eine unbegrenzte Vielzahl von Werkstücken, Kamerapositionen, Bilderfassungsparametern usw. durch relativ ungeübte Benutzer zu erleichtern. Frühere Programmierverfahren für universelle maschinelle Sichtinspektionssysteme haben das Programmieren von Dauerbetriebsvorgängen nicht einfach und schnell genug gemacht. Ferner haben die früheren Programmierverfahren das Programmieren von Dauerbetriebsvorgängen kombiniert mit durchsetzten Vorgängen nicht einfach oder schnell genug gemacht. Systeme und Verfahren zum Programmieren, die diese Probleme und Nachteile entweder getrennt oder kombiniert beheben können, wären wünschenswert.In contrast, experience has shown that it is essential for universal vision machine vision systems to facilitate rapid programming for an infinite variety of workpieces, camera positions, image acquisition parameters, etc. by relatively untrained users. Previous programming methods for universal vision machine vision systems have not made programming continuous operations easy and fast enough. Further, previous programming techniques have not made programming continuous operations combined with interspersed operations simple or fast enough. Systems and methods of programming that can solve these problems and disadvantages either separately or in combination would be desirable.

Ein beispielhaftes Verfahren aus dem Stand der Technik, das einige dieser Probleme und Nachteile behebt, wird in dem US-Patent Nr. 7,590,276 erläutert, das hiermit zur Bezugnahme vollständig übernommen wird. Wie in dem Patent '276 beschrieben, wird ein Verfahren zur Teileprogrammierung bereitgestellt, das es einem Benutzer ermöglicht, ohne Weiteres mehrere Bilderfassungsvorgänge, die mit dazugehörigen Bildanalysevorgängen während Lernmodusvorgängen durchsetzt sind, in einer natürlichen und intuitiv verständlichen Beziehung zu definieren. Dann werden in dem sich ergebenden Teileprogramm Bilderfassungsvorgänge für mindestens einige der Bilder automatisch in eine Dauerbetrieb-Bilderfassungssequenz umgeordnet, die Bilder erfasst und Bilder „nicht durchsetzt” speichert, um den Durchsatz des maschinellen Sichtinspektionssystems zu erhöhen.An exemplary prior art method that overcomes some of these problems and disadvantages is disclosed in U.S.P. U.S. Patent No. 7,590,276 which is hereby incorporated by reference in its entirety. As described in the '276 patent, a part programming method is provided that allows a user to readily define multiple image capture operations interspersed with associated image analysis operations during learning mode operations in a natural and intuitively understandable relationship. Then, in the resulting part program, image acquisition operations for at least some of the images are automatically rearranged to a continuous operation image capture sequence that captures images and "intersperses" images to increase the throughput of the machine vision inspection system.

Ein Nachteil bestimmter früherer Programmierverfahren, wie etwa desjenigen, das in dem Patent '276 erläutert wird, besteht jedoch darin, dass der durchgehende Datenstrom von Bilderfassungsvorgängen, der typischerweise erreicht wurde, indem diverse Vorgänge analysiert wurden, die vom Benutzer im Lernmodus eingegeben wurden, und indem ihre Reihenfolge in den Teileprogrammanweisungen unter Verwendung von „umgruppierten” Programmierdarstellungen und Syntax geändert oder „umgruppiert” wurden, so dass die Bilderfassungsanweisungen gruppiert wurden, um eine Vielzahl von Bildern unter Verwendung einer durchgehenden Bewegung zu erfassen, und ihre entsprechenden Bildanalyseanweisungen geändert oder „umgruppiert” wurden, um die Bilderfassungsanweisungen zu befolgen, so dass die Bildanalysevorgänge nicht die schnelle Bilderfassung im Dauerbetrieb durchsetzen oder unterbrechen mussten. Wenn daraufhin die Teileprogrammanweisungen zur Bearbeitung oder Betrachtung abgerufen wurden, waren die Bildanalyseanweisungen von den Erfassungsanweisungen für ihr entsprechendes Bild getrennt. Dies hat sich für die Benutzer derartiger Systeme als verwirrend erwiesen, indem die betreffenden Bilderfassungs- und Analyseanweisungen durch „beziehungslose” Zwischen-Bilderfassungs- und Bildverarbeitungsanweisungen getrennt werden, was nicht intuitiv ist und zu mangelnder Effizienz und Fehlern führt, wenn ein Benutzer versucht, die „umgeordneten” Teileprogrammanweisungen zu lesen oder zu bearbeiten. Mit anderen Worten haben die umgeordneten Programmierdarstellungen und die Syntax zum Gruppieren der Bilderfassungsvorgänge in dem Teileprogamm das Programmieren und Bearbeiten derartiger Teileprogramme für die Benutzer schwieriger gemacht. Es besteht ein Bedarf an einer Teileprogrammiersyntax und an Bearbeitungsvorgängen und Merkmalen, die diese und andere Mängel beheben, um ein effizienteres, intuitiveres und flexibleres Programmieren und Bearbeiten von durchgehenden Bilderfassungsteileprogrammen für präzise maschinelle Sichtinspektionssysteme zu ermöglichen.However, a disadvantage of certain prior programming methods, such as that illustrated in the '276 patent, is that the continuous data stream of image acquisition operations typically accomplished by analyzing various operations entered by the user in the learning mode, and by changing or "regrouping" their order in the part program instructions using "regrouped" programming representations and syntax such that the image capture instructions were grouped to capture a plurality of images using one continuous motion and their respective image analysis instructions were regrouped or "regrouped""To follow the image capture instructions so that the image analysis operations did not have to enforce or interrupt fast image capture in continuous operation. Then, when the part program instructions were fetched for editing or viewing, the image analysis instructions were separated from the capture instructions for their corresponding image. This has proved confusing to the users of such systems by providing the related image capture and analysis instructions with "unrelated" intermediate image capture and image processing instructions which is not intuitive and results in poor efficiency and errors when a user attempts to read or edit the "reordered" part program instructions. In other words, the reordered programming representations and the syntax for grouping the image acquisition operations in the part program have made programming and editing such part programs more difficult for users. There is a need for part programming syntax and machining operations and features that address these and other shortcomings to enable more efficient, more intuitive, and more flexible programming and editing of continuous imaging subprograms for precise vision machine vision systems.

KURZDARSTELLUNGSUMMARY

Diese Kurzdarstellung wird bereitgestellt, um eine Auswahl von Konzepten in vereinfachter Form bereitzustellen, die nachstehend in der ausführlichen Beschreibung näher beschrieben werden. Diese Kurzdarstellung ist nicht dazu gedacht, Hauptmerkmale des beanspruchten Gegenstands zu identifizieren, und ist auch nicht dazu gedacht, um als Hilfsmittel bei dem Bestimmen des Umfangs des beanspruchten Gegenstandes verwendet zu werden.This summary is provided to provide a selection of concepts in a simplified form, which are described in more detail below in the detailed description. This summary is not intended to identify key features of the claimed subject matter, nor is it intended to be used as an aid in determining the scope of the claimed subject matter.

Bei diversen Ausführungsformen wird eine Bearbeitungsumgebung für ein präzises maschinelles Sichtsystem für ein Teileprogramm bereitgestellt, bei dem ein durchgehender oder ununterbrochener sequenzieller Datenstrom von Bilderfassungsvorgängen in einem Laufmodus ausgeführt wird. Das präzise maschinelle Sichtinspektionssystem umfasst einen Bildgebungsabschnitt, einen Arbeitstisch zum Halten eines oder mehrerer Werkstücke in einem Blickfeld (FOV) des Bildgebungsabschnitts, einen Steuerabschnitt, eine Anzeige und eine Benutzerschnittstelle.In various embodiments, a machining environment for a precision machine vision system for a part program is provided in which a continuous or continuous sequential stream of image acquisition operations is performed in a run mode. The precise machine vision inspection system includes an imaging section, a work table for holding one or more workpieces in a field of view (FOV) of the imaging section, a control section, a display, and a user interface.

Bei diversen Ausführungsformen umfasst das maschinelle Sichtinspektionssystem ferner einen Lernmodus, der betriebsfähig ist, um eine Benutzereingabe zu empfangen, um die Vorgänge des maschinellen Sichtinspektionssystems zu steuern und Anweisungen aufzuzeichnen, die den gesteuerten Vorgängen entsprechen, um ein Teileprogramm zu erstellen. Der Lernmodus ist auch betriebsfähig, um das Teileprogramm zu bearbeiten und zuvor aufgezeichnete Teileprogrammanweisungen gemäß einem Bearbeitungsausführungsmodus auszuführen. Bei einigen Ausführungsformen kann der Lernmodus Benutzerschnittstellenmerkmale umfassen, wie etwa ein benutzersteuerbares Datenstrommodus-Anweisungselement und eine bearbeitbare Teileprogrammdarstellung von Teileprogrammanweisungen. Das benutzersteuerbare Datenstrommodus-Anweisungselement kann verwendbar sein, um ein Datenstrommodus-Segment zu bezeichnen, das ein Segment eines Teileprogramms umfasst, das für die Datenstrommodus-Ausführung bezeichnet ist. Bei diversen Ausführungsformen kann die Datenstrommodus-Ausführung das Ausführen von Bilderfassungsvorgängen in einer sequenziellen Reihenfolge während einer Dauerbetriebssequenz umfassen, wobei sich der Arbeitstisch und der Bildgebungsabschnitt durchgehend oder ungefähr durchgehend im Verhältnis zueinander bewegen, um mindestens zwei Bilder zu erfassen. Die bearbeitbare Teileprogrammdarstellung umfasst Darstellungen von Bilderfassungsanweisungen, die Bilderfassungsvorgängen entsprechen, Darstellungen von Bildanalyseanweisungen, die Bildanalysevorgängen entsprechen, und kann bei einigen Ausführungsformen eine Darstellung eines Datenstrommodus-Segments umfassen.In various embodiments, the machine vision inspection system further includes a learn mode operable to receive user input to control the operations of the machine vision inspection system and to record instructions corresponding to the controlled operations to create a part program. The learning mode is also operable to edit the part program and execute previously recorded part program instructions according to a machining execution mode. In some embodiments, the learning mode may include user interface features, such as a user-controllable data stream mode instructing element and an editable part program representation of part program instructions. The user-controllable data stream mode instruction item may be useable to designate a data stream mode segment that includes a segment of a part program designated for data stream mode execution. In various embodiments, the data stream mode implementation may include performing image acquisition operations in a sequential order during a continuous operation sequence, wherein the work table and imaging portion move continuously or approximately continuously relative to one another to capture at least two images. The editable parts program representation includes representations of image capture instructions that correspond to image capture operations, representations of image analysis instructions that correspond to image analysis operations, and may include a representation of a data stream mode segment in some embodiments.

Bei diversen Ausführungsformen umfasst das maschinelle Sichtinspektionssystem einen Laufmodus, der betriebsfähig ist, um ein zuvor erstelltes Teileprogramm auszuführen. Der Laufmodus umfasst im Allgemeinen einen Datenstrom-Ausführungsmodus zum Ausführen mindestens einiger der Teileprogrammanweisungen. Bei einigen Ausführungsformen, bei denen Datenstrommodus-Segmente in einem Teileprogramm definiert werden, kann der Laufmodus einen Nicht-Datenstrommodus zum Ausführen von Teileprogrammanweisungen, die sich nicht in einem definierten Datenstrommodus-Segment befinden, sowie den Datenstrommodus zum Ausführen von Teileprogrammanweisungen, die sich in einem definierten Datenstrommodus-Segment befinden, umfassen. Bei einigen Ausführungsformen führt der Nicht-Datenstrom-Ausführungsmodus die Bilderfassungsanweisungen und die entsprechenden Bildanalyseanweisungen der ersten Vielzahl von Teileprogrammanweisungen aus, die sich nicht in einem Datenstrommodus-Segment befinden, um die Bilderfassungsvorgänge und die entsprechenden Bildanalysevorgänge auf eine Art und Weise auszuführen, die mit der ersten Reihenfolge vereinbar ist.In various embodiments, the machine vision inspection system includes a run mode that is operable to execute a previously created part program. The run mode generally includes a data stream execution mode for executing at least some of the part program instructions. In some embodiments, where data stream mode segments are defined in a part program, the run mode may be a non-data stream mode for executing part program instructions that are not in a defined data stream mode segment, and the data stream mode for executing part program instructions that are in one defined data stream mode segment include. In some embodiments, the non-stream execution mode executes the image capture instructions and the corresponding image analysis instructions of the first plurality of part program instructions that are not in a data stream mode segment to perform the image capture operations and the corresponding image analysis operations in a manner consistent with first order is compatible.

Bei diversen Ausführungsformen ist der Lernmodus derart konfiguriert, dass die bearbeitbare Teileprogrammdarstellung eine erste Vielzahl von Teileprogrammanweisungen darstellt, die Bilderfassungs- und entsprechende Bildanalyseanweisungen in einer ersten Reihenfolge umfassen, die einer Reihenfolge entspricht, in der die entsprechenden gesteuerten Vorgänge ausgeführt wurden, um das Teileprogramm zu erstellen. Zusätzlich ist der Lernmodus ferner derart konfiguriert, dass der Bearbeitungsausführungsmodus die Bilderfassungsanweisungen und die entsprechenden Bildanalyseanweisungen des Teileprogramms der ersten Vielzahl von Teileprogrammanweisungen ausführt, um die Bilderfassungsvorgänge und die entsprechenden Bildanalysevorgänge auf eine Art und Weise auszuführen, die mit der ersten Reihenfolge vereinbar ist, unabhängig davon, ob die erste Vielzahl von Bilderfassungs- und entsprechenden Bildanalyseanweisungen des Teileprogramms in einem Datenstrommodus-Segment (soweit definiert) enthalten sind.In various embodiments, the learn mode is configured such that the editable part program representation represents a first plurality of part program instructions that include image capture and corresponding image analysis instructions in a first order that corresponds to an order in which the corresponding controlled operations were performed to program the part program create. In addition, the learning mode is further configured such that the machining execution mode executes the image acquisition instructions and the corresponding image analysis instructions of the part program of the first plurality of part program instructions to perform the image acquisition operations and the corresponding image analysis operations in a manner consistent with the first order independently , if she first plurality of image capture and corresponding image analysis instructions of the part program are included in a data stream mode segment (if defined).

Bei diversen Ausführungsformen ist der Laufmodus derart konfiguriert, dass der Datenstrommodus die erste Vielzahl von Bilderfassungs- und entsprechenden Bildanalyseanweisungen des Teileprogramms gemäß einer zweiten Reihenfolge (z. B. standardmäßig oder bei einigen Ausführungsformen, wenn sie in einem definierten Datenstrommodus-Segment enthalten sind) ausführt. Bei einer Ausführungsform umfasst die zweite Reihenfolge das Ausführen der ersten Vielzahl von Bilderfassungsanweisungen des Teileprogramms, um ihre entsprechenden Bilderfassungsvorgänge in einer sequenziellen Reihenfolge auszuführen, und zwar unabhängig von dem Ausführen der entsprechenden Bildanalysevorgänge. Zusätzlich kann die zweite Reihenfolge ferner das Ausführen der ersten Vielzahl von Bildanalyseanweisungen des Teileprogramms umfassen, um ihre entsprechenden Bildanalysevorgänge ausführen, nachdem ihre entsprechenden Bilder erfasst wurden. Bei einer Ausführungsform erfolgt die Ausführung der Bildanalysevorgänge, nachdem ihre entsprechenden Bilder erfasst wurden, während der sequenziellen Reihenfolge der Bilderfassungsvorgänge.In various embodiments, the run mode is configured such that the data stream mode executes the first plurality of image capture and corresponding image analysis instructions of the part program in a second order (eg, by default or in some embodiments if included in a defined data stream mode segment) , In one embodiment, the second order includes executing the first plurality of image capture instructions of the part program to perform their respective image capture operations in a sequential order, regardless of performing the corresponding image analysis operations. In addition, the second order may further include executing the first plurality of image analysis instructions of the part program to perform their respective image analysis operations after their corresponding images have been acquired. In one embodiment, the execution of the image analysis operations after their corresponding images are captured occurs during the sequential order of the image acquisition operations.

Bei einigen Ausführungsformen, bei denen das maschinelle Sichtinspektionssystem eine Stroboskopbeleuchtung oder andere Mittel umfasst, um eine schnelle Bildbelichtung ohne Unschärfe zu ermöglichen, erfolgt die Ausführung der Bilderfassungsvorgänge in einer sequenziellen Reihenfolge währen einer echten Dauerbetriebssequenz, wobei sich der Arbeitstisch und der Bildgebungsabschnitt durchgehend im Verhältnis zueinander bewegen (z. B. bewegt sich der Arbeitstisch durchgehend im Verhältnis zum Bildgebungsabschnitt). Bei einigen Konfigurationen kann die Arbeitstischbewegung betriebsfähig sein, um ein Werkstück in einer waagerechten Ebene (z. B. einer XY-Ebene) räumlich zu bewegen, den Bildgebungsabschnitt jedoch nicht zubewegen, wohingegen die Arbeitstischbewegung betriebsfähig sein kann, um den Bildgebungsabschnitt in einer senkrechten Richtung (z. B. eine Z-Richtung) zu bewegen, jedoch nicht das Werkstück. Bei anderen Konfigurationen kann die Arbeitstischbewegung betriebsfähig sein, um ein Werkstück in einer waagerechten Richtung (z. B. einer X-Richtung) räumlich zu bewegen, jedoch nicht den Bildgebungsabschnitt, wohingegen die Arbeitstischbewegung betriebsfähig sein kann, um den Bildgebungsabschnitt in einer anderen waagerechten Richtung (z. B. eine Y-Richtung) und einer senkrechten Richtung (z. B. eine Z-Richtung) zu bewegen, jedoch nicht das Werkstück. Bei diversen Ausführungsformen werden die Bilderfassungsvorgänge in einer Dauerbetriebssequenz für mindestens zwei Bilder ausgeführt. Bei anderen Ausführungsformen, bei denen das maschinelle Sichtinspektionssystem keine Stroboskopbeleuchtung aufweist oder ansonsten ein Verlangsamen oder zeitweiliges Anhalten der relativen Bewegung benötigt, um Bildunschärfe zu begrenzen, kann die Ausführung der Bilderfassungsvorgänge in der sequenziellen Reihenfolge während einer ungefähren Dauerbetriebssequenz erfolgen. Die ungefähre Dauerbetriebssequenz kann Bewegungsvorgänge umfassen, die Bildunschärfe verhindern (z. B. Verlangsamen oder zeitweiliges Anhalten des eigentlichen Dauerbetriebs, wie es durch die Anforderungen der Bilderfassung vorgeschrieben wird), umfasst jedoch nicht die Bewegungsverzögerungen, die mit dem Ausführen der Bildanalyse oder dergleichen zusammenhängen.In some embodiments where the machine vision inspection system includes strobe lighting or other means to enable rapid image exposure without blurring, the imaging operations are performed in a sequential order during a true continuous operation sequence with the work table and imaging portion continuously in proportion move (eg, the worktable moves continuously relative to the imaging section). In some configurations, the worktable movement may be operable to spatially move a workpiece in a horizontal plane (eg, an XY plane), but not move the imaging section, whereas the worktable movement may be operable to move the imaging section in a vertical direction (eg, a Z-direction), but not the workpiece. In other configurations, the worktable movement may be operable to spatially move a workpiece in a horizontal direction (eg, an X direction), but not the imaging section, whereas the worktable movement may be operable to move the imaging section in another horizontal direction (For example, a Y-direction) and a vertical direction (eg, a Z-direction) to move, but not the workpiece. In various embodiments, the image capture operations are performed in a continuous operation sequence for at least two images. In other embodiments, where the machine vision inspection system does not include strobe lighting or otherwise requires slowing or temporarily stopping the relative motion to limit image blur, image acquisition operations may be performed in sequential order during an approximately continuous operation sequence. The approximate steady state sequence may include motion that prevents image blur (eg, slowing down or temporarily stopping the actual continuous operation as dictated by image capture requirements), but does not include the motion delays associated with performing image analysis or the like.

Bei diversen Ausführungsformen erfolgt die Ausführung der Bildanalysevorgänge, nachdem ihre entsprechenden Bilder erfasst wurden, mindestens teilweise während der sequenziellen Reihenfolge der Bilderfassungsvorgänge.In various embodiments, the execution of the image analysis operations after their corresponding images are captured occurs at least in part during the sequential order of the image acquisition operations.

Bei einigen Ausführungsformen ist der Lernmodus derart konfiguriert, dass wenn ein Teileprogramm, das ein Datenstrommodus-Segment umfasst, zur Bearbeitung abgerufen wird, die bearbeitbare Teileprogrammdarstellung in der ersten Reihenfolge angezeigt wird, und der Bearbeitungsausführungsmodus die Bilderfassungsvorgänge und die entsprechenden Bildanalysevorgänge auf eine Art und Weise ausführt, die mit der ersten Reihenfolge vereinbar ist. Gemäß einem anderen Aspekt der vorliegenden Offenbarung ist der Lernmodus derart konfiguriert, dass ein Benutzer eine Anweisungsdarstellung des Teileprogramms, die in einem Datenstrommodus-Segment enthalten ist, als eine Stelle auswählen kann, an welcher der Bearbeitungsausführungsmodus der entsprechenden Teileprogrammanweisungen einzuleiten ist, nachdem die folgenden Teileprogrammanweisungen auf eine Art und Weise ausgeführt wurden, die mit der ersten Reihenfolge vereinbar ist. Gemäß einem anderen Aspekt der vorliegenden Offenbarung werden die nachfolgenden Teileprogrammanweisungen auf eine Art und Weise ausgeführt, die mit der ersten Reihenfolge vereinbar ist.In some embodiments, the learning mode is configured such that when a part program including a data stream mode segment is retrieved for editing, the editable part program representation is displayed in the first order, and the editing execution mode displays the image acquisition operations and the corresponding image analysis operations in a manner which is consistent with the first order. According to another aspect of the present disclosure, the learning mode is configured such that a user can select an instruction representation of the part program included in a data stream mode segment as a place to initiate the editing execution mode of the corresponding part program instructions after the following part program instructions performed in a manner consistent with the first order. In accordance with another aspect of the present disclosure, the subsequent part program instructions are executed in a manner consistent with the first order.

Bei einigen Ausführungsformen umfasst das Datenstrommodus-Segment einen ersten Satz von Anweisungen und einen zweiten Satz von Anweisungen, wobei der erste Satz von Anweisungen erste Bilderfassungsanweisungen und erste Bildanalyseanweisungen umfasst, die Video-Tool-Anweisungen eines ersten Video-Tools umfassen, und wobei der zweite Satz von Anweisungen zweite Bilderfassungsanweisungen und zweite Bildanalyseanweisungen umfasst, die Video-Tool-Anweisungen eines zweiten Video-Tools umfassen, wobei im Bearbeitungsausführungsmodus die ersten Bilderfassungsanweisungen und die ersten Bildanalyseanweisungen, die Video-Tool-Anweisungen eines ersten Video-Tools umfassen, ausgeführt werden, bevor mit der Ausführung der zweiten Bilderfassungsanweisungen und der zweiten Bildanalyseanweisungen, die Video-Tool-Anweisungen des zweiten Video-Tools umfassen, begonnen wird. Im Laufmodus wird das Datenstrommodus-Segment auf Grund des Datenstrommodus-Anweisungselements im Datenstrommodus ausgeführt, und im Laufausführungsmodus des Datenstrommodus-Segments, werden die ersten und zweiten Bilderfassungsanweisungen in einer sequenziellen Reihenfolge unabhängig von der Ausführung der entsprechenden ersten und zweiten Bildanalysevorgänge, die Video-Tool-Anweisungen des ersten und zweiten Video-Tools umfassen, ausgeführt. Gemäß einem anderen Aspekt der vorliegenden Offenbarung umfassen die ersten und zweiten Video-Tools Kantenerkennungs-Video-Tools.In some embodiments, the data stream mode segment comprises a first set of instructions and a second set of instructions, wherein the first set of instructions comprises first image capture instructions and first image analysis instructions that include video tool instructions of a first video tool, and wherein the second Set of instructions includes second image capture instructions and second image analysis instructions that include video tool instructions of a second video tool, wherein in edit execution mode the first Image capture instructions and the first image analysis instructions comprising video tool instructions of a first video tool are executed before commencing the execution of the second image capture instructions and the second image analysis instructions comprising video tool instructions of the second video tool. In the run mode, the data stream mode segment is executed in the data stream mode due to the data stream mode instructing element, and in the run execution mode of the data stream mode segment, the first and second image capturing instructions become the video tool in a sequential order regardless of the execution of the respective first and second image analysis operations Execute statements of the first and second video tools. According to another aspect of the present disclosure, the first and second video tools include edge detection video tools.

Bei einigen Ausführungsformen umfasst das Teileprogramm ferner ein Nicht-Datenstrommodus-Segment, und im Lernmodus wird das Nicht-Datenstrommodus-Segment vom Datenstrommodus-Segment auf Grund eines fehlenden Datenstrommodus-Anweisungselements für das Nicht-Datenstrommodus-Segment auseinandergehalten, wobei das Nicht-Datenstrommodus-Segment einen dritten Satz von Anweisungen und einen vierten Satz von Anweisungen umfasst, wobei der dritte Satz von Anweisungen dritte Bilderfassungsanweisungen und dritte Bildanalyseanweisungen umfasst, die Video-Tool-Anweisungen eines dritten Video-Tools umfassen, und wobei der vierte Satz von Anweisungen vierte Bilderfassungsanweisungen und vierte Bildanalyseanweisungen umfasst, die Video-Tool-Anweisungen eines vierten Video-Tools umfassen, wobei im Bearbeitungsausführungsmodus die dritten Bilderfassungsanweisungen und die dritten Bildanalyseanweisungen, die Video-Tool-Anweisungen des dritten Video-Tools umfassen, ausgeführt werden, bevor mit der Ausführung der vierten Bilderfassungsanweisungen und der vierten Bildanalyseanweisungen, die Video-Tool-Anweisungen der vierten Video-Tool umfassen, begonnen wird. Im Laufmodus wird das Nicht-Datenstrommodus-Segment auf Grund des Fehlens eines Datenstrommodus-Anweisungselements für das Nicht-Datenstrommodus-Segment im Nicht-Datenstrommodus ausgeführt, und während der Laufmodusausführung des Nicht-Datenstrommodus-Segments werden die dritten und vierten Bilderfassungsanweisungen in einer sequenziellen Reihenfolge unabhängig von der Ausführung der entsprechenden dritten und vierten Bildanalysevorgänge, die Video-Tool-Anweisungen des dritten und vierten Video-Tools umfassen, ausgeführt.In some embodiments, the parts program further comprises a non-stream mode segment, and in the learning mode, the non-stream mode segment is distinguished from the stream mode segment due to a missing stream mode instruction element for the non-stream mode segment, wherein the non-stream mode Segment comprises a third set of instructions and a fourth set of instructions, the third set of instructions comprising third image capture instructions and third image analysis instructions comprising video tool instructions of a third video tool, and wherein the fourth set of instructions include fourth image capture instructions and fourth image analysis instructions comprising video tool instructions of a fourth video tool, wherein in the edit execution mode, the third image capture instructions and the third image analysis instructions comprising video tool instructions of the third video tool are executed before off the fourth image capture instructions and the fourth image analysis instructions, which include video tool instructions of the fourth video tool, are started. In the run mode, the non-stream mode segment is executed due to the absence of a data stream mode instruction element for the non-stream mode segment in the non-stream mode, and during the stream mode execution of the non-stream mode segment, the third and fourth image capture instructions become in a sequential order regardless of the execution of the corresponding third and fourth image analysis operations that include video tool instructions of the third and fourth video tools.

Wenn bei einigen Ausführungsformen ein Teileprogramm, das ein Datenstrommodus-Segment umfasst, zur Bearbeitung abgerufen wird, wird die bearbeitbare Teileprogrammdarstellung in der erste Reihenfolge angezeigt, und der Bearbeitungsausführungsmodus führt die Bilderfassungsvorgänge und die entsprechenden Bildanalysevorgänge auf eine Art und Weise aus, die mit der ersten Reihenfolge vereinbar ist.In some embodiments, when a part program including a data stream mode segment is fetched for editing, the editable part program representation is displayed in the first order, and the edit execution mode performs the image capture operations and the corresponding image analysis operations in a manner consistent with the first Order is compatible.

Bei einigen Ausführungsformen kann ein Benutzer im Lernmodus eine beliebige Teileprogrammanweisung in einem Datenstrommodus-Segment als eine Stelle auswählen, um die Ausführung der Teileprogrammanweisungen zu beginnen, wonach die nachfolgenden Teileprogrammanweisungen auf eine Art und Weise ausgeführt werden, die mit der ersten Reihenfolge vereinbar ist.In some embodiments, a user in learn mode may select any part program instruction in a data stream mode segment as a location to begin execution of the part program instructions, after which the subsequent part program instructions are executed in a manner consistent with the first order.

Bei einigen Ausführungsformen umfasst das Datenstrommodus-Segment einen ersten Satz von Anweisungen und einen zweiten Satz von Anweisungen. Der erste Satz von Anweisungen umfasst erste Bilderfassungsanweisungen und erste Bildanalyseanweisungen, die Video-Tool-Anweisungen eines ersten Video-Tools umfassen, wohingegen der zweite Satz von Anweisungen zweite Bilderfassungsanweisungen und zweite Bildanalyseanweisungen umfasst, die Video-Tool-Anweisungen eines zweiten Video-Tools umfassen. Bei einer Ausführungsform werden im Bearbeitungsausführungsmodus erste Bilderfassungsanweisungen und erste Bildanalyseanweisungen, die Video-Tool-Anweisungen des ersten Video-Tools umfassen, ausgeführt, bevor mit der Ausführung der zweiten Bilderfassungsanweisungen und der zweiten Bildanalyseanweisungen, die Video-Tool-Anweisungen des zweiten Video-Tools umfassen, begonnen wird. Dann wird im Laufmodus das Datenstrommodus-Segment auf Grund des Datenstrommodus-Anweisungselements im Datenstrommodus ausgeführt. Im Laufausführungsmodus des Datenstrommodus-Segments werden die ersten und zweiten Bilderfassungsanweisungen in einer sequenziellen Reihenfolge unabhängig von der Ausführung der entsprechenden ersten und zweiten Bildanalysevorgänge, die Video-Tool-Anweisungen des ersten und zweiten Video-Tools umfassen, ausgeführt. Bei einer Ausführungsform umfassen die ersten und zweiten Video-Tools Kantenerkennungs-Video-Tools.In some embodiments, the data stream mode segment includes a first set of instructions and a second set of instructions. The first set of instructions includes first image capture statements and first Image analysis instructions that include video tool instructions of a first video tool, whereas the second set of instructions include second image capture instructions and second image analysis instructions that include video tool instructions of a second video tool. In one embodiment, in the edit execution mode, first image capture instructions and first image analysis instructions that include video tool instructions of the first video tool are executed, prior to executing the second image capture instructions and the second image analysis instructions, the video tool instructions of the second video tool include, is started. Then, in the run mode, the data stream mode segment is executed based on the data stream mode instructing element in the data stream mode. In the run mode of the data stream mode segment, the first and second image capture instructions are executed in a sequential order regardless of the execution of the respective first and second image analysis operations including video tool instructions of the first and second video tools. In one embodiment, the first and second video tools include edge detection video tools.

Bei einigen Ausführungsformen umfasst das Teileprogramm ferner ein Nicht-Datenstrommodus-Segment, und im Lernmodus wird das Nicht-Datenstrommodus-Segment von dem Datenstrommodus-Segment durch das Fehlen eines Datenstrommodus-Anweisungselements für das Nicht-Datenstrommodus-Segment auseinandergehalten. Bei einer Ausführungsform umfasst das Nicht-Datenstrommodus-Segment einen dritten Satz von Anweisungen und einen vierten Satz von Anweisungen. Der dritte Satz von Anweisungen umfasst dritte Bilderfassungsanweisungen und dritte Bildanalyseanweisungen, die Video-Tool-Anweisungen eines dritten Video-Tools umfassen, während der vierte Satz von Anweisungen vierte Bilderfassungsanweisungen und vierte Bildanalyseanweisungen umfasst, die Video-Tool-Anweisungen eines vierten Video-Tools umfassen. Im Bearbeitungsausführungsmodus werden die dritten Bilderfassungsanweisungen und die dritten Bildanalyseanweisungen, die Video-Tool-Anweisungen des dritten Video-Tools umfassen, ausgeführt, bevor mit der Ausführung der vierten Bilderfassungsanweisungen und der vierten Bildanalyseanweisungen, die Video-Tool-Anweisungen des vierten Video-Tools umfassen, begonnen wird. Dann wird im Laufmodus das Nicht-Datenstrommodus-Segment auf Grund des Fehlens eines Datenstrommodus-Anweisungselements für das Nicht-Datenstrommodus-Segment im Nicht-Datenstrommodus ausgeführt. Während des Laufausführungsmodus des Nicht-Datenstrommodus-Segments werden die dritten und vierten Bilderfassungsanweisungen in einer sequenziellen Reihenfolge unabhängig von der Ausführung der entsprechenden dritten und vierten Bildanalysevorgänge, die Video-Tool-Anweisungen des dritten und vierten Video-Tools umfassen, ausgeführt.In some embodiments, the parts program further includes a non-stream mode segment, and in the learning mode, the non-stream mode segment is separated from the stream mode segment by the absence of a stream mode instruction element for the non-stream mode segment. In one embodiment, the non-data stream segment includes a third set of instructions and a fourth set of instructions. The third set of instructions includes third image capture instructions and third image analysis instructions that include video tool instructions of a third video tool, while the fourth set of instructions includes fourth image capture instructions and fourth image analysis instructions that include video tool instructions of a fourth video tool , In the editing execution mode, the third image capture instructions and the third image analysis instructions, which include video tool instructions of the third video tool, are executed before executing the fourth image capture instructions and the fourth image analysis instructions that include video tool instructions of the fourth video tool , is started. Then, in the run mode, the non-stream mode segment is executed due to the lack of a stream mode instruction element for the non-stream mode segment in the non-stream mode. During the run execution mode of the non-stream mode segment, the third and fourth image capturing instructions are executed in a sequential order regardless of the execution of the respective third and fourth image analysis operations including video tool instructions of the third and fourth video tools.

Bei einigen Ausführungsformen werden im Lernmodus die ersten und zweiten Sätze von Anweisungen in der ersten Reihenfolge ausgeführt, wobei mindestens einige der ersten und zweiten Bilderfassungsanweisungen mit Video-Tool-Anweisungen des ersten Video-Tools und des zweiten Video-Tools durchsetzt sind, wobei die Anweisungen an der Benutzerschnittstelle in der ersten Reihenfolge angezeigt werden. Im Laufmodus wird dann im Datenstrommodus die Teileprogrammanweisung, die dem Datenstrommodus-Segment entspricht, verarbeitet, um eine Bilderfassungsroutine zu bestimmen, welche die Bilderfassungsanweisungen der ersten und zweiten Sätze von Anweisungen, jedoch nicht die Video-Tool-Anweisungen umfasst, wird die Bilderfassungsroutine zum Erfassen der Bilder ausgeführt, und während die Bilderfassungsroutine ausgeführt wird, werden die Video-Tool-Anweisungen ausgeführt.In some embodiments, in the learn mode, the first and second sets of instructions are executed in the first order, wherein at least some of the first and second image capture instructions are interspersed with video tool instructions of the first video tool and the second video tool be displayed on the user interface in the first order. In run mode, then, in the data stream mode, the part program instruction corresponding to the data stream mode segment is processed to determine an image capture routine including the image capture instructions of the first and second sets of instructions but not the video tool instructions, the image capture routine is to capture the images are executed and the video tool instructions are executed while the image capture routine is running.

Bei einigen Ausführungsformen erfolgt während des Laufmodus im Datenstrommodus mindestens ein Teil der Ausführung der Video-Tool-Anweisungen während des zweiten Durchgangs durch das Datenstrommodus-Segment parallel zur Ausführung der Bilderfassungsroutine.In some embodiments, during run mode in the data stream mode, at least a portion of the execution of the video tool instructions during the second pass through the data stream mode segment occurs in parallel with the execution of the image capture routine.

Bei einigen Ausführungsformen wird im Laufmodus während der Ausführung der Bilderfassungsroutine eine Vielzahl der Bilderfassungsanweisungen in Reihe ausgeführt, wobei unterdessen beliebige Video-Tool-Anweisungen, die im Lernmodus durchsetzt waren, noch nicht ausgeführt werden, so dass die Anweisungen in der zweiten Reihenfolge ausgeführt werden, die anders als die erste Reihenfolge ist.In some embodiments, in run mode, during the execution of the image capture routine, a plurality of the image capture instructions are executed in series, meanwhile, any video tool instructions that were interspersed in the learn mode are not yet executed, so that the instructions are executed in the second order, which is different than the first order.

Bei einigen Ausführungsformen bewegen sich im Laufmodus, wenn die Bilderfassungsroutine ausgeführt wird, der Arbeitstisch und der Bildgebungsabschnitt durchgehend im Verhältnis zueinander, um die Bilder zu erfassen.In some embodiments, in the running mode, when the image acquisition routine is performed, the work table and the imaging section move continuously relative to each other to capture the images.

Bei einigen Ausführungsformen wird das Datenstrommodus-Segment des Teileprogramms durch vorgegebene Darstellungen von Datenstrommodus-Anweisungen am Anfang und am Ende des Datenstrommodus-Segments identifiziert.In some embodiments, the data stream mode segment of the part program is identified by predetermined representations of data stream mode instructions at the beginning and at the end of the data stream mode segment.

Bei einigen Ausführungsformen wird im Lernmodus bewirkt, dass die Teileprogrammanweisungen in dem Datenstrommodus-Segment, die in einer Teileprogrammdarstellung angezeigt werden, ein identisches Aussehen aufweisen wie ähnliche Teileprogrammanweisungen, die sich außerhalb des Datenstrommodus-Segments befinden, so dass ein Benutzer keine andere Programmierdarstellung oder Syntax verwenden muss, wenn er Vorgänge programmiert oder bearbeitet, die sich innerhalb des Datenstrommodus-Segments statt außerhalb des Datenstrommodus-Segments befinden.In some embodiments, in the learn mode, the part program instructions in the data stream mode segment displayed in a part program representation are made to look identical to similar part program instructions that are outside of the data stream mode segment so that a user has no other programming representation or syntax must be used when programming or editing operations that are within the data stream mode segment, rather than outside the data stream mode segment.

Obwohl die vorhergehende Kurzdarstellung Ausführungsformen betont hat, die eine ausdrückliche Markierung oder Angabe des Datenstrommodus-Segments umfassen, kann bzw. können die Markierung des Datenstrommodus-Segments und/oder die Erkennung eines getrennten Modus oder eines Datenstroms von Vorgängen für bestimmte Benutzer unverständlich oder belanglos sein. Beispielsweise kann die Datenstrommodus-Ausführung auf allen Maschinen im Besitz eines Benutzers verfügbar sein, und/oder kann der standardmäßige oder einzige Ausführungsmodus sein, der für den Laufausführungsmodus auf einer Maschine verwendet wird, so dass es eventuell nicht notwendig ist, Datenstrommodusvorgänge zur speziellen Erkennung oder Berücksichtigung zu unterscheiden. Bei einigen Ausführungsformen können einige oder alle mit dem Datenstrommodus kompatiblen Anweisungen und/oder Vorgänge automatisch im Datenstrommodus während des Laufmodus ausgeführt werden. Bei einigen Umsetzungen kann dies die standardmäßige oder einzige Einstellung für den Laufausführungsmodus sein. Bei anderen Umsetzungen kann der Benutzer entweder die Datenstrom- oder die Nicht-Datenstrommodus-Ausführung als globalen „automatischen” Ausführungsmodus im Laufmodus auswählen.Although the preceding summary has emphasized embodiments that include an explicit mark or indication of the data stream mode segment, marking of the data stream mode segment and / or detection of a separate mode or stream of operations may be incomprehensible or inconsequential to particular users , For example, the data stream mode execution may be available on all machines owned by a user, and / or may be the default or only execution mode used for the run execution mode on a machine, so that it may not be necessary to perform data stream mode operations for special recognition or Distinction to be distinguished. In some embodiments, some or all of the data stream mode compatible instructions and / or operations may be automatically performed in data stream mode during the run mode. For some implementations, this may be the default or only run-execution mode setting. In other implementations, the user may select either the data stream or non-data stream mode execution as the global "automatic" run mode execution mode.

Auf jeden Fall versteht es sich, dass unabhängig davon, ob die Datenstrommodus-Anweisungen in einer Benutzerschnittstelle ausdrücklich markiert sind oder in einem Teileprogramm definiert sind, um eine Datenstrommodus-Ausführung im Laufmodus anzugeben, viele oder alle der zuvor beschriebenen Merkmale und Vorzüge der Darstellung und Ausführung des Nicht-Datenstrom-Bearbeitungsmodus für die Benutzer im Lernmodus und/oder bei Bearbeitungsvorgängen wünschenswert bleiben, wie es nachstehend mit Bezug auf 6A, 6B und 7 ausführlicher beschrieben wird.In any event, it should be understood that whether or not the data stream mode instructions are explicitly tagged in a user interface or defined in a part program to indicate data stream mode execution in run mode, many or all of the features and benefits of the illustration and Execution of the non-data stream Edit mode for users in the learning mode and / or editing operations remain desirable, as described below with reference to 6A . 6B and 7 will be described in more detail.

BESCHREIBUNG DER ZEICHNUNGENDESCRIPTION OF THE DRAWINGS

Die vorstehenden Aspekte und viele der dazugehörigen Vorteile der vorliegenden Offenbarung werden in dem Maße besser anerkannt werden, wie sie mit Bezug auf die nachstehende ausführliche Beschreibung besser verständlich werden, wenn sie in Verbindung mit den beiliegenden Zeichnungen gesehen wird. Es zeigen:The foregoing aspects and many of the attendant advantages of the present disclosure will become more readily appreciated as the same becomes better understood by reference to the following detailed description when considered in conjunction with the accompanying drawings. Show it:

1 ein Diagramm, das diverse typische Komponenten eines universellen präzisen maschinellen Sichtinspektionssystems zeigt; 1 a diagram showing various typical components of a universal precision machine vision inspection system;

2 ein Blockdiagramm eines Steuersystemabschnitts und eines Sichtkomponentenabschnitts eines maschinellen Sichtinspektionssystems, ähnlich wie das aus 1, und das Merkmale gemäß der vorliegenden Offenbarung umfasst; 2 a block diagram of a control system section and a visual component section of a machine vision inspection system, similar to that 1 and comprising features according to the present disclosure;

3 ein Diagramm einer Bearbeitungsschnittstelle, die eine Darstellung eines Teileprogramms umfasst, das ein Datenstrommodus-Segment umfasst, für das ein durchgehender Datenstrom von Bilderfassungsvorgängen in einem Laufmodus ausgeführt wird; 3 a diagram of a processing interface comprising a representation of a part program comprising a data stream mode segment, for which a continuous stream of image acquisition operations in a run mode is executed;

4 ein Diagramm einer Benutzerschnittstelle, die einen Teil eines Werkstücks umfasst, an dem die Teileprogrammschritte aus 3 ausgeführt werden; 4 a diagram of a user interface, which includes a part of a workpiece on which the part program steps from 3 be executed;

5A und 5B Ablaufschemata einer Ausführungsform einer Routine zum Bereitstellen einer Bearbeitungsumgebung für ein Teileprogramm, das ein Datenstrommodus-Segment umfasst; 5A and 5B Flowcharts of an embodiment of a routine for providing a part program processing environment that includes a data stream mode segment;

6A und 6B Ablaufschemata einer Ausführungsform einer Routine zum Umsetzen einer Ausführungsform, wobei ein Teileprogramm unter Verwendung eines Datenstrommodus von Vorgängen im Laufmodus ausgeführt werden kann, wohingegen ein „Nicht-Datenstrom-”Bearbeitungsmodus zur Darstellung und Ausführung im Lernmodus verwendet werden kann; und 6A and 6B Flowcharts of one embodiment of a routine for implementing an embodiment, wherein a part program may be executed using a data stream mode of operations in the run mode, whereas a "non-data stream" edit mode may be used for display and execution in the learning mode; and

7 ein Zeitdiagramm 700, das einen Aspekt eines Nicht-Datenstrom- oder Bearbeitungsausführungsmodus im Vergleich mit einem Datenstrom-Ausführungsmodus kennzeichnet. 7 a time diagram 700 , which identifies one aspect of a non-data stream or edit execution mode as compared to a data stream execution mode.

AUSFÜHRLICHE BESCHREIBUNGDETAILED DESCRIPTION

1 ist ein Blockdiagramm eines beispielhaften maschinellen Sichtinspektionssystems 10, das gemäß den hier beschriebenen Verfahren verwendbar ist. Das maschinelle Sichtinspektionssystem 10 umfasst eine Sichtmessmaschine 12, die betriebsfähig angeschlossen ist, um Daten- und Steuersignale mit einem Steuercomputersystem 14 auszutauschen. Das Steuercomputersystem 14 ist ferner betriebsfähig angeschlossen, 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 Benutzerschnittstelle anzeigen, die geeignet ist, um die Vorgänge des maschinellen Sichtinspektionssystems 10 zu steuern und/oder zu programmieren. 1 FIG. 10 is a block diagram of an exemplary machine vision inspection system. FIG 10 which is useful according to the methods described herein. The machine vision inspection system 10 includes a vision measuring machine 12 Operationally connected to data and control signals with a control computer system 14 exchange. The control computer system 14 is also operably connected to provide data and control signals with a monitor or display 16 , a printer 18 a joystick 22 , a keyboard 24 and a mouse 26 exchange. The monitor or the display 16 may indicate a user interface suitable for the operations of the machine vision inspection system 10 to control and / or to program.

Die Sichtmessmaschine 12 umfasst einen bewegbaren Werkstückarbeitstisch 32 und ein optisches Bildgebungssystem 34, das eine Zoom-Linse oder austauschbare Linsen umfassen kann. Die Zoom-Linse oder die austauschbaren Linsen stellen im Allgemeinen diverse Vergrößerungen für die Bilder bereit, die von dem optischen Bildgebungssystem 34 bereitgestellt werden. Das maschinelle Sichtinspektionssystem 10 ist im Allgemeinen mit der zuvor besprochenen Reihe QUICK VISION® von Sichtsystemen und der Software QVPAK® und ähnlichen handelsüblichen präzisen maschinellen Sichtinspektionssystemen aus dem Stand der Technik vergleichbar. Das maschinelle Sichtinspektionssystem 10 wird auch in den gemeinsam übertragenen US-Patenten Nr. 7,454,053 , 7,324,682 , 8,111,938 und 8,111,905 beschrieben, die hiermit jeweils zur Bezugnahme vollständig übernommen werden.The sight measuring machine 12 includes a movable workpiece table 32 and an optical imaging system 34 which may include a zoom lens or interchangeable lenses. The zoom or replaceable lenses generally provide various magnifications for the images produced by the optical imaging system 34 to be provided. The machine vision inspection system 10 is generally comparable to the previously discussed series QUICK VISION ® vision systems and software QVPAK ® and similar commercially available precision machine vision inspection systems from the prior art. The machine vision inspection system 10 is also transferred to the jointly U.S. Pat. Nos. 7,454,053 . 7,324,682 . 8,111,938 and 8,111,905 which are hereby incorporated by reference in their entirety.

2 ist ein Blockdiagramm eines Steuersystemabschnitts 120 und eines Sichtkomponentenabschnitts 200 eines maschinellen Sichtinspektionssystems 100 ähnlich wie das maschinelle Sichtinspektionssystem aus 1 und umfasst Merkmale gemäß der vorliegenden Offenbarung. Wie es nachstehend ausführlicher beschrieben wird, wird der Steuersystemabschnitt 120 verwendet, um den Sichtkomponentenabschnitt 200 zu steuern. Der Sichtkomponentenabschnitt 200 umfasst einen optischen Baugruppenabschnitt 205, die Lichtquellen 220, 230 und 240 und ein einen Werkstückarbeitstisch 210, der einen mittleren durchsichtigen Abschnitt 212 aufweist. Der Werkstückarbeitstisch 210 ist steuerbar entlang den X- und Y-Achsen bewegbar, die in einer Ebene liegen, die im Allgemeinen zur Oberfläche des Arbeitstischs parallel ist, auf dem ein Werkstück 20 positioniert sein kann. Der optische Baugruppenabschnitt 205 umfasst ein Kamerasystem 260, eine austauschbare Objektivlinse 250 und kann eine Revolverlinsenbaugruppe 280 umfassen, welche die Linsen 286 und 288 aufweist. Alternativ zu der Revolverlinsenbaugruppe kann eine feststehende oder manuell austauschbare Vergrößerungsänderungslinse oder eine Zoom-Linsenkonfiguration oder dergleichen enthalten sein. Der optische Baugruppenabschnitt 205 ist entlang einer Z-Achse, die zu den X- und Y-Achsen orthogonal ist, unter Verwendung eines steuerbaren Motors 294 steuerbar bewegbar. 2 Fig. 10 is a block diagram of a control system section 120 and a visual component section 200 a machine vision inspection system 100 similar to the machine vision inspection system 1 and includes features according to the present disclosure. As will be described in more detail below, the control system section 120 used to view the visual component section 200 to control. The visual component section 200 includes an optical assembly section 205 , the light sources 220 . 230 and 240 and a work piece table 210 , the middle transparent section 212 having. The workpiece work table 210 is controllably movable along the X and Y axes which lie in a plane which is generally parallel to the surface of the work table on which a workpiece 20 can be positioned. The optical assembly section 205 includes a camera system 260 , a replaceable objective lens 250 and can be a turret lens assembly 280 include the lenses 286 and 288 having. As an alternative to the turret lens assembly, a fixed or manually replaceable magnification change lens or a zoom lens configuration or the like may be included. The optical assembly portion 205 is along a Z-axis, which is orthogonal to the X and Y axes, using a controllable motor 294 controllably movable.

Ein Werkstück 20 oder eine Ablage oder ein Befestigungselement, das eine Vielzahl von Werkstücken 20 festhält, die unter Verwendung des maschinellen Sichtinspektionssystems 100 abzubilden sind, wird auf den Werkstückarbeitstisch 210 gelegt. Der Werkstückarbeitstisch 210 kann gesteuert werden, um sich im Verhältnis zu dem optischen Baugruppenabschnitt 205 derart zu bewegen, dass sich die austauschbare Objektivlinse 250 zwischen Stellen an einem Werkstück 20 und/oder zwischen einer Vielzahl von Werkstücken 20 bewegt. Eine oder mehrere von einer Arbeitstischleuchte 220, einer Koaxialleuchte 230 und einer Oberflächenleuchte 240 emittiert bzw. emittieren jeweils Ausgangslicht 222, 232 oder 242, um das oder die Werkstücke 20 zu beleuchten. Das Ausgangslicht wird als Werkstücklicht 255, das durch die austauschbare Objektivlinse 250 und die Revolverlinsenbaugruppe 280 geht, reflektiert oder durchgelassen und wird von dem Kamerasystem 260 gesammelt. Das Bild von dem oder den Werkstücken 20, das von dem Kamerasystem 260 aufgenommen wird, wird auf einer Signalleitung 262 an den Steuersystemabschnitt 120 ausgegeben. Die Lichtquellen 220, 230 und 240 können jeweils über Signalleitungen oder Busse 221, 231 und 241 an den Steuersystemabschnitt 120 angeschlossen sein. Um die Bildvergrößerung zu ändern, kann der Steuersystemabschnitt 120 die Revolverlinsenbaugruppe 280 entlang der Achse 284 drehen, um über eine Signalleitung oder einen Bus 281 die Revolverlinse auszuwählen.A workpiece 20 or a tray or fastener that holds a variety of workpieces 20 using the machine vision inspection system 100 are to be imaged, is on the workpiece work table 210 placed. The workpiece work table 210 can be controlled to be relative to the optical package section 205 to move so that the interchangeable objective lens 250 between points on a workpiece 20 and / or between a plurality of workpieces 20 emotional. One or more of a work table lamp 220 , a coaxial light 230 and a surface light 240 each emit or emit output light 222 . 232 or 242, around the work piece (s) 20 to illuminate. The output light is called workpiece light 255 through the interchangeable objective lens 250 and the revolver lens assembly 280 goes, reflects or passes through and is picked up by the camera system 260 collected. The picture of the workpiece (s) 20 that from the camera system 260 is recorded on a signal line 262 to the control system section 120 output. The light sources 220 . 230 and 240 can each have signal lines or buses 221 . 231 and 241 to the control system section 120 be connected. To change the image magnification, the control system section may 120 the turret lens assembly 280 along the axis 284 turn over to a signal line or a bus 281 to select the revolver lens.

Bei diversen Ausführungsbeispielen ist der optische Baugruppenabschnitt 205 in Richtung der senkrechten Z-Achse im Verhältnis zum Werkstückarbeitstisch 210 unter Verwendung eines steuerbaren Motors 294, der ein Stellglied ansteuert, eines Verbindungskabels oder dergleichen bewegbar, um den optischen Baugruppenabschnitt 205 entlang der Z-Achse zu bewegen, um den Brennpunkt des Bildes, das von dem Kamerasystem 260 aufgenommen wird, zu ändern. Die Begriff Z-Achse, wie er hier verwendet wird, bezieht sich auf die Achse, die dazu gedacht ist, zum Fokussieren des Bildes verwendet zu werden, das von dem optischen Baugruppenabschnitt 205 erzielt wird. Soweit er verwendet wird, ist der steuerbare Motor 294 über eine Signalleitung 296 an eine Ein-/Ausgangsschnittstelle 130 angeschlossen.In various embodiments, the optical assembly section 205 in the direction of the vertical Z-axis in relation to the workpiece table 210 using a controllable motor 294 which drives an actuator, a connection cable or the like movable to the optical assembly section 205 move along the z-axis to the focal point of the image taken by the camera system 260 is added to change. As used herein, the term Z-axis refers to the axis that is intended to be used to focus the image that is from the optical assembly section 205 is achieved. As far as it is used is the controllable engine 294 via a signal line 296 to an input / output interface 130 connected.

Wie in 2 gezeigt, umfasst der Steuersystemabschnitt 120 bei diversen Ausführungsbeispielen einen Controller 125, die Ein-/Ausgabe-Schnittstelle 130, einen Speicher 140, eine Vorrichtung zum Generieren und Ausführen von Werkstückprogrammen 170 und einen Energieversorgungsabschnitt 190. Jede dieser Komponenten, sowie die nachstehend beschriebenen zusätzlichen Komponenten, kann durch einen oder mehrere Daten-/Steuerbusse und/oder Anwendungsprogrammierschnittstellen oder durch direkte Verbindungen zwischen den diversen Elementen zusammengeschaltet werden.As in 2 The control system section includes 120 in various embodiments, a controller 125 , the input / output interface 130 , a store 140 , a device for generating and executing workpiece programs 170 and a power supply section 190 , Each of these components, as well as the additional components described below, may be interconnected by one or more data / control buses and / or application programming interfaces, or by direct connections between the various elements.

Bei diversen Ausführungsformen gemäß der vorliegenden Offenbarung umfasst die Vorrichtung zum Generieren und Ausführen von Werkstückprogrammen 170 einen Bearbeitungsabschnitt 172, der diverse Vorgänge und Benutzerschnittstellenmerkmale bezüglich der Bearbeitung eines Teileprogramms bereitstellt oder aktiviert, wie es nachstehend ausführlicher beschrieben wird. Es versteht sich, dass die Begriffe „Werkstückprogramm” und „Teileprogramm” hier austauschbar verwendet werden können. Im Allgemeinen umfasst der Bearbeitungsabschnitt 172 einen Bearbeitungsvorgangs-Controller 174, der die Vorgänge für die Bearbeitungsfunktionen steuert, und eine Bearbeitungsschnittstelle 176, welche die Benutzerschnittstellenmerkmale für die Bearbeitungsfunktionen bereitstellt. Die Vorrichtung zum Generieren und Ausführen von Werkstückprogrammen 170 umfasst auch einen Datenstrommodus-Abschnitt 178, der diverse Merkmale bereitstellt, die mit der vorliegenden Offenbarung verknüpft sind, wie es nachstehend ausführlicher beschrieben wird.In various embodiments according to the present disclosure, the apparatus includes generating and executing workpiece programs 170 a processing section 172 which provides or activates various operations and user interface features relating to the processing of a part program, as described in more detail below. It is understood that the terms "workpiece program" and "part program" can be used interchangeably here. In general, the processing section includes 172 a machining operation controller 174 , which controls the operations for the editing functions, and a machining interface 176 which provides the user interface features for the editing functions. The device for generating and executing workpiece programs 170 also includes a data stream mode section 178 , which provides various features associated with the present disclosure, as described in more detail below.

Wie in 2 gezeigt, umfasst die Ein-/Ausgabe-Schnittstelle 130 eine Bildgebungs-Steuerschnittstelle 131, eine Bewegungs-Steuerschnittstelle 132, eine Beleuchtungs-Steuerschnittstelle 133 und eine Linsen-Steuerschnittstelle 134. Die Bewegungs-Steuerschnittstelle 132 kann ein Positionssteuerelement 132a und ein Geschwindigkeits-/Beschleunigungssteuerelement 132b umfassen, obwohl derartige Elemente zusammengelegt werden können und/oder nicht zu unterscheiden sind. Die Beleuchtungs-Steuerschnittstelle 133 umfasst Beleuchtungssteuerelemente 133a bis 133n, die beispielsweise die Auswahl, die Energie, den Ein-/Aus-Schalter und gegebenenfalls die Stroboskopimpuls-Zeiteinstellung für die diversen entsprechenden Lichtquellen des maschinellen Sichtinspektionssystems 100 steuern.As in 2 shown includes the input / output interface 130 an imaging control interface 131 , a motion control interface 132 , a lighting control interface 133 and a lens control interface 134 , The motion control interface 132 can be a position control 132a and a speed / acceleration control element 132b Although such elements may be merged and / or indistinguishable. The lighting control interface 133 includes lighting controls 133a to 133n for example, the selection, the power, the on / off switch and optionally the strobe pulse timing for the various corresponding light sources of the machine vision inspection system 100 Taxes.

Der Speicher 140 umfasst einen Bilddatei-Speicherabschnitt 141, einen Werkstückprogramm-Speicherabschnitt 142, der ein oder mehrere Teileprogramme oder dergleichen umfassen kann, und einen Video-Tool-Abschnitt 143. Der Video-Tool-Abschnitt 143 umfasst den Video-Tool-Abschnitt 143a und andere Video-Tool-Abschnitte (z. B. 143 m), welche die GUI, den Bildverarbeitungsvorgang usw. für jedes der entsprechenden Video-Tools bestimmen. Viele bekannte Video-Tools sind in handelsüblichen maschinellen Sichtinspektionssystemen enthalten, wie etwa in der zuvor angesprochenen Reihe QUICK VISION® von Sichtsystemen und der dazugehörigen Software QVPAK®. Der Video-Tool-Abschnitt 143 umfasst auch eine Vorrichtung zum Generieren von Interessenbereichen (ROI) 143x, die automatische, halbautomatische und/oder manuelle Vorgänge unterstützt, die diverse ROIs definieren, die in diversen Video-Tools betriebsfähig sind, die in dem Video-Tool-Abschnitt 143 enthalten sind.The memory 140 includes an image file storage section 141 , a part program storage section 142 which may include one or more part programs or the like, and a video tool section 143 , The video tool section 143 includes the video tool section 143a and other video tool sections (e.g., 143 m) that determine the GUI, the image processing operation, etc. for each of the corresponding video tools. Many known video tools are in commercially available machine vision inspection systems included, such as in the aforementioned series QUICK VISION ® vision systems and related software QVPAK ®. The video tool section 143 also includes a device for generating interest areas (ROI) 143x , which supports automatic, semi-automatic, and / or manual operations that define various ROIs that are operational in various video tools included in the Video Tools section 143 are included.

Im Allgemeinen speichert der Speicherabschnitt 140 Daten, die verwendbar sind, um den Sichtsystem-Komponentenabschnitt 200 zu bedienen, um ein Bild des Werkstücks 20 aufzunehmen oder zu erfassen, so dass das erfasste Bild des Werkstücks 20 gewünschte Bildkennzeichen aufweist. Der Speicherabschnitt 140 kann auch Inspektionsergebnisdaten speichern, kann ferner Daten speichern, die verwendbar sind, um das maschinelle Sichtinspektionssystem 100 zu bedienen, um diverse Inspektions- und Messvorgänge an den erfassten Bildern (z. B. teilweise als Video-Tools umgesetzt), entweder manuell oder automatisch auszuführen, und um die Ergebnisse über die Ein-/Ausgabe-Schnittstelle 130 auszugeben. Der Speicherabschnitt 140 kann auch Daten enthalten, die eine Benutzerschnittstelle definieren, die über die Ein-/Ausgabe-Schnittstelle 130 betriebsfähig ist.In general, the memory section stores 140 Data that is usable to the vision system component section 200 to use to take a picture of the workpiece 20 absorb or capture, so that the captured image of the workpiece 20 has desired image characteristics. The storage section 140 may also store inspection result data, may also store data usable to the machine vision inspection system 100 to operate various inspection and measurement operations on the captured images (eg, partially implemented as video tools), either manually or automatically, and the results via the I / O interface 130 issue. The storage section 140 can also contain data that defines a user interface through the I / O interface 130 is operational.

Die Signalleitungen oder Busse 221, 231 und 241 jeweils der Arbeitstischleuchte 220, der Koaxialleuchte 230 und der Oberflächenleuchte 240 sind alle an die Ein-/Ausgabe-Schnittstelle 130 angeschlossen. Die Signalleitung 262 von dem Kamerasystem 260 und die Signalleitung 296 von dem steuerbaren Motor 294 sind an die Ein-/Ausgabe-Schnittstelle 130 angeschlossen. Zusätzlich zum Führen von Bilddaten kann die Signalleitung 262 ein Signal von dem Controller 125 führen, das die Bilderfassung einleitet.The signal lines or buses 221 . 231 and 241 each of the work table lamp 220 , the coaxial light 230 and the surface light 240 are all connected to the I / O interface 130 connected. The signal line 262 from the camera system 260 and the signal line 296 from the controllable engine 294 are to the I / O interface 130 connected. In addition to carrying image data, the signal line can 262 a signal from the controller 125 lead, which initiates the image capture.

Eine oder mehrere Anzeigevorrichtungen 136 (z. B. die Anzeige 16 aus 1) und eine oder mehrere Eingabevorrichtungen 138 (z. B. der Joystick 22, die Tastatur 24 und die Maus 26 aus 1) können ebenfalls an die Ein-/Ausgabe-Schnittstelle 130 angeschlossen sein. Die Anzeigevorrichtungen 136 und die Eingabevorrichtungen 138 können verwendet werden, um eine Benutzerschnittstelle zu verwenden, die diverse Benutzerschnittstellenmerkmale umfassen kann, um Inspektionsvorgänge auszuführen und/oder um Teileprogramme zu erstellen und/oder zu ändern, um die Bilder zu betrachten, die von dem Kamerasystem 260 aufgenommen werden, und/oder um den Sichtsystem-Komponentenabschnitt 200 direkt zu steuern.One or more display devices 136 (eg the ad 16 out 1 ) and one or more input devices 138 (eg the joystick 22 , the keyboard 24 and the mouse 26 out 1 ) can also be sent to the I / O interface 130 be connected. The display devices 136 and the input devices 138 may be used to use a user interface that may include various user interface features to perform inspection operations and / or to create and / or modify part programs to view the images produced by the camera system 260 and / or around the vision system component section 200 directly to control.

Wenn ein Benutzer bei diversen Ausführungsbeispielen das maschinelle Sichtinspektionssystem 100 verwendet, um ein Teileprogramm für das Werkstück 20 zu erstellen, generiert der Benutzer Teileprogrammanweisungen entweder durch ausdrückliches Codieren der Anweisungen automatisch, halbautomatisch oder manuell, unter Verwendung einer Werkstück-Programmiersprache und/oder durch Generieren der Anweisungen durch Bedienen des maschinellen Sichtinspektionssystems 100 in einem Lernmodus, um eine gewünschte Bilderfassungs-Trainingssequenz bereitzustellen. Beispielsweise kann eine Trainingssequenz das Positionieren eines Werkstückmerkmals im Blickfeld (FOV), das Einstellen von Lichtpegeln, das Fokussieren oder Autofokussieren, das Erfassen eines Bildes und das Bereitstellen einer Analysetrainingssequenz, die auf das Bild (z. B. unter Verwendung von Video-Tools) angewendet wird, umfassen. Der Lernmodus funktioniert derart, dass die Sequenz(en) aufgenommen oder aufgezeichnet und in entsprechende Teileprogrammschritte (d. h. Anweisungen) umgewandelt wird bzw. werden. Wenn das Teileprogramm ausgeführt wird, bewirken diese Teileprogrammschritte, dass das maschinelle Sichtinspektionssystem die antrainierten Bilderfassungs- und Analysevorgänge wiedergibt, um ein oder mehrere Werkstücke 20, die dem Werkstück entsprechen, das verwendet wurde, als das Teileprogramm erstellt wurde, automatisch zu inspizieren.When a user in various embodiments, the machine vision inspection system 100 used to create a part program for the workpiece 20 The user generates part program instructions either by explicitly coding the instructions automatically, semi-automatically or manually, using a workpiece programming language and / or by generating the instructions by operating the machine vision inspection system 100 in a learning mode to provide a desired image capture training sequence. For example, a training sequence may include positioning a workpiece feature in the field of view (FOV), adjusting light levels, focusing or autofocusing, capturing an image, and providing an analysis training sequence that is applied to the image (eg, using video tools). is applied. The learn mode functions to capture or record the sequence (s) and translate them into corresponding part program steps (ie instructions). When the parts program is executed, these part program steps cause the machine vision inspection system to render the trained image acquisition and analysis operations around one or more workpieces 20 to automatically inspect the workpiece that was used when the part program was created.

Diesbezügliche Bearbeitungsmerkmale und Funktionen werden auch in den Patentanmeldungen mit dem Titel „Machine Vision System Program Editing Environment Including Real Time Context Generation Features” (vorläufige US-Veröffentlichung Nr. 2013/0123945 ); „Machine Vision System Program Editing Environment Including Synchronized User Interface Features” (vorläufige US-Veröffentlichung Nr. 2013/0125044 ); „System und Method Utilizing An Editing Initialization Block In A Part Program Editing Environment In A Machine Vision System” (vorläufige US-Veröffentlichung Nr. 2013/0120567 ) beschrieben, die jeweils gleichzeitig hierzu eingereicht werden und hiermit zur Bezugnahme übernommen werden.Related processing features and functions are also described in the patent applications entitled "Machine Vision System Program Editing Environment Including Real Time Context Generation Features." US Publication No. 2013/0123945 ); "Machine Vision System Program Editing Environment Including Synchronized User Interface Features" (preliminary US Publication No. 2013/0125044 ); "System and Method Utilizing An Editing Initialization Block In A Part Program Environment A Machine Vision System" (preliminary US Publication No. 2013/0120567 ), each filed concurrently herewith and hereby incorporated by reference.

3 ist ein Diagramm einer Bearbeitungsschnittstelle 300, die diverse Mess- und/oder Vorgangsauswahlleisten umfasst, wie etwa die Auswahlleiste 310, und eine bearbeitbare Darstellung eines Teileprogramms 320, das diversen Teileprogrammanweisungen entspricht und eine Darstellung eines Nicht-Datenstrommodus-Segments 330 und eine Darstellung eines Datenstrommodus-Segments 340 umfasst. Die Darstellung des Nicht-Datenstrommodus-Segments 330 umfasst einen Satz von Anweisungsdarstellungen des Teileprogramms 331 und 332, und die Darstellung des Datenstrommodus-Segments 340 umfasst einen Satz von Anweisungsdarstellungen des Teileprogramms 341 bis 349. Das Datenstrommodus-Segment 340 ist ein Segment des Teileprogramms 320, das für die Datenstrommodus-Ausführung bezeichnet ist, wie es nachstehend ausführlicher beschrieben wird. Der Funktionsweise der spezifischen Teileprogrammanweisungen 331 bis 349 wird nachstehend mit Bezug auf 4 ausführlicher beschrieben. 3 is a diagram of a processing interface 300 , which includes various measurement and / or process selection bars, such as the selection bar 310 , and an editable representation of a part program 320 which corresponds to various part program instructions and an illustration of a non-data stream segment 330 and an illustration of a data stream mode segment 340 includes. The representation of the non-stream mode segment 330 comprises a set of instruction representations of the part program 331 and 332 , and the representation of the data stream mode segment 340 comprises a set of instruction representations of the part program 341 to 349 , The data stream mode segment 340 is a segment of the parts program 320 , which is designated for data stream mode execution, as described in more detail below. The operation of the specific part program instructions 331 to 349 will be described below with reference to 4 described in more detail.

4 ist ein Diagramm, das eine Benutzerschnittstelle 400 umfasst, die ein Blickfeldfenster 410 mit einem Abschnitt eines Werkstücks 415 abbildet. Die Benutzerschnittstelle 400 umfasst auch diverse Mess- und/oder Vorgangsauswahlleisten, wie etwa die Auswahlleisten 420 und 440, ein Echtzeit-XYZ-(Positions-)Koordinatenfenster 430, ein Lichtsteuerfenster 450 und ein Video-Tool-Parameterfeld 460. Wie es nachstehend ausführlicher beschrieben wird, werden diverse Merkmale an dem Werkstück 415 gemäß den diesbezüglichen Teileprogrammanweisungen aus 3 bestimmt. 4 is a diagram that has a user interface 400 includes a field of view window 410 with a section of a workpiece 415 maps. The user interface 400 also includes various measurement and / or process selection bars, such as the selection bars 420 and 440 , a real-time XYZ (position) coordinate window 430 , a light control window 450 and a video tool parameter box 460 , As will be described in more detail below, various features will be attached to the workpiece 415 according to the related part program instructions 3 certainly.

Die folgende Beschreibung erfolgt mit Bezug sowohl auf die Anweisungsdarstellungen des Teileprogramms 321 bis 350 aus 3 als auch auf die entsprechenden Aktionen bezüglich des Werkstücks 415 aus 4. Wie in 3 gezeigt, beginnt das Teileprogramm 320 mit den Anweisungsdarstellungen 321, 331 und 332, die den Prologknoten angeben, an dem jeweils die Leuchten eingestellt werden und der Arbeitstisch an die gewünschte Stelle bewegt wird. Mit Bezug auf 4 wäre die Einstellung der Leuchten im Hinblick auf die Beleuchtung in dem Blickfeldfenster 410 sichtbar, und die Bewegung des Arbeitstisches wäre in dem Blickfeldfenster 410 sichtbar und würde in dem Echtzeit-XYZ-(Positions-)Koordinatenfenster 430 angegeben. Wie es nachstehend ausführlicher beschrieben wird, sind die Anweisungsdarstellungen 331 und 332 Teil der Darstellung des Nicht-Datenstrommodus-Segments 330, auf die in der Abbildung aus 3 die Darstellung des Datenstrommodus-Segments 340 folgt. Es versteht sich, dass obwohl zum Zweck der Abbildung die Darstellung des Nicht-Datenstrommodus-Segments 330 derart ausgebildet wurde, dass sie nur zwei Anweisungsdarstellungen umfasst, in einer ausführlicheren Ausführungsform mehrere Anweisungsdarstellungen enthalten sein können, wie etwa Darstellungen von Video-Tool-Anweisungen usw., wie es nachstehend ausführlicher beschrieben wird.The following description will be made with reference to both the instruction representations of the part program 321 to 350 out 3 as well as the corresponding actions regarding the workpiece 415 out 4 , As in 3 shown, the part program starts 320 with the instruction presentations 321 . 331 and 332 indicating the prolog node where the lights are set and the worktable is moved to the desired location. Regarding 4 would be the setting of the lights with respect to the illumination in the field of view window 410 visible, and the movement of the work table would be in the field of view window 410 visible and would be in the real-time XYZ (position) coordinate window 430 specified. As will be described in more detail below, the instruction representations 331 and 332 Part of the representation of the non-data stream segment 330 to look at in the picture 3 the representation of the data stream mode segment 340 follows. It should be understood that although for purposes of illustration, the illustration of the non-data stream segment 330 has been designed to include only two instruction representations, in a more detailed embodiment may include a plurality of instruction representations, such as representations of video tool instructions, etc., as described in more detail below.

Die Anweisungsdarstellung 341 ist ein Datenstrommodus-Anweisungselement, das den Anfang des Datenstrommodus-Segments 340 bezeichnet. Die Anweisungsdarstellung 341 kann beispielsweise durch Aktivieren des Datenstrommodus-Abschnitts 178 über eine Menüauswahl in einem Programmmenü 360 eingefügt werden. Die Anweisungsdarstellungen 342, 343, 344 und 345 geben dann jeweils an, dass die Vergrößerung eingestellt ist, die Bahnglättung abgeschaltet ist, die zulässige Bewegung eingestellt ist und die Leuchten eingestellt sind.The statement representation 341 is a data stream mode instruction element that is the beginning of the data stream mode segment 340 designated. The statement representation 341 for example, by enabling the data stream mode section 178 via a menu selection in a program menu 360 be inserted. The statement representations 342 . 343 . 344 and 345 then indicate that the magnification is set, the track smoothing is switched off, the permissible movement is set and the lights are set.

Die Anweisungsdarstellung 346 gibt dann an, dass ein Kreis-Tool zum Messen eines Kreises C1 geöffnet wird, wie durch die entsprechenden Anweisungsdarstellungen 346A bis 346C angegeben. Genauer gesagt gibt die Anweisungsdarstellung 346A eine Einrichtung zum Messen (z. B. einschließlich der Bewegung des Arbeitstisches an eine bestimmte Stelle und eine Erfassung eines entsprechenden Bildes) an, während die Anweisungsdarstellung 346B die Verwendung eines Kreis-Tools angibt, um Randpunkte des Kreises C1 zu bestimmen, der sich in dem erfassten Bild befindet. Die Funktionen und Vorgänge der Kreis-Tools und anderer Kantenerkennungs-Video-Tools sind in der Technik bekannt und werden in den zuvor übernommenen Referenzen ausführlicher beschrieben. Wie in 4 gezeigt, wird ein Kreis-Tool im Blickfeldfenster 410 als ein Kreismerkmal (wie beispielsweise den Kreis C1) auf dem Werkstück 415 überlagernd abgebildet. Die Randpunkte, die von dem Kreis-Tool bestimmt werden, werden dann von der Anweisungsdarstellung 346C verwendet, um den Kreis C1 zu definieren.The statement representation 346 then indicates that a circle tool is opened to measure a circle C1 as indicated by the corresponding instruction representations 346A to 346C specified. More specifically, the instruction representation 346A means for measuring (e.g., including movement of the work table to a particular location and acquisition of a corresponding image) while the instruction representation 346B indicates the use of a circle tool to determine edge points of the circle C1 that is in the captured image. The functions and operations of the circle tools and other edge detection video tools are well known in the art and are described in more detail in the previously incorporated references. As in 4 shown is a circle tool in the field of view 410 as a circular feature (such as circle C1) on the workpiece 415 superimposed. The border points that are determined by the circle tool are then taken from the statement representation 346C used to define circle C1.

Ähnlich geben die Anweisungsdarstellungen 347 und 348 an, dass die Kreis-Tools zum Messen jeweils der Kreise C2 und C3 geöffnet werden, wie durch die entsprechenden Anweisungsdarstellungen 347A bis 347C und 348A bis 348C angegeben. Genauer gesagt geben die Anweisungsdarstellungen 347A und 348A eine Einrichtung zur Messung an (z. B. einschließlich der Bewegung des Arbeitstisches an bestimmte Stellen und der Erfassung entsprechender Bilder), wohingegen die Anweisungsdarstellungen 347B und 348B die Verwendung eines Kreis-Tools angeben, um die Randpunkte der Kreise C2 und C3 anzugeben, die sich in den erfassten Bildern befinden. Mit Bezug auf 4 gibt dies an, dass der Arbeitstisch derart bewegt würde, dass das Blickfeldfenster 415 die Bewegung von dem Kreismerkmal C1 bis jeweils zu den Kreismerkmalen C2 und C3 für die Erfassung der entsprechenden Bilder zeigen würde. Die Randpunkte, die durch die Kreis-Tools bestimmt werden, werden dann von den Anweisungsdarstellungen 347C und 348C verwendet, um die Kreise C2 und C3 zu definieren. Die Anweisungsdarstellung 349 ist ein Datenstrommodus-Anweisungselement, welches das Ende des Datenstrommodus-Segments 340 bezeichnet. Die Anweisungsdarstellung 350 gibt das Ende des Teileprogramms an.The instructions are similar 347 and 348 that the circle tools are opened to measure each of the circles C2 and C3 as indicated by the corresponding instruction representations 347A to 347C and 348A to 348C specified. More precisely, the statement statements give 347A and 348A means for measuring (e.g., including moving the work table to certain locations and acquiring corresponding images), whereas the instruction representations 347B and 348B specify the use of a circle tool to specify the edge points of circles C2 and C3 that are in the captured images. Regarding 4 indicates that the worktable would be moved such that the field of view window 415 would show the movement from the circular feature C1 to each of the circular features C2 and C3 for the acquisition of the corresponding images. The edge points that are determined by the circle tools are then taken from the statement representations 347C and 348C used to define circles C2 and C3. The statement representation 349 is a data stream mode instruction element which is the end of the data stream mode segment 340 designated. The statement representation 350 indicates the end of the part program.

Mit Bezug auf die ursprüngliche Erstellung des Teileprogramms 320 werden Teileprogrammanweisungen im Lernmodus gemäß der Benutzereingabe aufgezeichnet (z. B. wie über die Benutzerschnittstelle bereitgestellt, um die Vorgänge des maschinellen Sichtinspektionssystems zu steuern). Anschließend werden in einem Bearbeitungsmodus die zuvor beschriebenen Anweisungsdarstellungen des Teileprogramms 321 bis 350 in einer Bearbeitungsschnittstelle, wie etwa der Bearbeitungsschnittstelle 300 aus 3, bereitgestellt, um die entsprechenden Teileprogrammanweisungen (z. B. wie in einer Programmiersprache verfasst) in einer vereinfachten Form aus praktischen Gründen und zur einfachen Verwendung darzustellen. Wie es nachstehend ausführlicher beschrieben wird, obwohl die Sequenz der Anweisungsdarstellungen des Teileprogramms 341 bis 349 in dem Datenstrommodus-Segment 340 im Bearbeitungsmodus in einer ersten Reihenfolge (d. h. in der Reihenfolge, die in 3 abgebildet ist) dargestellt sind, können in einem Laufmodus gemäß der vorliegenden Offenbarung die entsprechenden Teileprogrammanweisungen gemäß einer zweiten Reihenfolge ausgeführt werden.With reference to the original creation of the parts program 320 part program instructions are recorded in the learning mode according to the user input (eg as provided via the user interface to control the operations of the machine vision inspection system). Subsequently, in a processing mode, the previously described instruction representations of the part program 321 to 350 in a processing interface, such as the editing interface 300 out 3 , provided to facilitate the corresponding part program instructions (eg, as written in a programming language) in a simplified manner Form for practical reasons and for ease of use. As will be described in more detail below, although the sequence of instruction representations of the part program 341 to 349 in the data stream mode segment 340 in edit mode in a first order (ie in the order in 3 1), in a run mode according to the present disclosure, the corresponding part program instructions may be executed in a second order.

Genauer gesagt umfasst bei einer Ausführungsform der Laufmodus einen Datenstrom-Ausführungsmodus, der auf identifizierte Datenstrom-Segmente anwendbar ist, und der Datenstrommodus ist derart konfiguriert, dass die Teileprogrammanweisungen, die der Darstellung des Datenstrommodus-Segments 340 entsprechen, verarbeitet werden, um die Bilderfassungsvorgänge zu identifizieren, die in dem Datenstrom-Segment enthalten sind (z. B. eine Vielzahl von Bilderfassungsvorgängen). Der Bilderfassungsprozess für die Vielzahl von Bildern kann beginnen, sobald es diese Verarbeitung erlaubt. Ferner werden die Teileprogrammanweisungen, die der Darstellung des Datenstrommodus-Segments 340 entsprechen, verarbeitet, um die Bildanalysevorgänge zu identifizieren, die den erfassten Bildern entsprechen, und die identifizierten Bildanalyseanweisungen (z. B. Video-Tool-Vorgänge) können beginnen, sobald ihre entsprechenden Bilder erfasst werden, vorausgesetzt, dass dies nicht die Sequenz von Bilderfassungsvorgängen unterbricht (z. B. kann ein Dauerbetrieb, der verwendet wird, um die Bilder zu erfassen, unabhängig von den Bildanalysevorgängen fortfahren).More specifically, in one embodiment, the run mode includes a data stream execution mode applicable to identified data stream segments, and the data stream mode is configured such that the part program instructions corresponding to the representation of the data stream mode segment 340 are processed to identify the image capture operations contained in the data stream segment (e.g., a plurality of image capture operations). The image capture process for the plurality of images may begin as soon as this processing allows. Further, the part program instructions that are the representation of the data stream mode segment 340 are processed to identify the image analysis operations corresponding to the captured images, and the identified image analysis instructions (e.g., video tooling operations) can begin as soon as their corresponding images are captured, provided that this is not the sequence of image acquisition operations interrupts (for example, a continuous operation used to capture the images may continue regardless of the image analysis operations).

Als spezifisches Beispiel wird die Reihenfolge von Vorgängen des Teileprogramms 320 wie folgt ausgeführt. Die Anweisungsdarstellung 321 für den Prologknoten, sowie die Anweisungsdarstellungen 331 und 332 für die Einstellung der Leuchten und die Bewegung des Arbeitstisches (die Teil der Darstellung des Nicht-Datenstrommodus-Segments 330 sind), werden in der gezeigten Reihenfolge ausgeführt. Wie zuvor beschrieben, sobald die Anweisungsdarstellung 341 erreicht ist, gibt dies den Beginn der Darstellung des Datenstrommodus-Segments 340 an, welche die Datenstrommodusverarbeitung beginnt. Im Datenstrommodus erfolgt ein erster Durchgang durch das Datenstrommodus-Segment 340, um eine Liste von Bilderfassungsvorgängen zu bestimmen, die dann ausgeführt werden, und dann ein zweiter Durchgang, um die Ausführung von Bildanalysevorgängen (z. B. Video-Tool-Vorgängen) zu beginnen.As a specific example, the order of operations of the part program 320 as follows. The statement representation 321 for the prolog node, as well as the instruction representations 331 and 332 for the adjustment of the luminaires and the movement of the worktable (which is part of the representation of the non-data-stream segment 330 are) are executed in the order shown. As previously described, once the statement representation 341 is reached, this gives the beginning of the presentation of the data stream mode segment 340 which data stream mode processing begins. In data stream mode, a first pass through the data stream mode segment occurs 340 to determine a list of image capture operations that will then be performed, and then a second pass to begin performing image analysis operations (e.g., video tooling operations).

Genauer gesagt werden bei dem ersten Durchgang durch das Datenstrommodus-Segment 340 bei einer Ausführungsform alle Vorgänge, die benötigt werden, um Bilder zu erfassen, zu der Liste für eine Bilderfassungsroutine hinzugefügt, wohingegen alle Vorgänge, die für Bilderfassungsvorgänge nicht benötigt werden, ignoriert werden. Bei einem spezifischen Ausführungsbeispiel werden die Anweisungsdarstellungen 342 bis 345, die alle Teil der Einrichtung des maschinellen Sichtinspektionssystems zum Erfassen der Bilder sind, somit zur Liste der Vorgänge hinzugefügt, die Teil der Bilderfassungsroutine sind. Im Gegensatz dazu wird die Anweisungsdarstellung des Teileprogramms 346, die angibt, dass ein Kreismess-Tool geöffnet werden muss, nicht zu der Liste für die Bilderfassungsroutine hinzugefügt, weil sie nicht notwendig ist, um das entsprechende Bild zu erfassen. Die Anweisungsdarstellung 346A, die eine Einrichtung zur Messung angibt, wozu das Gehen zu einer Position und das Erheben eines Bildes gehören, wird jedoch zu der Liste für die Bilderfassungsroutine hinzugefügt. Die Anweisungsdarstellungen 346B und 346C, die das Ausführen des Kreis-Tools und das Definieren des Kreises betreffen, sind für die Bilderfassung nicht notwendig und werden somit ignoriert statt zu der Liste hinzugefügt zu werden. Ähnlich wird die Anweisungsdarstellung 347 ignoriert, die Anweisungsdarstellung 347A wird zu der Liste hinzugefügt, die Anweisungsdarstellungen 347B, 347C und 348 werden ignoriert, die Anweisungsdarstellung 348A wird zu der Liste hinzugefügt, und die Anweisungsdarstellungen 348B und 348C werden ignoriert.More specifically, at the first pass through the data stream mode segment 340 In one embodiment, all the operations needed to capture images are added to the list for an image capture routine, whereas all operations that are not needed for image capture operations are ignored. In a specific embodiment, the instruction representations become 342 to 345 , which are all part of the facility of the machine vision inspection system for capturing the images, are thus added to the list of operations that are part of the image capture routine. In contrast, the instruction representation of the part program becomes 346 indicating that a circle measurement tool needs to be opened is not added to the list for the image acquisition routine because it is not necessary to capture the corresponding image. The statement representation 346A however, indicating a means for measuring, including walking to a position and taking a picture, is added to the list for the image acquisition routine. The statement representations 346B and 346C that involve running the circle tool and defining the circle are not necessary for image capture and are thus ignored instead of being added to the list. The instruction representation becomes similar 347 ignores the statement representation 347A is added to the list, the statement representations 347B . 347C and 348 are ignored, the statement representation 348A is added to the list and the statement representations 348B and 348C are ignored.

Nach dem ersten Durchgang durch das Datenstrommodus-Segment 340, nachdem die Bilderfassungsroutine gemäß den Anweisungsdarstellungen 342 bis 345, 346A, 347A und 348A bestimmt wurde, wird mit der Ausführung der Bilderfassungsroutine begonnen. Obwohl die Bilderfassungsroutine ausgeführt wird, erfolgt ein zweiter Durchgang durch das Datenstrommodus-Segment 340, währenddessen die Bildanalysevorgänge (z. B. Video-Tool-Vorgänge) ausgeführt werden. Während des zweiten Durchgangs werden bei einer Ausführungsform die Anweisungsdarstellungen 342 bis 345, die keine Bildanalysevorgänge umfassen, ignoriert. Die Anweisungsdarstellung 346, die angibt, dass eine Kreismessung zu öffnen ist, wird ausgeführt.After the first pass through the data stream mode segment 340 after the image acquisition routine according to the instruction representations 342 to 345 . 346A . 347A and 348A has been determined, the execution of the image acquisition routine is started. Although the image capture routine is executed, a second pass through the data stream mode segment occurs 340 during which image analysis operations (such as video tool operations) are performed. During the second pass, in one embodiment, the instruction representations 342 to 345 that does not include image analysis operations, ignored. The statement representation 346 , which indicates that a circular measurement is to be opened, is executed.

Die Anweisungsdarstellung 346A ist ein Sonderfall, der sowohl Bilderfassungs- als auch Bildanalysevorgänge angibt, wie es nachstehend ausführlicher beschrieben wird. Kurz gesagt gibt während des zweiten Durchgangs die Anweisungsdarstellung 346A, die zuvor Bilderfassungsvorgänge angab, auch an, dass ein Bild zu laden ist, wobei es sich um einen Bildanalysevorgang handelt, und wird somit ausgeführt. Genauer gesagt, falls das Bild, das von der Anweisungsdarstellung 346A angegeben wird, bereits von der Bilderfassungsroutine erfasst wurde, die wie zuvor angegeben gestartet wurde, dann wird das Bild geladen. Falls das Bild noch nicht erfasst wurde, dann wird der Prozess für den zweiten Durchgang zeitweise angehalten, bis das Bild von der Bilderfassungsroutine erfasst wird. Somit können, wie durch die Anweisungsdarstellung 346A abgebildet, bestimmte Anweisungsdarstellungen Vorgänge angeben, die sowohl während des ersten als auch während des zweiten Durchgangs durch das Datenstrommodus-Segment 340 ausgeführt werden.The statement representation 346A is a special case indicating both image capture and image analysis operations, as described in more detail below. In short, during the second pass, the instruction representation 346A , which previously indicated image acquisition operations, also indicates that an image is to be loaded, which is an image analysis process, and is thus executed. More specifically, if the image is from the statement representation 346A is already detected by the image acquisition routine started as stated above, then the image is loaded. If the picture is not captured yet was, then the process for the second pass is temporarily stopped until the image is detected by the image acquisition routine. Thus, as by the instruction representation 346A For example, certain instruction representations indicate operations that occur during both the first and second passes through the data stream mode segment 340 be executed.

Nach der Ausführung der Anweisungsdarstellung 346A fährt der zweite Durchgang mit den Anweisungsdarstellungen 346B und 346C fort, die zum Ausführen des Kreis-Tools und zum Definieren des Kreises C1 gemäß den Randpunkten, die von dem Kreis-Tool bestimmt werden, ausgeführt werden. Ähnlich wird die Anweisungsdarstellung 347 ausgeführt, und die Anweisungsdarstellung 347A zum Laden des entsprechenden Bildes des Kreises C2 wird ausgeführt, falls das Bild durch die Bilderfassungsroutine erfasst wurde, und wird abgewartet, falls das Bild noch nicht erfasst wurde. Nach der Ausführung der Anweisungsdarstellung 347A werden die Anweisungsdarstellungen 347B, 347C und 348 ausgeführt, wobei die Anweisungsdarstellung 348A ausgeführt wird, falls das entsprechende Bild verfügbar ist, oder ansonsten abgewartet wird, falls das Bild noch nicht erfasst wurde. Nach der Ausführung der Anweisungsdarstellung 348A werden die Anweisungsdarstellungen 348B und 348C ausgeführt, wobei die Anweisungsdarstellung 349 das Ende des Datenstrommodus-Segments 340 und das Ende des Datenstrommodus angibt. Es versteht sich, dass bei einer Ausführungsform, bei der zusätzliche Anweisungsdarstellungen auf das Datenstrommodus-Segment 340 folgten, diese außerhalb des Datenstrommodus liegen würden und in der gezeigten Reihenfolge gemäß dem Nicht-Datenstrommodus ausgeführt würden, ähnlich wie die Anweisungselemente 331 und 332 des Nicht-Datenstrommodus-Segments 330.After executing the statement representation 346A the second pass goes to the instruction screens 346B and 346C which are executed to execute the circle tool and to define the circle C1 according to the boundary points determined by the circle tool. The instruction representation becomes similar 347 executed, and the instruction representation 347A to load the corresponding image of the circle C2 is executed if the image has been acquired by the image acquisition routine, and is waited if the image has not yet been acquired. After executing the statement representation 347A become the statement representations 347B . 347C and 348 executed, the statement representation 348A is executed if the corresponding image is available or otherwise waited if the image has not yet been captured. After executing the statement representation 348A become the statement representations 348B and 348C executed, the statement representation 349 the end of the data stream mode segment 340 and indicates the end of the data stream mode. It should be understood that in one embodiment, additional instruction representations to the data stream mode segment 340 followed, which would be out of data stream mode and executed in the order shown according to the non-data stream mode, much like the instruction elements 331 and 332 of the non-data stream segment 330 ,

Es versteht sich, dass die zuvor beschriebenen Vorgänge und die Bearbeitungsumgebung für ein Datenstrommodus-Segment gegenüber gewissen Umsetzungen nach dem Stand der Technik vorteilhaft sind. Genauer gesagt wurde bei bestimmten früheren Umsetzungen eine ausdrückliche Liste von Befehlen für die Bilderfassung verwendet, und eine andere ausdrückliche Liste von Befehlen wurde zum Analysieren der Bilder verwendet, die erfasst wurden. Um Dauerbetrieb-Bilderfassungen zum Zeitpunkt der Programmierung zu erreichen, wurden die Bilderfassungsanweisungen in eine getrennte Liste organisiert und befanden sich in anderen Programmierdarstellungen und in anderer Syntax in dem Teileprogramm. Dadurch wurde die Bearbeitung und das „Debugging” der entsprechenden Teileprogramme erschwert. Wenn genauer gesagt ein Benutzer zu einem Teileprogramm zurückkehrte, bei dem die Vorgänge umgeordnet werden mussten und andere Programmierdarstellungen und Syntax für die Dauerbetrieb-Bilderfassung verwendet wurden, war es verwirrender zu bestimmen, wie die Anweisungen zu bearbeiten oder umzuprogrammieren waren, die sich innerhalb statt außerhalb der Dauerbetrieb-Bilderfassungsroutine befanden. Zusätzlich war das Debugging des Teileprogramms dadurch noch komplizierter, dass es keine leicht sichtbare Darstellung der Schritte gab, wie sie ursprünglich ausgeführt wurden, wodurch es schwieriger wurde zu bestimmen, welche Anweisungen welche Ergebnisse verursacht hatten.It will be appreciated that the above-described operations and processing environment for a data stream mode segment are advantageous over certain prior art implementations. Specifically, in some prior implementations, an explicit list of commands was used for image capture, and another explicit list of commands was used to parse the images that were captured. To achieve continuous operation image capturing at the time of programming, the image capturing instructions were organized into a separate list and were in other programming representations and syntax in the part program. This made it difficult to process and "debug" the corresponding part programs. Specifically, when a user returned to a part program where operations had to be rearranged and other programming representations and syntax were used for continuous image capture, it was more confusing to determine how to edit or rewrite the statements that were inside instead of outside the continuous mode image acquisition routine. In addition, part program debugging was even more complicated in that there was no readily visualized representation of the steps originally performed, making it harder to determine which statements caused which results.

Gemäß der vorliegenden Offenbarung, wie zuvor beschrieben, wird eine wünschenswertere Bearbeitungsumgebung bereitgestellt, bei der die Anweisungsdarstellungen des Teileprogramms in ihrer ursprünglichen Reihenfolge bereitgestellt werden können. Ferner sind Anweisungsdarstellungen innerhalb eines Datenstrommodus-Segments (z. B. Datenstrommodus-Segment 340) ausgestaltet, um ein identisches Aussehen zu haben wie diejenigen außerhalb eines Datenstrommodus-Segments. Als spezifisches Beispiel, wenn die Anweisungsdarstellungen 346, 346A, 346B und 346C außerhalb des Datenstrommodus-Segments 340 aufgezeichnet worden wären (z. B. innerhalb des Nicht-Datenstrommodus-Segments 330), hätten sie ein identisches Aussehen in der Bearbeitungsschnittstelle 300 außer der Tatsache, dass die Darstellung in der Anweisungsdarstellung 341 „enthalten” wäre. Dies ist anders als bei den zuvor beschriebenen Verfahren nach dem Stand der Technik, bei denen derartige Anweisungsdarstellungen in einer anderen Programmierdarstellung und Syntax innerhalb eines Datenstrommodus-Segments im Vergleich zu außerhalb bereitgestellt würden. Wie zuvor beschrieben, ermöglicht die Darstellung des Teileprogramms 320, wie in der Bearbeitungsschnittstelle 300 abgebildet, auch die sequenzielle Durchführung des Debugging des Teileprogramms selbst innerhalb des Datenstrommodus-Segments 340. Genauer gesagt kann ein Benutzer während eines Debugging-Prozesses (z. B. im Bearbeitungsmodus) auswählen, dass die Anweisungsdarstellungen innerhalb des Datenstrommodus-Segments 340 in der ersten Reihenfolge ausgeführt werden (d. h. in der Reihenfolge, die in der Bearbeitungsdarstellung 300 angegeben wird), wobei es sich um die Reihenfolge handelt, in der sie ursprünglich programmiert wurden, in einem Schritt-für-Schritt-Prozess, um die Bestimmung, welche Anweisungsdarstellungen welche Ergebnisse verursachen, zu vereinfachen.In accordance with the present disclosure as described above, a more desirable editing environment is provided in which the instruction representations of the part program may be provided in their original order. Further, instruction representations are within a data stream mode segment (eg, data stream mode segment 340 ) to have an identical appearance to those outside a data stream mode segment. As a specific example, when the statement representations 346 . 346A . 346B and 346C outside the data stream mode segment 340 (eg within the non-data stream segment 330 ), they would have an identical look in the editing interface 300 except for the fact that the representation in the statement representation 341 Would be included. This is unlike the prior art methods described above in which such instruction representations would be provided in a different programming representation and syntax within a data stream mode segment as compared to outside. As described above, the representation of the parts program allows 320 as in the editing interface 300 It also illustrates the sequential execution of part program debugging itself within the data stream mode segment 340 , More specifically, during a debug process (eg, in edit mode), a user may select that the instruction representations within the data stream mode segment 340 in the first order (ie, in the order shown in the edit view 300 which is the order in which they were originally programmed, in a step-by-step process to simplify the determination of which statement statements cause which results.

5A und 5B sind Ablaufschemata 500A und 500B einer Ausführungsform einer Routine zum Bereitstellen einer Bearbeitungsumgebung für ein Teileprogramm, das ein Datenstrommodus-Segment umfasst. Wie in 5A gezeigt, wird in einem Block 510 ein Lernmodus bereitgestellt, der betriebsfähig ist, um eine Benutzereingabe zu empfangen, um die Vorgänge des maschinellen Sichtinspektionssystems zu steuern und Anweisungen aufzuzeichnen, die den gesteuerten Vorgängen entsprechen, um ein Teileprogramm zu erstellen. Der Lernmodus ist auch betriebsfähig, um ein Teileprogramm zu bearbeiten und zuvor aufgezeichnete Teileprogrammanweisungen gemäß einem Bearbeitungsausführungsmodus auszuführen. 5A and 5B are flowcharts 500A and 500B an embodiment of a routine for providing a part program processing environment that includes a data stream mode segment. As in 5A shown is in a block 510 provided a learning mode operable to allow user input received to control the operations of the machine vision inspection system and record instructions that correspond to the controlled operations to create a part program. The learning mode is also operable to edit a part program and execute previously recorded part program instructions according to a machining execution mode.

In einem Block 520 werden Merkmale der Benutzerschnittstelle bereitgestellt, die ein benutzersteuerbares Datenstrommodus-Anweisungselement und eine bearbeitbare Teileprogrammdarstellung von Teileprogrammanweisungen umfassen. Das benutzersteuerbare Datenstrommodus-Anweisungselement ist verwendbar, um ein Datenstrommodus-Segment zu bezeichnen, das ein Segment eines Teileprogramms umfasst, das für die Datenstrommodus-Ausführung bezeichnet ist. Die bearbeitbare Teileprogrammdarstellung kann Darstellungen von Bilderfassungsanweisungen, die Bilderfassungsvorgängen entsprechen, Darstellungen von Bildanalyseanweisungen, die Bildanalysevorgängen entsprechen, und eine Darstellung des Datenstrommodus-Segments umfassen.In a block 520 Features of the user interface are provided that include a user-controllable data stream mode instruction item and editable part program representation of part program instructions. The user-controllable data stream mode instruction item is usable to designate a data stream mode segment that includes a segment of a part program designated for data stream mode execution. The editable parts program representation may include representations of image capture instructions that correspond to image capture operations, representations of image analysis instructions that correspond to image analysis operations, and an illustration of the data stream mode segment.

In einem Block 530 wird ein Laufmodus bereitgestellt, der betriebsfähig ist, um ein zuvor erstelltes Teileprogramm auszuführen, wobei der Laufmodus einen Nicht-Datenstrommodus zum Ausführen von Teileprogrammanweisungen, die sich nicht in einem Datenstrommodus-Segment befinden, und einen Datenstrommodus zum Ausführen von Teileprogrammanweisungen, die sich in einem Datenstrommodus-Segment befinden, umfasst. Von dem Block 530 fährt die Routine bis zu einem Punkt A fort, wie es nachstehend mit Bezug auf 5B ausführlicher beschrieben wird.In a block 530 provided a run mode operable to execute a previously created part program, the run mode being a non-data stream mode for executing part program instructions that are not in a data stream mode segment and a data stream mode for executing part program instructions that are in one Data stream mode segment includes. From the block 530 the routine continues to point A, as described below with reference to FIG 5B will be described in more detail.

Wie in 5B gezeigt, fährt die Routine von Punkt A mit einem Block 540 fort. In dem Block 540 wird der Lernmodus derart konfiguriert, dass die bearbeitbare Teileprogrammdarstellung eine erste Vielzahl von Teileprogrammanweisungen darstellt, die Bilderfassungs- und entsprechende Bildanalyseanweisungen in einer ersten Reihenfolge umfassen, die einer Reihenfolge entspricht, in der die entsprechenden gesteuerten Vorgängen ausgeführt wurden, um das Teileprogramm zu erstellen. Der Lernmodus ist ferner derart konfiguriert, dass der Bearbeitungsausführungsmodus die Teileprogrammanweisungen ausführt, um die Bilderfassungsvorgänge und die entsprechenden Bildanalysevorgänge auf eine Art und Weise, die mit der ersten Reihenfolge vereinbar ist, unabhängig davon, ob die erste Vielzahl von Teileprogrammanweisungen in einem Datenstrommodus-Segment enthalten ist oder nicht, auszuführen.As in 5B As shown, the routine moves from point A to one block 540 continued. In the block 540 For example, the learn mode is configured such that the editable part program representation represents a first plurality of part program instructions that include image capture and corresponding image analysis instructions in a first order that corresponds to an order in which the corresponding controlled operations were performed to build the part program. The learning mode is further configured such that the editing execution mode executes the part program instructions to include the image acquisition operations and the corresponding image analysis operations in a manner consistent with the first order regardless of whether the first plurality of part program instructions are included in a data stream mode segment or not.

In einem Block 550 wird der Laufmodus derart konfiguriert, dass der Datenstrommodus die erste Vielzahl von Teileprogrammanweisungen, wenn sie in einem Datenstrommodus-Segment enthalten sind, gemäß einer zweiten Reihenfolge ausführt. Die zweite Reihenfolge umfasst das Ausführen der ersten Vielzahl von Bilderfassungsanweisungen des Teileprogramms, um ihre entsprechenden Bilderfassungsvorgänge in einer sequenziellen Reihenfolge unabhängig von der Ausführung der entsprechenden Bildanalysevorgänge auszuführen. Bei einer Ausführungsform können die Bilderfassungsvorgänge in der sequenziellen Reihenfolge während einer Dauerbetriebssequenz ausgeführt werden. Die zweite Reihenfolge umfasst ferner das Ausführen der ersten Vielzahl von Bildanalyseanweisungen des Teileprogramms, um ihre entsprechenden Bildanalysevorgänge auszuführen, nachdem ihre entsprechenden Bilder erfasst wurden.In a block 550 For example, the run mode is configured such that the data stream mode executes the first plurality of part program instructions when contained in a data stream mode segment according to a second order. The second order includes executing the first plurality of image acquisition instructions of the part program to perform their respective image acquisition operations in a sequential order regardless of the execution of the corresponding image analysis operations. In one embodiment, the image capture operations may be performed in sequential order during a continuous operation sequence. The second order further comprises executing the first plurality of image analysis instructions of the part program to perform their respective image analysis operations after their corresponding images have been acquired.

Obwohl die vorhergehende Kurzdarstellung Ausführungsformen betont hat, die eine ausdrückliche Markierung oder Angabe des Datenstrommodus-Segments umfassen, kann bzw. können die Markierung des Datenstrommodus-Segments und/oder die Erkennung eines getrennten Modus oder eines Datenstroms von Vorgängen für bestimmte Benutzer unverständlich oder belanglos sein. Beispielsweise kann die Datenstrommodus-Ausführung auf allen Maschinen im Besitz des Benutzers verfügbar sein und/oder kann der standardmäßige oder einzige Ausführungsmodus sein, der für den Laufausführungsmodus auf einer Maschine verwendet wird, so dass es eventuell nicht notwendig ist, einen oder mehrere Datenstrommodus-Vorgänge zur speziellen Erkennung oder Berücksichtigung zu unterscheiden. Daher können Darstellungen und Code-Markierungen der Datenstrommodus-Benutzerschnittstelle, wie etwa die Teileprogrammdarstellung 341, bei einigen Ausführungsformen entfallen; zum Beispiel bei diversen Ausführungsformen, die ähnlich wie diejenigen sind, die nachstehend mit Bezug auf 6, 7A und 7B beschrieben werden. Beispielsweise können bei einigen Ausführungsformen einige oder alle mit dem Datenstrommodus kompatiblen Anweisungen und/oder Vorgänge automatisch im Datenstrommodus während des Laufmodus ausgeführt werden. Bei einigen Umsetzungen kann dies die standardmäßige oder einzige Einstellung für den Laufausführungsmodus sein. Bei anderen Umsetzungen kann der Benutzer entweder die Datenstrom- oder die Nicht-Datenstrommodus-Ausführung als globalen „automatischen” Ausführungsmodus im Laufmodus auswählen.Although the preceding summary has emphasized embodiments that include an explicit mark or indication of the data stream mode segment, marking of the data stream mode segment and / or detection of a separate mode or stream of operations may be incomprehensible or inconsequential to particular users , For example, the data stream mode execution may be available on all machines owned by the user and / or may be the default or only execution mode used for the run execution mode on a machine, so that it may not be necessary to have one or more data stream mode operations to distinguish for special recognition or consideration. Therefore, representations and code marks of the data stream mode user interface, such as part program representation 341 , omitted in some embodiments; for example, in various embodiments similar to those described below with reference to FIG 6 . 7A and 7B to be discribed. For example, in some embodiments, some or all of the data stream mode compatible instructions and / or operations may be automatically performed in data stream mode during the run mode. For some implementations, this may be the default or only run-execution mode setting. In other implementations, the user may select either the data stream or non-data stream mode execution as the global "automatic" run mode execution mode.

Auf jeden Fall versteht es sich, dass unabhängig davon, ob die Datenstrommodus-Anweisungen in einer Benutzerschnittstelle ausdrücklich markiert sind oder in einem Teileprogramm definiert sind, um eine Datenstrommodus-Ausführung im Laufmodus anzugeben, viele oder alle der zuvor beschriebenen Merkmale und Vorzüge der Darstellung und Ausführung des Nicht-Datenstrom-Bearbeitungsmodus für die Benutzer im Lernmodus und/oder bei Bearbeitungsvorgängen aus den zuvor angesprochenen Gründen wünschenswert bleiben.In any event, it should be understood that whether or not the data stream mode instructions are explicitly tagged in a user interface or defined in a part program to indicate data stream mode execution in run mode, many or all of the features and benefits of the illustration and Execution of the non-data stream editing mode for the users in the learning mode and / or machining operations for the reasons mentioned above remain desirable.

Um eine derartige Ausführungsform allgemein zusammenzufassen, kann ein präzises maschinelles Sichtinspektionssystem einen Bildgebungsabschnitt, einen Arbeitstisch zum Halten eines oder mehrerer Werkstücks in einem Blickfeld (FOV) des Bildgebungsabschnitts, einen Steuerabschnitt, eine Anzeige und eine Benutzerschnittstelle umfassen. Das maschinelle Sichtinspektionssystem kann ferner einen Lernmodus umfassen, der betriebsfähig ist, um eine Benutzereingabe zu empfangen, um die Vorgänge des maschinellen Sichtinspektionssystems zu steuern und Anweisungen aufzuzeichnen, die den gesteuerten Vorgängen entsprechen, um ein Teileprogramm zu erstellen, der betriebsfähig ist, um ein Teileprogramm zu bearbeiten, und der betriebsfähig ist, um zuvor aufgezeichnete Teileprogrammanweisungen gemäß einem Bearbeitungsausführungsmodus auszuführen. Der Lernmodus kann Merkmale einer Benutzerschnittstelle umfassen, die eine bearbeitbare Teileprogrammdarstellung von Teileprogrammanweisungen umfassen, die Darstellungen von Bilderfassungsanweisungen, die Bilderfassungsvorgängen entsprechen, und Darstellungen von Bildanalyseanweisungen, die Bildanalysevorgängen entsprechen, umfassen. Das maschinelle Sichtinspektionssystem kann ferner einen Laufmodus umfassen, der betriebsfähig ist, um ein zuvor erstelltes Teileprogramm auszuführen, wobei der Laufmodus einen Datenstrommodus zum Ausführen von Teileprogrammanweisungen umfasst. Der Lernmodus kann derart konfiguriert sein, dass die bearbeitbare Teileprogrammdarstellung eine erste Vielzahl von Teileprogrammanweisungen darstellt, die Bilderfassungs- und entsprechende Bildanalyseanweisungen in einer ersten Reihenfolge umfassen, die einer Reihenfolge entspricht, in der die entsprechenden gesteuerten Vorgänge ausgeführt wurden, um das Teileprogramm zu erstellen, und der Bearbeitungsausführungsmodus führt die Bilderfassungsanweisungen des Teileprogramms und die entsprechenden Bildanalyseanweisungen der ersten Vielzahl von Teileprogrammanweisungen aus, um die Bilderfassungsvorgänge und die entsprechenden Bildanalysevorgänge auf eine Art und Weise auszuführen, die mit der ersten Reihenfolge vereinbar ist. Der Laufmodus kann derart konfiguriert sein, dass der Datenstrommodus die erste Vielzahl von Teileprogrammanweisungen gemäß einer zweiten Reihenfolge ausführt, wobei die zweite Reihenfolge das Ausführen der ersten Vielzahl von Bilderfassungsanweisungen des Teileprogramms, um ihre entsprechenden Bilderfassungsvorgänge in einer sequenziellen Reihenfolge unabhängig von der Ausführung der entsprechenden Bildanalysevorgänge auszuführen, und das Ausführen der ersten Vielzahl von Bildanalyseanweisungen des Teileprogramms, um ihre entsprechenden Bildanalysevorgänge auszuführen, nachdem ihre entsprechenden Bilder erfasst wurden, umfasst.To summarize such an embodiment, a precise machine vision inspection system may include an imaging section, a work table for holding one or more workpieces in a field of view (FOV) of the imaging section, a control section, a display, and a user interface. The machine vision inspection system may further include a learn mode operable to receive user input to control the operations of the machine vision inspection system and to record instructions corresponding to the controlled operations to create a part program that is operable to execute a part program and operable to execute previously recorded part program instructions according to a processing execution mode. The learn mode may include features of a user interface that include editable part program representation of part program instructions that include representations of image capture instructions that correspond to image capture operations, and representations of image analysis instructions that correspond to image analysis operations. The machine vision inspection system may further include a run mode operable to execute a previously created part program, the run mode including a data stream mode for executing part program instructions. The learn mode may be configured such that the editable part program representation represents a first plurality of part program instructions that include image capture and corresponding image analysis instructions in a first order that corresponds to an order in which the corresponding controlled operations were performed to create the part program. and the execution execution mode executes the image acquisition instructions of the part program and the corresponding image analysis instructions of the first plurality of part program instructions to perform the image acquisition operations and the corresponding image analysis operations in a manner consistent with the first order. The run mode may be configured such that the data stream mode executes the first plurality of part program instructions according to a second order, the second order executing the first plurality of image capture instructions of the part program to perform their respective image capture operations in a sequential order independent of the execution of the corresponding image analysis operations and executing the first plurality of image analysis instructions of the part program to perform their respective image analysis operations after their corresponding images are acquired.

6A und 6B sind Ablaufschemata 600A und 600B einer Ausführungsform einer Routine zum Umsetzen einer Ausführungsform, die mit der direkt zuvor angesprochenen vereinbar ist, wobei ein Teileprogramm im Allgemeinen unter Verwendung eines Datenstrommodus von Vorgängen im Laufmodus ausgeführt werden kann, während ein benutzerfreundlicherer „Nicht-Datenstrom-”Bearbeitungsmodus zur Darstellung und Ausführung im Lernmodus verwendet werden kann. 6A and 6B are flowcharts 600A and 600B an embodiment of a routine for implementing an embodiment consistent with the one discussed immediately above, wherein a part program may generally be executed using a data stream mode of operations in run mode, while a more user friendly "non-data stream" edit mode for display and execution in the Learning mode can be used.

Wie in 6A gezeigt, wird in einem Block 610 ein Lernmodus bereitgestellt, der betriebsfähig ist, um eine Benutzereingabe zu empfangen, um die Vorgänge des maschinellen Sichtinspektionssystems zu steuern und Anweisungen aufzuzeichnen, die den gesteuerten Vorgängen entsprechen, um ein Teileprogramm zu erstellen. Der Lernmodus ist auch betriebsfähig, um ein Teileprogramm zu bearbeiten und zuvor aufgezeichnete Teileprogrammanweisungen gemäß einem Bearbeitungsausführungsmodus auszuführen. In einem Block 620 werden Merkmale der Benutzerschnittstelle bereitgestellt, die eine bearbeitbare Teileprogrammdarstellung von Teileprogrammanweisungen umfassen. Die bearbeitbare Teileprogrammdarstellung kann Darstellungen von Bilderfassungsanweisungen, die Bilderfassungsvorgängen entsprechen, und Darstellungen von Bildanalyseanweisungen, die Bildanalysevorgängen entsprechen, umfassen. In einem Block 630 wird ein Laufmodus bereitgestellt, der betriebsfähig ist, um ein zuvor erstelltes Teileprogramm auszuführen, wobei der Laufmodus einen Datenstrommodus umfasst, um Teileprogrammanweisungen auszuführen. Von dem Block 630 fährt die Routine mit einem Punkt A fort, wie es nachstehend mit Bezug auf 6B ausführlicher beschrieben wird.As in 6A shown is in a block 610 provided a learn mode operable to receive user input to control the operations of the machine vision inspection system and record instructions corresponding to the controlled operations to create a part program. The learning mode is also operable to edit a part program and execute previously recorded part program instructions according to a machining execution mode. In a block 620 Features of the user interface are provided that include an editable parts program representation of part program instructions. The editable part program representation may include representations of image capture instructions that correspond to image capture operations, and representations of image analysis instructions that correspond to image analysis operations. In a block 630 provided is a run mode operable to execute a previously created part program, the run mode comprising a data stream mode for executing part program instructions. From the block 630 the routine proceeds to a point A, as described below with reference to FIG 6B will be described in more detail.

Wie in 6B gezeigt, fährt die Routine von Punkt A mit einem Block 640 fort. In dem Block 640 wird der Lernmodus derart konfiguriert, dass die bearbeitbare Teileprogrammdarstellung eine erste Vielzahl von Teileprogrammanweisungen darstellt, die Bilderfassungs- und entsprechende Bildanalyseanweisungen in einer ersten Reihenfolge umfassen, die einer Reihenfolge entspricht, in der die entsprechenden gesteuerten Vorgänge ausgeführt wurden, um das Teileprogramm zu erstellen. Der Lernmodus ist ferner derart konfiguriert, dass der Bearbeitungsausführungsmodus die Teileprogrammanweisungen ausführt, um die Bilderfassungsvorgänge und die entsprechenden Bildanalysevorgänge auf eine Art und Weise auszuführen, die mit der ersten Reihenfolge vereinbar ist. In einem Block 650 wird der Laufmodus derart konfiguriert, dass der Datenstrommodus die erste Vielzahl von Teileprogrammanweisungen gemäß einer zweiten Reihenfolge ausführt. Die zweite Reihenfolge umfasst das Ausführen der ersten Vielzahl von Bilderfassungsanweisungen des Teileprogramms, um ihre entsprechenden Bilderfassungsvorgänge in einer sequenziellen Reihenfolge unabhängig von der Ausführung der entsprechenden Bildanalysevorgänge auszuführen. Bei einer Ausführungsform können die Bilderfassungsvorgänge in der sequenziellen Reihenfolge während einer Dauerbetriebssequenz ausgeführt werden. Die zweite Reihenfolge kann ferner das Ausführen der ersten Vielzahl von Bildanalyseanweisungen des Teileprogramms umfassen, um ihre entsprechenden Bildanalysevorgänge auszuführen, nachdem ihre entsprechenden Bilder erfasst wurden.As in 6B As shown, the routine moves from point A to one block 640 continued. In the block 640 For example, the learn mode is configured such that the editable part program representation represents a first plurality of part program instructions that include image capture and corresponding image analysis instructions in a first order that corresponds to an order in which the corresponding controlled operations were performed to build the part program. The learning mode is further configured such that the editing execution mode executes the part program instructions to perform the image acquisition operations and the corresponding image analysis operations in a manner consistent with the first order. In a block 650 the run mode is configured such that the data stream mode is the first plurality of Execute part program instructions according to a second order. The second order includes executing the first plurality of image acquisition instructions of the part program to perform their respective image acquisition operations in a sequential order regardless of the execution of the corresponding image analysis operations. In one embodiment, the image capture operations may be performed in sequential order during a continuous operation sequence. The second order may further include executing the first plurality of image analysis instructions of the part program to perform their respective image analysis operations after their corresponding images have been acquired.

Bei einer Ausführungsform kann das Ausführen der ersten Vielzahl von Bilderfassungsanweisungen des Teileprogramms, um ihre entsprechenden Bilderfassungsvorgänge in einer sequenziellen Reihenfolge auszuführen, das Ausführen von Bilderfassungsvorgängen während einer durchgehenden Bilderfassungssequenz umfassen, wobei sich der Arbeitstisch und der Bildgebungsabschnitt ungefähr durchgehend im Verhältnis zueinander bewegen, um die Bilder zu erfassen, mit Ausnahme von Bilderfassungs-Bewegungsvorgängen, die notwendig sind, um die Bildunschärfe an Bildgebungsstellen zu begrenzen, und ohne Bewegungsverzögerungen auf Grund von Bildanalysevorgängen. Beispielsweise mit Bezug auf das in 3 gezeigte Teileprogramm 320, während der Vorgänge, die der Anweisungsdarstellung 346A entsprechen, kann eine Einrichtung zum Messen eine Bewegung des Arbeitstisches bis zu einer bestimmten Stelle und eine Erfassung eines entsprechenden Bildes umfassen, während die Bewegung entweder angehalten oder ausreichend verlangsamt wird, um Bildunschärfe zu begrenzen. Eine ähnliche Bewegung kann für die Vorgänge verwendet werden, die den Anweisungsdarstellungen 347A und 348A entsprechen.In one embodiment, executing the first plurality of image capture instructions of the part program to perform their respective image capture operations in a sequential order may include performing image capture operations during a continuous image capture sequence, wherein the work table and the imaging section move approximately continuously relative to each other Capture images with the exception of image capture motion necessary to limit image blur at imaging sites and without motion delays due to image analysis operations. For example, with reference to the in 3 shown part program 320 during the operations, the statement representation 346A For example, means for measuring may include moving the work table to a certain location and detecting a corresponding image while either stopping or slowing the motion sufficiently to limit image blur. A similar move can be used for the operations that follow the statement views 347A and 348A correspond.

Die vorstehende Beschreibung hat Ausführungsformen betont, bei denen das maschinelle Sichtinspektionssystem eine Stroboskopbeleuchtung oder andere Mittel umfasst, um eine schnelle Bildbelichtung ohne Unschärfe während einer Datenstrommodus-Ausführung eines Teileprogramms zu ermöglichen. Bei solchen Systemen kann die Ausführung der Bilderfassungsvorgänge in einer sequenziellen Reihenfolge während einer echten Dauerbetriebssequenz erfolgen, wobei sich der Arbeitstisch und der Bildgebungsabschnitt im Verhältnis zueinander durchgehend bewegen ohne anzuhalten. Bei anderen Ausführungsformen, bei denen dem maschinellen Sichtinspektionssystem die Stroboskopbeleuchtung fehlt oder es ansonsten benötigt, dass die relative Bewegung verlangsamt oder zeitweise angehalten wird, um die Bildunschärfe zu begrenzen, kann die Ausführung der Bilderfassungsvorgänge in der sequenziellen Reihenfolge jedoch während der Datenstrommodus-Ausführung erfolgen, während eine ungefähre Dauerbetriebssequenz verwendet wird, und die zuvor angesprochenen wesentlichen Vorzüge können weiter behalten werden. Bei diversen Ausführungsformen kann die ungefähre Dauerbetriebssequenz dann die notwendigen Bewegungsvorgänge umfassen, die eine Bildunschärfe verhindern (z. B. Verlangsamen oder zeitweises Anhalten der ansonsten durchgehenden Bewegung, wie es von den Anforderungen der Bilderfassung vorgeschrieben wird), umfasst jedoch keine Bewegungsverzögerungen mit Bezug auf das Ausführen einer Bildanalyse oder dergleichen, um die gesamte Ausführungszeit des Teileprogramms während der Datenstrommodus-Ausführung zu reduzieren oder zu minimieren. Dieser Gedanke wird mit Bezug auf 7 verdeutlicht.The foregoing description has emphasized embodiments in which the machine vision inspection system includes strobe lighting or other means to enable rapid image exposure without blurring during data stream mode execution of a part program. In such systems, the imaging operations may be performed in a sequential order during a true continuous operation sequence, wherein the work table and the imaging section move continuously relative to one another without stopping. However, in other embodiments where the machine vision inspection system lacks strobe lighting or otherwise requires the relative movement to be slowed down or temporarily stopped to limit image blurring, the imaging operations may be performed in the sequential order during data stream mode execution. while an approximate continuous operation sequence is used, and the essential advantages discussed above can be retained. In various embodiments, the approximate steady state sequence may then include the necessary motion events that prevent image blur (eg, slowing or temporarily stopping the otherwise continuous motion as dictated by image capture requirements), but does not include motion delays with respect to Performing image analysis or the like to reduce or minimize the overall execution time of the part program during data stream mode execution. This thought is related to 7 clarified.

7 ist ein Zeitdiagramm 700, das einen Aspekt eines Ausführungsbeispiels eines Nicht-Datenstrom- oder Bearbeitungsausführungsmodus 710 und eines Ausführungsbeispiels der Datenstrommodus-Ausführung 740 kennzeichnet. Die Zeitsequenz, die mit dem Nicht-Datenstrom- oder Bearbeitungsausführungsmodus 710 verknüpft ist, gibt keine sequenzielle Bilderfassungssequenz an. Stattdessen wird zuerst ein Bilderfassungsvorgang 720A ausgeführt, der Vorgänge umfassen kann, bei denen sich ein Arbeitstisch und der Bildgebungsabschnitt im Verhältnis zueinander bewegen, um ein Merkmal in ein Blickfeld des Bildgebungssystems zu bringen, die Bildbeleuchtung und so weiter bereitgestellt wird, wie es notwendig ist, um ein Bild zu erfassen. Nach dem Bilderfassungsvorgang 720A wird ein Bildanalysevorgang 730A an diesem erfassten Bild ausgeführt, der Vorgänge, wie etwa eine Kantenerkennung, basierend auf einem Bild, das während des Bilderfassungsvorgangs 720A erfasst wird, umfassen kann. Nachdem der Bildanalysevorgang 730A beendet ist, wird ein Bilderfassungsvorgang 720B ausgeführt (z. B. analog zu dem Vorgang 720A), und nach Beendigung wird ein Bildanalysevorgang 730B ausgeführt. Dieses Muster fährt mit den Bilderfassungsvorgängen 720C und 720D und den Bildanalysevorgängen 730C und 730D und so weiter fort. Jeder Bildanalysevorgang kann die nachfolgende Bilderfassung unterbrechen und verzögern. Eine derartige Ausführung ist im Lernmodus vorteilhaft und leicht verständlich, wenn Benutzeraktionen notwendig sind, um die Bilderfassungsparameter zu definieren, und die Bildanalyseergebnisse ausgewertet werden müssen, um zu bestätigen, dass ein wünschenswertes Bild die erwarteten Analyseergebnisse ergeben hat, bevor man fortfährt, den nächsten Teileprogrammvorgang zu definieren oder zu überprüfen. In einem derartigen Fall verzögert die Bildanalysezeit den gesamten Lernmodusprozess nicht erheblich, der typischerweise durch Benutzereingabe und Auswertung und dergleichen gegliedert wird. 7 is a time chart 700 , which is one aspect of one embodiment of a non-stream or edit execution mode 710 and one embodiment of the data stream mode implementation 740 features. The time sequence associated with the non-stream or edit execution mode 710 linked, does not specify a sequential image capture sequence. Instead, first an image capture process 720A which may include operations in which a work table and the imaging section move relative to one another to bring a feature into view of the imaging system, provide the image illumination, and so on, as necessary to capture an image. After the image capture process 720A becomes an image analysis process 730A performed on this captured image, the operations such as edge detection based on an image during the image acquisition process 720A is detected. After the image analysis process 730A is finished, becomes an image capture process 720B executed (eg analogous to the process 720A ), and after completion, an image analysis process 730B executed. This pattern continues with the image acquisition processes 720C and 720D and the image analysis operations 730C and 730D and so on. Each image analysis process can interrupt and delay subsequent image capture. Such an embodiment is advantageous and easily understood in the learning mode when user actions are necessary to define the image acquisition parameters and the image analysis results must be evaluated to confirm that a desirable image has yielded the expected analysis results before proceeding to the next part program operation to define or verify. In such a case, the image analysis time does not significantly delay the entire learning mode process, which is typically organized by user input and evaluation and the like.

Im Gegensatz dazu gibt die Zeitsequenz, die mit dem Datenstrom-Ausführungsmodus 740 verknüpft ist, eine sequenzielle Bilderfassungssequenz an. Zuerst wird ein Bilderfassungsvorgang 720A' ausgeführt, der ähnlich wie der Bilderfassungsvorgang 720A bei diesem Beispiel sein kann und Vorgänge umfassen kann, bei denen sich ein Arbeitstisch und der Bildgebungsabschnitt im Verhältnis zueinander bewegen, um ein Merkmal in ein Blickfeld des Bildgebungssystem zu bringen, die Bildbeleuchtung bereitgestellt wird, und so weiter, wie es notwendig ist, um ein Bild zu erfassen. Nachdem der Bilderfassungsvorgang 720A' beendet ist, wird der Bilderfassungsvorgang 720B' sofort eingeleitet und ausgeführt, da die Bewegung zwischen den Bilderfassungsstellen typischerweise eine der zeitintensiveren in einer Inspektionssequenz ist und den gesamten Durchsatz regelt. Die nachfolgenden Bilderfassungsvorgänge 720C', 720D' und so weiter befolgen aus diesem Grund ein ähnliches Muster und bilden eine sequenzielle Bilderfassungssequenz. In modernen Computern können die Bildanalysevorgänge, die einem bestimmten Bild entsprechen, praktisch jederzeit eingeleitet werden, nachdem das Bild erfasst und/oder im Speicher abgelegt wurde. Bei diesem Beispiel wird der Bildanalysevorgang 730A', der Vorgänge umfassen kann (z. B. ähnliche oder mit den Bildanalysevorgängen 730A identische), wie etwa eine Kantenerkennungsanalyse für eine Kante, die in dem Bild von Vorgang 720A' enthalten ist, sofort nachdem der Bilderfassungsvorgang 720A' beendet ist, eingeleitet und wird parallel zu dem Bilderfassungsvorgang 720B' ausgeführt. Die nachfolgenden Bildanalysevorgänge 730B', 730C', 730D' und so weiter befolgen ein ähnliches Muster. Das Ergebnis ist eine Verbesserung der Zeit, die der Datenstrom-Ausführungsmodus 740 benötigt, um die gleiche Anzahl von Bilderfassungs- und Analysevorgängen im Vergleich zu dem Nicht-Datenstrom- oder Bearbeitungsausführungsmodus 710 auszuführen. In contrast, there is the time sequence associated with the stream execution mode 740 linked, a sequential image capture sequence. First, an image capture process 720A ' similar to the image capture process 720A in this example, and may include operations in which a work table and the imaging section move relative to each other to bring a feature into view of the imaging system, provide the image illumination, and so on, as necessary Capture image. After the image capture process 720A ' is finished, the image acquisition process 720B ' Immediately initiated and executed because the motion between the image capture sites is typically one of the more time consuming in an inspection sequence and controls the overall throughput. The following image acquisition procedures 720C ' . 720D ' and so on follow a similar pattern for this reason and form a sequential image capture sequence. In modern computers, the image analysis operations corresponding to a particular image may be initiated virtually at any time after the image has been captured and / or stored in memory. In this example, the image analysis process 730A ' which may include operations (eg, similar or with the image analysis operations 730A identical), such as an Edge Detect Analysis for an edge appearing in the image of Process 720A ' is included immediately after the image acquisition process 720A ' is completed, and is parallel to the image capture process 720B ' executed. The following image analysis procedures 730B ' . 730C ' . 730D ' and so on, follow a similar pattern. The result is an improvement in the time that the data stream execution mode 740 requires the same number of image acquisition and analysis operations as compared to the non-stream or edit execution mode 710 perform.

Bei Ausführungsformen, bei denen das maschinelle Sichtinspektionssystem eine Stroboskopbeleuchtung oder andere Mittel umfasst, um eine schnelle Bildbelichtung ohne Unschärfe zu ermöglichen, erfolgt die Ausführung der Bilderfassungsvorgänge in einer sequenziellen Reihenfolge während des Datenstrommodus 740 während einer echten Dauerbetriebssequenz, wobei sich der Arbeitstisch und der Bildgebungsabschnitt im Verhältnis zueinander durchgehend bewegen. Dies ist der Idealfall und führt typischerweise zu den kürzesten Ausführungszeiten. Bei Ausführungsformen, bei denen dem maschinellen Sichtinspektionssystem die Stroboskopbeleuchtung fehlt oder es ansonsten benötigt, dass die relative Bewegung verlangsamt oder zeitweise angehalten wird, um die Bildunschärfe zu begrenzen, kann die Ausführung der Bilderfassungsvorgänge in der sequenziellen Reihenfolge im Datenstrommodus 740 während einer „ungefähr durchgehenden” Bewegungssequenz erfolgen. Die ungefähre Dauerbetriebssequenz kann Bewegungsvorgänge umfassen, die Bildunschärfe verhindern (z. B. Verlangsamen oder zeitweises Anhalten der ansonsten durchgehenden Bewegung, wie es von den Anforderungen der Bilderfassung vorgeschrieben wird), umfasst jedoch keine Bewegungsverzögerungen in Verbindung mit dem Ausführen der Bildanalyse oder dergleichen. Die Datenstrommodus-Ausführung bei einer derartigen Ausführungsform ist dennoch von Vorteil. Versuchsergebnisse zeigen, dass ein beispielhaftes Teileprogramm auf einem Nicht-Datenstrom- bzw. „herkömmlichen” maschinellen Sichtinspektionssystem, das 16 Bilder in einer 4×4-Matrix mit 1 mm-Schritten in der XY-Ebene erhebt, unter Verwendung des Datenstrommodus 740 ungefähr 40% schneller läuft, als wenn es den Nicht-Datenstrom- oder Bearbeitungsausführungsmodus 710 verwendet, selbst wenn es während des Ausführens von Bilderfassungsvorgängen in einer sequenziellen Reihenfolge während einer ungefähr durchgehenden Bilderfassungssequenz zeitweise anhält oder wesentlich langsamer wird. Somit können im Allgemeinen diverse hier angesprochene Ausführungsformen das Ausführen von Bilderfassungsvorgängen während einer durchgehenden Bilderfassungssequenz umfassen, die mindestens eines umfasst von (a) Vorgängen, bei denen sich der Arbeitstisch und der Bildgebungsabschnitt zum Erfassen der Bilder im Verhältnis zueinander durchgehend bewegen, oder (b) Vorgängen, bei denen sich der Arbeitstisch und der Bildgebungsabschnitt zum Erfassen der Bilder im Verhältnis zueinander ungefähr durchgehend bewegen, außer für Bilderfassungs-Bewegungsvorgänge, die notwendig sind, um die Bildunschärfe an Bildgebungsstellen zu begrenzen, und ohne Bewegungsverzögerungen auf Grund der Bildanalysevorgänge.In embodiments where the machine vision inspection system includes strobe lighting or other means to enable rapid image exposure without blurring, the image acquisition operations are performed in a sequential order during the data stream mode 740 during a true continuous operation sequence, wherein the work table and the imaging section move continuously relative to one another. This is the ideal case and typically results in the shortest execution times. In embodiments where the machine vision inspection system lacks strobe lighting, or otherwise requires the relative movement to be slowed or temporarily stopped to limit image blur, the image sensing operations may be performed in the sequential order in data stream mode 740 during an "approximately continuous" motion sequence. The approximate steady state sequence may include motion that prevents image blur (eg, slowing or temporarily stopping the otherwise continuous motion as dictated by image capture requirements), but does not include motion delays associated with performing image analysis or the like. The data stream mode implementation in such an embodiment is still advantageous. Experimental results show that an exemplary part program on a non-data-stream or "conventional" machine vision inspection system that collects 16 images in a 4 × 4 matrix with 1 mm increments in the XY plane, using the data stream mode 740 running about 40% faster than if it is the non-stream or edit execution mode 710 even if it temporarily pauses or becomes much slower during performing image acquisition operations in a sequential order during an approximately continuous image capture sequence. Thus, in general, various embodiments contemplated herein may include performing image acquisition operations during a continuous image acquisition sequence that includes at least one of: (a) operations wherein the work table and the imaging portion for capturing the images move continuously relative to each other, or (b) Operations in which the work table and imaging section for capturing the images move approximately continuously with respect to each other, except for image capture motion operations necessary to limit image blur at imaging sites and without motion delays due to image analysis operations.

Obwohl diverse bevorzugte und beispielhafte Ausführungsformen der vorliegenden Offenbarung erläutert und beschrieben wurden, versteht es sich, dass diverse Änderungen daran vorgenommen werden können, ohne Geist und Umfang der vorliegenden Offenbarung zu verlassen.While various preferred and exemplary embodiments of the present disclosure have been illustrated and described, it will be understood that various changes may be made therein without departing from the spirit and scope of the present disclosure.

ZITATE ENTHALTEN IN DER BESCHREIBUNG QUOTES INCLUDE IN THE DESCRIPTION

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.This list of the documents listed by the applicant has been generated automatically and is included solely for the better information of the reader. The list is not part of the German patent or utility model application. The DPMA assumes no liability for any errors or omissions.

Zitierte PatentliteraturCited patent literature

  • US 6542180 [0004] US 6542180 [0004]
  • US 7590276 [0010] US 7590276 [0010]
  • US 7454053 [0044] US 7454053 [0044]
  • US 7324682 [0044] US 7324682 [0044]
  • US 8111938 [0044] US 8111938 [0044]
  • US 8111905 [0044] US 8111905 [0044]
  • US 2013/0123945 [0056] US 2013/0123945 [0056]
  • US 2013/0125044 [0056] US 2013/0125044 [0056]
  • US 2013/0120567 [0056] US 2013/0120567 [0056]

Zitierte Nicht-PatentliteraturCited non-patent literature

  • „QVPAK 3D CNC Vision Measuring Machine User's Guide”, veröffentlicht im Januar 2003 [0003] "QVPAK 3D CNC Vision Measuring Machine User's Guide", published in January 2003 [0003]
  • „QVPAK 3D CNC Vision Measuring Machine Operation Guide”, veröffentlicht im September 1996 [0003] "QVPAK 3D CNC Vision Measuring Machine Operation Guide", published September, 1996 [0003]

Claims (33)

Präzises maschinelles Sichtinspektionssystem, umfassend einen Bildgebungsabschnitt, einen Arbeitstisch zum Halten eines oder mehrerer Werkstücke in einem Blickfeld (FOV) des Bildgebungsabschnitts, einen Steuerabschnitt, eine Anzeige und eine Benutzerschnittstelle, wobei das maschinelle Sichtinspektionssystem ferner Folgendes umfasst: einen Lernmodus, der betriebsfähig ist, um eine Benutzereingabe zu empfangen, um die Vorgänge des maschinellen Sichtinspektionssystems zu steuern, und Anweisungen aufzuzeichnen, die den gesteuerten Vorgängen entsprechen, um ein Teileprogramm zu erstellen, der betriebsfähig ist, um ein Teileprogramm zu bearbeiten, und der betriebsfähig ist, um zuvor aufgezeichnete Teileprogrammanweisungen gemäß einem Bearbeitungsausführungsmodus auszuführen, wobei der Lernmodus Benutzerschnittstellenmerkmale umfasst, die Folgendes umfassen: ein benutzersteuerbares Datenstrommodus-Anweisungselement, das verwendbar ist, um ein Datenstrommodus-Segment zu bezeichnen, das ein Segment eines Teileprogramms umfasst, das für die Datenstrommodus-Ausführung bezeichnet ist; und eine bearbeitbare Teileprogrammdarstellung von Teileprogrammanweisungen, die Darstellungen von Bilderfassungsanweisungen, die Bilderfassungsvorgängen entsprechen, Darstellungen von Bildanalyseanweisungen, die Bildanalysevorgängen entsprechen, und eine Darstellung des Datenstrommodus-Segments umfasst; und einen Laufmodus, der betriebsfähig ist, um ein zuvor erstelltes Teileprogramm auszuführen, wobei der Laufmodus einen Nicht-Datenstrommodus zum Ausführen von Teileprogrammanweisungen, die sich nicht in einem Datenstrommodus-Segment befinden, und einen Datenstrommodus zum Ausführen von Teileprogrammanweisungen, die sich in einem Datenstrommodus-Segment befinden, umfasst, wobei der Lernmodus derart konfiguriert ist, dass: die bearbeitbare Teileprogrammdarstellung eine erste Vielzahl von Teileprogrammanweisungen darstellt, die Bilderfassungs- und entsprechende Bildanalyseanweisungen in einer ersten Reihenfolge umfassen, die einer Reihenfolge entspricht, in der die entsprechenden gesteuerten Vorgängen ausgeführt wurden, um das Teileprogramm zu erstellen; und der Bearbeitungsausführungsmodus die Bilderfassungsanweisungen des Teileprogramms und die entsprechenden Bildanalyseanweisungen der ersten Vielzahl von Teileprogrammanweisungen ausführt, um die Bilderfassungsvorgänge und die entsprechenden Bildanalysevorgänge auf eine Art und Weise auszuführen, die mit der ersten Reihenfolge vereinbar ist, unabhängig davon, ob sich die erste Vielzahl von Teileprogrammanweisungen in einem Datenstrommodus-Segment befindet oder nicht; und der Laufmodus derart konfiguriert ist, dass: der Datenstrommodus die erste Vielzahl von Teileprogrammanweisungen, wenn sie in einem Datenstrommodus-Segment enthalten ist, gemäß einer zweiten Reihenfolge ausführt, wobei die zweite Reihenfolge Folgendes umfasst: Ausführen der ersten Vielzahl von Bilderfassungsanweisungen des Teileprogramms, um ihre entsprechenden Bilderfassungsvorgänge in einer sequenziellen Reihenfolge unabhängig von der Ausführung der entsprechenden Bildanalysevorgänge auszuführen, und Ausführen der ersten Vielzahl von Bildanalyseanweisungen des Teileprogramms, um ihre entsprechenden Bildanalysevorgänge auszuführen, nachdem ihre entsprechenden Bilder erfasst wurden.A precision machine vision inspection system comprising an imaging section, a work table for holding one or more workpieces in a field of view (FOV) of the imaging section, a control section, a display, and a user interface, the machine vision inspection system further comprising: a learning mode operable to receive user input to control the operations of the machine vision inspection system, and to record instructions corresponding to the controlled operations to create a part program operable to process a part program; is operable to execute prerecorded part program instructions according to a processing execution mode, the learning mode comprising user interface features comprising: a user-controllable data stream mode instruction item useable to designate a data stream mode segment comprising a segment of a part program designated for data stream mode execution; and an editable parts program representation of part program instructions comprising representations of image capture instructions that correspond to image capture operations, representations of image analysis instructions that correspond to image analysis operations, and a representation of the data stream mode segment; and a run mode operable to execute a previously created part program, the run mode being a non-data stream mode for executing part program instructions that are not in a data stream mode segment and a data stream mode for executing part program instructions that are in a data stream mode. Segment, includes, where the learning mode is configured such that: the editable part program representation represents a first plurality of part program instructions that include image capture and corresponding image analysis instructions in a first order that corresponds to an order in which the corresponding controlled operations were performed to create the part program; and the processing execution mode executes the image acquisition instructions of the part program and the corresponding image analysis instructions of the first plurality of part program instructions to perform the image acquisition operations and the corresponding image analysis operations in a manner consistent with the first order, irrespective of whether the first plurality of part program instructions in a data stream mode segment or not; and the run mode is configured such that: the data stream mode executes the first plurality of part program instructions when contained in a data stream mode segment according to a second order, the second order comprising: Executing the first plurality of image capturing instructions of the part program to perform their respective image capturing operations in a sequential order independently of the execution of the respective image analysis operations, and executing the first plurality of image analysis instructions of the part program to perform their respective image analysis operations after their corresponding images are captured. System nach Anspruch 1, wobei die Ausführung der Bilderfassungsvorgänge in einer sequenziellen Reihenfolge während einer Dauerbetriebssequenz erfolgt, wobei sich der Arbeitstisch und der Bildgebungsabschnitt zum Erfassen der Bilder im Verhältnis zueinander durchgehend bewegen.The system of claim 1, wherein the image acquisition operations are performed in a sequential order during a continuous operation sequence, wherein the work table and the imaging section for capturing the images move continuously relative to one another. System nach Anspruch 1, wobei die Ausführung der Bilderfassungsvorgänge in einer sequenziellen Reihenfolge während einer durchgehenden Bilderfassungssequenz erfolgt, wobei sich der Arbeitstisch und der Bildgebungsabschnitt zum Erfassen der Bilder im Verhältnis zueinander ungefähr durchgehend bewegen, mit Ausnahme von Bilderfassungs-Bewegungsvorgängen, die notwendig sind, um die Bildunschärfe an Bildgebungsstellen zu begrenzen, und ohne Bewegungsverzögerungen auf Grund von Bildanalysevorgängen.The system of claim 1, wherein the image acquisition operations are performed in a sequential order during a continuous image acquisition sequence, wherein the work table and the image acquisition portion for acquiring the images move approximately continuously with respect to each other, except for image acquisition movement operations that are necessary limit image blur at imaging sites, and without motion delays due to image analysis operations. System nach Anspruch 1, wobei die Ausführung der Bildanalysevorgänge, nachdem ihre entsprechenden Bilder erfasst wurden, mindestens teilweise während der sequenziellen Reihenfolge von Bilderfassungsvorgängen erfolgt.The system of claim 1, wherein the execution of the image analysis operations after their respective images have been captured occurs at least in part during the sequential order of image acquisition operations. System nach Anspruch 1, wobei der Nicht-Datenstrom-Ausführungsmodus die Bilderfassungsanweisungen und die entsprechenden Bildanalyseanweisungen der ersten Vielzahl von Teileprogrammanweisungen ausführt, die sich nicht in einem Datenstrommodus-Segment befinden, um die Bilderfassungsvorgänge und die entsprechenden Bildanalysevorgänge auf eine Art und Weise auszuführen, die mit der ersten Reihenfolge vereinbar ist.The system of claim 1, wherein the non-stream execution mode executes the image capture instructions and the corresponding image analysis instructions of the first plurality of part program instructions that are not in a data stream mode segment to perform the image capture operations and the corresponding image analysis operations in a manner is compatible with the first order. System nach Anspruch 1, wobei der Lernmodus derart konfiguriert ist, dass, wenn ein Teileprogramm, das ein Datenstrommodus-Segment umfasst, zur Bearbeitung abgerufen wird, die bearbeitbare Teileprogrammdarstellung in der ersten Reihenfolge angezeigt wird, und der Bearbeitungsausführungsmodus die Bilderfassungsvorgänge und die entsprechenden Bildanalysevorgänge auf eine Art und Weise ausführt, die mit der ersten Reihenfolge vereinbar ist. The system of claim 1, wherein the learning mode is configured such that when a part program including a data stream mode segment is retrieved for editing, the editable part program representation is displayed in the first order, and the editing execution mode includes the image acquisition operations and the corresponding image analysis operations performs a manner consistent with the first order. System nach Anspruch 1, wobei der Lernmodus derart konfiguriert ist, dass ein Benutzer eine Anweisungsdarstellung des Teileprogramms, die in einem Datenstrommodus-Segment enthalten ist, als eine Stelle zum Einleiten des Bearbeitungsausführungsmodus von entsprechenden Teileprogrammanweisungen auswählen kann, wonach die nachfolgenden Teileprogrammanweisungen auf eine Art und Weise ausgeführt werden, die mit der ersten Reihenfolge vereinbar ist.The system of claim 1, wherein the learning mode is configured such that a user can select an instruction representation of the part program included in a data stream mode segment as a point for initiating the edit execution mode of corresponding part program instructions, after which the subsequent part program instructions are sorted and Be performed manner that is consistent with the first order. System nach Anspruch 7, wobei die nachfolgenden Teileprogrammanweisungen auf eine Art und Weise ausgeführt werden, die mit der ersten Reihenfolge vereinbar ist.The system of claim 7, wherein the subsequent part program instructions are executed in a manner consistent with the first order. System nach Anspruch 1, wobei das Datenstrommodus-Segment einen ersten Satz von Anweisungen und einen zweiten Satz von Anweisungen umfasst, wobei der erste Satz von Anweisungen erste Bilderfassungsanweisungen und erste Bildanalyseanweisungen umfasst, die Video-Tool-Anweisungen eines ersten Video-Tools umfassen, und der zweite Satz von Anweisungen zweite Bilderfassungsanweisungen und zweite Bildanalyseanweisungen umfasst, die Video-Tool-Anweisungen eines zweiten Video-Tools umfassen, wobei im Bearbeitungsausführungsmodus die ersten Bilderfassungsanweisungen und die ersten Bildanalyseanweisungen, die Video-Tool-Anweisungen des ersten Video-Tools umfassen, ausgeführt werden, bevor mit der Ausführung der zweiten Bilderfassungsanweisungen und der zweiten Bildanalyseanweisungen, die Video-Tool-Anweisungen des zweiten Video-Tools umfassen, begonnen wird; und im Laufmodus das Datenstrommodus-Segment auf Grund des Datenstrommodus-Anweisungselements im Datenstrommodus ausgeführt wird, und im Laufausführungsmodus des Datenstrommodus-Segments die ersten und zweiten Bilderfassungsanweisungen in einer sequenziellen Reihenfolge unabhängig von der Ausführung der entsprechenden ersten und zweiten Bildanalysevorgänge, die Video-Tool-Anweisungen des ersten und zweiten Video-Tools umfassen, ausgeführt werden.The system of claim 1, wherein the data stream mode segment comprises a first set of instructions and a second set of instructions, the first set of instructions comprising first image capture instructions and first image analysis instructions comprising video tool instructions of a first video tool, and the second set of instructions executes second image capture instructions and second image analysis instructions that include video tool instructions of a second video tool, wherein in the edit execution mode executes the first image capture instructions and the first image analysis instructions that comprise video tool instructions of the first video tool before commencing the execution of the second image capture instructions and the second image analysis instructions comprising video tool instructions of the second video tool; and in the run mode, the data stream mode segment is executed in data stream mode based on the data stream mode instructing element, and in the run execution mode of the data stream mode segment, the first and second image capture instructions in a sequential order independent of the execution of the respective first and second image analysis operations, the video tool mode. Instructions for the first and second video tools include. System nach Anspruch 9, wobei das Teileprogramm ferner ein Nicht-Datenstrommodus-Segment umfasst, und im Lernmodus das Nicht-Datenstrommodus-Segment von dem Datenstrommodus-Segment durch das Fehlen eines Datenstrommodus-Anweisungselements für das Nicht-Datenstrommodus-Segment unterschieden wird, wobei das Nicht-Datenstrommodus-Segment einen dritten Satz von Anweisungen und einen vierten Satz von Anweisungen umfasst, wobei der dritte Satz von Anweisungen dritte Bilderfassungsanweisungen und dritte Bildanalyseanweisungen umfasst, die Video-Tool-Anweisungen eines dritten Video-Tools umfassen, und der vierte Satz von Anweisungen vierte Bilderfassungsanweisungen und vierte Bildanalyseanweisungen umfasst, die Video-Tool-Anweisungen eines vierten Video-Tools umfassen, wobei im Bearbeitungsausführungsmodus die dritten Bilderfassungsanweisungen und die dritten Bildanalyseanweisungen, die Video-Tool-Anweisungen des dritten Video-Tools umfassen, ausgeführt werden, bevor mit der Ausführung der vierten Bilderfassungsanweisungen und der vierten Bildanalyseanweisungen, die Video-Tool-Anweisungen des vierten Video-Tools umfassen, begonnen wird; und im Laufmodus das Nicht-Datenstrommodus-Segment auf Grund des Fehlens eines Datenstrommodus-Anweisungselements für das Nicht-Datenstrommodus-Segment im Nicht-Datenstrommodus ausgeführt wird, und im Laufausführungsmodus des Nicht-Datenstrommodus-Segments die dritten und vierten Bilderfassungsanweisungen in einer sequenziellen Reihenfolge unabhängig von der Ausführung der entsprechenden dritten und vierten Bildanalysevorgänge, die Video-Tool-Anweisungen der dritten und vierten Video-Tools umfassen, ausgeführt werden.The system of claim 9, wherein the parts program further comprises a non-stream mode segment, and in the learning mode, discriminating the non-stream mode segment from the stream mode segment by the absence of a stream mode instruction element for the non-stream mode segment The non-stream mode segment comprises a third set of instructions and a fourth set of instructions, the third set of instructions comprising third image capture instructions and third image analysis instructions comprising video tool instructions of a third video tool, and the fourth set of instructions fourth image capture instructions and fourth image analysis instructions comprising video tool instructions of a fourth video tool, wherein in the edit execution mode, the third image capture instructions and the third image analysis instructions comprising video tool instructions of the third video tool are executed before using the Execution of the fourth image capture instructions and the fourth image analysis instructions that include video tool instructions of the fourth video tool are started; and in the run mode, the non-stream mode segment is executed due to the absence of a stream mode instruction element for the non-stream mode segment in the non-stream mode, and in the stream execution mode of the non-stream mode segment, the third and fourth frame captures are independent in a sequential order execution of the corresponding third and fourth image analysis operations including video tool instructions of the third and fourth video tools. System nach Anspruch 9, wobei die ersten und zweiten Video-Tools Kantenerkennungs-Video-Tools umfassen.The system of claim 9, wherein the first and second video tools comprise edge detection video tools. System nach Anspruch 9, wobei im Lernmodus die ersten und zweiten Sätze von Anweisungen in der ersten Reihenfolge ausgeführt werden, wobei mindestens einige der ersten und zweiten Bilderfassungsanweisungen mit den Video-Tool-Anweisungen des ersten Video-Tools und des zweiten Video-Tools durchsetzt sind, wobei die Anweisungen an der Benutzerschnittstelle in der ersten Reihenfolge angezeigt werden; und während des Laufmodus im Datenstrommodus die Teileprogrammanweisung, die dem Datenstrommodus-Segment entspricht, verarbeitet wird, um eine Bilderfassungsroutine zu bestimmen, welche die Bilderfassungsanweisungen der ersten und zweiten Sätze von Anweisungen, jedoch nicht die Video-Tool-Anweisungen umfasst, die Bilderfassungsroutine zum Erfassen der Bilder ausgeführt wird, und während die Bilderfassungsroutine ausgeführt wird, die Video-Tool-Anweisungen ausgeführt werden.The system of claim 9, wherein in the learn mode, the first and second sets of instructions are executed in the first order, wherein at least some of the first and second image capture instructions are interspersed with the video tool instructions of the first video tool and the second video tool wherein the instructions are displayed on the user interface in the first order; and during the data stream mode run mode, processing the part program instruction corresponding to the data stream mode segment to determine an image capture routine that includes the image capture instructions of the first and second sets of instructions but not the video tool instructions, the image capture routine for capture the image is being executed, and while the image capture routine is running, the video tool instructions are being executed. System nach Anspruch 12, wobei während des Laufmodus im Datenstrommodus mindestens ein Teil der Ausführung der Video-Tool-Anweisungen während des zweiten Durchgangs durch das Datenstrommodus-Segment parallel zur Ausführung der Bilderfassungsroutine erfolgt.The system of claim 12, wherein during the data mode mode run mode, at least a portion of the execution of the video tool instructions during the second pass through the data stream mode segment occurs in parallel with the execution of the image capture routine. System nach Anspruch 12, wobei im Laufmodus während der Ausführung der Bilderfassungsroutine eine Vielzahl der Bilderfassungsanweisungen der Reihe nach ausgeführt werden, wobei unterdessen alle Video-Tool-Anweisungen, die im Lernmodus durchsetzt waren, noch nicht ausgeführt wurden, so dass die Anweisungen in der zweiten Reihenfolge ausgeführt werden, die anders als die erste Reihenfolge ist.The system of claim 12, wherein in run mode, during the execution of the image capture routine, a plurality of the image capture instructions are executed in sequence, meanwhile all video tool instructions interspersed in the learn mode have not been executed, so that the instructions in the second sequence which is different than the first order. System nach Anspruch 12, wobei sich im Laufmodus, wenn die Bilderfassungsroutine ausgeführt wird, der Arbeitstisch und der Bildgebungsabschnitt zum Erfassen der Bilder im Verhältnis zueinander durchgehend bewegen.The system of claim 12, wherein in the running mode, when the image acquisition routine is executed, the work table and the imaging section for capturing the images move continuously relative to each other. System nach Anspruch 1, wobei das Datenstrommodus-Segment des Teileprogramms durch Datenstrommodus-Anweisungsdarstellungen am Anfang und am Ende des Datenstrommodus-Segments identifiziert wird.The system of claim 1, wherein the data stream mode segment of the part program is identified by data stream mode instruction representations at the beginning and at the end of the data stream mode segment. System nach Anspruch 1, wobei im Lernmodus die Teileprogrammanweisungen innerhalb des Datenstrommodus-Segments, die in einer Teileprogrammdarstellung angezeigt werden, dazu veranlasst werden, ein identisches Aussehen wie ähnliche Teileprogrammanweisungen aufzuweisen, die sich außerhalb des Datenstrommodus-Segments befinden, so dass ein Benutzer keine andere Programmierdarstellung oder Syntax verwenden muss, wenn er Vorgänge programmiert oder bearbeitet, die sich innerhalb des Datenstrommodus-Segments statt außerhalb des Datenstrommodus-Segments befinden.The system of claim 1, wherein in the learning mode, the part program instructions within the data stream mode segment displayed in a part program representation are caused to have an identical appearance to similar part program instructions that are outside the data stream mode segment, such that one user is not Programming or syntax must be used when programming or editing operations that are within the data stream mode segment, rather than outside the data stream mode segment. Verfahren zum Bedienen eines präzisen maschinellen Sichtinspektionssystems, das einen Bildgebungsabschnitt, einen Arbeitstisch zum Halten eines oder mehrerer Werkstücke in einem Blickfeld (FOV) des Bildgebungsabschnitts, einen Steuerabschnitt, eine Anzeige und eine Benutzerschnittstelle umfasst, wobei das Verfahren folgende Schritte umfasst: Bereitstellen eines Lernmodus, der betriebsfähig ist, um eine Benutzereingabe zu empfangen, um Vorgänge des maschinellen Sichtinspektionssystems zu steuern und Anweisungen aufzuzeichnen, die den gesteuerten Vorgängen entsprechen, um ein Teileprogramm zu erstellen, der betriebsfähig ist, um ein Teileprogramm zu bearbeiten, und der betriebsfähig ist, um zuvor aufgezeichnete Teileprogrammanweisungen gemäß einem Bearbeitungsausführungsmodus auszuführen, wobei der Lernmodus Benutzerschnittstellenmerkmale umfasst, die Folgendes umfassen: ein benutzersteuerbares Datenstrommodus-Anweisungselement, das verwendbar ist, um ein Datenstrommodus-Segment zu bezeichnen, das ein Segment eines Teileprogramms umfasst, das für die Datenstrommodus-Ausführung bezeichnet ist; und eine bearbeitbare Teileprogrammdarstellung von Teileprogrammanweisungen, die Darstellungen von Bilderfassungsanweisungen, die Bilderfassungsvorgängen entsprechen, Darstellungen von Bildanalyseanweisungen, die Bildanalysevorgängen entsprechen, und eine Darstellung des Datenstrommodus-Segments umfasst; Bereitstellen eines Laufmodus, der betriebsfähig ist, um ein zuvor erstelltes Teileprogramm auszuführen, wobei der Laufmodus einen Nicht-Datenstrommodus zum Ausführen von Teileprogrammanweisungen, die sich nicht in einem Datenstrommodus-Segment befinden, und einen Datenstrommodus zum Ausführen von Teileprogrammanweisungen, die sich in einem Datenstrommodus-Segment befinden, umfasst, wobei der Lernmodus derart konfiguriert ist, dass: die bearbeitbare Teileprogrammdarstellung eine erste Vielzahl von Bilderfassungs- und entsprechenden Bildanalyseanweisungen des Teileprogramms in einer ersten Reihenfolge umfasst, die einer Reihenfolge entspricht, in der die entsprechenden gesteuerten Vorgängen ausgeführt wurden, um das Teileprogramm zu erstellen; und der Bearbeitungsausführungsmodus die Bilderfassungsanweisungen des Teileprogramms und die entsprechenden Bildanalyseanweisungen der ersten Vielzahl von Teileprogrammanweisungen ausführt, um die Bilderfassungsvorgänge und die entsprechenden Bildanalysevorgänge auf eine Art und Weise, die mit der ersten Reihenfolge vereinbar ist, unabhängig davon, ob die erste Vielzahl von Teileprogramm-Bildanweisungen in einem Datenstrommodus-Segment enthalten ist, auszuführen; und der Laufmodus derart konfiguriert ist, dass: der Datenstrommodus die erste Vielzahl von Teileprogrammanweisungen, wenn sie in einem Datenstrommodus-Segment enthalten ist, gemäß einer zweiten Reihenfolge ausführt, wobei die zweite Reihenfolge Folgendes umfasst: Ausführen der ersten Vielzahl von Bilderfassungsanweisungen des Teileprogramms, um ihre entsprechenden Bilderfassungsvorgänge in einer sequenziellen Reihenfolge unabhängig von der Ausführung der entsprechenden Bildanalysevorgänge auszuführen, und Ausführen der ersten Vielzahl von Bildanalyseanweisungen des Teileprogramms, um ihre entsprechenden Bildanalysevorgänge auszuführen, nachdem ihre entsprechenden Bilder erfasst wurden.A method of operating a precision machine vision inspection system comprising an imaging section, a work table for holding one or more workpieces in a field of view (FOV) of the imaging section, a control section, a display, and a user interface, the method comprising the steps of: Providing a learn mode operable to receive user input to control operations of the machine vision inspection system and record instructions corresponding to the controlled operations to create a part program operable to process a part program and operable is to execute previously recorded part program instructions according to a processing execution mode, the learning mode comprising user interface features comprising: a user-controllable data stream mode instruction item useable to designate a data stream mode segment comprising a segment of a part program designated for data stream mode execution; and an editable parts program representation of part program instructions comprising representations of image capture instructions that correspond to image capture operations, representations of image analysis instructions that correspond to image analysis operations, and a representation of the data stream mode segment; Provide a run mode that is operable to execute a previously created part program, wherein the run mode comprises a non-data stream mode for executing part program instructions that are not in a data stream mode segment and a data stream mode for executing part program instructions that are in a data stream mode segment the learning mode is configured such that: the editable part program representation includes a first plurality of image capture and corresponding image analysis instructions of the part program in a first order corresponding to an order in which the corresponding controlled operations were performed to create the part program; and the processing execution mode executes the image acquisition instructions of the part program and the corresponding image analysis instructions of the first plurality of part program instructions to perform the image acquisition operations and the corresponding image analysis operations in a manner consistent with the first order, irrespective of whether the first plurality of part program image instructions in a stream mode segment is included; and the run mode is configured such that: the data stream mode executes the first plurality of part program instructions when contained in a data stream mode segment according to a second order, the second order comprising: Executing the first plurality of image capturing instructions of the part program to perform their respective image capturing operations in a sequential order independently of the execution of the respective image analysis operations, and executing the first plurality of image analysis instructions of the part program to perform their respective image analysis operations after their corresponding images are captured. Verfahren nach Anspruch 18, wobei, wenn ein Teileprogramm, das ein Datenstrommodus-Segment umfasst, zur Bearbeitung abgerufen wird, die bearbeitbare Teileprogrammdarstellung in der ersten Reihenfolge angezeigt wird, und der Bearbeitungsausführungsmodus die Bilderfassungsvorgänge und die entsprechenden Bildanalysevorgänge auf eine Art und Weise ausführt, die mit der ersten Reihenfolge vereinbar ist.The method of claim 18, wherein, when a part program including a data stream mode segment is retrieved for editing, the editable part program representation is displayed in the first order, and the editing execution mode executes the image acquisition operations and the corresponding image analysis operations in a manner that is compatible with the first order. Verfahren nach Anspruch 18, wobei das Ausführen der ersten Vielzahl von Bilderfassungsanweisungen des Teileprogramms, um ihre entsprechenden Bilderfassungsvorgänge in einer sequenziellen Reihenfolge auszuführen, das Ausführen von Bilderfassungsvorgängen während einer durchgehenden Bilderfassungssequenz umfasst, die mindestens eines umfasst von (a) Vorgängen, bei denen sich der Arbeitstisch und der Bildgebungsabschnitt zum Erfassen der Bilder im Verhältnis zueinander durchgehend bewegen, oder (b) Vorgängen, bei denen sich der Arbeitstisch und der Bildgebungsabschnitt zum Erfassen der Bilder im Verhältnis zueinander ungefähr durchgehend bewegen, mit Ausnahme von Bilderfassungs-Bewegungsvorgängen, die notwendig sind, um die Bildunschärfe an Bildgebungsstellen zu begrenzen, und ohne Bewegungsverzögerungen auf Grund von Bildanalysevorgängen.The method of claim 18, wherein executing the first plurality of image capture instructions of the part program to perform their respective image capture operations in a sequential order, performing image capture operations during a continuous one An image acquisition sequence comprising at least one of: (a) operations in which the work table and the imaging section for acquiring the images move continuously relative to each other, or (b) processes in which the work table and the image acquisition section capture the image Move approximately continuously, with the exception of image capture motion necessary to limit image blur at imaging sites, and with no motion delays due to image analysis operations. Präzises maschinelles Sichtinspektionssystem, umfassend einen Bildgebungsabschnitt, einen Arbeitstisch zum Halten eines oder mehrerer Werkstücke in einem Blickfeld (FOV) des Bildgebungsabschnitts, einen Steuerabschnitt, eine Anzeige und eine Benutzerschnittstelle, wobei das maschinelle Sichtinspektionssystem ferner Folgendes umfasst: einen Lernmodus, der betriebsfähig ist, um eine Benutzereingabe zu empfangen, um die Vorgänge des maschinellen Sichtinspektionssystems zu steuern und Anweisungen aufzuzeichnen, die den gesteuerten Vorgängen entsprechen, um ein Teileprogramm zu erstellen, der betriebsfähig ist, um ein Teileprogramm zu bearbeiten, und der betriebsfähig ist, um zuvor aufgezeichneter Teileprogrammanweisungen gemäß einem Bearbeitungsausführungsmodus auszuführen, wobei der Lernmodus Benutzerschnittstellenmerkmale umfasst, die Folgendes umfassen: eine bearbeitbare Teileprogrammdarstellung von Teileprogrammanweisungen, die Darstellungen von Bilderfassungsanweisungen, die Bilderfassungsvorgängen entsprechen, und Darstellungen von Bildanalyseanweisungen, die Bildanalysevorgängen entsprechen, umfasst; einen Laufmodus, der betriebsfähig ist, um ein zuvor erstelltes Teileprogramm auszuführen, wobei der Laufmodus einen Datenstrommodus zum Ausführen von Teileprogrammanweisungen umfasst, wobei der Lernmodus derart konfiguriert ist, dass: die bearbeitbare Teileprogrammdarstellung eine erste Vielzahl von Teileprogrammanweisungen darstellt, die Bilderfassungs- und entsprechende Bildanalyseanweisungen in einer ersten Reihenfolge umfassen, die einer Reihenfolge entspricht, in der die entsprechenden gesteuerten Vorgänge ausgeführt wurden, um das Teileprogramm zu erstellen; und der Bearbeitungsausführungsmodus die Bilderfassungsanweisungen des Teileprogramms und die entsprechenden Bildanalyseanweisungen der ersten Vielzahl von Teileprogrammanweisungen ausführt, um die Bilderfassungsvorgänge und die entsprechenden Bildanalysevorgänge auf eine Art und Weise auszuführen, die mit der ersten Reihenfolge vereinbar ist; und der Laufmodus derart konfiguriert ist, dass: der Datenstrommodus die erste Vielzahl von Teileprogrammanweisungen gemäß einer zweiten Reihenfolge ausführt, wobei die zweite Reihenfolge Folgendes umfasst: Ausführen der ersten Vielzahl von Bilderfassungsanweisungen des Teileprogramms, um ihre entsprechenden Bilderfassungsvorgänge in einer sequenziellen Reihenfolge unabhängig von der Ausführung der entsprechenden Bildanalysevorgänge auszuführen, und Ausführen der ersten Vielzahl von Bildanalyseanweisungen des Teileprogramms, um ihre entsprechenden Bildanalysevorgänge auszuführen, nachdem ihre entsprechenden Bilder erfasst wurden.A precision machine vision inspection system comprising an imaging section, a work table for holding one or more workpieces in a field of view (FOV) of the imaging section, a control section, a display, and a user interface, the machine vision inspection system further comprising: a learn mode operable to receive user input to control the operations of the machine vision inspection system and to record instructions corresponding to the controlled operations to create a part program operable to process a part program and operable is to execute previously recorded part program instructions according to a editing execution mode, the learning mode comprising user interface features comprising: an editable parts program representation of part program instructions comprising representations of image capture instructions that correspond to image capture operations and representations of image analysis instructions that correspond to image analysis operations; a run mode operable to execute a previously created part program, the run mode comprising a data stream mode for executing part program instructions, wherein the learning mode is configured such that: the editable part program representation represents a first plurality of part program instructions that include image capture and corresponding image analysis instructions in a first order that corresponds to an order in which the corresponding controlled operations were performed to create the part program; and the processing execution mode executes the image acquisition instructions of the part program and the corresponding image analysis instructions of the first plurality of part program instructions to perform the image acquisition operations and the corresponding image analysis operations in a manner consistent with the first order; and the run mode is configured such that: the data stream mode executes the first plurality of part program instructions according to a second order, the second order comprising: Executing the first plurality of image capturing instructions of the part program to perform their respective image capturing operations in a sequential order independently of the execution of the respective image analysis operations, and executing the first plurality of image analysis instructions of the part program to perform their respective image analysis operations after their corresponding images are captured. System nach Anspruch 21, wobei die Ausführung der Bilderfassungsvorgänge in einer sequenziellen Reihenfolge während einer durchgehenden Bilderfassungssequenz erfolgt, die mindestens eines umfasst von (a) Vorgängen, bei denen sich der Arbeitstisch und der Bildgebungsabschnitt zum Erfassen der Bilder im Verhältnis zueinander durchgehend bewegen, oder (b) Vorgängen, bei denen sich der Arbeitstisch und der Bildgebungsabschnitt zum Erfassen der Bilder im Verhältnis zueinander ungefähr durchgehend bewegen, mit Ausnahme von Bilderfassungs-Bewegungsvorgängen, die notwendig sind, um die Bildunschärfe an Bildgebungsstellen zu begrenzen, und ohne Bewegungsverzögerungen auf Grund von Bildanalysevorgängen.The system of claim 21, wherein the image acquisition operations are performed in a sequential order during a continuous image acquisition sequence comprising at least one of: (a) operations in which the work table and the imaging section for capturing the images move continuously relative to each other; b) Operations in which the work table and imaging section for capturing the images move approximately continuously, with the exception of image capture motion necessary to limit image blur at imaging sites, and without motion delays due to image analysis operations. System nach Anspruch 21, wobei die Ausführung der Bildanalysevorgänge, nachdem ihre entsprechenden Bilder erfasst wurden, mindestens teilweise während der sequenziellen Reihenfolge von Bilderfassungsvorgängen ausgeführt wird.The system of claim 21, wherein the execution of the image analysis operations after their respective images have been captured is performed at least in part during the sequential order of image acquisition operations. System nach Anspruch 21, wobei der Lernmodus derart konfiguriert ist, dass, wenn ein Teileprogramm, das unter Verwendung des Datenstrommodus im Laufmodus ausgeführt wird, zur Bearbeitung abgerufen wird, die bearbeitbare Teileprogrammdarstellung in der ersten Reihenfolge angezeigt wird, und der Bearbeitungsausführungsmodus die Bilderfassungsvorgänge und die entsprechenden Bildanalysevorgänge auf eine Art und Weise ausführt, die mit der ersten Reihenfolge vereinbar ist.The system of claim 21, wherein the learning mode is configured such that when a part program executed using the data stream mode in the run mode is retrieved for editing, the editable part program representation is displayed in the first order, and the editing execution mode is the image capturing operations and perform corresponding image analysis operations in a manner consistent with the first order. System nach Anspruch 21, wobei das Teileprogramm, das unter Verwendung des Datenstrommodus im Laufmodus ausgeführt wird, einen ersten Satz von Anweisungen und einen zweiten Satz von Anweisungen umfasst, wobei der erste Satz von Anweisungen erste Bilderfassungsanweisungen und erste Bildanalyseanweisungen umfasst, die Video-Tool-Anweisungen eines ersten Video-Tools umfassen, und der zweite Satz von Anweisungen zweite Bilderfassungsanweisungen und zweite Bildanalyseanweisungen umfasst, die Video-Tool-Anweisungen eines zweiten Video-Tools umfassen, wobei im Bearbeitungsausführungsmodus die ersten Bilderfassungsanweisungen und die ersten Bildanalyseanweisungen, die Video-Tool-Anweisungen des ersten Video-Tools umfassen, ausgeführt werden, bevor mit der Ausführung der zweiten Bilderfassungsanweisungen und der zweiten Bildanalyseanweisungen, die Video-Tool-Anweisungen des zweiten Video-Tools umfassen, begonnen wird; und im Laufmodus das Teileprogramm im Datenstrommodus ausgeführt wird, wobei die ersten und zweiten Bilderfassungsanweisungen in einer sequenziellen Reihenfolge unabhängig von der Ausführung der entsprechenden ersten und zweiten Bildanalysevorgänge, die Video-Tool-Anweisungen der ersten und zweiten Video-Tools umfassen, ausgeführt werden.The system of claim 21, wherein the part program executing using the data stream mode in run mode comprises a first set of instructions and a second set of instructions, the first set of instructions comprising first image capture instructions and first image analysis instructions that are video tooling. Comprise instructions of a first video tool, and the second set of instructions comprises second image capture instructions and second image analysis instructions comprising video tool instructions of a second video tool, wherein in the editing execution mode the first image capture instructions and the first image analysis instructions, the video tooling instructions Instructions of the first video Tools include executing before commencing the execution of the second image capture instructions and the second image analysis instructions comprising video tool instructions of the second video tool; and in the run mode, the part program is executed in the data stream mode, the first and second image capturing instructions being executed in a sequential order independent of the execution of the respective first and second image analysis operations comprising video tool instructions of the first and second video tools. System nach Anspruch 25, wobei im Lernmodus die ersten und zweiten Sätze von Anweisungen in der ersten Reihenfolge ausgeführt werden, wobei mindestens einige der ersten und zweiten Bilderfassungsanweisungen mit Video-Tool-Anweisungen des ersten Video-Tools und des zweiten Video-Tools durchsetzt sind, wobei die Anweisungen an der Benutzerschnittstelle in der ersten Reihenfolge angezeigt werden; und im Laufmodus die Teileprogrammanweisungen verarbeitet werden, um eine Bilderfassungssequenz oder Routine zu bestimmen, welche die Bilderfassungsanweisungen der ersten und zweiten Sätze von Anweisungen, jedoch nicht die Video-Tool-Anweisungen umfasst, wobei die Bilderfassungssequenz oder die Routine zum Erfassen der Bilder ausgeführt wird, und während die Bilderfassungssequenz oder Routine ausgeführt wird, die Video-Tool-Anweisungen ausgeführt werden.The system of claim 25, wherein in the learn mode, the first and second sets of instructions are executed in the first order, wherein at least some of the first and second image capture instructions are interspersed with video tool instructions of the first video tool and the second video tool, wherein the instructions are displayed on the user interface in the first order; and in run mode, the part program instructions are processed to determine an image capture sequence or routine that includes the image capture instructions of the first and second sets of instructions, but not the video tool instructions, wherein the image capture sequence or the image capture routine is performed; and while the image capture sequence or routine is being executed, the video tool instructions are executed. System nach Anspruch 21, wobei: der Lernmodus Benutzerschnittstellenmerkmale umfasst, die ferner ein benutzersteuerbares Datenstrommodus-Anweisungselement umfassen, das verwendbar ist, um ein Datenstrommodus-Segment zu bezeichnen, das ein Segment eines Teileprogramms umfasst, das für die Datenstrommodus-Ausführung bezeichnet ist; die bearbeitbare Teileprogrammdarstellung von Teileprogrammanweisungen ferner eine Darstellung des Datenstrommodus-Segments umfasst; der Laufmodus ferner einen Nicht-Datenstrommodus zum Ausführen von Teileprogrammanweisungen, die sich nicht in einem Datenstrommodus-Segment befinden, zusätzlich zu dem Datenstrommodus, der verwendet wird, um Teileprogrammanweisungen, die sich in einem Datenstrommodus-Segment befinden, auszuführen, umfasst; im Lernmodus der Bearbeitungsausführungsmodus die Bilderfassungsanweisungen des Teileprogramms und die entsprechenden Bildanalyseanweisungen der ersten Vielzahl von Teileprogrammanweisungen ausführt, um die Bilderfassungsvorgänge und die entsprechenden Bildanalysevorgänge auf eine Art und Weise, die mit der ersten Reihenfolge vereinbar ist, unabhängig davon, ob die erste Vielzahl von Teileprogrammanweisungen in einem Datenstrommodus-Segment enthalten ist oder nicht, auszuführen; und im Laufmodus der Datenstrommodus die erste Vielzahl von Teileprogrammanweisungen gemäß der zweiten Reihenfolge nur unter der Bedingung ausführt, dass sie in einem Datenstrommodus-Segment enthalten sind.The system of claim 21, wherein: the learning mode comprises user interface features further comprising a user controllable data stream mode instruction item useable to designate a data stream mode segment comprising a segment of a part program designated for data stream mode execution; the editable part program representation of part program instructions further comprises a representation of the data stream mode segment; the run mode further comprises a non-data stream mode for executing part program instructions that are not in a data stream mode segment in addition to the data stream mode used to execute part program instructions that are in a data stream mode segment; in the learning mode, the editing execution mode executes the part program image acquisition instructions and the corresponding image analysis instructions of the first plurality of part program instructions to perform the image acquisition operations and the corresponding image analysis operations in a manner consistent with the first order, irrespective of whether the first plurality of part program instructions in FIG a stream mode segment or not; and in the run mode, the data stream mode executes the first plurality of part program instructions according to the second order only under the condition that they are included in a data stream mode segment. Verfahren zum Bedienen eines präzisen maschinellen Sichtinspektionssystems, das einen Bildgebungsabschnitt, einen Arbeitstisch zum Halten eines oder mehrerer Werkstücke in einem Blickfeld (FOV) des Bildgebungsabschnitts, einen Steuerabschnitt, eine Anzeige und eine Benutzerschnittstelle umfasst, wobei das Verfahren folgende Schritte umfasst: Bereitstellen eines Lernmodus, der betriebsfähig ist, um eine Benutzereingabe zu empfangen, um die Vorgänge des maschinellen Sichtinspektionssystems zu steuern und Anweisungen aufzuzeichnen, die den gesteuerten Vorgängen entsprechen, um ein Teileprogramm zu erstellen, der betriebsfähig ist, um ein Teileprogramm zu bearbeiten, und der betriebsfähig ist, um zuvor aufgezeichnete Teileprogrammanweisungen gemäß einem Bearbeitungsausführungsmodus auszuführen, wobei der Lernmodus Benutzerschnittstellenmerkmale umfasst, die Folgendes umfassen: eine bearbeitbare Teileprogrammdarstellung von Teileprogrammanweisungen, die Darstellungen von Bilderfassungsanweisungen, die Bilderfassungsvorgängen entsprechen, und Darstellungen von Bildanalyseanweisungen, die Bildanalysevorgängen entsprechen, umfasst; Bereitstellen eines Laufmodus, der betriebsfähig ist, um ein zuvor erstelltes Teileprogramm auszuführen, wobei der Laufmodus einen Datenstrommodus zum Ausführen von Teileprogrammanweisungen umfasst, wobei der Lernmodus derart konfiguriert ist, dass: die bearbeitbare Teileprogrammdarstellung eine erste Vielzahl von Bilderfassungs- und entsprechenden Bildanalyseanweisungen des Teileprogramms in einer ersten Reihenfolge, die einer Reihenfolge entspricht, in der die entsprechenden gesteuerten Vorgängen ausgeführt wurden, um das Teileprogramm zu erstellen, darstellt; und der Bearbeitungsausführungsmodus die Bilderfassungsanweisungen des Teileprogramms und die entsprechenden Bildanalyseanweisungen der ersten Vielzahl von Teileprogrammanweisungen ausführt, um die Bilderfassungsvorgänge und die entsprechenden Bildanalysevorgänge auf eine Art und Weise, die mit der ersten Reihenfolge vereinbar ist, auszuführen; und der Laufmodus derart konfiguriert ist, dass: der Datenstrommodus die erste Vielzahl von Teileprogrammanweisungen gemäß einer zweiten Reihenfolge ausführt, wobei die zweite Reihenfolge Folgendes umfasst: Ausführen der ersten Vielzahl von Bilderfassungsanweisungen des Teileprogramms, um ihre entsprechenden Bilderfassungsvorgänge in einer sequenziellen Reihenfolge unabhängig von der Ausführung der entsprechenden Bildanalysevorgänge auszuführen, und Ausführen der ersten Vielzahl von Bildanalyseanweisungen des Teileprogramms, um ihre entsprechenden Bildanalysevorgänge auszuführen, nachdem ihre entsprechenden Bilder erfasst wurden.A method of operating a precision machine vision inspection system comprising an imaging section, a work table for holding one or more workpieces in a field of view (FOV) of the imaging section, a control section, a display, and a user interface, the method comprising the steps of: providing a learn mode; operable to receive user input to control the operations of the machine vision inspection system and record instructions corresponding to the controlled operations to create a part program operable to process a part program and operable to execute prerecorded part program instructions according to a machining execution mode, the learning mode comprising user interface features comprising: an editable parts program representation of part program instructions that represent images of images instructions that correspond to image capture operations, and representations of image analysis instructions that correspond to image analysis operations; Providing a run mode operable to execute a previously created part program, the run mode comprising a data stream mode for executing part program instructions, the learn mode configured such that: the editable part program representation includes a first plurality of image capture and corresponding image analysis instructions of the part program in FIG a first order corresponding to an order in which the corresponding controlled operations were executed to create the part program; and the execution execution mode executes the image acquisition instructions of the part program and the corresponding image analysis instructions of the first plurality of part program instructions to perform the image acquisition operations and the corresponding image analysis operations in a manner consistent with the first order; and the run mode is configured such that: the data stream mode executes the first plurality of part program instructions according to a second order, the second order comprising: executing the first plurality of image capture instructions of the part program to obtain their perform respective image acquisition operations in a sequential order independently of the execution of the corresponding image analysis operations, and execute the first plurality of image analysis instructions of the part program to perform their respective image analysis operations after their respective images are acquired. Verfahren nach Anspruch 28, wobei die Ausführung der Bilderfassungsvorgänge in einer sequenziellen Reihenfolge während einer durchgehenden Bilderfassungssequenz erfolgt, die mindestens eines umfasst von (a) Vorgängen, bei denen sich der Arbeitstisch und der Bildgebungsabschnitt zum Erfassen der Bilder im Verhältnis zueinander durchgehend bewegen, oder (b) Vorgängen, bei denen sich der Arbeitstisch und der Bildgebungsabschnitt zum Erfassen der Bilder im Verhältnis zueinander ungefähr durchgehend bewegen, mit Ausnahme von Bilderfassungs-Bewegungsvorgängen, die notwendig sind, um die Bildunschärfe an Bildgebungsstellen zu begrenzen, und ohne Bewegungsverzögerungen auf Grund von Bildanalysevorgängen.The method of claim 28, wherein the image acquisition operations are performed in a sequential order during a continuous image acquisition sequence comprising at least one of: (a) operations in which the work table and the imaging section for capturing the images move continuously relative to each other; b) Operations in which the work table and imaging section for capturing the images move approximately continuously, with the exception of image capture motion necessary to limit image blur at imaging sites, and without motion delays due to image analysis operations. Verfahren nach Anspruch 28, wobei die Ausführung der Bildanalysevorgänge, nachdem ihre entsprechenden Bilder erfasst wurden, mindestens teilweise während der sequenziellen Reihenfolge von Bilderfassungsvorgängen erfolgt.The method of claim 28, wherein the execution of the image analysis operations after their respective images have been captured occurs at least in part during the sequential order of image acquisition operations. Verfahren nach Anspruch 28, wobei der Lernmodus derart konfiguriert ist, dass, wenn ein Teileprogramm, das unter Verwendung des Datenstrommodus im Laufmodus ausgeführt wird, zur Bearbeitung abgerufen wird, die bearbeitbare Teileprogrammdarstellung in der ersten Reihenfolge angezeigt wird, und der Bearbeitungsausführungsmodus die Bilderfassungsvorgänge und die entsprechenden Bildanalysevorgänge auf eine Art und Weise ausführt, die mit der ersten Reihenfolge vereinbar ist.The method of claim 28, wherein the learning mode is configured such that when a part program executed using the data stream mode in the run mode is retrieved for editing, the editable part program representation is displayed in the first order, and the editing execution mode is the image capturing operations and perform corresponding image analysis operations in a manner consistent with the first order. Verfahren nach Anspruch 28, wobei das Teileprogramm, das unter Verwendung des Datenstrommodus im Laufmodus ausgeführt wird, einen ersten Satz von Anweisungen und einen zweiten Satz von Anweisungen umfasst, wobei der erste Satz von Anweisungen erste Bilderfassungsanweisungen und erste Bildanalyseanweisungen umfasst, die Video-Tool-Anweisungen eines ersten Video-Tools umfassen, und der zweite Satz von Anweisungen zweite Bilderfassungsanweisungen und zweite Bildanalyseanweisungen umfasst, die Video-Tool-Anweisungen eines zweiten Video-Tools umfassen, wobei im Bearbeitungsausführungsmodus die ersten Bilderfassungsanweisungen und die ersten Bildanalyseanweisungen, die Video-Tool-Anweisungen des ersten Video-Tool umfassen, ausgeführt werden, bevor mit der Ausführung der zweiten Bilderfassungsanweisungen und der zweiten Bildanalyseanweisungen, die Video-Tool-Anweisungen des zweiten Video-Tools umfassen, begonnen wird; und im Laufmodus das Teileprogramm im Datenstrommodus ausgeführt wird, wobei die ersten und zweiten Bilderfassungsanweisungen in einer sequenziellen Reihenfolge unabhängig von der Ausführung der entsprechenden ersten und zweiten Bildanalysevorgänge, die Video-Tool-Anweisungen des ersten und zweiten Video-Tools umfassen, ausgeführt werden.The method of claim 28, wherein the part program executing using the data stream mode in the run mode comprises a first set of instructions and a second set of instructions, the first set of instructions comprising first image capture instructions and first image analysis instructions that are video tooling. Comprise instructions of a first video tool, and the second set of instructions comprises second image capture instructions and second image analysis instructions comprising video tool instructions of a second video tool, wherein in the editing execution mode the first image capture instructions and the first image analysis instructions, the video tooling instructions Instructions of the first video tool are executed before starting the execution of the second image capture instructions and the second image analysis instructions comprising video tool instructions of the second video tool; and in the run mode, the part program is executed in the data stream mode, the first and second image capturing instructions being executed in a sequential order independent of the execution of the respective first and second image analysis operations comprising video tool instructions of the first and second video tools. Verfahren nach Anspruch 32, wobei im Lernmodus die ersten und zweiten Sätze von Anweisungen in der ersten Reihenfolge ausgeführt werden, wobei mindestens einige der ersten und zweiten Bilderfassungsanweisungen mit den Video-Tool-Anweisungen des ersten Video-Tools und des zweiten Video-Tools durchsetzt sind, wobei die Anweisungen an der Benutzerschnittstelle in der ersten Reihenfolge angezeigt werden; und im Laufmodus die Teileprogrammanweisungen verarbeitet werden, um eine Bilderfassungssequenz oder Routine zu bestimmen, welche die Bilderfassungsanweisungen der ersten und zweiten Sätze von Anweisungen, jedoch nicht die Video-Tool-Anweisungen umfasst, die Bilderfassungsroutine ausgeführt wird, um die Bilder zu erfassen, und während die Bilderfassungsroutine ausgeführt wird, die Video-Tool-Anweisungen ausgeführt werden.The method of claim 32, wherein in the learn mode, the first and second sets of instructions are executed in the first order, wherein at least some of the first and second image capture instructions are interspersed with the video tool instructions of the first video tool and the second video tool wherein the instructions are displayed on the user interface in the first order; and in run mode the part program instructions are processed to determine an image capture sequence or routine comprising the image capture instructions of the first and second sets of instructions but not the video tool instructions, the image capture routine is executed to capture the images, and during the image capture routine is executed, the video tool instructions are executed.
DE102015208337.3A 2014-06-17 2015-05-06 WORKING ENVIRONMENT OF A MACHINE VISIBILITY SYSTEM FOR A PART PROGRAM IN WHICH A CONTINUOUS DATA STREAM OF IMAGE PROCESSING IS PERFORMED IN A RUNNING MODE Pending DE102015208337A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/307,458 2014-06-17
US14/307,458 US9167215B2 (en) 2011-11-15 2014-06-17 Machine vision system editing environment for a part program in which a continuous stream of image acquisition operations are performed during a run mode

Publications (1)

Publication Number Publication Date
DE102015208337A1 true DE102015208337A1 (en) 2015-12-17

Family

ID=54706996

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102015208337.3A Pending DE102015208337A1 (en) 2014-06-17 2015-05-06 WORKING ENVIRONMENT OF A MACHINE VISIBILITY SYSTEM FOR A PART PROGRAM IN WHICH A CONTINUOUS DATA STREAM OF IMAGE PROCESSING IS PERFORMED IN A RUNNING MODE

Country Status (3)

Country Link
JP (1) JP6585934B2 (en)
CN (1) CN105204840B (en)
DE (1) DE102015208337A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6647094B2 (en) * 2016-03-16 2020-02-14 株式会社ミツトヨ Part program generator for surface texture measuring machine

Citations (9)

* 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
US8111905B2 (en) 2009-10-29 2012-02-07 Mitutoyo Corporation Autofocus video tool and method for precise dimensional inspection
US8111938B2 (en) 2008-12-23 2012-02-07 Mitutoyo Corporation System and method for fast approximate focus
US20130120567A1 (en) 2011-11-15 2013-05-16 Mitutoyo Corporation System and method utilizing an editing initialization block in a part program editing environment in a machine vision system
US20130123945A1 (en) 2011-11-15 2013-05-16 Mitutoyo Corporation Machine vision system program editing environment including real time context generation features
US20130125044A1 (en) 2011-11-15 2013-05-16 Mitutoyo Corporation Machine Vision System Program Editing Environment Including Synchronized User Interface Features

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB8418116D0 (en) * 1984-07-17 1984-08-22 Electronic Automation Ltd Data processing
US7394926B2 (en) * 2005-09-30 2008-07-01 Mitutoyo Corporation Magnified machine vision user interface
US8902307B2 (en) * 2011-11-15 2014-12-02 Mitutoyo Corporation Machine vision system editing environment for a part program in which a continuous stream of image acquisition operations are performed during a run mode
DE112012005389T5 (en) * 2011-12-23 2014-09-11 Mitutoyo Corp. "Points-from-Focus" operations that use multiple lighting settings in a machine vision system

Patent Citations (9)

* 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
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
US20130120567A1 (en) 2011-11-15 2013-05-16 Mitutoyo Corporation System and method utilizing an editing initialization block in a part program editing environment in a machine vision system
US20130123945A1 (en) 2011-11-15 2013-05-16 Mitutoyo Corporation Machine vision system program editing environment including real time context generation features
US20130125044A1 (en) 2011-11-15 2013-05-16 Mitutoyo Corporation Machine Vision System Program Editing Environment Including Synchronized User Interface Features

Non-Patent Citations (2)

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

Also Published As

Publication number Publication date
CN105204840A (en) 2015-12-30
JP2016004043A (en) 2016-01-12
CN105204840B (en) 2020-05-12
JP6585934B2 (en) 2019-10-02

Similar Documents

Publication Publication Date Title
DE102012220875A1 (en) A machine vision system editing environment for a part program in which a continuous stream of image acquisition operations is executed during a run mode
DE102012220882B4 (en) System and method using a machining initialization block in a part program machining environment in a machine vision system
DE102009029478B4 (en) System and procedure for a quick approximate focus
DE102012220884A1 (en) Machine vision system program editing environment with real-time context generation features
DE2637496C2 (en) Device for the automatic operation of a microscope
DE602004003882T2 (en) System and method for fast automatic focusing of a machine vision system
DE102012216908B4 (en) Method using image correlation to determine position measurements in a machine vision system
DE112014002389B4 (en) Processing environment for a machine vision system program including an operational context aware copy and paste feature
DE102012224320A1 (en) Improved edge focusing tool
DE102012220759A1 (en) Machine-controlled precise inspection system for precise dimension measurement of workpiece, selects instruction representation that corresponds to respective results selected by user in result window using indicator
EP2130087B1 (en) Method and device for microscopically examining a sample, computer program, and computer program product
DE102015219495A1 (en) A method of programming a three-dimensional workpiece scan path for a metrology system
DE102011005814A1 (en) GRAPHIC USER INTERFACE FOR PROGRAMMING STEP AND REPEAT OPERATIONS IN A VISUAL MACHINE TESTING SYSTEM
DE112012005389T5 (en) "Points-from-Focus" operations that use multiple lighting settings in a machine vision system
DE112007001964T5 (en) Method for confirming three-dimensional model data and apparatus for confirming three-dimensional model data
DE102012206079A1 (en) Inspecting potentially disruptive properties in a machine-visual system
DE102014220583A1 (en) SYSTEM AND METHOD FOR CONTROLLING A TRACKING AUTOFOK (TAF) SENSOR IN A MECHANICAL VISIBILITY INSPECTION SYSTEM
DE102012211462A1 (en) Method for preparing and performing image stacking of a sample from different orientation angles
DE102016202928A1 (en) Improved autofocus method for a coordinate measuring machine
DE102013217354A1 (en) EDGE VIDEO TOOL AND INTERFACE WITH AUTOMATIC PARAMETERS ALTERNATIVES
DE102019132174A1 (en) Tag lens-assisted high-speed 3D metrology and imaging with extended depth of field
DE102013215791A1 (en) Machine vision inspection system comprising two cameras with a rotational offset
EP3303990B1 (en) Lighting control when using optical measuring devices
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
DE112017002965T5 (en) Method and system for bending a visual inspection device

Legal Events

Date Code Title Description
R012 Request for examination validly filed