配置 CXP-12 接口卡#
信息
本主题介绍基本使用场景。有关该接口卡软件功能的深入信息,请参见 acquisition applets PDF 文档。
在以下情况下配置接口卡特别有用:
- 您要更改接口卡使用的小程序。
- 希望通过接口卡触发连接的 Basler boost CXP-12 相机。
- 希望对接口卡执行去马赛克处理以提高成像系统的性能。
- 希望使用相机不可用的输出格式,例如 16 位单色格式。
- 您要配置接口卡接收或发送的触发信号。
限制
在所有 Applets 中,无法分配大于 4 GB 的缓冲区。即使 Applet 允许更大的缓冲区大小,由于驱动程序和固件的限制,您也无法分配大于 4 GB 的缓冲区。
您可以按如下方式计算缓冲区大小:
缓冲区大小 = 图像高度 * 图像宽度 * (像素位宽 / 8)。
对于 RGB 图像:缓冲区大小 = (图像高度 * 图像宽度 * (像素位宽 / 8)) * 3。
可用的面阵扫描 Applets 和默认 Applets#
根据接口卡型号,以下小程序可用且设置为默认值:
| 小程序名称 | 适用于接口卡 | 接口卡上的默认 Applet |
|---|---|---|
| Acq_SingleCXP12Area | 1C、2C、4C | 1C |
| Acq_DualCXP12Area | 2C、4C | 2C |
| Acq_TripleCXP12Area | 4C | - |
| Acq_QuadCXP12Area | 4C | 4C |
除了 Acquisition Applets,您还可以使用 Enhanced Applets。Enhanced Applets 为原型产品,仅通过您当地的 Basler 销售代表或现场应用工程师按需提供。所有 Enhanced Applets 都具备以下附加功能:
- Binning(目前仅支持单色),最高可达 4x4
- 针对单色相机的 Block-based flat field correction (FFC)
- PGI high quality Debayering 及图像质量改善
可用的线阵扫描 Applets#
根据接口卡型号,可提供以下 Applets。请注意,默认 Applet(即默认加载的 Applet)始终为面阵扫描 Applet。因此,如果要使用线阵扫描 Applet,必须先按照更改 Applet 中的说明将其加载。
| 小程序名称 | 适用于接口卡 |
|---|---|
| Acq_SingleCXP12Line | 1C、2C、4C |
| Acq_DualCXP12Line | 2C、4C |
| Acq_TripleCXP12Line | 4C |
| Acq_QuadCXP12Line | 4C |
文档#
以下章节提供了指向 acquisition applets 文档的链接:
CXP-12 Interface Card 1C#
| GenTL | Fglib |
|---|---|
| Acq_SingleCXP12x1Area PDF | Acq_SingleCXP12x1Area PDF |
| Acq_SingleCXP12Line PDF | Acq_SingleCXP12Line PDF |
| Frame Grabber Test Applet PDF | Frame Grabber Test Applet PDF |
CXP-12 接口卡 2C#
CXP-12 接口卡 4C#
选择正确的小程序#
如果您仅使用单通道 (1-CXP) 相机,则默认小程序始终对您可用,您无需进行更改。
但是,如果您使用的是多通道(例如,2-CXP 或 4-CXP)相机,则您必须选择适合您相机设置的合适小程序。否则,相机将无法正常工作或相机性能可能会明显降低。
具体哪个小程序是正确的,取决于相机数量、每台相机的通道数量,以及所需的 ROI 步长。
ROI 步长取决于图像预处理的并行度,因此随相机和图像采集卡而变化。
CXP-12 Interface Card 1C#
适用于 CXP-12 Interface Card 1C 的面阵扫描 Applets#
| 最大相机数量 | 1 通道相机数量 | 2 通道相机数量 | 4 通道相机数量 | 小程序 | ROI 步长 [像素] |
|---|---|---|---|---|---|
| 1 | 1 | Acq_SingleCXP12x1Area | x: 4 y: 1 |
适用于 CXP-12 Interface Card 1C 的线阵扫描 Applets#
| 最大相机数量 | 1 通道相机数量 | 2 通道相机数量 | 4 通道相机数量 | 小程序 | ROI 步长 [像素] |
|---|---|---|---|---|---|
| 1 | 1 | Acq_SingleCXP12Line | x: 4 y: 1 |
CXP-12 接口卡 2C#
适用于 CXP-12 Interface Card 2C 的面阵扫描 Applets#
| 最大相机数量 | 1 通道相机数量 | 2 通道相机数量 | 4 通道相机数量 | 小程序 | ROI 步长 [像素] |
|---|---|---|---|---|---|
| 2 | 1 | Acq_DualCXP12Area | x: 8 y: 1 | ||
| 2 | 2 | Acq_DualCXP12Area | x: 8 y: 1 | ||
| 1 | 1 | Acq_SingleCXP12Areaa | x: 16 y: 1 | ||
| 1 | 1 | Acq_SingleCXP12Area | x: 16 y: 1 |
适用于 CXP-12 Interface Card 2C 的线阵扫描 Applets#
| 最大相机数量 | 1 通道相机数量 | 2 通道相机数量 | 4 通道相机数量 | 小程序 | ROI 步长 [像素] |
|---|---|---|---|---|---|
| 2 | 1 | Acq_DualCXP12Line | x: 8 y: 1 | ||
| 2 | 2 | Acq_DualCXP12Line | x: 8 y: 1 | ||
| 1 | 1 | Acq_SingleCXP12Lineb | x: 16 y: 1 | ||
| 1 | 1 | Acq_SingleCXP12Line | x: 16 y: 1 |
CXP-12 接口卡 4C#
适用于 CXP-12 Interface Card 4C 的面阵扫描 Applets#
| 最大相机数量 | 1 通道相机数量 | 2 通道相机数量 | 4 通道相机数量 | 小程序 | ROI 步长 [像素] |
|---|---|---|---|---|---|
| 4 | 1 | Acq_QuadCXP12Area | x: 8 y: 1 | ||
| 4 | 2 | Acq_QuadCXP12Area | x: 8 y: 1 | ||
| 4 | 3 | Acq_QuadCXP12Area | x: 8 y: 1 | ||
| 4 | 4 | Acq_QuadCXP12Area | x: 8 y: 1 | ||
| 3 | 1 | Acq_TripleCXP12Areac | x: 16/8/8 y: 1 | ||
| 3 | 2 | Acq_TripleCXP12Areac | x: 16/8/8 y: 1 | ||
| 3 | 3 | Acq_TripleCXP12Areac | x: 16/8/8 y: 1 | ||
| 3 | 1 | Acq_TripleCXP12Aread | x: 16/8/8 y: 1 | ||
| 3 | 1 | 1 | Acq_TripleCXP12Area | x: 16/8/8 y: 1 | |
| 3 | 2 | 1 | Acq_TripleCXP12Area | x: 16/8/8 y: 1 | |
| 2 | 1 | Acq_DualCXP12Areac | x: 16 y: 1 | ||
| 2 | 2 | Acq_DualCXP12Areac | x: 16 y: 1 | ||
| 2 | 1 | 1 | Acq_DualCXP12Area | x: 16 y: 1 | |
| 2 | 1 | Acq_DualCXP12Areae | x: 16 y: 1 | ||
| 2 | 2 | Acq_DualCXP12Area | x: 16 y: 1 | ||
| 1 | 1 | Acq_SingleCXP12Areac | x: 32 y: 1 | ||
| 1 | 1 | Acq_SingleCXP12Areaf | x: 32 y: 1 | ||
| 1 | 1 | Acq_SingleCXP12Area | x: 32 y: 1 |
适用于 CXP-12 Interface Card 4C 的线阵扫描 Applets#
| 最大相机数量 | 1 通道相机数量 | 2 通道相机数量 | 4 通道相机数量 | 小程序 | ROI 步长 [像素] |
|---|---|---|---|---|---|
| 4 | 1 | Acq_QuadCXP12Line | x: 8 y: 1 | ||
| 4 | 2 | Acq_QuadCXP12Line | x: 8 y: 1 | ||
| 4 | 3 | Acq_QuadCXP12Line | x: 8 y: 1 | ||
| 4 | 4 | Acq_QuadCXP12Line | x: 8 y: 1 | ||
| 3 | 1 | Acq_TripleCXP12Lineg | x: 16/8/8 y: 1 | ||
| 3 | 2 | Acq_TripleCXP12Lineg | x: 16/8/8 y: 1 | ||
| 3 | 3 | Acq_TripleCXP12Lineg | x: 16/8/8 y: 1 | ||
| 3 | 1 | Acq_TripleCXP12Lineh | x: 16/8/8 y: 1 | ||
| 3 | 1 | 1 | Acq_TripleCXP12Line | x: 16/8/8 y: 1 | |
| 3 | 2 | 1 | Acq_TripleCXP12Line | x: 16/8/8 y: 1 | |
| 2 | 1 | Acq_DualCXP12Lineg | x: 16 y: 1 | ||
| 2 | 2 | Acq_DualCXP12Lineg | x: 16 y: 1 | ||
| 2 | 1 | Acq_DualCXP12Line | x: 16 y: 1 | ||
| 2 | 1 | 1 | Acq_DualCXP12Linei | x: 16 y: 1 | |
| 2 | 2 | Acq_DualCXP12Line | x: 16 y: 1 | ||
| 1 | 1 | Acq_SingleCXP12Line | x: 32 y: 1 | ||
| 1 | 1 | Acq_SingleCXP12Line | x: 32 y: 1 | ||
| 1 | 1 | Acq_SingleCXP12Line | x: 32 y: 1 |
更改小程序#
接口卡上运行的小程序定义其功能。对于某些相机设置,您可能必须更改默认小程序。ace
要在 pylon 中更改接口卡使用的 Applet,请设置 InterfaceApplet 参数设置为要加载的 Applet 的名称,例如: Acq_DualCXP12Area:

