labview 遞迴

請問一下 如何用case做遞迴 (想學如何呼叫自己)
大概知道的是要呼叫vi 可是不知道如何做

有人可提供圖片或影片教學嗎?

你要的是labview state machine嗎?

http://k12lab-support-pages.s3.amazonaws.com/lvadvancedhome4.html

用LabVIEW解"八皇后"問題 by 未出師的小工程 (他好像已經48歲了 ?! @@)

http://liuyunantw.pixnet.net/blog/post/251279651-%E7%94%A8labview%E8%A7%A3%22%E5%85%AB%E7%9A%87%E5%90%8E%22%E5%95%8F%E9%A1%8C


很多東西都跟他學的,他有整理許多問題並留下紀錄 
[QUOTE=fugi0226]請問一下 如何用case做遞迴 (想學如何呼叫自己)
大概知道的是要呼叫vi 可是不知道如何做

有人可提供圖片或影片教學嗎?[/QUOTE]MingYen42240.6236689815

Labview裡的遞迴(Recursion)
http://digital.ni.com/public.nsf/allkb/DCF9FA384DB943B78625744400165873


問題: Labview有支援遞迴嗎? 我要如何在Labview裡面使用遞迴的VI?

解答:
有,LabVIEW是有支援遞迴的。您可以依循下列步驟建立遞迴的VI。 


關於遞迴
一個呼叫自己的VI被稱為遞迴的VI(recursive VI)。 也就是說,如果一個LabVIEW 應用程式(application
)使用了遞迴,為了達到某些特定的目的,它會開啟它自己額外的複本(copy)。舉例來說,其中一個遞迴的熱門應用就是階乘函數的計算(以 ! 表示)。
 給定的任意一個正整數的階乘是從1開始往上數到所給定正整數(包含此正整數)的所有正整數的乘積。因此,3!  等於 3*2*1 = 6. 
下面所附加的遞迴範例 factorial.vi 是由計算下一個最小的整數乘積而得到最後的計算結果(呼叫自己)。以數學的角度來看,3! = 3*(2!)。
 在這個遞迴的階乘函數VI裡,1! 及 0! (一個特例) 被寫定為 1。


可重入VI
有很重要的一點必須注意到的是一個遞迴VI必須開啟它自己的額外複本並儲存在記憶體裡面。 我們也可以稱這個VI為可重入的(reentrant)。
也就是說,每一個遞迴VI的實體(instance)都有一個自己本身的資料,這些資料與同一個VI的其他實體的資料是不同的。
下列步驟可以確保遞迴 VI 被設定為可重複進入的。 


建立遞迴VI的步驟
按照以下步驟,您可以將一個VI設定成可以呼叫自己本身:


將想要使用控制器(control)與指示器(indicator)的放置在人機介面上(be sure they have the appropriate representation),
然後在人機介面右上角的圖示/連接器面板(connector pane)上點滑鼠右鍵做設定,選擇Show Connector Pane.


將VI設成可重入的,選File?VI Properties?Execution?Reentrant execution. 


在VI的程式區裡,現在所使用 VI 的複本在執行時必須被"Call By Reference Node"呼叫。首先, 開啟functions pallet並且選擇 Application Control?Open VI Reference。
 將遞迴 VI 的路徑連起來,並且將options的輸入設定成8這個常數. 這可以使用reference的方式呼叫可重入VI。 

在Open VI Reference 圖示的 type specifier VI refnum 端點上面選滑鼠右鍵,然後選Create?Constant。 在建好的常數上點選右鍵再選Select VI Server Class?Browse。 
查看遞迴VI的位置然後選ok。將新開啟的VI reference 連接到位在Application Control?Call By Reference Node 裡面的Call By Reference Node。
並且將線連接到被使用reference呼叫的VI的輸入端跟輸出端(依照使用定義的功能)。 


使用位於Application Control?Close VI Reference 裡面的Close VI Reference來關閉VI的引用。 


確保你的遞迴VI有跳出遞迴的設定。也就是說,有些情況必須跳出遞迴而且在不呼叫此遞迴VI額外複本的情況下回傳一個數值。這是最後一步,現在的VI已經設定好且可以用在遞迴的應用上了。


NI範例,X! (X的階乘)計算 
factorial.vi

網路上的PDF 不錯分享一下


http://blog.jki.net/wp-content/uploads/2010/03/Recursion-in-LabVIEW-JKI-Maila.pdf

我成功了!
原來是我有地方忘記案
我這台電腦沒檔案  下次在補檔案上來

恭喜 XD 

我發現寫最好的是下面這個網頁,他還有影片!
http://www.ni.com/white-paper/9387/en/

附上重要圖檔:勾選可重入執行 (Reentrant execution)


[QUOTE=fugi0226]我成功了!
原來是我有地方忘記案
我這台電腦沒檔案  下次在補檔案上來[/QUOTE]