江俊良+遲春燕+王鉞仁+谷登科+田軍超+李振鵬



(吉林建筑大學土木工程學院 吉林 長春 130118)
【摘要】針對傳統設計方法過程復雜,邏輯性差,修改不便的特點,利用圖像用戶界面的人機交互性,實現了基于matlab/GUI的裝載機設計平臺的搭建與實現。選取鏟斗設計為例,闡述GUI的具體設計過程。結果表明,設計平臺運行良好,設計過程清晰簡明,此平臺作為理論教學的輔助手段,可加深學生對設計過程的理解和運用,也可作為工程設計人員的輔助設計工具。
【關鍵詞】裝載機設計 人機交互界面 matlab/GUI
一、引言
隨著社會發展與經濟水平的提高的需求,工程機械呈現種類多,覆蓋面寬,功能齊全的蓬勃發展局面。而設計作為整個機械生產流程的第一步可以說是至關重要的,但是傳統的設計過程基本沒有用戶界面,或者僅僅靠簡單的文字信息和 屏幕顯示與用戶進行交互,過程繁雜、工作量大,容易出現較大的錯誤且不便于修改,這極大的制約著設計師推出更優秀的產品。而GUI設計具有用戶界面友好性,圖標識別平衡性,圖標功能的一致性等特點,能夠建立起友好的交互界面便于在設計過程中與用戶進行交流。
因此本文利用MATLAB強大的圖像處理和圖形表現能力,良好的GUI設計環境,針對工程機械的設計特點,以裝載機為例,將GUI設計應用于其設計過程、關鍵參數確定等的設計過程,來建立良好的人機交互界面,從而在繁雜的設計過程中,減輕設計人員的工作量,降低設計的錯誤率,從而提高工作效率。
二、設計思路
設計平臺的布局是先設計GUI總界面,然后設計子界面,再在子界面上設置按鈕、菜單、文本框等一系列控件,最后借助于callback函數調用程序,在函數調用程序的設計中先編寫各個子界面中的回調函數下的程序,再編寫GUI界面的回調函數下的程序。
在設計人機交互操作界面時,在MATLAB命令行中輸入guide或者選擇MATLAB主界面File菜單New子菜單下的GUI項,打開GUIDE啟動對話框,在GUIDEtemplates 菜單下4個選項中選擇空白模板BlankGUI(Default),在點擊OK后進入GUI編輯界面。在GUIDE設計界面下,通過單擊或者拖拽鼠標的方式創建自己的GUI程序界面。
三、裝載機設計平臺的具體實現
裝載機設計過程復雜,設計內容繁多,該設計平臺的建立采用一個總設計界面與若干個子設計界面相互回調,每個子界面都可以實現一個具體的設計內容,并且可以切換回主界面,進行其他內容的設計。
(一)總界面的設計
打開Matlab,打開NEW中的GUI,新建一個主界面,添加一個Static Text控件用于顯示參數的名稱,并命名為“裝載機設計”; 添加一個Axes控件用于顯示參數的細則圖像,并添加裝載機圖片;同時再創建9個Push Button控件用于完成程序在后臺的實現,并分別命名為“總體設計”、“工作裝置設計”、“動力系統設計”、“傳動系統設計”、“制動系統設計”、“行走系統設計”、“液壓系統設計”、“電氣系統設計”以及“退出”;點擊運行按鈕,運行結果如1所示。
(二)子界面的設計
針對總結面中8個按鈕所對應的設計內容分別設置多級子界面,以工作裝置設計中的鏟斗設計為例進行說明。
(1)新建工作裝置設計一級子界面。添加Panel控件,并命名為“工作裝置設計”;添加5個Push Button控件,并分別命名為“鏟斗設計”、“連桿系統設計”、“靜力學計算及強度校核”、“結構動力分析”以及“退出”,點擊運行按鈕,運行結果如圖2所示。
(2)新建鏟斗設計二級子界面。由4個面板(Panel)、2個觸控按鈕(Push Button)、34個靜態文本(Static Text)、9個可編輯文本框(Edit Text)、4個彈出式菜單(Pop-up Menu)組成。4個面板(Panel),分別命名為“鏟斗設計”、“確認基本參數”、“計算”以及“斗容計算”;2個觸控按鈕(Push Button)用于實現相關計算,分別命名為“計算”、“計算”;34個靜態文本(Static Text)用于顯示部分計算結果的值,分別為“mr”、“vr”、“cxvs”、“寬度m”、“內側寬度m”、“斗底長度系數1.40-1.53”、“后壁長度系數1.1-1.2”、“擋板高度系數0.12-0.14”、“圓弧半徑系數0.35-0.45”、“張開角45°-52°”、“擋板與后壁間的夾角5°-10°”、“下鉸接點與斗底高系數0.06-0.12”、“鏟斗回轉半徑m”、“鏟斗圓弧半徑m”、“斗底長度m”、“后斗壁長度m”、“擋板高度m”、“下鉸接點與斗底高度”、“r0”、“r1”、“lg”、“lz”、“lk”、“homega”、“橫截面積”、“鏟斗開口長m”、“堆積高度m”、“平裝容量計算”、“額定容量計算”、“sa”、“bt”、“c”、“vs”、“vrr”;9個可編輯文本框(Edit Text),分別命名為“edit1”、“b0”、“lambdag”、“lambdaz”、“lambdak”、“lambdar”、“gamma0”、“gamma1”、“hr”;4個彈出式菜單(Pop-up Menu)用于同類數值的選取,并命名為“選擇裝載機的型號(ZL10、ZL15、ZL20、ZL25、ZL30、ZL40、ZL50、ZL80、ZL100、ZL160、ZL200、ZL240)”、“請選擇切削刃形狀(直線型切削刃和非直線型切削刃)”、“請選擇斗齒(整體式和分體式)”和“請選擇側刃(弧線測刃和折線測刃)”,并擺放于合適位置,如圖3所示。
點擊下拉菜單,選擇ZL80輪式裝載機為例,點擊運行按鈕,然后輸入相應的參數時可得到如下結果,如圖4所示。
由圖4可知,在下拉菜單中選擇不同型號的鏟斗,在文本輸入框中輸入不同的條件參數,即可得到不同的鏟斗設計參數,設計過程直觀明了,不同的條件參數對設計結果的影響一目了然,方便了設計人員修改更正,使得設計過程更為簡單有效。endprint
鏟斗設計結束后,可通過界面跳轉返回一級子界面,點擊其他按鈕進入相應設計內容的二級子界面進行設計,界面及功能的實現過程與鏟斗類似,在此不一一贅述。
(三)界面的跳轉及退出
在設計過程中,每一個界面之間還存在一定的聯系,因此需要界面的跳轉,以圖2跳轉到圖3界面為例,設計過程為:打開裝載機設計的fig文件,右鍵單擊工作裝置設計,然后點擊View Callbacks中的Callback,彈出回調函數如下:
% --- Executes on button press in pushbutton10.
function pushbutton10_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton10 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
(1)此時如在此程序后面輸入要跳轉到下一界面的m文件程序名稱,如:Gongzuozhuangzhisheji即可從主界面跳轉到工作裝置設計一級子界面。
(2)如在此程序后面輸入close(gcf),即可退出此界面。
四、結論
本文應用可視化編程能力的圖形用戶界面GUI,實現了裝載機設計平臺的建立,該設計平臺將裝載機的設計過程加載在平臺界面中,通過總界面與子界面不同的回調函數進行鏈接,實現了圖形用戶界面人機交互式的設計過程,增加了設計過程的直觀性,便于設計人員修改更正,既可作為教學輔助軟件幫助學生理解理論知識,提高教學質量,也可作為專業設計人員的輔助設計工具,同時也為其他工程機械的可視化設計奠定了良好的基礎。
參考文獻:
[1] 張春慧,宗哲英,王蒙等.基于Matlab GUI的自動控制原理虛擬實驗平臺的開發與研究[J].內蒙古農業大學學報(自然科學版),2015.
[2] 溫淑煥,佟永正,劉福才,馬鍇.基于Matlab GUI的計算機控制技術教學演示系統設計[J].高教研究與實踐,2016.
[3] 羅華飛.MATLAB GUI設計學習手機(第2版)[M]. 北京:航空航天大學出版社,2011.
[4]施曉紅,周佳.精通GUI圖形界面編程[M].北京:北京大學出版社,2003.endprint