传输层参数#
pylon API 提供对几个不同传输层的访问:
- PylonGigE 表示使用 GigE Vision 协议的千兆以太网相机
- PylonUsb 表示符合 USB3 Vision 的相机
- PylonCLSer 表示使用 CL 串口的 Camera Link 相机(仅限于相机配置;不可用于 Linux 和 macOS 平台)
本主题描述与传输层有关的参数。
一般参数#
启用命令复制#
使用 CommandDuplicationEnable
参数启用两次发送所有命令和接收所有确认的功能。仅在网络出现问题时才应启用此选项。
检测信号超时#
HeartbeatTimeout
参数指定主机端的 检测信号超时。
此参数等效于 GevHeartbeatTimeout
参数,该参数在相机端设置检测信号超时。
HeartbeatTimeout
和 GevHeartbeatTimeout
参数自动同步。如果更改一个参数,则另一个参数也会相应更改。
最大重试计数读取#
使用 MaxRetryCountRead
参数可以指定读取操作超时后,读取操作的最大重试次数。
最大重试计数写入#
使用 MaxRetryCountWrite
参数指定读取操作超时后,写入操作的最大重试次数。
启用迁移模式#
使用 MigrationModeEnable
参数启用部分 SFNC 1.x 节点名称到 SFNC 2.x 节点名称的映射。这使您可以为与不同 SFNC(标准功能命名约定)版本兼容的相机设备编写代码。
如需了解详情,请参阅 pylon API 文档中的“迁移现有代码以使用基于 SFNC 2.x 的相机设备”部分。
读取超时#
使用 ReadTimeout
参数可以指定读取访问超时值(以毫秒为单位)。
如果执行 GigE Vision 控制协议命令耗时超过预期,则调整该值可能会有所帮助。
写入超时#
使用 WriteTimeout
参数指定写访问超时值(以毫秒为单位)。
如果执行 GigE Vision 控制协议命令耗时超过预期,则调整该值可能会有所帮助。
统计参数#
最后错误状态#
Statistic_Last_Error_Status
参数指示读取或写入操作的最后错误状态。
最后错误状态文本#
Statistic_Last_Error_Status_Text
参数指示最后一个失败缓冲区的状态码。
读取操作失败计数#
Statistic_Read_Operations_Failed_Count
参数对读取操作失败的次数进行计数。
读取管道重置计数#
Statistic_Read_Pipe_Reset_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 轻松设置参数。