使用接口卡触发 Basler boost CXP-12 相机#
信息
仅当您特别想通过接口卡触发相机时,此部分才有意义。一般是通过相机的 I/O 连接器触发相机。有关更多信息,请参见触发图像采集。
有关此处引用的参数的详细说明,请参阅面阵扫描 Applet 的文档。
硬件触发(外部)#
启用外部触发后,您可以将触发输入信号发送到接口卡,然后接口卡将这些信号转发到 Basler boost 相机。
要配置接口卡以进行外部硬件触发,请执行以下操作:
- 设置
AreaTriggerMode参数至External. - 设置
TriggerInSource参数设置为所需的“Front GPI”输入线。
例如,如果您想使用 GPI0(接口卡上的引脚 11 和 12)进行外部触发,请将参数设置为FrontGpiTriggerSource0. - 设置
TriggerCameraOutSelect参数设置为相应的“Bypass”选项。
例如,如果您选择了FrontGpiTriggerSource0,将TriggerCameraOutSelect参数至BypassFrontGpi0. - 设置
TriggerState参数至Active. - 如有必要,按如下所述配置触发信号。
所有触发信号都将转发至相机的源信号 CxpTrigger0 和 CxpTrigger1。这些信号可用于各种用途。最常见的应用场景是图像采集。请参阅 下方的示例.
硬件触发(内部)#
启用内部触发后,接口卡将在内部以指定频率生成触发信号。所有外部触发信号将被忽略。
要配置接口卡以进行内部硬件触发,请执行以下操作:
- 设置
AreaTriggerMode参数至Generator. - 设置
TriggerOutputFrequency参数设置为所需的触发输出频率。例如,如果您将该参数设置为 8,接口卡将每秒生成 8 个触发信号。 - 设置
TriggerCameraOutSelect参数设置为所需的输出线,例如PulseGenerator0. - 设置
TriggerState参数至Active.
现在,无论何时开始图像采集,接口卡都会以指定的频率生成触发信号。
所有触发信号都将转发至相机的源信号 CxpTrigger0 和 CxpTrigger1。这些信号可用于各种用途。最常见的应用场景是图像采集。请参阅 下方的示例.
示例:使用触发信号进行图像采集#
要使用接口卡生成的外部或内部触发信号来采集图像,请执行以下操作:
- 在相机上,将
TriggerSelector参数至FrameStart. - 设置
TriggerMode参数至On. - 设置
ExposureMode参数至Timed. - 设置
TriggerSource参数至CxpTrigger0或CxpTrigger1.
现在,相机将在接口每次接收或生成触发信号时收集图像。
信息
您可以将触发信号用作任何可由信号源控制的 Basler boost 相机功能的源。例如,将 CounterTriggerSource 参数至 CxpTrigger0 允许您使用接口卡控制 Counter 功能。
在接口卡上执行去马赛克处理#
使用 CXP-12 Interface Card 1C,您可以在接口卡上执行去马赛克处理。这样可以减少相机和主机上的计算负载。
为此:
- 启动 pylon Viewer 并建立与接口卡和相机的连接。
- 使用特征树进行以下设置:
- 在相机上,将 Pixel Format 选项设置为 Bayer 像素格式,例如 Bayer RG 12。
- 导航至 Device Transport Layer 并禁用 Automatic Format Control 选项。
这使您可以独立于相机使用的像素格式来设置输出格式。 - 在接口卡上,将 OutputFormat 选项设置为相应的 RGB 像素格式。
位深必须是 Bayer 像素格式位深的三倍。例如,Bayer RG 12(相机)= Color 36 bit(接口卡)。
现在,接口卡将对相机的原始图像数据执行去马赛克处理并输出 RGB 图像数据。
信息
确保在上面的步骤 3 中设置了正确的 RGB pixel format。否则,将无法正确采集图像。
使用相机上不可用的输出格式#
Basler boost 相机可以输出多种 pixel format 的图像数据,例如 Bayer RG 8 或 RBG 8。有关更多信息,请参见 pixel format 主题。
如果相机上未提供所需的 pixel format,并且您还希望避免在主机上进行图像转换,则可以使用接口卡提供的一种 pixel format。
接口卡提供以下格式:
| Gray8bit | Gray10bit | Gray12bit | Gray16bit |
| Color24bit | Color30bit | Color36bit | Color48bit |
| Bayergr8 | Bayergr10 | Bayergr12 | Bayergr16 |
| Bayerrg8 | Bayerrg10 | Bayerrg12 | Bayerrg16 |
| Bayergb8 | Bayergb10 | Bayergb12 | Bayergb16 |
| Bayerbg8 | Bayerbg10 | Bayerbg12 | Bayerbg16 |
要使用相机上不可用的输出格式,请执行以下操作:
- 在相机上,将
PixelFormat参数设置为所需的相机 Pixel Format,例如Mono12. - 在接口卡上,将
AutomaticFormatControl参数至false.
这使您可以独立于相机使用的像素格式来设置输出格式。 - 在接口卡上,将
Format参数设为所需的输出格式,例如Gray16bit.
使用上面的示例值,接口卡将基于 12 位相机图像数据输出 16 位图像数据。如下所示插入填充位(零)。
使用 gpioTool 配置触发信号#
使用 gpioTool 命令行工具,可以配置接口卡接收或发送的触发信号的物理属性:
- 可以将输入线路配置为接收单端或差分信号。
- 可以将输入线路配置为在上拉或下拉模式下工作。
- 可以指定是否应将输出信号反相。
gpioTool 包含在 pylon Software Suite 中。
要启动该工具,请执行以下操作:
- 打开命令提示符窗口 (Windows) 或“终端”窗口 (Linux)。
-
更改至 pylon 安装的 bin 目录:
- Windows(64 位):%programfiles%\Basler\pylon x\Runtime\x64\pylonCXP\bin
- Windows(32 位):%programfiles%\Basler\pylon x\Runtime\Win32\pylonCXP\bin
- Linux:/opt/pylon/lib/pylonCXP/bin
-
使用如下所述的选项启动 gpioTool。
选项#
可以使用如下选项:
-b [board_index]
指定要寻址系统中的哪个 CXP-12 Interface Card。此参数对于除以下各项之外的所有选项都是强制性的 -h.
的值范围是 [board_index] 系统中安装的所有 CXP-12 Interface Card 板卡的索引号。如果您的系统中只有一块 CXP-12 Interface Card,请将 [board_index] 至 0。
-b [board_index] -g
显示指定的 CXP-12 Interface Card 当前的 GPIO 组设置。
-b [board_index] -v
显示当前的 GPIO 组设置以及详细输出。
-b [board_index] -s [bank]:[settings]
配置指定的 CXP-12 Interface Card 上的 GPIO 组。
[bank] 指定 GPIO 组的索引号。在 CXP Interface Card 1C 上,仅有一个 GPIO 组(前面板 GPIO)可用。因此,请始终设置 [bank] 至 0。
[settings] 配置设置。参见 图表.
-h
显示帮助。
设置#
对于 [settings] 部分,在 -b [board_index] -s [bank]:[settings],可用设置如下:
| 设置 | 值 | 结果 |
|---|---|---|
[signal] | se | 将输入线路配置为接收单端信号。 |
[signal] | ds | 将输入线路配置为接收差分信号。 |
[pull-up-down] | pu | 配置输入线以在上拉模式下运行。j |
[pull-up-down] | pd | 配置输入线以在下拉模式下运行。k |
[inversion] | ni | 禁用输出线路的反转。 |
[inversion] | in | 启用输出线路的反转。 |
您必须以以下格式输入设置: [signal],[pull-up-down],[inversion]。例如: ds,pu,ni
或者,您可以设置 [settings] 更改为 default。这 重置配置 一个 GPIO 组的。
示例#
gpioTool -b 0 -s 0:ds,pu,ni
此命令按以下方式配置接口卡:
-b 0:配置板 0 上的 GPIO。-s:开始实际配置。0::配置 GPIO 组 0(Front GPIO)。ds,pu,ni:配置前置 GPIO 以接收差分信号 (ds)、在上拉模式 (pu) 下工作,并发送未反相的输出信号 (ni)。
重置配置#
要将板卡和 GPIO 组重置为默认设置,请启动 gpioTool 并分别带有 [settings] 设置为 default:
gpioTool -b [board_index] -s [bank]:default
示例: gpioTool -b 0 -s 0:default
示例代码#
// Select the Acq_SingleCXP12Area applet
camera.GetTLParams().InterfaceApplet.SetValue(Acq_SingleCXP12Area);
// Configure the interface card for external triggering
camera.GetTLParams().AreaTriggerMode.SetValue(AreaTriggerMode_External);
camera.GetTLParams().TriggerInSource.SetValue(TriggerInSource_FrontGpiTriggerSource0);
camera.GetTLParams().TriggerCameraOutSelect.SetValue(TriggerCameraOutSelect_BypassFrontGpi0);
camera.GetTLParams().TriggerState.SetValue(TriggerState_Active);
// Configure the interface card for internal triggering
camera.GetTLParams().AreaTriggerMode.SetValue(AreaTriggerMode_Generator);
camera.GetTLParams().TriggerOutputFrequency.SetValue(8);
camera.GetTLParams().TriggerCameraOutSelect.SetValue(TriggerCameraOutSelect_PulseGenerator0);
camera.GetTLParams().TriggerState.SetValue(TriggerState_Active);
// Use the external or internal trigger signals for image acquisition
camera.TriggerSelector.SetValue(TriggerSelector_FrameStart);
camera.TriggerMode.SetValue(TriggerMode_On);
camera.ExposureMode.SetValue(ExposureMode_Timed);
camera.TriggerSource.SetValue(TriggerSource_CxpTrigger0);
// Perform debayering on the interface card (Bayer RG 12 --> RGB 36 bit)
camera.PixelFormat.SetValue(PixelFormat_BayerRG12);
camera.GetTLParams().AutomaticFormatControl.SetValue(false);
camera.GetTLParams().Format.SetValue(Format_Color36bit);
// Configure the interface card to output 16-bit mono image data based on
// 12-bit mono image data from the camera
camera.PixelFormat.SetValue(PixelFormat_Mono12);
camera.GetTLParams().AutomaticFormatControl.SetValue(false);
camera.GetTLParams().Format.SetValue(Format_Gray16bit);
此示例代码仅适用于 C++ 语言。
您也可以使用 pylon Viewer 轻松设置参数。
-
仅在需要镜像像素超过 8K 的图像时推荐使用。否则,请使用 DualCXP12Area。
-
仅在需要镜像像素超过 21840 的图像时推荐使用。否则,请使用 DualCXP12Line。
-
仅在需要镜像像素超过 8K 的图像时推荐使用。否则,请使用 QuadCXP12Area。
-
不推荐,请改用 DualCXP12Area。
-
仅在需要镜像像素超过 8K 的图像时推荐使用。否则,请使用 TripleCXP12Area(仅限单通道相机)。
-
仅在需要镜像像素超过 21840 的图像时推荐使用。否则,请使用 DualCXP12Area。
-
仅在需要镜像像素超过 8K 的图像时推荐使用。否则,请使用 QuadCXP12Line。
-
不推荐,请改用 DualCXP12Line。
-
仅在需要镜像像素超过 8K 的图像时推荐使用。否则,请使用 TripleCXP12Line(仅限单通道相机)。
-
在大多数应用程序中,您需要配置此模式。接口卡激活一个 10 kΩ 的上拉电阻,以接收来自 NPN 晶体管(集电极开路、漏极开路)的信号。
-
接口卡会激活一个 10 kΩ 的下拉电阻,以接收来自 PNP 晶体管(发射极开路、开源)的信号。