コンテンツにスキップ

Timer#

Timerカメラ機能を使用すると、特定のカメライベントで高になり、特定時間が経過すると低になるタイマー出力信号を設定できます。

機能を使用する#

The implementation of this feature varies depending on the camera:

ace 2, boost R, dart M/R, and racer 2 Cameras#

仕組み#

Timer 1 and Timer 2の2つのタイマーを使用できます。

タイマーの仕組みは次のとおりです。

  • 内部タイマーを開始するトリガーソースイベントが発生します。
  • 遅延が期限切れになり始めます。
  • アームの遅延が期限切れになり始めます。
  • 遅延が期限切れになると、タイマー出力信号は高になり、設定した持続時間の間は高に維持されます。
  • 持続時間が経過すると、タイマー出力信号は低になります。
  • アームの遅延時間が経過すると、カメラは次のトリガーソースイベントを受信できます。

Timer Operation

Timerの設定#

タイマーを設定するには、次の手順に従います。

  1. TimerSelectorパラメーターを目的のタイマー(Timer1など)に設定します。
  2. TimerDurationパラメーターを、目的のタイマー持続時間(マイクロ秒単位)に設定します。
  3. TimerDelayパラメーターを、目的のタイマー遅延(マイクロ秒単位)に設定します。
  4. TimerTriggerArmDelayパラメーターを、目的のアーム遅延(マイクロ秒単位)に設定します。
  5. LineSelectorパラメーターを、タイマー信号に使用する出力ラインに設定します。
    ラインがGPIOラインの場合は、ラインを出力として設定する必要があります。
  6. ステップ1でTimer 1を選択した場合、LineSourceパラメーターTimer1Activeに設定します。
  7. ステップ1でTimer 2を選択した場合、LineSourceパラメーターTimer2Activeに設定します。

Starting a Timer#

タイマーを開始するには次の手順に従います。

  1. TimerSelectorパラメーターを目的のタイマー(Timer1など)に設定します。
  2. TimerTriggerSourceパラメーターを、タイマーの開始に使用するソース(Line2など)に設定します。
  3. If applicable, set the TimerTriggerActivation パラメーターを次のいずれかの値に設定します。
    • RisingEdge(デフォルト):信号が上昇したとき(信号ステータスが低から高に変化したとき)にタイマーが開始されます。
    • FallingEdge:信号が下降したとき(信号ステータスが高から低に変化したとき)にタイマーが開始されます。
    • AnyEdge:信号が下降または上昇するとタイマーが開始されます。
    • LevelHigh:信号がのときにタイマーが開始されます。信号が低に変わるとタイマーは停止するため、再度開始する必要があります。
    • LevelLow:信号がになるとタイマーが開始されます。信号が高に変わるとタイマーは停止するため、再度開始する必要があります。
  4. 選択したタイマートリガーソースで信号を送信してタイマーを開始します。

開始されると、設定された遅延に関係なく、タイマーのステータスはすぐにTimerTriggerWaitからTimerActiveに変わります。ただし、タイマー出力信号は、遅延時間が経過してから高になります。

情報

TimerTriggerActivationパラメーターは、high(1)またはlow(0)にできるタイマートリガーソース(例:I/O信号またはExposureActiveのような「Active」信号)でのみ使用できます。

Resetting a Timer#

タイマーをリセットするには、TimerResetコマンドを実行します。

タイマーのステータスTimerActiveからTimerTriggerWaitに変わります。

これで、設定されているアーム遅延に関係なく、タイマーをすぐに再起動できるようになりました。

Getting the Status of a Timer#

タイマーの現在のステータスを取得するには、TimerStatusパラメーターの値を取得します。このパラメーターは読み取り専用です。

可能な値は次のとおりです。

  • TimerTriggerWait:タイマーは開始を待機しています。
  • TimerActive:タイマーが開始されました。タイマーは、設定された遅延に関係なく、トリガーソースイベントが発生するとすぐにこの状態に切り替わります。アーム遅延が設定されている場合、タイマーはアーム遅延時間が経過するまでTimerActive状態のままです。
  • TimerIdle:タイマーはアイドル状態です。TimerTriggerSourceパラメーターがOffに設定されている場合(つまり、タイマーを開始できない場合)、タイマーはこの状態になります。

ace Classic/U/Lカメラ#

仕組み#

1つのタイマーが使用できます:Timer 1。タイマーの動作は次のとおりです。

  • 内部タイマーを開始するトリガーソースイベント(Exposure Startなど)が発生します。
  • 遅延が期限切れになり始めます。
  • 遅延が期限切れになると、タイマー出力信号は高になり、設定した持続時間の間は高に維持されます。
  • 信号の持続時間が経過すると、タイマー出力信号は低になります。

Timer Operation

