請你不要按 Run Continuously 按鈕
在 LabVIEW 裡面,有個按鈕非常的吸引人,尤其是初學者,就是這個:Run Continuously。
這個按鈕一按下去,程式就可以連續執行,對於初學程式的人來說,根本就是魔法(?),但!你可以用迴圈啊啊啊啊啊!這個按下去之後,你就只能用旁邊的那個紅色 Abort Execution 按鈕來停止程式,如果你去查字典的話,你會發現 Abort 除了中止之外,還有墮胎的意思,他帶有一種「強制關閉」的感覺,就像你電腦不按關機,直接拔電源一樣。
為什麼正確的停止程式很重要?
你平常用一個軟體,例如 Google Chrome 的時候,你只要按右上角的 X,軟體就會關掉。但其實在你按下 X 之後,軟體在背後做了很多的操作,例如釋放佔用的記憶體空間,這樣你電腦才不會越用越卡。而我假設你用LabVIEW的主要目的是儀器控制,儀器控制沒有正確關閉,可不是只有電腦變卡這麼簡單。
儀器控制程式有三個重要部分:Initialize (初始化)、Main (總之就你的主要量測或移動之類的都在這) 還有 Close (關閉)。
Initialize 處理一些儀器連線以及初始化的部分,Main 是主要的量測和控制,而 Close 則扮演了讓儀器停止運作並正確斷開連線的功能。
儀器連線有點像講電話,我這裡用室內電話比喻,已經不知道室內電話是什麼的小年輕請去自己查Google。講電話要先拿起來,撥號,對方接通之後開始講話,來來回回講一陣子之後,要掛電話,電話如果沒有掛回去的話,其他電話是撥不進來的!電話還好,頂多就是撥不通,儀器......有些時候你直接切斷,沒有跟馬達說停止的話,他會繼續很開心的前進,你想趕快連回去跟他說停止,他說:「不好意思,連線佔用中。」因為剛剛沒有正確斷開連線,他誤以為他還在連線當中。這時候......有時候重新開機可以解決......有時候啦!
設計正確的停止過程
所以設計正確的停止過程就非常重要,一般初學者很容易單純有放一個 Stop Button,但儀器出Error就卡在迴圈裡面,最後還是沒辦法跑到正確的停止流程。選擇正確的程式框架,並且做正確的 Error Handling 是非常重要的!
今天的殺人鯨LabVIEW勸世就到這邊,感謝大家的收看!下一期要寫什麼呢?
0 意見:
張貼留言