(57)【要約】      （修正有）【課題】画像取得動作の連続ストリームが実行モード中に実行されるパートプログラムのマシンビジョンシステム編集環境を提供する。【解決手段】画像取得動作の連続ストリームが実行モード中に実行されるパートプログラムのためのマシンビジョンシステム編集環境が提供される。一形態では、新しい共通シンタックス及び表現が利用され、２つのステージで実行されるパートプログラムを実行し、そのような連続画像取得動作が通常動作と同じ方法で記録される。最初のステージでは、画像取得の連続ストリームを持つパートプログラムの一部が画像取得動作のためにスキャンされ、画像取得プロセスが開始された後に、画像を取得するために最も効果的な命令が決定される。そして、第２のステージでは、画像取得プロセスが実行されている間に、パートプログラムの一部が再度スキャンされ、そして画像解析動作が実行される。【選択図】図２
2013105500.tif 000002
【特許請求の範囲】
【請求項１】
撮像部と、前記撮像部の視野（ＦＯＶ）内に１つ又は複数のワークピースを保持するステージと、制御部と、ディスプレイと、ユーザインタフェースとを含む精密マシンビジョン検査システムであって、
前記マシンビジョン検査システムの動作を制御すべくユーザ入力を受け取り、被制御動作に対応する命令を記録して、パートプログラムを作成するように動作可能であり、パートプログラムを編集するように動作可能であり、実行の編集モードに従って前に記録されたパートプログラム命令を実行するように動作可能であり、ユーザインタフェース機能を含む学習モードであって、前記ユーザインタフェース機能は、
ストリームモード実行に指定されたパートプログラムのセグメントを含むストリームモードセグメントの指定に使用可能なユーザ制御可能なストリームモード命令要素、
パートプログラム命令の編集可能パートプログラム表現であって、画像取得動作に対応する画像取得命令表現、画像解析動作に対応する画像解析命令表現、及びストリームモードセグメント表現を含む、編集可能パートプログラム表現
を含む、学習モードと、
前に作成されたパートプログラムを実行するように動作可能な実行モードであって、ストリームモードセグメント内にないパートプログラム命令を実行する非ストリームモード及びストリームモードセグメント内にあるパートプログラム命令を実行するストリームモードを含む、実行モードと、
をさらに備え、
前記学習モードは、
前記編集可能パートプログラム表現が、前記対応する被制御動作が前記パートプログラム作成のために実行された順に対応する第１の順で、画像取得命令及び対応する画像解析命令を含む第１の複数のパートプログラム命令を表現し、
実行の前記編集モードは、前記第１の複数のパートプログラム命令のうちの前記パートプログラム画像取得命令及び前記対応する画像解析命令を実行して、前記第１の複数のパートプログラム命令がストリームモードセグメントに含まれるか否かに関係なく、前記第１の順に一致するように、前記画像取得動作及び前記対応する画像解析動作を実行する
ように構成され、
前記実行モードは、
前記ストリームモードが、前記第１の複数のパートプログラム命令がストリームモードセグメントに含まれる場合、第２の順に従って前記第１の複数のパートプログラム命令を実行する
ように構成され、前記第２の順は、
前記第１の複数のパートプログラムの画像取得命令を実行して、前記対応する画像解析動作の実行に依存せずに、対応する画像取得動作を順番に実行し、対応する画像が取得された後、前記第１の複数のパートプログラムの画像解析命令を実行して、対応する画像解析動作を実行することを含む、システム。
【請求項２】
前記画像取得動作の実行は、連続移動シーケンス中に行われ、前記連続移動シーケンスでは、前記ステージ及び前記撮像部は互いに連続して移動して、前記画像を取得する、請求項１に記載のシステム。
【請求項３】
対応する画像が取得された後の前記画像解析動作の実行は、少なくとも部分的に、画像取得動作の順番中に実行される、請求項１に記載のシステム。
【請求項４】
前記実行の非ストリームモードは、ストリームモードセグメント内にない前記第１の複数のパートプログラム命令の前記画像取得命令及び前記対応する画像解析命令を実行して、前記画像取得動作及び前記対応する画像解析動作を前記第１の順に一致するように実行する、請求項１に記載のシステム。
【請求項５】
前記学習モードは、ストリームモードセグメントを含むパートプログラムが編集に呼び出される場合、前記編集可能パートプログラム表現が前記第１の順に表示されるように構成され、実行の前記編集モードは、前記画像取得動作及び前記対応する画像解析動作を前記第１の順に一致するように実行する、請求項１に記載のシステム。
【請求項６】
前記学習モードは、ユーザが、ストリームモードセグメントに含まれるパートプログラム命令表現を、対応するパートプログラム命令の実行の編集モードを開始する場所として選択し得るように構成され、その後、続くパートプログラム命令は、前記第１の順に一致するように実行される、請求項１に記載のシステム。
【請求項７】
前記続く前記パートプログラム命令は、前記第１の順に一致するように実行される、請求項６に記載のシステム。
【請求項８】
前記ストリームモードセグメントは、第１の命令セット及び第２の命令セットを含み、前記第１の命令セットは、第１の画像取得命令と、第１のビデオツールのビデオツール命令を含む第１の画像解析命令とを含み、前記第２の命令セットは、第２の画像取得命令と、第２のビデオツールのビデオツール命令を含む第２の画像解析命令とを含み、実行の前記編集モード中、前記第１の画像取得命令及び前記第１のビデオツールのビデオツール命令を含む前記第１の画像解析命令は、前記第２の画像取得命令及び前記第２のビデオツールのビデオツール命令を含む前記第２の画像解析命令の実行を開始する前に実行され、
前記実行モード中、前記ストリームモード命令要素により、前記ストリームモードセグメントが前記ストリームモードで実行され、前記ストリームモードセグメントの実行の前記実行モード中、前記第１及び第２の画像取得命令は、前記第１及び第２のビデオツールのビデオツール命令を含む前記対応する第１及び第２の画像解析動作の実行に依存せずに順番に実行される、請求項１に記載のシステム。
【請求項９】
前記パートプログラムは非ストリームモードセグメントをさらに含み、前記学習モード中、前記非ストリームモードセグメントは、前記非ストリームモードセグメントにストリームモード命令要素がないことにより、前記ストリームモードセグメントから区別され、前記非ストリームモードセグメントは、第３の命令セット及び第４の命令セットを含み、前記第３の命令セットは、第３の画像取得命令と、第３のビデオツールのビデオツール命令を含む第３の画像解析命令とを含み、前記第４の命令セットは、第４の画像取得命令と、第４のビデオツールのビデオツール命令を含む第４の画像解析命令とを含み、実行の前記編集モード中、前記第３の画像取得命令及び前記第３のビデオツールのビデオツール命令を含む前記第３の画像解析命令は、前記第４の画像取得命令及び前記第４のビデオツールのビデオツール命令を含む前記第４の画像解析命令の実行を開始する前に実行され、
前記実行モード中、前記非ストリームモードセグメントは、前記非ストリームモードセグメントにストリームモード命令要素がないことにより、前記非ストリームモードで実行され、前記非ストリームモードセグメントの実行の前記実行モード中、前記第３及び第４の画像取得命令は、前記第３及び第４のビデオツールのビデオツール命令を含む前記対応する第３及び第４の画像解析動作の実行に依存せずに順番に実行される、請求項８に記載のシステム。
【請求項１０】
前記第１及び第２のビデオツールはエッジ検出ビデオツールを含む、請求項８に記載のシステム。
【請求項１１】
前記学習モード中、前記第１及び第２の命令セットは、前記第１の順に実行され、前記第１及び第２の画像取得命令のうちの少なくともいくつかは、前記第１のビデオツール及び前記第２のビデオツールの前記ビデオツール命令に組み入れられ、前記命令は前記第１の順で前記ユーザインタフェースに表示され、
前記実行モード中、前記ストリームモードで、前記ストリームモードセグメントに対応する前記パートプログラム命令が処理されて、前記第１及び第２の命令セットの前記画像取得命令を含むが、前記ビデオツール命令を含まない画像取得ルーチンを決定し、前記画像取得ルーチンは実行されて前記画像を取得し、前記画像取得ルーチンが実行されている間、前記ビデオツール命令が実行される、請求項８に記載のシステム。
【請求項１２】
前記実行モード中、前記ストリームモードで、前記ストリームモードセグメントの２回目の実行中の前記ビデオツール命令の実行の少なくとも一部分は、前記画像取得ルーチンの実行と並行して行われる、請求項１１に記載のシステム。
【請求項１３】
前記実行モード中での前記画像取得ルーチンの実行中、複数の画像取得命令が順番に実行され、その時間中、前記学習モード中に組み入れられた任意のビデオツール命令はまだ実行されず、それにより、前記命令は前記第１の順とは異なる第２の順で実行される、請求項１１に記載のシステム。
【請求項１４】
前記実行モード中、前記画像取得ルーチンが実行されるとき、前記ステージ及び前記撮像部は互いに対して連続して移動し、前記画像を取得する、請求項１１に記載のシステム。
【請求項１５】
前記パートプログラムの前記ストリームモードセグメントは、前記ストリームモードセグメントの冒頭及び末尾のストリームモード命令表現により識別される、請求項１に記載のシステム。
【請求項１６】
前記学習モード中、前記ストリームモードセグメント内の前記パートプログラム命令は、パートプログラム表現として表示され、前記ストリームモードセグメント外の同様のパートプログラム命令の表現と同一の外観を有するようになされ、それにより、ユーザは、前記ストリームモードセグメント外とは対照的に、前記ストリームモードセグメント内の動作をプログラム又は編集する場合、異なるプログラミング表現又はシンタックスを使用する必要がない、請求項１に記載のシステム。
【請求項１７】
撮像部と、前記撮像部の視野（ＦＯＶ）内に１つ又は複数のワークピースを保持するステージと、制御部と、ディスプレイと、ユーザインタフェースとを含む精密マシンビジョン検査システムを動作させる方法であって、
前記マシンビジョン検査システムの動作を制御すべくユーザ入力を受け取り、被制御動作に対応する命令を記録して、パートプログラムを作成するように動作可能であり、パートプログラムを編集するように動作可能であり、実行の編集モードに従って前に記録されたパートプログラム命令を実行するように動作可能であり、ユーザインタフェース機能を含む学習モードを提供することであって、前記ユーザインタフェース機能は、
ストリームモード実行に指定されたパートプログラムのセグメントを含むストリームモードセグメントの指定に使用可能なユーザ制御可能なストリームモード命令要素、
パートプログラム命令の編集可能パートプログラム表現であって、画像取得動作に対応する画像取得命令表現、画像解析動作に対応する画像解析命令表現、及びストリームモードセグメント表現を含む、編集可能パートプログラム表現
を含む、学習モードを提供すること、及び
前に作成されたパートプログラムを実行するように動作可能な実行モードを提供することであって、前記実行モードは、ストリームモードセグメント内にないパートプログラム命令を実行する非ストリームモード及びストリームモードセグメント内にあるパートプログラム命令を実行するストリームモードを含む、実行モードを提供すること、
を含み、
前記学習モードは、
前記編集可能パートプログラム表現が、前記対応する被制御動作が前記パートプログラム作成のために実行される順に対応する第１の順で、画像取得命令及び対応する画像解析命令を含む第１の複数のパートプログラム命令を表現し、
実行の前記編集モードは、前記第１の複数のパートプログラム命令のうちの前記パートプログラム画像取得命令及び前記対応する画像解析命令を実行して、前記第１の複数のパートプログラム命令がストリームモードセグメントに含まれるか否かに関係なく、前記第１の順に一致するように、前記画像取得動作及び前記対応する画像解析動作を実行する
ように構成され、
前記実行モードは、
前記ストリームモードが、前記第１の複数のパートプログラム命令がストリームモードセグメントに含まれる場合、第２の順に従って前記第１の複数のパートプログラム命令を実行する
ように構成され、前記第２の順は、
前記第１の複数のパートプログラムの画像取得命令を実行して、前記対応する画像解析動作の実行に依存せずに、対応する画像取得動作を順番に実行し、対応する画像が取得された後、前記第１の複数のパートプログラムの画像解析命令を実行して、対応する画像解析動作を実行することを含む、方法。
【請求項１８】
ストリームモードセグメントを含むパートプログラムが編集に呼び出される場合、前記編集可能パートプログラム表現は前記第１の順に表示され、実行の前記編集モードは、前記画像取得動作及び前記対応する画像解析動作を前記第１の順に一致するように実行する、請求項１７に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、概してマシンビジョン検査システムに関し、より具体的には、そのようなシステムで連続高速画像取得を含むパートプログラムの編集環境に関する。
【背景技術】
【０００２】
精密なマシンビジョン検査システム（又は略して「ビジョンシステム」）は、被検査物体の精密な寸法測定を取得し、様々な他の物体の要素を検査するために利用することができる。そのようなシステムは、コンピュータと、カメラ及び光学系と、複数の方向に移動可能であり、カメラが検査中のワークピースの要素をスキャンできるようにする精密ステージとを含み得る。市販されている例示的な１つの従来技術によるシステムは、Aurora,ILに所在のMitutoyo America Corporation (MAC)から入手可能なQUICK VISION（登録商標）シリーズのＰＣに基づくビジョンシステム及びQVPAK（登録商標）ソフトウェアである。QUICK VISION（登録商標）シリーズのビジョンシステム及びQVPAK（登録商標）ソフトウェアの機能及び動作は一般に、例えば、２００３年１月に公開されたQVPAK 3D CNC Vision Measuring Machine User's Guide及び１９９６年９月に公開されたQVPAK 3D CNC Vision Measuring Machine Operation Guideに説明されている。この製品は、例えば、QV-302 Proモデルで例示されるように、顕微鏡型光学系を使用して、ワークピースの画像を様々な倍率で提供し、必要に応じてステージを動かして、任意の単一のビデオ画像の限界を超えてワークピース表面を横断することが可能である。単一のビデオ画像は通常、そのようなシステムの所望の倍率、測定分解能、及び物理的サイズ制限を考えると、観測中又は検査中のワークピースの一部のみしか包含しない。
【０００３】
マシンビジョン検査システムは一般に、自動ビデオ検査を利用する。米国特許第６，５４２，１８０号では、そのような自動ビデオ検査の様々な態様が教示されている。１８０号特許において教示されるように、自動ビデオ検査装置は一般に、プログラミング機能を有し、プログラミング機能により、自動検査イベントシーケンスをユーザが特定の各ワークピース構成に関して定義することができる。これは、例えば、テキストに基づくプログラミングにより、グラフィカルユーザインタフェースを用いてユーザが実行する検査動作シーケンスに対応するマシン制御命令シーケンスを記憶することで、検査イベントシーケンスを徐々に「学習」する記録モードを通して、又は両方の組み合わせを通して実施することができる。そのような記録モードは多くの場合、「学習モード」又は「トレーニングモード」と呼ばれる。検査イベントシーケンスが「学習モード」で定義されると、そのようなシーケンスを使用して、「実行モード」中にワークピースの画像を自動的に取得する（且つさらに解析又は検査する）ことができる。
【０００４】
ビデオツール（又は略して「ツール」）及び他のグラフィカルユーザインタフェース機能は、手動で使用して、手動での検査及び／又はマシン制御動作を達成し得る（「手動モード」で）。そのセットアップパラメータ及び動作も、学習モード中に記録して、自動検査プログラム又は「パートプログラム」を作成することができる。ビデオツールは、例えば、エッジ／境界検出ツール、オートフォーカスツール、形状又はパターン照合ツール、寸法測定ツール等を含み得る。他のグラフィカルユーザインタフェース機能は、データ解析に関連するダイアログボックス、ステップアンドリピートループプログラミング等を含み得る。例えば、そのようなツールは、上述したQUICK VISION（登録商標）シリーズのビジョンシステム及び関連付けられたQVPAK(登録商標）ソフトウェア等の市販の様々なマシンビジョン検査システムに日常的に使用されている。
【０００５】
特定の検査イベントシーケンス（すなわち、各画像を取得する方法及び各取得画像を解析／検査する方法）を含むマシン制御命令は一般に、特定のワークピース構成に固有の「パートプログラム」又は「ワークピースプログラム」として記憶される。例えば、パートプログラムは、ワークピースに対してカメラを位置決めする方法、照明レベル、倍率レベル等の各画像を取得する方法を定義する。さらに、パートプログラムは、例えば、エッジ／境界検出ビデオツール等の１つ又は複数のビデオツールを使用することにより、取得画像を解析／検査する方法を定義する。所定の命令動作シーケンスを実行する命令を有するパートプログラムを作成する能力は、検査再現性の増大並びに１つ又は複数の互換性のあるマシンビジョン検査システムで同じパートプログラムを繰り返し自動的に実行する能力を含め、いくつかの利点を提供する。
【０００６】
前に参照したQUICK VISION（登録商標）シリーズのＰＣに基づくビジョンシステムを例とする、広範囲のワークピースの高速プログラミングを意図する汎用マシンビジョン検査システムでは、従来的には、画像取得動作は、最新の取得画像に対して実行される画像解析動作及び／又は要素検査動作に組み入れられてきた（本明細書では、「組み入れ」型動作と呼ぶ）。しかし、汎用マシンビジョン検査システムがより高いスループットを提供することがますます求められている。一方法によれば、これは、カメラとワークピースステージとの連続相対移動を使用している間に（組み入れ型動作に必要とされるように相対移動の断続的な停止及び開始とは対照的に）画像取得を実行することにより達成し得、それにより、検査スループットが大幅に増大する。そのような動作は、本明細書では、連続移動型動作と呼ばれる。そのようなシステムが、ストローブ光照明を含み、画像のスミア（又はにじみ）なしで連続移動中の画像取得を支援することが有利である。
【０００７】
高速生産ラインに使用される高速「インライン」ビジョン検査システムは、連続移動型の画像取得を提供してきた。しかし、そのようなインラインビジョンシステムは通常、単一の生産ライン専用であり、例えば、コンベアシステム上の連続したワークピースの「同じ」画像を何度も繰り返して取得する。そのような場合、画像毎に、移動速度及びストローブ照明パラメータ等は同じである。さらに、ワークピース構成及び／又は画像取得パラメータ等は希にしか変更されない。したがって、そのようなシステムのプログラミング方法は、比較的未熟なユーザによる無制限の様々なワークピース、カメラ位置、画像取得パラメータ等の高速プログラミングに役立っていない。
【０００８】
対照的に、経験により、汎用マシンビジョン検査システムが、比較的未熟なユーザによる無制限の様々なワークピース、カメラ位置、画像取得パラメータ等の高速プログラミングに役立つことが極めて重要であることが示された。汎用マシンビジョン検査システムの従来のプログラミング方法は、連続移動型の動作のプログラミングを十分に容易又は高速にしていなかった。さらに、従来のプログラミング方法は、組み入れ型の動作と組み合わせられた連続移動型の動作のプログラミングを十分に容易又は高速にしていなかった。これらの問題及び欠点を別個に、又は組み合わせて解消可能なプログラミングシステム及び方法が望ましい。
【０００９】
これらの問題及び欠点のうちのいくつかを解消する従来技術による例示的な一方法は、米国特許第７，５９０，２７６号に示されている。２７６号特許に記載のように、ユーザが、学習モード動作中、関連付けられた画像解析動作に組み入れられた複数の画像取得動作を自然で直観的に理解可能な関係で容易に定義することができるパートプログラミングの方法が提供される。次に、結果として生成されるパートプログラムにおいて、画像のうちの少なくともいくつかの画像取得動作は、画像を取得し、画像を「非組み入れ型」のように記憶する連続移動画像取得シーケンスに自動的に再構成されて、マシンビジョン検査システムのスループットを増大させる。
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかし、２７６号特許に示されるような特定の従来のプログラミング方法の１つの欠点は、画像取得動作の連続ストリームが通常、学習モード中にユーザにより入力される様々な動作を解析し、「再グループ化」されたプログラミング表現及びシンタックスを使用してパートプログラム命令内で順序を変更又は「再グループ化」し、それにより、画像取得命令が、連続移動を使用して複数の画像を取得するように一緒にグループ化され、対応する画像解析命令が、画像取得命令に続くように変更又は「再グループ化」され、それにより、画像解析動作が連続移動中に高速画像取得に組み入れられない、すなわち、邪魔する必要がないようにすることにより達成されることである。その結果、パートプログラム命令が編集又は表示に呼び出されるとき、画像解析命令は、対応する画像の取得命令から切り離されている。これは、関連する画像取得命令と画像解析命令とが、「関連しない」画像取得命令及び画像処理命令の介在により切り離されるという点で、そのようなシステムのユーザを混乱させることが証明されており、そのような切り離しは非直観的であり、ユーザが「再構成された」パートプログラム命令を読み出すか、又は編集しようとする際の非効率性及びエラーに繋がる。換言すれば、パートプログラム内の画像取得動作を一緒にグループ化するために再構成されたプログラミング表現及びシンタックスは、ユーザにとってのそのようなパートプログラムのプログラミング及び編集をより難しくする。これら及び他の欠点を解消して、精密マシンビジョン検査システムの連続した画像取得パートプログラムのプログラミング及び編集をより効率的、直観的、且つ柔軟にすることができるパートプログラミングシンタックス並びに編集動作及び機能が必要である。
【課題を解決するための手段】
【００１１】
本概要は、詳細な説明においてさらに後述する選択された概念を簡易化された形態で紹介するために提供される。本概要は、特許請求される趣旨の主要な特徴を識別する意図はなく、特許請求される趣旨の範囲を判断する際の助けとして使用される意図もない。
【００１２】
本発明の一態様によれば、画像取得動作の連続又は途切れない連続ストリームが、実行モード中に実行される精密マシンビジョンシステム編集環境が、パートプログラムに提供される。精密マシンビジョン検査システムは、撮像部と、撮像部の視野（ＦＯＶ）内に１つ又は複数のワークピースを保持するステージと、制御部と、ディスプレイと、ユーザインタフェースとを含む。
【００１３】
本発明の別の態様によれば、マシンビジョン検査システムは学習モードをさらに含み、学習モードは、マシンビジョン検査システムの動作を制御すべくユーザ入力を受け取り、被制御動作に対応する命令を記録して、パートプログラムを作成するように動作可能である。学習モードは、パートプログラムを編集し、実行の編集モードに従って前に記録されたパートプログラム命令を実行するようにも動作可能である。学習モードは、ユーザ制御可能なストリームモード命令要素及びパートプログラム命令の編集可能パートプログラム表現等のユーザインタフェース機能を含む。ユーザ制御可能なストリームモード命令要素は、ストリームモード実行に指定されたパートプログラムのセグメントを含むストリームモードセグメントの指定に使用可能である。様々な実施形態では、ストリームモード実行は、連続移動シーケンス中に順番に画像取得動作を実行することを含み得、連続移動シーケンスでは、ステージ及び撮像部が互いに連続して移動して、少なくとも２つの画像を取得する。編集可能パートプログラム表現は、画像取得動作に対応する画像取得命令表現、画像解析動作に対応する画像解析命令表現、及びストリームモードセグメント表現を含む。
【００１４】
本発明の別の態様によれば、マシンビジョン検査システムは実行モードを含み、実行モードは、前に作成されたパートプログラムを実行するように動作可能であり、実行モードは、ストリームモードセグメント内にないパートプログラム命令を実行する非ストリームモードと、ストリームモードセグメント内にあるパートプログラム命令を実行するストリームモードとを含む。
【００１５】
本発明の別の態様によれば、学習モードは、編集可能パートプログラム表現が、対応する被制御動作がパートプログラム作成のために実行された順に対応する第１の順で、画像取得命令及び対応する画像解析命令を含む第１の複数のパートプログラム命令を表現するように構成される。さらに、学習モードは、実行の編集モードが、第１の複数のパートプログラム命令のうちのパートプログラム画像取得命令及び対応する画像解析命令を実行して、第１の複数のパートプログラムの画像取得命令及び対応する画像解析命令がストリームモードセグメントに含まれるか否かに関係なく、第１の順に一致するように、画像取得動作及び対応する画像解析動作を実行するようにさらに構成される。
【００１６】
本発明の別の態様によれば、実行モードは、ストリームモードが、第１の複数のパートプログラムがストリームモードセグメントに含まれる場合、第２の順に従って第１の複数のパートプログラムの画像取得命令及び対応する画像解析命令を実行するように構成される。一実施形態では、第２の順は、第１の複数のパートプログラムの画像取得命令を実行して、対応する画像解析動作の実行に依存せずに、対応する画像取得動作を順番に実行することを含む。さらに、第２の順は、対応する画像が取得された後、第１の複数のパートプログラムの画像解析命令を実行して、対応する画像解析動作を実行することをさらに含み得る。一実施形態では、対応する画像が取得された後の画像解析動作の実行は、画像取得動作の順番中に行われる。
【００１７】
本発明の別の態様によれば、順番での画像取得動作の実行は、連続移動シーケンス中に行われ、連続移動シーケンスでは、ステージ及び撮像部は互いに連続して移動（例えば、ステージが撮像部に対して連続して移動）して、画像を取得する。いくつかの構成では、ステージの移動は、ワークピースを水平面（例えば、Ｘ−Ｙ平面）で物理的に移動させるが、撮像部は移動させないように動作可能であってもよく、その一方で、ステージの移動は、撮像部を垂直方向（例えば、Ｚ方向）に移動させるが、ワークピースは移動させないように動作可能であってもよい。他の構成では、ステージの移動は、ワークピースを一水平方向（例えば、Ｘ方向）でのみ物理的に移動させ、撮像部を移動させないように動作可能であってもよく、その一方で、ステージの移動は、撮像部を異なる水平方向（例えば、Ｙ方向）及び垂直方向（例えば、Ｚ方向）で移動させるが、ワークピースは移動させないように動作可能であってもよい。様々な実施形態では、画像取得動作は、少なくとも２つの画像に対して連続移動シーケンスで実行される。
【００１８】
本発明の別の態様によれば、対応する画像が取得された後の画像解析動作の実行は、少なくとも部分的に、画像取得動作の順番中に実行される。
【００１９】
本発明の別の態様によれば、実行の非ストリームモードは、ストリームモードセグメント内にない第１の複数のパートプログラム命令の画像取得命令及び対応する画像解析命令を実行して、画像取得動作及び対応する画像解析動作を第１の順に一致するように実行する。
【００２０】
本発明の別の態様によれば、学習モードは、ストリームモードセグメントを含むパートプログラムが編集に呼び出される場合、編集可能パートプログラム表現が第１の順に表示されるように構成され、実行の編集モードは、画像取得動作及び対応する画像解析動作を第１の順に一致するように実行する。本発明の別の態様によれば、学習モードは、ユーザが、ストリームモードセグメントに含まれるパートプログラム命令表現を、対応するパートプログラム命令の実行の編集モードを開始する場所として選択し得るように構成され、その後、続くパートプログラム命令は、第１の順に一致するように実行される。本発明の別の態様によれば、続くパートプログラム命令は、第１の順に一致するように実行される。
【００２１】
本発明の別の態様によれば、ストリームモードセグメントは、第１の命令セット及び第２の命令セットを含み、第１の命令セットは、第１の画像取得命令と、第１のビデオツールのビデオツール命令を含む第１の画像解析命令とを含み、第２の命令セットは、第２の画像取得命令と、第２のビデオツールのビデオツール命令を含む第２の画像解析命令とを含み、実行の編集モード中、第１の画像取得命令及び第１のビデオツールのビデオツール命令を含む第１の画像解析命令は、第２の画像取得命令及び第２のビデオツールのビデオツール命令を含む第２の画像解析命令の実行を開始する前に実行される。実行モード中、ストリームモード命令要素により、ストリームモードセグメントがストリームモードで実行され、実行の実行モードのストリームモードセグメントの実行中、第１及び第２の画像取得命令が、第１及び第２のビデオツールのビデオルール命令を含む対応する第１及び第２の画像解析動作の実行に依存せずに、順番に実行される。本発明の別の態様によれば、第１及び第２のビデオツールは、エッジ検出ビデオツールを含む。
【００２２】
本発明の別の態様によれば、パートプログラムは、非ストリームモードセグメントをさらに含み、学習モード中、非ストリームモードセグメントは、非ストリームモードセグメントにストリームモード命令要素がないことにより、ストリームモードセグメントから区別され、非ストリームモードセグメントは、第３の命令セット及び第４の命令セットを含み、第３の命令セットは、第３の画像取得命令と、第３のビデオツールのビデオツール命令を含む第３の画像解析命令とを含み、第４の命令セットは、第４の画像取得命令と、第４のビデオツールのビデオツール命令を含む第４の画像解析命令とを含み、実行の編集モード中、第３の画像取得命令及び第３のビデオツールのビデオツール命令を含む第３の画像解析命令は、第４の画像取得命令及び第４のビデオツールのビデオツール命令を含む第４の画像解析命令の実行を開始する前に実行される。実行モード中、非ストリームモードセグメントは、非ストリームモードセグメントにストリームモード命令要素がないことにより、非ストリームモードで実行され、非ストリームモードセグメントの実行の実行モード中、第３及び第４の画像取得命令が、第３及び第４のビデオツールのビデオルール命令を含む対応する第３及び第４の画像解析動作の実行に依存せずに、順番に実行される。
【００２３】
本発明の別の態様によれば、ストリームモードセグメントを含むパートプログラム命令が編集に呼び出されると、編集可能パートプログラム表現が第１の順で表示され、実行の編集モードは、画像取得動作及び対応する画像解析動作を第１の順に一致するように実行する。
【００２４】
本発明の別の態様によれば、学習モード中、ユーザは、ストリームモードセグメント内の任意のパートプログラム命令を、パートプログラム命令の実行を開始する場所として選ぶことができ、その後、続くパートプログラム命令は、第１の順に一致するように実行される。
【００２５】
本発明の別の態様によれば、ストリームモードセグメントは、第１の命令セット及び第２の命令セットを含む。第１の命令セットは、第１の画像取得命令と、第１のビデオツールのビデオツール命令を含む第１の画像解析命令とを含み、第２の命令セットは、第２の画像取得命令と、第２のビデオツールのビデオツール命令を含む第２の画像解析命令とを含む。一実施形態では、実行の編集モード中、第１の画像取得命令及び第１のビデオツールのビデオツール命令を含む第１の画像解析命令は、第２の画像取得命令及び第２のビデオツールのビデオツール命令を含む第２の画像解析命令の実行を開始する前に実行される。次に、実行モード中、ストリームモード命令要素により、ストリームモードセグメントがストリームモードで実行される。ストリームモードセグメントの実行の実行モード中、第１及び第２の画像取得命令が、第１及び第２のビデオツールのビデオルール命令を含む対応する第１及び第２の画像解析動作の実行に依存せずに、順番に実行される。一実施形態では、第１及び第２のビデオツールは、エッジ検出ビデオツールを含む。
【００２６】
本発明の別の態様によれば、パートプログラムは、非ストリームモードセグメントをさらに含み、学習モード中、非ストリームモードセグメントは、非ストリームモードセグメントにストリームモード命令要素がないことにより、ストリームモードセグメントから区別される。一実施形態では、非ストリームモードセグメントは、第３の命令セット及び第４の命令セットを含む。第３の命令セットは、第３の画像取得命令と、第３のビデオツールのビデオツール命令を含む第３の画像解析命令とを含み、第４の命令セットは、第４の画像取得命令と、第４のビデオツールのビデオツール命令を含む第４の画像解析命令とを含む。実行の編集モード中、第３の画像取得命令及び第３のビデオツールのビデオツール命令を含む第３の画像解析命令は、第４の画像取得命令及び第４のビデオツールのビデオツール命令を含む第４の画像解析命令の実行を開始する前に実行される。次に、実行モード中、非ストリームモードセグメントが、非ストリームモードセグメントにストリームモード命令要素がないことにより、非ストリームモードで実行される。非ストリームモードセグメントの実行の実行モード中、第３及び第４の画像取得命令が、第３及び第４のビデオツールのビデオルール命令を含む対応する第３及び第４の画像解析動作の実行に依存せずに、順番に実行される。
【００２７】
本発明の別の態様では、学習モード中、第１及び第２の命令セットは、第１の順に実行され、第１及び第２の画像取得命令のうちの少なくともいくつかは、第１のビデオツール及び第２のビデオツールのビデオツール命令に組み入れられ、命令は第１の順でユーザインタフェースに表示される。次に、実行モード中、ストリームモードで、ストリームモードセグメントに対応するパートプログラム命令が処理されて、画像取得ルーチンが決定され、画像取得ルーチンは、第１及び第２の命令セットの画像取得命令を含むが、ビデオツール命令を含まず、画像取得ルーチンが実行されて画像を取得し、画像取得ルーチンが実行されている間、ビデオツール命令が実行される。
【００２８】
本発明の別の態様によれば、実行モード中、ストリームモードで、ストリームモードセグメントの２回目の実行中にビデオツール命令の実行の少なくとも一部分は、画像取得ルーチンの実行と並行して行われる。
【００２９】
本発明の別の態様によれば、実行モード中での画像取得ルーチンの実行中、複数の画像取得命令が順番に実行され、その時間中、学習モード中に組み入れられた任意のビデオツール命令はまだ実行されず、それにより、命令は第１の順とは異なる第２の順で実行される。
【００３０】
本発明の別の態様によれば、実行モード中、画像取得ルーチンが実行される場合、ステージ及び撮像部は互いに連続して移動して、画像を取得する。
【００３１】
本発明の別の態様によれば、パートプログラムのストリームモードセグメントは、ストリームモードセグメントの冒頭及び末尾において指定されたストリームモード命令表現により識別される。
【００３２】
本発明の別の態様によれば、学習モード中、ストリームモードセグメント内のパートプログラム命令パートプログラム表現として表示され、ストリームモードセグメント外にある同様のパートプログラム命令の表現と同一の外観を有するようになされ、それにより、ユーザは、ストリームモードセグメント外とは対照的に、ストリームモードセグメント内の動作をプログラム又は編集する場合、異なるプログラミング表現又はシンタックスを使用する必要がない。
【００３３】
本発明の上記態様及び付随する利点の多くは、添付図面と併せて解釈される場合、以下の詳細な説明を参照することによってよりよく理解されるため、より容易に理解されよう。
【図面の簡単な説明】
【００３４】
【図１】汎用精密マシンビジョン検査システムの様々な典型的な構成要素を示す図である。
【図２】図１と同様であり、本発明による機能を含むマシンビジョン検査システムの制御システム部と、ビジョン構成要素部とのブロック図である。
【図３】画像取得動作の連続ストリームが実行モード中に実行されるストリームモードセグメントを含む、パートプログラムの表現を含む編集インタフェースの図である。
【図４】図３のパートプログラムが実行されるワークピースの一部分を含むユーザインタフェースの図である。
【図５Ａ】ストリームモードセグメントを含むパートプログラムに編集環境を提供するルーチンの一実施形態の流れ図である。
【図５Ｂ】ストリームモードセグメントを含むパートプログラムに編集環境を提供するルーチンの一実施形態の流れ図である。
【発明を実施するための形態】
【００３５】
図１は、本明細書に記載の方法により使用可能な例示的な１つのマシンビジョン検査システム１０のブロック図である。マシンビジョン検査システム１０はビジョン測定機１２を含み、ビジョン測定機１２は、データ及び制御信号を交換するように、制御コンピュータシステム１４に動作可能に接続される。制御コンピュータシステム１４は、データ及び制御信号を交換するように、モニタ又はディスプレイ１６、プリンタ１８、ジョイスティック２２、キーボード２４、及びマウス２６とさらに動作可能に接続される。モニタ又はディスプレイ１６は、マシンビジョン検査システム１０の動作の制御及び／又はプログラミングに適したユーザインタフェースを表示し得る。
【００３６】
ビジョン測定機１２は、可動式ワークピースステージ３２と、光学撮像システム３４とを含み、光学撮像システム３４はズームレンズ又は交換式レンズを含み得る。ズームレンズ又は交換式レンズは一般に、光学撮像システム３４により提供される画像に様々な倍率を提供する。マシンビジョン検査システム１０は一般に、上述したQUICK VISION（登録商標）シリーズのビジョンシステム及びQVPAK（登録商標）ソフトウェア並びに同様の先端技術の市販されている精密マシンビジョン検査システムに類似する。マシンビジョン検査システム１０は、本願と同じ譲受人に譲渡された米国特許第７，４５４，０５３号及び同第７，３２４，６８２号並びに米国特許出願公開第２０１０／０１５８３４３号及び同第２０１１／０１０３６７９号にも記載されている。
【００３７】
図２は、図１のマシンビジョン検査システムと同様であり、本発明による機能を含むマシンビジョン検査システム１００の制御システム部１２０と、ビジョン構成要素部２００とのブロック図である。より詳細に後述するように、制御システム部１２０は、ビジョン構成要素部２００の制御に利用される。ビジョン構成要素部２００は、光学アセンブリ２０５と、光源２２０、２３０、及び２４０と、中央透明部２１２を有するワークピースステージ２１０とを含む。ワークピースステージ２１０は、ワークピース２０を位置決めし得るステージ表面に略平行する平面内にあるＸ軸及びＹ軸に沿って制御可能に移動可能である。光学アセンブリ２０５は、カメラ系２６０と、交換式対物レンズ２５０とを含み、レンズ２８６及び２８８を有するタレットレンズアセンブリ２８０を含み得る。タレットレンズアセンブリに対する代替として、固定レンズ、又は手動で交換可能な倍率変更レンズ、又はズームレンズ構成等を含み得る。光学アセンブリ２０５は、制御可能なモータ２９４を使用することにより、Ｘ軸及びＹ軸に略直交するＺ軸に沿って制御可能に移動可能である。
【００３８】
マシンビジョン検査システム１００を使用して撮像すべきワークピース２０又は複数のワークピース２０を保持したトレイ若しくは固定具は、ワークピースステージ２１０に配置される。ワークピースステージ２１０は、光学アセンブリ２０５と相対移動するように制御し得、それにより、交換式対物レンズ２５０は、ワークピース２０上の位置間及び／又は複数のワークピース２０間で移動する。透過照明光２２０、落射照明光２３０、及び斜め照明光２４０のうちの１つ又は複数は、光源光２２２、２３２、又は２４２のそれぞれを発して、１つ又は複数のワークピース２０を照明する。光源光はワークピース光２５５として反射又は透過し、交換式対物レンズ２５０及びタレットレンズアセンブリ２８０を通過し、カメラ系２６０に集められる。カメラ系２６０により捕捉されたワークピース２０の画像は、信号線２６２上で制御システム部１２０に出力される。光源２２０、２３０、及び２４０は、信号線又はバス２２１、２３１、及び２４１のそれぞれを通して制御システム部１２０に接続し得る。画像の倍率を変更するには、制御システム部１２０は、信号線又はバス２８１を通して、軸２８４に沿ってタレットレンズアセンブリ２８０を回転させて、タレットレンズを選択し得る。
【００３９】
様々な例示的な実施形態では、光学アセンブリ２０５は、制御可能なモータ２９４を使用してワークピースステージ２１０に対して垂直なＺ軸方向に移動可能であり、制御可能なモータ２９４は、アクチュエータ、接続ケーブル等を駆動して、光学アセンブリ２０５をＺ軸に沿って移動させ、カメラ系２６０により捕捉されるワークピース２０の画像のフォーカスを変更する。本明細書で使用される場合、Ｚ軸という用語は、光学アセンブリ２０５により得られた画像のフォーカスに使用されることを意図される軸を指す。制御可能なモータ２９４は、使用される場合、信号線２９６を介して入出インタフェース１３０に接続される。
【００４０】
図２に示されるように、様々な例示的な実施形態では、制御システム部１２０は、コントローラ１２５と、入出インタフェース１３０と、メモリ１４０と、ワークピースプログラム生成・実行器１７０と、電源部１９０とを含む。これらの構成要素のそれぞれ並びに後述する追加の構成要素は、１つ若しくは複数のデータ／制御バス及び／又はアプリケーションプログラミングインタフェースにより、或いは様々な要素間の直接接続により相互接続し得る。
【００４１】
本発明による様々な実施形態では、ワークピースプログラム生成・実行器１７０は編集部１７２を含み、編集部１７２は、より詳細に後述するように、パートプログラムの編集に関連する様々な動作及びユーザインタフェース機能を提供又はアクティブ化する。「ワークピースプログラム」及び「パートプログラム」という用語を本明細書では同義で使用し得ることが理解されよう。一般に、編集部１７２は、編集機能の動作を制御する編集動作コントローラ１７４と、編集機能のユーザインタフェース機能を提供する編集インタフェース１７６とを含む。ワークピースプログラム生成・実行器１７０はストリームモード部１７８も含み、ストリームモード部１７８は、より詳細に後述するように、本発明に関連付けられた様々な機能を提供する。
【００４２】
図２に示されるように、入出力インタフェース１３０は、撮像制御インタフェース１３１と、移動制御インタフェース１３２と、照明制御インタフェース１３３と、レンズ制御インタフェース１３４とを含む。移動制御インタフェース１３２は、位置制御要素１３２ａと、速度／加速度制御要素１３２ｂとを含み得るが、そのような要素は統合且つ／又は区別不可能であってもよい。照明制御インタフェース１３３は、例えば、マシンビジョン検査システム１００の様々な対応する光源の選択、電力、オン／オフ切り替え、及び該当する場合にはストローブパルスタイミングを制御する照明制御インタフェース１３３ａ〜１３３ｎを含む。
【００４３】
メモリ１４０は、画像ファイルメモリ部１４１と、１つ又は複数のパートプログラム等を含み得るワークピースプログラムメモリ部１４２と、ビデオツール部１４３とを含む。ビデオツール部１４３は、ビデオツール部１４３ａと、他のビデオツール部（例えば、１４３ｍ）とを含み、他のビデオツール部は、対応する各ビデオツールのＧＵＩ、画像処理動作等を決定する。多くの既知のビデオツールが、上述したQUICK VISION（登録商標）シリーズのビジョンシステム及び関連付けられたQVPAK（登録商標）ソフトウェア等の市販のマシンビジョン検査システムに含まれる。ビデオツール部１４３は関心領域（ＲＯＩ）生成器１４３ｘも含み、関心領域生成器１４３ｘは、ビデオツール部１４３に含まれる様々なビデオツールで動作可能な様々なＲＯＩを画定する自動、半自動、及び／又は手動の動作をサポートする。
【００４４】
一般に、メモリ部１４０は、ワークピース２０の取得画像が所望の画像要素を有するように、ワークピース２０の画像を捕捉又は取得するビジョンシステム構成要素部２００の動作に使用可能なデータを記憶する。メモリ部１４０は、検査結果データも記憶し得、取得画像に対して様々な検査動作及び測定動作を手動又は自動で実行して（例えば、部分的にビデオツールとして実施される）、入出力インタフェース１３０を通して結果を出力するようにマシンビジョン検査システム１００を動作させるために使用可能なデータをさらに記憶し得る。メモリ部１４０は、入出力インタフェース１３０を通して動作可能なユーザインタフェースを定義するデータを含むこともできる。
【００４５】
透過照明光２２０、落射照明光２３０、及び斜め照明光２４０のそれぞれの信号線又はバス２２１、２３１、及び２４１はすべて、入出力インタフェース１３０に接続される。カメラ系２６０からの信号線２６２及び制御可能なモータ２９４からの信号線２９６は、入出力インタフェース１３０に接続される。画像データの搬送に加えて、信号線２６２は、画像取得を開始する信号をコントローラ１２５から搬送し得る。
【００４６】
１つ又は複数のディスプレイ装置１３６（例えば、図１のディスプレイ１６）及び１つ又は複数の入力装置１３８（例えば、図１のジョイスティック２２、キーボード２４、及びマウス２６）も、入出力インタフェース１３０に接続することができる。ディスプレイ装置１３６及び入力装置１３８を使用して、ユーザインタフェースを表示することができ、ユーザインタフェースは、検査動作の実行並びに／或いはパートプログラムの作成及び／又は変更に使用可能な様々なユーザインタフェース機能を含み、カメラ系２６０により捕捉された画像を表示し、且つ／又はビジョンシステム構成要素部２００を直接制御し得る。
【００４７】
様々な例示的な実施形態では、ユーザは、マシンビジョン検査システム１００を利用して、ワークピース２０のパートプログラムを作成する場合、ワークピースプログラミング言語を使用して明示的に命令を自動的、半自動的、又は手動でコーディングすることにより、且つ／又は学習モードでマシンビジョン検査システム１００を動作させて、命令を生成することにより、パートプログラム命令を生成して、所望の画像取得トレーニングシーケンスを提供する。例えば、トレーニングシーケンスは、ワークピース要素を視野（ＦＯＶ）内に位置決めすること、光レベルを設定すること、フォーカス又はオートフォーカスすること、画像を取得すること、及び画像に適用される解析トレーニングシーケンスを提供すること（例えば、ビデオツールを使用して）を含み得る。学習モードは、シーケンスを捕捉又は記録し、対応するパートプログラムステップ（すなわち、命令）に変換するように動作する。これらのパートプログラムステップは、パートプログラムが実行される場合、マシンビジョン検査システムにトレーニングされた画像取得及び解析動作を再生させ、パートプログラム作成時に使用されたワークピースに一致する１つ又は複数のワークピースを自動的に検査させる。
【００４８】
関連する編集機能及び動作も、「リアルタイムコンテキスト生成機能を含むマシンビジョンシステムプログラム編集環境」（代理人整理番号ＭＥＩＰ１３８１６７）、「同期ユーザインタフェース機能を含むマシンビジョンシステムプログラム編集環境」（代理人整理番号ＭＥＩＰ１３８２４４）、及び「マシンビジョンシステムのパートプログラム編集環境内で編集初期化ブロックを利用するシステム及び方法」（代理人整理番号ＭＥＩＰ１３７６７８）という名称の特許出願に記載されている。
【００４９】
図３は、選択バー３１０等の様々な測定及び／又は動作選択バーと、非ストリームモードセグメント表現３３０及びストリームモードセグメント表現３４０を含む様々なパートプログラム命令に対応するパートプログラム３２０の編集可能な表現とを含む編集インタフェース３００の図である。非ストリームモードセグメント表現３３０は、パートプログラム命令表現セット３３１及び３３２を含み、ストリームモードセグメント表現３４０は、パートプログラム命令表現セット３４１〜３４９を含む。ストリームモードセグメント３４０は、より詳細に後述するように、ストリームモード実行に指定されたパートプログラム３２０のセグメントである。特定のパートプログラム命令３３１〜３４９の動作については図４に関してより詳細に後述する。
【００５０】
図４は、ワークピース４１５の一部分を有する視野ウィンドウ４１０を含むユーザインタフェース４００を示す図である。ユーザインタフェース４００は、選択バー４２０及び４４０、リアルタイムＸ−Ｙ−Ｚ（位置）座標ウィンドウ４３０、光制御ウィンドウ４５０、並びにビデオツールパラメータボックス４６０等の様々な測定及び／又は動作選択バーも含む。より詳細に後述するように、ワークピース４１５の様々な要素は、図３の関連するパートプログラム命令に従って特定される。
【００５１】
以下の説明では、図３のパートプログラム命令表現３２１〜３５０と、図４のワークピース４１５に関する対応する動作との両方を参照する。図３に示されるように、パートプログラム３２０は、命令表現３２１、３３１、及び３３２で開始され、命令表現３２１、３３１、及び３３２は、プロローグノードを示し、光が設定され、ステージが所望の位置に移動することのそれぞれを示す。図４に関して、光の設定は、視野ウィンドウ４１０内の照明に関して可視であり、ステージの移動は、視野ウィンドウ４１０内で可視であり、リアルタイムＸ−Ｙ−Ｚ（位置）座標ウィンドウ４３０に示される。より詳細に後述するように、命令表現３３１及び３３２は、非ストリームモードセグメント表現３３０の一部分であり、図３の図では、ストリームモードセグメント表現３４０が後に続く。説明のために、非ストリームモードセグメント表現３３０は２つのみの命令表現を含むようになされたが、より詳細な実施形態では、より詳細に後述するように、ビデオツール命令表現等のより多数の命令表現を含み得ることが理解されよう。
【００５２】
命令表現３４１はストリームモード命令要素であり、ストリームモードセグメント３４０の開始を指定する。命令表現３４１は、例えば、プログラムメニュー３６０下のメニュー選択を通して、ストリームモード部１７８をアクティブ化することにより挿入し得る。次に、命令表現３４２、３４３、３４４、及び３４５のそれぞれは、倍率が設定され、経路平滑化がオフになり、許される移動が設定され、光が設定されることを示す。
【００５３】
次に、命令表現３４６は、対応する命令表現３４６Ａ〜３４６Ｃに示されるように、円ツールが開かれて、円Ｃ１を測定することを示す。より具体的には、命令表現３４６Ａは、測定のセットアップ（例えば、指定位置へのステージの移動及び対応する画像の取得を含む）を示し、その一方で、命令表現３４６Ｂは、円ツールを利用して、取得画像内にある円Ｃ１のエッジ点を特定することを示す。円ツール及び他のエッジ検出ビデオツールの機能及び動作は当分野で既知であり、前に参照した文献に詳細に説明されている。図４に示されるように、円ツールは、視野ウィンドウ４１０内に、ワークピース４１５に重なった円要素（例えば、円Ｃ１等）として示される。次に、命令表現３４６Ｃが円ツールにより特定されたエッジ点を利用して、円Ｃ１を画定する。
【００５４】
同様に、命令表現３４７及び３４８は、対応する命令表現３４７Ａ〜３４７Ｃ及び３４８Ａ〜３４８Ｃのそれぞれで示されるように、円ツールが開かれて、円Ｃ２及びＣ３を測定することを示す。より具体的には、命令表現３４７Ａ及び３４８Ａは、測定のセットアップ（例えば、指定位置へのステージの移動及び対応する画像の取得を含む）を示し、命令表現３４７Ｂ及び３４８Ｂは、円ツールを利用して、取得画像内にある円Ｃ２及びＣ３のエッジ点を特定することを示す。図４を参照して、これは、対応する画像を取得するために、視野ウィンドウ４１５が円要素Ｃ１から円要素Ｃ２及びＣ３のそれぞれへの移動を示すように、ステージが移動することを示す。次に、命令表現３４７Ｃ及び３４８Ｃが円ツールにより特定されるエッジ点を利用して、円Ｃ２及びＣ３を画定する。命令表現３４９は、ストリームモードセグメント３４０の終了を指定するストリームモード命令要素である。命令表現３５０は、パートプログラムの終了を示す。
【００５５】
パートプログラム３２０の最初の作成に関して、パートプログラム命令は、ユーザ入力に従って（例えば、ユーザインタフェースを通して提供されて、マシンビジョン検査システムの動作を制御する）学習モード中に記録される。その後、編集モード中、上述したパートプログラム命令表現３２１〜３５０が、図３の編集インタフェース３００等の編集インタフェースに提供されて、対応するパートプログラム命令（例えば、プログラミング言語で書かれた）を、便宜及び使いやすさのために簡易化された形態で表現する。より詳細に後述するように、ストリームモードセグメント３４０内のパートプログラム命令表現３４１〜３４９のシーケンスは、編集モードにおいて第１の順（すなわち、図３に示される順）で表現されるが、実行モード中、本発明によれば、対応するパートプログラム命令を第２の順で実行し得る。
【００５６】
より具体的には、一実施形態では、実行モードは、識別されたストリームセグメントに適用可能な実行のストリームモードを含み、ストリームモードは、ストリームモードセグメント表現３４０に対応するパートプログラム命令が処理されて、ストリームセグメント内に含まれる画像取得動作（例えば、複数の画像取得動作）を識別するように構成される。複数の画像の画像取得プロセスは、この処理により可能になるとすぐに開始し得る。さらに、ストリームモードセグメント表現３４０に対応するパートプログラム命令を処理して、取得画像に対応する画像解析動作を識別し、識別された画像解析命令（例えば、ビデオツール動作）は、画像取得動作シーケンスを邪魔しない（例えば、画像の取得に使用される連続移動を、画像解析動作に依存せずに続け得る）場合、対応する画像が取得されるとすぐに開始し得る。
【００５７】
具体例として、パートプログラム３２０の動作順は、以下のように実行される。プロローグノードの命令表現３２１並びに光を設定しステージを移動させる命令表現３３１及び３３２（非ストリームモードセグメント表現３３０の一部分）は、示される順に実行される。上述したように、命令表現３４１に達すると、これは、ストリームモード処理を開始するストリームモードセグメント表現３４０の開始を示す。ストリームモードで、ストリームモードセグメント３４０の１回目の実行を行い、画像取得動作のリストを決定し、次に、この動作リストが実行され、次に、２回目の実行を行って画像解析動作（例えば、ビデオツール動作）の実行を開始する。
【００５８】
より具体的には、ストリームモードセグメント３４０の１回目の実行では、一実施形態では、画像取得に必要なあらゆる動作が、画像取得ルーチンのリストに追加され、その一方で、画像取得動作に必要ないあらゆる動作は無視される。したがって、特定の一実施形態例では、画像取得に向けてマシンビジョン検査システムをセットアップするすべての部分である命令表現３４２〜３４５は、画像取得ルーチンの一部分である動作リストに追加される。対照的に、円測定ツールを開く必要があることを示すパートプログラム命令表現３４６は、対応する画像の取得に必要とされないため、画像取得ルーチンのリストに追加されない。しかし、測定のセットアップを示し、所定位置に移動し、画像を集めることを含む命令表現３４６Ａは、画像取得ルーチンのリストに追加される。円ツールの実行及び円の画定に関連する命令表現３４６Ｂ及び３４６Ｃは、画像取得に必要とされないため、リストに追加されずに無視される。同様にして、命令表現３４７は無視され、命令表現３４７Ａはリストに追加され、命令表現３４７Ｂ、３４７Ｃ、及び３４８は無視され、命令表現３４８Ａはリストに追加され、命令表現３４８Ｂ及び３４８Ｃは無視される。
【００５９】
ストリームモードセグメント３４０を最初に実行した後、画像取得ルーチンが命令表現３４２〜３４５、３４６Ａ、３４７Ａ、及び３４８Ａに従って特定されると、画像取得ルーチンの実行が開始される。画像取得ルーチンが実行されている間、ストリームモードセグメント３４０の２回目の実行が行われ、その間、画像解析動作（例えば、ビデオツール動作）が実行される。２回目の実行中、一実施形態では、いかなる画像解析動作も含まない命令表現３４２〜３４５は無視される。円測定を開く必要があることを示す命令表現３４６は実行される。
【００６０】
より詳細に後述するように、命令表現３４６Ａは、画像取得動作及び画像解析動作の両方を示す特殊な場合である。手短に言えば、２回目の実行中、前に画像取得動作を示した命令表現３４６Ａは、画像をロードする必要があることも示し、これは画像解析動作であるため、実行される。より具体的には、命令表現３４６Ａにより示された画像が、上述したように開始された画像取得ルーチンによりすでに取得されている場合、画像がロードされる。画像がまだ取得されていない場合、画像が画像取得ルーチンにより取得されるまで、２回目の実行プロセスは一時的に中断する。したがって、命令表現３４６Ａに示されるように、特定の命令表現は、ストリームモードセグメント３４０の１回目及び２回目の実行の両方中に実行される動作を示し得る。
【００６１】
命令表現３４６Ａの実行後、２回目の実行が命令表現３４６Ｂ及び３４６Ｃを用いて続けられ、これらの命令表現は、円ツールを実行し、円ツールにより特定されたエッジ点に従って円Ｃ１を画定するために実行される。同様に、命令表現３４７が実行され、円Ｃ２の対応する画像をロードする命令表現３４７Ａは、画像が画像取得ルーチンにより取得されている場合は実行され、画像がまだ取得されていない場合には、画像の取得を待つ。命令表現３４７Ａの実行後、命令表現３４７Ｂ、３４７Ｃ、及び３４８が実行され、命令表現３４８Ａは、対応する画像がある場合には実行され、画像がまだ取得されていない場合には画像の取得を待つ。命令表現３４８Ａの実行後、命令表現３４８Ｂ及び３４８Ｃが実行され、命令表現３４９は、ストリームモードセグメント３４０の終了及びストリームモードの終了を示す。追加の命令表現がストリームモードセグメント３４０の後に続く実施形態では、これらがストリームモード外にあり、非ストリームモードセグメント３３０の命令要素３３１及び３３２と同様に、非ストリームモードに従って示される順に実行されることが理解されよう。
【００６２】
ストリームモードセグメントに関して上述した動作及び編集環境が、特定の従来技術による実施よりも有利なことが理解されよう。より具体的には、特定の従来の実施では、コマンドの明示的なリストを画像取得に利用し、異なる明示的なコマンドリストを取得された画像の解析に利用していた。連続移動型の画像取得を達成するには、プログラミング時に、画像取得命令を別個のリストに編成し、異なるプログラム表現及びシンタックスでパートプログラム内にあった。これにより、対応するパートプログラムの編集及び「デバッグ」が難しくなった。より具体的には、ユーザが、パートプログラムの動作が記録された箇所に戻り、異なるプログラミング表現及びシンタックスが連続移動型画像取得に使用された場合、連続移動画像取得ルーチンの内部にある命令の編集又は再プログラミング方法の決定は、外部よりも分かりにくい。さらに、パートプログラムのデバッグは、元々実行された際のように容易に閲覧可能なステップ表現がないため、どの命令がどの結果の原因となったのかの特定がより難しいという点でさらに複雑であり得る。
【００６３】
本発明によれば、上述したように、パートプログラム命令表現を元々の順で提供し得る、より望ましい編集環境が提供される。さらに、ストリームモードセグメント（例えば、ストリームモードセグメント３４０）内の命令表現は、ストリームモードセグメント外の命令表現と同一の外観を有するようになされる。具体例として、命令表現３４６、３４６Ａ、３４６Ｂ、及び３４６Ｃがストリームモードセグメント３４０外（例えば、非ストリームモードセグメント３３０内）に記録された場合、命令表現３４１に「含まれ」ている表現を除き、編集インタフェース３００内で同一の外観を有する。これは、命令表現が、ストリームモードセグメントの内部では、外部と異なるプログラミング表現及びシンタックスで提供される上述した従来技術による方法とは対照的である。上述したように、編集インタフェース３００に示されるパートプログラム３２０の表現では、パートプログラムのデバッグをストリームモードセグメント３４０内であっても順番に実行することも可能である。より具体的には、デバッグプロセス中（例えば、編集モード中）、ユーザは、ストリームモードセグメント３４０内の命令表現を第１の順（すなわち、編集表現３００に示される順）で実行させることを選択し得、第１の順は、命令表現がステップバイステッププロセスで元々プログラムされた順であり、どの命令表現がどの結果の原因となったかの特定を簡易化する。
【００６４】
図５Ａ及び図５Ｂは、ストリームモードセグメントを含むパートプログラムに編集環境を提供するルーチン５００の一実施形態の流れ図５００Ａ及び５００Ｂである。図５Ａに示されるように、ブロック５１０において、学習モードが提供され、学習モードは、マシンビジョン検査システムの動作を制御すべくユーザ入力を受け取り、被制御動作に対応する命令を記録して、パートプログラムを作成するように動作可能である。学習モードは、パートプログラムを編集し、実行の編集モードに従って前に記録されたパートプログラム命令を実行するようにも動作可能である。
【００６５】
ブロック５２０において、ユーザインタフェース機能が提供され、ユーザインタフェース機能は、ユーザ制御可能なストリームモード命令要素と、パートプログラム命令の編集可能パートプログラム表現とを含む。ユーザ制御可能なストリームモード命令要素は、ストリームモード実行に指定されたパートプログラムのセグメントを含むストリームモードセグメントを指定するために使用可能である。編集可能パートプログラム表現は、画像取得動作に対応する画像取得命令表現と、画像解析動作に対応する画像解析命令表現と、ストリームモードセグメント表現とを含み得る。
【００６６】
ブロック５３０において、実行モードが提供され、実行モードは、前に作成されたパートプログラムを実行するように動作可能であり、実行モードは、ストリームモードセグメント内にないパートプログラム命令を実行する非ストリームモードと、ストリームモードセグメント内にあるパートプログラム命令を実行するストリームモードとを含む。ブロック５３０から、ルーチンは、図５Ｂに関してより詳細に後述するように、ポイントＡに続く。
【００６７】
図５Ｂに示されるように、ポイントＡから、ルーチンはブロック５４０に続く。ブロック５４０において、学習モードは、編集可能パートプログラム表現が、パートプログラムを作成するために対応する被制御動作が実行された順に対応する第１の順で、画像取得命令と、対応する画像解析命令とを含む第１の複数のパートプログラム命令を表現するように構成される。学習モードは、実行の編集モードがパートプログラム命令を実行して、第１の複数のパートプログラム命令がストリームモードセグメント内に含まれるか否かに関係なく、画像取得動作及び対応する画像解析動作を第１の順に一致するように実行するようにさらに構成される。
【００６８】
ブロック５５０において、実行モードは、ストリームモードが、第１の複数のパートプログラム命令を、ストリームモードセグメント内にある場合、第２の順に従って実行するように構成される。第２の順は、第１の複数のパートプログラムの画像取得命令を実行し、対応する画像取得動作を、対応する画像解析動作の実行に依存せずに順番に実行することを含む。一実施形態では、画像取得動作は、連続移動シーケンス中に順番に実行し得る。第２の順は、対応する画像が取得された後、第１の複数のパートプログラム画像解析命令を実行して、対応する画像解析動作を実行することをさらに含む。
【００６９】
本発明の様々な好ましい例示的な実施形態を図示し説明したが、本発明の趣旨及び範囲から逸脱せずに、様々な変更を実施形態に行い得ることが理解されよう。
【符号の説明】
【００７０】
１０、１００  マシンビジョン検査システム
１２  ビジョン測定機
１４  制御コンピュータシステム
１６、１３６  ディスプレイ
１８  プリンタ
２２  ジョイスティック
２４  キーボード
２６  マウス
３２、２１０  ステージ
３４  光学撮像システム
３２０  パートプログラム
３３０  非ストリームモードセグメント表現
３４０  ストリームモードセグメント
【図１】
2013105500.tif 000003
【図２】
2013105500.tif 000004
【図３】
2013105500.tif 000005
【図４】
2013105500.tif 000006
【図５Ａ】
2013105500.tif 000007
【図５Ｂ】
2013105500.tif 000008
【外国語明細書】
2013105500000001.pdf