智能儀器中一種菜單式人機界面的軟硬件設(shè)計
這種結(jié)構(gòu)還很適合儀器在改進和升級時功能程序模塊的增加和變換。比如系統(tǒng)要增加子任務(wù)B2d,只要在如圖4 所示的win3 屏顯中插入這個選項為opt = 3 ,使該屏為5 選項,則當標志■選中該項時程序即調(diào)用執(zhí)行子任務(wù)B2d的子程序。要增加主任務(wù)D的方法是類似的,只要在win1 屏顯中加入這個選項,然后程序根據(jù)菜單的選擇來分支就行了。
圖4 顯示界面的部分屏顯匯總
3 基于界面狀態(tài)的程序結(jié)構(gòu)
儀器儀表的系統(tǒng)程序結(jié)構(gòu),由按鍵和作業(yè)的對應(yīng)關(guān)系可分為一鍵一義型和一鍵多義型兩種結(jié)構(gòu)。
對于一鍵多義型系統(tǒng)程序,作業(yè)的調(diào)度條件是多因數(shù)的,不僅與外因(鍵盤操作) 有關(guān),也與內(nèi)因(系統(tǒng)當前所處的狀態(tài)) 有關(guān)。為此,引入系統(tǒng)狀態(tài)的概念,即將系統(tǒng)運行情況分成若干狀態(tài)(如圖4 所示的界面狀態(tài)和選項狀態(tài),選項狀態(tài)屬于界面狀態(tài)的子狀態(tài)) ,使得在任何一個狀態(tài)下每一個按鍵只有唯一的定義。這樣一來,系統(tǒng)運行去向就可以由當前狀態(tài)和當前鍵碼來共同決定了。智能化儀器儀表正由一鍵一義型向一鍵多義型進化。如用圖4 所示的顯示界面來表征系統(tǒng)當前所處的狀態(tài),其程序結(jié)構(gòu)稱之為基于界面狀態(tài)的程序結(jié)構(gòu)。
為提高系統(tǒng)效率,對鍵盤(或旋轉(zhuǎn)式光電編碼開關(guān)) 的操作響應(yīng)可采用中斷的方式進行。進入鍵中斷服務(wù)程序后,先判別是增建、減鍵、確認鍵(或旋轉(zhuǎn)式光電編碼開關(guān)的左旋右旋按下選定) 的哪一個鍵碼觸發(fā)中斷;接著判別當前系統(tǒng)所處的狀態(tài)(當前的顯示屏號win 及選項號opt ) ; 再由鍵碼key ,系統(tǒng)狀態(tài)win 和opt 決定執(zhí)行什么作業(yè)。程序框圖如圖5 所示。值得一提的是,對那些不適合在中斷服務(wù)程序中執(zhí)行或執(zhí)行時間過長的作業(yè)(如打印等) ,可在中斷服務(wù)程序中置位該作業(yè)的啟動標志,待中斷返回后在主程序中再執(zhí)行選中的作業(yè),完成后清除該作業(yè)的啟動標志。
圖5 基于界面的交互過程
4 操作界面的上位機介入
電子技術(shù)的飛速發(fā)展,使嵌入式系統(tǒng)中的存儲器體積越來越小、容量越來越大。但是,如果要在一臺試驗用的儀器上進行日積月累的試驗數(shù)據(jù)的查詢和管理,如果要使儀器的實時試驗曲線具有較高的分辨率和對局部曲線進行分析,如果要使儀器的操作能遠程控制,那么,儀器單機的資源就略顯不足。
滿足上述要求的通常做法是用PC 機(或筆記本電腦) 作為儀器的上位機,通過RS232 串口(或USB口) 與儀器通信構(gòu)成自動測試系統(tǒng),使儀器共享上位計算機的資源,進一步增強智能儀器的性能。
基于界面狀態(tài)的程序結(jié)構(gòu)為上位計算機介入后對儀器的控制提供了很好的軟件平臺。微處理器在響應(yīng)串口中斷的中斷服務(wù)程序中,首先從接收到的上位機傳來的信息判斷是何種作業(yè),然后用調(diào)用子程序的方法,調(diào)用圖4 所示的基于界面狀態(tài)的opt 作業(yè)程序。這樣,原來基于界面狀態(tài)的程序結(jié)構(gòu)幾乎不用改動,只要在串口中斷服務(wù)程序中根據(jù)上位機的命令來分支調(diào)用子程序就行了。當然,在上位機控制下執(zhí)行相應(yīng)作業(yè)時,儀器上的液晶顯示界面仍然將同步顯示當前作業(yè),為遠程操作儀器和實地監(jiān)視儀器提供了方便。
5 結(jié) 語
大屏幕點陣式液晶顯示器和內(nèi)置大容量程序存儲器的微處理器的出現(xiàn),給儀器儀表的智能化進程推波助瀾。上述人機交互界面的軟硬件設(shè)計,僅是筆者在工程項目中的初步嘗試,基本達到了結(jié)構(gòu)簡單、操作方便、編程高效和界面友好的效果。用后臺大量的工作換取前臺操作的極其簡單和方便,應(yīng)是儀器儀表業(yè)內(nèi)同行始終追求的境界。
電能表相關(guān)文章:電能表原理
評論