Timerの設定#

  1. LineSelectorパラメーターを、タイマー信号に使用する出力ラインに設定します。
    ラインがGPIOラインの場合は、ラインを出力として設定する必要があります。
  2. LineSourceパラメーターTimerActiveに設定します。
  3. TimerTriggerSourceパラメーターを、使用可能なトリガーソースイベントのいずれかに設定します。

    • ExposureStart:露光が開始されるとタイマーが開始します。
    • FlashWindowStartフラッシュウィンドウが開くとタイマー開始します。
  4. TimerDurationパラメーターを、目的のタイマー持続時間(マイクロ秒単位)に設定します。

  5. TimerDelayパラメーターを、目的のタイマー遅延(マイクロ秒単位)に設定します。

情報

一部のカメラモデルでは、最大タイマー持続時間とタイマー遅延の値を増やす必要があります。

Increasing the Maximum Timer Duration and Delay#

一部のカメラモデルでは、TimerDurationおよびTimerDelayパラメーターは、デフォルトの最大値4 095に制限されています。

これらのモデルで最大タイマー持続時間を延ばすには、次の手順に従います。

  1. 希望するタイマー持続時間を4 095で割り、結果を最も近い整数に切り上げます。
    例:タイマーの持続時間を50,000µsに設定するとします。50000/4095 = 12.21 ≈ 13。
  2. TimerDurationTimebaseAbsパラメーターを、手順1で決定した値(この場合は13)に設定します。
  3. TimerDurationパラメーターを目的のタイマー持続時間(この場合は50,000)に設定します。
    内部的には、カメラは次のようにタイマー持続時間を計算します:TimerDurationRaw x TimerDurationTimebaseAbs = TimerDurationAbs

これらのモデルで最大タイマー遅延を延ばすには、次の手順に従います。

  1. 希望するタイマー遅延を4 095で割り、結果を最も近い整数に切り上げます。
    例:タイマー遅延を6,000µsに設定するとします。6000/4095 = 1.47 ≈ 2
  2. TimerDelayTimebaseAbsパラメーターを、手順1で決定した値(この場合は2)に設定します。
  3. TimerDelayパラメーターを目的のタイマー遅延(この場合は6,000)に設定します。
    カメラは内部的にタイマー遅延を次のように計算します:TimerDelayRaw x TimerDelayTimebaseAbs = TimerDelayAbs

情報

TimerDurationTimebaseAbsおよびTimerDelayTimebaseAbsのパラメーター値によっては、カメラが正確なタイマー持続時間と遅延を達成できない場合があります。
例えば、TimerDurationTimebaseAbsパラメーターを13に設定すると、カメラは13の倍数のタイマー時間しか得られません。したがって、TimerDurationパラメーターを50 000に設定し、TimerDurationTimebaseAbsパラメーターを13に設定すると、カメラは自動的に設定値を可能な限り近い値に変更します(例:49 998、これは、最も近い13の倍数です)。

追加パラメーター#

  • TimerSelector:設定するタイマーを設定します。Basler ace Classic/U/Lカメラは1つのタイマーしかサポートしていないため、このパラメーターがプリセットされており、変更できません。

特性#

すべてのカメラモデルを表示します

