トランスポート層のパラメーター#
pylon APIは、複数の異なるトランスポート層へのアクセスを提供します。
- PylonGigE(GigE Visionプロトコルを使用したGigabit Ethernetカメラ用)
- PylonUsb(USB3 Visionに準拠したカメラ用)
- PylonCLSer(CLシリアルインターフェースを使用したCamera Linkカメラ用。カメラ設定のみに限定。LinuxおよびmacOSプラットフォームでは使用不可)
この項では、トランスポート層に関連するパラメーターについて説明します。
General Parameters#
Command Duplication Enable#
設定するピクセルのカラーコンポーネントを指定するには、 CommandDuplicationEnable すべてのコマンドの送信とすべての応答の受信を2回行うように有効化するパラメータです。このオプションは、ネットワークに問題がある場合にのみ有効にしてください。
GenDC Streaming Mode#
イメージ GenDCStreamingMode デバイスのストリーミングフォーマットを設定するパラメータです。つまり、画像取得時にデバイスが従来型の画像ペイロードを出力するか、GenDCコンテナを出力するかを決定します。
Off:データはネイティブフォーマットでストリーミングされます(従来型のGigE VisionやUSB 3.0 Visionの画像ペイロードなど)。On:データはGenDCフォーマットでストリーミングされます。つまり、カメラは、トランスポートインターフェース(GigE、USB 3.0、CoaXPressなど)に関係なく、データとそのデータを解釈するために必要なメタデータを束ねた自己記述型のGenDCコンテナを送信します。Automaticデバイスは、現在の設定と機能に基づいて、最も適切なストリーミング動作を自動的に選択します。
GenDC Streaming Status#
イメージ GenDC Streaming Status パラメータは、現在のデバイスのストリーミングフォーマットを示します:
Off:データはネイティブフォーマットでストリーミングされます(例:従来のGigE VisionやUSB3 Visionの画像ペイロードなど)。Gen DC Streaming Modeパラメータは次のように設定されます:Off.On:データはGenDCフォーマットでストリーミングされます。GenDCStreamingModeパラメータが次のように設定されていること:On.
このパラメーターは読み取り専用です。
GEV Streaming Mode#
イメージ GevStreamingMode パラメータは、GigE Visionカメラの画像データのストリーミングに使用されるストリーミングプロトコルを示します:
GVSP:GVSPストリーミングプロトコルが使用されます。GVRSP:GVRSPストリーミングプロトコルが使用されます。
Heartbeat Timeout#
イメージ HeartbeatTimeout パラメータは、 ハートビートタイムアウト をホスト側で指定します。
このパラメータは、 GevHeartbeatTimeout パラメータと同等であり、カメラ側のハートビートタイムアウトを設定します。
イメージ HeartbeatTimeout および GevHeartbeatTimeout パラメータは自動的に同期されます。一方のパラメータを変更すると、もう一方もそれに応じて変更されます。
Maximum Retry Count Read#
設定するピクセルのカラーコンポーネントを指定するには、 MaxRetryCountRead パラメータを使用して、読み取り操作がタイムアウトした後の読み取り操作の最大リトライ回数を指定します。
Maximum Retry Count Write#
設定するピクセルのカラーコンポーネントを指定するには、 MaxRetryCountWrite パラメータを使用して、読み取り操作がタイムアウトした後の書き込み操作の最大リトライ回数を指定します。
Migration Mode Enable#
設定するピクセルのカラーコンポーネントを指定するには、 MigrationModeEnable パラメータを使用して、特定のSFNC 1.xノード名からSFNC 2.xノード名へのマッピングを有効にします。これにより、さまざまなSFNC(Standard Features Naming Convention)バージョンと互換性のあるカメラデバイス用のコードを記述できるようになります。
詳細については、「pylon APIドキュメント」の「SFNC 2.xベースのカメラデバイスを使用するための既存コードの移行」セクションを参照してください。
Read Timeout#
設定するピクセルのカラーコンポーネントを指定するには、 ReadTimeout パラメータを使用して、読み取りアクセスタイムアウト値をミリ秒単位で指定します。
GigE Vision Control Protocolコマンドの実行に予想以上の時間がかかる場合、この値を調整すると有効なことがあります。
書き込みタイムアウト#
設定するピクセルのカラーコンポーネントを指定するには、 WriteTimeout パラメータを使用して、書き込みアクセスタイムアウト値をミリ秒単位で指定します。
GigE Vision Control Protocolコマンドの実行に予想以上の時間がかかる場合、この値を調整すると有効なことがあります。
統計パラメーター#
Last Error Status#
イメージ Statistic_Last_Error_Status パラメータは、読み取りまたは書き込み操作の最後のエラーステータスを示します。
Last Error Status Text#
イメージ Statistic_Last_Error_Status_Text パラメータは、最後に失敗したバッファのステータスコードを示します。
Read Operations Failed Count#
イメージ Statistic_Read_Operations_Failed_Count パラメータは、失敗した読み取り操作の数をカウントします。
Read Pipe Reset Count#
イメージ Statistic_Read_Pipe_Reset_Count パラメータは、読み取りパイプのリセット回数をカウントします。
Read Write Timeout Count#
イメージ StatisticReadWriteTimeoutCount パラメータは、デバイスからの応答を待機している間の読み取りおよび書き込み操作中のタイムアウトの発生回数をカウントします。
書き込み操作失敗回数#
イメージ Statistic_Write_Operations_Failed_Count パラメータは、失敗した書き込み操作の数をカウントします。
パイプリセットカウントの書き込み#
イメージ Statistic_Write_Pipe_Reset_Count パラメータは、書き込みパイプのリセット回数をカウントします。
サンプルコード#
// ** General Parameters **
// Command Duplication Enable
camera.GetTLParams().CommandDuplicationEnable.SetValue(true);
// Heartbeat Timeout
camera.GetTLParams().HeartbeatTimeout.SetValue(3000);
// Maximum Retry Count Read
camera.GetTLParams().MaxRetryCountRead.SetValue(2);
// Maximum Retry Count Write
camera.GetTLParams().MaxRetryCountWrite.SetValue(2);
// Migration Mode Enable
camera.GetTLParams().MigrationModeEnable.SetValue(true);
// Read Timeout
camera.GetTLParams().ReadTimeout.SetValue(500);
// Write Timeout
camera.GetTLParams().WriteTimeout.SetValue(500);
// ** Statistics Parameters **
// Last Error Status
int64_t lastErrorStatus = camera.GetTLParams().Statistic_Last_Error_Status.GetValue();
// Last Error Status Text
GenICam::gcstring lastErrorStatusText = camera.GetTLParams().Statistic_Last_Error_Status_Text.GetValue();
// Read Operations Failed Count
int64_t readOperationsFailedCount = camera.GetTLParams().Statistic_Read_Operations_Failed_Count.GetValue();
// Read Pipe Reset Count
int64_t readPipeResetCount = camera.GetTLParams().Statistic_Read_Pipe_Reset_Count.GetValue();
// Read Write Timeout Count
int64_t writePipeResetCount = camera.GetTLParams().StatisticReadWriteTimeoutCount.GetValue();
// Write Operations Failed Count
int64_t writeOperationsFailedCount = camera.GetTLParams().Statistic_Write_Operations_Failed_Count.GetValue();
// Write Pipe Reset Count
int64_t writePipeResetCount = camera.GetTLParams().Statistic_Write_Pipe_Reset_Count.GetValue();
// ** General Parameters **
// Command Duplication Enable
camera.Parameters[PLTransportLayer.CommandDuplicationEnable].SetValue(true);
// Heartbeat Timeout
camera.Parameters[PLTransportLayer.HeartbeatTimeout].SetValue(3000);
// Maximum Retry Count Read
camera.Parameters[PLTransportLayer.MaxRetryCountRead].SetValue(2);
// Maximum Retry Count Write
camera.Parameters[PLTransportLayer.MaxRetryCountWrite].SetValue(2);
// Migration Mode Enable
camera.Parameters[PLTransportLayer.MigrationModeEnable].SetValue(true);
// Read Timeout
camera.Parameters[PLTransportLayer.ReadTimeout].SetValue(500);
// Write Timeout
camera.Parameters[PLTransportLayer.WriteTimeout].SetValue(500);
// ** Statistics Parameters **
// Last Error Status
Int64 lastErrorStatus = camera.Parameters[PLTransportLayer.Statistic_Last_Error_Status].GetValue();
// Last Error Status Text
string lastErrorStatusText = camera.Parameters[PLTransportLayer.Statistic_Last_Error_Status_Text].GetValue();
// Read Operations Failed Count
Int64 readOperationsFailedCount = camera.Parameters[PLTransportLayer.Statistic_Read_Operations_Failed_Count].GetValue();
// Read Pipe Reset Count
Int64 readPipeResetCount = camera.Parameters[PLTransportLayer.Statistic_Read_Pipe_Reset_Count].GetValue();
// Read Write Timeout Count
Int64 writePipeResetCount = camera.Parameters[PLTransportLayer.StatisticReadWriteTimeoutCount].GetValue();
// Write Operations Failed Count
Int64 writeOperationsFailedCount = camera.Parameters[PLTransportLayer.Statistic_Write_Operations_Failed_Count].GetValue();
// Write Pipe Reset Count
Int64 writePipeResetCount = camera.Parameters[PLTransportLayer.Statistic_Write_Pipe_Reset_Count].GetValue();
pylon Viewerを使用して、パラメーターを簡単に設定することもできます。