跳转到内容
STAGING SERVER
DEVELOPMENT SERVER

配置 CXP-12 接口卡#

本主题为您介绍如何使用 pylon API、pylon Viewer 或 gpioTool 配置 Basler CXP-12 接口卡。

信息

本主题介绍基本使用场景。有关该接口卡软件功能的深入信息,请参见 acquisition applets PDF 文档。

在以下情况下配置接口卡特别有用:

限制

在所有 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 都具备以下附加功能:

可用的线阵扫描 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#

GenTL Fglib
Acq_SingleCXP12Area PDF Acq_SingleCXP12Area PDF
Acq_DualCXP12Area PDF Acq_DualCXP12Area PDF
Acq_SingleCXP12Line PDF Acq_SingleCXP12Line PDF
Acq_DualCXP12Line PDF Acq_DualCXP12Line PDF
Frame Grabber Test Applet PDF Frame Grabber Test Applet PDF

CXP-12 接口卡 4C#

GenTL Fglib
Acq_SingleCXP12Area PDF Acq_SingleCXP12Area PDF
Acq_DualCXP12Area PDF Acq_DualCXP12Area PDF
Acq_TripleCXP12Area PDF Acq_TripleCXP12Area PDF
Acq_QuadCXP12Area PDF Acq_QuadCXP12Area PDF
Acq_SingleCXP12Line PDF Acq_SingleCXP12Line PDF
Acq_DualCXP12Line PDF Acq_DualCXP12Line PDF
Acq_TripleCXP12Line PDF Acq_TripleCXP12Line PDF
Acq_QuadCXP12line PDF Acq_QuadCXP12line PDF
FrameGrabberTest Frame Grabber Test Applet PDF

选择正确的小程序#

