説明

画像処理コントローラ用のプログラム作成装置

【課題】 画像処理のパラメータを変更した際の動作確認を容易化した画像処理コントローラ用のプログラム作成装置を提供する
【解決手段】 カメラ画像に基づいて判定信号を出力する画像処理コントローラ11の制御プログラムを作成するプログラム作成装置であって、パラメータが変更可能な画像処理をそれぞれ示す複数の処理ユニット48を配列することによって生成されたフローチャート47を表示するフローチャート表示部201と、フローチャート47に基づいて制御プログラムを生成するプログラム生成部202と、制御プログラムを画像処理コントローラ11へ転送する転送部203と、制御プログラムを実行するシミュレーション部205と、実行された処理ユニットごとの処理結果を保持する処理結果記憶部206と、フローチャート47上で選択された処理ユニットのパラメータ及び処理結果を表示する第1の処理結果表示部207により構成される。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理コントローラ用のプログラム作成装置に係り、さらに詳しくは、被写体を撮影して得られるカメラ画像に基づいて判定信号を出力する画像処理コントローラの制御プログラムを作成するプログラム作成装置の改良に関する。
【背景技術】
【0002】
検査対象物を撮影して得られるカメラ画像を画像処理し、検査対象物の形状、位置、カメラ画像に基づく判定結果を示す判定信号などを処理結果として出力する画像処理コントローラには、一連の処理手順を変更可能なものが知られている(例えば、特許文献1)。通常、一連の処理手順をこの様な画像処理コントローラに実行させるための制御プログラムは、パーソナルコンピュータなどの情報処理端末上で動作するエディタ(ソフトウェア)を用いて作成される。ユーザは、作成した制御プログラムを画像処理コントローラに転送することにより、検査対象物に対して所望の検査を行うことができる。
【0003】
従来、撮影条件や計測条件を示すパラメータを変更した場合に、パラメータの変更後の制御プログラムが所望の動作をするか否かを確かめるには、エディタの遠隔編集機能などを利用して画像処理コントローラ上の制御プログラムを書き換え、書き換え後のプログラムに基づいて画像処理コントローラを動作させる必要があった。このため、パラメータを変更するごとに画像処理コントローラの運転を停止させなければならないという問題があった。
【特許文献1】特開平9−288568号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
上述した通り、従来の画像処理コントローラ用のプログラム作成装置では、撮影条件や計測条件を示すパラメータを変更するごとに画像処理コントローラの運転を停止させなければならないという問題があった。
【0005】
本発明は、上記の事情に鑑みてなされたものであり、画像処理のパラメータを変更した際の動作確認を容易化した画像処理コントローラ用のプログラム作成装置を提供することを目的とする。特に、画像処理コントローラの運転を停止させることなく、制御プログラムを動作確認することができるプログラム作成装置を提供することを目的とする。また、制御プログラムを構成する任意の処理ユニットについて容易に動作確認することができるプログラム作成装置を提供することを目的とする。また、パラメータを誤って変更してしまうのを抑制することができるプログラム作成装置を提供することを目的とする。
【課題を解決するための手段】
【0006】
第1の本発明による画像処理コントローラ用のプログラム作成装置は、被写体を撮影して得られるカメラ画像に基づいて判定信号を出力する画像処理コントローラの制御プログラムを作成するプログラム作成装置であって、パラメータが変更可能な画像処理をそれぞれ示す2以上の処理ユニットを配列することによって生成されたフローチャートを表示するフローチャート表示手段と、上記フローチャートに基づいて、画像処理コントローラの制御プログラムを生成するプログラム生成手段と、上記制御プログラムを画像処理コントローラへ転送する転送手段と、上記制御プログラムを実行するシミュレーション手段と、上記シミュレーション手段によって実行された処理ユニットごとの処理結果を保持する処理結果記憶手段と、上記フローチャート上で選択された処理ユニットのパラメータ及び処理結果を表示する第1の処理結果表示手段とを備えて構成される。
【0007】
このプログラム作成装置では、シミュレーション手段により制御プログラムが実行され、処理ユニットごとの処理結果が保持される。そして、フローチャート上で選択された処理ユニットについて、パラメータ及び処理結果が表示される。この様な構成によれば、プログラム作成装置上で制御プログラムが実行されるので、画像処理コントローラの運転を停止させることなく、制御プログラムを動作確認することができる。また、フローチャート上で選択された処理ユニットについてパラメータ及び処理結果が表示されるので、制御プログラムを構成する任意の処理ユニットについて容易に動作確認することができる。
【0008】
第2の本発明による画像処理コントローラ用のプログラム作成装置は、上記構成に加え、上記処理ユニットのパラメータを操作入力に基づいて変更し、上記制御プログラムを書き換えるプログラム編集手段と、上記処理ユニットの編集時における操作入力に基づいてオン状態に遷移するフラグであって、上記パラメータの変更を許可するための許可フラグを保持する許可フラグ保持手段とを備え、上記第1の処理結果表示手段が、上記許可フラグに基づいてパラメータ及び処理結果の表示を行うように構成される。この様な構成によれば、許可フラグによって予め指定されているパラメータ及び処理結果だけを表示させることができるので、表示中の処理ユニットのパラメータを誤って変更してしまうのを抑制することができる。
【0009】
第3の本発明による画像処理コントローラ用のプログラム作成装置は、上記構成に加え、上記許可フラグ保持手段が保持する上記許可フラグに基づいて、上記画像処理コントローラ上で変更可能なパラメータが決定されるように構成される。この様な構成によれば、許可フラグを介して画像処理コントローラ上で変更可能なパラメータを予め指定することができるので、一部のパラメータについてのみ画像処理コントローラ上での変更を可能とし、他のパラメータについては変更させないようにすることができる。
【0010】
第4の本発明による画像処理コントローラ用のプログラム作成装置は、上記構成に加え、上記処理ユニットの編集時における操作入力に基づいて、異なる処理ユニットのパラメータであって、上記許可フラグによって変更が許可されたパラメータを互いに関連付けるパラメータ関連付け手段を備え、上記パラメータ関連付け手段によって互いに関連付けられた複数のパラメータのうちの1つが変更されると、他のパラメータも同じように変更されるように構成される。
【0011】
第5の本発明による画像処理コントローラ用のプログラム作成装置は、上記構成に加え、上記処理ユニットの編集時における操作入力に基づいて、上記許可フラグによって変更が許可された複数のパラメータを互いに関連付けるパラメータ関連付け手段を備え、上記パラメータ関連付け手段によって互いに関連付けられた複数のパラメータのうちの1つが変更されると、他のパラメータも同じように変更され、上記第1の処理結果表示手段が、上記パラメータ関連付け手段によるパラメータの関連付けに基づいて、パラメータ及び処理結果を表示するように構成される。
【0012】
第6の本発明による画像処理コントローラ用のプログラム作成装置は、上記構成に加え、上記第1の処理結果表示手段によるパラメータ及び処理結果の表示時における操作入力に基づいてオン状態に遷移するフラグであって、パラメータ及び処理結果を処理ユニットごとに抽出するための抽出フラグを保持する抽出フラグ保持手段と、上記抽出フラグに基づいてパラメータ及び処理結果を抽出し、各処理ユニットについての抽出結果を一覧表示する第2の処理結果表示手段とを備えて構成される。この様な構成によれば、抽出フラグに基づいてパラメータ及び処理結果が抽出され、各処理ユニットについての抽出結果が一覧表示されるので、抽出フラグによって予め指定されたパラメータのみに絞り込んで一連の処理結果を表示させることができる。
【0013】
第7の本発明による画像処理コントローラ用のプログラム作成装置は、上記構成に加え、上記カメラ画像を保持する画像データ記憶手段を備え、上記第1の処理結果表示手段が、パラメータの現在値と、処理後の上記カメラ画像とを処理結果として表示するように構成される。この様な構成によれば、パラメータの現在値及び処理後のカメラ画像が処理結果として表示されるので、処理ユニットの動作確認を容易に行うことができる。
【0014】
第8の本発明による画像処理コントローラ用のプログラム作成装置は、上記構成に加え、上記カメラ画像を保持するカメラ画像記憶手段を備え、上記第1の処理結果表示手段が、上記フローチャート上で選択された処理ユニットにおける画像処理に使用されたカメラ画像と共に、当該画像処理の対象領域を示す図形及び当該画像処理による計測結果を示す図形のいずれか一方又は両方を表示するように構成される。
【0015】
第9の本発明による画像処理コントローラ用のプログラム作成装置は、上記構成に加え、上記第1の処理結果表示手段により表示される上記カメラ画像が、計測結果を求める処理の前処理として行われたフィルタ処理後の画像データからなるように構成される。
【発明の効果】
【0016】
本発明による画像処理コントローラ用のプログラム作成装置によれば、プログラム作成装置上で制御プログラムが実行されるので、画像処理コントローラの運転を停止させることなく、制御プログラムを動作確認することができる。また、フローチャート上で選択された処理ユニットについてパラメータ及び処理結果が表示されるので、制御プログラムを構成する任意の処理ユニットについて容易に動作確認することができる。従って、画像処理のパラメータを変更した際の動作確認を容易化したプログラム作成装置を実現することができる。また、許可フラグによって予め指定されているパラメータ及び処理結果だけを表示させることができるので、表示中の処理ユニットのパラメータを誤って変更してしまうのを抑制することができる。
【発明を実施するための最良の形態】
【0017】
<検査システム>
図1は、本発明の実施の形態によるプログラム作成装置を含む検査システムの一構成例を示した斜視図である。この検査システムは、検査対象物の搬送ライン上に配置される画像処理装置1と、この画像処理装置1の制御プログラムを生成するPC(パーソナルコンピュータ)2とからなる。
【0018】
画像処理装置1は、画像処理コントローラ11、カメラ12、ディスプレイ13a及び操作ユニット13bからなり、検査対象物から得られたカメラ画像に基づいて判定信号を出力するセンサー装置である。この判定信号は、図示しないPLC(Programmable Logic Controller:プログラマブルコントローラ)などへ入力され、画像処理装置1は、FA(Factory Automation)センサーとして使用される。
【0019】
カメラ12は、被写体を撮影して画像データを生成し、カメラ画像として出力する撮像装置であり、画像処理コントローラ11に着脱可能に接続される。カメラ12は、例えば、検査対象物が搬送される搬送ライン上に配置される。
【0020】
ディスプレイ13aは、検査対象物を撮影して得られたカメラ画像やカメラ画像に基づく画像処理結果を表示するための出力装置である。操作ユニット13bは、ディスプレイ13a上でフォーカス位置を移動させたり、メニュー項目を選択するための入力装置である。
【0021】
画像処理コントローラ11は、カメラ12からのカメラ画像を取り込んで処理し、カメラ画像に基づいて行った判定結果を示す判定信号を処理結果として出力する画像処理装置1の本体ユニットである。
【0022】
この画像処理コントローラ11には、最大で4台のカメラ12が接続され、これらのカメラ12から取得したカメラ画像に基づいて画像処理が行われる。画像処理コントローラ11から出力される判定信号は、製品の良否などの判定結果を示す信号として生成される。
【0023】
また、画像処理コントローラ11には、ディスプレイ13a及び操作ユニット13bが接続されており、PC2を接続しなくても、操作ユニット13bを入力装置とし、ディスプレイ13aを出力装置として動作させることができる。
【0024】
PC2は、画像処理コントローラ11の制御プログラムを作成するプログラム作成装置であり、PC2上で動作するエディタ(ソフトウェア)によって制御プログラムが生成される。画像処理コントローラ11の制御プログラムを作成する際、PC2上でシミュレーションして動作確認することができる。
【0025】
PC2と画像処理装置1の画像処理コントローラ11とは、イーサネット(Ethernet:登録商標)などの通信ネットワークを介して接続される。PC2には、複数の画像処理コントローラ11が着脱可能に接続される。PC2上で作成した制御プログラムを画像処理コントローラ11に転送することにより、画像処理コントローラ11内の制御プログラムを書き換えることができる。また、画像処理コントローラ11内の制御プログラムを取り込んでPC2上で編集することもできる。
【0026】
<システム構成>
図2は、図1の検査システムのシステム構成の一例を示したブロック図である。この検査システム100は、1台のPC2と、通信ネットワーク3を介してPC2に接続された複数の画像処理装置1により構成される。PC2上で作成された制御プログラムは、検査設定データ22としてメモリ21内に格納される。
【0027】
PC2上で作成された検査設定データ22は、通信ネットワーク3を介して画像処理コントローラ11に転送される。このとき、転送先を指定して検査設定データ22を転送することにより、所望の画像処理コントローラ11について、メモリ14内の検査設定データ15を更新し、或いは、メモリ14内に新たな検査設定データを追加することができる。
【0028】
この画像処理コントローラ11では、フラッシュメモリなどのメモリ14内に複数の検査設定データ15が保持されている。各検査設定データ15は、処理手順や検査内容が異なる制御プログラムであり、ユーザ操作に基づいて実行対象とする実行対象とする検査設定データ15を変更することができる。
【0029】
PC2では、通信ネットワーク3によって接続されている画像処理コントローラ11から検査設定データ15を取得して編集する動作が行われる。
【0030】
<エディタ画面>
図3は、図2の検査システム100におけるPC2の動作の一例を示した図であり、検査設定データ22を作成するためのエディタ画面40が示されている。エディタ画面40は、PC2上で検査設定データを新たに作成し、或いは、画像処理コントローラ11から取得した検査設定データを編集するための編集画面であり、PC2上に表示される。
【0031】
このエディタ画面40は、それぞれ表示位置や表示範囲が変更可能な複数のウィンドウ画面からなる。具体的には、システムビューウィンドウ41、パーツリストウィンドウ42、ユニットプロパティウィンドウ43、ビジョンビューウィンドウ44及びリザルトビューウィンドウ45からなる。
【0032】
システムビューウィンドウ41は、システム構成や編集対象とする検査設定データを一覧表示するためのウィンドウ画面であり、コントローラ一覧画面41a及びワークスペース一覧画面41bからなる。
【0033】
コントローラ一覧画面41aは、PC2に接続されている画像処理コントローラ11を一覧表示するための画面であり、画像処理コントローラ11を示すアイコンや、画像処理コントローラ11内に保持されている検査設定データ15を示すアイコンが表示されている。
【0034】
画像処理コントローラ11や検査設定データ15を示す各アイコンは、ツリー形式で表示されている。すなわち、画像処理コントローラ11を上階層とし、この画像処理コントローラ11内に保持されている検査設定データ15を下階層として、検査設定データ15がどの画像処理コントローラ11に保持されているのかが識別可能なように表示されている。
【0035】
ワークスペース一覧画面41bは、編集対象とする検査設定データを一覧表示するための画面であり、画像処理コントローラ11ごとに設けられるメモリ21上の作業領域を示すアイコンや、検査設定データを示すアイコンが表示されている。画像処理コントローラ11ごとに設けられるメモリ21上の作業領域は、該当する画像処理コントローラ11に関連付けられており、ワークスペースとして表示されている。つまり、PC2上には、検査設定データが画像処理コントローラ11ごとに保持され、画像処理コントローラ11ごとのワークスペースにおいて編集が行われる。
【0036】
この様な作業領域を示すアイコンや検査設定データを示すアイコンは、ツリー形式で表示されている。すなわち、画像処理コントローラ11に対応するワークスペースを上階層とし、このワークスペース内の検査設定データを下階層として、検査設定データがどのワークスペースに存在するのかが識別可能なように表示されている。
【0037】
コントローラ一覧画面41aの見出し欄に配置されている更新ボタン(アイコン)を操作すれば、画像処理コントローラ11から新たに検査設定データが取得され、PC2上に保持されている検査設定データやシステム構成が最新のものに更新される。また、登録ボタンを操作すれば、PC2上で作成された検査設定データが画像処理コントローラ11に転送される。
【0038】
ワークスペース一覧画面41bの見出し欄に配置されている更新ボタン(アイコン)を操作すれば、画像処理コントローラ11から取得された検査設定データによって、編集対象とする検査設定データが更新される。また、追加ボタンを操作すれば、新たな作業領域が設けられ、検査設定データを示すアイコンが追加される。
【0039】
パーツリストウィンドウ42は、検査設定データを作成する際に選択可能な処理ユニットをユニット一覧として表示するためのウィンドウ画面である。処理ユニットは、パラメータが変更可能な処理を示すシンボルであり、画像処理を示す画像処理ユニット、撮像処理を示す撮像ユニット、フロー制御処理を示す制御ユニット、及び、出力処理を示す出力ユニットがある。この様な処理ユニットを後述するフロービューウィンドウ内のフローチャート上に配置することによって、所望のフローシーケンスからなる検査設定データが作成される。
【0040】
パーツリストウィンドウ42内には、複数の処理ユニットが表示される。この例では、処理の種類によって処理ユニットが8つのカテゴリーに区分され、各カテゴリーを示すアイコンが表示されている。具体的には、「画像入力」、「計測」、「制御」、「演算」、「タイミング」、「表示」、「出力」及び「コマンド出力」のカテゴリーに区分されている。
【0041】
「画像入力」は、撮像に関する処理ユニットが属するカテゴリーであり、カメラ画像を取り込む撮像ユニットが属している。「計測」は、計測に関する処理ユニットが属するカテゴリーであり、パターンサーチユニット、エッジ位置検出ユニット、ブロブ検出ユニット、色検査ユニットなどの画像処理ユニットが属している。
【0042】
パターンサーチは、カメラ画像上のサーチ領域内を走査して予め登録されたパターン画像と一致する位置を検出する処理である。エッジ位置検出は、カメラ画像上の計測領域について、検出方向に垂直な方向の平均濃度を求め、検出方向の濃度変化からエッジの位置を検出する処理である。
【0043】
ブロブ検出は、カメラ画像を2値化し、同一濃度を有する画素の塊をブロブとして抽出して、計測領域内に存在するブロブの数、面積、重心位置を検出する処理である。色検査は、検査領域内の色を測定する処理であり、色に対応する数値が計測結果として抽出される。
【0044】
「制御」は、制御に関する処理ユニットが属するカテゴリーであり、繰返しユニット、バイパスユニット、エンドシンボルなどの制御ユニットが属している。繰返しユニットは、実行フローを繰り返す際の始点を示す繰返し開始ユニットと、終点を示す繰返し終了ユニットとからなる処理ユニットであり、所定の条件が満たされるまで開始ユニット及び終了ユニット間の実行フローを繰り返させる処理を示す。
【0045】
バイパスユニットは、実行フローを2つの枝フローに分岐させる分岐ユニットと、この分岐ユニットによって分岐された枝フローを合流させる合流ユニットとからなる処理ユニットであり、所定の条件で実行フローを分岐させる処理を示す。エンドシンボルは、1回のフローシーケンスを終了させるための表示オブジェクトである。
【0046】
「演算」は、演算に関する処理ユニットが属するカテゴリーであり、数値演算ユニットなどの画像処理ユニットが属している。「タイミング」は、フロー遷移の停止動作に関する処理ユニットが属するカテゴリーであり、ウェイトユニット、イベント待ちユニットなどの制御ユニットが属している。ウェイトユニットは、所定時間だけフロー遷移を停止させる処理を示す。イベント待ちユニットは、端子入力や変数値が所定の状態となるまでフロー遷移を停止させる処理を示す。
【0047】
「表示」は、表示に関する処理ユニットが属するカテゴリーであり、グラフィック表示ユニットなどの画像処理ユニットが属している。グラフィック表示ユニットは、変数を参照してグラフィックを描画する処理を示す。「出力」は、出力に関する処理ユニットが属するカテゴリーであり、端子出力ユニット、結果出力ユニット、画像出力ユニットなどの出力ユニットが属している。「コマンド出力」は、コマンド出力に関する処理ユニットが属するカテゴリーであり、コマンド発行ユニットなどの出力ユニットが属している。
【0048】
ユニットプロパティウィンドウ43は、コントローラ一覧画面41a、ワークスペース一覧画面41b又はフロービューウィンドウ上で選択された処理ユニットのプロパティを表示するためのウィンドウ画面である。
【0049】
ビジョンビューウィンドウ44は、コントローラ一覧画面41a、ワークスペース一覧画面41b又はフロービューウィンドウ上で選択された処理ユニットに関連付けられているカメラ画像を表示するためのウィンドウ画面である。
【0050】
リザルトビューウィンドウ45は、コントローラ一覧画面41a、ワークスペース一覧画面41b又はフロービューウィンドウ上で選択された処理ユニットのパラメータと、シミュレーション結果とを表示するためのウィンドウ画面である。
【0051】
このエディタ画面40では、システムビューウィンドウ41の下部に配置されているフロービューボタン41cを操作すれば、上述したシステムビューウィンドウ41に代えて、フロービューウィンドウを表示させることができる。フロービューウィンドウは、画像処理コントローラ11に実行させる処理手順をフローチャートとして表示するウィンドウ画面であり、ワークスペース一覧画面41b上で選択された検査設定データが表示される。
【0052】
また、リザルトビューウィンドウ45の下部に配置されている抽出一覧ボタン45aを操作すれば、リザルトビューウィンドウ45に代えて、抽出一覧ウィンドウを表示させることができる。抽出一覧ウィンドウは、リザルトビューウィンドウ45上で選択されたパラメータ及び処理結果を抽出して処理ユニットごとの抽出結果を一覧表示するためのウィンドウ画面である。
【0053】
<フロービューウィンドウ>
図4は、図2の検査システム100におけるPC2の動作の一例を示した図であり、フロービューウィンドウ46が表示されたエディタ画面40が示されている。フロービューウィンドウ46は、検査設定データを新たに作成し、或いは、画像処理コントローラ11から取得した検査設定データを編集するために、処理手順を示すフローチャート47を表示するウィンドウ画面である。
【0054】
フロービューウィンドウ46には、複数の処理ユニット48を配列することによって構成されたフローチャート47が表示されている。フローチャート47は、スタートシンボル「S」において開始し、エンドシンボル「E」において終了する実行フロー上で時系列に実行される処理ユニットが表されている。ユーザは、この様な実行フロー上に処理ユニット48を配置することによって所望の検査設定データを構成することができる。
【0055】
フロービューウィンドウ46の下部に配置されているシステムビューボタン46aを操作すれば、このフロービューウィンドウ46に代えて、システムビューウィンドウ41を表示させることができる。
【0056】
フロービューウィンドウ46上で選択されている処理ユニットは、フォーカス表示され、ユニットプロパティウィンドウ43内にそのプロパティが表示される。ユニットプロパティウィンドウ43内には、編集ボタン43aが配置され、編集ボタン43aを操作すれば、処理ユニットのプロパティを編集するための編集ダイアログが表示される。プロパティの編集ダイアログは、ユーザ操作に基づいて処理ユニットのパラメータを指定し、或いは、既に指定されているパラメータを変更するためのダイアログ画面である。
【0057】
<処理ユニットの編集ダイアログ>
図5は、図2の検査システム100におけるPC2の動作の一例を示した図であり、エディタ画面40上に表示される編集ダイアログ50が示されている。この編集ダイアログ50は、エッジ位置検出ユニットのプロパティを編集するためのダイアログ画面である。
【0058】
この編集ダイアログ50では、エッジ位置検出に関する様々なパラメータを選択し、或いは、指定することができる。編集可能なプロパティとして、「表示画像」、「画像設定」、「領域設定」、「検出条件」、「判定条件」などの項目が設けられている。
【0059】
「表示画像」は、ビジョンビューウィンドウ44内にカメラ画像を表示させる際の表示方法を選択するための項目であり、表示方法として、登録画像又はフィルタ画像のいずれかを選択することができる。登録画像を選択した場合は、予め登録されたカメラ画像であって、フローチャート上で選択されている処理ユニットにおける画像処理に使用されたカメラ画像がそのままスルー画像として表示される。一方、フィルタ画像を選択した場合には、処理ユニットにおける画像処理に使用されたカメラ画像であって、計測結果を求める処理の前処理として行われたフィルタ処理後の画像データからなるカメラ画像がフィルタ処理後画像として表示される。
【0060】
ここで、前処理として行われるフィルタ処理とは、計測精度を上げるためにカメラ画像について行う画像の変換処理のことであり、計測結果を求めるための一連の画像処理のうち、多数のピクセルデータからなる2次元の入力画像から2次元の出力画像を生成する処理となっている。一方、計測結果を求める処理とは、前処理後に行われる処理であって、2次元の入力画像から計測値などの数値を生成する処理のことである。
【0061】
例えば、色抽出、膨張、収縮及びソーベル(エッジ強調)などのフィルタ処理が選択的に前処理として行われる。なお、色抽出は、カラー画像を変換することによって、グレースケール化した濃淡画像、又は、2値化した白黒画像を生成する前処理である。
【0062】
「画像設定」は、処理対象とするカメラ画像を指定するための項目である。「領域設定」は、カメラ画像について、処理対象とする画像領域を指定するための項目である。「検出条件」は、処理方法や計測条件を指定するための項目である。「判定条件」は、検査対象物の良否を判定して判定信号を生成する際に用いられるパラメータを指定するための項目である。「検出条件」には、例えば、エッジ検出の方向やエッジ感度を指定するためのパラメータ入力欄53が設けられている。
【0063】
編集ダイアログ50には、パラメータの入力欄53に対応付けて、チェックボックス51及び変数名の入力欄52が配置されている。チェックボックス51は、リザルトビューウィンドウ45上でのパラメータ変更を許可するか否かを指定するための入力欄である。
【0064】
チェックボックス51を操作してチェックマークが入力されたパラメータは、リザルトビューウィンドウ45内に変数名と共に表示されるとともに、リザルトビューウィンドウ45上で変更することができる。つまり、編集ダイアログ50上では、編集対象として選択された処理ユニットの全パラメータが変更可能であるのに対して、リザルトビューウィンドウ45上では、編集ダイアログ50において変更を許可したパラメータのみが表示され、その値を変更することができる。
【0065】
ここで、チェックボックス51にチェックマークが入力されたパラメータは、グローバル変数に指定され、異なるパラメータ間、或いは、異なる処理ユニットのパラメータ間でその値が共有されるものとする。すなわち、変更が許可されたパラメータには、入力欄52において入力された変数名が関連付けられ、この変数名と同じ変数名が対応付けられた他のパラメータとの間で値が共有される。この様に変数名を介して互いに関連付けられた複数のパラメータは、その値が共有され、いずれかのパラメータの値を変更すれば、他のパラメータも同じように変更される。
【0066】
また、編集ダイアログ50において変更を許可したパラメータは、画像処理コントローラ11上で変更可能なパラメータとして指定されるものとする。すなわち、編集ダイアログ50において変更を許可したパラメータのみが画像処理コントローラ11上での変更が可能となり、変更を許可しなかったパラメータについては、画像処理コントローラ上での変更が制限される。
【0067】
<リザルトビューウィンドウ>
図6は、図2の検査システム100におけるPC2の動作の一例を示した図であり、エディタ画面40上のリザルトビューウィンドウ45が示されている。リザルトビューウィンドウ45には、フロービューウィンドウ46上で選択されている処理ユニットのパラメータ及びシミュレーション結果が表示されている。
【0068】
リザルトビューウィンドウ45内には、処理ユニットのプロパティ編集時に、チェックボックス51にチェックマークを入力することによって編集ダイアログ50上でユーザが指定したパラメータが一覧表示されている。
【0069】
具体的には、フロービューウィンドウ46上で選択されている処理ユニットのパラメータについて、現在値71、初期値72、種別情報73及び型情報74が変数名に対応付けて表示されている。パラメータの現在値71は、編集中の検査設定データを実行させて得られた処理ユニットごとの処理結果を示すデータである。
【0070】
種別情報73は、リザルトビューウィンドウ45上で編集可能なパラメータであるか否かを示す情報である。例えば、編集可能なパラメータに対して「ローカル変数」と表示され、処理結果を示すデータに対して「結果データ」と表示される。
【0071】
この様に、フロービューウィンドウ46上で選択されている処理ユニットに絞り込んで、パラメータ及び処理結果を表示させることができる。また、編集ダイアログ50上で予め指定されたパラメータのみリザルトビューウィンドウ45内に表示され、チェックボックス51にチェックマークを入力しなかったパラメータは表示されないので、変更する必要のないパラメータを誤って編集してしまうのを防止することができる。
【0072】
また、リザルトビューウィンドウ45内に表示されているパラメータの現在値又は初期値は、当該ウィンドウ上で変更することができる。例えば、変更しようとするパラメータを選択してキー入力することにより、当該パラメータを変更することができる。また、この様なパラメータの変更後に、シミュレーション実行のための操作入力を行えば、変更後のパラメータに基づいてシミュレーションが実行され、このシミュレーション結果が処理結果に反映される。この様に、変更後のパラメータに基づくシミュレーション結果がリザルトビューウィンドウ45上で確認することができるので、パラメータ変更時に容易に動作確認することができる。
【0073】
図7は、図2の検査システム100におけるPC2の動作の一例を示した図であり、処理ユニットの処理結果が表示されたリザルトビューウィンドウ45が示されている。このリザルトビューウィンドウ45には、フロービューウィンドウ46上で選択されている処理ユニットの処理結果を示すデータが変数名と共に表示されている。
【0074】
処理結果データの表示では、プロパティ編集ダイアログ50上で先頭インデックス75及び表示個数76を予め指定しておけば、リザルトビューウィンドウ45上での表示量を制限することができる。また、処理結果データに割り当てられている変数名と共に、展開アイコン77や折畳みアイコンが表示され、これらのアイコンを操作することにより、処理結果データを非表示としたり、非表示の処理結果データを表示させることができる。
【0075】
図8は、図2の検査システム100におけるPC2の動作の一例を示した図であり、非表示の処理結果データを表示させた場合が示されている。このリザルトビューウィンドウ45には、エッジ位置検出ユニットの変数「X」における処理結果データを表示させることにより、処理結果データとして位置Xの計測値、絶対計測値及び判定値が表示されている。
【0076】
<抽出一覧ウィンドウ>
図9は、図2の検査システム100におけるPC2の動作の一例を示した図であり、エディタ画面40上の抽出一覧ウィンドウ60が示されている。抽出一覧ウィンドウ60には、リザルトビューウィンドウ45上でユーザが指定したパラメータ及び処理結果データが抽出され、処理ユニットごとの抽出結果が一覧表示されている。
【0077】
この例では、エッジ位置検出ユニット及び色検査ユニットのパラメータ及び処理結果が表示されている。この様に、リザルトビューウィンドウ45上で指定されたパラメータ及び処理結果のみに絞り込んで、編集中の検査設定データに関する一連の処理結果を表示させることができる。
【0078】
図10は、図2の検査システム100におけるPC2の動作の一例を示した図であり、ビジョンウィンドウ44及びユーザウィンドウ49が表示されたエディタ画面40が示されている。ビジョンウィンドウ44及びユーザウィンドウ49は、カメラ画像を表示するためのウィンドウ画面である。
【0079】
ビジョンウィンドウ44には、フロービューウィンドウ46上で選択されている処理ユニットにおける画像処理に使用されたカメラ画像が表示される。カメラ画像を表示する際の表示方法は、スルー画像又はフィルタ処理後画像のいずれかを選択することができる。この例では、色検査ユニットにおける色検査処理に使用されたカメラ画像が表示されている。このカメラ画像上には、検査対象とする画像領域を示す図形、すなわち、円形状の枠が表示されている。
【0080】
一方、ユーザウィンドウ49には、フロービューウィンドウ46上でユーザが選択した複数の処理ユニットのシミュレーション結果がカメラ画像上に同時に表示される。この例では、色検査ユニット及びエッジ位置検出ユニットにおける画像処理に使用されたカメラ画像上に、色検査の検査領域を示す図形(円形状の枠)と、エッジ位置検出で検出されたエッジを示す図形(線分)及びエッジ位置検出の計測領域を示す図形(矩形形状の枠)とが表示されている。
【0081】
<エディタの機能構成>
図11は、図2の検査システム100におけるPC2の構成例を示したブロック図であり、画像処理コントローラ11の制御プログラムを作成するエディタの機能構成の一例が示されている。このPC2は、フローチャート表示部201、プログラム生成部202、メモリ21、転送部203、画像データ記憶部204、シミュレーション部205、処理結果記憶部206、第1の処理結果表示部207、第2の処理結果表示部208、プログラム編集部209、許可フラグ保持部210、抽出フラグ保持部211、パラメータ関連付け部212及び変数名記憶部213により構成される。
【0082】
フローチャート表示部201は、複数の処理ユニットを配列することによって生成されたフローチャート47をフロービューウィンドウ46内に表示する動作を行っている。プログラム生成部202は、フロービューウィンドウ46上のフローチャート47を実行形式に変換することにより、画像処理コントローラ11の制御プログラム、すなわち、検査設定データを生成する動作を行っている。
【0083】
メモリ21には、プログラム生成部202により生成された検査設定データや画像処理コントローラ11から取得した検査設定データが保持される。転送部203は、メモリ21内の検査設定データを画像処理コントローラ11へ転送する動作を行っている。
【0084】
画像データ記憶部204には、画像処理コントローラ11から取得したカメラ画像が保持される。
【0085】
シミュレーション部205は、メモリ21内の検査設定データを読み出して実行し、処理結果を生成する制御プログラムの実行手段である。この検査設定データのシミュレーションは、シミュレーション実行を指示するための操作入力に基づいて開始され、カメラ画像の取り込みを指示するための操作入力に基づいて画像データ記憶部204内に取り込まれたカメラ画像に基づいて処理結果が生成される。
【0086】
処理結果記憶部206には、シミュレーション部205によって実行された処理ユニットごとの処理結果を保持される。
【0087】
プログラム編集部209は、処理ユニットのパラメータを操作入力に基づいて変更し、メモリ21内の検査設定データを書き換える動作を行っている。
【0088】
許可フラグ保持部210には、リザルトビューウィンドウ45上におけるパラメータの変更を許可するための許可フラグが保持される。この許可フラグは、編集ダイアログ50上で処理ユニットのプロパティを編集する際の操作入力に基づいてセットし、オン状態に遷移するフラグである。具体的には、編集ダイアログ50のチェックボックス51にチェックマークが入力されると、オン状態に遷移する許可フラグが、パラメータに関連付けて保持される。
【0089】
第1の処理結果表示部207は、フローチャート47上で選択された処理ユニットのパラメータ及び処理結果を表示する動作を行っている。このパラメータ及び処理結果の表示は、許可フラグに基づいて行われる。すなわち、編集対象として選択された処理ユニットについて、許可フラグがオン状態であるパラメータ及び処理結果がリザルトビューウィンドウ45内に一覧表示される。また、入力欄52において入力された変数名が、パラメータに対応付けて表示される。
【0090】
この第1の処理結果表示部207では、フローチャート47上で選択された処理ユニットにおける画像処理に使用されたカメラ画像と共に、当該画像処理の対象領域を示す図形及び当該画像処理による計測結果を示す図形のいずれか一方又は両方をビジョンビューウィンドウ44内に表示する動作も行われる。
【0091】
本実施の形態では、許可フラグ保持部210に保持されている許可フラグに基づいて、画像処理コントローラ11上で変更可能なパラメータが決定される。例えば、許可フラグによって変更が許可されているパラメータを示す情報がPC2上で作成され、画像処理コントローラ11へ転送される。画像処理コントローラ11では、この情報に基づいて、変更可能なパラメータを決定する動作が行われる。
【0092】
抽出フラグ保持部211には、パラメータ及び処理結果を処理ユニットごとに抽出するための抽出フラグが保持される。この抽出フラグは、第1の処理結果表示部207によるパラメータ及び処理結果の表示時における操作入力に基づいてセットし、オン状態に遷移するフラグである。
【0093】
第2の処理結果表示部208は、抽出フラグに基づいてパラメータ及び処理結果を抽出し、各処理ユニットについての抽出結果を抽出一覧ウィンドウ60内に一覧表示する動作を行っている。
【0094】
パラメータ関連付け部212は、処理ユニットの編集時における操作入力に基づいて、許可フラグによって変更が許可された複数のパラメータを互いに関連付ける動作を行っている。具体的には、編集ダイアログ50の入力欄52において入力された文字情報を許可フラグによって変更が許可されたパラメータに関連付けることによって、同じ文字情報が対応付けられた複数のパラメータが互いに関連付けられる。入力欄52において入力された文字情報は、変数名としてパラメータに関連付けて変数名記憶部213内に格納される。
【0095】
この様にして、変数名を介して互いに関連付けられた複数のパラメータは、グローバル変数としてその値が共有され、これらのパラメータのうちの1つがプログラム編集部209によって変更されると、他のパラメータも同じように変更される。
【0096】
本実施の形態によれば、PC2上で検査設定データが実行されるので、画像処理コントローラ11の運転を停止させることなく、検査設定データを動作確認することができる。また、フローチャート47上で選択された処理ユニットについてパラメータ及び処理結果が表示されるので、検査設定データを構成する任意の処理ユニットについて容易に動作確認することができる。
【0097】
また、許可フラグを介して画像処理コントローラ上で変更可能なパラメータを予め指定することができるので、一部のパラメータについてのみ画像処理コントローラ上での変更を可能とし、他のパラメータについては変更させないようにすることができる。
【図面の簡単な説明】
【0098】
【図1】本発明の実施の形態によるプログラム作成装置を含む検査システムの一構成例を示した斜視図である。
【図2】図1の検査システムのシステム構成の一例を示したブロック図である。
【図3】図2の検査システム100におけるPC2の動作の一例を示した図であり、検査設定データ22を作成するためのエディタ画面40が示されている。
【図4】図2の検査システム100におけるPC2の動作の一例を示した図であり、フロービューウィンドウ46が表示されたエディタ画面40が示されている。
【図5】図2の検査システム100におけるPC2の動作の一例を示した図であり、エディタ画面40上に表示される編集ダイアログ50が示されている。
【図6】図2の検査システム100におけるPC2の動作の一例を示した図であり、エディタ画面40上のリザルトビューウィンドウ45が示されている。
【図7】図2の検査システム100におけるPC2の動作の一例を示した図であり、処理ユニットの処理結果が表示されたリザルトビューウィンドウ45が示されている。
【図8】図2の検査システム100におけるPC2の動作の一例を示した図であり、非表示の処理結果データを表示させた場合が示されている。
【図9】図2の検査システム100におけるPC2の動作の一例を示した図であり、エディタ画面40上の抽出一覧ウィンドウ60が示されている。
【図10】図2のPC2の動作の一例を示した図であり、ビジョンウィンドウ44及びユーザウィンドウ49が表示されたエディタ画面40が示されている。
【図11】図2のPC2の構成例を示したブロック図であり、画像処理コントローラ11の制御プログラムを作成するエディタの機能構成の一例が示されている。
【符号の説明】
【0099】
1 画像処理装置
2 PC
3 通信ネットワーク
11 画像処理コントローラ
12 カメラ
13a ディスプレイ
13b 操作ユニット
14,21 メモリ
15,22 検査設定データ
40 エディタ画面
100 検査システム
201 フローチャート表示部
202 プログラム生成部
203 転送部
204 画像データ記憶部
205 シミュレーション部
206 処理結果記憶部
207 第1の処理結果表示部
208 第2の処理結果表示部
209 プログラム編集部
210 許可フラグ保持部
211 抽出フラグ保持部
212 パラメータ関連付け部
213 変数名記憶部

