跳转到内容
STAGING SERVER
DEVELOPMENT SERVER

传输层参数#

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

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

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

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

一般参数#

启用命令复制#

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

GenDC Streaming Mode#

即: GenDCStreamingMode 该参数用于设置设备的传输流格式,即确定设备在图像采集期间输出传统的图像有效载荷还是 GenDC 容器:

  • Off:以原生格式传输数据(例如,作为传统的 GigE Vision 或 USB 3.0 Vision 图像有效载荷)。
  • On:以 GenDC 格式传输数据,即相机传输自描述的 GenDC 容器,该容器将数据以及解释该数据所需的元数据打包在一起,而与传输接口(GigE、USB 3.0、CoaXPress 等)无关。
  • 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 流传输协议。

检测信号超时#

即: HeartbeatTimeout 参数指定 心跳超时 在主机端。

此参数等同于 GevHeartbeatTimeout 参数,用于设置相机端的心跳超时。

即: HeartbeatTimeout 和 GevHeartbeatTimeout 参数会自动同步。如果更改其中一个参数,另一个参数也会相应更改。

最大重试计数读取#

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

最大重试计数写入#

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

启用迁移模式#

使用 MigrationModeEnable 参数用于启用将某些 SFNC 1.x 节点名称映射到 SFNC 2.x 节点名称的功能。这使您能够为兼容不同 SFNC (Standard Features Naming Convention) 版本的相机设备编写代码。

如需了解详情,请参阅 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 parameter 用于计算写入操作失败的次数。

写入管道重置计数#

即: Statistic_Write_Pipe_Reset_Count parameter 用于计算写入管道重置的次数。

示例代码#

// ** 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 轻松设置参数。