(57)【要約】【課題】  画像処理のパラメータを変更した際の動作確認を容易化した画像処理コントローラ用のプログラム作成装置を提供する【解決手段】  カメラ画像に基づいて判定信号を出力する画像処理コントローラ１１の制御プログラムを作成するプログラム作成装置であって、パラメータが変更可能な画像処理をそれぞれ示す複数の処理ユニット４８を配列することによって生成されたフローチャート４７を表示するフローチャート表示部２０１と、フローチャート４７に基づいて制御プログラムを生成するプログラム生成部２０２と、制御プログラムを画像処理コントローラ１１へ転送する転送部２０３と、制御プログラムを実行するシミュレーション部２０５と、実行された処理ユニットごとの処理結果を保持する処理結果記憶部２０６と、フローチャート４７上で選択された処理ユニットのパラメータ及び処理結果を表示する第１の処理結果表示部２０７により構成される。【選択図】  図１１
2009116377.tif 000002
【特許請求の範囲】
【請求項１】
被写体を撮影して得られるカメラ画像に基づいて判定信号を出力する画像処理コントローラの制御プログラムを作成するプログラム作成装置において、
パラメータが変更可能な画像処理をそれぞれ示す２以上の処理ユニットを配列することによって生成されたフローチャートを表示するフローチャート表示手段と、
上記フローチャートに基づいて、画像処理コントローラの制御プログラムを生成するプログラム生成手段と、
上記制御プログラムを画像処理コントローラへ転送する転送手段と、
上記制御プログラムを実行するシミュレーション手段と、
上記シミュレーション手段によって実行された処理ユニットごとの処理結果を保持する処理結果記憶手段と、
上記フローチャート上で選択された処理ユニットのパラメータ及び処理結果を表示する第１の処理結果表示手段とを備えたことを特徴とする画像処理コントローラ用のプログラム作成装置。
【請求項２】
上記処理ユニットのパラメータを操作入力に基づいて変更し、上記制御プログラムを書き換えるプログラム編集手段と、
上記処理ユニットの編集時における操作入力に基づいてオン状態に遷移するフラグであって、上記パラメータの変更を許可するための許可フラグを保持する許可フラグ保持手段とを備え、
上記第１の処理結果表示手段が、上記許可フラグに基づいてパラメータ及び処理結果の表示を行うことを特徴とする請求項１に記載の画像処理コントローラ用のプログラム作成装置。
【請求項３】
上記許可フラグ保持手段が保持する上記許可フラグに基づいて、上記画像処理コントローラ上で変更可能なパラメータが決定されることを特徴とする請求項２に記載の画像処理コントローラ用のプログラム作成装置。
【請求項４】
上記処理ユニットの編集時における操作入力に基づいて、異なる処理ユニットのパラメータであって、上記許可フラグによって変更が許可されたパラメータを互いに関連付けるパラメータ関連付け手段を備え、
上記パラメータ関連付け手段によって互いに関連付けられた複数のパラメータのうちの１つが変更されると、他のパラメータも同じように変更されることを特徴とする請求項２に記載の画像処理コントローラ用のプログラム作成装置。
【請求項５】
上記処理ユニットの編集時における操作入力に基づいて、上記許可フラグによって変更が許可された複数のパラメータを互いに関連付けるパラメータ関連付け手段を備え、
上記パラメータ関連付け手段によって互いに関連付けられた複数のパラメータのうちの１つが変更されると、他のパラメータも同じように変更され、
上記第１の処理結果表示手段が、上記パラメータ関連付け手段によるパラメータの関連付けに基づいて、パラメータ及び処理結果を表示することを特徴とする請求項２に記載の画像処理コントローラ用のプログラム作成装置。
【請求項６】
上記第１の処理結果表示手段によるパラメータ及び処理結果の表示時における操作入力に基づいてオン状態に遷移するフラグであって、パラメータ及び処理結果を処理ユニットごとに抽出するための抽出フラグを保持する抽出フラグ保持手段と、
上記抽出フラグに基づいてパラメータ及び処理結果を抽出し、各処理ユニットについての抽出結果を一覧表示する第２の処理結果表示手段とを備えたことを特徴とする請求項１に記載の画像処理コントローラ用のプログラム作成装置。
【請求項７】
上記カメラ画像を保持する画像データ記憶手段を備え、
上記第１の処理結果表示手段が、パラメータの現在値と、処理後の上記カメラ画像とを処理結果として表示することを特徴とする請求項１に記載の画像処理コントローラ用のプログラム作成装置。
【請求項８】
上記カメラ画像を保持するカメラ画像記憶手段を備え、
上記第１の処理結果表示手段が、上記フローチャート上で選択された処理ユニットにおける画像処理に使用されたカメラ画像と共に、当該画像処理の対象領域を示す図形及び当該画像処理による計測結果を示す図形のいずれか一方又は両方を表示することを特徴とする請求項１に記載の画像処理コントローラ用のプログラム作成装置。
【請求項９】
上記第１の処理結果表示手段により表示される上記カメラ画像が、計測結果を求める処理の前処理として行われたフィルタ処理後の画像データからなることを特徴とする請求項８に記載の画像処理コントローラ用のプログラム作成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理コントローラ用のプログラム作成装置に係り、さらに詳しくは、被写体を撮影して得られるカメラ画像に基づいて判定信号を出力する画像処理コントローラの制御プログラムを作成するプログラム作成装置の改良に関する。
【背景技術】
【０００２】
検査対象物を撮影して得られるカメラ画像を画像処理し、検査対象物の形状、位置、カメラ画像に基づく判定結果を示す判定信号などを処理結果として出力する画像処理コントローラには、一連の処理手順を変更可能なものが知られている（例えば、特許文献１）。通常、一連の処理手順をこの様な画像処理コントローラに実行させるための制御プログラムは、パーソナルコンピュータなどの情報処理端末上で動作するエディタ（ソフトウェア）を用いて作成される。ユーザは、作成した制御プログラムを画像処理コントローラに転送することにより、検査対象物に対して所望の検査を行うことができる。
【０００３】
従来、撮影条件や計測条件を示すパラメータを変更した場合に、パラメータの変更後の制御プログラムが所望の動作をするか否かを確かめるには、エディタの遠隔編集機能などを利用して画像処理コントローラ上の制御プログラムを書き換え、書き換え後のプログラムに基づいて画像処理コントローラを動作させる必要があった。このため、パラメータを変更するごとに画像処理コントローラの運転を停止させなければならないという問題があった。
【特許文献１】特開平９−２８８５６８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上述した通り、従来の画像処理コントローラ用のプログラム作成装置では、撮影条件や計測条件を示すパラメータを変更するごとに画像処理コントローラの運転を停止させなければならないという問題があった。
【０００５】
本発明は、上記の事情に鑑みてなされたものであり、画像処理のパラメータを変更した際の動作確認を容易化した画像処理コントローラ用のプログラム作成装置を提供することを目的とする。特に、画像処理コントローラの運転を停止させることなく、制御プログラムを動作確認することができるプログラム作成装置を提供することを目的とする。また、制御プログラムを構成する任意の処理ユニットについて容易に動作確認することができるプログラム作成装置を提供することを目的とする。また、パラメータを誤って変更してしまうのを抑制することができるプログラム作成装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
第１の本発明による画像処理コントローラ用のプログラム作成装置は、被写体を撮影して得られるカメラ画像に基づいて判定信号を出力する画像処理コントローラの制御プログラムを作成するプログラム作成装置であって、パラメータが変更可能な画像処理をそれぞれ示す２以上の処理ユニットを配列することによって生成されたフローチャートを表示するフローチャート表示手段と、上記フローチャートに基づいて、画像処理コントローラの制御プログラムを生成するプログラム生成手段と、上記制御プログラムを画像処理コントローラへ転送する転送手段と、上記制御プログラムを実行するシミュレーション手段と、上記シミュレーション手段によって実行された処理ユニットごとの処理結果を保持する処理結果記憶手段と、上記フローチャート上で選択された処理ユニットのパラメータ及び処理結果を表示する第１の処理結果表示手段とを備えて構成される。
【０００７】
このプログラム作成装置では、シミュレーション手段により制御プログラムが実行され、処理ユニットごとの処理結果が保持される。そして、フローチャート上で選択された処理ユニットについて、パラメータ及び処理結果が表示される。この様な構成によれば、プログラム作成装置上で制御プログラムが実行されるので、画像処理コントローラの運転を停止させることなく、制御プログラムを動作確認することができる。また、フローチャート上で選択された処理ユニットについてパラメータ及び処理結果が表示されるので、制御プログラムを構成する任意の処理ユニットについて容易に動作確認することができる。
【０００８】
第２の本発明による画像処理コントローラ用のプログラム作成装置は、上記構成に加え、上記処理ユニットのパラメータを操作入力に基づいて変更し、上記制御プログラムを書き換えるプログラム編集手段と、上記処理ユニットの編集時における操作入力に基づいてオン状態に遷移するフラグであって、上記パラメータの変更を許可するための許可フラグを保持する許可フラグ保持手段とを備え、上記第１の処理結果表示手段が、上記許可フラグに基づいてパラメータ及び処理結果の表示を行うように構成される。この様な構成によれば、許可フラグによって予め指定されているパラメータ及び処理結果だけを表示させることができるので、表示中の処理ユニットのパラメータを誤って変更してしまうのを抑制することができる。
【０００９】
第３の本発明による画像処理コントローラ用のプログラム作成装置は、上記構成に加え、上記許可フラグ保持手段が保持する上記許可フラグに基づいて、上記画像処理コントローラ上で変更可能なパラメータが決定されるように構成される。この様な構成によれば、許可フラグを介して画像処理コントローラ上で変更可能なパラメータを予め指定することができるので、一部のパラメータについてのみ画像処理コントローラ上での変更を可能とし、他のパラメータについては変更させないようにすることができる。
【００１０】
第４の本発明による画像処理コントローラ用のプログラム作成装置は、上記構成に加え、上記処理ユニットの編集時における操作入力に基づいて、異なる処理ユニットのパラメータであって、上記許可フラグによって変更が許可されたパラメータを互いに関連付けるパラメータ関連付け手段を備え、上記パラメータ関連付け手段によって互いに関連付けられた複数のパラメータのうちの１つが変更されると、他のパラメータも同じように変更されるように構成される。
【００１１】
第５の本発明による画像処理コントローラ用のプログラム作成装置は、上記構成に加え、上記処理ユニットの編集時における操作入力に基づいて、上記許可フラグによって変更が許可された複数のパラメータを互いに関連付けるパラメータ関連付け手段を備え、上記パラメータ関連付け手段によって互いに関連付けられた複数のパラメータのうちの１つが変更されると、他のパラメータも同じように変更され、上記第１の処理結果表示手段が、上記パラメータ関連付け手段によるパラメータの関連付けに基づいて、パラメータ及び処理結果を表示するように構成される。
【００１２】
第６の本発明による画像処理コントローラ用のプログラム作成装置は、上記構成に加え、上記第１の処理結果表示手段によるパラメータ及び処理結果の表示時における操作入力に基づいてオン状態に遷移するフラグであって、パラメータ及び処理結果を処理ユニットごとに抽出するための抽出フラグを保持する抽出フラグ保持手段と、上記抽出フラグに基づいてパラメータ及び処理結果を抽出し、各処理ユニットについての抽出結果を一覧表示する第２の処理結果表示手段とを備えて構成される。この様な構成によれば、抽出フラグに基づいてパラメータ及び処理結果が抽出され、各処理ユニットについての抽出結果が一覧表示されるので、抽出フラグによって予め指定されたパラメータのみに絞り込んで一連の処理結果を表示させることができる。
【００１３】
第７の本発明による画像処理コントローラ用のプログラム作成装置は、上記構成に加え、上記カメラ画像を保持する画像データ記憶手段を備え、上記第１の処理結果表示手段が、パラメータの現在値と、処理後の上記カメラ画像とを処理結果として表示するように構成される。この様な構成によれば、パラメータの現在値及び処理後のカメラ画像が処理結果として表示されるので、処理ユニットの動作確認を容易に行うことができる。
【００１４】
第８の本発明による画像処理コントローラ用のプログラム作成装置は、上記構成に加え、上記カメラ画像を保持するカメラ画像記憶手段を備え、上記第１の処理結果表示手段が、上記フローチャート上で選択された処理ユニットにおける画像処理に使用されたカメラ画像と共に、当該画像処理の対象領域を示す図形及び当該画像処理による計測結果を示す図形のいずれか一方又は両方を表示するように構成される。
【００１５】
第９の本発明による画像処理コントローラ用のプログラム作成装置は、上記構成に加え、上記第１の処理結果表示手段により表示される上記カメラ画像が、計測結果を求める処理の前処理として行われたフィルタ処理後の画像データからなるように構成される。
【発明の効果】
【００１６】
本発明による画像処理コントローラ用のプログラム作成装置によれば、プログラム作成装置上で制御プログラムが実行されるので、画像処理コントローラの運転を停止させることなく、制御プログラムを動作確認することができる。また、フローチャート上で選択された処理ユニットについてパラメータ及び処理結果が表示されるので、制御プログラムを構成する任意の処理ユニットについて容易に動作確認することができる。従って、画像処理のパラメータを変更した際の動作確認を容易化したプログラム作成装置を実現することができる。また、許可フラグによって予め指定されているパラメータ及び処理結果だけを表示させることができるので、表示中の処理ユニットのパラメータを誤って変更してしまうのを抑制することができる。
【発明を実施するための最良の形態】
【００１７】
<検査システム>
図１は、本発明の実施の形態によるプログラム作成装置を含む検査システムの一構成例を示した斜視図である。この検査システムは、検査対象物の搬送ライン上に配置される画像処理装置１と、この画像処理装置１の制御プログラムを生成するＰＣ（パーソナルコンピュータ）２とからなる。
【００１８】
画像処理装置１は、画像処理コントローラ１１、カメラ１２、ディスプレイ１３ａ及び操作ユニット１３ｂからなり、検査対象物から得られたカメラ画像に基づいて判定信号を出力するセンサー装置である。この判定信号は、図示しないＰＬＣ（Programmable Logic Controller：プログラマブルコントローラ）などへ入力され、画像処理装置１は、ＦＡ（Factory Automation）センサーとして使用される。
【００１９】
カメラ１２は、被写体を撮影して画像データを生成し、カメラ画像として出力する撮像装置であり、画像処理コントローラ１１に着脱可能に接続される。カメラ１２は、例えば、検査対象物が搬送される搬送ライン上に配置される。
【００２０】
ディスプレイ１３ａは、検査対象物を撮影して得られたカメラ画像やカメラ画像に基づく画像処理結果を表示するための出力装置である。操作ユニット１３ｂは、ディスプレイ１３ａ上でフォーカス位置を移動させたり、メニュー項目を選択するための入力装置である。
【００２１】
画像処理コントローラ１１は、カメラ１２からのカメラ画像を取り込んで処理し、カメラ画像に基づいて行った判定結果を示す判定信号を処理結果として出力する画像処理装置１の本体ユニットである。
【００２２】
この画像処理コントローラ１１には、最大で４台のカメラ１２が接続され、これらのカメラ１２から取得したカメラ画像に基づいて画像処理が行われる。画像処理コントローラ１１から出力される判定信号は、製品の良否などの判定結果を示す信号として生成される。
【００２３】
また、画像処理コントローラ１１には、ディスプレイ１３ａ及び操作ユニット１３ｂが接続されており、ＰＣ２を接続しなくても、操作ユニット１３ｂを入力装置とし、ディスプレイ１３ａを出力装置として動作させることができる。
【００２４】
ＰＣ２は、画像処理コントローラ１１の制御プログラムを作成するプログラム作成装置であり、ＰＣ２上で動作するエディタ（ソフトウェア）によって制御プログラムが生成される。画像処理コントローラ１１の制御プログラムを作成する際、ＰＣ２上でシミュレーションして動作確認することができる。
【００２５】
ＰＣ２と画像処理装置１の画像処理コントローラ１１とは、イーサネット（Ethernet：登録商標）などの通信ネットワークを介して接続される。ＰＣ２には、複数の画像処理コントローラ１１が着脱可能に接続される。ＰＣ２上で作成した制御プログラムを画像処理コントローラ１１に転送することにより、画像処理コントローラ１１内の制御プログラムを書き換えることができる。また、画像処理コントローラ１１内の制御プログラムを取り込んでＰＣ２上で編集することもできる。
【００２６】
<システム構成>
図２は、図１の検査システムのシステム構成の一例を示したブロック図である。この検査システム１００は、１台のＰＣ２と、通信ネットワーク３を介してＰＣ２に接続された複数の画像処理装置１により構成される。ＰＣ２上で作成された制御プログラムは、検査設定データ２２としてメモリ２１内に格納される。
【００２７】
ＰＣ２上で作成された検査設定データ２２は、通信ネットワーク３を介して画像処理コントローラ１１に転送される。このとき、転送先を指定して検査設定データ２２を転送することにより、所望の画像処理コントローラ１１について、メモリ１４内の検査設定データ１５を更新し、或いは、メモリ１４内に新たな検査設定データを追加することができる。
【００２８】
この画像処理コントローラ１１では、フラッシュメモリなどのメモリ１４内に複数の検査設定データ１５が保持されている。各検査設定データ１５は、処理手順や検査内容が異なる制御プログラムであり、ユーザ操作に基づいて実行対象とする実行対象とする検査設定データ１５を変更することができる。
【００２９】
ＰＣ２では、通信ネットワーク３によって接続されている画像処理コントローラ１１から検査設定データ１５を取得して編集する動作が行われる。
【００３０】
<エディタ画面>
図３は、図２の検査システム１００におけるＰＣ２の動作の一例を示した図であり、検査設定データ２２を作成するためのエディタ画面４０が示されている。エディタ画面４０は、ＰＣ２上で検査設定データを新たに作成し、或いは、画像処理コントローラ１１から取得した検査設定データを編集するための編集画面であり、ＰＣ２上に表示される。
【００３１】
このエディタ画面４０は、それぞれ表示位置や表示範囲が変更可能な複数のウィンドウ画面からなる。具体的には、システムビューウィンドウ４１、パーツリストウィンドウ４２、ユニットプロパティウィンドウ４３、ビジョンビューウィンドウ４４及びリザルトビューウィンドウ４５からなる。
【００３２】
システムビューウィンドウ４１は、システム構成や編集対象とする検査設定データを一覧表示するためのウィンドウ画面であり、コントローラ一覧画面４１ａ及びワークスペース一覧画面４１ｂからなる。
【００３３】
コントローラ一覧画面４１ａは、ＰＣ２に接続されている画像処理コントローラ１１を一覧表示するための画面であり、画像処理コントローラ１１を示すアイコンや、画像処理コントローラ１１内に保持されている検査設定データ１５を示すアイコンが表示されている。
【００３４】
画像処理コントローラ１１や検査設定データ１５を示す各アイコンは、ツリー形式で表示されている。すなわち、画像処理コントローラ１１を上階層とし、この画像処理コントローラ１１内に保持されている検査設定データ１５を下階層として、検査設定データ１５がどの画像処理コントローラ１１に保持されているのかが識別可能なように表示されている。
【００３５】
ワークスペース一覧画面４１ｂは、編集対象とする検査設定データを一覧表示するための画面であり、画像処理コントローラ１１ごとに設けられるメモリ２１上の作業領域を示すアイコンや、検査設定データを示すアイコンが表示されている。画像処理コントローラ１１ごとに設けられるメモリ２１上の作業領域は、該当する画像処理コントローラ１１に関連付けられており、ワークスペースとして表示されている。つまり、ＰＣ２上には、検査設定データが画像処理コントローラ１１ごとに保持され、画像処理コントローラ１１ごとのワークスペースにおいて編集が行われる。
【００３６】
この様な作業領域を示すアイコンや検査設定データを示すアイコンは、ツリー形式で表示されている。すなわち、画像処理コントローラ１１に対応するワークスペースを上階層とし、このワークスペース内の検査設定データを下階層として、検査設定データがどのワークスペースに存在するのかが識別可能なように表示されている。
【００３７】
コントローラ一覧画面４１ａの見出し欄に配置されている更新ボタン（アイコン）を操作すれば、画像処理コントローラ１１から新たに検査設定データが取得され、ＰＣ２上に保持されている検査設定データやシステム構成が最新のものに更新される。また、登録ボタンを操作すれば、ＰＣ２上で作成された検査設定データが画像処理コントローラ１１に転送される。
【００３８】
ワークスペース一覧画面４１ｂの見出し欄に配置されている更新ボタン（アイコン）を操作すれば、画像処理コントローラ１１から取得された検査設定データによって、編集対象とする検査設定データが更新される。また、追加ボタンを操作すれば、新たな作業領域が設けられ、検査設定データを示すアイコンが追加される。
【００３９】
パーツリストウィンドウ４２は、検査設定データを作成する際に選択可能な処理ユニットをユニット一覧として表示するためのウィンドウ画面である。処理ユニットは、パラメータが変更可能な処理を示すシンボルであり、画像処理を示す画像処理ユニット、撮像処理を示す撮像ユニット、フロー制御処理を示す制御ユニット、及び、出力処理を示す出力ユニットがある。この様な処理ユニットを後述するフロービューウィンドウ内のフローチャート上に配置することによって、所望のフローシーケンスからなる検査設定データが作成される。
【００４０】
パーツリストウィンドウ４２内には、複数の処理ユニットが表示される。この例では、処理の種類によって処理ユニットが８つのカテゴリーに区分され、各カテゴリーを示すアイコンが表示されている。具体的には、「画像入力」、「計測」、「制御」、「演算」、「タイミング」、「表示」、「出力」及び「コマンド出力」のカテゴリーに区分されている。
【００４１】
「画像入力」は、撮像に関する処理ユニットが属するカテゴリーであり、カメラ画像を取り込む撮像ユニットが属している。「計測」は、計測に関する処理ユニットが属するカテゴリーであり、パターンサーチユニット、エッジ位置検出ユニット、ブロブ検出ユニット、色検査ユニットなどの画像処理ユニットが属している。
【００４２】
パターンサーチは、カメラ画像上のサーチ領域内を走査して予め登録されたパターン画像と一致する位置を検出する処理である。エッジ位置検出は、カメラ画像上の計測領域について、検出方向に垂直な方向の平均濃度を求め、検出方向の濃度変化からエッジの位置を検出する処理である。
【００４３】
ブロブ検出は、カメラ画像を２値化し、同一濃度を有する画素の塊をブロブとして抽出して、計測領域内に存在するブロブの数、面積、重心位置を検出する処理である。色検査は、検査領域内の色を測定する処理であり、色に対応する数値が計測結果として抽出される。
【００４４】
「制御」は、制御に関する処理ユニットが属するカテゴリーであり、繰返しユニット、バイパスユニット、エンドシンボルなどの制御ユニットが属している。繰返しユニットは、実行フローを繰り返す際の始点を示す繰返し開始ユニットと、終点を示す繰返し終了ユニットとからなる処理ユニットであり、所定の条件が満たされるまで開始ユニット及び終了ユニット間の実行フローを繰り返させる処理を示す。
【００４５】
バイパスユニットは、実行フローを２つの枝フローに分岐させる分岐ユニットと、この分岐ユニットによって分岐された枝フローを合流させる合流ユニットとからなる処理ユニットであり、所定の条件で実行フローを分岐させる処理を示す。エンドシンボルは、１回のフローシーケンスを終了させるための表示オブジェクトである。
【００４６】
「演算」は、演算に関する処理ユニットが属するカテゴリーであり、数値演算ユニットなどの画像処理ユニットが属している。「タイミング」は、フロー遷移の停止動作に関する処理ユニットが属するカテゴリーであり、ウェイトユニット、イベント待ちユニットなどの制御ユニットが属している。ウェイトユニットは、所定時間だけフロー遷移を停止させる処理を示す。イベント待ちユニットは、端子入力や変数値が所定の状態となるまでフロー遷移を停止させる処理を示す。
【００４７】
「表示」は、表示に関する処理ユニットが属するカテゴリーであり、グラフィック表示ユニットなどの画像処理ユニットが属している。グラフィック表示ユニットは、変数を参照してグラフィックを描画する処理を示す。「出力」は、出力に関する処理ユニットが属するカテゴリーであり、端子出力ユニット、結果出力ユニット、画像出力ユニットなどの出力ユニットが属している。「コマンド出力」は、コマンド出力に関する処理ユニットが属するカテゴリーであり、コマンド発行ユニットなどの出力ユニットが属している。
【００４８】
ユニットプロパティウィンドウ４３は、コントローラ一覧画面４１ａ、ワークスペース一覧画面４１ｂ又はフロービューウィンドウ上で選択された処理ユニットのプロパティを表示するためのウィンドウ画面である。
【００４９】
ビジョンビューウィンドウ４４は、コントローラ一覧画面４１ａ、ワークスペース一覧画面４１ｂ又はフロービューウィンドウ上で選択された処理ユニットに関連付けられているカメラ画像を表示するためのウィンドウ画面である。
【００５０】
リザルトビューウィンドウ４５は、コントローラ一覧画面４１ａ、ワークスペース一覧画面４１ｂ又はフロービューウィンドウ上で選択された処理ユニットのパラメータと、シミュレーション結果とを表示するためのウィンドウ画面である。
【００５１】
このエディタ画面４０では、システムビューウィンドウ４１の下部に配置されているフロービューボタン４１ｃを操作すれば、上述したシステムビューウィンドウ４１に代えて、フロービューウィンドウを表示させることができる。フロービューウィンドウは、画像処理コントローラ１１に実行させる処理手順をフローチャートとして表示するウィンドウ画面であり、ワークスペース一覧画面４１ｂ上で選択された検査設定データが表示される。
【００５２】
また、リザルトビューウィンドウ４５の下部に配置されている抽出一覧ボタン４５ａを操作すれば、リザルトビューウィンドウ４５に代えて、抽出一覧ウィンドウを表示させることができる。抽出一覧ウィンドウは、リザルトビューウィンドウ４５上で選択されたパラメータ及び処理結果を抽出して処理ユニットごとの抽出結果を一覧表示するためのウィンドウ画面である。
【００５３】
<フロービューウィンドウ>
図４は、図２の検査システム１００におけるＰＣ２の動作の一例を示した図であり、フロービューウィンドウ４６が表示されたエディタ画面４０が示されている。フロービューウィンドウ４６は、検査設定データを新たに作成し、或いは、画像処理コントローラ１１から取得した検査設定データを編集するために、処理手順を示すフローチャート４７を表示するウィンドウ画面である。
【００５４】
フロービューウィンドウ４６には、複数の処理ユニット４８を配列することによって構成されたフローチャート４７が表示されている。フローチャート４７は、スタートシンボル「Ｓ」において開始し、エンドシンボル「Ｅ」において終了する実行フロー上で時系列に実行される処理ユニットが表されている。ユーザは、この様な実行フロー上に処理ユニット４８を配置することによって所望の検査設定データを構成することができる。
【００５５】
フロービューウィンドウ４６の下部に配置されているシステムビューボタン４６ａを操作すれば、このフロービューウィンドウ４６に代えて、システムビューウィンドウ４１を表示させることができる。
【００５６】
フロービューウィンドウ４６上で選択されている処理ユニットは、フォーカス表示され、ユニットプロパティウィンドウ４３内にそのプロパティが表示される。ユニットプロパティウィンドウ４３内には、編集ボタン４３ａが配置され、編集ボタン４３ａを操作すれば、処理ユニットのプロパティを編集するための編集ダイアログが表示される。プロパティの編集ダイアログは、ユーザ操作に基づいて処理ユニットのパラメータを指定し、或いは、既に指定されているパラメータを変更するためのダイアログ画面である。
【００５７】
<処理ユニットの編集ダイアログ>
図５は、図２の検査システム１００におけるＰＣ２の動作の一例を示した図であり、エディタ画面４０上に表示される編集ダイアログ５０が示されている。この編集ダイアログ５０は、エッジ位置検出ユニットのプロパティを編集するためのダイアログ画面である。
【００５８】
この編集ダイアログ５０では、エッジ位置検出に関する様々なパラメータを選択し、或いは、指定することができる。編集可能なプロパティとして、「表示画像」、「画像設定」、「領域設定」、「検出条件」、「判定条件」などの項目が設けられている。
【００５９】
「表示画像」は、ビジョンビューウィンドウ４４内にカメラ画像を表示させる際の表示方法を選択するための項目であり、表示方法として、登録画像又はフィルタ画像のいずれかを選択することができる。登録画像を選択した場合は、予め登録されたカメラ画像であって、フローチャート上で選択されている処理ユニットにおける画像処理に使用されたカメラ画像がそのままスルー画像として表示される。一方、フィルタ画像を選択した場合には、処理ユニットにおける画像処理に使用されたカメラ画像であって、計測結果を求める処理の前処理として行われたフィルタ処理後の画像データからなるカメラ画像がフィルタ処理後画像として表示される。
【００６０】
ここで、前処理として行われるフィルタ処理とは、計測精度を上げるためにカメラ画像について行う画像の変換処理のことであり、計測結果を求めるための一連の画像処理のうち、多数のピクセルデータからなる２次元の入力画像から２次元の出力画像を生成する処理となっている。一方、計測結果を求める処理とは、前処理後に行われる処理であって、２次元の入力画像から計測値などの数値を生成する処理のことである。
【００６１】
例えば、色抽出、膨張、収縮及びソーベル（エッジ強調）などのフィルタ処理が選択的に前処理として行われる。なお、色抽出は、カラー画像を変換することによって、グレースケール化した濃淡画像、又は、２値化した白黒画像を生成する前処理である。
【００６２】
「画像設定」は、処理対象とするカメラ画像を指定するための項目である。「領域設定」は、カメラ画像について、処理対象とする画像領域を指定するための項目である。「検出条件」は、処理方法や計測条件を指定するための項目である。「判定条件」は、検査対象物の良否を判定して判定信号を生成する際に用いられるパラメータを指定するための項目である。「検出条件」には、例えば、エッジ検出の方向やエッジ感度を指定するためのパラメータ入力欄５３が設けられている。
【００６３】
編集ダイアログ５０には、パラメータの入力欄５３に対応付けて、チェックボックス５１及び変数名の入力欄５２が配置されている。チェックボックス５１は、リザルトビューウィンドウ４５上でのパラメータ変更を許可するか否かを指定するための入力欄である。
【００６４】
チェックボックス５１を操作してチェックマークが入力されたパラメータは、リザルトビューウィンドウ４５内に変数名と共に表示されるとともに、リザルトビューウィンドウ４５上で変更することができる。つまり、編集ダイアログ５０上では、編集対象として選択された処理ユニットの全パラメータが変更可能であるのに対して、リザルトビューウィンドウ４５上では、編集ダイアログ５０において変更を許可したパラメータのみが表示され、その値を変更することができる。
【００６５】
ここで、チェックボックス５１にチェックマークが入力されたパラメータは、グローバル変数に指定され、異なるパラメータ間、或いは、異なる処理ユニットのパラメータ間でその値が共有されるものとする。すなわち、変更が許可されたパラメータには、入力欄５２において入力された変数名が関連付けられ、この変数名と同じ変数名が対応付けられた他のパラメータとの間で値が共有される。この様に変数名を介して互いに関連付けられた複数のパラメータは、その値が共有され、いずれかのパラメータの値を変更すれば、他のパラメータも同じように変更される。
【００６６】
また、編集ダイアログ５０において変更を許可したパラメータは、画像処理コントローラ１１上で変更可能なパラメータとして指定されるものとする。すなわち、編集ダイアログ５０において変更を許可したパラメータのみが画像処理コントローラ１１上での変更が可能となり、変更を許可しなかったパラメータについては、画像処理コントローラ上での変更が制限される。
【００６７】
<リザルトビューウィンドウ>
図６は、図２の検査システム１００におけるＰＣ２の動作の一例を示した図であり、エディタ画面４０上のリザルトビューウィンドウ４５が示されている。リザルトビューウィンドウ４５には、フロービューウィンドウ４６上で選択されている処理ユニットのパラメータ及びシミュレーション結果が表示されている。
【００６８】
リザルトビューウィンドウ４５内には、処理ユニットのプロパティ編集時に、チェックボックス５１にチェックマークを入力することによって編集ダイアログ５０上でユーザが指定したパラメータが一覧表示されている。
【００６９】
具体的には、フロービューウィンドウ４６上で選択されている処理ユニットのパラメータについて、現在値７１、初期値７２、種別情報７３及び型情報７４が変数名に対応付けて表示されている。パラメータの現在値７１は、編集中の検査設定データを実行させて得られた処理ユニットごとの処理結果を示すデータである。
【００７０】
種別情報７３は、リザルトビューウィンドウ４５上で編集可能なパラメータであるか否かを示す情報である。例えば、編集可能なパラメータに対して「ローカル変数」と表示され、処理結果を示すデータに対して「結果データ」と表示される。
【００７１】
この様に、フロービューウィンドウ４６上で選択されている処理ユニットに絞り込んで、パラメータ及び処理結果を表示させることができる。また、編集ダイアログ５０上で予め指定されたパラメータのみリザルトビューウィンドウ４５内に表示され、チェックボックス５１にチェックマークを入力しなかったパラメータは表示されないので、変更する必要のないパラメータを誤って編集してしまうのを防止することができる。
【００７２】
また、リザルトビューウィンドウ４５内に表示されているパラメータの現在値又は初期値は、当該ウィンドウ上で変更することができる。例えば、変更しようとするパラメータを選択してキー入力することにより、当該パラメータを変更することができる。また、この様なパラメータの変更後に、シミュレーション実行のための操作入力を行えば、変更後のパラメータに基づいてシミュレーションが実行され、このシミュレーション結果が処理結果に反映される。この様に、変更後のパラメータに基づくシミュレーション結果がリザルトビューウィンドウ４５上で確認することができるので、パラメータ変更時に容易に動作確認することができる。
【００７３】
図７は、図２の検査システム１００におけるＰＣ２の動作の一例を示した図であり、処理ユニットの処理結果が表示されたリザルトビューウィンドウ４５が示されている。このリザルトビューウィンドウ４５には、フロービューウィンドウ４６上で選択されている処理ユニットの処理結果を示すデータが変数名と共に表示されている。
【００７４】
処理結果データの表示では、プロパティ編集ダイアログ５０上で先頭インデックス７５及び表示個数７６を予め指定しておけば、リザルトビューウィンドウ４５上での表示量を制限することができる。また、処理結果データに割り当てられている変数名と共に、展開アイコン７７や折畳みアイコンが表示され、これらのアイコンを操作することにより、処理結果データを非表示としたり、非表示の処理結果データを表示させることができる。
【００７５】
図８は、図２の検査システム１００におけるＰＣ２の動作の一例を示した図であり、非表示の処理結果データを表示させた場合が示されている。このリザルトビューウィンドウ４５には、エッジ位置検出ユニットの変数「Ｘ」における処理結果データを表示させることにより、処理結果データとして位置Ｘの計測値、絶対計測値及び判定値が表示されている。
【００７６】
<抽出一覧ウィンドウ>
図９は、図２の検査システム１００におけるＰＣ２の動作の一例を示した図であり、エディタ画面４０上の抽出一覧ウィンドウ６０が示されている。抽出一覧ウィンドウ６０には、リザルトビューウィンドウ４５上でユーザが指定したパラメータ及び処理結果データが抽出され、処理ユニットごとの抽出結果が一覧表示されている。
【００７７】
この例では、エッジ位置検出ユニット及び色検査ユニットのパラメータ及び処理結果が表示されている。この様に、リザルトビューウィンドウ４５上で指定されたパラメータ及び処理結果のみに絞り込んで、編集中の検査設定データに関する一連の処理結果を表示させることができる。
【００７８】
図１０は、図２の検査システム１００におけるＰＣ２の動作の一例を示した図であり、ビジョンウィンドウ４４及びユーザウィンドウ４９が表示されたエディタ画面４０が示されている。ビジョンウィンドウ４４及びユーザウィンドウ４９は、カメラ画像を表示するためのウィンドウ画面である。
【００７９】
ビジョンウィンドウ４４には、フロービューウィンドウ４６上で選択されている処理ユニットにおける画像処理に使用されたカメラ画像が表示される。カメラ画像を表示する際の表示方法は、スルー画像又はフィルタ処理後画像のいずれかを選択することができる。この例では、色検査ユニットにおける色検査処理に使用されたカメラ画像が表示されている。このカメラ画像上には、検査対象とする画像領域を示す図形、すなわち、円形状の枠が表示されている。
【００８０】
一方、ユーザウィンドウ４９には、フロービューウィンドウ４６上でユーザが選択した複数の処理ユニットのシミュレーション結果がカメラ画像上に同時に表示される。この例では、色検査ユニット及びエッジ位置検出ユニットにおける画像処理に使用されたカメラ画像上に、色検査の検査領域を示す図形（円形状の枠）と、エッジ位置検出で検出されたエッジを示す図形（線分）及びエッジ位置検出の計測領域を示す図形（矩形形状の枠）とが表示されている。
【００８１】
<エディタの機能構成>
図１１は、図２の検査システム１００におけるＰＣ２の構成例を示したブロック図であり、画像処理コントローラ１１の制御プログラムを作成するエディタの機能構成の一例が示されている。このＰＣ２は、フローチャート表示部２０１、プログラム生成部２０２、メモリ２１、転送部２０３、画像データ記憶部２０４、シミュレーション部２０５、処理結果記憶部２０６、第１の処理結果表示部２０７、第２の処理結果表示部２０８、プログラム編集部２０９、許可フラグ保持部２１０、抽出フラグ保持部２１１、パラメータ関連付け部２１２及び変数名記憶部２１３により構成される。
【００８２】
フローチャート表示部２０１は、複数の処理ユニットを配列することによって生成されたフローチャート４７をフロービューウィンドウ４６内に表示する動作を行っている。プログラム生成部２０２は、フロービューウィンドウ４６上のフローチャート４７を実行形式に変換することにより、画像処理コントローラ１１の制御プログラム、すなわち、検査設定データを生成する動作を行っている。
【００８３】
メモリ２１には、プログラム生成部２０２により生成された検査設定データや画像処理コントローラ１１から取得した検査設定データが保持される。転送部２０３は、メモリ２１内の検査設定データを画像処理コントローラ１１へ転送する動作を行っている。
【００８４】
画像データ記憶部２０４には、画像処理コントローラ１１から取得したカメラ画像が保持される。
【００８５】
シミュレーション部２０５は、メモリ２１内の検査設定データを読み出して実行し、処理結果を生成する制御プログラムの実行手段である。この検査設定データのシミュレーションは、シミュレーション実行を指示するための操作入力に基づいて開始され、カメラ画像の取り込みを指示するための操作入力に基づいて画像データ記憶部２０４内に取り込まれたカメラ画像に基づいて処理結果が生成される。
【００８６】
処理結果記憶部２０６には、シミュレーション部２０５によって実行された処理ユニットごとの処理結果を保持される。
【００８７】
プログラム編集部２０９は、処理ユニットのパラメータを操作入力に基づいて変更し、メモリ２１内の検査設定データを書き換える動作を行っている。
【００８８】
許可フラグ保持部２１０には、リザルトビューウィンドウ４５上におけるパラメータの変更を許可するための許可フラグが保持される。この許可フラグは、編集ダイアログ５０上で処理ユニットのプロパティを編集する際の操作入力に基づいてセットし、オン状態に遷移するフラグである。具体的には、編集ダイアログ５０のチェックボックス５１にチェックマークが入力されると、オン状態に遷移する許可フラグが、パラメータに関連付けて保持される。
【００８９】
第１の処理結果表示部２０７は、フローチャート４７上で選択された処理ユニットのパラメータ及び処理結果を表示する動作を行っている。このパラメータ及び処理結果の表示は、許可フラグに基づいて行われる。すなわち、編集対象として選択された処理ユニットについて、許可フラグがオン状態であるパラメータ及び処理結果がリザルトビューウィンドウ４５内に一覧表示される。また、入力欄５２において入力された変数名が、パラメータに対応付けて表示される。
【００９０】
この第１の処理結果表示部２０７では、フローチャート４７上で選択された処理ユニットにおける画像処理に使用されたカメラ画像と共に、当該画像処理の対象領域を示す図形及び当該画像処理による計測結果を示す図形のいずれか一方又は両方をビジョンビューウィンドウ４４内に表示する動作も行われる。
【００９１】
本実施の形態では、許可フラグ保持部２１０に保持されている許可フラグに基づいて、画像処理コントローラ１１上で変更可能なパラメータが決定される。例えば、許可フラグによって変更が許可されているパラメータを示す情報がＰＣ２上で作成され、画像処理コントローラ１１へ転送される。画像処理コントローラ１１では、この情報に基づいて、変更可能なパラメータを決定する動作が行われる。
【００９２】
抽出フラグ保持部２１１には、パラメータ及び処理結果を処理ユニットごとに抽出するための抽出フラグが保持される。この抽出フラグは、第１の処理結果表示部２０７によるパラメータ及び処理結果の表示時における操作入力に基づいてセットし、オン状態に遷移するフラグである。
【００９３】
第２の処理結果表示部２０８は、抽出フラグに基づいてパラメータ及び処理結果を抽出し、各処理ユニットについての抽出結果を抽出一覧ウィンドウ６０内に一覧表示する動作を行っている。
【００９４】
パラメータ関連付け部２１２は、処理ユニットの編集時における操作入力に基づいて、許可フラグによって変更が許可された複数のパラメータを互いに関連付ける動作を行っている。具体的には、編集ダイアログ５０の入力欄５２において入力された文字情報を許可フラグによって変更が許可されたパラメータに関連付けることによって、同じ文字情報が対応付けられた複数のパラメータが互いに関連付けられる。入力欄５２において入力された文字情報は、変数名としてパラメータに関連付けて変数名記憶部２１３内に格納される。
【００９５】
この様にして、変数名を介して互いに関連付けられた複数のパラメータは、グローバル変数としてその値が共有され、これらのパラメータのうちの１つがプログラム編集部２０９によって変更されると、他のパラメータも同じように変更される。
【００９６】
本実施の形態によれば、ＰＣ２上で検査設定データが実行されるので、画像処理コントローラ１１の運転を停止させることなく、検査設定データを動作確認することができる。また、フローチャート４７上で選択された処理ユニットについてパラメータ及び処理結果が表示されるので、検査設定データを構成する任意の処理ユニットについて容易に動作確認することができる。
【００９７】
また、許可フラグを介して画像処理コントローラ上で変更可能なパラメータを予め指定することができるので、一部のパラメータについてのみ画像処理コントローラ上での変更を可能とし、他のパラメータについては変更させないようにすることができる。
【図面の簡単な説明】
【００９８】
【図１】本発明の実施の形態によるプログラム作成装置を含む検査システムの一構成例を示した斜視図である。
【図２】図１の検査システムのシステム構成の一例を示したブロック図である。
【図３】図２の検査システム１００におけるＰＣ２の動作の一例を示した図であり、検査設定データ２２を作成するためのエディタ画面４０が示されている。
【図４】図２の検査システム１００におけるＰＣ２の動作の一例を示した図であり、フロービューウィンドウ４６が表示されたエディタ画面４０が示されている。
【図５】図２の検査システム１００におけるＰＣ２の動作の一例を示した図であり、エディタ画面４０上に表示される編集ダイアログ５０が示されている。
【図６】図２の検査システム１００におけるＰＣ２の動作の一例を示した図であり、エディタ画面４０上のリザルトビューウィンドウ４５が示されている。
【図７】図２の検査システム１００におけるＰＣ２の動作の一例を示した図であり、処理ユニットの処理結果が表示されたリザルトビューウィンドウ４５が示されている。
【図８】図２の検査システム１００におけるＰＣ２の動作の一例を示した図であり、非表示の処理結果データを表示させた場合が示されている。
【図９】図２の検査システム１００におけるＰＣ２の動作の一例を示した図であり、エディタ画面４０上の抽出一覧ウィンドウ６０が示されている。
【図１０】図２のＰＣ２の動作の一例を示した図であり、ビジョンウィンドウ４４及びユーザウィンドウ４９が表示されたエディタ画面４０が示されている。
【図１１】図２のＰＣ２の構成例を示したブロック図であり、画像処理コントローラ１１の制御プログラムを作成するエディタの機能構成の一例が示されている。
【符号の説明】
【００９９】
１  画像処理装置
２  ＰＣ
３  通信ネットワーク
１１  画像処理コントローラ
１２  カメラ
１３ａ  ディスプレイ
１３ｂ  操作ユニット
１４，２１  メモリ
１５，２２  検査設定データ
４０  エディタ画面
１００  検査システム
２０１  フローチャート表示部
２０２  プログラム生成部
２０３  転送部
２０４  画像データ記憶部
２０５  シミュレーション部
２０６  処理結果記憶部
２０７  第１の処理結果表示部
２０８  第２の処理結果表示部
２０９  プログラム編集部
２１０  許可フラグ保持部
２１１  抽出フラグ保持部
２１２  パラメータ関連付け部
２１３  変数名記憶部
【図１】
2009116377.tif 000003
【図２】
2009116377.tif 000004
【図１１】
2009116377.tif 000005
【図３】
2009116377.tif 000006
【図４】
2009116377.tif 000007
【図５】
2009116377.tif 000008
【図６】
2009116377.tif 000009
【図７】
2009116377.tif 000010
【図８】
2009116377.tif 000011
【図９】
2009116377.tif 000012
【図１０】
2009116377.tif 000013