(57)【特許請求の範囲】
【請求項１】
検査対象物を撮影してカメラ画像を生成するカメラと、上記カメラから上記カメラ画像を取得して当該カメラ画像から計測結果を抽出し、この計測結果に基づいて上記検査対象物の良否を判定して判定信号を出力する画像処理コントローラと、上記画像処理コントローラの制御プログラムを作成するプログラム作成装置とからなる検査支援システムにおいて、
上記プログラム作成装置が、処理ユニットとして、撮像トリガ信号に基づいて上記カメラからカメラ画像を取得する撮像ユニット、及び、上記撮像ユニットによって取得された上記カメラ画像から計測結果を抽出する２以上の計測ユニットを保持する処理ユニット記憶手段と、
スタートシンボルにおいて開始し、エンドシンボルにおいて終了する実行フロー上に上記処理ユニットを配置することによってフローチャートを生成するフローチャート生成手段と、
上記フローチャートに基づいて、上記画像処理コントローラの制御プログラムを生成するプログラム生成手段と、
上記制御プログラムを上記画像処理コントローラへ転送するプログラム転送手段とを備え、
上記画像処理コントローラが、上記制御プログラムを保持するプログラム記憶手段と、
上記カメラ画像の取得サイクルを計測周期として、上記制御プログラムを繰返し実行するプログラム実行手段と、
上記制御プログラムの実行時における当該画像処理コントローラの端子状態をサンプリングし、２値からなる上記端子状態を時系列に示す実行ログとして保持するログ収集手段と、
上記実行ログを上記プログラム作成装置へ転送するログ転送手段とを備え、
上記ログ収集手段が、上記実行ログを上記処理ユニットに関連付けて保持することを特徴とする検査支援システム。
【請求項２】
上記実行ログが、上記処理ユニットの処理開始及び処理終了を示す時刻情報を含むことを特徴とする請求項１に記載の検査支援システム。
【請求項３】
上記実行ログが、上記検査対象物の良否の判定結果を示す上記計測ユニットごとの判定結果情報を含むことを特徴とする請求項１に記載の検査支援システム。
【請求項４】
上記処理ユニット記憶手段が、実行フローを２以上の枝フローに分岐させる分岐ユニットを処理ユニットとして保持し、
上記実行ログが、上記分岐ユニットによる分岐先を示す分岐先情報を含むことを特徴とする請求項１に記載の検査支援システム。
【請求項５】
上記ログ収集手段が、上記計測ユニットにおける上記検査対象物の良否の判定結果に基づいて、実行ログの収集を終了することを特徴とする請求項１に記載の検査支援システム。
【請求項６】
上記ログ収集手段が、上記処理ユニットにおける処理開始から処理終了までの時間に基づいて、実行ログの収集を終了することを特徴とする請求項１に記載の検査支援システム。
【請求項７】
上記ログ収集手段が、上記計測ユニットにおける計測値のオーバーフロー又はパラメータの設定エラーに基づいて、実行ログの収集を終了することを特徴とする請求項１に記載の検査支援システム。
【請求項８】
上記プログラム作成装置が、上記実行ログをタイムスケールに対応付けて編集画面上に表示するログ表示手段と、
上記処理ユニットを選択するための選択欄を表示するユニット選択欄表示手段と、
上記選択欄において選択された処理ユニットの位置までカーソルを上記実行ログ上でジャンプさせるカーソル移動手段とを備えたことを特徴とする請求項１に記載の検査支援システム。
【請求項９】
検査対象物を撮影してカメラ画像を生成するカメラと、上記カメラから上記カメラ画像を取得して当該カメラ画像から計測結果を抽出し、この計測結果に基づいて上記検査対象物の良否を判定して判定信号を出力する画像処理コントローラと、上記画像処理コントローラの制御プログラムを作成するプログラム作成装置とからなる検査支援システムであって、
上記プログラム作成装置が、処理ユニットとして、撮像トリガ信号に基づいて上記カメラからカメラ画像を取得する撮像ユニット、及び、上記撮像ユニットによって取得された上記カメラ画像から計測結果を抽出する２以上の計測ユニットを保持する処理ユニット記憶手段と、スタートシンボルにおいて開始し、エンドシンボルにおいて終了する実行フロー上に上記処理ユニットを配置することによってフローチャートを生成するフローチャート生成手段と、上記フローチャートに基づいて、上記画像処理コントローラの制御プログラムを生成するプログラム生成手段と、上記制御プログラムを上記画像処理コントローラへ転送するプログラム転送手段とを有する検査支援システムに用いられる上記画像処理コントローラにおいて、
上記制御プログラムを保持するプログラム記憶手段と、
上記カメラ画像の取得サイクルを計測周期として、上記制御プログラムを繰返し実行するプログラム実行手段と、
上記制御プログラムの実行時における当該画像処理コントローラの端子状態をサンプリングし、２値からなる上記端子状態を時系列に示す実行ログとして保持するログ収集手段と、
上記実行ログを上記プログラム作成装置へ転送するログ転送手段とを備え、
上記ログ収集手段が、上記実行ログを上記処理ユニットに関連付けて保持することを特徴とする画像処理コントローラ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、検査支援システム及び画像処理コントローラに係り、さらに詳しくは、検査対象物を撮影して得られるカメラ画像に基づいて判定信号を出力する画像処理コントローラの改良に関する。
【背景技術】
【０００２】
検査対象物を撮影して得られるカメラ画像を画像処理し、検査対象物の形状、位置、カメラ画像に基づく判定結果を示す判定信号などを処理結果として出力する画像処理コントローラには、一連の処理手順を変更可能なものが知られている（例えば、特許文献１）。通常、一連の処理手順をこの様な画像処理コントローラに実行させるための制御プログラムは、ＰＣ（パーソナルコンピュータ）などの情報処理端末上で動作するエディタ（ソフトウェア）を用いて作成される。ユーザは、作成した制御プログラムを画像処理コントローラに転送することにより、検査対象物に対して所望の検査を行うことができる。
【０００３】
一般に、上述した様なプログラム作成装置を用いて作成した制御プログラムによって画像処理コントローラを実際に動作させた場合に、所望の時間内に処理を完了できたのか、或いは、処理の実行タイミングと信号入力のタイミングとが適切であったのかなどを検証するには、実行ログを調べる必要がある。実行ログは、制御プログラムの実行時における端子状態を時系列に示すデータであり、入出力端子を介して外部機器との間で入出力される信号の信号状態が実行ログとして保持される。この様な実行ログを解析することにより、画像処理コントローラに要求される検査タクトに間に合うか否かや、処理のハンドリングが期待通りであるか否かを判断して制御プログラムを修正することができる。
【０００４】
しかしながら、従来の画像処理コントローラでは、制御プログラムの実行時にサンプリングした端子状態が、単に、実行ログとして、時刻情報に関連付けて保持される。このため、一連の処理手順を複数のユニットにブロック化して制御プログラムが作成されているような場合に、実行ログと、ユニットごとの処理との関連付けが容易ではなく、各処理がどのような順序で実行されたのか、各処理がいつ開始していつ終了したのかなどが判断しづらいという問題があった。
【特許文献１】特開平９−２８８５６８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上述した通り、従来の画像処理コントローラでは、一連の処理手順を複数のユニットにブロック化して制御プログラムが作成される場合に、実行ログとユニットごとの処理との関連付けが容易ではなく、各処理がどのような順序で実行されたのか、各処理がいつ開始していつ終了したのかが判断しづらいという問題があった。
【０００６】
本発明は、上記の事情に鑑みてなされたものであり、一連の処理手順を複数のユニットにブロック化して制御プログラムが作成される場合に、実行ログとユニットごとの処理との関連付けを容易化した検査支援システム及び画像処理コントローラを提供することを目的とする。特に、各処理がどのような順序で実行されたのか、及び、処理がいつ開始していつ終了したのかを判別し易くした画像処理コントローラを提供することを目的とする。また、処理ユニットに関連付けされた実行ログをタイムスケールに対応付けて編集画面上に表示させた際の操作性を向上させた検査支援システムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
第１の本発明による検査支援システムは、検査対象物を撮影してカメラ画像を生成するカメラと、上記カメラから上記カメラ画像を取得して当該カメラ画像から計測結果を抽出し、この計測結果に基づいて上記検査対象物の良否を判定して判定信号を出力する画像処理コントローラと、上記画像処理コントローラの制御プログラムを作成するプログラム作成装置とからなる検査支援システムであって、上記プログラム作成装置が、処理ユニットとして、撮像トリガ信号に基づいて上記カメラからカメラ画像を取得する撮像ユニット、及び、上記撮像ユニットによって取得された上記カメラ画像から計測結果を抽出する２以上の計測ユニットを保持する処理ユニット記憶手段と、スタートシンボルにおいて開始し、エンドシンボルにおいて終了する実行フロー上に上記処理ユニットを配置することによってフローチャートを生成するフローチャート生成手段と、上記フローチャートに基づいて、上記画像処理コントローラの制御プログラムを生成するプログラム生成手段と、上記制御プログラムを上記画像処理コントローラへ転送するプログラム転送手段とを備え、上記画像処理コントローラが、上記制御プログラムを保持するプログラム記憶手段と、上記カメラ画像の取得サイクルを計測周期として、上記制御プログラムを繰返し実行するプログラム実行手段と、上記制御プログラムの実行時における当該画像処理コントローラの端子状態をサンプリングし、２値からなる上記端子状態を時系列に示す実行ログとして保持するログ収集手段と、上記実行ログを上記プログラム作成装置へ転送するログ転送手段とを備え、上記ログ収集手段が、上記実行ログを上記処理ユニットに関連付けて保持するように構成される。
【０００８】
この検査支援システムでは、カメラ画像の取得サイクルを計測周期として、制御プログラムが繰返し実行され、制御プログラムの実行時における端子状態が実行ログとして保持される。その際、実行ログが処理ユニットに関連付けて保持されるので、実行ログと処理ユニットごとの処理とを関連付けて実行ログを解析することができる。
【０００９】
第２の本発明による検査支援システムは、上記構成に加え、上記実行ログが、上記処理ユニットの処理開始及び処理終了を示す時刻情報を含むように構成される。この様な構成によれば、実行ログが処理ユニットの処理開始及び処理終了を示す時刻情報を含むので、処理ユニットごとの処理がどのような順序で実行されたのか、及び、各処理がいつ開始していつ終了したのかを容易に判別することができる。
【００１０】
第３の本発明による検査支援システムは、上記構成に加え、上記実行ログが、上記検査対象物の良否の判定結果を示す上記計測ユニットごとの判定結果情報を含むように構成される。この様な構成によれば、実行ログが計測ユニットごとの判定結果情報を含むので、一連の処理手順の途中の判定結果と端子状態とを関連付けて解析することができる。
【００１１】
第４の本発明による検査支援システムは、上記構成に加え、上記処理ユニット記憶手段が、実行フローを２以上の枝フローに分岐させる分岐ユニットを処理ユニットとして保持し、上記実行ログが、上記分岐ユニットによる分岐先を示す分岐先情報を含むように構成される。この様な構成によれば、実行ログが分岐ユニットによる分岐先情報を含むので、分岐ユニットを含む制御プログラムの場合に、分岐ユニットによる分岐後にどの枝フローが実行されたのかを容易に判別することができる。
【００１２】
第５の本発明による検査支援システムは、上記構成に加え、上記ログ収集手段が、上記計測ユニットにおける上記検査対象物の良否の判定結果に基づいて、実行ログの収集を終了するように構成される。
【００１３】
第６の本発明による検査支援システムは、上記構成に加え、上記ログ収集手段が、上記処理ユニットにおける処理開始から処理終了までの時間に基づいて、実行ログの収集を終了するように構成される。
【００１４】
第７の本発明による検査支援システムは、上記構成に加え、上記ログ収集手段が、上記計測ユニットにおける計測値のオーバーフロー又はパラメータの設定エラーに基づいて、実行ログの収集を終了するように構成される。
【００１５】
第８の本発明による検査支援システムは、上記構成に加え、上記プログラム作成装置が、上記実行ログをタイムスケールに対応付けて編集画面上に表示するログ表示手段と、上記処理ユニットを選択するための選択欄を表示するユニット選択欄表示手段と、上記選択欄において選択された処理ユニットの位置までカーソルを上記実行ログ上でジャンプさせるカーソル移動手段とを備えて構成される。この様な構成によれば、選択欄において選択された処理ユニットの位置までカーソルを実行ログ上でジャンプさせるので、処理ユニットに関連付けされた実行ログをタイムスケールに対応付けて編集画面上に表示させた際の操作性を向上させることができる。
【００１６】
第９の本発明による画像処理コントローラは、検査対象物を撮影してカメラ画像を生成するカメラと、上記カメラから上記カメラ画像を取得して当該カメラ画像から計測結果を抽出し、この計測結果に基づいて上記検査対象物の良否を判定して判定信号を出力する画像処理コントローラと、上記画像処理コントローラの制御プログラムを作成するプログラム作成装置とからなる検査支援システムであって、上記プログラム作成装置が、処理ユニットとして、撮像トリガ信号に基づいて上記カメラからカメラ画像を取得する撮像ユニット、及び、上記撮像ユニットによって取得された上記カメラ画像から計測結果を抽出する２以上の計測ユニットを保持する処理ユニット記憶手段と、スタートシンボルにおいて開始し、エンドシンボルにおいて終了する実行フロー上に上記処理ユニットを配置することによってフローチャートを生成するフローチャート生成手段と、上記フローチャートに基づいて、上記画像処理コントローラの制御プログラムを生成するプログラム生成手段と、上記制御プログラムを上記画像処理コントローラへ転送するプログラム転送手段とを有する検査支援システムに用いられる。具体的には、上記制御プログラムを保持するプログラム記憶手段と、上記カメラ画像の取得サイクルを計測周期として、上記制御プログラムを繰返し実行するプログラム実行手段と、上記制御プログラムの実行時における当該画像処理コントローラの端子状態をサンプリングし、２値からなる上記端子状態を時系列に示す実行ログとして保持するログ収集手段と、上記実行ログを上記プログラム作成装置へ転送するログ転送手段とを備え、上記ログ収集手段が、上記実行ログを上記処理ユニットに関連付けて保持するように構成される。
【発明の効果】
【００１７】
本発明による画像処理コントローラ及び画像処理コントローラ用のプログラム作成装置によれば、実行ログが処理ユニットに関連付けて保持されるので、実行ログと処理ユニットごとの処理とを関連付けて実行ログを解析することができる。特に、実行ログが処理ユニットの処理開始及び処理終了を示す時刻情報を含むので、処理ユニットごとの処理がどのような順序で実行されたのか、及び、各処理がいつ開始していつ終了したのかを判別し易くすることができる。従って、一連の処理手順を複数の処理ユニットにブロック化して制御プログラムが作成される場合に、実行ログと処理ユニットごとの処理との関連付けを容易化することができる。また、選択欄において選択された処理ユニットの位置までカーソルを実行ログ上でジャンプさせるので、処理ユニットに関連付けされた実行ログをタイムスケールに対応付けて編集画面上に表示させた際の操作性を向上させることができる。
【発明を実施するための最良の形態】
【００１８】
<検査支援システム>
図１は、本発明の実施の形態による検査支援システムの一構成例を示した斜視図である。この検査支援システムは、検査対象物の搬送ライン上に配置される画像処理装置１と、この画像処理装置１の制御プログラムを生成するＰＣ（パーソナルコンピュータ）２とからなる。
【００１９】
画像処理装置１は、画像処理コントローラ１１、カメラ１２、ディスプレイ１３ａ及び操作ユニット１３ｂからなり、検査対象物から得られたカメラ画像に基づいて判定信号を出力するセンサー装置である。この判定信号は、図示しないＰＬＣ（Programmable Logic Controller：プログラマブルコントローラ）などへ入力され、画像処理装置１は、ＦＡ（Factory Automation）センサーとして使用される。
【００２０】
カメラ１２は、被写体を撮影して画像データを生成し、カメラ画像として出力する撮像装置であり、画像処理コントローラ１１に着脱可能に接続される。カメラ１２は、検査対象物が搬送される搬送ライン上に配置され、検査対象物を被写体として撮影が行われる。
【００２１】
ディスプレイ１３ａは、検査対象物を撮影して得られたカメラ画像やカメラ画像に基づく画像処理結果を表示するための出力装置である。このディスプレイ１３ａは、画像処理コントローラ１１によって表示制御され、通常、画像処理コントローラ１１の近傍に配置される。つまり、このディスプレイ１３ａは、画像処理コントローラ１１が運転中である場合に、画像処理コントローラ１１の動作状態をユーザに確認させるための表示装置となっている。操作ユニット１３ｂは、ディスプレイ１３ａ上でフォーカス位置を移動させたり、メニュー項目を選択するための入力装置である。
【００２２】
画像処理コントローラ１１は、カメラ１２からのカメラ画像を取り込んで処理し、カメラ画像に基づいて行った判定結果を示す判定信号を処理結果として出力する画像処理装置１の本体ユニットである。カメラ画像の取得動作は、例えば、ＰＬＣなどの外部機器から入力される制御信号であって、カメラ画像を取り込むタイミングを規定する撮像トリガ信号に基づいて行われる。
【００２３】
この画像処理コントローラ１１には、最大で４台のカメラ１２が接続され、これらのカメラ１２から取得したカメラ画像に基づいて画像処理が行われる。画像処理コントローラ１１から出力される判定信号は、製品の良否などの判定結果を示す信号として生成される。
【００２４】
また、画像処理コントローラ１１には、ディスプレイ１３ａ及び操作ユニット１３ｂが接続されており、ＰＣ２を接続しなくても、操作ユニット１３ｂを入力装置とし、ディスプレイ１３ａを出力装置として動作させることができる。
【００２５】
ＰＣ２は、画像処理コントローラ１１の制御プログラムを作成するプログラム作成装置であり、ＰＣ２上で動作するエディタ（ソフトウェア）によって制御プログラムが生成される。画像処理コントローラ１１の制御プログラムを作成する際、ＰＣ２上でシミュレーションして動作確認することができる。
【００２６】
ＰＣ２では、画像処理コントローラ１１によるディスプレイ１３ａ上の表示態様を規定するレイアウト情報が作成される。このレイアウト情報もエディタによってＰＣ２における編集画面上で作成され、制御プログラム及びレイアウト情報からなる検査設定データが生成される。
【００２７】
ＰＣ２と画像処理装置１の画像処理コントローラ１１とは、イーサネット（Ethernet：登録商標）などの通信ネットワークを介して接続される。ＰＣ２には、複数の画像処理コントローラ１１が着脱可能に接続される。ＰＣ２上で作成した検査設定データを画像処理コントローラ１１に転送することにより、画像処理コントローラ１１内の検査設定データを書き換えることができる。また、画像処理コントローラ１１内の検査設定データを取り込んでＰＣ２上で編集することもできる。このＰＣ２は、通常、画像処理装置１のメンテナンス時に画像処理コントローラ１１が接続される。
【００２８】
この検査支援システムでは、画像処理コントローラ１１の運転中にカメラ１２から取得したカメラ画像や、カメラ画像から抽出した計測結果が履歴情報として蓄積され、必要に応じてディスプレイ１３ａやＰＣ２上に表示させることができる。
【００２９】
<システム構成>
図２は、図１の検査支援システムのシステム構成の一例を示したブロック図である。この検査支援システム１００は、１台のＰＣ２と、通信ネットワーク３を介してＰＣ２に接続された複数の画像処理装置１により構成される。ＰＣ２上で作成された制御プログラムは、検査設定データ２２としてメモリ２１内に格納される。
【００３０】
ＰＣ２上で作成された検査設定データ２２は、通信ネットワーク３を介して画像処理コントローラ１１に転送される。このとき、転送先を指定して検査設定データ２２を転送することにより、所望の画像処理コントローラ１１について、メモリ１４内の検査設定データ１５を更新し、或いは、メモリ１４内に新たな検査設定データを追加することができる。
【００３１】
この画像処理コントローラ１１では、フラッシュメモリなどのメモリ１４内に複数の検査設定データ１５が保持されている。各検査設定データ１５は、処理手順や検査内容が異なる制御プログラムからなり、ユーザ操作に基づいて実行対象とする検査設定データ１５を変更することができる。
【００３２】
ＰＣ２では、通信ネットワーク３によって接続されている画像処理コントローラ１１から検査設定データ１５を取得して編集する動作が行われる。
【００３３】
<エディタ画面>
図３は、図２の検査支援システム１００におけるＰＣ２の動作の一例を示した図であり、検査設定データ２２を作成するためのエディタ画面４０が示されている。エディタ画面４０は、ＰＣ２上で検査設定データを新たに作成し、或いは、画像処理コントローラ１１から取得した検査設定データを編集するための編集画面であり、ＰＣ２上に表示される。
【００３４】
このエディタ画面４０は、それぞれ表示位置や表示範囲が変更可能な複数のウィンドウ画面からなる。具体的には、システムビューウィンドウ４１、パーツリストウィンドウ４２、ユニットプロパティウィンドウ４３、ビジョンビューウィンドウ４４及びリザルトビューウィンドウ４５からなる。
【００３５】
システムビューウィンドウ４１は、システム構成や編集対象とする検査設定データを一覧表示するためのウィンドウ画面であり、コントローラ一覧画面４１ａ及びワークスペース一覧画面４１ｂからなる。
【００３６】
コントローラ一覧画面４１ａは、ＰＣ２に接続されている画像処理コントローラ１１を一覧表示するための画面であり、画像処理コントローラ１１を示すアイコンや、画像処理コントローラ１１内に保持されている検査設定データ１５を示すアイコンが表示されている。
【００３７】
画像処理コントローラ１１や検査設定データ１５を示す各アイコンは、ツリー形式で表示されている。すなわち、画像処理コントローラ１１を上階層とし、この画像処理コントローラ１１内に保持されている検査設定データ１５を下階層として、検査設定データ１５がどの画像処理コントローラ１１に保持されているのかが識別可能なように表示されている。
【００３８】
ワークスペース一覧画面４１ｂは、編集対象とする検査設定データを一覧表示するための画面であり、画像処理コントローラ１１ごとに設けられるメモリ２１上の作業領域を示すアイコンや、検査設定データを示すアイコンが表示されている。画像処理コントローラ１１ごとに設けられるメモリ２１上の作業領域は、該当する画像処理コントローラ１１に関連付けられており、ワークスペースとして表示されている。つまり、ＰＣ２上には、検査設定データが画像処理コントローラ１１ごとに保持され、画像処理コントローラ１１ごとのワークスペースにおいて編集が行われる。
【００３９】
この様な作業領域を示すアイコンや検査設定データを示すアイコンは、ツリー形式で表示されている。すなわち、画像処理コントローラ１１に対応するワークスペースを上階層とし、このワークスペース内の検査設定データを下階層として、検査設定データがどのワークスペースに存在するのかが識別可能なように表示されている。
【００４０】
コントローラ一覧画面４１ａの見出し欄に配置されている更新ボタン（アイコン）を操作すれば、画像処理コントローラ１１から新たに検査設定データが取得され、ＰＣ２上に保持されている検査設定データやシステム構成が最新のものに更新される。また、登録ボタンを操作すれば、ＰＣ２上で作成された検査設定データが画像処理コントローラ１１に転送される。
【００４１】
ワークスペース一覧画面４１ｂの見出し欄に配置されている更新ボタン（アイコン）を操作すれば、画像処理コントローラ１１から取得された検査設定データによって、編集対象とする検査設定データが更新される。また、追加ボタンを操作すれば、新たな作業領域が設けられ、検査設定データを示すアイコンが追加される。
【００４２】
パーツリストウィンドウ４２は、検査設定データを作成する際に選択可能な処理ユニットをユニット一覧として表示するためのウィンドウ画面である。処理ユニットは、パラメータが変更可能な処理を示すシンボルであり、画像処理を示す画像処理ユニット、撮像処理を示す撮像ユニット、フロー制御処理を示す制御ユニット、及び、出力処理を示す出力ユニットなどが処理ユニットとして設けられている。この様な処理ユニットを後述するフロービューウィンドウ内のフローチャート上に配置することによって、所望のフローシーケンスからなる制御プログラムが作成される。
【００４３】
パーツリストウィンドウ４２内には、複数の処理ユニットが表示される。この例では、処理の種類によって処理ユニットが８つのカテゴリーに区分され、各カテゴリーを示すアイコンが表示されている。具体的には、「画像入力」、「計測」、「制御」、「演算」、「タイミング」、「表示」、「出力」及び「コマンド出力」のカテゴリーに区分されている。
【００４４】
「画像入力」は、撮像に関する処理ユニットが属するカテゴリーであり、カメラ画像を取り込む撮像ユニットが属している。撮像ユニットは、撮像トリガ信号に基づいて、画像処理用のカメラ画像を取得する処理ユニットである。撮像トリガ信号には、ＰＬＣなどの外部機器から撮像トリガ入力端子を介して入力される入力信号、及び、画像処理コントローラ１１内で生成される内部トリガ信号を用いることができる。この様な撮像ユニットには、シャッタースピード、カメラ感度、フラッシュ遅延時間、フラッシュオン時間、撮像対象カメラ、フラッシュ端子及びトリガ端子を指定するためのパラメータがプロパティとして関連付けられている。
【００４５】
「計測」は、計測に関する処理ユニットが属するカテゴリーであり、撮像ユニットによって取得されたカメラ画像から計測結果を抽出し、この計測結果に基づいて検査対象物の良否を判定する計測ユニットが属している。この様な計測ユニットには、パターンサーチユニット、エッジ位置検出ユニット、ブロブ検出ユニット、色検査ユニットなどの画像処理ユニットが属している。
【００４６】
パターンサーチは、カメラ画像上のサーチ領域内を走査して予め登録されたパターン画像と一致する位置を検出する処理である。エッジ位置検出は、カメラ画像上の計測領域について、検出方向に垂直な方向の平均濃度を求め、検出方向の濃度変化からエッジの位置を検出する処理である。
【００４７】
ブロブ検出は、カメラ画像を２値化し、同一濃度を有する画素の塊をブロブとして抽出して、計測領域内に存在するブロブの数、面積、重心位置を検出する処理である。色検査は、検査領域内の色を測定する処理であり、色に対応する数値が計測結果として抽出される。
【００４８】
この様な計測に関する画像処理では、検査対象物の形状、サイズ、カメラ画像内における位置などが検知され、その計測値が画像処理結果として出力される。また、計測値と、ユーザが予め指定したパラメータとを比較し、この比較結果に基づいて検査対象物の良否、例えば、不具合や異常の有無を判定し、その判定結果が画像処理結果として出力される。また、計測領域や、検知された検査対象物の位置などをグラフィカルに示すシンボルを埋め込んだカメラ画像が生成され、画像処理結果として出力される。
【００４９】
「制御」は、制御に関する処理ユニットが属するカテゴリーであり、繰返しユニット、バイパスユニット、エンドシンボルなどの制御ユニットが属している。繰返しユニットは、実行フローを繰り返す際の始点を示す繰返し開始ユニットと、終点を示す繰返し終了ユニットとからなる処理ユニットであり、所定の条件が満たされるまで開始ユニット及び終了ユニット間の実行フローを繰り返させる処理を示す。
【００５０】
バイパスユニットは、実行フローを２以上の枝フローに分岐させる分岐ユニットと、この分岐ユニットによって分岐された枝フローを合流させる合流ユニットとからなる処理ユニットであり、所定の条件で実行フローを分岐させる処理を示す。エンドシンボルは、１回のフローシーケンスを終了させるための表示オブジェクトである。
【００５１】
「演算」は、演算に関する処理ユニットが属するカテゴリーであり、数値演算ユニット及び位置補正ユニットの画像処理ユニットが属している。「タイミング」は、フロー遷移のタイミング制御に関する処理ユニットが属するカテゴリーであり、タイマー待ちユニット、イベント待ちユニットなどの制御ユニットが属している。タイマー待ちユニットは、所定時間だけフロー遷移を停止させる処理を示す待ちユニットである。イベント待ちユニットは、端子入力や変数値が所定の状態となるまでフロー遷移を停止させる処理を示す待ちユニットである。
【００５２】
「表示」は、表示に関する処理ユニットが属するカテゴリーであり、グラフィック表示ユニットなどの画像処理ユニットが属している。グラフィック表示ユニットは、他の処理ユニットを参照し、当該処理ユニットの処理結果をグラフィカルに表示する処理を示す。
【００５３】
「出力」は、出力に関する処理ユニットが属するカテゴリーであり、端子出力ユニット、結果出力ユニット、画像出力ユニットなどの出力ユニットが属している。端子出力ユニットには、参照先ユニット、判定結果及び判定結果の出力先端子を指定するためのパラメータがプロパティとして関連付けられている。結果出力ユニットには、参照先ユニット、処理結果を示す数値データ、数値データを出力する際のデータ形式（テキスト形式又はバイナリ形式）、及び、数値データの出力先を指定するためのパラメータがプロパティとして関連付けられている。画像出力ユニットには、参照先ユニット、カメラ画像、画像データを出力する際のデータ形式、及び、画像データの出力先を指定するためのパラメータがプロパティとして関連付けられている。
【００５４】
「コマンド出力」は、コマンド出力に関する処理ユニットが属するカテゴリーであり、コマンド発行ユニット、表示パターン切替ユニット及びダイアログ表示ユニットの出力ユニットが属している。コマンド発行ユニットは、画像登録、検査設定の切替え、リセットなどのコマンドを発行する処理を示す。
【００５５】
ユニットプロパティウィンドウ４３は、コントローラ一覧画面４１ａ、ワークスペース一覧画面４１ｂ又はフロービューウィンドウ上で選択された処理ユニットのプロパティを表示するためのウィンドウ画面である。
【００５６】
ビジョンビューウィンドウ４４は、コントローラ一覧画面４１ａ、ワークスペース一覧画面４１ｂ又はフロービューウィンドウ上で選択された処理ユニットに関連付けられているカメラ画像を表示するためのウィンドウ画面である。
【００５７】
リザルトビューウィンドウ４５は、コントローラ一覧画面４１ａ、ワークスペース一覧画面４１ｂ又はフロービューウィンドウ上で選択された処理ユニットのパラメータと、シミュレーション結果とを表示するためのウィンドウ画面である。
【００５８】
このエディタ画面４０では、システムビューウィンドウ４１の下部に配置されているフロービューボタン４１ｃを操作すれば、上述したシステムビューウィンドウ４１に代えて、フロービューウィンドウを表示させることができる。フロービューウィンドウは、画像処理コントローラ１１に実行させる処理手順をフローチャートとして表示するウィンドウ画面であり、ワークスペース一覧画面４１ｂ上で選択された検査設定データが表示される。
【００５９】
また、リザルトビューウィンドウ４５の下部に配置されている抽出一覧ボタン４５ａを操作すれば、リザルトビューウィンドウ４５に代えて、抽出一覧ウィンドウを表示させることができる。抽出一覧ウィンドウは、リザルトビューウィンドウ４５上で選択されたパラメータ及び処理結果を抽出して処理ユニットごとの抽出結果を一覧表示するためのウィンドウ画面である。
【００６０】
<フロービューウィンドウ>
図４は、図２の検査支援システム１００におけるＰＣ２の動作の一例を示した図であり、フロービューウィンドウ４６が表示されたエディタ画面４０が示されている。フロービューウィンドウ４６は、検査設定データの制御プログラムを新たに作成し、或いは、画像処理コントローラ１１から取得した制御プログラムを編集するために、処理手順を示すフローチャート４７を表示するウィンドウ画面である。
【００６１】
フロービューウィンドウ４６には、複数の処理ユニット４８を配列することによって構成されたフローチャート４７が表示されている。フローチャート４７には、スタートシンボル「Ｓ」において開始し、エンドシンボル「Ｅ」において終了する実行フロー上で時系列に実行される処理ユニットが表されている。ユーザは、この様な実行フロー上に処理ユニット４８を配置することによって所望の制御プログラムを構成することができる。
【００６２】
つまり、画像処理コントローラ１１に行わせる一連の画像処理は、処理ユニットとしてブロック化されており、ユーザは、処理ユニットをフロービューウィンドウ４６内の実行フロー上に配置するだけで、当該処理ユニットが直前の処理ユニットの処理結果に基づいて所定の処理を行うフローシーケンスを作成することができる。
【００６３】
フロービューウィンドウ４６の下部に配置されているシステムビューボタン４６ａを操作すれば、このフロービューウィンドウ４６に代えて、システムビューウィンドウ４１を表示させることができる。
【００６４】
フロービューウィンドウ４６上で選択されている処理ユニットは、フォーカス表示され、ユニットプロパティウィンドウ４３内にそのプロパティが表示される。ユニットプロパティウィンドウ４３内には、編集ボタン４３ａが配置され、編集ボタン４３ａを操作すれば、処理ユニットのプロパティを編集するためのプロパティ編集画面が表示される。プロパティ編集画面は、ユーザ操作に基づいて処理ユニットのパラメータを指定し、或いは、既に指定されているパラメータを変更するための編集画面である。
【００６５】
<フローチャート>
図５は、図２の検査支援システム１００におけるＰＣ２の動作の一例を示した図であり、フロービューウィンドウ４６内のフローチャート４７の一例が示されている。このフローチャート４７は、スタートシンボル６１ａで開始し、エンドシンボル６１ｂで終了する実行フロー上に複数の処理ユニットが配置されている。
【００６６】
フロービューウィンドウ４６上でフローチャート４７を作成編集する場合、パーツリストウィンドウ４２を用いて作業が行われる。例えば、フローチャート４７内に処理ユニットを挿入する際には、パーツリストウィンドウ４２上で所望の処理ユニットを選択し、マウスポインタなどで実行フロー上の位置を指定することによって挿入される。
【００６７】
この例では、フローチャート４７が、分岐ユニット６２ａ、撮像ユニット、色検査ユニット、数値演算ユニット、合流ユニット６２ｂ、ブロブ検出ユニット、繰返し開始ユニット６５ａ、エッジ位置検出ユニット、パターンサーチユニット、繰返し終了ユニット６５ｂ及びグラフィック表示ユニットをこの順序で実行フロー上に配置することによって構成されている。
【００６８】
分岐ユニット６２ａ及び合流ユニット６２ｂは、バイパスユニットを構成する制御ユニットであり、実行フロー上にバイパスユニットを挿入する際には、常に分岐ユニット６２ａ及び合流ユニット６２ｂを対にして挿入される。分岐ユニット６２ａでは、直前の処理ユニットの計測結果や判定結果に基づいて、分岐後の枝フローを択一的に選択する処理が行われる。分岐後の枝フローのいずれを選択するかという条件は、分岐ユニット６２ａのパラメータとして、ユーザが指定する。
【００６９】
この例では、スタートシンボル６１ａからの実行フローが分岐ユニット６２ａにより２つの枝フロー６３に分岐され、この分岐ユニット６２ａで分岐された枝フローが合流ユニット６２ｂにおいて合流されている。その際、一方の枝フロー６３は、撮像ユニット、色検査ユニット及び数値演算ユニットを経て合流ユニット６２ｂに達しているのに対して、他方の枝フロー６３は、撮像ユニットを経て合流ユニット６２ｂに達するバイパス経路（迂回路）となっている。
【００７０】
繰返し開始ユニット６５ａ及び繰返し終了ユニット６５ｂは、繰返しユニットを構成する制御ユニットであり、実行フロー上に繰返しユニットを挿入する際にも、繰返し開始ユニット６５ａ及び繰返し終了ユニット６５ｂを対にして挿入される。
【００７１】
この例では、繰返し開始ユニット６５ａ及び繰返し終了ユニット６５ｂ間にエッジ位置検出ユニット及びパターンサーチユニットが配置されており、実行時にはエッジ位置検出ユニット及びパターンサーチユニットの処理が繰り返される。
【００７２】
フローチャート４７内の分岐ユニット６２ａ及び繰返し開始ユニット６５ａには、折畳みアイコン６４ａが配置されている。この折畳みアイコン６４ａは、制御ユニット間の実行フローを省略してフローチャート４７を表示させるためのアイコンであり、処理ユニットに隣接させて表示される。
【００７３】
また、フローチャート４７上で選択されている処理ユニットは、フォーカス表示され、ユニットプロパティウィンドウ４３内に当該処理ユニットのプロパティを表示させ、或いは、編集対象として当該処理ユニットのプロパティを変更することができる。
【００７４】
<エディタの機能構成>
図６は、図２の検査支援システム１００におけるＰＣ２の構成例を示したブロック図であり、画像処理コントローラ１１の制御プログラムを作成するエディタの機能構成の一例が示されている。このＰＣ２は、メモリ２１、処理ユニット記憶部２３、フローチャート生成部２４、プログラム生成部２５、通信部２６、操作入力部２７、トレースログ制御部２８、ログ収集条件決定部２９、ログ表示部３０、ジャンプ先ユニット選択欄表示部３１及びカーソル移動部３２により構成される。
【００７５】
処理ユニット記憶部２３には、撮像ユニットや計測ユニットなどの処理ユニットが保持されている。フローチャート生成部２４は、スタートシンボルにおいて開始し、エンドシンボルにおいて終了する実行フロー上に処理ユニットを配置することによってフローチャート４７を生成する動作を行っている。このフローチャート４７は、エディタ画面４０のフロービューウィンドウ４６内に表示される。
【００７６】
プログラム生成部２５は、ユーザがフロービューウィンドウ４６上で作成したフローチャート４７を実行形式に変換することにより、画像処理コントローラ１１の制御プログラムを生成する動作を行っている。
【００７７】
メモリ２１には、プログラム生成部２５により生成された制御プログラムが検査設定データ２２として保持される。通信部２６は、メモリ２１内の検査設定データ２２を画像処理コントローラ１１へ転送する動作を行っている。操作入力部２７は、キーボード上の操作キーの操作、或いは、マウスなどのポインティングデバイスの操作に基づいて、所定の入力信号を出力する動作を行っている。
【００７８】
トレースログ制御部２８は、画像処理コントローラ１１に実行ログを収集させ、収集された実行ログを画像処理コントローラ１１から読み出す動作を行っている。実行ログは、制御プログラムの実行時における端子状態を時系列に示すデータである。画像処理コントローラ１１では、入力端子又は出力端子を介して外部機器との間で入力又は出力される信号の信号状態が実行ログとしてサンプリングされる。例えば、通信部２６を介して画像処理コントローラ１１へログ収集の開始コマンドを送信することにより、端子状態のサンプリングが開始され、トレースログ（trace log）として保持される。
【００７９】
ここでは、ログ収集の方法として、「トリガなしモード」及び「イベントトリガモード」があり、選択可能であるものとする。「トリガなしモード」は、画像処理コントローラ１１に対して、収集開始及び終了を指示して実行ログを収集させる方法である。一方、「イベントトリガモード」は、画像処理コントローラ１１に対して収集開始のみ指示し、所定の条件（以下、トリガ条件と呼ぶ）が成立した場合に実行ログの収集を自動的に終了させる方法である。
【００８０】
ログ収集条件決定部２９は、画像処理コントローラ１１が実行ログを収集する際の収集条件を決定する動作を行っている。具体的には、実行ログの収集対象、ログ収集の方法、トリガ条件などが収集条件として決定される。
【００８１】
ログ表示部３０は、トレースログ制御部２８が通信部２６を介して画像処理コントローラ１１から取得した実行ログをエディタ画面４０上に表示する動作を行っている。実行ログは、例えば、エディタ画面４０上のログビューウィンドウ内にタイムスケールに対応付けて表示される。
【００８２】
ジャンプ先ユニット選択欄表示部３１は、カーソルの移動先の処理ユニットを選択するための選択欄をログビューウィンドウ内に表示する動作を行っている。カーソル移動部３２は、この選択欄において選択された処理ユニットの位置までカーソルを実行ログ上でジャンプさせる処理を行っている。このカーソルは、実行ログ上で選択されている位置を示す表示オブジェクトであり、例えば、選択線として表示される。
【００８３】
<トレースログ条件設定画面>
図７は、図２の検査支援システム１００におけるＰＣ２の動作の一例を示した図であり、トレースログの収集条件を定めるためのログ条件設定画面７０が示されている。ログ条件設定画面７０は、画像処理コントローラ１１が実行ログを収集する際の収集条件を指定するためのウィンドウ画面であり、エディタ画面４０上に表示される。
【００８４】
このログ条件設定画面７０には、共通設定に関する入力欄７１と、個別設定に関する入力欄とが設けられている。入力欄７１には、トリガ条件の指定方法の選択欄と、トリガ条件成立後のログ収集の終了方法の選択欄とが設けられている。
【００８５】
トリガ条件の指定方法の選択欄では、複数の条件の論理積をトリガ条件とするか、或いは、論理和をトリガ条件とするかのいずれかを選択することができる。論理積をトリガ条件として選択した場合には、複数の条件の全てが成立すると、トリガ条件成立となる。一方、論理和を選択した場合には、複数の条件のいずれかが成立すると、トリガ条件成立となる。
【００８６】
トリガ条件成立後のログ収集の終了方法の選択欄では、トリガ条件が成立してからログ収集を終了させるまでの時間又は計測回数を指定することができる。
【００８７】
個別設定に関する入力欄には、ユニット設定タブ７２及び端子設定タブ７３が設けられており、これらのタブを操作することによって、処理ユニットの設定欄又は入出力端子の設定欄のいずれかが選択的に表示される。この図では、ユニット設定タブ７２を操作することによって処理ユニットの設定欄が選択された場合が示されている。
【００８８】
処理ユニットの設定欄には、実行ログの収集対象を選択するための選択欄８１と、トリガ種別の選択欄８２と、処理ユニットを指定するための入力欄８３と、タイミングの選択欄８４と、オプション設定に関する入力欄とが設けられている。
【００８９】
トリガ種別の選択欄８２は、ログ収集の方法を指定するための入力欄であり、「トリガなしモード」、「エッジトリガモード」又は「レベルトリガモード」のいずれかを選択することができる。
【００９０】
「エッジトリガモード」は、エッジトリガ入力端子として予め指定された入力端子からの入力信号、処理ユニットの処理開始又は処理終了に同期してログ収集を終了させるイベントトリガモードである。「レベルトリガモード」は、２つのイベントトリガ信号に基づいてログ収集を終了させるイベントトリガモードであり、イベントトリガ信号の入力端子として予め指定された入力端子の状態変化によってログ収集が停止される。具体的には、２つのイベントトリガ信号の論理積を参照し、一方のトリガ信号がオン状態である場合に、他方のトリガ信号におけるオン状態への遷移に同期してログ収集が終了される。つまり、２つのトリガ信号がいずれもオン状態（例えば、信号状態がハイレベルである状態）となった場合に、ログ収集が終了される。
【００９１】
入力欄８３は、イベントトリガモードの選択時にトリガ条件の対象とする処理ユニットを指定するための入力欄であり、「全て」又は「指定あり」のいずれかを選択することができる。タイミングの選択欄８４は、エッジトリガモードが選択され、さらに、入力欄８３で処理ユニットが指定されている場合に、当該処理ユニットの処理に同期してログ収集を終了させる際のタイミングを選択するための入力欄であり、処理開始、処理終了、或いは、開始及び終了のいずれかを選択することができる。
【００９２】
オプション設定に関する入力欄は、トリガ条件を付加的に指定するための入力欄であり、判定値の選択欄８５ａと、ユニットエラーの選択欄８５ｂと、処理時間の下限の入力欄８６ａ及び上限の入力欄８６ｂとが設けられている。
【００９３】
判定値の選択欄８５ａは、処理ユニットにおける検査対象物の良否の判定結果をトリガ条件として指定するための入力欄であり、「ＯＫ」又は「ＮＧ」のいずれかを選択することができる。
【００９４】
ユニットエラーの選択欄８５ｂは、計測ユニットにおけるユニットエラーをトリガ条件として指定するための入力欄である。ユニットエラーは、計測値のオーバーフロー（桁あふれ）やパラメータの設定エラーであり、これらのエラーの発生をトリガ条件とするものである。
【００９５】
処理時間の入力欄８６ａ，８６ｂは、処理ユニットにおける処理開始から処理終了までの時間をトリガ条件として指定するための入力欄であり、当該時間が入力欄８６ａ，８６ｂで指定された範囲を越えると、トリガ条件成立となる。
【００９６】
図８は、図２の検査支援システム１００におけるＰＣ２の動作の一例を示した図であり、端子設定タブ７３を操作することによって入出力端子の設定欄が選択された場合が示されている。この入出力端子の設定欄には、実行ログの収集対象として選択可能な入力端子及び出力端子が一覧表示されている。
【００９７】
各端子には、物理端子名、論理端子名、トリガ種別、端子の値などの属性情報が表示されている。トリガ種別には、エッジトリガやレベルトリガの入力端子に指定されているか否かが示されている。端子の値には、トリガ条件とする端子状態又は端子の状態変化が示されている。
【００９８】
<実行ログ収集>
図９は、図２の検査支援システム１００における画像処理コントローラ１１の構成例を示したブロック図である。この画像処理コントローラ１１は、メモリ１４、通信部５１、プログラム実行部５２、撮像トリガ入力端子５３、イベントトリガ入力端子５４、出力端子５５、ログ収集部５６及び実行ログ記憶部５７により構成される。メモリ１４は、ＰＣ２から転送された検査設定データ１５を保持する制御プログラムの記憶手段である。
【００９９】
プログラム実行部５２は、メモリ１４内に検査設定データ１５として保持されている制御プログラムを読み出して実行し、一連の画像処理を行う処理部である。このプログラム実行部５２では、カメラ画像を取得する際の取得サイクルを計測周期として、制御プログラムが繰返し実行される。
【０１００】
制御プログラムを繰返し実行する際の周期（計測周期）は、当該制御プログラムに対応するフローチャート４７によって規定されるものとする。すなわち、フローチャート４７上のスタートシンボル（ユニット）からエンドシンボルまでのフローシーケンスを１周期分の画像処理として、計測周期が定められる。従って、フローチャート４７上に１つの撮像ユニットが配置されている場合には、１つのカメラ画像を計測対象として取得するごとに、カメラ画像に基づいて１回の計測が行われ、当該カメラ画像から計測結果が抽出されることとなる。
【０１０１】
撮像ユニットの実行時には、撮像トリガ入力端子５３からの入力信号に基づいて、カメラ１２からカメラ画像を取得する処理が行われる。
【０１０２】
メモリ１４内に複数の検査設定データ１５が保持されている場合には、ユーザが実行対象として選択指定した検査設定データに基づいて画像処理が行われる。
【０１０３】
ログ収集部５６は、制御プログラムの実行時に、撮像トリガ入力端子５３やイベントトリガ入力端子５４などの入力端子及び出力端子５５の端子状態をサンプリングし、端子状態を時系列に示す実行ログとして保持する動作を行っている。具体的には、端子状態の変化によって割込み処理を発生させ、この割込み処理によって実行ログが取り込まれる。この様なログ収集は、ＰＣ２からのログ収集開始コマンドに基づいて開始され、収集した実行ログは、処理ユニットに関連付けて実行ログ記憶部５７内に格納される。
【０１０４】
このログ収集部５６によって抽出される実行ログには、処理ユニットの処理開始及び処理終了を示す時刻情報と、検査対象物の良否の判定結果を示す計測ユニットごとの判定結果情報とが含まれる。つまり、実行ログには、フローチャート４７上の処理ユニットを単位とする処理に要する時間が含まれている。
【０１０５】
また、ログ収集の対象とする制御プログラムが分岐ユニットを含む場合には、分岐ユニットによる分岐先を示す分岐先情報が実行ログに含まれる。
【０１０６】
ログ収集の終了方法は、実行ログの収集条件として、トリガなしモード又はイベントトリガモードのいずれが選択されているかによって異なる。すなわち、トリガなしモードでは、ＰＣ２からの終了コマンドに基づいて終了される。
【０１０７】
イベントトリガモードでは、イベントトリガ入力端子５４として指定された入力端子からの入力信号に基づいて終了される。具体的には、エッジトリガモードの場合、入力端子からの入力信号や、処理ユニットの処理開始又は処理終了に同期してログ収集が終了される。レベルトリガモードの場合には、イベントトリガ入力端子５４として指定された２つの入力端子からの入力信号の論理積が参照され、一方の入力信号がオン状態であるときに、他方の入力信号におけるオン状態への遷移に同期してログ収集が終了される。
【０１０８】
また、トリガ条件として、処理ユニットの判定値、ユニットエラー又は処理時間が指定されている場合には、これらの設定値に基づいてログ収集が終了される。すなわち、計測ユニットにおける検査対象物の良否の判定結果に応じて、ログ収集が終了される。また、処理ユニットにおける処理開始から処理終了までの時間が所定範囲内にあるか否かに応じて、ログ収集が終了される。また、計測ユニットにおける計測値のオーバーフロー又はパラメータの設定エラーが発生したか否かに応じて、ログ収集が終了される。
【０１０９】
通信部５１は、ＰＣ２からの転送要求に基づいて、実行ログ記憶部５７内の実行ログをＰＣ２へ転送する動作を行っている。
【０１１０】
<ログビューウィンドウ>
図１０及び図１１は、図２の検査支援システム１００におけるＰＣ２の動作の一例を示した図であり、エディタ画面４０上に表示されるログビューウィンドウ９０が示されている。ログビューウィンドウ９０は、画像処理コントローラ１１から取得した実行ログを表示するためのウィンドウ画面である。
【０１１１】
このログビューウィンドウ９０には、収集開始ボタン９１、収集終了ボタン９２、実行ログの表示欄９４、ジャンプ先ユニットの選択欄９５、カーソル移動ボタン９６、スケールの選択欄９７及びログ条件設定画面の表示ボタン９８が配置されている。
【０１１２】
収集開始ボタン９１は、ログ収集を開始するための操作アイコンであり、収集開始ボタン９１を操作することによって、画像処理コントローラ１１へ開始コマンドが送信され、ログ収集を開始させることができる。収集終了ボタン９２は、画像処理コントローラ１１から実行ログを読み出すための操作アイコンである。
【０１１３】
表示欄９４は、実行ログをタイムスケールに対応付けて表示するための表示欄であり、最上段に時間軸を示すタイムスケールが配置され、入力端子及び出力端子の端子状態１０４が処理ユニット１０３、フロー（計測周期）１０２及び検査設定１０１に対応付けて表示されている。
【０１１４】
具体的には、ログ種別９３ａとして、検査設定１０１、フロー１０２、処理ユニット１０３及び端子状態１０４があり、各ログ種別についての実行ログが一覧表示されている。端子状態１０４には、論理端子名が表示されている。
【０１１５】
フロー１０２には、フローシーケンスがいつ開始して、いつ終了したかが計測回数に関連付けて表示されている。処理ユニット１０３には、フローシーケンスを構成している各処理ユニットがいつ開始して、いつ終了したかが処理ユニットの識別情報に関連付けて表示されている。端子状態１０４には、入力端子又は出力端子を介して入力又は出力される信号の信号状態がハイ（Ｈｉ）又はロー（Ｌｏｗ）の２値で表示されている。
【０１１６】
ジャンプ先ユニットの選択欄９５は、カーソル１１０の移動先の処理ユニットを選択するための入力欄である。カーソル移動ボタン９６は、カーソル１１０をジャンプさせるための操作アイコンであり、カーソル移動ボタン９６を操作することによって、選択欄９５で選択された処理ユニットの位置までカーソル１１０を移動させることができる。
【０１１７】
カーソル１１０は、実行ログ上で選択されている位置を示す表示オブジェクトであり、選択線として表示される。選択値表示欄９３ｂには、カーソル１１０上のフロー、処理ユニット、端子状態が表示される。
【０１１８】
スケールの選択欄９７は、実行ログを表示させる際の時間軸方向のスケールを選択するための入力欄である。図１０には、この様なスケールとして５ｍｓｅｃ／１目盛りが選択されている場合が示され、図１１には、０．５ｍｓｅｃ／１目盛りが選択されている場合が示されている。
【０１１９】
一般に、撮像ユニットは、撮像トリガ信号の入力待ちや、画像データの転送に時間を要するので、計測ユニットなどの他の処理ユニットに比べて処理時間が長い。このため、実行ログ上で撮像ユニットが占める割合は、他の処理ユニットに比べて大きい。この様な状況では、方向キーを操作してカーソル１１０を移動させるのに比べて、カーソル移動ボタン９６の操作によってカーソル１１０をジャンプさせられるので、極めて便利である。
【０１２０】
ログ条件設定画面の表示ボタン９８は、ログ条件設定画面７０を表示するための操作アイコンであり、表示ボタン９８を操作することによって、ログ条件設定画面７０をログビューウィンドウ９０上に表示させることができる。
【０１２１】
<イベントトリガモード>
図１２（ａ）及び（ｂ）は、図２の検査支援システム１００における画像処理コントローラ１１の動作の一例を示したタイミングチャートであり、イベントトリガモードにおけるログ収集の終了時の様子が示されている。図１２（ａ）には、エッジトリガモードの場合が示され、図１２（ｂ）には、レベルトリガモードの場合が示されている。
【０１２２】
エッジトリガモードでは、エッジトリガ入力端子として予め指定された入力端子からの入力信号（トリガ信号）に同期してログ収集が終了される。すなわち、ローレベルからハイレベルへのトリガ信号の状態変化（立ち上がり）に同期してログ収集が終了される。
【０１２３】
一方、レベルトリガモードでは、２つのイベントトリガ信号の論理積が参照され、一方の入力信号がオン状態であるときに、他方の入力信号におけるオン状態への遷移に同期してログ収集が終了される。
【０１２４】
この例では、レベルトリガ用に２つの入力端子Ａ１，Ａ２が指定され、一方の入力端子Ａ１について、トリガ条件成立の判別用パラメータとして論理値「１」が設定され、他方の入力端子Ａ２について、判別用パラメータ「立ち上がり」が設定されている。この場合、入力端子Ａ１からの入力信号「トリガ信号１」がオン状態であるときに、入力端子Ａ２からの入力信号「トリガ信号２」がオン状態へ遷移すれば、このオン状態への立ち上がりに同期してログ収集が終了される。つまり、トリガ信号１がオン状態であるときに、ローレベルからハイレベルにトリガ信号２の状態が変化した場合にだけ、ログ収集が終了され、トリガ信号１がオフ状態のときに、トリガ信号２の状態が変化してもログ収集は終了されない。
【０１２５】
なお、本実施の形態では、ＰＣ２と画像処理コントローラ１１とが通信ネットワークを介して接続され、ログ収集部５６が収集した実行ログが通信ネットワークを介して画像処理コントローラ１１からＰＣ２へ転送される場合の例について説明したが、本発明はこれに限られるものではない。例えば、ログ収集部５６が収集した実行ログを画像処理コントローラ１１においてメモリカードに書き込むようなものであっても良い。メモリカードは、フラッシュメモリなどの書換え可能な不揮発性の半導体記憶素子からなる着脱可能な記録媒体であり、実行ログが書き込まれたメモリカードをＰＣ２に装着することによって、ＰＣ２上で実行ログを解析することができる。より詳しくは、画像処理コントローラ１１において、予め設定されたイベントトリガ条件に基づいてログ収集を行い、収集した実行ログをメモリカードに保存する。そして、終了条件の成立によってログ収集が終了した後、メモリカードを画像処理コントローラ１１から離脱させる。ＰＣ２では、この様なメモリカードを装着することによって、実行ログをログビューウィンドウ９０上に表示し、実行ログの解析が行われる。
【０１２６】
本実施の形態によれば、実行ログが処理ユニットに関連付けて保持されるので、実行ログと処理ユニットごとの処理とを関連付けて実行ログを解析することができる。特に、実行ログが処理ユニットの処理開始及び処理終了を示す時刻情報を含むので、処理ユニットごとの処理がどのような順序で実行されたのか、及び、各処理がいつ開始していつ終了したのかを判別し易くすることができる。例えば、分岐ユニットによる分岐後に、どの枝フローが実行されたのかを知ることができる。
【０１２７】
また、実行ログが計測ユニットごとの判定結果情報を含むので、一連の処理手順の途中の判定結果と端子状態とを関連付けて解析することができる。例えば、繰返しユニットによる繰返し途中の判定結果を知ることができる。
【図面の簡単な説明】
【０１２８】
【図１】本発明の実施の形態による検査支援システムの一構成例を示した斜視図である。
【図２】図１の検査支援システムのシステム構成の一例を示したブロック図である。
【図３】図２の検査支援システム１００におけるＰＣ２の動作の一例を示した図であり、検査設定データ２２を作成するためのエディタ画面４０が示されている。
【図４】図２の検査支援システム１００におけるＰＣ２の動作の一例を示した図であり、フロービューウィンドウ４６が表示されたエディタ画面４０が示されている。
【図５】図２の検査支援システム１００におけるＰＣ２の動作の一例を示した図であり、フロービューウィンドウ４６内のフローチャート４７の一例が示されている。
【図６】図２の検査支援システム１００におけるＰＣ２の構成例を示したブロック図であり、エディタの機能構成の一例が示されている。
【図７】図２の検査支援システム１００におけるＰＣ２の動作の一例を示した図であり、トレースログの収集条件を定めるためのログ条件設定画面７０が示されている。
【図８】図２の検査支援システム１００におけるＰＣ２の動作の一例を示した図であり、入出力端子の設定欄が選択された場合が示されている。
【図９】図２の検査支援システム１００における画像処理コントローラ１１の構成例を示したブロック図である。
【図１０】図２の検査支援システム１００におけるＰＣ２の動作の一例を示した図であり、５ｍｓｅｃ／１目盛りが選択されたログビューウィンドウ９０が示されている。
【図１１】図２の検査支援システム１００におけるＰＣ２の動作の一例を示した図であり、０．５ｍｓｅｃ／１目盛りのログビューウィンドウ９０が示されている。
【図１２】図２の検査支援システム１００における画像処理コントローラ１１の動作の一例を示したタイミングチャートであり、ログ収集の終了時の様子が示されている。
【符号の説明】
【０１２９】
１  画像処理装置
２  ＰＣ
３  通信ネットワーク
１１  画像処理コントローラ
１２  カメラ
１３ａ  ディスプレイ
１３ｂ  操作ユニット
１４，２１  メモリ
１５，２２  検査設定データ
１６  プログラム実行部
２３  処理ユニット記憶部
２４  フローチャート表示部
２５  プログラム生成部
２６  プログラム転送部
２７  操作入力部
４０  エディタ画面
４６  フロービューウィンドウ
４７  フローチャート
４８  処理ユニット
１００  検査支援システム
【図１】
0005074896.tif 000002
【図２】
0005074896.tif 000003
【図６】
0005074896.tif 000004
【図９】
0005074896.tif 000005
【図１２】
0005074896.tif 000006
【図３】
0005074896.tif 000007
【図４】
0005074896.tif 000008
【図５】
0005074896.tif 000009
【図７】
0005074896.tif 000010
【図８】
0005074896.tif 000011
【図１０】
0005074896.tif 000012
【図１１】
0005074896.tif 000013