(57)【要約】【課題】マシンビジョンシステムのパートプログラム編集環境内で編集初期化ブロックを利用するシステム及び方法を提供する。【解決手段】パートプログラムの編集初期化ブロックを定義及び利用する方法が提供される。パートプログラムは、一部を測定するための複数のステップを備え、編集インタフェースに表示される。編集インタフェースに、編集初期化ブロックに含めるステップを選択する選択肢が提供される。パートプログラムが保存された後に、編集のためにパートプログラムが呼び出されると、追加のステップがパートプログラムに追加される前に編集初期化ブロックが実行され得る。編集初期化ブロックにない初期パートプログラムステップによって取得されたデータの少なくともいくつかは、編集初期化ブロックを実行して決定されたデータに関連する推定データに基づいてもよい（例えば、基づいて変更されてもよい）。【選択図】図２
2013105501.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（登録商標）シリーズのビジョンシステム及びQVPAK（登録商標）ソフトウェア並びに同様の先端技術の市販されている精密マシンビジョン検査システムに類似する。マシンビジョン検査システム１０は、本願と同じ譲受人に譲渡された米国特許第７，４５４，０５３号及び同第７，３２４，６８２号並びに米国特許出願公開第２０１０／０１５８３４３号及び同第２０１１／０１０３６７９号にも記載されており、これらのそれぞれを参照により本明細書に援用する。
【００２０】
図１に示されるようなマシンビジョンシステムでのパートプログラムの編集に関して、本明細書に開示される改良された編集インタフェース機能及び関連する方法は、特に初心者又は使用頻度が低いユーザに、より効率的、直観的、且つ柔軟な編集動作を提供することができる。
【００２１】
図２は、図１のマシンビジョン検査システムと同様であり、本発明による機能を含むマシンビジョン検査システム１００の制御システム部１２０と、ビジョン構成要素部２００とのブロック図である。より詳細に後述するように、制御システム部１２０は、ビジョン構成要素部２００の制御に利用される。ビジョン構成要素部２００は、光学アセンブリ２０５と、光源２２０、２３０、及び２４０と、中央透明部２１２を有するワークピースステージ２１０とを含む。ワークピースステージ２１０は、ワークピース２０を位置決めし得るステージ表面に略平行する平面内にあるＸ軸及びＹ軸に沿って制御可能に移動可能である。光学アセンブリ２０５は、カメラ系２６０と、交換式対物レンズ２５０とを含み、レンズ２８６及び２８８を有するタレットレンズアセンブリ２８０を含み得る。タレットレンズアセンブリに対する代替として、固定レンズ、又は手動で交換可能な倍率変更レンズ、又はズームレンズ構成等を含み得る。光学アセンブリ２０５は、さらに後述するように、制御可能なモータ２９４を使用することにより、Ｘ軸及びＹ軸に略直交するＺ軸に沿って制御可能に移動可能である。
【００２２】
マシンビジョン検査システム１００を使用して撮像すべきワークピース２０又は複数のワークピース２０を保持したトレイ若しくは固定具は、ワークピースステージ２１０に配置される。ワークピースステージ２１０は、光学アセンブリ２０５と相対移動すべく制御し得、それにより、交換式対物レンズ２５０は、ワークピース２０上の位置間及び／又は複数のワークピース２０間で移動する。透過照明光２２０、落射照明光２３０、及び斜め照明光２４０のうちの１つ又は複数は、光源光２２２、２３２、又は２４２のそれぞれを発して、１つ又は複数のワークピース２０を照明する。光源光はワークピース光２５５として反射又は透過し、交換式対物レンズ２５０及びタレットレンズアセンブリ２８０を通過し、カメラ系２６０に集められる。カメラ系２６０により捕捉されたワークピース２０の画像は、信号線２６２上で制御システム部１２０に出力される。光源２２０、２３０、及び２４０は、信号線又はバス２２１、２３１、及び２４１のそれぞれを通して制御システム部１２０に接続し得る。画像の倍率を変更するには、制御システム部１２０は、信号線又はバス２８１を通して、軸２８４に沿ってタレットレンズアセンブリ２８０を回転させて、タレットレンズを選択し得る。
【００２３】
様々な例示的な実施形態では、光学アセンブリ２０５は、制御可能なモータ２９４を使用してワークピースステージ２１０に対して垂直なＺ軸方向に移動可能であり、制御可能なモータ２９４は、アクチュエータ、接続ケーブル等を駆動して、光学アセンブリ２０５をＺ軸に沿って移動させ、カメラ系２６０により捕捉されるワークピース２０の画像のフォーカスを変更する。本明細書で使用される場合、Ｚ軸という用語は、光学アセンブリ２０５により得られた画像のフォーカスに使用されることを意図される軸を指す。制御可能なモータ２９４は、使用される場合、信号線２９６を介して入出インタフェース１３０に接続される。
【００２４】
図２に示されるように、様々な例示的な実施形態では、制御システム部１２０は、コントローラ１２５と、入出インタフェース１３０と、メモリ１４０と、ワークピースプログラム生成・実行器１７０と、電源部１９０とを含む。これらの構成要素のそれぞれ並びに後述する追加の構成要素は、１つ又は複数のデータ／制御バス及び／又はアプリケーションプログラミングインタフェースにより、又は様々な要素間の直接接続により相互接続し得る。
【００２５】
本発明による様々な実施形態では、ワークピースプログラム生成・実行器１７０は編集部１７２を含み、編集部１７２は、より詳細に後述するように、パートプログラムの編集に関連する様々な動作及びユーザインタフェース機能を提供又はアクティブ化する。「ワークピースプログラム」及び「パートプログラム」という用語を本明細書では同義で使用し得ることが理解されよう。一般に、編集部１７２は、編集機能の動作を制御する編集動作コントローラ１７４と、編集機能のユーザインタフェース機能を提供する編集インタフェース１７８とを含む。編集動作コントローラ１７４は編集初期化部１７６を含み、編集初期化部１７６は、より詳細に後述するように、編集機能に編集初期化機能を提供する。編集初期化部１７６は編集初期化インジケータ１７７を含み、編集初期化インジケータ１７７は、より詳細に後述するように、編集動作コントローラ１７４が利用する特定の編集初期化パラメータを定義する。編集初期化部１７６及び編集初期化インジケータ１７７は、編集インタフェース１７８にもリンクされ、インジケータは、各編集初期化パラメータ及び／又は他の関連するパラメータの編集インタフェース内に提供される。
【００２６】
特定の実施形態では、編集初期化インジケータ１７７がビデオツールと同様の特定の機能及び動作を有し得ることが理解されよう。換言すれば、図５及び図６に関してより詳細に後述するように、ユーザがインジケータの１つを設定する場合、そうすることにより、編集動作コントローラ１７４により利用されるパラメータを定義し得るとともに（例えば、どのパートプログラムステップが編集初期化ブロック内にあるかを定義する）、同時に、編集インタフェース１７８内に、各パラメータを示す画面上のインジケータを提供し得る（例えば、最後のパートプログラムステップ及び／又はどのパートプログラムステップが編集初期化ブロック内にあるかを示す）。特定の実施態様では、特定の編集初期化インジケータ１７７は、ユーザ対話のパラメータを定義し、且つユーザ対話からパラメータを受信する（例えば、どのパートプログラムステップが編集初期化ブロック内にあるかを定義し、編集初期化ブロックを実行すべきか否かについての指示をユーザから受信する等）画面上の編集インタフェース１７８内のユーザインタフェース機能として提供し得る。
【００２７】
図２に示されるように、入出力インタフェース１３０は、撮像制御インタフェース１３１と、移動制御インタフェース１３２と、照明制御インタフェース１３３と、レンズ制御インタフェース１３４とを含む。移動制御インタフェース１３２は、位置制御要素１３２ａと、速度／加速度制御要素１３２ｂとを含み得るが、そのような要素は統合且つ／又は区別不可能であってもよい。照明制御インタフェース１３３は、例えば、マシンビジョン検査システム１００の様々な対応する光源の選択、電力、オン／オフ切り替え、及び該当する場合にはストローブパルスタイミングを制御する。
【００２８】
メモリ１４０は、画像ファイルメモリ部１４１と、１つ又は複数のパートプログラム等を含み得るワークピースプログラムメモリ部１４２と、ビデオツール部１４３とを含む。ビデオツール部１４３は、ビデオツール部１４３ａと、他のビデオツール部（例えば、１４３ｍ）とを含み、他のビデオツール部は、対応する各ビデオツールのＧＵＩ、画像処理動作等を決定する。多くの既知のビデオツールが、上述したQUICK VISION（登録商標）シリーズのビジョンシステム及び関連付けられたQVPAK（登録商標）ソフトウェア等の市販のマシンビジョン検査システムに含まれる。ビデオツール部１４３は関心領域（ＲＯＩ）生成器１４３ｘも含み、関心領域生成器１４３ｘは、ビデオツール部１４３に含まれる様々なビデオツールで動作可能な様々なＲＯＩを画定する自動、半自動、及び／又は手動の動作をサポートする。
【００２９】
一般に、メモリ部１４０は、ワークピース２０の取得画像が所望の画像要素を有するように、ワークピース２０の画像を捕捉又は取得するビジョンシステム構成要素部２００の動作に使用可能なデータを記憶する。メモリ部１４０は、検査結果データも記憶し得、取得画像に対して様々な検査動作及び測定動作を手動又は自動で実行して（例えば、部分的にビデオツールとして実施される）、入出力インタフェース１３０を通して結果を出力するようにマシンビジョン検査システム１００を動作させるために使用可能なデータをさらに記憶し得る。メモリ部１４０は、入出力インタフェース１３０を通して動作可能なユーザインタフェースを定義するデータを含むこともできる。
【００３０】
透過照明光２２０、落射照明光２３０、及び斜め照明光２４０のそれぞれの信号線又はバス２２１、２３１、及び２４１はすべて、入出力インタフェース１３０に接続される。カメラ系２６０からの信号線２６２及び制御可能なモータ２９４からの信号線２９６は、入出力インタフェース１３０に接続される。画像データの搬送に加えて、信号線２６２は、画像取得を開始する信号をコントローラ１２５から搬送し得る。
【００３１】
１つ又は複数のディスプレイ装置１３６（例えば、図１のディスプレイ１６）及び１つ又は複数の入力装置１３８（例えば、図１のジョイスティック２２、キーボード２４、及びマウス２６）も、入出力インタフェース１３０に接続することができる。ディスプレイ装置１３６及び入力装置１３８を使用して、ユーザインタフェースを表示することができ、ユーザインタフェースは、検査動作の実行並びに／又はパートプログラムの作成及び／若しくは変更に使用可能な様々なユーザインタフェース機能を含み、カメラ系２６０により捕捉された画像を表示し、且つ／又はビジョンシステム構成要素部２００を直接制御し得る。特に、本発明の様々な例示的な実施形態によれば、ディスプレイ装置１３６及び入力装置１３８を使用して、マシンビジョン検査システム１００でのパートプログラムの効率的、直観的、且つ柔軟な編集を可能にするために使用可能な様々なユーザインタフェース機能を提示する。
【００３２】
様々な例示的な実施形態では、ユーザは、マシンビジョン検査システム１００を利用して、ワークピース２０のパートプログラムを作成する場合、ワークピースプログラミング言語を使用して明示的に命令を自動的、半自動的、又は手動でコーディングすることにより、且つ／又は学習モードでマシンビジョン検査システム１００を動作させて、命令を生成することにより、パートプログラム命令を生成して、所望の画像取得トレーニングシーケンスを提供する。例えば、トレーニングシーケンスは、ワークピース要素を視野（ＦＯＶ）内に位置決めすること、光レベルを設定すること、フォーカス又はオートフォーカスすること、画像を取得すること、及び画像に適用される検査トレーニングシーケンスを提供すること（例えば、ビデオツールを使用して）を含み得る。学習モードは、シーケンスを捕捉又は記録し、対応するパートプログラムステップ（すなわち、命令）に変換すべく動作する。これらのパートプログラムステップは、パートプログラムが実行される場合、マシンビジョン検査システムにトレーニングされた画像取得及び検査動作を再生させ、パートプログラム作成時に使用されたワークピースに一致する１つ又は複数のワークピースを自動的に検査させる。
【００３３】
関連する編集機能及び動作も、「リアルタイムコンテキスト生成機能を含むマシンビジョンシステムプログラム編集環境」（代理人整理番号１３８１６７）、「同期ユーザインタフェース機能を含むマシンビジョンシステムプログラム編集環境」（代理人整理番号ＭＥＩＰ１３８２４４）、及び「画像取得動作の連続ストリームが実行モード中に実行されるパートプログラムのマシンビジョンシステム編集環境」（代理人整理番号ＭＥＩＰ１３７９４４）という名称の特許出願に記載されており、これらのそれぞれは本願と同時に出願され、参照により援用されている。
【００３４】
図３は、複数の初期パートプログラムステップ３５１〜３６４を有するパートプログラム３１０の表現を含む編集インタフェース３００の図である。編集インタフェース３００は、選択バー３２０等の様々な測定及び／又は動作選択バーも含む。パートプログラム３１０の特定のステップの動作については図４に関してより詳細に後述する。
【００３５】
図４は、ワークピース４１５を有する視野ウィンドウ４１０を含むユーザインタフェース４００を示す図である。ユーザインタフェース４００は、選択バー４２０及び４４０、リアルタイムＸ−Ｙ−Ｚ（位置）座標ウィンドウ４３０、光制御ウィンドウ４５０、並びにビデオツールパラメータボックス４６０等の様々な測定及び／又は動作選択バーも含む。より詳細に後述するように、ワークピース４１５の様々な要素は、点集合ＰＴＸ、ＰＴＹ、ＰＴ３、及びＰＴ４、ラインＸＬＩＮＥ、ＹＬＩＮＥ、Ｌ３、及びＬ４、原点ＸＹＯＲＩＧＩＮ、並びに交点Ｉ２等の図３の関連するパートプログラムステップに従って特定される。
【００３６】
以下の説明では、図３の初期パートプログラムステップ表現３５１〜３６４と、図４のワークピース４１５上の対応する要素との両方を参照する。パートプログラム３１０は、ステップ表現３５１及び３５２で開始され、ステップ表現３５１及び３５２は、ユーザが手動で、大まかな原点ＲＯＰとして動作するワークピース４１５上の位置を選択し、次に、原点を大まかな原点ＲＯＰに位置合わせすることを示す。より具体的には、サブステップ３５１Ａ、３５１Ｂ、３５１Ｃ、及び３５１Ｄは、ユーザが手動ツールをセットアップして利用し、大まかな原点ＲＯＰを定義することを示し、ステップ表現３５２は、原点を大まかな原点ＲＯＰに位置合わせする。次に、ステップ表現３５３はラインＸＬＩＮＥを測定する。より具体的には、サブステップ３５３Ａ及び３５３Ｂは、ユーザがボックスツールをセットアップして利用し、エッジ点ＰＴＸを特定することを示す。ボックスツール及び他のエッジ検出ビデオツールの機能及び動作は、当分野で既知であり、前に援用した参照においてより詳細に説明されている。次に、サブステップ３５３Ｃはボックスツールにより特定されたエッジ点ＰＴＸを利用して、ラインＸＬＩＮＥを定義する。同様に、ステップ表現３５４はラインＹＬＩＮＥを測定し、サブステップ３５４Ａは、ユーザがボックスツールを利用してエッジ点ＰＴＹを特定することを示し、次に、サブステップ３５４Ｂがエッジ点ＰＴＹを利用して、ラインＹＩＬＩＮＥが定義される。
【００３７】
次に、ステップ表現３５５は、ラインＸＬＩＮＥとＹＬＩＮＥとの交点に交点ＸＹＯＲＩＧＩＮを構築する。次に、ステップ表現３５６は、マシンビジョンシステムに、原点を点ＸＹＯＲＩＧＩＮに位置合わせするよう命令する。次に、ステップ表現３５７は、マシンビジョンシステムに、ワークピース４１５のＸ軸をラインＸＬＩＮＥに位置合わせするよう命令する。図５に関してより詳細に後述するように、且つコメントライン３５８に示されるように、ステップ表現３５１〜３５７の動作は、追加の測定を実行するために、ワークピース４１５の正確な位置及び向きを確立する。
【００３８】
次に、ステップ表現３６１はラインＬ３を測定する。より具体的には、サブステップ３６１Ａ及び３６１Ｂは、ユーザがボックスツールをセットアップして利用し、エッジ点ＰＴ３を特定することを示し、次に、サブステップ３６１Ｃがエッジ点ＰＴ３を利用して、ラインＬ３が定義される。同様に、ステップ表現３６２はラインＬ４を測定し、サブステップ３６２Ａは、ユーザがボックスツールを利用してエッジ点ＰＴ４を特定することを示し、次に、サブステップ３６２Ｂはエッジ点ＰＴ４を利用してラインＬ４を定義する。ステップ表現３６３は、ユーザが選択された位置許容差を定義することを示し、ステップ表現３６４は、前に特定されたＬ３とＬ４とが交わる箇所に交点Ｉ２を構築する。これらの初期パートプログラムステップ３５１〜３６４がユーザによりプログラムされると、ユーザは、図５に関してより詳細に説明するように、編集初期化ブロックマーカの設定を選択し得る。
【００３９】
図５は、図３のパートプログラム３１０の表現を含み、パートプログラムを用いて保存すべき編集初期化ブロックを定義するドロップダウンメニュー５２０をさらに含む編集インタフェース５００の図である。図５に示されるように、ドロップダウンメニュー５２０は、編集初期化ブロックマーカを設定する選択肢５３０と、編集初期化ブロックマーカを消去する選択肢５３５とを含む。一実施形態では、ドロップダウンメニュー５２０は、ユーザが特定のステップ表現を選択した場合（例えば、図５の図では、ユーザは、マウスを使用してセレクタをステップ表現３５７上に移動させ、次に、ステップ表現３５７上で右クリックすることにより、ステップ表現３５７を選択した）に提供し得る。編集初期化ブロックマーカを用いて選択されたステップ表現（例えば、ステップ表現３５７）は、セレクタボックス（例えば、図５に示されるセレクタボックス５４０）、強調表示、又は他のインジケータ方法により示し得る。
【００４０】
ユーザは、編集初期化ブロックマーカを用いてステップ表現３５７を指定すると、これは、ステップ表現３５７までの先行するすべてのステップ（すなわち、ステップ表現３５１〜３５７）が、編集初期化ブロック５５０を構成する編集初期化ステップであることを指定する。したがって、ステップ表現３５７は、編集初期化ステップである最後の初期パートプログラムステップであると決定される。一実施形態では、編集初期化インジケータを編集インタフェース５００に提供し得、編集インタフェース５００は、各ステップ表現３５１〜３５７が編集初期化ステップであることを示す。図５の特定の例としての図では、カラーバー５５５（クロスハッチで示される）が、ステップ表現３５１〜３５７の隣に提供されて、それらのステップ表現が編集初期化ブロック５５０内にあることを示す。代替の実施形態では、他の編集初期化インジケータを利用して、編集初期化ステップを示し得る（例えば、区切りポインタ、区切りマーカ、ステップの隣のバーではなく実際のステップの強調表示等）。一実施形態では、パートプログラム３１０が保存される場合、どのステップが編集初期化ステップ表現であるかの表示も保存される。
【００４１】
いくつかの実施形態では、編集初期化ステップは、ステージに対して撮像部を移動させるパートプログラムステップを含む。例えば、図５に示されるように、ステップ表現３５１Ａ、３５１Ｂ、及び３５３Ａは、ステージに対して撮像部を移動させるステップを含み得る。
【００４２】
セレクタボックス５４０により示される編集初期化ブロックマーカに続き、したがって、編集初期化ブロック５５０に含まれない残りの初期パートプログラムステップ表現３６１〜３６４が、より詳細に後述するように、編集初期化ブロック５５０の実行時と同じように実行されなくてもよいことが理解されよう。一実施形態では、ステップ表現３６１〜３６４は、残りのステップブロック５６０内にあるものとして指定される。
【００４３】
より詳細に後述するように、一実施形態では、編集初期化ブロック５５０を利用して、パートプログラムの編集プロセス中に生じ得る状況の特定の変更に対処し得る。例えば、ユーザが、パートプログラムを保存した後、ワークステーションを去り、後に戻る場合、その間に、パートプログラムの編集に影響し得る特定の変更が生じ得る（例えば、一部分が非意図的にステージ上で動かされる等）。しかし、パートプログラムの前のすべてのステップ（特に、ハードウェア対話等の特定の時間のかかるプロセスを必要とするステップ）を再実行するために必要であり得る時間量により、ユーザは、続く編集に所望の状況を確立するために必要なステップのみの再実行を望み得る。本発明によれば、ユーザは、続く編集に望ましい状況を返すために必要であると決定されたステップを含む編集初期化ブロック５５０を指定し得る。編集初期化ブロック５５０の編集初期化ステップは、その部分の部分座標系を再確立して、最後のパートプログラムステップが実行されてからのステージ上の一部分の非意図的ないかなる移動も補償する初期パートプログラムステップを含む。
【００４４】
図６は、図３のパートプログラム３１０の表現を含み、パートプログラムが編集に呼び出された後、ユーザが編集初期化ブロックを実行するか否かを選ぶことができるポップアップブロック６２０をさらに含む編集インタフェース６００の図である。図６に示されるように、ポップアップブロック６２０は、編集初期化ステップを実行し得ることをユーザにプロンプト表示し、編集初期化ブロックを再び実行すべきか否かについてユーザに尋ね、はいボタン６３０Ａと、いいえボタン６３０Ｂとを提供する。はいボタン６３０Ａが選択される場合、図７及び図８に関してより詳細に後述するように、パートプログラムに追加ステップが追加される前に、編集初期化ブロック５５０が再び実行される。いいえボタン６３０Ｂが選択される場合、編集初期化ブロック５５０を再実行せずに、追加ステップをパートプログラムに追加し得る。特定の実施態様では、ユーザは、追加ステップをパートプログラムに追加する前に、パートプログラム３１０全体の再実行を選ぶこともできる。
【００４５】
代替の実施形態では、パートプログラム３１０が編集に呼び出された場合、編集初期化ブロック５５０を自動的に実行するべく設定し得ることが理解されよう。一実施態様では、これは、デフォルト設定により行ってもよく、又はパートプログラムが保存される際、そのパートプログラムが編集に呼び出された場合、編集初期化ブロックを自動的に実行させるか否かの選択肢をユーザに提供してもよい。特定の実施態様では、編集初期化ブロックを自動的に実行させないことが望ましい場合がある（例えば、マシンビジョンシステムがいかなるプロンプト表示も警告もなく、ひとりでに先に進み始めた場合、ユーザは驚くだろう）。
【００４６】
図７は、図３のパートプログラム３１０の表現を含み、編集初期化ブロック５５０が実行された後にパートプログラムに追加された追加のパートプログラムステップ表現７７１〜７７４を含む追加のステップブロック７７０をさらに含む編集インタフェース７００の図である。編集初期化ブロック５５０及びステップ表現７７１〜７７４の実行の特定の動作については、図８に関してより詳細に説明する。
【００４７】
図８は、編集初期化ブロック５５０が実行され、図７の追加のパートプログラムステップが実行されるワークピース４１５を含むユーザインタフェース８００の図である。図８に示されるように、編集初期化ブロック５５０の実行は、ワークピース４１５上のラインＸＬＩＮＥ及びＹＬＩＮＥ並びに点ＸＹＯＲＩＧＩＮの位置を再確立した。より具体的には、ステップ表現を実行し、ボックスツールを利用して、ワークピース４１５上のエッジ点ＰＴＸ及びＰＴＹの位置を再確立し、それから、ラインＸＬＩＮＥ及びＹＬＩＮＥ並びに点ＸＹＯＲＩＧＩＮの位置が再特定された。初期パートプログラムステップ表現３５１〜３５７によれば、これらの要素の位置の正確な特定は、追加のパートプログラムステップを追加するために、ワークピース４１５の位置及び向きの正確性を保証する。換言すれば、ワークピースプログラム３１０が最後に保存されてから、ワークピース４１５が非意図的にステージ上で動かされた場合、編集初期化ブロック５５０の実行により、さらなるパートプログラムステップを追加するために、ワークピース４１５の正確な位置及び向きを再確立する。
【００４８】
対照的に、一実施形態では、残りのステップブロック５６０内の初期パートプログラムステップ３６１〜３６４は、編集初期化ステップではなく、同じように実行されない。その代わり、図４に示されるように、パートプログラムステップ３５１〜３６４の初期実行から特定される点の相対位置に基づいて推定点集合ＰＴ３’及びＰＴ４’を提供し得る。換言すれば、図４での点ＰＴ３及びＰＴ４の相対位置は（例えば、点ＸＹＯＲＩＧＩＮを参照して）、パートプログラム３１０が最初に実行され、保存されるときに保存される。その後、パートプログラム３１０が、編集のために呼び出され、編集初期化ブロック５５０が実行されて、図８に示されるように、点ＸＹＯＲＩＧＩＮの位置を再確立した場合、点ＰＴ３及びＰＴ４の位置も再確立するのではなく、点ＸＹＯＲＩＧＩＮへの前に保存された相対位置を使用して、推定点ＰＴ３’及びＰＴ４’の位置が特定される。
【００４９】
換言すれば、推定点ＰＴ３’及びＰＴ４’の位置は、すべてハードウェア対話及びエッジ検出を必要とし、実行に比較的長時間かかるサブステップ３６１Ａ、３６１Ｂ、及び３６２Ａの実行に基づかなくてもよい。一実施形態では、編集初期化ブロック内になく、一般に特定の指定の時間がかかる動作（例えば、ステージの移動、エッジの検出、フォーカス、照明変更、パターンマッチング等のハードウェア対話）を必要とする任意のサブステップは、実行されない。その代わり、提供されたであろう任意の結果データ（例えば、再特定されたエッジ点等）は、推定データ（例えば、点ＸＹＯＲＩＧＩＮに対する推定点ＰＴ３’及びＰＴ４’の位置）に基づく。上述したように、点ＸＹＯＲＩＧＩＮの正確な位置は、編集初期化ブロック５５０の実行により再確立されている。
【００５０】
特定の指定の時間がかかるサブステップを実行しないことにより、大きな時間節約を達成し得ることが理解されよう。これは、そのようなプロセスが、特に、マシンビジョンシステムのコントローラによる計算の実行のみを必要とするプロセスと比較して、実行に比較的長い時間をとり得ることによる。図７の例では、この種のわずか少数のみのそのようなサブステップ（例えば、サブステップ３６１Ａ、３６１Ｂ、及び３６２Ａ）が示されたが、より詳細なパートプログラムでは、この種のはるかに多数のサブステップを利用し得、それに対する時間節約が大きくなり得ることが理解されよう。
【００５１】
一実施形態では、編集初期化ブロック５５０が実行される場合、サブステップ３６１Ｃ及び３６２Ｂ（比較的時間のかかる動作を必要とせず、マシンビジョンシステムのコントローラの比較的高速の処理のみを必要とし、推定点ＰＴ３’及びＰＴ４’を利用して、推定ラインＬ３’及びＬ４’の位置を確立する）をなお実行し得る。同様に、追加のステップ表現３６４（コントローラの比較的高速の処理のみを必要とする）も実行して、推定ラインＬ３’とＬ４’との交点にある推定交点Ｉ２’を特定し得る。サブステップ３６１Ｃ、３６２Ｂ、及び３６４により実行される計算がすべて、長い時間又はユーザからの入力を必要とせずに、推定エッジ点ＰＴ３’及びＰＴ４’に対して比較的高速で実行可能な種類のものであることが理解されよう。したがって、編集初期化ブロック５５０が実行される場合、残りのステップブロック５６０内の初期パートプログラムステップ３６１〜３６４の特定の部分を実行してもよい（例えば、追加のパートプログラムステップ測定に使用し得る特定の追加の部分機能を確立するために）。
【００５２】
編集パートプログラム７１０を作成するために、パートプログラム３１０に追加された追加のパートプログラムステップ表現７７１〜７７４に関して、それらのステップ表現の特定の動作についても図８に関して説明する。図８に示されるように、ステップ表現７７１はラインＬ１を測定する。より具体的には、サブステップ７７１Ａ及び７７１Ｂは、ユーザがボックスツールをセットアップして利用し、エッジ点ＰＴ１を特定することを示し、次に、サブステップ７１１Ｃがエッジ点ＰＴ１を利用して、ラインＬ１を定義する。同様に、ステップ表現７７２はラインＬ２を測定し、サブステップ７７２Ａは、ユーザがボックスツールを利用してエッジ点ＰＴ２を特定することを示し、次に、サブステップ７７２Ｂがエッジ点ＰＴ２を利用して、ラインＬ２を定義する。
【００５３】
ステップ表現７７３は、交点Ｉ１をラインＬ１とＬ２との交点において特定する。ステップ表現７７４は、交点Ｉ１とステップ表現３６４において特定された推定交点Ｉ２’との距離Ｄ１を特定する。したがって、ステップ表現７７４が、交点Ｉ１と推定交点Ｉ２’との距離の新しい測定がいかに、編集初期化ブロック５５０の実行後に提供される推定位置に頼り得るかを示すことが理解されよう。より具体的には、上述したように、比較的高速に特定可能であり、編集初期化ブロック５５０の実行に基づいて正確性の妥当な保証を有する推定交点Ｉ２’の位置を、交点Ｉ１までの新しい距離測定Ｄ１に利用することができる。
【００５４】
図９は、マシンビジョン検査システムでパートプログラムを編集する場合、編集初期化ブロックを定義し利用するルーチン９００の例示的な一実施形態を示す流れ図である。ブロック９１０において、複数の初期パートプログラムステップが定義され、対応するパートプログラムステップ表現が、ユーザインタフェースの編集インタフェースに表示される。ブロック９２０において、編集初期化部が提供される。ブロック９３０において、編集初期化部が動作して、複数の初期パートプログラムステップのうちの少なくともいくつかを、パートプログラムの編集初期化ステップとして定義する。ブロック９４０において、編集初期化部は、パートプログラムが編集に呼び出された場合、パートプログラムが定義された編集初期化ステップを含むとき、編集部が、（ａ）編集初期化ステップを実行し得ることを示す編集インタフェース内のユーザインタフェース機能を用いてユーザにプロンプト表示すること、及び（ｂ）パートプログラムへのステップ追加を許可する前に、編集初期化ステップを実行することのうちの少なくとも一方を実行するように動作する。
【００５５】
本発明の様々な好ましい例示的な実施形態を図示し説明したが、本発明の趣旨及び範囲から逸脱せずに、様々な変更を実施形態に行い得ることが理解されよう。
【符号の説明】
【００５６】
１０、１００  マシンビジョン検査システム
１２  ビジョン測定機
１４  制御コンピュータシステム
１６、１３６  ディスプレイ
１８  プリンタ
２２  ジョイスティック
２４  キーボード
２６  マウス
３２、２１０  ステージ
３４  光学撮像システム
１２５  コントローラ
１７６  編集初期化部
１７７  編集初期化インジケータ
１７８、３００、５００、６００、７００  編集インタフェース
３１０  パートプログラム
５２０  ドロップダウンメニュー
５５０  編集初期化ブロック
【図１】
2013105501.tif 000003
【図２】
2013105501.tif 000004
【図３】
2013105501.tif 000005
【図４】
2013105501.tif 000006
【図５】
2013105501.tif 000007
【図６】
2013105501.tif 000008
【図７】
2013105501.tif 000009
【図８】
2013105501.tif 000010
【図９】
2013105501.tif 000011
【外国語明細書】
2013105501000001.pdf