跳转到内容

Runtime 5.9.0 已知问题#

本节提供有关 Basler Runtime 5.9.0 版本已知问题的信息。

所有组件#

总结 相机无法输出正确的图像
描述 如果多链路相机在图像数据跨链路分发方面不符合 CXP 标准,计算机将无法收到正确的图像。在 JAI SP-12000C-CXP4 相机上观察到了此问题。
受影响的操作系统 Windows 和 Linux
解决方法 暂无可用解决方案。
工单 ID TFS 211645
总结 相机模拟器的意外行为
描述 使用该 Applet 的内部相机模拟器时,所显示的带宽可能会低于预期。这意味着在使用当前模拟器时,可能会出现某些溢出状况。在使用真实相机时,不会出现此行为。该问题仅与内部相机模拟器有关。
受影响的操作系统 Windows 和 Linux
解决方法 暂无可用解决方案。
工单 ID –
总结 采集卡无法在启用 Windows 快速启动 的情况下工作
描述 在启用了快速启动(也称为混合启动或混合关机)的 Windows 8 或更高版本系统中,更改硬件设置并重启系统后,采集卡可能无法正常工作。
受影响的操作系统 Windows 8 或更高版本
解决方法 重新启动(显式重启,而非关机)可以解决这些问题。为了彻底避免这些问题,请按照 www.windowscentral.com 上的说明禁用快速启动。
工单 ID –
总结 以高帧率显示图像可能会导致对用户输入的响应变慢
描述 当使用 Framegrabber API 库 display_lib(仅适用于 Windows)时,以高帧率(约每秒 10,000 帧)显示图像可能会导致主机对用户输入(例如键盘和鼠标)的响应变慢。
受影响的操作系统 Windows
解决方法 暂无可用解决方案。
工单 ID –
总结 无法使用受信任的 Basler 证书对 Linux 驱动程序进行签名
描述 在 Linux 中使用安全启动(UEFI 模式)需要使用受信任证书签名的驱动程序。由于该驱动程序以源代码形式提供,因此无法使用受信任的 Basler 证书对其进行签名。
受影响的操作系统 Linux
解决方法 若要使用该驱动程序,可以禁用安全启动。或者,您可以按照此 Ubuntu 博客条目中的说明对驱动程序进行签名。
工单 ID –

采集卡#

总结 LED 12EXT 在发生错误事件时显示为红色
描述 当 imaWorx 未连接到外部电源时,LED 12EXT 本应显示为红色。然而,只有在连接了外部电源连接器时,该 LED 才会显示为红色,并且它错误地反映了 12V_DC_UP 的状态,而不是 12V_EXT。
解决方法 暂无可用解决方案。
工单 ID TFS 206709

固件#

总结 CXP-12 Interface Card 1C 卡的 PCIe 通信模块导致的数据丢失和系统冻结
描述 由于固件版本为 3.0 S1.1 P1(及相应的 Applet)的 CXP-12 Interface Card 1C 卡的 PCIe 通信模块存在问题,具体取决于计算机 PCI 硬件的敏感性,数据传输可能会失败并且系统可能会冻结。这种情况可能发生在:
  • 缓冲区的内存地址在 PCI 有效载荷大小边界后 4 字节处开始,或在其前 4 字节处结束。
  • 相机生成的帧,其字节大小是 4 的倍数,但不是 8 的倍数。
受影响的操作系统 Windows 和 Linux
受影响的硬件 固件版本为 3.0 S1.1 P1 的 CXP-12 Interface Card 1C 卡
解决方法 在可被 8 整除的 Memory 地址处创建缓冲区。如果所需的缓冲区大小不能被 8 整除,请分配额外的字节以满足此要求,并在处理数据时忽略此填充字节。a
工单 ID TFS 184670
总结 更改 DeviceUserID 需要重新启动 GenTL Producer 或其他应用程序
描述 当 DeviceUserID (确切地说是 CXP 引导寄存器的值 DeviceUserID) 发生更改时,需要重新启动 GenTL Producer 才能通过 GenTL API 反映该更改。当使用 GUI 通过 GenTL 与相机进行交互(即 pylon Viewer)时,需要重新启动该应用程序才能使更改可见。
受影响的操作系统 Windows 和 Linux
解决方法 暂无可用解决方案。
工单 ID TFS 207518

CXP-12 Interface Card 1C Applet#

总结 频繁更改链路速度会导致错误
描述 当在一个端口上频繁更改 CXP 链路速度时,可能会出现速度更改失效的情况。在这种情况下,系统会记录错误消息“Failed to set bitrate of uplink transceivers”和“Failed to set bitrate of downlink transceivers”。
由于相机发现会探测未连接的端口并因此更改其链路速度,因此当应用程序频繁尝试在未连接的端口上发现新相机时,可能会发生此问题。
受影响的操作系统 Windows 和 Linux
解决方法 重新加载 Applet:
可以通过加载不同的 Applet 然后再次加载原始 Applet 来重新加载 Applet。如果定义了名称为 SISO_FORCE_RELOAD_APPLET 且值为 是的环境变量,则无需先加载不同的 Applet 即可进行重新加载。
工单 ID TFS 197127

SDK#

