LabVIEW的一些錯誤提示與處理方案


我的LabVIEW版本是7.0 Express,作業繫統Windows XP Proffessional。我用LabVIEW編寫通信測試程式,用于控製檢測設備。在編程過程中時常遇到一些莫名奇妙的錯誤,自己總結下來這些。想尋找到更好的方案,所以期盼與諸位交流。

——我在大陸成長和工作,這是我第一次用繁體寫文章。請您斧正錯別字及語法,習慣用語等等錯誤,以便改進。萬分感謝!

外圍設備或程式安裝失敗

現象描述:安裝齣現類似“IVI Compliance Package needs NI-Scope features.” 之類的NI錯誤提示。

誘因:沒有安裝相應的LabVIEW特性或者驅動程序,導緻一些特性或者設備無法建立或配置。LabVIEW安裝之初如果選擇默認的安裝方式,有的特性就不會被裝載,這樣的話,如果需要應用有特殊需要的外圍軟硬體時就會齣現這樣的失敗提示。

處理方案:在LabVIEW安裝之初,為需要安裝的外圍設備安裝相應的特性支援。如果拿不準拿一個是需要的特性,不妨多試幾次。我不大讚成特性全選是可取的,所以並沒有嘗試過,不知傚果如何,會不會有副作用或者其他。

啓動時的subVI路徑(Route)錯誤

現象描述:啓動時齣現類似“The subVI expected to be at 'A路徑' was loaded from 'B路徑'”,是LabVIEW錯誤提示。

誘因及處理方案:有兩種情況。第一種情況是上一個VI沒有關閉就啓動另外的VI,一旦這同時打開的兩個VI呼叫同名的子VI就會齣現這樣的錯誤提示。對此事我自己的猜測是這樣:在LabVIEW啓動時,內部會生成一份記錄所有VI路徑的錶格以用于編譯,這個錶格的作用有點像C語言裏麵的include,預先聲明要用到的函式——LabVIEW的VI,不過LabVIEW將這個工作自己承擔下來,不希望給用戶增加絲毫的負擔。但未證實是否如此?當然也可能是一項有意識添加的子VI更新功能?我不大確定,總認為更像一個BUG。對這種情況,為避免它鬍亂加載后齣現更“奇妙”的錯誤,我的處理方案是:立即重新啓動LabVIEW。預防方案是:開啓下一個VI前重新啓動LabVIEW。完全退齣LabVIEW后錶格被“析搆”掉,再打開時是空的,就不會存在“衝突”啦。

另外一種是上一次關閉后VI文件被移動,文件夾被重命名,等等。路徑改變。如果是原有VI被移動或被刪除,最好是復製一個新的VI,粘貼到呼叫者認為它應該去的文件夾下,就是錯誤提示中說的“expected to be at”的那個地方。如果是文件夾改過名字或者移動過,那最好是將其恢復。如果無法恢復,有時候需要全部重新插入那些“走丟”的subVI,有時能LabVIEW能自己找到。我還沒有髮現更多的規律。預防方案是:養成好的習慣,不到處去呼叫VI,最后不知道哪些VI是從哪裏來的。把用到的VI都集中放置,設備有關的建一個Device文件夾,文件存放的建一個Data文件夾,……,等等。要移動程式時整個文件夾都移動,不輕易更改VI所在路徑及名稱。


啓動時找不到VI文件

現象描述:點擊某一VI文件,LabVIEW啓動后windows作業繫統提示“windows找不到文件'*.vi'。請確認文件名是否正確后,再試一次。……”然后程序成功啓動,載入VI文件。

誘因:這是令人啼笑皆非的一件事情。先說找不到,后來又成功開啓。也許是不是寫兩三個小時的程序以后作業繫統再提示我一下“windows已經找到VI,……”?我怕我辛辛苦苦寫的程序當掉,所以再這種情況下我是不寫程序的。不知諸位有沒有遇到這種情況堅持寫下去的?有沒有髮生不良結果?

經過仔細檢查,最后確定問題齣在一個Symantec Antiverus磁盤掃描程序上。當掃描程序運行時,啓動LabVIEW,作業繫統就會報告這種錯誤。我隻好停掉掃描,繼續畫我的“電路圖”。現在我也隻找到這一個程序會産生這樣的錯誤提示,不知諸位有沒有類似情況?


無法讀取文件

現象描述:啓動LabVIEW時,LabVIEW提示(上一個是作業繫統的提示)找不到某個VI,彈齣一個“打開文件”一樣的窗體,叫我指定那個VI的路徑。

誘因:一種情況是文件或文件夾被移動過。另外一種情況是新安裝過LabVIEW的其他版本,也就是說,這時作業繫統中同時含有兩個版本的LabVIEW——不排除兩個以上也有這樣的情形——我最多的時候隻有兩個。無奈的是LabVIEW橫嚮的兼容性不算最佳(上個例子是個證明),縱嚮的兼容性也未見優異——至少我用的感覺是這樣。如果一個5.0寫的VI用7.0打開過一次,不作任何改動,很可能用5.0就打不開它,要么運行不起來。那如果需要維護不同版本寫的LabVIEW程序時該怎么作呢?隻好裝兩個版本,那問題就來了。當開啓VI的LabVIEW與編寫VI的LabVIEW版本不同,負責開啓VI的LabVIEW就會提示找不到某個VI。這大概是因為LabVIEW不大喜歡挖別人牆角吧,呵呵。

處理方案:第一種情況的處理,在路徑錯誤中已經作過介紹;第二種情況,先啓動一個空的LabVIEW——不是直接點擊VI文件直接啓動LabVIEW。再用OPEN讀入VI。如果直接點擊VI,LabVIEW啓動起來,結果髮現版本弄錯,那您最好祈禱以前曾經對它作過備份,因為它可能已經不能用啦。我需要在多個版本的LabVIEW中進行編程,所以我總是區分開不同版本,並乖乖的作好備份。

 

我整理下來的大約就是這些。不知文章通不通順……

 

Leody38849.6324768519

謝謝熱心提供程式撰寫心得。你的繁體寫的很好唷...

謝謝您!我會繼續努力的,呵呵。 

可不知為何,似乎帖子被關註的程度很低。我原以為這篇文字蠻吸引人的嘞。

[QUOTE=Leody]

謝謝您!我會繼續努力的,呵呵。 

可不知為何,似乎帖子被關註的程度很低。我原以為這篇文字蠻吸引人的嘞。

[/QUOTE]

怎麼會呢!!才一個早上就80幾個人瀏覽了!!希望您能繼續分享您的經驗

噢,看見啦!多謝諸位捧場啊呵呵。