Operator Library: Parameters
Operator IntParticipantTranslator 允許對一個或多個其他 operator 的參數進行轉換式存取(讀取與寫入)。 您可為計算定義公式。這些公式的語法符合 GenICam API 2.0 版標準。 下方提供詳細的語法說明。
此外,此 operator 也可用於建立使用者定義的全域常數,以便在轉換公式中使用。 當 Value 為靜態時,您可以透過將 DisplayHierarchy 參數設定為 :: 來建立全域常數。 所產生的常數將在全系統範圍內生效,並可在所有 參數轉換公式中進行存取。如需在轉換公式中使用全域常數的詳細資訊,請參閱 DisplayHierarchy 參數說明。
Operator IntParamTranslator 會產生一個型別為 VA_SINT 的對應參數。 該對應參數的名稱為 Value。
儘管此 operator 將其參數 Value 的型別定義為 VA_SINT,但它並不會限制在寫入或讀取操作期間所存取參數的資料型別。 例如,operator 中定義的公式可以包含對浮點數型別參數的存取。

讀取動作
在參數 ReadAction 中,您可以定義對轉換 operator 的參數 Value 進行讀取存取時所發生的情況。 參數 Value 不僅僅是保存一個值。 相反地,參數 Value 的值是透過公式計算得出的。 您可以在參數 ReadAction 中定義此公式。 一旦發生對參數 Value 的讀取存取, 您在 ReadAction 中定義的公式就會執行, 並將結果轉發給請求該值的元素。
該公式可以包含設計中任意位置的 operator 參數值。 只要這些值其中之一發生變更,轉換 operator 參數 Value 的計算就會得出新的結果 (與參數 Value 之前保存的值不同)。 該公式不僅可以結合參數的值,還可以結合參數的特定 Property,例如最小值、最大值、步進大小或列舉項目的數值。
寫入動作
在參數 WriteAction 中,您可以定義對轉換 operator 的參數 Value 進行寫入存取時所發生的情況。 與使用參考 operator 不同,您不只是簡單地將參數 Value 的值轉發到設計中的另一個參數。相反地,參數 Value 的值是用於您在轉換 operator 的參數 WriteAction 中定義的一組寫入動作。 寫入動作由一個或多個方程式組成。 在這些方程式的左側,您定義哪個 operator 的哪個參數接收計算結果。 如果您定義了多個方程式,請使用分號將方程式隔開。 一旦發生對參數 Value 的寫入存取,您在參數 WriteAction 中定義的方程式右側公式就會被執行, 並將結果轉發給方程式左側指定的參數。
該公式可以參照設計中任何位置的 operator 參數值。 只要這些值之一發生變更,當您將與之前相同的價值重新寫入 Value 參數時,計算結果就會有所不同。 該公式不僅可以納入參數的值, 還可以納入參數的特定 Property,例如最小值、 最大值、步進大小或列舉項目的數值。
數值範圍計算公式
您也可以新增公式來計算參數 Value 的目前數值範圍。 您可以在參數 RangeFrom、 RangeTo 和 RangeIncrement(步進大小)中定義對應的公式。 這些公式可以包含設計中任意位置的模組參數值, 以及這些參數的特定 Property,例如最小值、最大值、 步進大小或列舉項目的數值。
![]() |
GenICam 支援個別函數 |
|---|---|
|
透過 GenICam 存取時,保證支援 SGN(x) 和 NEG(x) 函數。上述提到的其他函數 可能會或可能不會受到特定 GenICam 實作的支援。 |
![]() |
參數路徑 |
||
|---|---|---|---|
|
若要在設計中的任何位置存取運算子參數,您需要在公式中提供此參數的路徑。 若要存取 operator 的 parameter,請使用下列語法結構:
![]()
"PathToModule":在此定義要存取其 parameter 的 operator 之相對路徑。 此路徑相對於 translation operator 本身所在的階層層級。 您同時也定義了所存取 operator 的名稱。請使用斜線作為階層分隔符號。 "Module":Module 的名稱。 對於 translation operator 實例本身,請使用名稱 "this"。
|
![]() |
存取 Parameter Properties |
|---|---|
|
公式不僅可以納入 parameter 的數值, 還可以納入 parameter 的特定 properties,例如最小值、最大值或步進值:
在 translation 公式中,您也可以參照全域常數。全域常數在 translation 公式中
是使用 :: 前綴來參照,例如
|
![]() |
寫入存取方程式的語法 |
|---|---|
|
您可在 parameter WriteAction 中定義寫入動作的方程式。它們具有下列語法:
![]()
在此,您可以為多個目標 parameter 定義多個方程式。請使用分號作為個別 方程式之間的分隔符號。 "this" 是指 translation operator 實例本身。 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 方程式範例:
![]()
|
參照 Map Parameters
您可以在設計階層中定義一個目標,在此目標中,map parameter Value 將會顯示且可供存取。 此目標由兩個 parameters 定義:DisplayHierarchy 與 DisplayName。 在 DisplayHierarchy 中,您指定的是 translation operator 本身所在的 同一個處理程序中的階層式方塊。 在 parameter DisplayName 中,您設定目標 parameter 的名稱。 如果同時設定了 DisplayHierarchy 與 DisplayName, 則由 DisplayName 定義的 parameter 將可在 由 DisplayHierarchy 指定的階層式方塊中使用。 如果 DisplayName 為空白,則不會建立任何 parameter。 如果設定了 DisplayName,但 DisplayHierarchy 為空白, 則由 DisplayName 定義的 parameter 將會新增至父階層(亦即 translation operator 本身所在的階層式方塊)。
這可讓您在(設計的)任何所需階層層級上, 使 map parameter Value 能夠被存取。 這在使用受保護的階層式方塊時特別有用。 您可以直接在受保護階層式方塊本身的 properties 下方, 使該 parameter 可用。
映射的參數本身也可以被引用。因此,您既可以引用轉換運算子中參數 Value 的內容,也可以引用您在參數 DisplayName 和 DisplayHierarchy 中定義的參數。當受保護的分層方塊是由其他受保護的分層方塊建構而成時,這一點尤為重要。
由於此運算子不會干擾設計的資料流結構,因此沒有輸入與輸出。
關於 Library Parameters 的一般介紹,請參閱 Library Parameters。
| Status | |
|---|---|
| Type | 靜態讀取(儘管 GUI 顯示為寫入)參數 |
| Default | 無 |
| Range | OK 或錯誤訊息 |
|
顯示錯誤狀態。如果參數 Activate 設為 Yes,則會檢查其他運算子設定。此參數會顯示此檢查的結果,即 OK 或錯誤訊息。 此參數不屬於最終 applet 的一部分。 |
|
| DisplayName | |
|---|---|
| Type | 靜態寫入參數 |
| Default | 無 |
| Range | 任意字串 |
|
如果您想要在設計中的其他位置授予對參數 Value 的存取權(無論是自該處存取還是存取該處),您需要定義一個新參數。請在此處指定此新參數的名稱。 如果此欄位為空,則不會建立新參數。 |
|
| DisplayHierarchy | |||||||
|---|---|---|---|---|---|---|---|
| Type | 靜態寫入參數 | ||||||
| Default | 無 | ||||||
| Range | 任意字串 | ||||||
|
在此指定您要附加在引數 DisplayName 中定義的新對應引數的階層方塊。 對於此參數,您可以使用自動完成功能和語法突顯。若要使用自動完成功能,請點擊 Module Properties 對話方塊中此參數的 Parameter Values 欄位,然後按鍵盤上的 TAB 鍵。關於自動完成功能的更詳細說明,請參閱 'Autocompletion and Syntax Highlighting for Translator and Reference Operators'。 如果您定義了一個新引數 DisplayName,但將引數 DisplayHierarchy 留空:新引數將會新增至包含參考運算子實例的階層方塊中。(請注意,如果參考運算子實例位於最高(處理程序)層級,則無法這樣做。)
|
|||||||
| Value | |
|---|---|
| Type | 靜態、動態、寫入、讀取引數 |
| Default | 0 |
| Range | 有號整數 (64 位元) |
|
用於透過為讀取和寫入存取指定的方程式存取其他參數的參數。 若要建立用於轉換公式的使用者自訂全域常數,此參數必須是 static。關於如何建立全域常數的說明,請參閱 DisplayHierarchy 參數說明。 |
|
| 單位 | |
|---|---|
| Type | 靜態寫入參數 |
| Default | - |
| Range | Latin-1 |
|
在此輸入引數 Value 的單位。 |
|
| 描述 | |
|---|---|
| Type | 靜態寫入參數 |
| Default | - |
| Range | 任意文字 |
|
在此輸入引數 Value 的說明。 |
|
| RangeFrom | |
|---|---|
| Type | 靜態寫入參數 |
| Default | 0 |
| Range | |
|
最小有效值的定義。您也可以在此處輸入公式。 |
|
| RangeTo | |
|---|---|
| Type | 靜態寫入參數 |
| Default | 255 |
| Range | |
|
最大有效值的定義。您也可以在此處輸入公式。 |
|
| RangeIncrement | |
|---|---|
| Type | 靜態寫入參數 |
| Default | 1 |
| Range | |
|
有效值之間間隔的定義(步長的定義)。您也可以在此處輸入公式。 |
|
| WriteAction | |
|---|---|
| Type | 靜態寫入參數 |
| Default | |
| Range | |
|
定義在寫入存取參數 Value 期間進行轉換的方程式。 對於此參數,您可以使用自動完成功能和語法突顯。若要使用自動完成功能,請點擊 Module Properties 對話方塊中此參數的 Parameter Values 欄位,然後輸入 “${”。關於自動完成功能的更詳細說明,請參閱 'Autocompletion and Syntax Highlighting for Translator and Reference Operators'。 |
|
| ReadAction | |
|---|---|
| Type | 靜態寫入參數 |
| Default | |
| Range | |
|
定義在讀取存取參數 Value 期間進行轉換的方程式。 方程式一律以「${this.Value}=」開頭。 對於此參數,您可以使用自動完成功能和語法突顯。若要使用自動完成功能,請點擊 Module Properties 對話方塊中此參數的 Parameter Values 欄位,然後輸入 “${”。關於自動完成功能的更詳細說明,請參閱 'Autocompletion and Syntax Highlighting for Translator and Reference Operators'。 |
|
| Activate | |
|---|---|
| Type | 動態寫入參數 |
| Default | 否 |
| Range | {No,Yes} |
|
Yes = 啟用對參照參數的存取(透過讀取與寫入方程式)。 No = 停用對參照參數的存取(透過讀取與寫入方程式), 並停用 Status 參數。 DisplayName 與 DisplayHierarchy 參數將無效。 |
|
以下範例顯示了 IntParamTranslator 運算子的使用方式:
-
用於 DMA、RAM、GPIO、Trigger 和 LED 的硬體自我測試範例。
-
範例 - 示範如何使用參數轉譯運算子來運算參數。

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






![[備註]](../common/images/admon/note.png)

上一頁

