Leimac社 Robo Lightのアプリケーションノート
この設定は、Leimac社の「Robot Light」とカメラを同期させて使用するシナリオを想定しています。
Baslerカメラ設定の解説
このセクションでは、ソフトウェアトリガーを使用してカメラを制御し、カメラの露光と連動してRobot Lightを光らせるための設定方法について説明します。
Acquisition Controls (画像取得制御) の設定
これらの設定は、カメラがどのように画像をキャプチャするかを定義します。
-
Trigger Selector = Acquisition Start
-
意味: トリガー信号が入力された際に、カメラの「画像取得シーケンス全体」を開始します。単一のフレーム開始ではなく、より広範な画像取得処理の開始をトリガーするものです。
-
理由: このアプリケーションノートの例では、ソフトウェアトリガーに同期してカメラの動作を開始させています 。
Acquisition Start
は、一連の画像取得や特定の動作モード全体を、ソフトウェアからのコマンドで制御する際に用いられます。 -
-
Trigger Mode = On
- 意味: カメラのトリガー機能を有効にします。
- 理由: トリガー機能が「On」になっていないと、ソフトウェアトリガーであろうとハードウェアトリガーであろうと、カメラは画像取得開始の指示を受け付けません。トリガーによる制御を行うための必須設定です。
-
Trigger Source = Trigger Software
-
意味: カメラは、ソフトウェアからのコマンドによってトリガーが発行されるのを待ちます。
-
理由: この設定例のセクションは「設定手順 (ソフトウェアトリガに同期)」と明記されており、PC上のPylon Viewerやカスタムソフトウェアから画像取得を制御することを意図しています。Robot Lightの動作もソフトウェア側で制御し、それとカメラの同期を取る場合に適しています。
-
-
Exposure Time = 任意の値
- 意味: カメラの露光時間(シャッタースピード)を、ユーザーが任意の具体的な値(マイクロ秒単位)で手動設定します。
- 理由: アプリケーション(対象物の動きの速さ、照明の明るさ、求める画像の明るさやブレの許容度)に応じて最適な露光時間は異なります。ここでは自動調整ではなく、ユーザーが目的の画像を得るために最も適切な時間を決定して設定することを想定しています。
-
Shutter Mode = Global Reset Release
8- 意味: カメラのシャッター方式がグローバルシャッターであることを示します。これにより、センサー上のすべてのピクセルが同時に露光を開始し、同時に露光を終了します。
- 理由: 産業用アプリケーション、特に動いている物体を撮影する場合、ローリングシャッター方式で発生する画像の歪み(こんにゃく現象など)を防ぐために、グローバルシャッターが望ましいとされます。Robot Lightが使われるような検査・認識用途では、正確な画像が不可欠です。
Digital I/O Controls (デジタル入出力制御) の設定
これらの設定は、カメラの物理的な入出力ピンがどのように機能するかを定義します。ここでは、カメラからRobot Lightへ信号を送るための設定が含まれています。
-
Line Selector = Output Line 1
- 意味: カメラの複数のI/Oラインのうち、「Line1」をこれから設定する対象として選択しています。また、「Output Line1」という表記は、このラインが出力用として指定されていることを示唆しています。
- 理由: Robot Lightにトリガー信号や同期信号を送るために、カメラから特定のI/Oラインを通じて電気信号を出力する必要があります。ここでは、その出力に「Line1」を使用することを選択しています。
-
Line Mode = Output
- 意味: 選択されたI/Oライン(Line 1 )を「出力」モードとして構成します。これにより、カメラがこのピンを通じて外部機器(Robot Light)に信号を送信できるようになります。
- 理由: Robot Lightをカメラの動作と同期させるためには、カメラが光のON/OFFを制御する信号をライト側に送る必要があります。
Output
設定はこの目的のために不可欠です。
-
Line Source = Exposure Active
- 意味: 出力ライン(Line 1)の信号が「いつ」アクティブになるかを定義します。
Exposure Active
に設定すると、カメラのセンサーが実際に露光(光を取り込んでいる)している間だけ、この出力ラインがアクティブな状態になります。 - 理由: これは、Robot Lightをカメラの実際の露光期間と正確に同期させるための最も重要な設定です。カメラが画像を撮っている間だけライトを点灯(または消灯)させることで、必要な時だけ照明を供給し、無駄な電力消費を抑え、ライトの寿命を延ばすことができます。
- 意味: 出力ライン(Line 1)の信号が「いつ」アクティブになるかを定義します。
-
Line Inverter = checked
- 意味: 出力ライン(Line 1)から出力される信号の極性を反転させます。例えば、通常「High」になる信号を「Low」として出力したり、その逆を行ったりします。
- 理由: Robot Lightが期待する信号の極性(例: LowアクティブでONになる)に合わせて、カメラからの出力信号を調整するために使用されます。カメラの標準的な出力ロジックがライトの入力ロジックと異なる場合に、この反転機能で互換性を確保します。
これらの設定を組み合わせることで、Baslerカメラはソフトウェアからの指示を受けて画像取得を開始し、その画像取得の(露光)期間中にのみRobot Lightを点灯(または消灯)させるという、産業用アプリケーションで一般的に用いられる精密な同期動作を実現します。
補足:Trigger Selector = Acquisition Start
と Frame Start
の違い
Baslerカメラのトリガー設定において、Trigger Selector
は「何をトリガーするか」を指定する重要な項目です。一般的な用途でよく使われるのはFrame Start
ですが、Acquisition Start
も特定のシナリオで役立ちます。
Trigger Selector = Frame Start
(あなたが普段使っているもの)
- 意味: トリガー信号を受信した際に、次の「フレームの露光」を開始します。
- 役割: これが最も一般的なトリガー方法です。個々の写真(フレーム)を、外部イベント(例:部品がコンベア上を通過する瞬間、センサーの反応)と正確に同期させたい場合に理想的です。
- イメージ: シャッターボタンを押すたびに、新しい写真が1枚撮られるようなイメージです。
Trigger Selector = Acquisition Start
(Leimacの資料で指定されているもの)
- 意味: トリガー信号を受信した際に、カメラの「画像取得シーケンス全体」を開始します。
- 役割: これは、単一のフレームの露光開始だけでなく、カメラが画像を「撮り始める」という、より大きなプロセス全体を制御したい場合に用いられます。一度
Acquisition Start
トリガーが発行されると、カメラは設定されたフレームレートやその他の取得モード(例:連続取得モード)に従って画像の取得を開始し、そのシーケンスは明示的に停止されるか、または取得するフレーム数に達するまで続きます。 - イメージ: 録画ボタンを押して動画の撮影を開始するようなイメージです。一度トリガーされれば、カメラは設定された条件に基づいて連続して画像を生成し始めます。
なぜRobot Lightでは Acquisition Start
なのか?
Leimac社の「Robot Light」との連携を目的とした資料でAcquisition Start
が指定されているのは、以下のような理由が考えられます。
-
システム全体の起動同期: Robot Lightは単一の画像のためだけでなく、検査プロセス全体や一連のシーケンスのために照明を提供する場合があります。
Acquisition Start
を使うことで、PCからのソフトウェアコマンド一つでカメラと照明システム全体の画像取得準備を同期させることができます。 -
連続的な画像取得の前提: 資料のコンテキストでは、Robot Lightが継続的に発光しながら、カメラが複数のフレームを連続的に取得するようなシナリオが想定されている可能性があります。この場合、最初の「画像取得開始」のタイミングだけを外部からトリガーし、その後はカメラが自動的にフレームレートに従って画像を生成し続ける方が効率的です。
-
特定のアプリケーションロジック: Leimacのシステムにおいて、ソフトウェアトリガーはカメラ全体の撮影プロセスを制御するための「マスター開始」信号として機能し、その後の個々のフレームはカメラの内部フレームレート設定に基づいて取得される、という設計になっている可能性が高いです。 4
まとめると:
Frame Start
: 個々の露光タイミングを厳密に制御したい場合に適しています。(「1枚の写真をいつ撮るか」)Acquisition Start
: カメラの画像取得プロセス全体を、一度のトリガーで開始させたい場合に適しています。(「動画の撮影をいつ開始するか」)
カメラとRobot Lightを同期させた「撮影プロセス全体」の開始に焦点を当てているため、Acquisition Start
が選択されていると考えられます。