執行時的順序性?

在一開始學LabVIEW的時候

老師跟我說他執行時的順序是由左到右由上到下的執行方式

而在跑自己當時做的小程式好像也是這樣子的跑

但之後開始設計大程式後

發現又好像不是這個樣子了?

程式不像我想像的順序執行

而是讓我看不出規律的執行

例如,在一個For Loop迴圈裡,他的執行順序就是亂跑的,我以為會先跑A線,但卻是跑B線

在例如,For Loop迴圈不是應該當我設定他執行幾次,他就會跑完幾次後才會在往後執行嗎@@?但昨天發現不知道為什麼跑了一次後他就跑後面的程式

這真的讓我很疑惑@@

LabVIEW好像沒有那種說,我開一個輸出視窗然後將其他地方的輸出資料都丟到裡面,他能記憶起來,然後不會受到影響?

例如,在一個For Loop迴圈裡,他的執行順序就是亂跑的,我以為會先跑A線,但卻是跑B線

你怎麼知道先跑A而不跑B?

在例如,For Loop迴圈不是應該當我設定他執行幾次,他就會跑完幾次後才會在往後執行嗎@@?

For Loop你怎麼確定它不是已經跑完了才開始往後執行?

但昨天發現不知道為什麼跑了一次後他就跑後面的程式

除非你只設定一次,不然不太有可能

[QUOTE=minglai]

例如,在一個For Loop迴圈裡,他的執行順序就是亂跑的,我以為會先跑A線,但卻是跑B線

你怎麼知道先跑A而不跑B?

小弟透過"Highlight Execution"這個東西而知道的,我不知道中文翻譯是什麼但我是自己稱做單步執行,在背板那邊有,是一個燈泡圖形的按鈕

在例如,For Loop迴圈不是應該當我設定他執行幾次,他就會跑完幾次後才會在往後執行嗎@@?

For Loop你怎麼確定它不是已經跑完了才開始往後執行?

如同第一點問題的回答,透過"Highlight Execution"所看到的

但昨天發現不知道為什麼跑了一次後他就跑後面的程式

除非你只設定一次,不然不太有可能

這個問題已知道為什麼了,因為我輸入源是兩個一維矩陣,一個有8個,一個只有1個,所以變成就算我設定For Loop迴圈執行8次,但實際上還是只會執行1次

 

以上,感恩!

[/QUOTE]

[QUOTE=tjames111]

在一開始學LabVIEW的時候

老師跟我說他執行時的順序是由左到右由上到下的執行方式

不~ LABVIEW是資料流(你可以想像串珠一個串一個,所以線的方向就是資料的流向)的概念,而不是由左到右由上到下的執行

而在跑自己當時做的小程式好像也是這樣子的跑

但之後開始設計大程式後

發現又好像不是這個樣子了?

程式不像我想像的順序執行

而是讓我看不出規律的執行

例如,在一個For Loop迴圈裡,他的執行順序就是亂跑的,我以為會先跑A線,但卻是跑B線

在例如,For Loop迴圈不是應該當我設定他執行幾次,他就會跑完幾次後才會在往後執行嗎@@?但昨天發現不知道為什麼跑了一次後他就跑後面的程式

因為你使用了Auto Indexing,所以才跑最小陣列(1個)

參考http://www.labviewpro.net/teach_content.php?fid=6&post=248&fpt=3

這真的讓我很疑惑@@

LabVIEW好像沒有那種說,我開一個輸出視窗然後將其他地方的輸出資料都丟到裡面,他能記憶起來,然後不會受到影響?

可以,進階SubVI就可以達到了

[/QUOTE]

[QUOTE=SCOTT7O] [QUOTE=tjames111]

不~ LABVIEW是資料流(你可以想像串珠一個串一個,所以線的方向就是資料的流向)的概念,而不是由左到右由上到下的執行

了解,那這樣子的話我要怎麼能確定他資料流的順序是能依照我想要的先後順序執行呢?

發現我自己沒辦法找到他執行順序的規則@@a

因為你使用了Auto Indexing,所以才跑最小陣列(1個)

參考http://www.labviewpro.net/teach_content.php?fid=6&post=248&fpt=3

感恩,小弟是自己試到最後才發現到這個問題XD

感恩

可以,進階SubVI就可以達到了

可以請大大做一個簡單範例給我參考參考嗎@@?

目前知道說要顯示新與舊的資料需要搭配著"Shift Register"才做得到@@

感恩!

 

[/QUOTE][/QUOTE]

[QUOTE=SCOTT7O]

LabVIEW好像沒有那種說,我開一個輸出視窗然後將其他地方的輸出資料都丟到裡面,他能記憶起來,然後不會受到影響?

可以,進階SubVI就可以達到了

[/QUOTE]

想請問大大

所謂的進階的SubVI是什麼意思呢??

能否給個簡單的範例讓我了解一下@@??

感恩!

LabVIEW 是資料流架構的程式語言,這代表著資料將從資料來源送出,在程式中流動,並傳送到一個或多個資料目的地節點。不像一般文字型態程式語言,LabVIEW 由於本身的的資料流特性,程式並非按照傳統依序執行的方式,因此很容易用直覺式的圖形架構, 建構多個平行執行的系統。 舉例來說,就如同投影片所示,這個程式同時在進行將資料繪圖、基本的 DC-RMS 值運算及將資料儲存至試算表格式的檔案等三件事。 

LabVIEW 也是個多緒執行 (multithreaded) 的程式開發環境,代表著程式多個程式可以完全的平行執行,彼此間不會互相干擾及影響。

![](upload://f8ztIeKMxZLqN8buCop5T96UU8X.png)