カメラモデル Default Maximum Value for Timer Duration and Delay
a2A640-240gmSWIR 16 777 215
a2A640-240umSWIR 16 777 215
a2A1280-80gmSWIR 16 777 215
a2A1280-125umSWIR 16 777 215
a2A1920-51gcBAS 16 777 215
a2A1920-51gcPRO 16 777 215
a2A1920-51gmBAS 16 777 215
a2A1920-51gmPRO 16 777 215
a2A1920-160ucBAS 16 777 215
a2A1920-160ucPRO 16 777 215
a2A1920-160umBAS 16 777 215
a2A1920-160umPRO 16 777 215
a2A1920-165g5cBAS 16 777 215
a2A1920-165g5mBAS 16 777 215
a2A2048-35gmSWIR 16 777 215
a2A2048-37gcBAS 16 777 215
a2A2048-37gcPRO 16 777 215
a2A2048-37gmBAS 16 777 215
a2A2048-37gmPRO 16 777 215
a2A2048-110umSWIR 16 777 215
a2A2048-114g5cBAS 16 777 215
a2A2048-114g5mBAS 16 777 215
a2A2048-114ucBAS 16 777 215
a2A2048-114ucPRO 16 777 215
a2A2048-114umBAS 16 777 215
a2A2048-114umPRO 16 777 215
a2A2440-98g5cBAS 16 777 215
a2A2440-98g5mBAS 16 777 215
a2A2448-23gcBAS 16 777 215
a2A2448-23gcPRO 16 777 215
a2A2448-23gmBAS 16 777 215
a2A2448-23gmPRO 16 777 215
a2A2448-75ucBAS 16 777 215
a2A2448-75ucPRO 16 777 215
a2A2448-75umBAS 16 777 215
a2A2448-75umPRO 16 777 215
a2A2448-105g5cBAS 16 777 215
a2A2448-105g5mBAS 16 777 215
a2A2448-120cc 16 777 215
a2A2448-120cm 16 777 215
a2A2448-210cc 16 777 215
a2A2448-210cm 16 777 215
a2A2560-20gmSWIR 16 777 215
a2A2560-70umSWIR 16 777 215
a2A2590-22gcBAS 16 777 215
a2A2590-22gcPRO 16 777 215
a2A2590-22gmBAS 16 777 215
a2A2590-22gmPRO 16 777 215
a2A2590-60ucBAS 16 777 215
a2A2590-60ucPRO 16 777 215
a2A2590-60umBAS 16 777 215
a2A2590-60umPRO 16 777 215
a2A2600-20gcBAS 16 777 215
a2A2600-20gcPRO 16 777 215
a2A2600-20gmBAS 16 777 215
a2A2600-20gmPRO 16 777 215
a2A2600-64ucBAS 16 777 215
a2A2600-64ucPRO 16 777 215
a2A2600-64umBAS 16 777 215
a2A2600-64umPRO 16 777 215
a2A2840-14gcBAS 16 777 215
a2A2840-14gcPRO 16 777 215
a2A2840-14gmBAS 16 777 215
a2A2840-14gmPRO 16 777 215
a2A2840-14gmUV 16 777 215
a2A2840-48ucBAS 16 777 215
a2A2840-48ucPRO 16 777 215
a2A2840-48umBAS 16 777 215
a2A2840-48umPRO 16 777 215
a2A2840-48umUV 16 777 215
a2A2840-67g5cBAS 16 777 215
a2A2840-67g5mBAS 16 777 215
a2A2840-67g5mUV 16 777 215
a2A2840-86cc 16 777 215
a2A2840-86cm 16 777 215
a2A3536-9gcBAS 21 474 836.47
a2A3536-9gcPRO 21 474 836.47
a2A3536-9gmBAS 21 474 836.47
a2A3536-9gmPRO 21 474 836.47
a2A3536-31ucBAS 21 472 152.45
a2A3536-31ucPRO 21 472 152.45
a2A3536-31umBAS 21 472 152.45
a2A3536-31umPRO 21 472 152.45
a2A3536-42g5cBAS 21 474 836.47
a2A3536-42g5mBAS 21 474 836.47
a2A3840-13gcBAS 16 777 215
a2A3840-13gcPRO 16 777 215
a2A3840-13gmBAS 16 777 215
a2A3840-13gmPRO 16 777 215
a2A3840-45ucBAS 16 777 215
a2A3840-45ucPRO 16 777 215
a2A3840-45umBAS 16 777 215
a2A3840-45umPRO 16 777 215
a2A4096-9gcBAS 16 777 215
a2A4096-9gcPRO 16 777 215
a2A4096-9gmBAS 16 777 215
a2A4096-9gmPRO 16 777 215
a2A4096-30ucBAS 16 777 215
a2A4096-30ucPRO 16 777 215
a2A4096-30umBAS 16 777 215
a2A4096-30umPRO 16 777 215
a2A4096-44g5cBAS 16 777 215
a2A4096-44g5mBAS 16 777 215
a2A4096-67cc 16 777 215
a2A4096-67cm 16 777 215
a2A4200-12gcBAS 16 777 215
a2A4200-12gcPRO 16 777 215
a2A4200-12gmBAS 16 777 215
a2A4200-12gmPRO 16 777 215
a2A4200-40ucBAS 16 777 215
a2A4200-40ucPRO 16 777 215
a2A4200-40umBAS 16 777 215
a2A4200-40umPRO 16 777 215
a2A4504-5gcBAS 16 777 215
a2A4504-5gcPRO 16 777 215
a2A4504-5gmBAS 16 777 215
a2A4504-5gmPRO 16 777 215
a2A4504-18ucBAS 16 777 215
a2A4504-18ucPRO 16 777 215
a2A4504-18umBAS 16 777 215
a2A4504-18umPRO 16 777 215
a2A4504-27g5cBAS 16 777 215
a2A4504-27g5mBAS 16 777 215
a2A4504-42cc 16 777 215
a2A4504-42cm 16 777 215
a2A4508-6gcBAS 16 777 215
a2A4508-6gcPRO 16 777 215
a2A4508-6gmBAS 16 777 215
a2A4508-6gmPRO 16 777 215
a2A4508-20ucBAS 16 777 215
a2A4508-20ucPRO 16 777 215
a2A4508-20umBAS 16 777 215
a2A4508-20umPRO 16 777 215
a2A5060-4gcBAS 16 777 215
a2A5060-4gmBAS 16 777 215
a2A5060-15ucBAS 16 777 215
a2A5060-15umBAS 16 777 215
a2A5060-21g5cBAS 16 777 215
a2A5060-21g5mBAS 16 777 215
a2A5320-7gcBAS 16 777 215
a2A5320-7gcPRO 16 777 215
a2A5320-7gmBAS 16 777 215
a2A5320-7gmPRO 16 777 215
a2A5320-23ucBAS 16 777 215
a2A5320-23ucPRO 16 777 215
a2A5320-23umBAS 16 777 215
a2A5320-23umPRO 16 777 215
a2A5320-34g5cBAS 16 777 215
a2A5320-34g5mBAS 16 777 215
a2A5320-52cc 16 777 215
a2A5320-52cm 16 777 215
a2A5328-4gcBAS 16 777 215
a2A5328-4gcPRO 16 777 215
a2A5328-4gmBAS 16 777 215
a2A5328-4gmPRO 16 777 215
a2A5328-15ucBAS 16 777 215
a2A5328-15ucPRO 16 777 215
a2A5328-15umBAS 16 777 215
a2A5328-15umPRO 16 777 215
a2A5328-22g5cBAS 16 777 215
a2A5328-22g5mBAS 16 777 215
a2A5328-35cc 16 777 215
a2A5328-35cm 16 777 215
acA640-121gm 16 777 215
acA640-300gc 16 777 215
acA640-300gm 16 777 215
acA640-750uc 16 777 215
acA640-750um 16 777 215
acA720-290gc 16 777 215
acA720-290gm 16 777 215
acA720-520uc 16 777 215
acA720-520um 16 777 215
acA800-200gc 16 777 215
acA800-200gm 16 777 215
acA800-510uc 16 777 215
acA800-510um 16 777 215
acA1280-60gc 4 095
acA1280-60gm 4 095
acA1300-60gc 4 095
acA1300-60gm 4 095
acA1300-60gmNIR 4 095
acA1300-75gc 16 777 215
acA1300-75gm 16 777 215
acA1300-200uc 16 777 215
acA1300-200um 16 777 215
acA1440-73gc 16 777 215
acA1440-73gm 16 777 215
acA1440-220uc 16 777 215
acA1440-220um 16 777 215
acA1600-20gc 4 095
acA1600-20uc 16 777 215
acA1600-60gc 4 095
acA1600-60gm 4 095
acA1920-25gc 4 095
acA1920-25gm 4 095
acA1920-25uc 16 777 215
acA1920-25um 16 777 215
acA1920-40gc 16 777 215
acA1920-40gm 16 777 215
acA1920-40uc 16 777 215
acA1920-40ucMED 16 777 215
acA1920-40um 16 777 215
acA1920-40umMED 16 777 215
acA1920-48gc 16 777 215
acA1920-48gm 16 777 215
acA1920-50gc 16 777 215
acA1920-50gm 16 777 215
acA1920-150uc 16 777 215
acA1920-150um 16 777 215
acA1920-155uc 16 777 215
acA1920-155ucMED 16 777 215
acA1920-155um 16 777 215
acA1920-155umMED 16 777 215
acA2000-50gc 4 095
acA2000-50gm 4 095
acA2000-165uc 16 777 215
acA2000-165um 16 777 215
acA2040-25gc 4 095
acA2040-25gm 4 095
acA2040-25gmNIR 4 095
acA2040-35gc 16 777 215
acA2040-35gm 16 777 215
acA2040-55uc 16 777 215
acA2040-55um 16 777 215
acA2040-90uc 16 777 215
acA2040-90um 16 777 215
acA2040-90umNIR 16 777 215
acA2040-120uc 16 777 215
acA2040-120um 16 777 215
acA2440-20gc 16 777 215
acA2440-20gm 16 777 215
acA2440-35uc 16 777 215
acA2440-35ucMED 16 777 215
acA2440-35um 16 777 215
acA2440-35umMED 16 777 215
acA2440-75uc 16 777 215
acA2440-75ucMED 16 777 215
acA2440-75um 16 777 215
acA2440-75umMED 16 777 215
acA2500-14gc 4 095
acA2500-14gm 4 095
acA2500-14uc 16 777 215
acA2500-14um 16 777 215
acA2500-20gc 16 777 215
acA2500-20gcMED 16 777 215
acA2500-20gm 16 777 215
acA2500-20gmMED 16 777 215
acA2500-60uc 16 777 215
acA2500-60um 16 777 215
acA3088-16gc 16 777 215
acA3088-16gm 16 777 215
acA3088-57uc 16 777 215
acA3088-57ucMED 16 777 215
acA3088-57um 16 777 215
acA3088-57umMED 16 777 215
acA3800-10gc 4 095
acA3800-10gm 4 095
acA3800-14uc 16 777 215
acA3800-14um 16 777 215
acA4024-8gc 16 777 215
acA4024-8gm 16 777 215
acA4024-29uc 16 777 215
acA4024-29um 16 777 215
acA4096-11gc 16 777 215
acA4096-11gm 16 777 215
acA4096-30uc 16 777 215
acA4096-30ucMED 16 777 215
acA4096-30um 16 777 215
acA4096-30umMED 16 777 215
acA4096-40uc 16 777 215
acA4096-40ucMED 16 777 215
acA4096-40um 16 777 215
acA4096-40umMED 16 777 215
acA4112-8gc 16 777 215
acA4112-8gm 16 777 215
acA4112-20uc 16 777 215
acA4112-20ucMED 16 777 215
acA4112-20um 16 777 215
acA4112-20umMED 16 777 215
acA4112-30uc 16 777 215
acA4112-30ucMED 16 777 215
acA4112-30um 16 777 215
acA4112-30umMED 16 777 215
acA5472-5gc 16 777 215
acA5472-5gm 16 777 215
acA5472-17uc 16 777 215
acA5472-17ucMED 16 777 215
acA5472-17um 16 777 215
acA5472-17umMED 16 777 215
boA1936-400cc 16 777 215
boA1936-400cm 16 777 215
boA2448-250cc 16 777 215
boA2448-250cm 16 777 215
boA2832-190cc 16 777 215
boA2832-190cm 16 777 215
boA4096-93cc 16 777 215
boA4096-93cm 16 777 215
boA4096-180cc 16 777 215
boA4096-180cm 16 777 215
boA4112-68cc 16 777 215
boA4112-68cm 16 777 215
boA4500-45cc 16 777 215
boA4500-45cm 16 777 215
boA4504-100cc 16 777 215
boA4504-100cm 16 777 215
boA5120-150cc Timer機能はサポートされていません
boA5120-150cm Timer機能はサポートされていません
boA5120-230cc Timer機能はサポートされていません
boA5120-230cm Timer機能はサポートされていません
boA5320-150cc 16 777 215
boA5320-150cm 16 777 215
boA5328-100cc 16 777 215
boA5328-100cm 16 777 215
boA6500-36cc 16 777 215
boA6500-36cm 16 777 215
boA8100-16cc 16 777 215
boA8100-16cm 16 777 215
boA9344-30cc Timer機能はサポートされていません
boA9344-30cm Timer機能はサポートされていません
boA9344-70cc Timer機能はサポートされていません
boA9344-70cm Timer機能はサポートされていません
boA13440-17cm 16 777 215
daA720-520uc 16 777 215
daA720-520um 16 777 215
daA1280-54uc Timer機能はサポートされていません
daA1280-54um Timer機能はサポートされていません
daA1440-220uc 16 777 215
daA1440-220um 16 777 215
daA1600-60uc Timer機能はサポートされていません
daA1600-60um Timer機能はサポートされていません
daA1920-15um Timer機能はサポートされていません
daA1920-30uc Timer機能はサポートされていません
daA1920-30um Timer機能はサポートされていません
daA1920-160uc 16 777 215
daA1920-160um 16 777 215
daA2448-70uc 16 777 215
daA2448-70um 16 777 215
daA2500-14uc Timer機能はサポートされていません
daA2500-14um Timer機能はサポートされていません
daA3840-45uc 16 777 215
daA3840-45um 16 777 215
dmA720-290gc 16 777 215
dmA720-290gm 16 777 215
dmA1440-73gc 16 777 215
dmA1440-73gm 16 777 215
dmA1920-51gc 16 777 215
dmA1920-51gm 16 777 215
dmA2048-37gc 16 777 215
dmA2048-37gm 16 777 215
dmA2448-23gc 16 777 215
dmA2448-23gm 16 777 215
dmA2840-14gc 16 777 215
dmA2840-14gm 16 777 215
dmA3536-9gc 21 474 836.47
dmA3536-9gm 21 474 836.47
dmA4096-9gc 16 777 215
dmA4096-9gm 16 777 215
puA1280-54uc Timer機能はサポートされていません
puA1280-54um Timer機能はサポートされていません
puA1600-60uc Timer機能はサポートされていません
puA1600-60um Timer機能はサポートされていません
puA1920-30uc Timer機能はサポートされていません
puA1920-30um Timer機能はサポートされていません
puA2500-14uc Timer機能はサポートされていません
puA2500-14um Timer機能はサポートされていません
r2L2048-29gc 16 777 215
r2L2048-58gm 16 777 215
r2L2048-62cc 16 777 215
r2L2048-62g5c 16 777 215
r2L2048-172cm 16 777 215
r2L2048-172g5m 16 777 215
r2L4096-14gc 16 777 215
r2L4096-29gm 16 777 215
r2L4096-42cc 16 777 215
r2L4096-42g5c 16 777 215
r2L4096-84cm 16 777 215
r2L4096-84g5m 16 777 215
r2L8192-200cm 21 474 836.47
r2L16384-120cm 21 474 836.47

