コンテンツにスキップ

トランスポート層のパラメーター#

pylon APIで、「トランスポート層」という用語は、GigEやCamera Linkなどの物理インターフェースを表すために使用されます。

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を使用して、パラメーターを簡単に設定することもできます。