手提式水果糖酸度檢測機的操作程式完全是由LabVIEW寫成的大型程式,是我寫的程式中用到SubVI最多的程式。程式的寫作歷經4次改寫才有如今的規模,這要歸功於客戶的要求和多嘴的教授


程式寫作的原理是程序可跳著執行的循序結構,以錯誤訊息為導向,也就是程式中有錯誤訊息時,是優先處理錯誤訊息;除了幾個操控重要畫面外,還會叫用SubVI的跳現式視窗畫面

 


先來看程式的操作畫面,按照開機後的執行順序:


1.開機後會先執行偵測光譜儀通訊埠能否開啟?開啟失敗的機率約1/50左右,這應該是原廠驅動程式的問題。若光譜儀通訊埠開啟失敗,會呼叫SubVI跳出視窗,按確定後自動進入關機程序

手提式水果糖酸度檢測機__操作程式畫面01  

 

手提式水果糖酸度檢測機__操作程式畫面02  


2.若光譜儀光譜儀通訊埠開啟成功,會進入"初始化"程序,順序讀取各相關檔案,及上次關機前存檔的參數


首先讀取的是"暗電流"、"操作參數"、"設定資料"3個檔案,若讀取失敗,會把是哪個檔案讀取失敗的訊息,加入呼叫的SubVI跳出視窗顯示,按確定後結束程式動作;注意這邊是結束程式不是電腦關機,在程式結束後可打開檔案總管檢查檔案是否損壞或毀損

手提式水果糖酸度檢測機__操作程式畫面03  

 

手提式水果糖酸度檢測機__操作程式畫面04  


接著若上次的操作參數有打開通訊功能,會進入開啟通訊埠程式。若通訊埠開啟失敗,同樣會呼叫SubVI跳出視窗,但不會執行任何動作。在後續程序跑到"待機"狀態時仍可嘗試打開通訊埠

手提式水果糖酸度檢測機__操作程式畫面05  

 

手提式水果糖酸度檢測機__操作程式畫面06  


3.以上程序沒有錯誤會進入"暖機"程序,暖機開始前會檢查操作硬體,若操作硬體有錯誤,同樣會呼叫SubVI跳出視窗,按確定後結束程式動作;注意這邊是結束程式不是電腦關機,程式結束後可打開裝置管理員檢查硬體狀態

手提式水果糖酸度檢測機__操作程式畫面07  

 

手提式水果糖酸度檢測機__操作程式畫面08  


若硬體沒問題則直接執行暖機程序,暖機畫面原本有公司電話地址等資料,這邊避免造成困擾予以遮蔽

手提式水果糖酸度檢測機__操作程式畫面09  

 

手提式水果糖酸度檢測機__操作程式畫面10  


暖機程式中有使用2個SubVI


其中1個是把倒數數值轉成文字格式顯示在螢幕上,並比對倒數時間

手提式水果糖酸度檢測機__操作程式畫面11  


另1個是倒數結束時,透過DAQ送出訊號,使音樂鈴發出聲音通知

手提式水果糖酸度檢測機__操作程式畫面12  


4.暖機結束進入讀取資料的程序,依照設定資料調用相關的"檢量線"和校正參數;這裡使用的是讀取TDMS檔的SubVI,是LabVIEW專屬的特殊檔案,裡面的資料是混合式結構,若不知道建立檔案的人用的編排規則,要讀取破解很難

手提式水果糖酸度檢測機__操作程式畫面13  

 

手提式水果糖酸度檢測機__操作程式畫面14  


5.以上程序跑完,進入檢測程式畫面待機;上方是檢測結果顯示,下方是操作畫面切換。中間上方是功能選項顯示,中間下方是吸收光譜顯示。右邊上方是檢測數量和點數顯示,右邊下方是檢測模式設定。左邊上方是檢測項目和模式設定,左邊下方是檢測參數設定

手提式水果糖酸度檢測機__操作程式畫面15  


其中點選"檢測點數設定"和"檢測標準"這2個項目時,會呼叫SubVI跳出數字鍵盤1的視窗;程式內容可以查看部落格內文章

手提式水果糖酸度檢測機__操作程式畫面16  

 

手提式水果糖酸度檢測機__操作程式畫面17  


點選"水果溫度"這個設定項時,會呼叫SubVI跳出數字鍵盤2的視窗;和數字鍵盤1差別在有"-"號,程式內容可以查看部落格內文章

手提式水果糖酸度檢測機__操作程式畫面18  

 

手提式水果糖酸度檢測機__操作程式畫面19  


點選"操作模式"這個項目,會跳出選項。只有"糖度量測"和"白板校正"這2項可選

手提式水果糖酸度檢測機__操作程式畫面20  


