説明

検査支援システム及び画像処理コントローラ

【課題】 一連の処理手順を複数のユニットにブロック化して制御プログラムが作成される場合に、実行ログとユニットごとの処理との関連付けを容易化した検査支援システムを提供する。
【解決手段】 プログラム作成装置が、撮像ユニット及び計測ユニットを含む処理ユニットを実行フロー上に配置することによって生成されたフローチャートに基づいて、画像処理コントローラ11の制御プログラムを生成する。画像処理コントローラ11が、カメラ画像の取得サイクルを計測周期として、制御プログラムを繰返し実行するプログラム実行部52と、制御プログラムの実行時における入力端子及び出力端子の端子状態をサンプリングし、端子状態を時系列に示す実行ログとして保持するログ収集部56と、実行ログをプログラム作成装置へ転送する通信部51とを備え、ログ収集部56が、制御プログラムを構成している処理ユニットに関連付けて実行ログを保持するように構成される。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、検査支援システム及び画像処理コントローラに係り、さらに詳しくは、検査対象物を撮影して得られるカメラ画像に基づいて判定信号を出力する画像処理コントローラの改良に関する。
【背景技術】
【0002】
検査対象物を撮影して得られるカメラ画像を画像処理し、検査対象物の形状、位置、カメラ画像に基づく判定結果を示す判定信号などを処理結果として出力する画像処理コントローラには、一連の処理手順を変更可能なものが知られている(例えば、特許文献1)。通常、一連の処理手順をこの様な画像処理コントローラに実行させるための制御プログラムは、PC(パーソナルコンピュータ)などの情報処理端末上で動作するエディタ(ソフトウェア)を用いて作成される。ユーザは、作成した制御プログラムを画像処理コントローラに転送することにより、検査対象物に対して所望の検査を行うことができる。
【0003】
一般に、上述した様なプログラム作成装置を用いて作成した制御プログラムによって画像処理コントローラを実際に動作させた場合に、所望の時間内に処理を完了できたのか、或いは、処理の実行タイミングと信号入力のタイミングとが適切であったのかなどを検証するには、実行ログを調べる必要がある。実行ログは、制御プログラムの実行時における端子状態を時系列に示すデータであり、入出力端子を介して外部機器との間で入出力される信号の信号状態が実行ログとして保持される。この様な実行ログを解析することにより、画像処理コントローラに要求される検査タクトに間に合うか否かや、処理のハンドリングが期待通りであるか否かを判断して制御プログラムを修正することができる。
【0004】
しかしながら、従来の画像処理コントローラでは、制御プログラムの実行時にサンプリングした端子状態が、単に、実行ログとして、時刻情報に関連付けて保持される。このため、一連の処理手順を複数のユニットにブロック化して制御プログラムが作成されているような場合に、実行ログと、ユニットごとの処理との関連付けが容易ではなく、各処理がどのような順序で実行されたのか、各処理がいつ開始していつ終了したのかなどが判断しづらいという問題があった。
【特許文献1】特開平9−288568号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
上述した通り、従来の画像処理コントローラでは、一連の処理手順を複数のユニットにブロック化して制御プログラムが作成される場合に、実行ログとユニットごとの処理との関連付けが容易ではなく、各処理がどのような順序で実行されたのか、各処理がいつ開始していつ終了したのかが判断しづらいという問題があった。
【0006】
本発明は、上記の事情に鑑みてなされたものであり、一連の処理手順を複数のユニットにブロック化して制御プログラムが作成される場合に、実行ログとユニットごとの処理との関連付けを容易化した検査支援システム及び画像処理コントローラを提供することを目的とする。特に、各処理がどのような順序で実行されたのか、及び、処理がいつ開始していつ終了したのかを判別し易くした画像処理コントローラを提供することを目的とする。また、処理ユニットに関連付けされた実行ログをタイムスケールに対応付けて編集画面上に表示させた際の操作性を向上させた検査支援システムを提供することを目的とする。
【課題を解決するための手段】
【0007】
第1の本発明による検査支援システムは、検査対象物を撮影してカメラ画像を生成するカメラと、上記カメラから上記カメラ画像を取得して当該カメラ画像から計測結果を抽出し、この計測結果に基づいて上記検査対象物の良否を判定して判定信号を出力する画像処理コントローラと、上記画像処理コントローラの制御プログラムを作成するプログラム作成装置とからなる検査支援システムであって、上記プログラム作成装置が、処理ユニットとして、撮像トリガ信号に基づいて上記カメラからカメラ画像を取得する撮像ユニット、及び、上記撮像ユニットによって取得された上記カメラ画像から計測結果を抽出する2以上の計測ユニットを保持する処理ユニット記憶手段と、スタートシンボルにおいて開始し、エンドシンボルにおいて終了する実行フロー上に上記処理ユニットを配置することによってフローチャートを生成するフローチャート生成手段と、上記フローチャートに基づいて、上記画像処理コントローラの制御プログラムを生成するプログラム生成手段と、上記制御プログラムを上記画像処理コントローラへ転送するプログラム転送手段とを備え、上記画像処理コントローラが、上記制御プログラムを保持するプログラム記憶手段と、上記カメラ画像の取得サイクルを計測周期として、上記制御プログラムを繰返し実行するプログラム実行手段と、上記制御プログラムの実行時における端子状態をサンプリングし、上記端子状態を時系列に示す実行ログとして保持するログ収集手段と、上記実行ログを上記プログラム作成装置へ転送するログ転送手段とを備え、上記ログ収集手段が、上記実行ログを上記処理ユニットに関連付けて保持するように構成される。
【0008】
この検査支援システムでは、カメラ画像の取得サイクルを計測周期として、制御プログラムが繰返し実行され、制御プログラムの実行時における端子状態が実行ログとして保持される。その際、実行ログが処理ユニットに関連付けて保持されるので、実行ログと処理ユニットごとの処理とを関連付けて実行ログを解析することができる。
【0009】
第2の本発明による検査支援システムは、上記構成に加え、上記実行ログが、上記処理ユニットの処理開始及び処理終了を示す時刻情報を含むように構成される。この様な構成によれば、実行ログが処理ユニットの処理開始及び処理終了を示す時刻情報を含むので、処理ユニットごとの処理がどのような順序で実行されたのか、及び、各処理がいつ開始していつ終了したのかを容易に判別することができる。
【0010】
第3の本発明による検査支援システムは、上記構成に加え、上記実行ログが、上記検査対象物の良否の判定結果を示す上記計測ユニットごとの判定結果情報を含むように構成される。この様な構成によれば、実行ログが計測ユニットごとの判定結果情報を含むので、一連の処理手順の途中の判定結果と端子状態とを関連付けて解析することができる。
【0011】
第4の本発明による検査支援システムは、上記構成に加え、上記処理ユニット記憶手段が、実行フローを2以上の枝フローに分岐させる分岐ユニットを処理ユニットとして保持し、上記実行ログが、上記分岐ユニットによる分岐先を示す分岐先情報を含むように構成される。この様な構成によれば、実行ログが分岐ユニットによる分岐先情報を含むので、分岐ユニットを含む制御プログラムの場合に、分岐ユニットによる分岐後にどの枝フローが実行されたのかを容易に判別することができる。
【0012】
第5の本発明による検査支援システムは、上記構成に加え、上記ログ収集手段が、上記計測ユニットにおける上記検査対象物の良否の判定結果に基づいて、実行ログの収集を終了するように構成される。
【0013】
第6の本発明による検査支援システムは、上記構成に加え、上記ログ収集手段が、上記処理ユニットにおける処理開始から処理終了までの時間に基づいて、実行ログの収集を終了するように構成される。
【0014】
第7の本発明による検査支援システムは、上記構成に加え、上記ログ収集手段が、上記計測ユニットにおける計測値のオーバーフロー又はパラメータの設定エラーに基づいて、実行ログの収集を終了するように構成される。
【0015】
第8の本発明による検査支援システムは、上記構成に加え、上記プログラム作成装置が、上記実行ログをタイムスケールに対応付けて編集画面上に表示するログ表示手段と、上記処理ユニットを選択するための選択欄を表示するユニット選択欄表示手段と、上記選択欄において選択された処理ユニットの位置までカーソルを上記実行ログ上でジャンプさせるカーソル移動手段とを備えて構成される。この様な構成によれば、選択欄において選択された処理ユニットの位置までカーソルを実行ログ上でジャンプさせるので、処理ユニットに関連付けされた実行ログをタイムスケールに対応付けて編集画面上に表示させた際の操作性を向上させることができる。
【0016】
第9の本発明による画像処理コントローラは、検査対象物を撮影してカメラ画像を生成するカメラと、上記カメラから上記カメラ画像を取得して当該カメラ画像から計測結果を抽出し、この計測結果に基づいて上記検査対象物の良否を判定して判定信号を出力する画像処理コントローラと、上記画像処理コントローラの制御プログラムを作成するプログラム作成装置とからなる検査支援システムであって、上記プログラム作成装置が、処理ユニットとして、撮像トリガ信号に基づいて上記カメラからカメラ画像を取得する撮像ユニット、及び、上記撮像ユニットによって取得された上記カメラ画像から計測結果を抽出する2以上の計測ユニットを保持する処理ユニット記憶手段と、スタートシンボルにおいて開始し、エンドシンボルにおいて終了する実行フロー上に上記処理ユニットを配置することによってフローチャートを生成するフローチャート生成手段と、上記フローチャートに基づいて、上記画像処理コントローラの制御プログラムを生成するプログラム生成手段と、上記制御プログラムを上記画像処理コントローラへ転送するプログラム転送手段とを有する検査支援システムに用いられる。具体的には、上記制御プログラムを保持するプログラム記憶手段と、上記カメラ画像の取得サイクルを計測周期として、上記制御プログラムを繰返し実行するプログラム実行手段と、上記制御プログラムの実行時における端子状態をサンプリングし、上記端子状態を時系列に示す実行ログとして保持するログ収集手段と、上記実行ログを上記プログラム作成装置へ転送するログ転送手段とを備え、上記ログ収集手段が、上記実行ログを上記処理ユニットに関連付けて保持するように構成される。
【発明の効果】
【0017】
本発明による画像処理コントローラ及び画像処理コントローラ用のプログラム作成装置によれば、実行ログが処理ユニットに関連付けて保持されるので、実行ログと処理ユニットごとの処理とを関連付けて実行ログを解析することができる。特に、実行ログが処理ユニットの処理開始及び処理終了を示す時刻情報を含むので、処理ユニットごとの処理がどのような順序で実行されたのか、及び、各処理がいつ開始していつ終了したのかを判別し易くすることができる。従って、一連の処理手順を複数の処理ユニットにブロック化して制御プログラムが作成される場合に、実行ログと処理ユニットごとの処理との関連付けを容易化することができる。また、選択欄において選択された処理ユニットの位置までカーソルを実行ログ上でジャンプさせるので、処理ユニットに関連付けされた実行ログをタイムスケールに対応付けて編集画面上に表示させた際の操作性を向上させることができる。
【発明を実施するための最良の形態】
【0018】
<検査支援システム>
図1は、本発明の実施の形態による検査支援システムの一構成例を示した斜視図である。この検査支援システムは、検査対象物の搬送ライン上に配置される画像処理装置1と、この画像処理装置1の制御プログラムを生成するPC(パーソナルコンピュータ)2とからなる。
【0019】
画像処理装置1は、画像処理コントローラ11、カメラ12、ディスプレイ13a及び操作ユニット13bからなり、検査対象物から得られたカメラ画像に基づいて判定信号を出力するセンサー装置である。この判定信号は、図示しないPLC(Programmable Logic Controller:プログラマブルコントローラ)などへ入力され、画像処理装置1は、FA(Factory Automation)センサーとして使用される。
【0020】
カメラ12は、被写体を撮影して画像データを生成し、カメラ画像として出力する撮像装置であり、画像処理コントローラ11に着脱可能に接続される。カメラ12は、検査対象物が搬送される搬送ライン上に配置され、検査対象物を被写体として撮影が行われる。
【0021】
ディスプレイ13aは、検査対象物を撮影して得られたカメラ画像やカメラ画像に基づく画像処理結果を表示するための出力装置である。このディスプレイ13aは、画像処理コントローラ11によって表示制御され、通常、画像処理コントローラ11の近傍に配置される。つまり、このディスプレイ13aは、画像処理コントローラ11が運転中である場合に、画像処理コントローラ11の動作状態をユーザに確認させるための表示装置となっている。操作ユニット13bは、ディスプレイ13a上でフォーカス位置を移動させたり、メニュー項目を選択するための入力装置である。
【0022】
画像処理コントローラ11は、カメラ12からのカメラ画像を取り込んで処理し、カメラ画像に基づいて行った判定結果を示す判定信号を処理結果として出力する画像処理装置1の本体ユニットである。カメラ画像の取得動作は、例えば、PLCなどの外部機器から入力される制御信号であって、カメラ画像を取り込むタイミングを規定する撮像トリガ信号に基づいて行われる。
【0023】
この画像処理コントローラ11には、最大で4台のカメラ12が接続され、これらのカメラ12から取得したカメラ画像に基づいて画像処理が行われる。画像処理コントローラ11から出力される判定信号は、製品の良否などの判定結果を示す信号として生成される。
【0024】
また、画像処理コントローラ11には、ディスプレイ13a及び操作ユニット13bが接続されており、PC2を接続しなくても、操作ユニット13bを入力装置とし、ディスプレイ13aを出力装置として動作させることができる。
【0025】
PC2は、画像処理コントローラ11の制御プログラムを作成するプログラム作成装置であり、PC2上で動作するエディタ(ソフトウェア)によって制御プログラムが生成される。画像処理コントローラ11の制御プログラムを作成する際、PC2上でシミュレーションして動作確認することができる。
【0026】
PC2では、画像処理コントローラ11によるディスプレイ13a上の表示態様を規定するレイアウト情報が作成される。このレイアウト情報もエディタによってPC2における編集画面上で作成され、制御プログラム及びレイアウト情報からなる検査設定データが生成される。
【0027】
PC2と画像処理装置1の画像処理コントローラ11とは、イーサネット(Ethernet:登録商標)などの通信ネットワークを介して接続される。PC2には、複数の画像処理コントローラ11が着脱可能に接続される。PC2上で作成した検査設定データを画像処理コントローラ11に転送することにより、画像処理コントローラ11内の検査設定データを書き換えることができる。また、画像処理コントローラ11内の検査設定データを取り込んでPC2上で編集することもできる。このPC2は、通常、画像処理装置1のメンテナンス時に画像処理コントローラ11が接続される。
【0028】
この検査支援システムでは、画像処理コントローラ11の運転中にカメラ12から取得したカメラ画像や、カメラ画像から抽出した計測結果が履歴情報として蓄積され、必要に応じてディスプレイ13aやPC2上に表示させることができる。
【0029】
<システム構成>
図2は、図1の検査支援システムのシステム構成の一例を示したブロック図である。この検査支援システム100は、1台のPC2と、通信ネットワーク3を介してPC2に接続された複数の画像処理装置1により構成される。PC2上で作成された制御プログラムは、検査設定データ22としてメモリ21内に格納される。
【0030】
PC2上で作成された検査設定データ22は、通信ネットワーク3を介して画像処理コントローラ11に転送される。このとき、転送先を指定して検査設定データ22を転送することにより、所望の画像処理コントローラ11について、メモリ14内の検査設定データ15を更新し、或いは、メモリ14内に新たな検査設定データを追加することができる。
【0031】
この画像処理コントローラ11では、フラッシュメモリなどのメモリ14内に複数の検査設定データ15が保持されている。各検査設定データ15は、処理手順や検査内容が異なる制御プログラムからなり、ユーザ操作に基づいて実行対象とする検査設定データ15を変更することができる。
【0032】
PC2では、通信ネットワーク3によって接続されている画像処理コントローラ11から検査設定データ15を取得して編集する動作が行われる。
【0033】
<エディタ画面>
図3は、図2の検査支援システム100におけるPC2の動作の一例を示した図であり、検査設定データ22を作成するためのエディタ画面40が示されている。エディタ画面40は、PC2上で検査設定データを新たに作成し、或いは、画像処理コントローラ11から取得した検査設定データを編集するための編集画面であり、PC2上に表示される。
【0034】
このエディタ画面40は、それぞれ表示位置や表示範囲が変更可能な複数のウィンドウ画面からなる。具体的には、システムビューウィンドウ41、パーツリストウィンドウ42、ユニットプロパティウィンドウ43、ビジョンビューウィンドウ44及びリザルトビューウィンドウ45からなる。
【0035】
システムビューウィンドウ41は、システム構成や編集対象とする検査設定データを一覧表示するためのウィンドウ画面であり、コントローラ一覧画面41a及びワークスペース一覧画面41bからなる。
【0036】
コントローラ一覧画面41aは、PC2に接続されている画像処理コントローラ11を一覧表示するための画面であり、画像処理コントローラ11を示すアイコンや、画像処理コントローラ11内に保持されている検査設定データ15を示すアイコンが表示されている。
【0037】
画像処理コントローラ11や検査設定データ15を示す各アイコンは、ツリー形式で表示されている。すなわち、画像処理コントローラ11を上階層とし、この画像処理コントローラ11内に保持されている検査設定データ15を下階層として、検査設定データ15がどの画像処理コントローラ11に保持されているのかが識別可能なように表示されている。
【0038】
ワークスペース一覧画面41bは、編集対象とする検査設定データを一覧表示するための画面であり、画像処理コントローラ11ごとに設けられるメモリ21上の作業領域を示すアイコンや、検査設定データを示すアイコンが表示されている。画像処理コントローラ11ごとに設けられるメモリ21上の作業領域は、該当する画像処理コントローラ11に関連付けられており、ワークスペースとして表示されている。つまり、PC2上には、検査設定データが画像処理コントローラ11ごとに保持され、画像処理コントローラ11ごとのワークスペースにおいて編集が行われる。
【0039】
この様な作業領域を示すアイコンや検査設定データを示すアイコンは、ツリー形式で表示されている。すなわち、画像処理コントローラ11に対応するワークスペースを上階層とし、このワークスペース内の検査設定データを下階層として、検査設定データがどのワークスペースに存在するのかが識別可能なように表示されている。
【0040】
コントローラ一覧画面41aの見出し欄に配置されている更新ボタン(アイコン)を操作すれば、画像処理コントローラ11から新たに検査設定データが取得され、PC2上に保持されている検査設定データやシステム構成が最新のものに更新される。また、登録ボタンを操作すれば、PC2上で作成された検査設定データが画像処理コントローラ11に転送される。
【0041】
ワークスペース一覧画面41bの見出し欄に配置されている更新ボタン(アイコン)を操作すれば、画像処理コントローラ11から取得された検査設定データによって、編集対象とする検査設定データが更新される。また、追加ボタンを操作すれば、新たな作業領域が設けられ、検査設定データを示すアイコンが追加される。
【0042】
パーツリストウィンドウ42は、検査設定データを作成する際に選択可能な処理ユニットをユニット一覧として表示するためのウィンドウ画面である。処理ユニットは、パラメータが変更可能な処理を示すシンボルであり、画像処理を示す画像処理ユニット、撮像処理を示す撮像ユニット、フロー制御処理を示す制御ユニット、及び、出力処理を示す出力ユニットなどが処理ユニットとして設けられている。この様な処理ユニットを後述するフロービューウィンドウ内のフローチャート上に配置することによって、所望のフローシーケンスからなる制御プログラムが作成される。
【0043】
パーツリストウィンドウ42内には、複数の処理ユニットが表示される。この例では、処理の種類によって処理ユニットが8つのカテゴリーに区分され、各カテゴリーを示すアイコンが表示されている。具体的には、「画像入力」、「計測」、「制御」、「演算」、「タイミング」、「表示」、「出力」及び「コマンド出力」のカテゴリーに区分されている。
【0044】
「画像入力」は、撮像に関する処理ユニットが属するカテゴリーであり、カメラ画像を取り込む撮像ユニットが属している。撮像ユニットは、撮像トリガ信号に基づいて、画像処理用のカメラ画像を取得する処理ユニットである。撮像トリガ信号には、PLCなどの外部機器から撮像トリガ入力端子を介して入力される入力信号、及び、画像処理コントローラ11内で生成される内部トリガ信号を用いることができる。この様な撮像ユニットには、シャッタースピード、カメラ感度、フラッシュ遅延時間、フラッシュオン時間、撮像対象カメラ、フラッシュ端子及びトリガ端子を指定するためのパラメータがプロパティとして関連付けられている。
【0045】
「計測」は、計測に関する処理ユニットが属するカテゴリーであり、撮像ユニットによって取得されたカメラ画像から計測結果を抽出し、この計測結果に基づいて検査対象物の良否を判定する計測ユニットが属している。この様な計測ユニットには、パターンサーチユニット、エッジ位置検出ユニット、ブロブ検出ユニット、色検査ユニットなどの画像処理ユニットが属している。
【0046】
パターンサーチは、カメラ画像上のサーチ領域内を走査して予め登録されたパターン画像と一致する位置を検出する処理である。エッジ位置検出は、カメラ画像上の計測領域について、検出方向に垂直な方向の平均濃度を求め、検出方向の濃度変化からエッジの位置を検出する処理である。
【0047】
ブロブ検出は、カメラ画像を2値化し、同一濃度を有する画素の塊をブロブとして抽出して、計測領域内に存在するブロブの数、面積、重心位置を検出する処理である。色検査は、検査領域内の色を測定する処理であり、色に対応する数値が計測結果として抽出される。
【0048】
この様な計測に関する画像処理では、検査対象物の形状、サイズ、カメラ画像内における位置などが検知され、その計測値が画像処理結果として出力される。また、計測値と、ユーザが予め指定したパラメータとを比較し、この比較結果に基づいて検査対象物の良否、例えば、不具合や異常の有無を判定し、その判定結果が画像処理結果として出力される。また、計測領域や、検知された検査対象物の位置などをグラフィカルに示すシンボルを埋め込んだカメラ画像が生成され、画像処理結果として出力される。
【0049】
「制御」は、制御に関する処理ユニットが属するカテゴリーであり、繰返しユニット、バイパスユニット、エンドシンボルなどの制御ユニットが属している。繰返しユニットは、実行フローを繰り返す際の始点を示す繰返し開始ユニットと、終点を示す繰返し終了ユニットとからなる処理ユニットであり、所定の条件が満たされるまで開始ユニット及び終了ユニット間の実行フローを繰り返させる処理を示す。
【0050】
バイパスユニットは、実行フローを2以上の枝フローに分岐させる分岐ユニットと、この分岐ユニットによって分岐された枝フローを合流させる合流ユニットとからなる処理ユニットであり、所定の条件で実行フローを分岐させる処理を示す。エンドシンボルは、1回のフローシーケンスを終了させるための表示オブジェクトである。
【0051】
「演算」は、演算に関する処理ユニットが属するカテゴリーであり、数値演算ユニット及び位置補正ユニットの画像処理ユニットが属している。「タイミング」は、フロー遷移のタイミング制御に関する処理ユニットが属するカテゴリーであり、タイマー待ちユニット、イベント待ちユニットなどの制御ユニットが属している。タイマー待ちユニットは、所定時間だけフロー遷移を停止させる処理を示す待ちユニットである。イベント待ちユニットは、端子入力や変数値が所定の状態となるまでフロー遷移を停止させる処理を示す待ちユニットである。
【0052】
「表示」は、表示に関する処理ユニットが属するカテゴリーであり、グラフィック表示ユニットなどの画像処理ユニットが属している。グラフィック表示ユニットは、他の処理ユニットを参照し、当該処理ユニットの処理結果をグラフィカルに表示する処理を示す。
【0053】
「出力」は、出力に関する処理ユニットが属するカテゴリーであり、端子出力ユニット、結果出力ユニット、画像出力ユニットなどの出力ユニットが属している。端子出力ユニットには、参照先ユニット、判定結果及び判定結果の出力先端子を指定するためのパラメータがプロパティとして関連付けられている。結果出力ユニットには、参照先ユニット、処理結果を示す数値データ、数値データを出力する際のデータ形式(テキスト形式又はバイナリ形式)、及び、数値データの出力先を指定するためのパラメータがプロパティとして関連付けられている。画像出力ユニットには、参照先ユニット、カメラ画像、画像データを出力する際のデータ形式、及び、画像データの出力先を指定するためのパラメータがプロパティとして関連付けられている。
【0054】
「コマンド出力」は、コマンド出力に関する処理ユニットが属するカテゴリーであり、コマンド発行ユニット、表示パターン切替ユニット及びダイアログ表示ユニットの出力ユニットが属している。コマンド発行ユニットは、画像登録、検査設定の切替え、リセットなどのコマンドを発行する処理を示す。
【0055】
ユニットプロパティウィンドウ43は、コントローラ一覧画面41a、ワークスペース一覧画面41b又はフロービューウィンドウ上で選択された処理ユニットのプロパティを表示するためのウィンドウ画面である。
【0056】
ビジョンビューウィンドウ44は、コントローラ一覧画面41a、ワークスペース一覧画面41b又はフロービューウィンドウ上で選択された処理ユニットに関連付けられているカメラ画像を表示するためのウィンドウ画面である。
【0057】
リザルトビューウィンドウ45は、コントローラ一覧画面41a、ワークスペース一覧画面41b又はフロービューウィンドウ上で選択された処理ユニットのパラメータと、シミュレーション結果とを表示するためのウィンドウ画面である。
【0058】
このエディタ画面40では、システムビューウィンドウ41の下部に配置されているフロービューボタン41cを操作すれば、上述したシステムビューウィンドウ41に代えて、フロービューウィンドウを表示させることができる。フロービューウィンドウは、画像処理コントローラ11に実行させる処理手順をフローチャートとして表示するウィンドウ画面であり、ワークスペース一覧画面41b上で選択された検査設定データが表示される。
【0059】
また、リザルトビューウィンドウ45の下部に配置されている抽出一覧ボタン45aを操作すれば、リザルトビューウィンドウ45に代えて、抽出一覧ウィンドウを表示させることができる。抽出一覧ウィンドウは、リザルトビューウィンドウ45上で選択されたパラメータ及び処理結果を抽出して処理ユニットごとの抽出結果を一覧表示するためのウィンドウ画面である。
【0060】
<フロービューウィンドウ>
図4は、図2の検査支援システム100におけるPC2の動作の一例を示した図であり、フロービューウィンドウ46が表示されたエディタ画面40が示されている。フロービューウィンドウ46は、検査設定データの制御プログラムを新たに作成し、或いは、画像処理コントローラ11から取得した制御プログラムを編集するために、処理手順を示すフローチャート47を表示するウィンドウ画面である。
【0061】
フロービューウィンドウ46には、複数の処理ユニット48を配列することによって構成されたフローチャート47が表示されている。フローチャート47には、スタートシンボル「S」において開始し、エンドシンボル「E」において終了する実行フロー上で時系列に実行される処理ユニットが表されている。ユーザは、この様な実行フロー上に処理ユニット48を配置することによって所望の制御プログラムを構成することができる。
【0062】
つまり、画像処理コントローラ11に行わせる一連の画像処理は、処理ユニットとしてブロック化されており、ユーザは、処理ユニットをフロービューウィンドウ46内の実行フロー上に配置するだけで、当該処理ユニットが直前の処理ユニットの処理結果に基づいて所定の処理を行うフローシーケンスを作成することができる。
【0063】
フロービューウィンドウ46の下部に配置されているシステムビューボタン46aを操作すれば、このフロービューウィンドウ46に代えて、システムビューウィンドウ41を表示させることができる。
【0064】
フロービューウィンドウ46上で選択されている処理ユニットは、フォーカス表示され、ユニットプロパティウィンドウ43内にそのプロパティが表示される。ユニットプロパティウィンドウ43内には、編集ボタン43aが配置され、編集ボタン43aを操作すれば、処理ユニットのプロパティを編集するためのプロパティ編集画面が表示される。プロパティ編集画面は、ユーザ操作に基づいて処理ユニットのパラメータを指定し、或いは、既に指定されているパラメータを変更するための編集画面である。
【0065】
<フローチャート>
図5は、図2の検査支援システム100におけるPC2の動作の一例を示した図であり、フロービューウィンドウ46内のフローチャート47の一例が示されている。このフローチャート47は、スタートシンボル61aで開始し、エンドシンボル61bで終了する実行フロー上に複数の処理ユニットが配置されている。
【0066】
フロービューウィンドウ46上でフローチャート47を作成編集する場合、パーツリストウィンドウ42を用いて作業が行われる。例えば、フローチャート47内に処理ユニットを挿入する際には、パーツリストウィンドウ42上で所望の処理ユニットを選択し、マウスポインタなどで実行フロー上の位置を指定することによって挿入される。
【0067】
この例では、フローチャート47が、分岐ユニット62a、撮像ユニット、色検査ユニット、数値演算ユニット、合流ユニット62b、ブロブ検出ユニット、繰返し開始ユニット65a、エッジ位置検出ユニット、パターンサーチユニット、繰返し終了ユニット65b及びグラフィック表示ユニットをこの順序で実行フロー上に配置することによって構成されている。
【0068】
分岐ユニット62a及び合流ユニット62bは、バイパスユニットを構成する制御ユニットであり、実行フロー上にバイパスユニットを挿入する際には、常に分岐ユニット62a及び合流ユニット62bを対にして挿入される。分岐ユニット62aでは、直前の処理ユニットの計測結果や判定結果に基づいて、分岐後の枝フローを択一的に選択する処理が行われる。分岐後の枝フローのいずれを選択するかという条件は、分岐ユニット62aのパラメータとして、ユーザが指定する。
【0069】
この例では、スタートシンボル61aからの実行フローが分岐ユニット62aにより2つの枝フロー63に分岐され、この分岐ユニット62aで分岐された枝フローが合流ユニット62bにおいて合流されている。その際、一方の枝フロー63は、撮像ユニット、色検査ユニット及び数値演算ユニットを経て合流ユニット62bに達しているのに対して、他方の枝フロー63は、撮像ユニットを経て合流ユニット62bに達するバイパス経路(迂回路)となっている。
【0070】
繰返し開始ユニット65a及び繰返し終了ユニット65bは、繰返しユニットを構成する制御ユニットであり、実行フロー上に繰返しユニットを挿入する際にも、繰返し開始ユニット65a及び繰返し終了ユニット65bを対にして挿入される。
【0071】
この例では、繰返し開始ユニット65a及び繰返し終了ユニット65b間にエッジ位置検出ユニット及びパターンサーチユニットが配置されており、実行時にはエッジ位置検出ユニット及びパターンサーチユニットの処理が繰り返される。
【0072】
フローチャート47内の分岐ユニット62a及び繰返し開始ユニット65aには、折畳みアイコン64aが配置されている。この折畳みアイコン64aは、制御ユニット間の実行フローを省略してフローチャート47を表示させるためのアイコンであり、処理ユニットに隣接させて表示される。
【0073】
また、フローチャート47上で選択されている処理ユニットは、フォーカス表示され、ユニットプロパティウィンドウ43内に当該処理ユニットのプロパティを表示させ、或いは、編集対象として当該処理ユニットのプロパティを変更することができる。
【0074】
<エディタの機能構成>
図6は、図2の検査支援システム100におけるPC2の構成例を示したブロック図であり、画像処理コントローラ11の制御プログラムを作成するエディタの機能構成の一例が示されている。このPC2は、メモリ21、処理ユニット記憶部23、フローチャート生成部24、プログラム生成部25、通信部26、操作入力部27、トレースログ制御部28、ログ収集条件決定部29、ログ表示部30、ジャンプ先ユニット選択欄表示部31及びカーソル移動部32により構成される。
【0075】
処理ユニット記憶部23には、撮像ユニットや計測ユニットなどの処理ユニットが保持されている。フローチャート生成部24は、スタートシンボルにおいて開始し、エンドシンボルにおいて終了する実行フロー上に処理ユニットを配置することによってフローチャート47を生成する動作を行っている。このフローチャート47は、エディタ画面40のフロービューウィンドウ46内に表示される。
【0076】
プログラム生成部25は、ユーザがフロービューウィンドウ46上で作成したフローチャート47を実行形式に変換することにより、画像処理コントローラ11の制御プログラムを生成する動作を行っている。
【0077】
メモリ21には、プログラム生成部25により生成された制御プログラムが検査設定データ22として保持される。通信部26は、メモリ21内の検査設定データ22を画像処理コントローラ11へ転送する動作を行っている。操作入力部27は、キーボード上の操作キーの操作、或いは、マウスなどのポインティングデバイスの操作に基づいて、所定の入力信号を出力する動作を行っている。
【0078】
トレースログ制御部28は、画像処理コントローラ11に実行ログを収集させ、収集された実行ログを画像処理コントローラ11から読み出す動作を行っている。実行ログは、制御プログラムの実行時における端子状態を時系列に示すデータである。画像処理コントローラ11では、入力端子又は出力端子を介して外部機器との間で入力又は出力される信号の信号状態が実行ログとしてサンプリングされる。例えば、通信部26を介して画像処理コントローラ11へログ収集の開始コマンドを送信することにより、端子状態のサンプリングが開始され、トレースログ(trace log)として保持される。
【0079】
ここでは、ログ収集の方法として、「トリガなしモード」及び「イベントトリガモード」があり、選択可能であるものとする。「トリガなしモード」は、画像処理コントローラ11に対して、収集開始及び終了を指示して実行ログを収集させる方法である。一方、「イベントトリガモード」は、画像処理コントローラ11に対して収集開始のみ指示し、所定の条件(以下、トリガ条件と呼ぶ)が成立した場合に実行ログの収集を自動的に終了させる方法である。
【0080】
ログ収集条件決定部29は、画像処理コントローラ11が実行ログを収集する際の収集条件を決定する動作を行っている。具体的には、実行ログの収集対象、ログ収集の方法、トリガ条件などが収集条件として決定される。
【0081】
ログ表示部30は、トレースログ制御部28が通信部26を介して画像処理コントローラ11から取得した実行ログをエディタ画面40上に表示する動作を行っている。実行ログは、例えば、エディタ画面40上のログビューウィンドウ内にタイムスケールに対応付けて表示される。
【0082】
ジャンプ先ユニット選択欄表示部31は、カーソルの移動先の処理ユニットを選択するための選択欄をログビューウィンドウ内に表示する動作を行っている。カーソル移動部32は、この選択欄において選択された処理ユニットの位置までカーソルを実行ログ上でジャンプさせる処理を行っている。このカーソルは、実行ログ上で選択されている位置を示す表示オブジェクトであり、例えば、選択線として表示される。
【0083】
<トレースログ条件設定画面>
図7は、図2の検査支援システム100におけるPC2の動作の一例を示した図であり、トレースログの収集条件を定めるためのログ条件設定画面70が示されている。ログ条件設定画面70は、画像処理コントローラ11が実行ログを収集する際の収集条件を指定するためのウィンドウ画面であり、エディタ画面40上に表示される。
【0084】
このログ条件設定画面70には、共通設定に関する入力欄71と、個別設定に関する入力欄とが設けられている。入力欄71には、トリガ条件の指定方法の選択欄と、トリガ条件成立後のログ収集の終了方法の選択欄とが設けられている。
【0085】
トリガ条件の指定方法の選択欄では、複数の条件の論理積をトリガ条件とするか、或いは、論理和をトリガ条件とするかのいずれかを選択することができる。論理積をトリガ条件として選択した場合には、複数の条件の全てが成立すると、トリガ条件成立となる。一方、論理和を選択した場合には、複数の条件のいずれかが成立すると、トリガ条件成立となる。
【0086】
トリガ条件成立後のログ収集の終了方法の選択欄では、トリガ条件が成立してからログ収集を終了させるまでの時間又は計測回数を指定することができる。
【0087】
個別設定に関する入力欄には、ユニット設定タブ72及び端子設定タブ73が設けられており、これらのタブを操作することによって、処理ユニットの設定欄又は入出力端子の設定欄のいずれかが選択的に表示される。この図では、ユニット設定タブ72を操作することによって処理ユニットの設定欄が選択された場合が示されている。
【0088】
処理ユニットの設定欄には、実行ログの収集対象を選択するための選択欄81と、トリガ種別の選択欄82と、処理ユニットを指定するための入力欄83と、タイミングの選択欄84と、オプション設定に関する入力欄とが設けられている。
【0089】
トリガ種別の選択欄82は、ログ収集の方法を指定するための入力欄であり、「トリガなしモード」、「エッジトリガモード」又は「レベルトリガモード」のいずれかを選択することができる。
【0090】
「エッジトリガモード」は、エッジトリガ入力端子として予め指定された入力端子からの入力信号、処理ユニットの処理開始又は処理終了に同期してログ収集を終了させるイベントトリガモードである。「レベルトリガモード」は、2つのイベントトリガ信号に基づいてログ収集を終了させるイベントトリガモードであり、イベントトリガ信号の入力端子として予め指定された入力端子の状態変化によってログ収集が停止される。具体的には、2つのイベントトリガ信号の論理積を参照し、一方のトリガ信号がオン状態である場合に、他方のトリガ信号におけるオン状態への遷移に同期してログ収集が終了される。つまり、2つのトリガ信号がいずれもオン状態(例えば、信号状態がハイレベルである状態)となった場合に、ログ収集が終了される。
【0091】
入力欄83は、イベントトリガモードの選択時にトリガ条件の対象とする処理ユニットを指定するための入力欄であり、「全て」又は「指定あり」のいずれかを選択することができる。タイミングの選択欄84は、エッジトリガモードが選択され、さらに、入力欄83で処理ユニットが指定されている場合に、当該処理ユニットの処理に同期してログ収集を終了させる際のタイミングを選択するための入力欄であり、処理開始、処理終了、或いは、開始及び終了のいずれかを選択することができる。
【0092】
オプション設定に関する入力欄は、トリガ条件を付加的に指定するための入力欄であり、判定値の選択欄85aと、ユニットエラーの選択欄85bと、処理時間の下限の入力欄86a及び上限の入力欄86bとが設けられている。
【0093】
判定値の選択欄85aは、処理ユニットにおける検査対象物の良否の判定結果をトリガ条件として指定するための入力欄であり、「OK」又は「NG」のいずれかを選択することができる。
【0094】
ユニットエラーの選択欄85bは、計測ユニットにおけるユニットエラーをトリガ条件として指定するための入力欄である。ユニットエラーは、計測値のオーバーフロー(桁あふれ)やパラメータの設定エラーであり、これらのエラーの発生をトリガ条件とするものである。
【0095】
処理時間の入力欄86a,86bは、処理ユニットにおける処理開始から処理終了までの時間をトリガ条件として指定するための入力欄であり、当該時間が入力欄86a,86bで指定された範囲を越えると、トリガ条件成立となる。
【0096】
図8は、図2の検査支援システム100におけるPC2の動作の一例を示した図であり、端子設定タブ73を操作することによって入出力端子の設定欄が選択された場合が示されている。この入出力端子の設定欄には、実行ログの収集対象として選択可能な入力端子及び出力端子が一覧表示されている。
【0097】
各端子には、物理端子名、論理端子名、トリガ種別、端子の値などの属性情報が表示されている。トリガ種別には、エッジトリガやレベルトリガの入力端子に指定されているか否かが示されている。端子の値には、トリガ条件とする端子状態又は端子の状態変化が示されている。
【0098】
<実行ログ収集>
図9は、図2の検査支援システム100における画像処理コントローラ11の構成例を示したブロック図である。この画像処理コントローラ11は、メモリ14、通信部51、プログラム実行部52、撮像トリガ入力端子53、イベントトリガ入力端子54、出力端子55、ログ収集部56及び実行ログ記憶部57により構成される。メモリ14は、PC2から転送された検査設定データ15を保持する制御プログラムの記憶手段である。
【0099】
プログラム実行部52は、メモリ14内に検査設定データ15として保持されている制御プログラムを読み出して実行し、一連の画像処理を行う処理部である。このプログラム実行部52では、カメラ画像を取得する際の取得サイクルを計測周期として、制御プログラムが繰返し実行される。
【0100】
制御プログラムを繰返し実行する際の周期(計測周期)は、当該制御プログラムに対応するフローチャート47によって規定されるものとする。すなわち、フローチャート47上のスタートシンボル(ユニット)からエンドシンボルまでのフローシーケンスを1周期分の画像処理として、計測周期が定められる。従って、フローチャート47上に1つの撮像ユニットが配置されている場合には、1つのカメラ画像を計測対象として取得するごとに、カメラ画像に基づいて1回の計測が行われ、当該カメラ画像から計測結果が抽出されることとなる。
【0101】
撮像ユニットの実行時には、撮像トリガ入力端子53からの入力信号に基づいて、カメラ12からカメラ画像を取得する処理が行われる。
【0102】
メモリ14内に複数の検査設定データ15が保持されている場合には、ユーザが実行対象として選択指定した検査設定データに基づいて画像処理が行われる。
【0103】
ログ収集部56は、制御プログラムの実行時に、撮像トリガ入力端子53やイベントトリガ入力端子54などの入力端子及び出力端子55の端子状態をサンプリングし、端子状態を時系列に示す実行ログとして保持する動作を行っている。具体的には、端子状態の変化によって割込み処理を発生させ、この割込み処理によって実行ログが取り込まれる。この様なログ収集は、PC2からのログ収集開始コマンドに基づいて開始され、収集した実行ログは、処理ユニットに関連付けて実行ログ記憶部57内に格納される。
【0104】
このログ収集部56によって抽出される実行ログには、処理ユニットの処理開始及び処理終了を示す時刻情報と、検査対象物の良否の判定結果を示す計測ユニットごとの判定結果情報とが含まれる。つまり、実行ログには、フローチャート47上の処理ユニットを単位とする処理に要する時間が含まれている。
【0105】
また、ログ収集の対象とする制御プログラムが分岐ユニットを含む場合には、分岐ユニットによる分岐先を示す分岐先情報が実行ログに含まれる。
【0106】
ログ収集の終了方法は、実行ログの収集条件として、トリガなしモード又はイベントトリガモードのいずれが選択されているかによって異なる。すなわち、トリガなしモードでは、PC2からの終了コマンドに基づいて終了される。
【0107】
イベントトリガモードでは、イベントトリガ入力端子54として指定された入力端子からの入力信号に基づいて終了される。具体的には、エッジトリガモードの場合、入力端子からの入力信号や、処理ユニットの処理開始又は処理終了に同期してログ収集が終了される。レベルトリガモードの場合には、イベントトリガ入力端子54として指定された2つの入力端子からの入力信号の論理積が参照され、一方の入力信号がオン状態であるときに、他方の入力信号におけるオン状態への遷移に同期してログ収集が終了される。
【0108】
また、トリガ条件として、処理ユニットの判定値、ユニットエラー又は処理時間が指定されている場合には、これらの設定値に基づいてログ収集が終了される。すなわち、計測ユニットにおける検査対象物の良否の判定結果に応じて、ログ収集が終了される。また、処理ユニットにおける処理開始から処理終了までの時間が所定範囲内にあるか否かに応じて、ログ収集が終了される。また、計測ユニットにおける計測値のオーバーフロー又はパラメータの設定エラーが発生したか否かに応じて、ログ収集が終了される。
【0109】
通信部51は、PC2からの転送要求に基づいて、実行ログ記憶部57内の実行ログをPC2へ転送する動作を行っている。
【0110】
<ログビューウィンドウ>
図10及び図11は、図2の検査支援システム100におけるPC2の動作の一例を示した図であり、エディタ画面40上に表示されるログビューウィンドウ90が示されている。ログビューウィンドウ90は、画像処理コントローラ11から取得した実行ログを表示するためのウィンドウ画面である。
【0111】
このログビューウィンドウ90には、収集開始ボタン91、収集終了ボタン92、実行ログの表示欄94、ジャンプ先ユニットの選択欄95、カーソル移動ボタン96、スケールの選択欄97及びログ条件設定画面の表示ボタン98が配置されている。
【0112】
収集開始ボタン91は、ログ収集を開始するための操作アイコンであり、収集開始ボタン91を操作することによって、画像処理コントローラ11へ開始コマンドが送信され、ログ収集を開始させることができる。収集終了ボタン92は、画像処理コントローラ11から実行ログを読み出すための操作アイコンである。
【0113】
表示欄94は、実行ログをタイムスケールに対応付けて表示するための表示欄であり、最上段に時間軸を示すタイムスケールが配置され、入力端子及び出力端子の端子状態104が処理ユニット103、フロー(計測周期)102及び検査設定101に対応付けて表示されている。
【0114】
具体的には、ログ種別93aとして、検査設定101、フロー102、処理ユニット103及び端子状態104があり、各ログ種別についての実行ログが一覧表示されている。端子状態104には、論理端子名が表示されている。
【0115】
フロー102には、フローシーケンスがいつ開始して、いつ終了したかが計測回数に関連付けて表示されている。処理ユニット103には、フローシーケンスを構成している各処理ユニットがいつ開始して、いつ終了したかが処理ユニットの識別情報に関連付けて表示されている。端子状態104には、入力端子又は出力端子を介して入力又は出力される信号の信号状態がハイ(Hi)又はロー(Low)の2値で表示されている。
【0116】
ジャンプ先ユニットの選択欄95は、カーソル110の移動先の処理ユニットを選択するための入力欄である。カーソル移動ボタン96は、カーソル110をジャンプさせるための操作アイコンであり、カーソル移動ボタン96を操作することによって、選択欄95で選択された処理ユニットの位置までカーソル110を移動させることができる。
【0117】
カーソル110は、実行ログ上で選択されている位置を示す表示オブジェクトであり、選択線として表示される。選択値表示欄93bには、カーソル110上のフロー、処理ユニット、端子状態が表示される。
【0118】
スケールの選択欄97は、実行ログを表示させる際の時間軸方向のスケールを選択するための入力欄である。図10には、この様なスケールとして5msec/1目盛りが選択されている場合が示され、図11には、0.5msec/1目盛りが選択されている場合が示されている。
【0119】
一般に、撮像ユニットは、撮像トリガ信号の入力待ちや、画像データの転送に時間を要するので、計測ユニットなどの他の処理ユニットに比べて処理時間が長い。このため、実行ログ上で撮像ユニットが占める割合は、他の処理ユニットに比べて大きい。この様な状況では、方向キーを操作してカーソル110を移動させるのに比べて、カーソル移動ボタン96の操作によってカーソル110をジャンプさせられるので、極めて便利である。
【0120】
ログ条件設定画面の表示ボタン98は、ログ条件設定画面70を表示するための操作アイコンであり、表示ボタン98を操作することによって、ログ条件設定画面70をログビューウィンドウ90上に表示させることができる。
【0121】
<イベントトリガモード>
図12(a)及び(b)は、図2の検査支援システム100における画像処理コントローラ11の動作の一例を示したタイミングチャートであり、イベントトリガモードにおけるログ収集の終了時の様子が示されている。図12(a)には、エッジトリガモードの場合が示され、図12(b)には、レベルトリガモードの場合が示されている。
【0122】
エッジトリガモードでは、エッジトリガ入力端子として予め指定された入力端子からの入力信号(トリガ信号)に同期してログ収集が終了される。すなわち、ローレベルからハイレベルへのトリガ信号の状態変化(立ち上がり)に同期してログ収集が終了される。
【0123】
一方、レベルトリガモードでは、2つのイベントトリガ信号の論理積が参照され、一方の入力信号がオン状態であるときに、他方の入力信号におけるオン状態への遷移に同期してログ収集が終了される。
【0124】
この例では、レベルトリガ用に2つの入力端子A1,A2が指定され、一方の入力端子A1について、トリガ条件成立の判別用パラメータとして論理値「1」が設定され、他方の入力端子A2について、判別用パラメータ「立ち上がり」が設定されている。この場合、入力端子A1からの入力信号「トリガ信号1」がオン状態であるときに、入力端子A2からの入力信号「トリガ信号2」がオン状態へ遷移すれば、このオン状態への立ち上がりに同期してログ収集が終了される。つまり、トリガ信号1がオン状態であるときに、ローレベルからハイレベルにトリガ信号2の状態が変化した場合にだけ、ログ収集が終了され、トリガ信号1がオフ状態のときに、トリガ信号2の状態が変化してもログ収集は終了されない。
【0125】
なお、本実施の形態では、PC2と画像処理コントローラ11とが通信ネットワークを介して接続され、ログ収集部56が収集した実行ログが通信ネットワークを介して画像処理コントローラ11からPC2へ転送される場合の例について説明したが、本発明はこれに限られるものではない。例えば、ログ収集部56が収集した実行ログを画像処理コントローラ11においてメモリカードに書き込むようなものであっても良い。メモリカードは、フラッシュメモリなどの書換え可能な不揮発性の半導体記憶素子からなる着脱可能な記録媒体であり、実行ログが書き込まれたメモリカードをPC2に装着することによって、PC2上で実行ログを解析することができる。より詳しくは、画像処理コントローラ11において、予め設定されたイベントトリガ条件に基づいてログ収集を行い、収集した実行ログをメモリカードに保存する。そして、終了条件の成立によってログ収集が終了した後、メモリカードを画像処理コントローラ11から離脱させる。PC2では、この様なメモリカードを装着することによって、実行ログをログビューウィンドウ90上に表示し、実行ログの解析が行われる。
【0126】
本実施の形態によれば、実行ログが処理ユニットに関連付けて保持されるので、実行ログと処理ユニットごとの処理とを関連付けて実行ログを解析することができる。特に、実行ログが処理ユニットの処理開始及び処理終了を示す時刻情報を含むので、処理ユニットごとの処理がどのような順序で実行されたのか、及び、各処理がいつ開始していつ終了したのかを判別し易くすることができる。例えば、分岐ユニットによる分岐後に、どの枝フローが実行されたのかを知ることができる。
【0127】
また、実行ログが計測ユニットごとの判定結果情報を含むので、一連の処理手順の途中の判定結果と端子状態とを関連付けて解析することができる。例えば、繰返しユニットによる繰返し途中の判定結果を知ることができる。
【図面の簡単な説明】
【0128】
【図1】本発明の実施の形態による検査支援システムの一構成例を示した斜視図である。
【図2】図1の検査支援システムのシステム構成の一例を示したブロック図である。
【図3】図2の検査支援システム100におけるPC2の動作の一例を示した図であり、検査設定データ22を作成するためのエディタ画面40が示されている。
【図4】図2の検査支援システム100におけるPC2の動作の一例を示した図であり、フロービューウィンドウ46が表示されたエディタ画面40が示されている。
【図5】図2の検査支援システム100におけるPC2の動作の一例を示した図であり、フロービューウィンドウ46内のフローチャート47の一例が示されている。
【図6】図2の検査支援システム100におけるPC2の構成例を示したブロック図であり、エディタの機能構成の一例が示されている。
【図7】図2の検査支援システム100におけるPC2の動作の一例を示した図であり、トレースログの収集条件を定めるためのログ条件設定画面70が示されている。
【図8】図2の検査支援システム100におけるPC2の動作の一例を示した図であり、入出力端子の設定欄が選択された場合が示されている。
【図9】図2の検査支援システム100における画像処理コントローラ11の構成例を示したブロック図である。
【図10】図2の検査支援システム100におけるPC2の動作の一例を示した図であり、5msec/1目盛りが選択されたログビューウィンドウ90が示されている。
【図11】図2の検査支援システム100におけるPC2の動作の一例を示した図であり、0.5msec/1目盛りのログビューウィンドウ90が示されている。
【図12】図2の検査支援システム100における画像処理コントローラ11の動作の一例を示したタイミングチャートであり、ログ収集の終了時の様子が示されている。
【符号の説明】
【0129】
1 画像処理装置
2 PC
3 通信ネットワーク
11 画像処理コントローラ
12 カメラ
13a ディスプレイ
13b 操作ユニット
14,21 メモリ
15,22 検査設定データ
16 プログラム実行部
23 処理ユニット記憶部
24 フローチャート表示部
25 プログラム生成部
26 プログラム転送部
27 操作入力部
40 エディタ画面
46 フロービューウィンドウ
47 フローチャート
48 処理ユニット
100 検査支援システム

