Operator Library: Parameters
算子 IntParamTranslator 允许对一个或多个其他算子的参数进行转换式访问(读取和写入)。在进行计算时,您需要定义公式。这些公式的语法符合 GenICam API 2.0 版本。您可以在下方找到详细的语法说明。
此外,该算子还可用于创建用户定义的全局常量,以便在转换公式中使用。当 Value 为静态时,您可以通过将 DisplayHierarchy 参数设置为 :: 来创建全局常量。由此生成的常量将在整个系统范围内可用,并且可以在所有参数转换公式中进行访问。有关在转换公式中使用全局常量的详细信息,请参阅 DisplayHierarchy 参数说明。
算子 IntParamTranslator 会生成一个类型为 VA_SINT 的映射参数。该映射参数的名称为 Value。
尽管该算子将其参数 Value 的类型定义为 VA_SINT,但它并不限制在写入或读取操作期间所访问参数的数据类型。例如,算子中定义的公式可以包含对浮点型参数的访问。

Read Action
在参数 ReadAction 中,您可以定义对转换算子参数 Value 进行读访问时发生的情况。 参数 Value 不仅仅保存一个值。 相反,参数 Value 的值是通过公式计算得出的。 您可以在参数 ReadAction 中定义此公式。 一旦对参数 Value 发生读访问, 就会执行您在 ReadAction 中定义的公式, 并将结果转发给请求该值的元素。
该公式可以包含设计中任意位置的算子参数值。 一旦这些值发生变化,转换算子参数 Value 的计算将会产生一个新结果 (与之前所持有的参数值 Value 不同)。 该公式不仅可以合并参数的值,还可以合并参数的特定 Property, 例如最小值、最大值、步长或枚举项的数值。
Write Action
在参数 WriteAction 中,您可以定义对转换算子参数 Value 进行写访问时发生的情况。 与使用引用算子不同,您不只是将参数 Value 的值 转发给设计中的另一个参数。相反,参数 Value 的值 用于您在转换算子参数 WriteAction 中定义的一组写操作。 写操作由一个或多个等式组成。 在这些等式的左侧,您可以定义 哪个算子的哪个参数接收计算结果。 如果您定义了多个等式,请用分号将它们隔开。 一旦对参数 Value 发生写访问,就会执行 您在参数 WriteAction 中定义的等式右侧的公式, 并将结果转发给等式左侧指定的参数。
该公式可以引用设计中任意位置 的算子参数值。一旦这些值之一发生变化, 当您向 Value 参数重新写入与之前相同的值时, 计算结果将会不同。 该公式不仅可以合并参数的值, 还可以合并参数的特定 Property,例如最小值、 最大值、步长或枚举项的数值。
用于计算 Value 范围的公式
您还可以添加公式来计算参数 Value 的当前范围。 您可以在参数 RangeFrom、 RangeTo 和 RangeIncrement(步长)中定义相应的公式。 这些公式可以包含设计中任意位置的模块参数值, 以及这些参数的特定 Property,例如最小值、最大值、 步长或枚举项的数值。
![]() |
对各个函数的 GenICam 支持 |
|---|---|
|
通过 GenICam 进行访问时,保证支持 SGN(x) 和 NEG(x) 函数。上述提到的其他函数可能会也可能不会得到特定 GenICam 实现的支持。 |
![]() |
参数路径 |
||
|---|---|---|---|
|
要在设计中的任意位置访问算子参数,您需要在公式中提供该参数的路径。 要访问算子的参数,请使用以下结构:
![]()
"PathToModule":在此处,您可以定义要访问其参数的算子的相对路径。 该路径相对于翻译算子本身所在的层级。 您还需要定义被访问算子的名称。请使用斜杠作为层级分隔符。 "Module":模块名称。 对于翻译算子实例本身的名称,请使用名称 "this"。
|
![]() |
访问 Property |
|---|---|
|
公式不仅可以包含参数的值, 还可以包含参数的特定 Property,例如最小值、最大值或步长:
在转换公式中,您还可以引用全局常量。在转换公式中引用全局常量时,使用的是 :: 前缀,例如
|
![]() |
写访问方程的语法 |
|---|---|
|
您在参数 WriteAction 中定义的写操作方程。它们具有以下语法:
![]()
在此处,您可以为多个目标参数定义多个方程。使用分号作为各个 方程之间的分隔符。 "this" 指代翻译算子实例本身。 WriteAction 方程示例:
![]()
示例:
![]()
|
![]() |
读访问方程的语法 |
|---|---|
|
The equation for the read action you define in parameter ReadAction. The equation always starts with "${this.Value}=" . It has the following syntax:
![]()
ReadAction 方程示例:
![]()
|
引用映射参数
您可以在设计层级中定义一个目标,在该目标中映射参数 Value 将可见且可访问。 该目标由两个参数定义:DisplayHierarchy 和 DisplayName。 在 DisplayHierarchy 中,您可以寻址翻译算子本身所在的 同一进程内的分层框。 在参数 DisplayName 中,您为目标参数设置名称。 如果 DisplayHierarchy 和 DisplayName 均已设置, 则由 DisplayName 定义的参数将可在 由 DisplayHierarchy 寻址的分层框中使用。 如果 DisplayName 为空,则不创建任何参数。 如果 DisplayName 已设置,但 DisplayHierarchy 为空, 则由 DisplayName 定义的参数将被添加到父层级(即翻译算子 本身所在的分层框)。
这使您能够使映射参数 Value 在所需的任何(设计)层级上都可访问。 这在使用受保护的分层框时特别有用。 您可以直接在受保护分层框本身的 Property 下使该参数可用。
映射参数本身也可以被引用。因此,您可以引用转换算子中参数 Value 的内容,或者引用您在参数 DisplayName 和 DisplayHierarchy 中定义的参数。当使用其他受保护的分层框构建受保护的分层框时,这一点尤为重要。
该运算符没有输入和输出,因为它不会干扰设计的数据流结构。
您可以在“库参数”中找到有关库参数的一般介绍。
| 状态 | |
|---|---|
| 键入 | 静态读取(尽管 GUI 显示为写入)参数 |
| 默认 | 没有任何 |
| 范围 | 成功或错误信息 |
|
显示错误状态。如果参数 Activate 设置为 Yes, 系统将检查其他算子设置。 此参数显示检查结果, 即 OK 或错误消息。 此参数不包含在最终的小程序中。 |
|
| 显示名称 | |
|---|---|
| 键入 | 静态写参数 |
| 默认 | 没有任何 |
| 范围 | 任何字符串 |
|
如果您想要在设计的其他位置 对参数 Value 进行访问授权(输入和输出), 您需要定义一个新参数。 请在此处指定此新参数的名称。 如果此字段为空,则不会创建新参数。 |
|
| 显示层级 | |||||||
|---|---|---|---|---|---|---|---|
| 键入 | 静态写参数 | ||||||
| 默认 | 没有任何 | ||||||
| 范围 | 任何字符串 | ||||||
|
在此处指定您要附加在参数 DisplayName 中定义的新映射参数的层次框 。 对于此参数,您可以使用自动完成和语法高亮显示功能。要使用自动完成功能,请点击 Parameter Values 字段 (位于此参数的 Module Properties 对话框中),然后按键盘上的 TAB 键。有关自动完成功能的详细说明, 请参阅 'Autocompletion and Syntax Highlighting for Translator and Reference Operators'。 如果您定义了一个新参数 DisplayName, 但将参数 DisplayHierarchy 留空:新参数将 添加到包含参考运算符实例的层次框中。 (请注意,如果参考运算符实例 位于最高(处理)级别,则无法执行此操作。)
|
|||||||
| 值 | |
|---|---|
| 键入 | static, dynamic, write, read parameter |
| 默认 | 0 |
| 范围 | 有符号整数(64 位) |
|
用于通过为读写访问指定的公式 访问其他参数的参数。 要创建用于转换公式中的用户定义全局常量,此参数必须为 static。有关如何创建全局常量的说明,请参阅 DisplayHierarchy 参数说明。 |
|
| 单位 | |
|---|---|
| 键入 | 静态写参数 |
| 默认 | - |
| 范围 | Latin-1 |
|
在此处输入参数 Value 的单位。 |
|
| 描述 | |
|---|---|
| 键入 | 静态写参数 |
| 默认 | - |
| 范围 | any text |
|
在此处输入参数 Value 的描述。 |
|
| RangeFrom | |
|---|---|
| 键入 | 静态写参数 |
| 默认 | 0 |
| 范围 | |
|
最小有效值的定义。您也可以在此处输入公式。 |
|
| RangeTo | |
|---|---|
| 键入 | 静态写参数 |
| 默认 | 255 |
| 范围 | |
|
最大有效值的定义。您也可以在此处输入公式。 |
|
| RangeIncrement | |
|---|---|
| 键入 | 静态写参数 |
| 默认 | 1 |
| 范围 | |
|
有效值之间的间隔定义(步长定义)。您也可以在此处输入公式。 |
|
| WriteAction | |
|---|---|
| 键入 | 静态写参数 |
| 默认 | |
| 范围 | |
|
定义在对参数 Value 进行写访问期间进行转换的公式。 对于此参数,您可以使用自动完成和语法高亮显示功能。要使用自动完成功能,请点击 Parameter Values 字段 (位于此参数的 Module Properties 对话框中),然后键入 “${”。有关自动完成功能的详细说明, 请参阅 'Autocompletion and Syntax Highlighting for Translator and Reference Operators'。 |
|
| ReadAction | |
|---|---|
| 键入 | 静态写参数 |
| 默认 | |
| 范围 | |
|
定义在对参数 Value 进行读访问期间进行转换的公式。 该公式始终以 "${this.Value}=" 开头。 对于此参数,您可以使用自动完成和语法高亮显示功能。要使用自动完成功能,请点击 Parameter Values 字段 (位于此参数的 Module Properties 对话框中),然后键入 “${”。有关自动完成功能的详细说明, 请参阅 'Autocompletion and Syntax Highlighting for Translator and Reference Operators'。 |
|
| Activate | |
|---|---|
| 键入 | 动态写入参数 |
| 默认 | 无 |
| 范围 | {No,Yes} |
|
Yes = 启用对引用参数的访问以及来自引用参数的访问(通过读写公式)。 No = 禁用对引用参数的访问以及来自引用参数的访问(通过读写公式) 并禁用参数 Status。 参数 DisplayName 和 DisplayHierarchy 将不生效。 |
|
以下示例展示了 IntParamTranslator 算子的使用方法:
-
DMA、RAM、GPIO、触发和 LED 硬件自检的示例。
-
Examples - Demonstration how to use the parameter translation operators for manipulation of parameters.

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






![[注意]](../common/images/admon/note.png)

上一页