點選"檢測項目"這個項目,會呼叫SubVI跳出選單視窗。選擇"水果名稱"或是點選"取消選擇"都會回到檢測程式畫面

手提式水果糖酸度檢測機__操作程式畫面21  

 

手提式水果糖酸度檢測機__操作程式畫面22  


6.點選下面"參數設定"會進入參數設定畫面

手提式水果糖酸度檢測機__操作程式畫面23  


上方是選項開關,依序是:"聲音報知"設定音樂鈴動作,"溫度補償"打開溫度校正功能,"列印功能"設定是否要列印標籤,"通訊功能"設定是否要透過線路輸出檢測結果,"酸度切換"設定酸度顯示單位是百分比或PH值


中間左邊是"燈泡使用時間"計時,換新IR燈泡時可將時間歸0;中間右邊"存檔/檢測數量歸0"可把當時的全部檢測結果存檔,並把檢測數量歸0


在下方是4個功能設定項目


"列印設定"會呼叫SubVI跳出設定視窗,裡面的位置寬高設定的單位是點數,設定數值要依標籤機手冊說明去調整

手提式水果糖酸度檢測機__操作程式畫面24  

 

手提式水果糖酸度檢測機__操作程式畫面25  

 

手提式水果糖酸度檢測機__操作程式畫面26  


"系統設定"會呼叫SubVI跳出設定視窗,雖然因客戶要求要有這項目,但基本上是不應開放給客戶使用;曾有客戶手賤修改裡面的數值,結果就是準確率完全走樣

手提式水果糖酸度檢測機__操作程式畫面27  

 

手提式水果糖酸度檢測機__操作程式畫面28  


"糖度校正"和"酸度校正"會呼叫SubVI跳出幾乎相同的設定視窗,程式碼也幾乎相同;這部分是出廠前用來修正光譜儀的檢測誤差用,原本也是不開放給客戶使用,但在部分客戶要求下開放使用。但後來有些客戶誤用濫用造成不少糾紛,有點後悔開放這項目

手提式水果糖酸度檢測機__操作程式畫面29  

 

手提式水果糖酸度檢測機__操作程式畫面30  


雖然這個程式用到的SubVI有幾十個,但含主要檢測畫面在內只有以上那幾個

 


接下來針對看過及使用過這台機器的教授和客戶的疑問順便解謎


1.程式畫面的配色:原本畫面都是LabVIEW內定的銀灰色系列,教授認為這樣比較有質感。但實際使用客戶大多是中老年人,銀灰色系對客戶來說看的很吃力。純黑白對比又太強烈,經過幾次調整才變成目前的狀態,要兼顧配色和對比可不容易。一切還是以使用者的意見為主,至於教授的意見?吃屎去吧


2.數字鍵盤為何會有2個版本?其實一開始也只有一種版本,但就是有些客戶不看使用手冊,在不該設定負數的地方設定為負數,結果就是程式系統當機;而改用2個版本的數字鍵盤後,雖然還有客戶亂設定,至少不曾程式系統當機


3.酸度為何會有百分比或PH值的顯示方式?這邊我就老實承認實際取樣時都是PH值,學術單位用的"滴定法"不是沒有考慮過。但提出這個意見的教授不肯出借設備,加上"滴定法"取樣耗時,在商品化取樣是很不利的;為了給教授一個交代,我另外搞了一個將PH值換算為百分比的程式


4.通訊功能怎麼設定?老實說不開放給客戶自己設定,IP位址的設定是到客戶那邊我再依客戶的資料修改;這項功能是某些客戶要求而設定,輸出的資料是直接進到客戶的資料庫,但大多數客戶沒有自己的資料庫,所以這一項幾乎都是關閉狀態


5.標籤機能不能換用其他機種?可以,但只限TSC這一廠牌,畢竟使用到的萬用驅動程式是那家廠牌的東西


6."系統設定"內的項目要如何設定?再強調是不應開放給客戶使用的東西


"資料起點"那項要怪罪"海洋光學"公司,同樣是訂購波長範圍200到1050的光譜儀,但事實上波長範圍是沒變,但讀取光譜資料有差。也就是同一波長資料在不同個光譜儀之間,不是落在資料陣列的同一索引位置上,這一項是在修正這個資料的偏移誤差。也因為這樣每一台出廠的機器我都有特別記下出廠設定


"曝光倍率"這項要怪罪歐盟,原本IR燈泡用的好好的,因為"環保"問題,使得IR燈泡廠商更改充填氣體。結果是燈泡不穩定,在更改初期還每批號都不同,當時換了幾批後才穩定下來;但這一設定項還是保留下來預防萬一

 


下一篇文是程式詳解,其中用到較複雜的SubVI會另闢專文詳解

arrow
arrow

    未出師的小工程師 發表在 痞客邦 留言(0) 人氣()