為什麼VI Snippet的功能會將區域變數轉換為屬性節點

更新 Dec 28, 2018

產品資訊

Software

  • LabVIEW

問題敘述

當我創建一個含有區域變數(Local Variables)的VI Snippet時,所有區域變數(Local Variables)都被轉換為具有Refnums的屬性節點(Property Nodes)。為什麼會這樣?

解決方案

當使用Edit » Create VI Snippet from Selection的函示時,它會去使用Edit » Create SubVI這個LabVIEW內建的功能,因此在創建VI Snippet時,LabVIEW會跑完創建subVI的流程。可以根據下方示意圖在LabVIEW中找到Create VI Snippet from Selection的工具,
 
因為Local Variables可能被連結至subVI內部或外部的變數(variable),也因為這樣這些變數需要具有refunms的屬性節點,以讓它們的references可以從外部傳遞進subVI裡。這就是為什麼任何subVI內的Local Variable會被轉換為Property Node的原因,因為它需要將一個reference傳遞給Property Node,才能使subVI的功能跟top-level程式中的Local Variable一樣。下圖展示了一個VI Snippet轉換的範例:

本文是否有幫助?

無幫助