請問一下ERROR在LV中的功能..

那天去參加NI的HAND ON 說明會

講到ERROR的功用時他說這是比較深的部份暫時不講

但是LV7.0的每個EXPREESE都有這個CHANNEL

可不可以請大家告訴我ERROR的功能

如果可以寫個例子應該能使我更加的明白

謝謝大家的幫忙

 

寫程式,就是要滿足每一個使用者的需求以及適應每一種突發的狀況。在使用者操作程式時,有個時候會有錯誤明況發生,這時候,如果 你的程式不知道error已經發生,然後繼續執行下去的話,那麼你的labview程式不但執行不下去,還會跳出一個英文介面的 視窗告訴使用者發生錯誤了。但是果你能在程式寫入偵測error的功能的話,也許可以用程式來彌補。比如說:

  1. 跳出視窗,告訴使用者哪邊出問題了,不要讓使用者在看到程式出錯的時候,覺得糊裡糊塗。
  2. 當程式出錯時,跳到另外一個case,然後做其他的動作,比如「重新初始化儀器」等等
  3. 當程式出錯時,馬上送email給程式攥寫者(LabVIEW7.0)已經有此功能
  4. 當成是出錯時,啟動警示...等等

 

再補充一下我所知道的,就是程式執行的順序也可使用error

[QUOTE=ancle]

再補充一下我所知道的,就是程式執行的順序也可使用error

[/QUOTE]

不懂,可不可以用具體的例子說明呢?或是可不可以用多一點文字說明呢?

[QUOTE=Benjamin][QUOTE=ancle]

再補充一下我所知道的,就是程式執行的順序也可使用error

[/QUOTE]

不懂,可不可以用具體的例子說明呢?或是可不可以用多一點文字說明呢?

[/QUOTE]

附上一個用imaq vision寫得不完整範例(Untitled 2.vi),說明執行順序為A,B,C,D

2004-04-02_111158_error_out.llb

 

[QUOTE=ancle][QUOTE=Benjamin][QUOTE=ancle]

再補充一下我所知道的,就是程式執行的順序也可使用error

[/QUOTE]

不懂,可不可以用具體的例子說明呢?或是可不可以用多一點文字說明呢?

[/QUOTE]

附上一個用imaq vision寫得不完整範例(Untitled 2.vi),說明執行順序為A,B,C,D

2004-04-02_111158_error_out.llb

[/QUOTE]

抱歉,我還是不懂,你這個城市的精華在哪裡?抱歉啦...

還有...那個Untitled 2.vi,我根本無法執行,更遑論要看到執行後的結果。

[QUOTE=Benjamin][QUOTE=ancle][QUOTE=Benjamin][QUOTE=ancle]

再補充一下我所知道的,就是程式執行的順序也可使用error

[/QUOTE]

不懂,可不可以用具體的例子說明呢?或是可不可以用多一點文字說明呢?

[/QUOTE]

附上一個用imaq vision寫得不完整範例(Untitled 2.vi),說明執行順序為A,B,C,D

2004-04-02_111158_error_out.llb

[/QUOTE]

抱歉,我還是不懂,你這個城市的精華在哪裡?抱歉啦...

還有...那個Untitled 2.vi,我根本無法執行,更遑論要看到執行後的結果。

[/QUOTE]

抱歉!我說過這是一個不完整的程式,無法執行,目的是在說明labview是平行執行的,完整的程式執行時,如果沒有拉erro r out到C時,很難保證執行順序為A,B,C,D,有可能先執行A,C,D,B或C,A,B,D....,拉了error out到C時,保證執行的順序是A,B,C,D

喔...原來是這樣ㄚ...那我就明白了。

利用error的資料流(data flow)來促使程式內的subVI按照一定的方向進行。

高明...高明阿...![](upload://j03HfI2TMqenOSl5lfi4w7XHM9g.gif)

其實,我覺得利用State Machine的資料流編程架構來做Error狀況警告,是比較恰當的方式,關於State Machine架構有相關討論.

http://labview.com.tw/forum/forum_posts.asp?TID=1032&PN= 1