[LabVIEW程式技巧] 整合練習 : 微波爐觸控軟體操作設計
<source : greatway9999>
一、需求描述
二、程序流程圖
三、程式撰寫
Windows Appearance
Windows Size
Windows Run-Time Position
(一)、主程式
1.人機介面
2.Timeout
3.模式選擇
4.微波強度設定
5.微波時間設定
6.開始微波
7.重置
8.關閉
(二)、模式選擇 subVI
模式的狀態分別有:自定模式、飲料加熱、飯菜加熱、冷凍食品解凍、生食烹煮。
程式撰寫的架構為 "錯誤保護"的case 加上 各種狀態的Event。
錯誤保護分為若有錯誤,則直接傳出錯誤。若無錯誤則在由按鈕觸發各個Event狀態。
動作為各種功能按鈕觸發後,送出所選模式的文件到主畫面上。
人機介面如下 :
依上述邏輯,程式撰寫如下 :
1.錯誤發生
2.無錯誤下的各個狀態(模式)
(1)自訂模式
(2)飲料加熱
(3)飯菜加熱
(4)冷凍食品解凍
(5)生食烹煮
(6) Timeout
(三)、微波時間設定之subVI
此功能主要為設定微波的分鐘與秒數。程式撰寫的架構為一個錯誤保護的case 加上 撰寫時間設定內容的迴圈。
比較特別的是,為了讓時間數字的其中一個按鈕被按下時,其他的按鈕則不會動作,Radio Buttons是一個很好用的功能。
Radio Buttons的位置為 Control 面板 >> Boolean。用法很簡單,像cluster一樣,只要將數字按鈕塞進去,再把原本的Radio Selection刪掉即可。請留意,因為這個功能方塊中必須要有內容,所以無法先刪除Radio Selection再塞數字。
處理後,人機介面如下,相關的icon與接線,可依照自己需求設計 :
1.錯誤發生
2.若無錯誤,則執行時間設定
(四)、微波強度設定之subVI
此功能主要為以數字按鈕設定微波的強度。程式撰寫的架構為一個錯誤保護的case 加上 狀態Event。
人機介面的設計同樣運用Radio Buttons,如下所示。相關的icon與接線,可依照自己需求設計 :
1.錯誤發生
2.若無錯誤,則執行火力設定
(五)、啟動畫面之subVI
這部分依照流程圖進行撰寫即可。Case架構中的狀態分別有 : 更新資訊、確認停止按鈕是否按下、更新計時器、確認計時器、結束。
技巧是利用 Enum去撰寫所需的條件 (狀態),為方便未來修改,記得要進行 Make Type Def.,再存成控制物件。
程式撰寫一樣分成錯誤發生和沒錯誤的動作,參考如下 :
1.錯誤發生
2.若無錯誤,則進行下列的條件
(1)更新資訊
(2)確認停止按鈕是否按下
(3)更新計時器
(4)確認計時器
(5)結束
至此,大功告成。
關閉所有的subVI,只留下主程式,執行後,就可以看到你的成果囉!
---
0 留言