※LinX Express は、日頃お付き合い頂いているお客様、展示会やセミナー等でお名刺を戴いた方、また、雑誌やホームページから引合を戴いた事のあるお客様へ配信させて戴いております。

 
 
シリーズ企画「使ってほしい、この機能。」 HDevelopプロファイラ機能

HALCON 11で追加された新機能の一つにHDevelopのプロファイラ機能があります。作成したプログラムで使用されている関数ごとの実行時間や実行回数などの統計情報を表示できます。これにより、それぞれの関数の実行時間が、プログラム全体を通した処理時間に対してどれくらいの割合を占めているか、といった情報を知ることができます。

 
 
HALCON11新機能 プロファイラとは

プロファイラ機能を使用すると、HALCONプログラム中で使用されている関数ごとに実行時間・実行回数の統計を取ることができます。通常は下図のように「プログラムリスト」ウインドウの右側に関数別の処理時間がグラフ表示されています。

 

またプロファイラの情報は「実行時間の統計」ウインドウによりさらに詳しい統計データとして閲覧することができます。「実行時間の統計」ウインドウでは、for文やif文などの制御構造で構成されたHALCONプログラムの中で、それぞれの関数が何回実行されたのか、どれくらいの平均処理時間を要しているのか、といった情報を統計することができます。

 
「実行時間の統計」ウインドウ

 
 
プロファイラ活用例: 処理時間の改善

処理時間の短縮は生産効率の向上に大きく貢献します。HALCONのプロファイラ機能では各関数の実行回数や実行に要した時間の統計を表示することができるため、ボトルネックとなってしまっている箇所を一目で特定することができます。
例えば右のように、パターンマッチングによって奥行き方向にも傾きを持ったブレーキディスクの位置・傾き検出を行う処理を例にとります。

作成したプログラムに対するプロファイラの結果を確認すると、処理全体に対してマッチングの実行が大部分を占めていることがわかります。そのため、タクトの改善にはこの部分の改善が有効となります。

 

マッチングの処理時間を短縮する一つの方法として、探索範囲を最適化することが挙げられます。画像全体に対してサーチを行うのではなく、事前にしきい値処理などで解析範囲を限定することで、マッチングにかかる時間を短縮します。結果として、マッチングの処理時間が約10msと改善されているのが確認できます。解析範囲の絞りこみに要する時間と合わせても画像全体からサーチする方法に比べて高速化していることが確認できます。

 

プロファイラを使うことによって、実行時間がかかっている原因の調査からその改善結果の確認までを効率よくチェックすることができます。


※LinX Express 配信の中止・アドレスの変更をご希望の方は、お手数ですが右の「ご登録内容変更」よりお問い合わせください。