【特許請求の範囲】
【請求項1】
検査対象物を撮影してカメラ画像を生成するカメラと、上記カメラから上記カメラ画像を取得して当該カメラ画像から計測結果を抽出し、この計測結果に基づいて上記検査対象物の良否を判定して判定信号を出力する画像処理コントローラと、上記画像処理コントローラの制御プログラムを作成するプログラム作成装置とからなる検査支援システムにおいて、
上記プログラム作成装置が、処理ユニットとして、撮像トリガ信号に基づいて上記カメラからカメラ画像を取得する撮像ユニット、及び、上記撮像ユニットによって取得された上記カメラ画像から計測結果を抽出する2以上の計測ユニットを保持する処理ユニット記憶手段と、
スタートシンボルにおいて開始し、エンドシンボルにおいて終了する実行フロー上に上記処理ユニットを配置することによってフローチャートを生成するフローチャート生成手段と、
上記フローチャートに基づいて、上記画像処理コントローラの制御プログラムを生成するプログラム生成手段と、
上記制御プログラムを上記画像処理コントローラへ転送するプログラム転送手段とを備え、
上記画像処理コントローラが、上記制御プログラムを保持するプログラム記憶手段と、
上記カメラ画像の取得サイクルを計測周期として、上記制御プログラムを繰返し実行するプログラム実行手段と、
上記制御プログラムの実行時における端子状態をサンプリングし、上記端子状態を時系列に示す実行ログとして保持するログ収集手段と、
上記実行ログを上記プログラム作成装置へ転送するログ転送手段とを備え、
上記ログ収集手段が、上記実行ログを上記処理ユニットに関連付けて保持することを特徴とする検査支援システム。
【請求項2】
上記実行ログが、上記処理ユニットの処理開始及び処理終了を示す時刻情報を含むことを特徴とする請求項1に記載の検査支援システム。
【請求項3】
上記実行ログが、上記検査対象物の良否の判定結果を示す上記計測ユニットごとの判定結果情報を含むことを特徴とする請求項1に記載の検査支援システム。
【請求項4】
上記処理ユニット記憶手段が、実行フローを2以上の枝フローに分岐させる分岐ユニットを処理ユニットとして保持し、
上記実行ログが、上記分岐ユニットによる分岐先を示す分岐先情報を含むことを特徴とする請求項1に記載の検査支援システム。
【請求項5】
上記ログ収集手段が、上記計測ユニットにおける上記検査対象物の良否の判定結果に基づいて、実行ログの収集を終了することを特徴とする請求項1に記載の検査支援システム。
【請求項6】
上記ログ収集手段が、上記処理ユニットにおける処理開始から処理終了までの時間に基づいて、実行ログの収集を終了することを特徴とする請求項1に記載の検査支援システム。
【請求項7】
上記ログ収集手段が、上記計測ユニットにおける計測値のオーバーフロー又はパラメータの設定エラーに基づいて、実行ログの収集を終了することを特徴とする請求項1に記載の検査支援システム。
【請求項8】
上記プログラム作成装置が、上記実行ログをタイムスケールに対応付けて編集画面上に表示するログ表示手段と、
上記処理ユニットを選択するための選択欄を表示するユニット選択欄表示手段と、
上記選択欄において選択された処理ユニットの位置までカーソルを上記実行ログ上でジャンプさせるカーソル移動手段とを備えたことを特徴とする請求項1に記載の検査支援システム。
【請求項9】
検査対象物を撮影してカメラ画像を生成するカメラと、上記カメラから上記カメラ画像を取得して当該カメラ画像から計測結果を抽出し、この計測結果に基づいて上記検査対象物の良否を判定して判定信号を出力する画像処理コントローラと、上記画像処理コントローラの制御プログラムを作成するプログラム作成装置とからなる検査支援システムであって、
上記プログラム作成装置が、処理ユニットとして、撮像トリガ信号に基づいて上記カメラからカメラ画像を取得する撮像ユニット、及び、上記撮像ユニットによって取得された上記カメラ画像から計測結果を抽出する2以上の計測ユニットを保持する処理ユニット記憶手段と、スタートシンボルにおいて開始し、エンドシンボルにおいて終了する実行フロー上に上記処理ユニットを配置することによってフローチャートを生成するフローチャート生成手段と、上記フローチャートに基づいて、上記画像処理コントローラの制御プログラムを生成するプログラム生成手段と、上記制御プログラムを上記画像処理コントローラへ転送するプログラム転送手段とを有する検査支援システムに用いられる上記画像処理コントローラにおいて、
上記制御プログラムを保持するプログラム記憶手段と、
上記カメラ画像の取得サイクルを計測周期として、上記制御プログラムを繰返し実行するプログラム実行手段と、
上記制御プログラムの実行時における端子状態をサンプリングし、上記端子状態を時系列に示す実行ログとして保持するログ収集手段と、
上記実行ログを上記プログラム作成装置へ転送するログ転送手段とを備え、
上記ログ収集手段が、上記実行ログを上記処理ユニットに関連付けて保持することを特徴とする画像処理コントローラ。

【図1】
image rotate

【図2】
image rotate

【図6】
image rotate

【図9】
image rotate

【図12】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図7】
image rotate

【図8】
image rotate

【図10】
image rotate

【図11】
image rotate


【公開番号】特開2009−123070(P2009−123070A)
【公開日】平成21年6月4日(2009.6.4)
【国際特許分類】
【出願番号】特願2007−298031(P2007−298031)
【出願日】平成19年11月16日(2007.11.16)
【出願人】(000129253)株式会社キーエンス (681)
【Fターム(参考)】