总结 由于相机向图像采集卡传输图像速度缓慢而导致的图像损坏
描述 如果(重新)将缓冲区加入队列的速度慢于将图像从相机传输到图像采集卡的速度,则会传输损坏的图像。只能通过检查图像数据来检测此行为。
受影响的操作系统 Windows 和 Linux
解决方法 为避免出现这些损坏的图像,图像处理和缓冲区重新排队的速度必须快于相机的帧率。采集卡上的内部缓冲区足以平衡调度等原因引起的微小延迟。
由于此问题产生的中断帧小于配置的尺寸,因此意外变小的帧可以作为该问题的指标。您可以按如下方式确定帧数据的大小:
  • 使用 GenTL Producer:
    使用指定的路径 DSGetBufferInfo 并分别带有 BUFFER_INFO_SIZE_FILLED 作为命令。
    执行 NOT 使用 BUFFER_INFO_IS_INCOMPLETE 并且不检查 BUFFER_INFO_SIZE_FILLED < BUFFER_INFO_DATA_SIZE。这些检查将始终为 false。有关详细信息,请参阅章节 GenTL Producer.
  • 使用采集卡 SDK / fglib:
    使用指定的路径 Fg_getParameterEx 并分别带有 FG_TRANSFER_LEN 作为参数。
工单 ID TFS 207873

康耐视适配器#

总结 必须以 Admin 用户权限启动 Cognex VisionPro
描述 必须以 Admin 用户权限启动 Cognex VisionPro 才能访问采集卡。
受影响的操作系统 Windows 和 Linux
解决方法 暂无可用解决方案。
工单 ID TFS 187245
总结 内存有限导致大图像采集失败
描述 在设置较大的 ROI(例如 4096 x 3000)时,启动采集可能会失败并显示消息“采集异常失败。(Adapter image pool full.)”
发生这种情况是因为 VisionPro 限制了供应商特定 adapter 可使用的内存。
受影响的操作系统 Windows
解决方法 为避免这种情况,请按照 Cognex VisionPro Adapter Manual 中的说明通过 Windows 注册表增加限制
工单 ID TFS 203605

GenTL Producer#

总结 采集开始后更改的相机参数不会反映在采集卡中
描述 如果在图像采集过程中更改了相机参数,则该更改不会反映在采集卡中。这是因为 GenTL Producer 会在开始采集之前查询相关参数(宽度、高度、图像格式等)并将其与采集卡同步。
受影响的操作系统 Windows 和 Linux
解决方法 暂无可用解决方案。
工单 ID TFS 195482
总结 BUFFER_INFO_DATA_SIZE 包含传输的字节数而不是帧大小
描述 缓冲区 Property BUFFER_INFO_DATA_SIZE 未按预期工作: BUFFER_INFO_DATA_SIZE 应该包含配置的帧大小。但是,它确实包含实际传输的字节数,正如 BUFFER_INFO_SIZE_FILLED。因此,Property BUFFER_INFO_IS_INCOMPLETE 将始终为 false.
受影响的操作系统 Windows 和 Linux
解决方法 预期的 BUFFER_INFO_DATA_SIZE 通常等于图像的 width * height * pixel size.
工单 ID TFS 211972
总结 更改 Applet 时 GenTL 设备 ID 会发生更改
描述 根据 GenTL 标准,设备 ID 在两次会话之间应保持不变。但是,当 Applet 更改时,GenTL 设备 ID 会发生变化。因此,使用某个 Applet 查询到的设备 ID 只有在 Applet 的名称与生成设备 ID 的原始 Applet 名称相同时,才能用于不同的板卡和不同的 Applet。
受影响的操作系统 Windows 和 Linux
解决方法 暂无可用解决方案。
工单 ID –
总结 BUFFER_INFO_FRAME_ID 包含所有帧的 Counter,而不是 CXP 图像标头中的源标记
描述 GenTL BUFFER_INFO_FRAME_ID,可通过以下方式进行查询: DSGetBufferInfo,不包含来自 CXP 图像标头的源标签。相反,它包含发送到计算机的所有帧的 Counter。
受影响的操作系统 Windows 和 Linux
解决方法 暂无可用解决方案。
工单 ID TFS 197430

microDisplay X#

总结 设置 TriggerState 更改为 active 可能会导致采集超时
描述 设置 Applet 参数 TriggerState 更改为 active 在相机上开始采集之前,可能会导致采集超时且无法传输任何图像。
受影响的操作系统 Windows 和 Linux
解决方法 为避免这种情况,请确保 TriggerState 仅在采集启动后激活。
工单 ID TFS 191631
总结 在 Linux 上关闭 microDisplay X 时可能会崩溃
描述 在 Linux 上关闭 microDisplay X 时,它可能会崩溃。这不会产生其他后续影响,可以忽略。
受影响的操作系统 Linux
解决方法 暂无可用解决方案。
工单 ID TFS 211811

  1. 您可以使用以下代码示例来创建一个没有此数据传输问题的缓冲区:

    // create a ROI that could trigger the issue (for demonstration purposes only!)
    
        size_t imageWidthPx = 252;
    
        size_t imageHeightPx = 15;
    
        size_t pixelSizeBytes = 1;
    
    // compute the required buffer size for one image
    
    size_t imageSizeBytes = imageWidthPx * imageHeightPx * pixelSizeBytes;
    
    // set the buffer size to the nearest larger size that is divisible by 8
    
    size_t bufferSizeBytes = ((imageSizeBytes + 7) / 8) * 8;
    
    // add 4 more bytes so we can add an offset of 4 bytes if the address ends up being only 4 byte aligned
    
    bufferSizeBytes += 4;
    
    // allocate the buffer
    
    uint8_t* imageBuffer = (uint8_t*)malloc(bufferSizeBytes);
    
    // sanitize the address
    
    uint8_t* sanitizedImageBuffer = (((uintptr_t)(imageBuffer)) % 8 == 0)
    
        ? imageBuffer
    
        : imageBuffer + 4;
    
     /* [use the sanitized buffer] */
    
    // free the original(!) buffer
    
    free(imageBuffer);
    

     ↩