教程

pylon:面向实时与高性能的GigE Vision系统

针对Windows和Linux优化系统

在本教程中,您将学习如何在pylon中设置单台和多台相机,以便在应用中实现性能最大化。重点在于优化GigE Vision设置,这需要仔细考虑到相机、线缆、网络接口卡(NIC)和交换机。

快速入门 - 通过5个步骤实现稳定的数据流

  1. 在pylon Viewer中打开相机 → 数据包大小调为最大,数据包间隔延迟(IPD)调为平衡,保存用户设置

  2. Windows / Linux:启用巨型帧 (MTU 8192-9014)

  3. 增加网络接口卡(NIC)缓冲区/描述符;将中断调节功能调至低延迟模式

  4. pylon:提高接收线程优先级并增大套接字缓冲区大小

  5. 测试:pylon统计 → 失败缓冲区欠载必须保持为0

Tip

充分发挥系统性能需满足的要求

  • 线缆:经过工业质量检测的Cat-6 S/FTP或S/STP

  • 网卡:Intel i210、i340、i350或更新版本(搭配最新版驱动程序)

  • 交换机:网管型/支持PoE;千兆带宽

  • 软件:已安装pylon Viewer;可获取管理员权限

  • 网络:相机连接到专用网络接口卡(NIC),避免与无线局域网(WLAN)/互联网并行使用

下面将介绍可设置哪些参数来最大限度地提高pylon视觉设置的性能。

配置GigE Vision相机

对于GigE Vision相机,带宽管理器提供了优化功能,可自动调整数据包大小和数据包间隔延迟(IPD)。这可实现通过单个适配器有效地运行多台相机,在使用交换机时尤为重要。在pylon Viewer中进行手动微调(功能树 → 传输层):

  • 数据包大小(GevSCPSPacketSize):尽量调大 → 使效率最大化

  • 数据包间隔延迟(GevSCPD):设置数据包之间的短暂停顿 → 防止多相机配置中丢失数据包

  • 帧传输延迟(GevSCFTD):适用于同步触发场景

  • 设备链路吞吐量限制:限制每台相机占用的带宽 → 避免冲突 

现场演示:相机参数调整选项

该视频介绍了如何在pylon Viewer中设置上述相机参数。前往所有功能树,并选择控制帧速率作为常规任务。您可以在传输层条目中找到这些参数和其他参数。

优化Windows(网络接口卡与系统)

目标:降低延迟,避免图像丢失。

网络接口卡(NIC)驱动程序中的建议设置:

  • 巨型帧/MTU:设置为9014字节(或允许的最大值)

  • 接收缓冲区/描述符:增大数值,例如设为2048

  • 中断调节速率(IMR):高(3600),或针对低延迟场景调至较低值

pylon的额外设置:

  • 提高抓取循环线程优先级(GrabLoopThreadPriority)和内部抓取引擎线程优先级(InternalGrabEngineThreadPriority)(设为25-30)

成功控制:
30-60秒连续采集 →
失败缓冲区 = 0 

现场演示:网络接口卡(NIC)调整选项

在Windows PC上,请确保服务器网卡支持上述所有参数(巨型帧、中断调节速率、接收描述符)。右键点击网络连接中的GigE适配器,打开属性 > 配置按钮 > 高级选项卡,然后调整相关参数。该视频将指导您在pylon和pylon Viewer中进行设置。

优化Linux(网络接口卡与系统)

目标:即使在高带宽下也能获得稳定的数据流。

命令示例:

# 启用巨型帧
sudo ifconfig eth0 mtu 8192

# 增加环形缓冲区
sudo ethtool -G ethX rx 4096 tx 4096

#中断调节:低延迟
sudo ethtool -C ethX adaptive-rx off adaptive-tx off rx-usecs 62 tx-usecs 62

# 增加UDP缓冲区
sudo sysctl -w net.core.rmem_max=4096000

pylon设置:

  • 接收线程优先级(ReceiveThreadPriority):增大数值,(例如 > 50,最大值为99)

  • 增加套接字缓冲区大小(SocketBufferSize):增大数值(例如 ≥ 2048 KB) 

现场演示:GigE Vision配置调整选项

在这个演示中,您将了解如何在pylon中设置各种参数,使系统能够以出色的状态稳定运行。

该配置包括一台装有Ubuntu的Linux PC、一台GigE相机、一个网络接口卡和pylon软件。

前往所有功能树,并选择检查相机是否丢失图像数据作为常规任务。您可以在数据流参数条目中找到相关参数。

多相机体系 

可以通过一台交换机连接多台相机,但需要进行数据序列化

选项1 - 带宽管理器:

  • 点击优化 → 自动分配数据包大小、数据包间隔延迟(IPD)和帧传输延迟(FTD)

选项2 - 手动调整:

  • 数据包间隔延迟(IPD):数据包持续时间 × (N-1) → 防止冲突

  • 帧传输延迟(FTD):针对同步触发,定义每台相机的启动延迟

目标:所有数据流运行稳定,未出现失败缓冲区。 

现场演示:多相机系统调整选项

您可以在这里了解如何在pylon Viewer和pylon带宽管理器中配置两台相机和一台非网管型交换机,使所有相机都能以最大可用带宽传输图像。

前往所有功能树,并选择控制帧速率作为常规任务。可以在传输层条目中自动配置相机。

故障排除与成功执行监控

使用pylon统计立刻识别瓶颈:

  • 失败缓冲区计数:帧中至少丢失一个数据包

  • 缓冲区欠载计数:可用缓冲区不足

典型错误与解决方法:

  • 0xE1000014(缓冲区不完整):调整数据包间隔延迟(IPD)或数据包大小

  • 0xE1000016(控制通道断开):检查线缆/网络接口卡/交换机

  • 大量失败缓冲区:增加UDP缓冲区或增加套接字缓冲区大小(SocketBufferSize)

右键点击参数(位于屏幕右侧“功能”下),即可访问产品文档,其中包含详细说明和源代码片段。即使没有互联网连接,您也可以随时通过pylon Viewer访问这些内容。

Basler产品文档

经过优化的GigE Vision系统

GigE Vision系统的性能和可靠性始终取决于多个层面能否以出色方式相互配合。

  • 耐用的硬件:使用经过充分测试的工业组件 - 高品质线缆高性能网卡和合适的交换机是保证数据稳定传输的基础。

  • 正确设置相机参数:尽可能调高数据包大小、设置适当的数据包间隔延迟(IPD)以及必要的帧传输延迟(FTD),确保高效无损地进行图像传输,即使在多相机设置中也能发挥出色性能。

  • 经过优化的pylon与系统设置:调整缓冲区大小、调高线程优先级并正确设置网络参数(例如巨型帧、套接字缓冲区大小),这样可确保计算机可靠地处理高数据率。

如果这三个方面均已经过充分考量,则表示基于pylon的GigE Vision系统WindowsLinux下都能以卓越的稳定性、低延迟和高性能储备运行。

适用于GigE Vision系统的产品

您想实施类似的视觉方案吗?这些产品能助您一臂之力。

您需要获得什么支持?

我们很乐意提供产品选择建议,并助您为应用找到合适的解决方案。