サンプルコード#

ace 2, boost R, dart M/R, and racer 2 Cameras#
// Select Timer 1
camera.TimerSelector.SetValue(TimerSelector_Timer1);
// Set the timer duration to 1000 microseconds
camera.TimerDuration.SetValue(1000.0);
// Set the timer delay to 500 microseconds
camera.TimerDelay.SetValue(500.0);
// Set the timer trigger arm delay to 5000 microseconds
camera.TimerTriggerArmDelay.SetValue(5000.0);
// Select Line 2 and configure the line as output
camera.LineSelector.SetValue(LineSelector_Line2);
camera.LineMode.SetValue(LineMode_Output);
// Specify that the timer signal is output on Line 2
camera.LineSource.SetValue(LineSource_Timer1Active);
// Specify that the timer starts whenever a rising signal is detected on Line 1
camera.TimerTriggerSource.SetValue(TimerTriggerSource_Line1);
camera.TimerTriggerActivation.SetValue(TimerTriggerActivation_RisingEdge);
// Reset the timer
camera.TimerReset.Execute();
// Get the current status of the timer
TimerStatusEnums timerStatus = camera.TimerStatus.GetValue();
INodeMap& nodemap = camera.GetNodeMap();
// Select Timer 1
CEnumParameter(nodemap, "TimerSelector").SetValue("Timer1");
// Set the timer duration to 1000 microseconds
CFloatParameter(nodemap, "TimerDuration").SetValue(1000.0);
// Set the timer delay to 500 microseconds
CFloatParameter(nodemap, "TimerDelay").SetValue(500.0);
// Set the timer trigger arm delay to 5000 microseconds
CFloatParameter(nodemap, "TimerTriggerArmDelay").SetValue(5000.0);
// Select Line 2 and configure the line as output
CEnumParameter(nodemap, "LineSelector").SetValue("Line2");
CEnumParameter(nodemap, "LineMode").SetValue("Output");
// Specify that the timer signal is output on Line 2
CEnumParameter(nodemap, "LineSource").SetValue("Timer1Active");
// Specify that the timer starts whenever a rising signal is detected on Line 1
CEnumParameter(nodemap, "TimerTriggerSource").SetValue("Line1");
CEnumParameter(nodemap, "TimerTriggerActivation").SetValue("RisingEdge");
// Reset the timer
CCommandParameter(nodemap, "TimerReset").Execute();
// Get the current status of the timer
String_t timerStatus = CEnumParameter(nodemap, "TimerStatus").GetValue();
// Select Timer 1
camera.Parameters[PLCamera.TimerSelector].SetValue(PLCamera.TimerSelector.Timer1);
// Set the timer duration to 1000 microseconds
camera.Parameters[PLCamera.TimerDuration].SetValue(1000.0);
// Set the timer delay to 500 microseconds
camera.Parameters[PLCamera.TimerDelay].SetValue(500.0);
// Set the timer trigger arm delay to 5000 microseconds
camera.Parameters[PLCamera.TimerTriggerArmDelay].SetValue(5000.0);
// Select Line 2 and configure the line as output
camera.Parameters[PLCamera.LineSelector].SetValue(PLCamera.LineSelector.Line2);
camera.Parameters[PLCamera.LineMode].SetValue(PLCamera.LineMode.Output);
// Specify that the timer signal is output on Line 2
camera.Parameters[PLCamera.LineSource].SetValue(PLCamera.LineSource.Timer1Active);
// Specify that the timer starts whenever a rising signal is detected on Line 1
camera.Parameters[PLCamera.TimerTriggerSource].SetValue(PLCamera.TimerTriggerSource.Line1);
camera.Parameters[PLCamera.TimerTriggerActivation].SetValue(PLCamera.TimerTriggerActivation.RisingEdge);
// Reset the timer
camera.Parameters[PLCamera.TimerReset].Execute();
// Get the current status of the timer
string timerStatus = camera.Parameters[PLCamera.TimerStatus].GetValue();
/* Macro to check for errors */
#define CHECK(errc) if (GENAPI_E_OK != errc) printErrorAndExit(errc)
GENAPIC_RESULT errRes = GENAPI_E_OK;  /* Return value of pylon methods */
size_t len = 0;
char timerStatus_str[64] = {0};
/* Select Timer 1 */
errRes = PylonDeviceFeatureFromString(hdev, "TimerSelector", "Timer1");
CHECK(errRes);
/* Set the timer duration to 1000 microseconds */
errRes = PylonDeviceSetFloatFeature(hdev, "TimerDuration", 1000.0);
CHECK(errRes);
/* Set the timer delay to 500 microseconds */
errRes = PylonDeviceSetFloatFeature(hdev, "TimerDelay", 500.0);
CHECK(errRes);
/* Set the timer trigger arm delay to 5000 microseconds */
errRes = PylonDeviceSetFloatFeature(hdev, "TimerTriggerArmDelay", 5000.0);
CHECK(errRes);
/* Select Line 2 and configure the line as output */
errRes = PylonDeviceFeatureFromString(hdev, "LineSelector", "Line2");
CHECK(errRes);
errRes = PylonDeviceFeatureFromString(hdev, "LineMode", "Output");
CHECK(errRes);
/* Specify that the timer signal is output on Line 2 */
errRes = PylonDeviceFeatureFromString(hdev, "LineSource", "Timer1Active");
CHECK(errRes);
/* Specify that the timer starts whenever a rising signal is detected on Line 1 */
errRes = PylonDeviceFeatureFromString(hdev, "TimerTriggerSource", "Line1");
CHECK(errRes);
errRes = PylonDeviceFeatureFromString(hdev, "TimerTriggerActivation", "RisingEdge");
CHECK(errRes);
/* Reset the timer */
errRes = PylonDeviceExecuteCommandFeature(hdev, "TimerReset");
CHECK(errRes);
/* Get the current status of the timer */
len = sizeof(timerStatus_str);
errRes = PylonDeviceFeatureToString(hdev, "TimerStatus", timerStatus_str, &len);
CHECK(errRes);
# Select Timer 1
camera.TimerSelector.Value = "Timer1"
# Set the timer duration to 1000 microseconds
camera.TimerDuration.Value = 1000.0
# Set the timer delay to 500 microseconds
camera.TimerDelay.Value = 500.0
# Set the timer trigger arm delay to 5000 microseconds
camera.TimerTriggerArmDelay.Value = 5000.0
# Select Line 2 and configure the line as output
camera.LineSelector.Value = "Line2"
camera.LineMode.Value = "Output"
# Specify that the timer signal is output on Line 2
camera.LineSource.Value = "Timer1Active"
# Specify that the timer starts whenever a rising signal is detected on Line 1
camera.TimerTriggerSource.Value = "Line1"
camera.TimerTriggerActivation.Value = "RisingEdge"
# Reset the timer
camera.TimerReset.Execute()
# Get the current status of the timer
timerStatus = camera.TimerStatus.Value
ace Classic/U/L GigEカメラ#
// Select Line 2 (output line)
camera.LineSelector.SetValue(LineSelector_Line2);
// Specify that the timer signal is output on Line 2
camera.LineSource.SetValue(LineSource_TimerActive);
// Specify that the timer starts when exposure starts
camera.TimerTriggerSource.SetValue(TimerTriggerSource_ExposureStart);
// Set the timer duration to 1000 microseconds
camera.TimerDurationAbs.SetValue(1000.0);
// Set the timer delay to 500 microseconds
camera.TimerDelayAbs.SetValue(500.0);
INodeMap& nodemap = camera.GetNodeMap();
// Select Line 2 (output line)
CEnumParameter(nodemap, "LineSelector").SetValue("Line2");
// Specify that the timer signal is output on Line 2
CEnumParameter(nodemap, "LineSource").SetValue("TimerActive");
// Specify that the timer starts when exposure starts
CEnumParameter(nodemap, "TimerTriggerSource").SetValue("ExposureStart");
// Set the timer duration to 1000 microseconds
CFloatParameter(nodemap, "TimerDurationAbs").SetValue(1000.0);
// Set the timer delay to 500 microseconds
CFloatParameter(nodemap, "TimerDelayAbs").SetValue(500.0);
// Select Line 2 (output line)
camera.Parameters[PLCamera.LineSelector].SetValue(PLCamera.LineSelector.Line2);
// Specify that the timer signal is output on Line 2
camera.Parameters[PLCamera.LineSource].SetValue(PLCamera.LineSource.TimerActive);
// Specify that the timer starts when exposure starts
camera.Parameters[PLCamera.TimerTriggerSource].SetValue(PLCamera.TimerTriggerSource.ExposureStart);
// Set the timer duration to 1000 microseconds
camera.Parameters[PLCamera.TimerDurationAbs].SetValue(1000.0);
// Set the timer delay to 500 microseconds
camera.Parameters[PLCamera.TimerDelayAbs].SetValue(500.0);
/* Macro to check for errors */
#define CHECK(errc) if (GENAPI_E_OK != errc) printErrorAndExit(errc)
GENAPIC_RESULT errRes = GENAPI_E_OK;  /* Return value of pylon methods */
/* Select Line 2 (output line) */
errRes = PylonDeviceFeatureFromString(hdev, "LineSelector", "Line2");
CHECK(errRes);
/* Specify that the timer signal is output on Line 2 */
errRes = PylonDeviceFeatureFromString(hdev, "LineSource", "TimerActive");
CHECK(errRes);
/* Specify that the timer starts when exposure starts */
errRes = PylonDeviceFeatureFromString(hdev, "TimerTriggerSource", "ExposureStart");
CHECK(errRes);
/* Set the timer duration to 1000 microseconds */
errRes = PylonDeviceSetFloatFeature(hdev, "TimerDurationAbs", 1000.0);
CHECK(errRes);
/* Set the timer delay to 500 microseconds */
errRes = PylonDeviceSetFloatFeature(hdev, "TimerDelayAbs", 500.0);
CHECK(errRes);
# Select Line 2 (output line)
camera.LineSelector.Value = "Line2"
# Specify that the timer signal is output on Line 2
camera.LineSource.Value = "TimerActive"
# Specify that the timer starts when exposure starts
camera.TimerTriggerSource.Value = "ExposureStart"
# Set the timer duration to 1000 microseconds
camera.TimerDurationAbs.Value = 1000.0
# Set the timer delay to 500 microseconds
camera.TimerDelayAbs.Value = 500.0
その他のカメラ#
// Select Line 2 (output line)
camera.LineSelector.SetValue(LineSelector_Line2);
// Specify that the timer signal is output on Line 2
camera.LineSource.SetValue(LineSource_Timer1Active);
// Specify that the timer starts when exposure starts
camera.TimerTriggerSource.SetValue(TimerTriggerSource_ExposureStart);
// Set the timer duration to 1000 microseconds
camera.TimerDuration.SetValue(1000.0);
// Set the timer delay to 500 microseconds
camera.TimerDelay.SetValue(500.0);
INodeMap& nodemap = camera.GetNodeMap();
// Select Line 2 (output line)
CEnumParameter(nodemap, "LineSelector").SetValue("Line2");
// Specify that the timer signal is output on Line 2
CEnumParameter(nodemap, "LineSource").SetValue("Timer1Active");
// Specify that the timer starts when exposure starts
CEnumParameter(nodemap, "TimerTriggerSource").SetValue("ExposureStart");
// Set the timer duration to 1000 microseconds
CFloatParameter(nodemap, "TimerDuration").SetValue(1000.0);
// Set the timer delay to 500 microseconds
CFloatParameter(nodemap, "TimerDelay").SetValue(500.0);
// Select Line 2 (output line)
camera.Parameters[PLCamera.LineSelector].SetValue(PLCamera.LineSelector.Line2);
// Specify that the timer signal is output on Line 2
camera.Parameters[PLCamera.LineSource].SetValue(PLCamera.LineSource.Timer1Active);
// Specify that the timer starts when exposure starts
camera.Parameters[PLCamera.TimerTriggerSource].SetValue(PLCamera.TimerTriggerSource.ExposureStart);
// Set the timer duration to 1000 microseconds
camera.Parameters[PLCamera.TimerDuration].SetValue(1000.0);
// Set the timer delay to 500 microseconds
camera.Parameters[PLCamera.TimerDelay].SetValue(500.0);
/* Macro to check for errors */
#define CHECK(errc) if (GENAPI_E_OK != errc) printErrorAndExit(errc)
GENAPIC_RESULT errRes = GENAPI_E_OK;  /* Return value of pylon methods */
/* Select Line 2 (output line) */
errRes = PylonDeviceFeatureFromString(hdev, "LineSelector", "Line2");
CHECK(errRes);
/* Specify that the timer signal is output on Line 2 */
errRes = PylonDeviceFeatureFromString(hdev, "LineSource", "Timer1Active");
CHECK(errRes);
/* Specify that the timer starts when exposure starts */
errRes = PylonDeviceFeatureFromString(hdev, "TimerTriggerSource", "ExposureStart");
CHECK(errRes);
/* Set the timer duration to 1000 microseconds */
errRes = PylonDeviceSetFloatFeature(hdev, "TimerDuration", 1000.0);
CHECK(errRes);
/* Set the timer delay to 500 microseconds */
errRes = PylonDeviceSetFloatFeature(hdev, "TimerDelay", 500.0);
CHECK(errRes);
# Select Line 2 (output line)
camera.LineSelector.Value = "Line2"
# Specify that the timer signal is output on Line 2
camera.LineSource.Value = "Timer1Active"
# Specify that the timer starts when exposure starts
camera.TimerTriggerSource.Value = "ExposureStart"
# Set the timer duration to 1000 microseconds
camera.TimerDuration.Value = 1000.0
# Set the timer delay to 500 microseconds
camera.TimerDelay.Value = 500.0

pylon Viewerを使用して、パラメーターを簡単に設定することもできます。