コンテンツにスキップ

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 parameter to the desired timer, e.g., Timer1.
  2. パラメーターを TimerDuration parameter to the desired timer duration in microseconds.
  3. パラメーターを TimerDelay parameter to the desired timer delay in microseconds.
  4. パラメーターを TimerTriggerArmDelay parameter to the desired arm delay in microseconds.
  5. パラメーターを LineSelector parameter to the output line that you want to use for the timer signal.
    If the line is a GPIO line, the line must be configured as output.
  6. If you selected Timer 1 in step 1, set the LineSource parameter to Timer1Active.
  7. If you selected Timer 2 in step 1, set the LineSource parameter to Timer2Active.

Starting a Timer#

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

  1. パラメーターを TimerSelector parameter to the desired timer, e.g., Timer1.
  2. パラメーターを TimerTriggerSource parameter to the source that you want to use to start the timer, e.g., Line2.
  3. If applicable, set the TimerTriggerActivation パラメーターを次のいずれかの値に設定します。
    • RisingEdge (default): The timer starts when the signal rises, i.e., when the signal status changes from low to high.
    • FallingEdge: The timer starts when the signal falls, i.e., when the signal status changes from high to low.
    • AnyEdge: The timer starts when the signal falls or rises.
    • LevelHigh: The timer starts when the signal is high. When the signal changes to low, the timer stops and must be started again.
    • LevelLow: The timer starts when the signal is low. When the signal changes to high, the timer stops and must be started again.
  4. 選択したタイマートリガーソースで信号を送信してタイマーを開始します。

When started, the timer's status immediately changes from TimerTriggerWait to TimerActive, regardless of the delay set. However, the timer output signal will only go high after the delay has expired.

情報

イメージ TimerTriggerActivation parameter is only available for timer trigger sources that can be high (1) or low (0), i.e., an I/O signal or an "Active" signal like ExposureActive.

Resetting a Timer#

To reset a timer, execute the TimerReset command.

The timer's status changes from TimerActive to TimerTriggerWait.

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

Getting the Status of a Timer#

To get the current status of a timer, get the value of the TimerStatus parameter. This parameter is read-only.

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

  • TimerTriggerWait: The timer is waiting to be started.
  • TimerActive: The timer has been started. A timer immediately switches to this state when the trigger source event occurs, regardless of the delay set. If an arm delay is set, the timer remains in the TimerActive state until the arm delay has expired.
  • TimerIdle: The timer is idle. A timer is in this state whenever the TimerTriggerSource parameter is set o Off, i.e., the timer can't be started.

ace Classic/U/Lカメラ#

仕組み#

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

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

Timer Operation

Timerの設定#

  1. パラメーターを LineSelector parameter to the output line that you want to use for the timer signal.
    If the line is a GPIO line, the line must be configured as output.
  2. パラメーターを LineSource parameter to TimerActive.
  3. パラメーターを TimerTriggerSource parameter to one of the available trigger source events:

    • ExposureStart: The timer starts when the exposure starts.
    • FlashWindowStart: The timer starts when the flash window opens.
  4. パラメーターを TimerDuration parameter to the desired timer duration in microseconds.

  5. パラメーターを TimerDelay parameter to the desired timer delay in microseconds.

情報

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

Increasing the Maximum Timer Duration and Delay#

その some camera models, the TimerDuration and TimerDelay parameters are limited to a default maximum value of 4 095.

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

  1. 希望するタイマー持続時間を4 095で割り、結果を最も近い整数に切り上げます。
    例:タイマーの持続時間を50,000µsに設定するとします。50000/4095 = 12.21 ≈ 13。
  2. パラメーターを TimerDurationTimebaseAbs parameter to the value determined in step 1, in this case 13.
  3. パラメーターを TimerDuration parameter to the desired timer duration, in this case 50 000.
    Internally, the camera calculates the timer duration as follows: TimerDurationRaw x TimerDurationTimebaseAbs = TimerDurationAbs.

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

  1. 希望するタイマー遅延を4 095で割り、結果を最も近い整数に切り上げます。
    例:タイマー遅延を6,000µsに設定するとします。6000/4095 = 1.47 ≈ 2
  2. パラメーターを TimerDelayTimebaseAbs parameter to the value determined in step 1, in this case 2.
  3. パラメーターを TimerDelay parameter to the desired timer delay, in this case 6 000.
    Internally, the camera calculates the timer delay as follows: TimerDelayRaw x TimerDelayTimebaseAbs = TimerDelayAbs.

情報

Depending on the TimerDurationTimebaseAbs and TimerDelayTimebaseAbs parameter values, the camera may not be able to achieve the exact timer duration and delay desired.
For example, if you set the TimerDurationTimebaseAbs parameter to 13, the camera can only achieve timer durations that are a multiple of 13. Therefore, if you set the TimerDuration parameter to 50 000 and the TimerDurationTimebaseAbs parameter to 13, the camera will automatically change the setting to the nearest possible value (e.g., 49 998, which is the nearest multiple of 13).

追加パラメーター#

  • TimerSelector: Sets which timer to configure. Because Basler ace Classic/U/L cameras support only one timer, this parameter is preset and can't be changed.

特性#

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

カメラモデル 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-110umSWIR 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
dmA3536-9gc 21 474 836.47
dmA3536-9gm 21 474 836.47
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を使用して、パラメーターを簡単に設定することもできます。