Operator Library: Parameters
運算子IntParamTranslator允許對一個或多個其他運算子的參數進行轉換存取(讀取與寫入) 。 進行計算時,您需定義公式。這些公式的語法符合GenICam API 2.0 版本規範。詳細的語法 說明請參閱下方。
此外,此運算子可用於建立供翻譯公式使用的自訂全域常數。 當「值」(Value)為靜態時,您可以透過將「顯示層級」(DisplayHierarchy) 參數設定為 :: 。 生成的常數將在整個系統中生效,並可在所有 參數轉換公式中存取。有關在轉換公式中使用全域常數的詳細資訊,請參閱 DisplayHierarchy參數說明。
運算子IntParamTranslator會產生一個類型為 VA_SINT 的地圖參數。 該地圖參數的名稱為Value。
雖然該運算子將其參數Value的類型定義為 VA_SINT 類型,但並未限制在寫入或讀取操作期間所存取的 參數之資料類型。 例如,該運算子中定義的公式可能包含對 float 類型參數的存取。

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

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






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

上一頁

