<検査支援システム>
図1は、本発明の実施の形態によるプログラム作成装置を含む検査支援システムの一構成例を示した斜視図である。この検査支援システムは、検査対象物の搬送ライン上に配置される画像処理装置1と、この画像処理装置1の制御プログラムを生成するPC(パーソナルコンピュータ)2とからなる。
画像処理装置1は、画像処理コントローラ11、カメラ12、ディスプレイ13a及び操作ユニット13bからなり、検査対象物から得られたカメラ画像に基づいて判定信号を出力するセンサー装置である。この判定信号は、図示しないPLC(Programmable Logic Controller:プログラマブルコントローラ)などへ入力され、画像処理装置1は、FA(Factory Automation)センサーとして使用される。
カメラ12は、被写体を撮影して画像データを生成し、カメラ画像として出力する撮像装置であり、画像処理コントローラ11に着脱可能に接続される。カメラ12は、検査対象物が搬送される搬送ライン上に配置され、検査対象物を被写体として撮影が行われる。
ディスプレイ13aは、検査対象物を撮影して得られたカメラ画像やカメラ画像に基づく画像処理結果を表示するための出力装置である。このディスプレイ13aは、画像処理コントローラ11によって表示制御され、通常、画像処理コントローラ11の近傍に配置される。つまり、このディスプレイ13aは、画像処理コントローラ11が運転中である場合に、画像処理コントローラ11の動作状態をユーザに確認させるための表示装置となっている。操作ユニット13bは、ディスプレイ13a上でフォーカス位置を移動させたり、メニュー項目を選択するための入力装置である。
画像処理コントローラ11は、カメラ12からのカメラ画像を取り込んで処理し、カメラ画像に基づいて行った判定結果を示す判定信号を処理結果として出力する画像処理装置1の本体ユニットである。
この画像処理コントローラ11には、最大で4台のカメラ12が接続され、これらのカメラ12から取得したカメラ画像に基づいて画像処理が行われる。画像処理コントローラ11から出力される判定信号は、製品の良否などの判定結果を示す信号として生成される。
また、画像処理コントローラ11には、ディスプレイ13a及び操作ユニット13bが接続されており、PC2を接続しなくても、操作ユニット13bを入力装置とし、ディスプレイ13aを出力装置として動作させることができる。
PC2は、画像処理コントローラ11の制御プログラムを作成するプログラム作成装置であり、PC2上で動作するエディタ(ソフトウェア)によって制御プログラムが生成される。画像処理コントローラ11の制御プログラムを作成する際、PC2上でシミュレーションして動作確認することができる。
PC2では、画像処理コントローラ11によるディスプレイ13a上の表示態様を規定するレイアウト情報が作成される。このレイアウト情報もエディタによってPC2における編集画面上で作成され、制御プログラム及びレイアウト情報からなる検査設定データが生成される。
PC2と画像処理装置1の画像処理コントローラ11とは、イーサネット(Ethernet:登録商標)などの通信ネットワークを介して接続される。PC2には、複数の画像処理コントローラ11が着脱可能に接続される。PC2上で作成した検査設定データを画像処理コントローラ11に転送することにより、画像処理コントローラ11内の検査設定データを書き換えることができる。また、画像処理コントローラ11内の検査設定データを取り込んでPC2上で編集することもできる。このPC2は、通常、画像処理装置1のメンテナンス時に画像処理コントローラ11が接続される。
<システム構成>
図2は、図1の検査支援システムのシステム構成の一例を示したブロック図である。この検査支援システム100は、1台のPC2と、通信ネットワーク3を介してPC2に接続された複数の画像処理装置1により構成される。PC2上で作成された制御プログラム及びレイアウト情報は、検査設定データ22としてメモリ21内に格納される。
PC2上で作成された検査設定データ22は、通信ネットワーク3を介して画像処理コントローラ11に転送される。このとき、転送先を指定して検査設定データ22を転送することにより、所望の画像処理コントローラ11について、メモリ14内の検査設定データ15を更新し、或いは、メモリ14内に新たな検査設定データを追加することができる。
この画像処理コントローラ11では、フラッシュメモリなどのメモリ14内に複数の検査設定データ15が保持されている。各検査設定データ15は、処理手順や検査内容が異なる制御プログラムからなり、ユーザ操作に基づいて実行対象とする検査設定データ15を変更することができる。
PC2では、通信ネットワーク3によって接続されている画像処理コントローラ11から検査設定データ15を取得して編集する動作が行われる。
<エディタ画面>
図3は、図2の検査支援システム100におけるPC2の動作の一例を示した図であり、検査設定データ22を作成するためのエディタ画面40が示されている。エディタ画面40は、PC2上で検査設定データを新たに作成し、或いは、画像処理コントローラ11から取得した検査設定データを編集するための編集画面であり、PC2上に表示される。
このエディタ画面40は、それぞれ表示位置や表示範囲が変更可能な複数のウィンドウ画面からなる。具体的には、システムビューウィンドウ41、パーツリストウィンドウ42、ユニットプロパティウィンドウ43、ビジョンビューウィンドウ44及びリザルトビューウィンドウ45からなる。
システムビューウィンドウ41は、システム構成や編集対象とする検査設定データを一覧表示するためのウィンドウ画面であり、コントローラ一覧画面41a及びワークスペース一覧画面41bからなる。
コントローラ一覧画面41aは、PC2に接続されている画像処理コントローラ11を一覧表示するための画面であり、画像処理コントローラ11を示すアイコンや、画像処理コントローラ11内に保持されている検査設定データ15を示すアイコンが表示されている。
画像処理コントローラ11や検査設定データ15を示す各アイコンは、ツリー形式で表示されている。すなわち、画像処理コントローラ11を上階層とし、この画像処理コントローラ11内に保持されている検査設定データ15を下階層として、検査設定データ15がどの画像処理コントローラ11に保持されているのかが識別可能なように表示されている。
ワークスペース一覧画面41bは、編集対象とする検査設定データを一覧表示するための画面であり、画像処理コントローラ11ごとに設けられるメモリ21上の作業領域を示すアイコンや、検査設定データを示すアイコンが表示されている。画像処理コントローラ11ごとに設けられるメモリ21上の作業領域は、該当する画像処理コントローラ11に関連付けられており、ワークスペースとして表示されている。つまり、PC2上には、検査設定データが画像処理コントローラ11ごとに保持され、画像処理コントローラ11ごとのワークスペースにおいて編集が行われる。
この様な作業領域を示すアイコンや検査設定データを示すアイコンは、ツリー形式で表示されている。すなわち、画像処理コントローラ11に対応するワークスペースを上階層とし、このワークスペース内の検査設定データを下階層として、検査設定データがどのワークスペースに存在するのかが識別可能なように表示されている。
コントローラ一覧画面41aの見出し欄に配置されている更新ボタン(アイコン)を操作すれば、画像処理コントローラ11から新たに検査設定データが取得され、PC2上に保持されている検査設定データやシステム構成が最新のものに更新される。また、登録ボタンを操作すれば、PC2上で作成された検査設定データが画像処理コントローラ11に転送される。
ワークスペース一覧画面41bの見出し欄に配置されている更新ボタン(アイコン)を操作すれば、画像処理コントローラ11から取得された検査設定データによって、編集対象とする検査設定データが更新される。また、追加ボタンを操作すれば、新たな作業領域が設けられ、検査設定データを示すアイコンが追加される。
パーツリストウィンドウ42は、検査設定データを作成する際に選択可能な処理ユニットをユニット一覧として表示するためのウィンドウ画面である。処理ユニットは、パラメータが変更可能な処理を示すシンボルであり、画像処理を示す画像処理ユニット、撮像処理を示す撮像ユニット、フロー制御処理を示す制御ユニット、及び、出力処理を示す出力ユニットなどが処理ユニットとして設けられている。この様な処理ユニットを後述するフロービューウィンドウ内のフローチャート上に配置することによって、所望のフローシーケンスからなる制御プログラムが作成される。
パーツリストウィンドウ42内には、複数の処理ユニットが表示される。この例では、処理の種類によって処理ユニットが8つのカテゴリーに区分され、各カテゴリーを示すアイコンが表示されている。具体的には、「画像入力」、「計測」、「制御」、「演算」、「タイミング」、「表示」、「出力」及び「コマンド出力」のカテゴリーに区分されている。
「画像入力」は、撮像に関する処理ユニットが属するカテゴリーであり、カメラ画像を取り込む撮像ユニットが属している。撮像ユニットには、シャッタースピード、カメラ感度、フラッシュ遅延時間、フラッシュオン時間、撮像対象カメラ、フラッシュ端子及びトリガ端子を指定するためのパラメータがプロパティとして関連付けられている。
「計測」は、計測に関する処理ユニットが属するカテゴリーであり、パターンサーチユニット、エッジ位置検出ユニット、ブロブ検出ユニット、色検査ユニットなどの画像処理ユニットが属している。
パターンサーチは、カメラ画像上のサーチ領域内を走査して予め登録されたパターン画像と一致する位置を検出する処理である。エッジ位置検出は、カメラ画像上の計測領域について、検出方向に垂直な方向の平均濃度を求め、検出方向の濃度変化からエッジの位置を検出する処理である。
ブロブ検出は、カメラ画像を2値化し、同一濃度を有する画素の塊をブロブとして抽出して、計測領域内に存在するブロブの数、面積、重心位置を検出する処理である。色検査は、検査領域内の色を測定する処理であり、色に対応する数値が計測結果として抽出される。
この様な計測に関する画像処理では、検査対象物の形状、サイズ、カメラ画像内における位置などが検知され、その計測値が画像処理結果として出力される。また、計測値と、ユーザが予め指定したパラメータとを比較し、この比較結果に基づいて検査対象物の良否、例えば、不具合や異常の有無を判定し、その判定結果が画像処理結果として出力される。また、計測領域や、検知された検査対象物の位置などをグラフィカルに示すシンボルを埋め込んだカメラ画像が生成され、画像処理結果として出力される。
「制御」は、制御に関する処理ユニットが属するカテゴリーであり、繰返しユニット、バイパスユニット、エンドシンボルなどの制御ユニットが属している。繰返しユニットは、実行フローを繰り返す際の始点を示す繰返し開始ユニットと、終点を示す繰返し終了ユニットとからなる処理ユニットであり、所定の条件が満たされるまで開始ユニット及び終了ユニット間の実行フローを繰り返させる処理を示す。
バイパスユニットは、実行フローを2つの枝フローに分岐させる分岐ユニットと、この分岐ユニットによって分岐された枝フローを合流させる合流ユニットとからなる処理ユニットであり、所定の条件で実行フローを分岐させる処理を示す。エンドシンボルは、1回のフローシーケンスを終了させるための表示オブジェクトである。
「演算」は、演算に関する処理ユニットが属するカテゴリーであり、数値演算ユニット及び位置補正ユニットの画像処理ユニットが属している。「タイミング」は、フロー遷移の停止動作に関する処理ユニットが属するカテゴリーであり、ウェイトユニット、イベント待ちユニットなどの制御ユニットが属している。ウェイトユニットは、所定時間だけフロー遷移を停止させる処理を示す。イベント待ちユニットは、端子入力や変数値が所定の状態となるまでフロー遷移を停止させる処理を示す。
「表示」は、表示に関する処理ユニットが属するカテゴリーであり、グラフィック表示ユニットなどの画像処理ユニットが属している。グラフィック表示ユニットは、他の処理ユニットを参照し、当該処理ユニットの処理結果をグラフィカルに表示する処理を示す。
「出力」は、出力に関する処理ユニットが属するカテゴリーであり、端子出力ユニット、結果出力ユニット、画像出力ユニットなどの出力ユニットが属している。端子出力ユニットには、参照先ユニット、判定結果及び判定結果の出力先端子を指定するためのパラメータがプロパティとして関連付けられている。結果出力ユニットには、参照先ユニット、処理結果を示す数値データ、数値データを出力する際のデータ形式(テキスト形式又はバイナリ形式)、及び、数値データの出力先を指定するためのパラメータがプロパティとして関連付けられている。画像出力ユニットには、参照先ユニット、カメラ画像、画像データを出力する際のデータ形式、及び、画像データの出力先を指定するためのパラメータがプロパティとして関連付けられている。
「コマンド出力」は、コマンド出力に関する処理ユニットが属するカテゴリーであり、コマンド発行ユニット、表示パターン切替ユニット及びダイアログ表示ユニットの出力ユニットが属している。コマンド発行ユニットは、画像登録、検査設定の切替え、リセットなどのコマンドを発行する処理を示す。
表示パターン切替ユニットは、画像処理装置1のディスプレイ13a上に表示される表示パターンを切り替える処理ユニットであり、表示パターンを切り替えるためのコマンドを出力させる。表示パターンは、カメラ画像を表示するためのカメラ画像表示部品や計測結果を表示するための計測結果表示部品などの表示部品をディスプレイ13a上に表示させる際に用いられる複数の表示部品の配置情報からなる。つまり、表示パターン切替ユニットは、表示パターンが表示部品の配置情報からなることから、ディスプレイ13a上における表示部品の配置状態を変更させる部品配置切替ユニットとなっている。
ここでは、カメラ画像を表示するためのカメラ画像表示部品を画面部品と呼び、計測結果を表示するための計測結果表示部品を結果部品と呼ぶことにする。
ダイアログ表示ユニットは、操作入力のためのダイアログ画面をディスプレイ13a上に表示させる処理ユニットであり、ダイアログ画面を表示するためのコマンドを出力させる。ダイアログ画面は、処理ユニットのパラメータを入力するための入力部品や他のダイアログ画面を表示させるための操作部品などのダイアログ部品の配置情報からなる。
この様なダイアログ表示ユニットには、フロー遷移を停止させるダイアログ待ちユニットと、フロー遷移を停止させないものとがある。ダイアログ待ちユニットは、ダイアログ画面をディスプレイ13a上に表示させた際に、パラメータの入力が完了するまでフロー遷移を停止させる制御ユニットである。
ユニットプロパティウィンドウ43は、コントローラ一覧画面41a、ワークスペース一覧画面41b又はフロービューウィンドウ上で選択された処理ユニットのプロパティを表示するためのウィンドウ画面である。
ビジョンビューウィンドウ44は、コントローラ一覧画面41a、ワークスペース一覧画面41b又はフロービューウィンドウ上で選択された処理ユニットに関連付けられているカメラ画像を表示するためのウィンドウ画面である。
リザルトビューウィンドウ45は、コントローラ一覧画面41a、ワークスペース一覧画面41b又はフロービューウィンドウ上で選択された処理ユニットのパラメータと、シミュレーション結果とを表示するためのウィンドウ画面である。
このエディタ画面40では、システムビューウィンドウ41の下部に配置されているフロービューボタン41cを操作すれば、上述したシステムビューウィンドウ41に代えて、フロービューウィンドウを表示させることができる。フロービューウィンドウは、画像処理コントローラ11に実行させる処理手順をフローチャートとして表示するウィンドウ画面であり、ワークスペース一覧画面41b上で選択された検査設定データが表示される。
また、リザルトビューウィンドウ45の下部に配置されている抽出一覧ボタン45aを操作すれば、リザルトビューウィンドウ45に代えて、抽出一覧ウィンドウを表示させることができる。抽出一覧ウィンドウは、リザルトビューウィンドウ45上で選択されたパラメータ及び処理結果を抽出して処理ユニットごとの抽出結果を一覧表示するためのウィンドウ画面である。
<フロービューウィンドウ>
図4は、図2の検査支援システム100におけるPC2の動作の一例を示した図であり、フロービューウィンドウ46が表示されたエディタ画面40が示されている。フロービューウィンドウ46は、検査設定データの制御プログラムを新たに作成し、或いは、画像処理コントローラ11から取得した制御プログラムを編集するために、処理手順を示すフローチャート47を表示するウィンドウ画面である。
フロービューウィンドウ46には、複数の処理ユニット48を配列することによって構成されたフローチャート47が表示されている。フローチャート47には、スタートシンボル「S」において開始し、エンドシンボル「E」において終了する実行フロー上で時系列に実行される処理ユニットが表されている。ユーザは、この様な実行フロー上に処理ユニット48を配置することによって所望の制御プログラムを構成することができる。
つまり、画像処理コントローラ11に行わせる一連の画像処理は、処理ユニットとしてブロック化されており、ユーザは、処理ユニットをフロービューウィンドウ46内の実行フロー上に配置するだけで、当該処理ユニットが直前の処理ユニットの処理結果に基づいて所定の処理を行うフローシーケンスを作成することができる。
フロービューウィンドウ46の下部に配置されているシステムビューボタン46aを操作すれば、このフロービューウィンドウ46に代えて、システムビューウィンドウ41を表示させることができる。
フロービューウィンドウ46上で選択されている処理ユニットは、フォーカス表示され、ユニットプロパティウィンドウ43内にそのプロパティが表示される。ユニットプロパティウィンドウ43内には、編集ボタン43aが配置され、編集ボタン43aを操作すれば、処理ユニットのプロパティを編集するためのプロパティ編集画面が表示される。プロパティ編集画面は、ユーザ操作に基づいて処理ユニットのパラメータを指定し、或いは、既に指定されているパラメータを変更するための編集画面である。
<レイアウト情報の編集画面>
図5は、図2の検査支援システム100におけるPC2の動作の一例を示した図であり、レイアウト情報の編集時のエディタ画面40が示されている。このエディタ画面40には、スクリーンブラウザ画面51、パーツリストウィンドウ52、スクリーンプロパティウィンドウ53及びスクリーンビューウィンドウ54が表示されている。
スクリーンブラウザ画面51は、レイアウト情報を新たに作成し、或いは、画像処理コントローラ11から取得したレイアウト情報を編集するために、編集対象として選択された検査設定データのレイアウト情報を表示するウィンドウ画面である。
レイアウト情報は、画像処理装置1のディスプレイ13a上における表示態様を規定するための情報であり、同一の検査設定データに属する制御プログラムに関連付けられた異なる複数の表示パターンと、1又は2以上のダイアログ画面によって構成される。
表示パターンは、カメラ画像や計測結果をディスプレイ13a上に表示させる際の表示態様を示す配置情報からなり、表示部品をスクリーンビューウィンドウ54上に配置することによって形成される。表示部品には、カメラ画像を表示するための画面部品、計測結果を表示するための結果部品、文字表示のための文字部品、計測回数や計測日時を表示するためのビルトイン部品などが表示部品として設けられている。
ダイアログ画面は、ディスプレイ13a上に表示させるウィンドウ画面であり、処理ユニットのパラメータを入力するための入力部品が配置された入力ダイアログ、他のダイアログ画面を表示させるための操作部品が配置された操作ダイアログなどがダイアログ画面として設けられている。
このスクリーンブラウザ画面51には、表示パターンタブ51a及びダイアログタブ51bが設けられており、これらのタブを操作することによって、表示パターンデータの一覧又はダイアログ画面データの一覧のいずれかが選択的に表示される。この図では、表示パターンタブ51aを操作することによって表示パターンデータの一覧表示が選択された場合が示されている。
表示パターンデータの一覧表示では、編集対象として選択された検査設定データとしてPC2上に保持されている表示パターンと、この表示パターンを構成する表示部品とをそれぞれ示すアイコンが一覧表示されている。スクリーンブラウザ画面51には、切替可能な異なる複数の表示パターンが表示されている。
表示パターンや表示部品を示す各アイコンは、ツリー形式で表示されている。すなわち、表示パターンを上階層とし、この表示パターンを構成している表示部品を下階層として、表示部品がどの表示パターンに属しているのかが識別可能なように表示されている。
各表示パターンは、画面部品と、ビルトイン部品などによって構成されるベース結果フレームと、文字部品や結果部品によって構成されるページ結果フレームとからなる。複数のページ結果フレームを同一の表示パターンに対応付けることにより、共通の画面部品が配置された複数のページフレームからなる表示パターンを形成することができる。ディスプレイ13a上に表示されるページフレームは、操作ユニット13bの操作によって切り替えることができる。
この表示パターンデータの一覧表示では、編集対象として選択されたアイコンは、フォーカス表示56される。また、表示パターンやベース結果フレームを示すアイコンには、折畳みアイコン57aが配置されている。この折畳みアイコン57aは、下階層を折り畳ませるためのアイコンであり、マウスポインタなどで操作すれば、表示パターンやベース結果フレームを構成している表示部品を非表示とすることができる。また、ページ結果フレームを示すアイコンなどに配置されている展開アイコン57bは、下階層を展開させるためのアイコンであり、マウスポインタなどで操作すれば、非表示とされた表示部品を表示させることができる。
このエディタ画面40では、スクリーンブラウザ画面51内に配置されているシステムビューボタン51cを操作すれば、スクリーンブラウザ画面51に代えて、システムビューウィンドウ41を表示させることができる。また、フロービューボタン51dを操作すれば、スクリーンブラウザ画面51に代えて、フロービューウィンドウ46を表示させることができる。
パーツリストウィンドウ52は、検査設定データを作成する際に選択可能な表示パターン及び表示部品を一覧表示するためのウィンドウ画面である。このパーツリストウィンドウ52内には、テンプレートとして予め作成された表示パターンを示すアイコンと、表示部品を示すアイコンが表示される。パーツリストウィンドウ52内の表示部品をスクリーンビューウィンドウ54上に配置することによって、所望の表示パターンが形成される。
スクリーンプロパティウィンドウ53は、スクリーンブラウザ画面51上で選択された編集対象のプロパティを表示するためのウィンドウ画面である。
スクリーンビューウィンドウ54は、スクリーンブラウザ画面51上で選択された編集対象を表示するためのウィンドウ画面であり、編集対象を含む表示パターンが表示領域55内に表示される。このスクリーンビューウィンドウ54内には、表示パターンの変更ボタン54a、画面部品の変更ボタン54b及びページフレームの変更ボタン54cが配置されている。
変更ボタン54aは、編集対象とする表示パターンを変更するための入力ボタンである。この変更ボタン54aを操作すれば、選択可能な表示パターンが一覧表示され、これらの表示パターンのいずれかを選択することによって所望の表示パターンを編集対象として表示領域55内に表示させることができる。
変更ボタン54bは、編集対象とする画面部品を変更するための入力ボタンである。この変更ボタン54bを操作すれば、選択可能な画面部品が一覧表示され、これらの画面部品のいずれかを選択することによって所望の画面部品を編集対象として表示領域55内に表示させることができる。変更ボタン54cは、編集対象とするページフレームを変更するための入力ボタンである。この変更ボタン54cを操作すれば、選択可能なページフレームが一覧表示され、これらのページフレームのいずれかを選択することによって所望のページフレームを編集対象として表示領域55内に表示させることができる。
図6は、図2の検査支援システム100におけるPC2の動作の一例を示した図であり、ダイアログ画面データがスクリーンブラウザ画面51内に表示されたエディタ画面40が示されている。
ダイアログ画面データの一覧表示では、編集対象として選択された検査設定データとしてPC2上に保持されている1又は2以上のダイアログ画面と、これらのダイアログ画面を構成するダイアログ部品(操作部品及び入力部品)と、ダイアログ画面に関連付けられた表示パターンとをそれぞれ示すアイコンが一覧表示されている。
ダイアログ画面、操作部品、入力部品及び表示パターンを示す各アイコンは、ツリー形式で表示されている。すなわち、ダイアログ画面を上階層とし、このダイアログ画面を構成している操作部品や入力部品を下階層として、操作部品や入力部品がどのダイアログ画面に属しているのかが識別可能なように表示されている。
ダイアログ画面には、処理ユニットのパラメータを入力するための入力部品が配置された入力ダイアログと、他のダイアログ画面を表示させる操作部品が配置された操作ダイアログとがダイアログ画面として設けられている。
このスクリーンブラウザ画面51上におけるダイアログ画面データの一覧表示では、操作部品の操作によって表示させるためにダイアログ画面に関連付けられている他のダイアログ画面を示すアイコンが当該操作部品を示すアイコンの下階層として表示されている。また、ダイアログ画面の表示時にディスプレイ13a上に表示される表示パターンを切り替えるために当該ダイアログ画面に関連付けられている表示パターンを示すアイコンが操作部品や入力部品と共に表示されている。
ダイアログ画面データの一覧表示では、編集対象として選択されたアイコンは、フォーカス表示される。また、ダイアログ画面や操作部品を示すアイコンには、折畳みアイコン57aが配置されている。この折畳みアイコン57aは、下階層を折り畳ませるためのアイコンであり、マウスポインタなどで操作すれば、ダイアログ画面や操作部品に関連付けられているダイアログ部品を非表示とすることができる。また、操作部品を示すアイコンなどに配置されている展開アイコン57bは、下階層を展開させるためのアイコンであり、マウスポインタなどで操作すれば、非表示とされたダイアログ部品を表示させることができる。
このパーツリストウィンドウ52には、検査設定データを作成する際に選択可能なダイアログ画面及び部品を一覧表示するためのウィンドウ画面である。このパーツリストウィンドウ52内には、テンプレートとして予め作成されたダイアログ画面を示すアイコンと、ダイアログ部品を示すアイコンが表示される。パーツリストウィンドウ52内のダイアログ部品をスクリーンビューウィンドウ54上に表示されるダイアログ画面上に配置することによって、所望のダイアログ画面が形成される。
<フローチャート>
図7は、図2の検査支援システム100におけるPC2の動作の一例を示した図であり、フロービューウィンドウ46内のフローチャート47の一例が示されている。このフローチャート47は、スタートシンボル61aで開始し、エンドシンボル61bで終了する実行フロー上に複数の処理ユニット48が配置されている。
フロービューウィンドウ46上でフローチャート47を作成編集する場合、パーツリストウィンドウ42を用いて作業が行われる。例えば、フローチャート47内に処理ユニットを挿入する際には、パーツリストウィンドウ42上で所望の処理ユニットを選択し、マウスポインタなどで実行フロー上の位置を指定することによって挿入される。
この例では、フローチャート47が、撮像ユニット、色検査ユニット、パターンサーチユニット、位置補正ユニット、数値演算ユニット、エッジ位置検出ユニット、ブロブ検出ユニット、分岐ユニット62a、合流ユニット62b及びグラフィック表示ユニットをこの順序で実行フロー上に配置することによって構成されている。
分岐ユニット62a及び合流ユニット62bは、バイパスユニットを構成する制御ユニットであり、実行フロー上にバイパスユニットを挿入する際には、常に分岐ユニット62a及び合流ユニット62bを対にして挿入される。
この例では、ブロブ検出ユニットからの実行フローが分岐ユニット62aにより2つの枝フロー63に分岐され、この分岐ユニット62aで分岐された枝フローが合流ユニット62bにおいて合流されている。その際、一方の枝フロー63は、直接に合流ユニット62bに達しているのに対して、他方の枝フロー63は、表示パターン切替ユニット65を経て合流ユニット62bに達するバイパス経路(迂回路)となっている。
フローチャート47内の分岐ユニット62a及び繰返し開始ユニット65aには、折畳みアイコン64aが配置されている。この折畳みアイコン64aは、制御ユニット間の実行フローを省略してフローチャート47を表示させるためのアイコンであり、処理ユニットに隣接させて表示される。
また、フローチャート47上で選択されている処理ユニットは、フォーカス表示され、ユニットプロパティウィンドウ43内に当該処理ユニットのプロパティを表示させ、或いは、編集対象として当該処理ユニットのプロパティを変更することができる。
このフローチャート47内の表示パターン切替ユニット65は、ディスプレイ13a上における表示部品の配置状態を変更させる部品配置切替ユニットであり、表示パターンを切り替えるためのコマンドを出力させる。この表示パターン切替ユニット65は、例えば、分岐ユニット62aが分岐させた枝フロー上に配置され、表示パターン切替ユニット65が実行されるタイミングで表示パターンを予め関連付けされた表示パターンに切り替える処理ユニットとなっている。分岐ユニット62aでは、フローチャート47内の特定の処理ユニットが検査対象物の良否の判定結果の参照先として予め指定されており、当該処理ユニットにおける判定結果に基づいて枝フローが選択される。従って、分岐ユニット62aが検査対象物の良否の判定結果に基づいて選択した枝フロー上に切替ユニット65が配置されている場合に、表示パターンが切り替えられることとなる。
ここでは、分岐ユニット62aが検査対象物の良否の判定結果に基づいて選択した枝フロー上に切替ユニット65が配置されている場合に、表示パターンが切り替えられる場合の例について説明したが、表示パターン切替ユニットが、検査対象物の良否の判定結果に基づいて表示パターンを切り替える処理ユニットであっても良い。すなわち、表示パターン切替ユニットが、フローチャート47内の特定の処理ユニットにおける検査対象物の良否の判定結果を参照し、その判定結果に基づいて表示パターンを切り替えるか否かを決定するような構成も考えられる。
この表示パターン切替ユニット65による表示パターンの切替えには、ディスプレイ13a上に表示中の表示パターンを共通の制御プログラム、すなわち、フローチャート47に関連付けられている複数の表示パターンのいずれかに切り替えさせる場合と、共通の画面部品が配置された複数のページフレームのいずれかに切り替えさせる場合とが考えられる。
この様な処理結果の参照先や表示パターンの切替方法は、表示パターン切替ユニット65のプロパティ編集画面において指定し、或いは、変更することができる。
図8は、図2の検査支援システム100におけるPC2の動作の一例を示した図であり、ダイアログ待ちユニット66が配置されたフローチャート47の一例が示されている。この例では、図7のフローチャート47と比較すれば、分岐ユニット62aによって分岐された他方の枝フロー63が、表示パターン切替ユニット65及びダイアログ待ちユニット66を経て合流ユニット62bに達している点で異なる。
このフローチャート47内のダイアログ待ちユニット66は、ディスプレイ13a上にダイアログ画面を表示させるとともに、当該ダイアログ画面の入力部品を介してパラメータが入力されるまでフロー遷移を停止させる処理ユニットであり、ダイアログ画面を表示するためのコマンドを出力させる。このダイアログ待ちユニット66は、例えば、分岐ユニット62aが分岐させた枝フロー上に配置され、ダイアログ待ちユニット66が実行されるタイミングで予め関連付けされたダイアログ画面を表示する処理ユニットとなっている。従って、分岐ユニット62aが検査対象物の良否の判定結果に基づいて選択した枝フロー上に待ちユニット66が配置されている場合に、ダイアログ画面が表示されることとなる。
ここでは、分岐ユニット62aが検査対象物の良否の判定結果に基づいて選択した枝フロー上に待ちユニット66が配置されている場合に、ダイアログ画面が表示される場合の例について説明したが、ダイアログ待ちユニットが、検査対象物の良否の判定結果に基づいてダイアログ画面を表示させる処理ユニットであっても良い。すなわち、ダイアログ待ちユニットが、フローチャート47内の特定の処理ユニットにおける検査対象物の良否の判定結果を参照し、その判定結果に基づいてダイアログ画面を表示させるか否かを決定するような構成も考えられる。
この様な処理結果の参照先は、ダイアログ待ちユニット66のプロパティ編集画面において指定し、或いは、変更することができる。
<ダイアログ待ちユニットのプロパティ編集画面>
図9は、図2の検査支援システム100におけるPC2の動作の一例を示した図であり、エディタ画面40上に表示されたダイアログ待ちユニットのプロパティ編集画面70が示されている。この編集画面70は、ダイアログ待ちユニットのプロパティを編集するためのウィンドウ画面である。
この編集画面70には、ダイアログ画面の識別情報を指定するための入力欄71が設けられており、入力欄71には、関連付け可能なダイアログ画面の識別情報が一覧表示されている。ユーザは、入力欄71において所望のダイアログ画面を選択することにより、ダイアログ待ちユニットの実行時に表示させるダイアログ画面を指定することができる。
<表示パターン>
図10は、図2の検査支援システム100におけるPC2の動作の一例を示した図であり、スクリーンビューウィンドウ54内に編集対象の表示パターンが表示されたエディタ画面40が示されている。このエディタ画面40では、スクリーンブラウザ画面51上で選択された編集対象に関連付けられている表示パターンがスクリーンビューウィンドウ54の表示領域55内に表示されている。
表示パターンは、画像処理装置1のディスプレイ13a上に表示部品を表示する際に用いられる表示部品の配置情報からなり、ユーザがスクリーンビューウィンドウ54の表示領域55内に表示部品を配置することによって形成される。
この例では、表示パターンが、1つの画面部品(カメラ画像表示部品)101と、2つの結果部品(計測結果表示部品)102と、3つの文字部品103によって構成されている。
画面部品101は、参照先として予め指定された処理ユニットの処理結果を示すカメラ画像を表示するための表示部品であり、パターンサーチなどによる計測結果が示されたカメラ画像が表示される。結果部品102は、参照先として予め指定された処理ユニットの処理結果を計測値として表示するための表示部品であり、パターンサーチなどによる計測結果が表示される。文字部品103は、ユーザが指定した文字列を表示するための表示部品である。
これらの表示部品101〜103について、表示領域55内における位置、サイズ、参照先などのプロパティは、スクリーンプロパティウィンドウ53上で編集することができる。ユーザは、パーツリストウィンドウ52内で選択した表示部品をスクリーンビューウィンドウ54の表示領域55内に配置し、スクリーンプロパティウィンドウ53上で表示部品のプロパティを指定することにより、所望の表示パターンを作成することができる。
従って、表示パターンとしてディスプレイ13a上に複数の画面部品や結果部品を同時に表示させることができ、それぞれに任意の処理ユニットを関連付けることによって当該処理ユニットの処理結果を表示させることができる。また、ディスプレイ13a上に画面部品や結果部品を表示させる際のレイアウトも所望のものに変更することができる。
<スクリーンプロパティウィンドウ>
図11(a)〜(c)は、図2の検査支援システム100におけるPC2の動作の一例を示した図であり、画面部品のプロパティ編集時のスクリーンプロパティウィンドウ53が示されている。このスクリーンプロパティウィンドウ53は、スクリーンブラウザ画面51又はスクリーンビューウィンドウ54上で選択された編集対象のプロパティを編集するためのウィンドウ画面であり、共通設定、ユニット設定又は画像設定のいずれかを選択するためのタブ81〜83が設けられている。
図11(a)には、共通設定の項目が選択された場合が示されている。この共通設定では、表示部品をディスプレイ13a上に表示させる際の位置やサイズを指定し、或いは、変更することができる。具体的には、表示部品の表示位置を指定するための入力欄81aと、表示部品の識別情報を指定するための入力欄81bと、表示サイズを指定するための入力欄81cが設けられている。
図11(b)には、ユニット設定の項目が選択された場合が示されている。このユニット設定では、画像処理の結果を表示するために参照先として関連付ける処理ユニットを指定し、或いは、変更することができる。この例では、処理ユニットを指定するための入力欄82aが設けられており、入力欄82aには、参照先として選択可能な処理ユニットが一覧表示されている。
図11(c)には、画像設定の項目が選択された場合が示されている。この画像設定では、カメラ画像の表示方法を指定し、或いは、変更することができる。この例では、カメラ画像の表示方法を指定するための入力欄83a,83bが設けられており、初期表示対象や切替対象として選択可能なカメラ画像が一覧表示されている。
また、カメラ画像の表示方法として、スルー画像又はフィルタ画像の項目を選択することができる。スルー画像の項目は、計測領域内について、計測値を得るために行われる画像処理(前処理)前のカメラ画像を表示させる方法である。フィルタ画像は、計測値を得るために行われた画像処理(前処理)後のカメラ画像を表示させる方法である。
<カメラ画像の拡大表示>
図12は、図2の検査支援システム100におけるPC2の動作の一例を示した図であり、画面部品のプロパティ編集時にエディタ画面40上に表示される詳細設定画面90が示されている。詳細設定画面90は、画面部品のプロパティとして、カメラ画像の一部を切り出して表示させる場合のズームアップ率などを指定するための入力画面である。
この詳細設定画面90には、カメラ画像表示領域91、ズーム率入力欄92、カーソル位置入力欄93及びズーム中心点入力欄94が配置されている。カメラ画像表示領域91内には、各入力欄92〜94で指定されたパラメータに応じて切り出されたカメラ画像が表示される。
ズームアップ率として100%を指定した場合、カメラ画像の全体が表示され、すなわち、カメラ12の1画素を画面上の1画素として表示される。また、ズームアップ率として100%を越える値を指定した場合には、カメラ画像の一部が切り出され、切り出された画像領域が表示される。カメラ画像を拡大表示する際は、ピクセルデータの補間処理が行われる。
この様に、カメラ画像を拡大表示させる際のズームアップ率は、画面部品ごとに指定し、或いは、変更することができる。各画面部品には、任意の処理ユニットを関連付けて処理結果のカメラ画像を表示させることができることから、例えば、複数の画面部品によって、同じカメラ12で撮影されたカメラ画像を表示させ、しかも、画面部品ごとにズームアップ率を異ならせて表示させることができる。
<ダイアログ画面>
図13は、図2の検査支援システム100におけるPC2の動作の一例を示した図であり、スクリーンビューウィンドウ54内に編集対象のダイアログ画面が表示されたエディタ画面40が示されている。このエディタ画面40では、スクリーンブラウザ画面51上で選択された編集対象に関連付けられているダイアログ画面がスクリーンビューウィンドウ54の表示領域55内に表示されている。
ダイアログ画面は、画像処理装置1のディスプレイ13a上にダイアログ画面を表示する際に用いられるダイアログ画面及び部品の配置情報からなり、ユーザがスクリーンビューウィンドウ54の表示領域55内にダイアログ画面やダイアログ部品を配置することによって形成される。
この例では、画面部品101a及び101bからなる表示パターン上に、2つのダイアログ画面120及び122が配置されている。ダイアログ画面120は、2つの操作部品121が配置されたダイアログ画面であり、ダイアログ画面122は、2つの入力部品123と、1つの操作部品124が配置されたダイアログ画面である。
ダイアログ画面120が、画像処理コントローラ11が運転中である場合に、常に表示されるダイアログ画面であるのに対し、ダイアログ画面122は、ダイアログ画面120上の操作部品121を操作することによって表示されるダイアログ画面となっている。
操作部品121は、他のダイアログ画面を表示させるためのアイコンであり、入力部品123は、処理ユニットのパラメータを入力するための入力欄となっている。操作部品124は、ダイアログ画面を閉じて当該ダイアログ画面を表示する前の状態に遷移させるためのアイコンとなっている。各ダイアログ画面120,122は、表示パターン上に重ねて表示される。
これらのダイアログ画面120,122について、表示領域55内における位置、サイズ、ダイアログ部品の関連付け情報などのプロパティは、スクリーンプロパティウィンドウ53上で編集することができる。ユーザは、パーツリストウィンドウ52内で選択したダイアログ部品をダイアログ画面上に配置し、スクリーンプロパティウィンドウ53上でダイアログ部品のプロパティを指定することにより、所望のダイアログ画面を作成することができる。
スクリーンブラウザ画面51内のダイアログ画面データの一覧表示には、ダイアログ画面やダイアログ画面を構成するダイアログ部品が一覧表示されている。最上位階層のダイアログ画面を示すアイコン110は、表示領域55内のダイアログ画面120に対応し、次の階層の操作部品を示すアイコン111は、ダイアログ画面120上の操作部品121に対応している。
操作部品121に関連付けられているダイアログ画面を示すアイコン112は、ダイアログ画面122に対応し、入力部品を示すアイコン113は、ダイアログ画面122上の入力部品123に対応している。また、操作部品を示すアイコン114は、ダイアログ画面122上の操作部品124に対応している。
また、ダイアログ画面122に関連付けられている表示パターンを示すアイコン115は、表示領域55内に表示中の表示パターンに対応している。この様に、ダイアログ画面に表示パターンを予め割り付けておくことにより、当該ダイアログ画面をディスプレイ13a上に表示させる際に、ディスプレイ13a上の表示パターンを自動的に切り替えさせることができる。
なお、ディスプレイ13a上に表示させるダイアログ画面が入力ダイアログである場合に、パラメータの入力が完了するまで、当該ディスプレイ13a内に表示中の他のダイアログ画面の操作を制限させることが考えられる。この様に、他のダイアログ画面の操作を制限させることにより、入力ダイアログによって処理ユニットのパラメータを変更する前に、表示パターンが切り替えられてしまうのを防止することができる。
また、ディスプレイ13a上に表示させる際に表示パターンを切り替えさせた場合に、パラメータの入力に基づいて元の表示パターンに切り替えさせるように、入力ダイアログを構成することが考えられる。この様に構成すれば、ユーザが操作部品を操作しなくても、表示パターンを自動的に元に戻させることができる。
<ページフレーム>
図14は、図2の検査支援システム100におけるPC2の動作の一例を示した図であり、複数のページ結果フレーム132から表示パターンが構成される様子が示されている。ディスプレイ13a上に表示させる表示パターンは、画面部品フレーム130、ベース結果フレーム131及びページ結果フレーム132により構成される。
画面部品フレーム130は、ユーザがスクリーンビューウィンドウ54上で配置した画面部品130aによって構成されるフレームである。ベース結果フレーム131は、ビルトイン部品131a,131bなどの表示部品によって構成されるフレームである。ページ結果フレーム132は、結果部品132bや文字部品132aなどの表示部品によって構成されるフレームである。
表示パターンは、画面部品フレーム130、ベース結果フレーム131及びページ結果フレーム132を合成し、或いは、重ね合わせることによって形成される。表示部品が異なる複数のページ結果フレーム132を作成することにより、共通の画面部品130aが配置された切替可能な複数のページフレームを形成することができる。つまり、表示パターンは、これらのページフレームごとにユーザが任意の結果部品を選択して配置することによって形成される。
<表示パターン割付>
図15は、図2の検査支援システム100におけるPC2の動作の一例を示した図であり、ダイアログ画面に表示パターンを割り付けるための割付設定画面140が示されている。割付設定画面140は、スクリーンブラウザ画面51上で選択されたダイアログ画面に表示パターンを新たに割り付けし、或いは、表示パターンの割り付けを解除するためのウィンドウ画面であり、エディタ画面40上に表示されている。
この割付設定画面140上で、ダイアログ画面に特定の表示パターンを割り付けることにより、当該ダイアログ画面をディスプレイ13a上に表示する際に、表示中の表示パターンに代えて、所望の表示パターンを表示させることができる。
この様に、特定の表示パターンが割り付けられたダイアログ画面は、ディスプレイ13a上に表示させる際に、ディスプレイ13a上に表示される表示パターンを切り替えさせるものとなっている。
この例では、処理ユニットのパラメータを入力するための入力部品123が配置されたダイアログ画面122(入力ダイアログ)に表示パターン「P05:表示パターン」が割り付けられている。ダイアログ画面122が、ダイアログ画面120(操作ダイアログ)上の操作部品121を操作することによって表示されるダイアログ画面であることから、操作部品121を操作すれば、ディスプレイ13a上にダイアログ画面122が表示されるとともに、表示パターンが切り替えられることになる。
図16は、図2の検査支援システム100におけるPC2の動作の一例を示した図であり、編集中のダイアログ画面に割り付ける表示パターンを選択するための表示パターン設定画面150が示されている。表示パターン設定画面150は、スクリーンブラウザ画面51上で編集対象として選択されたダイアログ画面に対して、割付可能な表示パターンを一覧表示するためのウィンドウ画面であり、エディタ画面40上に表示されている。
この表示パターン設定画面150には、スクリーンブラウザ画面51内の表示パターンデータの一覧表示において表示される表示パターン、すなわち、共通の制御プログラムに関連付けて作成された複数の表示パターンが割付可能な表示パターンとして表示される。
ユーザは、表示パターン設定画面150上で表示パターンを選択して、ダイアログ画面に表示パターンを割り付けることによって、当該ダイアログ画面をディスプレイ13a上に表示させる際に、表示中の表示パターンを所望の表示パターンに自動的に切り替えて表示させることができる。
<エディタの機能構成>
図17は、図2の検査支援システム100におけるPC2の構成例を示したブロック図であり、画像処理コントローラ11の制御プログラムを作成するエディタの機能構成の一例が示されている。このPC2は、処理ユニット記憶部201、フローチャート生成部202、フローチャート記憶部203、プログラム生成部204、メモリ21、表示部品記憶部205、ダイアログ部品記憶部206、表示パターン生成部207、ダイアログ画面生成部208、表示パターン記憶部209、ダイアログ画面記憶部210、レイアウト情報生成部211及び転送部212により構成される。
処理ユニット記憶部201は、表示パターン切替ユニット201a、ダイアログ表示ユニット201bなどの処理ユニットを保持している。フローチャート生成部202は、スタートシンボルにおいて開始し、エンドシンボルにおいて終了する実行フロー上に処理ユニットを配置することによってフローチャートを生成する動作を行っている。
フローチャート記憶部203には、フローチャート生成部202によって生成されたフローチャートが保持され、このフローチャートがフロービューウィンドウ46内に表示される。プログラム生成部204は、フローチャート記憶部203に保持されているフローチャートを実行形式に変換することにより、画像処理コントローラ11の制御プログラムを生成する動作を行っている。
メモリ21には、プログラム生成部204により生成された制御プログラム22aや、レイアウト情報生成部211によって生成されたレイアウト情報22bが検査設定データ22として保持される。転送部212は、メモリ21内の検査設定データ22を画像処理コントローラ11へ転送する動作を行っている。
表示部品記憶部205は、ディスプレイ13a上に配置される表示部品として、画面部品205a、結果部品205bなどの表示部品を保持している。ダイアログ部品記憶部206は、操作部品206a、入力部品206bなどのダイアログ部品を保持している。
表示パターン生成部207は、画像処理の結果を表示させるために、画面部品及び結果部品をそれぞれフローチャート内の特定の処理ユニットに関連付けし、処理ユニットに関連付けがなされた複数の表示部品の配置情報からなる表示パターンを生成する動作を行っている。この表示パターンは、ユーザが表示部品をスクリーンビューウィンドウ54上に配置することによって形成され、表示パターン記憶部209内に格納される。
ダイアログ画面生成部208は、ダイアログ部品を配置することによって、ダイアログ部品の配置情報からなるダイアログ画面を生成し、ダイアログ画面記憶部210内に格納する動作を行っている。操作ダイアログは、操作部品の操作時に表示させるダイアログ画面に当該操作部品を関連付けすることによって形成される。また、入力ダイアログは、入力部品を介してパラメータを書き換える処理ユニットに当該入力部品を関連付けすることによって形成される。
入力ダイアログのプロパティ編集時に、表示パターンが割り付けられている場合、入力ダイアログは、割り付けされた表示パターンに関連付けてダイアログ画面記憶部210内に格納される。
レイアウト情報生成部211は、ディスプレイ13a上の表示態様を規定するためのレイアウト情報として、ディスプレイ13a上で切替可能に表示される複数の表示パターンと、ダイアログ画面とを含むレイアウト情報を生成する動作を行っている。
本実施の形態によれば、ダイアログ画面に表示パターンを予め割り付けておくことにより、当該ダイアログ画面を表示させる際に、ディスプレイ13a上に表示される表示パターンが切り替えられるので、操作ユニット13bを操作することなく、所望の表示パターンをディスプレイ13a上に自動的に表示させることができる。