如果您仅使用单通道 (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:

pylon:更改 Applet

使用接口卡触发 Basler boost CXP-12 相机#

信息

仅当您特别想通过接口卡触发相机时,此部分才有意义。一般是通过相机的 I/O 连接器触发相机。有关更多信息,请参见触发图像采集。

有关此处引用的参数的详细说明,请参阅面阵扫描 Applet 的文档。

硬件触发(外部)#

启用外部触发后,您可以将触发输入信号发送到接口卡,然后接口卡将这些信号转发到 Basler boost 相机。

要配置接口卡以进行外部硬件触发,请执行以下操作:

  1. 设置 AreaTriggerMode 参数至 External.
  2. 设置 TriggerInSource 参数设置为所需的“Front GPI”输入线。
    例如,如果您想使用 GPI0(接口卡上的引脚 11 和 12)进行外部触发,请将参数设置为 FrontGpiTriggerSource0.
  3. 设置 TriggerCameraOutSelect 参数设置为相应的“Bypass”选项。
    例如,如果您选择了 FrontGpiTriggerSource0,将 TriggerCameraOutSelect 参数至 BypassFrontGpi0.
  4. 设置 TriggerState 参数至 Active.
  5. 如有必要,按如下所述配置触发信号。

所有触发信号都将转发至相机的源信号 CxpTrigger0 和 CxpTrigger1。这些信号可用于各种用途。最常见的应用场景是图像采集。请参阅 下方的示例.

硬件触发(内部)#

启用内部触发后,接口卡将在内部以指定频率生成触发信号。所有外部触发信号将被忽略。

要配置接口卡以进行内部硬件触发,请执行以下操作:

  1. 设置 AreaTriggerMode 参数至 Generator.
  2. 设置 TriggerOutputFrequency 参数设置为所需的触发输出频率。例如,如果您将该参数设置为 8,接口卡将每秒生成 8 个触发信号。
  3. 设置 TriggerCameraOutSelect 参数设置为所需的输出线,例如 PulseGenerator0.
  4. 设置 TriggerState 参数至 Active.

现在,无论何时开始图像采集,接口卡都会以指定的频率生成触发信号。

所有触发信号都将转发至相机的源信号 CxpTrigger0 和 CxpTrigger1。这些信号可用于各种用途。最常见的应用场景是图像采集。请参阅 下方的示例.

示例:使用触发信号进行图像采集#

要使用接口卡生成的外部或内部触发信号来采集图像,请执行以下操作:

  1. 在相机上,将 TriggerSelector 参数至 FrameStart.
  2. 设置 TriggerMode 参数至 On.
  3. 设置 ExposureMode 参数至 Timed.
  4. 设置 TriggerSource 参数至 CxpTrigger0 或 CxpTrigger1.

现在,相机将在接口每次接收或生成触发信号时收集图像。

信息

您可以将触发信号用作任何可由信号源控制的 Basler boost 相机功能的源。例如,将 CounterTriggerSource 参数至 CxpTrigger0 允许您使用接口卡控制 Counter 功能。

在接口卡上执行去马赛克处理#

使用 CXP-12 Interface Card 1C,您可以在接口卡上执行去马赛克处理。这样可以减少相机和主机上的计算负载。

为此:

  1. 启动 pylon Viewer 并建立与接口卡和相机的连接。
  2. 使用特征树进行以下设置:
    • 在相机上,将 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

要使用相机上不可用的输出格式,请执行以下操作:

  1. 在相机上,将 PixelFormat 参数设置为所需的相机 Pixel Format,例如 Mono12.
  2. 在接口卡上,将 AutomaticFormatControl 参数至 false.
    这使您可以独立于相机使用的像素格式来设置输出格式。
  3. 在接口卡上,将 Format 参数设为所需的输出格式,例如 Gray16bit.

使用上面的示例值,接口卡将基于 12 位相机图像数据输出 16 位图像数据。如下所示插入填充位(零)。

16 位图像数据基于 12 位相机图像数据

使用 gpioTool 配置触发信号#

使用 gpioTool 命令行工具,可以配置接口卡接收或发送的触发信号的物理属性:

  • 可以将输入线路配置为接收单端或差分信号。
  • 可以将输入线路配置为在上拉或下拉模式下工作。
  • 可以指定是否应将输出信号反相。

gpioTool 包含在 pylon Software Suite 中。

要启动该工具,请执行以下操作:

  1. 打开命令提示符窗口 (Windows) 或“终端”窗口 (Linux)。
  2. 更改至 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
  3. 使用如下所述的选项启动 gpioTool。

选项#

可以使用如下选项:

gpioTool -b [board_index]
         -g
         -v
         -s [bank]:[settings]
         -h

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


  1. 仅在需要镜像像素超过 8K 的图像时推荐使用。否则,请使用 DualCXP12Area。

  2. 仅在需要镜像像素超过 21840 的图像时推荐使用。否则,请使用 DualCXP12Line。

  3. 仅在需要镜像像素超过 8K 的图像时推荐使用。否则,请使用 QuadCXP12Area。

  4. 不推荐,请改用 DualCXP12Area。

  5. 仅在需要镜像像素超过 8K 的图像时推荐使用。否则,请使用 TripleCXP12Area(仅限单通道相机)。

  6. 仅在需要镜像像素超过 21840 的图像时推荐使用。否则,请使用 DualCXP12Area。

  7. 仅在需要镜像像素超过 8K 的图像时推荐使用。否则,请使用 QuadCXP12Line。

  8. 不推荐,请改用 DualCXP12Line。

  9. 仅在需要镜像像素超过 8K 的图像时推荐使用。否则,请使用 TripleCXP12Line(仅限单通道相机)。

  10. 在大多数应用程序中,您需要配置此模式。接口卡激活一个 10 kΩ 的上拉电阻,以接收来自 NPN 晶体管(集电极开路、漏极开路)的信号。

  11. 接口卡会激活一个 10 kΩ 的下拉电阻,以接收来自 PNP 晶体管(发射极开路、开源)的信号。