跳转到内容

传输层参数#

pylon API 中,术语“传输层”用于表示物理接口,例如 GigE 或 Camera Link。

pylon API 提供对几个不同传输层的访问:

  • PylonGigE 表示使用 GigE Vision 协议的千兆以太网相机
  • PylonUsb 表示符合 USB3 Vision 的相机
  • PylonCLSer 表示使用 CL 串口的 Camera Link 相机(仅限于相机配置;不可用于 Linux 和 macOS 平台)

本主题描述与传输层有关的参数。

一般参数#

启用命令复制#

使用 CommandDuplicationEnable 参数启用两次发送所有命令和接收所有确认的功能。仅在网络出现问题时才应启用此选项。

检测信号超时#

HeartbeatTimeout 参数指定主机端的 检测信号超时

此参数等效于 GevHeartbeatTimeout 参数,该参数在相机端设置检测信号超时。

HeartbeatTimeoutGevHeartbeatTimeout 参数自动同步。如果更改一个参数,则另一个参数也会相应更改。

最大重试计数读取#

使用 MaxRetryCountRead 参数可以指定读取操作超时后,读取操作的最大重试次数。

最大重试计数写入#

使用 MaxRetryCountWrite 参数指定读取操作超时后,写入操作的最大重试次数。

启用迁移模式#

使用 MigrationModeEnable 参数启用部分 SFNC 1.x 节点名称到 SFNC 2.x 节点名称的映射。这使您可以为与不同 SFNC(标准功能命名约定)版本兼容的相机设备编写代码。

有关更多信息,请参见 Basler pylon Camera Software Suite 随附的 C++ 程序员指南和参考文档(“高级主题”->“迁移现有代码以使用基于 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 轻松设置参数。