トランスポート層のパラメーター#
pylon APIは、複数の異なるトランスポート層へのアクセスを提供します。
- PylonGigE(GigE Visionプロトコルを使用したGigabit Ethernetカメラ用)
- PylonUsb(USB3 Visionに準拠したカメラ用)
- PylonCLSer(CLシリアルインターフェースを使用したCamera Linkカメラ用。カメラ設定のみに限定。LinuxおよびmacOSプラットフォームでは使用不可)
この項では、トランスポート層に関連するパラメーターについて説明します。
General Parameters#
Command Duplication Enable#
CommandDuplicationEnable
パラメーターを使用して、すべてのコマンドの送信とすべての確認応答の受信を2回イネーブルにします。このオプションは、ネットワークに問題がある場合にのみ有効にする必要があります。
Heartbeat Timeout#
HeartbeatTimeout
パラメーターは、ホスト側のハートビートタイムアウトを指定します。
このパラメーターは、カメラ側のハートビートタイムアウトを設定するGevHeartbeatTimeout
パラメーターと同じです。
HeartbeatTimeout
およびGevHeartbeatTimeout
パラメーターは自動的に同期されます。片方のパラメーターを変更すると、それに応じてもう一方のパラメーターも変更されます。
Maximum Retry Count Read#
MaxRetryCountRead
パラメーターを使用して、読み取り操作がタイムアウトした後の読み取り操作の最大再試行回数を指定します。
Maximum Retry Count Write#
MaxRetryCountWrite
パラメーターを使用して、読み取り操作がタイムアウトした後の書き込み操作の最大再試行回数を指定します。
Migration Mode Enable#
特定のSFNC1.xノード名とSFNC2.xノード名のマッピングを有効にするには、MigrationModeEnable
パラメーターを使用します。これにより、異なる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を使用して、パラメーターを簡単に設定することもできます。