【特許請求の範囲】
【請求項1】
被写体を撮影して得られるカメラ画像に基づいて判定信号を出力する画像処理コントローラの制御プログラムを作成するプログラム作成装置において、
パラメータが変更可能な画像処理をそれぞれ示す2以上の処理ユニットを配列することによって生成されたフローチャートを表示するフローチャート表示手段と、
上記フローチャートに基づいて、画像処理コントローラの制御プログラムを生成するプログラム生成手段と、
上記制御プログラムを画像処理コントローラへ転送する転送手段と、
上記制御プログラムを実行するシミュレーション手段と、
上記シミュレーション手段によって実行された処理ユニットごとの処理結果を保持する処理結果記憶手段と、
上記フローチャート上で選択された処理ユニットのパラメータ及び処理結果を表示する第1の処理結果表示手段とを備えたことを特徴とする画像処理コントローラ用のプログラム作成装置。
【請求項2】
上記処理ユニットのパラメータを操作入力に基づいて変更し、上記制御プログラムを書き換えるプログラム編集手段と、
上記処理ユニットの編集時における操作入力に基づいてオン状態に遷移するフラグであって、上記パラメータの変更を許可するための許可フラグを保持する許可フラグ保持手段とを備え、
上記第1の処理結果表示手段が、上記許可フラグに基づいてパラメータ及び処理結果の表示を行うことを特徴とする請求項1に記載の画像処理コントローラ用のプログラム作成装置。
【請求項3】
上記許可フラグ保持手段が保持する上記許可フラグに基づいて、上記画像処理コントローラ上で変更可能なパラメータが決定されることを特徴とする請求項2に記載の画像処理コントローラ用のプログラム作成装置。
【請求項4】
上記処理ユニットの編集時における操作入力に基づいて、異なる処理ユニットのパラメータであって、上記許可フラグによって変更が許可されたパラメータを互いに関連付けるパラメータ関連付け手段を備え、
上記パラメータ関連付け手段によって互いに関連付けられた複数のパラメータのうちの1つが変更されると、他のパラメータも同じように変更されることを特徴とする請求項2に記載の画像処理コントローラ用のプログラム作成装置。
【請求項5】
上記処理ユニットの編集時における操作入力に基づいて、上記許可フラグによって変更が許可された複数のパラメータを互いに関連付けるパラメータ関連付け手段を備え、
上記パラメータ関連付け手段によって互いに関連付けられた複数のパラメータのうちの1つが変更されると、他のパラメータも同じように変更され、
上記第1の処理結果表示手段が、上記パラメータ関連付け手段によるパラメータの関連付けに基づいて、パラメータ及び処理結果を表示することを特徴とする請求項2に記載の画像処理コントローラ用のプログラム作成装置。
【請求項6】
上記第1の処理結果表示手段によるパラメータ及び処理結果の表示時における操作入力に基づいてオン状態に遷移するフラグであって、パラメータ及び処理結果を処理ユニットごとに抽出するための抽出フラグを保持する抽出フラグ保持手段と、
上記抽出フラグに基づいてパラメータ及び処理結果を抽出し、各処理ユニットについての抽出結果を一覧表示する第2の処理結果表示手段とを備えたことを特徴とする請求項1に記載の画像処理コントローラ用のプログラム作成装置。
【請求項7】
上記カメラ画像を保持する画像データ記憶手段を備え、
上記第1の処理結果表示手段が、パラメータの現在値と、処理後の上記カメラ画像とを処理結果として表示することを特徴とする請求項1に記載の画像処理コントローラ用のプログラム作成装置。
【請求項8】
上記カメラ画像を保持するカメラ画像記憶手段を備え、
上記第1の処理結果表示手段が、上記フローチャート上で選択された処理ユニットにおける画像処理に使用されたカメラ画像と共に、当該画像処理の対象領域を示す図形及び当該画像処理による計測結果を示す図形のいずれか一方又は両方を表示することを特徴とする請求項1に記載の画像処理コントローラ用のプログラム作成装置。
【請求項9】
上記第1の処理結果表示手段により表示される上記カメラ画像が、計測結果を求める処理の前処理として行われたフィルタ処理後の画像データからなることを特徴とする請求項8に記載の画像処理コントローラ用のプログラム作成装置。

【図1】
image rotate

【図2】
image rotate

【図11】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate


【公開番号】特開2009−116377(P2009−116377A)
【公開日】平成21年5月28日(2009.5.28)
【国際特許分類】
【出願番号】特願2007−285045(P2007−285045)
【出願日】平成19年11月1日(2007.11.1)
【出願人】(000129253)株式会社キーエンス (681)
【Fターム(参考)】