Operator Library: Hardware Platform
此算子代表 CXP 四通道相机与 VisualApplets 之间的图像 data 接口。
| 适用于以下硬件平台 |
|---|
| mE5 marathon VCX-QP |
| mE5 ironman VQ8-CXP6D |
| mE5 ironman VQ8-CXP6B |
该算子在输出端 O 上提供图像 data。此输出始终存在。
除了此标准输出端口之外,您还可以配置一组可选的输入和输出。
在算子实例化期间将出现以下弹出对话框:

在此处,您可以指定通过 CXP 电缆进行通用输入和输出的可选端口, 以及进出相机的可选触发端口。
您可以定义特定 GPI(通用输入)、特定 GPO(通用输出)、触发输入端口以及触发输出端口的可用性。
如果您将端口可用性设置为“0”(默认),则该算子中将不存在该端口。 如果您将端口可用性设置为 1,则该特定端口将在算子接口上可用。
该算子使用了 4 个 CameraPort 类型的资源。

![]() |
修改图像宽度和图像高度 |
|---|---|
|
您可以将宽度和高度修改为相机特定的设置。 但是,算子端口 O 上的最大图像宽度必须能够被端口 O 的 Parallelism 整除。 请确保最大图像宽度能够被端口 O 的 Parallelism 整除! |
![]() |
Parallelism 的值 |
|---|---|
|
端口 O 上的 Parallelism 必须至少设置为最小值(在参数 MinimalParallelism 中规定)。 不允许使用更小的 Parallelism 值。 MinimalParallelism 是由 VisualApplets 根据您为此算子的 其他参数所定义的值计算得出的。 通过这种方式,始终可以接收传入的 data。 |
![]() |
虚拟像素 (Dummy Pixels) |
|---|---|
|
输出 data 可能包含虚拟像素。 这是因为算子可能会转换两次 Parallelism。首先, 算子内部会转换为其计算出的 MinimalParallelism,并作为参数 MinimalParallelism 中的只读值提供。 这会导致内部图像宽度能够被 MinimalParallelism 整除, 并且由于 Parallelism 转换,可能会添加虚拟值。其次, 如果第一次 Parallelism 转换所产生的填充图像宽度不是 O.Parallelism 的倍数, 算子会将 Parallelism 转换为 O.Parallelism, 从而可能添加更多虚拟值。因此,输出 data 是否包含 虚拟像素取决于 MinimalParallelism 参数、图像宽度以及 O.Parallelism。每次 Parallelism 转换都可能会添加虚拟像素。附加的虚拟像素包含 未定义的 data 值,并会导致图像宽度偏离真实的图像 宽度。 示例:如果 MinimalParallelism 为 20, O.Parallelism 为 32,且传输的图像 宽度为 128 像素,则由于 MinimalParallelism 参数中定义的内部 Parallelism 为 20,算子内部会创建宽度为 140 的图像行。 对于输出,data 向量会转换为 Parallelism 32 (O.Parallelism),从而导致图像行 宽度为 160 像素。 由于虚拟像素的存在,预期的输出图像宽度为:
|
![]() |
Bit Width 和格式类型 |
|---|---|
|
端口 O(图像端口)上的 Bit Width 取决于所选的格式类型(参数 FormatType):
|
| Property | 值 |
|---|---|
| Operator Type | M |
| 输入链路 | - TriggerI(可选),从采集卡通过 CXP 通道发送到相机的触发信号。此端口通常用于触发线阵相机。 - GPIx(可选),从采集卡通过 CXP channel 发送到相机的通用输入 [x]。可用选项包括 GPI0、GPI1、GPI2、GPI3、GPI4、GPI5、GPI6 和 GPI7。 |
| Output Links | - O,图像数据输出 - TriggerO(可选),从相机通过 CXP 通道发送到采集卡的触发信号。 - GPOx(可选),从相机通过 CXP 通道发送到采集卡的通用输出 [x]。可用选项包括 GPO0、GPO1、GPO2、GPO3、GPO4、GPO5、GPO6 和 GPO7。 |
| CameraID | |
|---|---|
| 键入 | 静态写参数 |
| 默认 | |
| 范围 | {-1, 0, 1, 2, 3} |
|
CameraID 参数定义了通往相机算子固件的 CXP 主端口 ID, 以允许自动发现 CXP 拓扑(相机到小应用程序以及小应用程序到相机)。 使用此参数,您可以直接在此算子中指定 ID。 但是,我们建议在 Resources 对话框中指定算子的资源。 (要打开 Resources 对话框,只需高亮显示相机算子,并从 Design 菜单中选择菜单项 Resources。) CameraID 参数将使用资源对话框参数自动更新为正确的的主端口。 以下示例使用了一个单相机和一个双相机: ![]()
![]() module3(单相机)的 CameraID(CXP 主端口 ID)为 2。 module5(双相机)的 CameraID(CXP 主端口 ID)为 1。 双相机需要 2 个 CXP 相机端口。(四相机需要 4 个端口。) 算子的 CameraID 参数中仅反映主端口。 当您定义的 CameraPort 资源超出可能数量(最大为 4 个)(例如,当您实例化 5 个 "CXPSingleCamera"" 算子时), 最后请求 CameraPort 资源的相机算子(此时所有四个可用端口已被占用) 将其 CameraID 设置为 -1。 在此情况下,设计规则检查将报告错误。 参数 CameraID 的取值范围为 {-1,0,1,2,3}。 |
|
| MinimalParallelism | |
|---|---|
| 键入 | 静态读取参数 |
| 默认 | 20 |
| 范围 | [1 : 512] |
|
一个只读参数,提供输出链接 O 的最小 Parallelism,该 Parallelism 仍允许传输相机的最大带宽而不会丢失数据。最小 Parallelism 是自动计算的。 该值取决于您在参数 FormatMode 中选择的 Pixel Format。 如果您将参数 FormatMode 定义为动态 参数(请参见下方对参数 FormatMode 的说明),则会计算可能出现的最小 Parallelism。 最小的 Parallelism 可能会导致创建虚拟像素,因为算子可能会在此过程中进行两次 Parallelism 转换并添加虚拟值。由于这些虚拟像素,预期的输出图像宽度为:
|
|
| 状态 | |
|---|---|
| 键入 | 动态只读参数 |
| 默认 | |
| 范围 | {0; 2^7-1} |
|
Status 参数是一个运行时只读参数,用于反映相机算子的当前状态。 Bit[0] 表示检测到 CXP 数据流数据包丢失。 Bit[1] 表示 CXP 数据流数据包中的单字节错误纠正。 Bit[2] 表示 CXP 数据流数据包中的多字节错误检测。 Bit[3..6] 为保留位。 此参数可能会在未来的版本中更改。 |
|
| FormatType | |
|---|---|
| 键入 | 静态写参数 |
| 默认 | GRAY |
| 范围 | GRAY, RGB, RGBA, RAW |
|
在此处,您可以选择要接收的 Pixel Format(由 CXP 规范定义)类型。 您在此处选择的值决定了可以在参数 FormatMode 中选择哪些 Pixel Format。 因此,此参数的设置会直接影响参数 FormatMode。 另请参见下方对参数 FormatMode 的说明。 |
|
| FormatMode | |
|---|---|
| 键入 | 静态或动态(用户定义)写参数 |
| 默认 | Mono8 |
| 范围 | {Mono8, Mono10, Mono12, Mono14, Mono16, BayerGR8, BayerGR10, BayerGR12, BayerGR14, BayerGR16, BayerRG8, BayerRG10, BayerRG12, BayerRG14, BayerRG16, BayerGB8, BayerGB10, BayerGB12, BayerGB14, BayerGB16, BayerBG8, BayerBG10, BayerBG12, BayerBG14, BayerBG16, RGB8, RGB10, RGB12, RGB14, RGB16, RGBA8, RGBA10, RGBA12, RGBA14, RGBA16, Raw} |
|
该参数提供属于您在参数 FormatType 中所选格式类型的所有 Pixel Format(由 CXP 规范定义)。 ![]() 您可以在此处选择的 Pixel Format 取决于参数 FormatType 的设置。 因此,您始终只能使用完整值范围的一个预设子集。 若要获取另一组 Pixel Format,请更改参数 FormatType 的设置。 另请参见上方对参数 FormatType 的说明。 具体而言,参数 FormatType 的以下设置在参数 FormatMode 中提供以下 Pixel Format: FormatType == GRAY: {Mono8, Mono10, Mono12, Mono14, Mono16, BayerGR8, BayerGR10, BayerGR12, BayerGR14, BayerGR16, BayerRG8, BayerRG10, BayerRG12, BayerRG14, BayerRG16, BayerGB8, BayerGB10, BayerGB12, BayerGB14, BayerGB16, BayerBG8, BayerBG10, BayerBG12, BayerBG14, BayerBG16} FormatType == RGB: {RGB8, RGB10, RGB12, RGB14, RGB16} FormatType == RGBA: {RGBA8, RGBA10, RGBA12, RGBA14, RGBA16} FormatType == RAW: {Raw} Pixel format Raw has a fix bit width of 32Bit. The data are interpreted as received. 您可以决定是将此参数用作动态参数还是静态参数。请在“Parameter Type”列中进行选择: ![]() |
|
| TxTriggerPacketMode | |
|---|---|
| 键入 | 动态写入参数 |
| 默认 | CxpStandard |
| 范围 | {CxpStandard, RisingEdgeOnly} |
|
通过参数 TxTriggerPacketMode,您可以增加连接图像采集卡与相机的 CXP 电缆的带宽。 带宽的增加是通过对相机触发信号解释进行轻微修改来实现的。 此功能只能与支持该功能的特定相机一起使用。 有关详细信息,请联系您的当地经销商或 Basler 支持部门。 参数 TxTriggerPacketMode 允许两个值(CxpStandard、RisingEdgeOnly):
|
|
| TxTriggerEventCount | |
|---|---|
| 键入 | 动态只读参数 |
| 默认 | 0 |
| 范围 | {0;2^20-1} |
|
TxTriggerEventCount 参数 指示已向相机发送了多少个触发边沿事件。 |
|
| TxTriggerAcknowledgementCount | |
|---|---|
| 键入 | 动态只读参数 |
| 默认 | 0 |
| 范围 | {0;2^20-1} |
|
TxTriggerAcknowledgementCount 参数 指示图像采集卡已收到多少个由相机发送的触发确认数据包 (作为对先前发送的触发边沿数据包的回应)。 |
|
| TxTriggerWaveformViolation | |
|---|---|
| 键入 | 动态只读参数 |
| 默认 | 0 |
| 范围 | {0,1} |
|
如果相机算子检测到 TriggerI 端口上的两个触发边沿之间的距离违反了最小边沿频率, 则该参数由相机算子设置为 1。 所有 microEnable 5 平台上的最小边沿频率均为 550 ns(纳秒)。 该参数会一直保持其值,直到被读取为止。 读取后,该参数会更新其值。 频率控制持续运行,不受该参数读取状态的影响。 |
|
以下示例展示了 CXPQuadCamera 算子的使用方法:
-
示例 - 基础采集
-
“面向单个四线 CoaXPress 面阵相机的基本采集示例”
示例 - 基础采集
-
示例 - 基础采集
-
“面向单个四线 CoaXPress 线阵相机的基本采集示例”
示例 - 基础采集

![[重要]](../common/images/admon/important.png)





上一页

