用C语言写HMI程序,HMI画面元素组成设计及代码生成方法与流程
技術領域本發(fā)明涉及一種HMI畫面元素組成設計及代碼生成方法,屬于人機界面領域。
背景技術:
HMI是HumanMachineInterface的縮寫,“人機接口”,也叫人機界面。嵌入式開發(fā)中HMI畫面元素組成設計及代碼的自動生成工具的開發(fā)是為了解決嵌入式開發(fā)中,許多嵌入式操作系統(tǒng)沒有相應的控件及圖形描畫接口支持,只有簡單的點、線、面、文字及簡單的顯示圖片接口。由此造成HMI畫面元素組成設計及焦點控制中,工作量大、效率低、重復工作多等問題。
技術實現(xiàn)要素:
本發(fā)明的目的在于提供一種HMI畫面元素組成代碼生成方法。本發(fā)明采用了如下技術方案:一種HMI畫面元素組成設計及代碼生成方法,其特征在于,包括如下步驟:步驟一、分解分解畫面元素的組成結構;步驟二、在HMI的DM畫面模板上填寫畫面信息;步驟三、在HMI的DM畫面模板上填寫畫面的元素信息;步驟四、在HMI的DM畫面模板上填寫畫面的元素坐標位置信息;步驟五、將步驟二到步驟四的信息寫入畫面數(shù)據(jù)文件;步驟六、在HMI的DM消息模板上填寫消息框信息,本步驟與步驟二同時進行;步驟七、將消息框信息寫入消息框數(shù)據(jù)文件中;步驟八、在步驟五和步驟七生成的數(shù)據(jù)文件中,選擇需要造成代碼的文檔,使用代碼生成工具生成代碼。進一步,本發(fā)明的HMI畫面元素組成設計及代碼生成方法,還可以具有這樣的其特征:其中,步驟一中,畫面元素組成結構中的圖形分為兩大類,分別是畫面和消息框。進一步,本發(fā)明的HMI畫面元素組成設計及代碼生成方法,還可以具有這樣的其特征:其中,所述畫面的類型包括:主畫面、普通菜單畫面、帶按鈕的菜單畫面、滾動畫面、時間設置畫面、輸入法畫面。進一步,本發(fā)明的HMI畫面元素組成設計及代碼生成方法,還可以具有這樣的其特征:其中,所述畫面中的畫面元素包括:文本框、可編輯文本框、單選框、多選框、圖片框、標簽框。進一步,本發(fā)明的HMI畫面元素組成設計及代碼生成方法,還可以具有這樣的其特征:畫面元素的信息還包括:位置、大小、背景圖片和焦點位置。進一步,本發(fā)明的HMI畫面元素組成設計及代碼生成方法,還可以具有這樣的其特征:其中,所述畫面數(shù)據(jù)文件為xls格式的文件。進一步,本發(fā)明的HMI畫面元素組成設計及代碼生成方法,還可以具有這樣的其特征:其中,所述消息框信息的數(shù)據(jù)文件為xls格式的文件。進一步,本發(fā)明的HMI畫面元素組成設計及代碼生成方法,還可以具有這樣的其特征:其中,所述畫面元素還包括:進度條和滾動條。進一步,本發(fā)明的HMI畫面元素組成設計及代碼生成方法,還可以具有這樣的其特征:消息框包括標簽框、文本框以及圖片框。進一步,本發(fā)明的HMI畫面元素組成設計及代碼生成方法,還可以具有這樣的其特征:消息框信息包括消息內容和按鈕定義。發(fā)明的有益效果本發(fā)明的HMI畫面元素組成設計及代碼生成方法,通過對畫面元素最底層的分解及結構化的處理,以及對畫面表示及焦點控制的統(tǒng)一管理,提高了生產效率,減少了錯誤發(fā)生的概率。附圖說明圖1是HMI畫面元素組成設計及代碼生成方法的流程圖;圖2是實施例中的目的HMI界面圖;圖3是代碼文件生成之后在終端機上運行從而形成HMI界面的過程圖。具體實施方式以下結合附圖來說明本發(fā)明的具體實施方式。如圖1所示,HMI畫面元素組成設計及代碼生成方法,包括如下步驟:步驟101、分解畫面元素組成結構。畫面元素組成結構采用種類歸納的原則把相同的畫面種類歸納為一類,如主畫面、普通菜單畫面、帶按鈕的菜單畫面、滾動畫面、時間設置畫面、輸入法畫面等;并把畫面中的畫面元素按不同類型分解成文本框、可編輯文本框、單選框、多選框、圖片框、標簽框、進度條、滾動條等類型。在分解畫面元素組成結構時,首先判斷當前圖形是屬于畫面還是消息框,如果是畫面則分析畫面類型,如畫面類型是上述的主畫面、普通菜單畫面、帶按鈕的菜單畫面、滾動畫面、時間設置畫面、輸入法畫面中的哪一種,通過畫面內容在管理控制或操作時的共通性及差異性的特征來區(qū)分畫面類型,以及位置、大小、背景圖片、焦點位置等畫面元素的信息,然后把畫面元素信息分解后填寫在模板上并填寫元素的位置坐標信息。步驟102、在HMI的DM畫面模板上填寫畫面元素的信息。DM畫面是畫面顯示管理使用到的畫面,即嵌入式系統(tǒng)狀態(tài)變化時需要顯示的畫面。DM畫面模板指圖1中的HMI_DM_ScreenData.xls和HMI_DM_MsgboxData.xls兩個文件。如果是畫面則在HMI_DM_ScreenData.xls畫面模板中填寫內容,如果是畫面中的消息框則在HMI_DM_MsgboxData.xls消息模板中填寫內容。HMI_DM_ScreenData.xls是Screen(畫面背景)、Item(元素部件)、Coordinate(位置坐標)的數(shù)據(jù)文件,該文件初始為空的格式模板,用戶根據(jù)畫面元素構成定義向模板中填寫相關的畫面背景、元素部件、位置坐標等信息。該文件的作用是供給數(shù)據(jù)創(chuàng)建工具提取解析并生成HMI_DM_ScreenInfo.h、HMI_DM_ScreenInfo.cpp、HMI_DM_ItemInfo.h、HMI_DM_ItemInfo.cpp、HMI_DM_CoordinateInfo.h、HMI_DM_CoordinateInfo.cpp等6個C語言畫面結構定義文件時使用。HMI_DM_MsgboxData.xls:Msgbox的數(shù)據(jù)文件,該文件初始為空的格式模板,根據(jù)消息框的元素構成定義向模板中填寫相關的消息內容及按鈕定義。該文件的作用是提供給DataCreateTool工具解析提取并生成HMI_DM_MsgboxInfo.h、HMI_DM_MsgboxInfo.cpp等2個C語言消息框結構定義文件時使用。步驟103、在HMI的DM畫面模板HMI_DM_ScreenData.xls文件上填寫畫面元素的信息。步驟104、在HMI的DM畫面模板上填寫畫面元素的坐標位置信息。步驟105、將步驟102到步驟104的信息寫入畫面數(shù)據(jù)文件,形成填寫好數(shù)據(jù)的HMI_DM_ScreenData.xls數(shù)據(jù)文件。步驟106、在HMI的DM消息模板上填寫消息框信息,本步驟與步驟102同時進行。步驟107、將消息框信息寫入數(shù)據(jù)文件中,本實施方式中消息框信息的數(shù)據(jù)文件為HMI_DM_MsgboxData.xls。步驟108、在步驟105和步驟107生成的數(shù)據(jù)文件中,選擇需要形成代碼的文檔,使用代碼生成工具生成代碼。代碼生成工具的工作過程是:提取解析HMI_DM_ScreenData.xls文件并生成HMI_DM_ScreenInfo.h、HMI_DM_ScreenInfo.cpp、HMI_DM_ItemInfo.h、HMI_DM_ItemInfo.cpp、HMI_DM_CoordinateInfo.h、HMI_DM_CoordinateInfo.cpp等6個畫面結構定義文件。提取解析HMI_DM_MsgboxData.xls文件并生成HMI_DM_MsgboxInfo.h、HMI_DM_MsgboxInfo.cpp等2個消息框結構定義文件。下面以形成圖2中的HMI界面為例,進一步說明。如圖2所示,若要生成如圖中所示的HMI界面的代碼,步驟如下:1.定義畫面ScreenID:0x0033、ScreenType:0x01(普通畫面)、PreviewFlag:HMI_DM_DISPLAY(顯示模式)、XStartPoint(X軸起點):0、YStartPoint(Y軸起點):0、Width(寬度):400、Height(高度):234、BackImg(背景圖片):0xffffffff(無背景圖片)、FocusPos(焦點):0x00(初始焦點)、InitActiveListID:0x00、ListCapacity:0x06(listitem總數(shù))填入Screen模板。2.把畫面分解為11個畫面元素,0x00~0x05是Text文本、0x06是圖片、0x07~0x0B是菜單,并把相關信息填入Item模板。3.把已分解的11個畫面元素的坐標位置定義信息填入Coordinate模板。4.保存HMI_DM_ScreenData.xls模板文件。5.使用代碼生成工具生成文件。代碼文件生成之后,在終端機上運行從而形成HMI界面的過程如下,如圖3所示:1.FSM有限狀態(tài)機發(fā)生狀態(tài)變化時通過DMInterface接口調用畫面管理模塊(ScreenManager)和消息框管理模塊(MsgboxManager)。2.畫面管理模塊通過畫面信息管理模塊調用自動生成畫面信息代碼HMI_DM_ScreenInfo.h、HMI_DM_ScreenInfo.cpp、HMI_DM_ItemInfo.h、HMI_DM_ItemInfo.cpp、HMI_DM_CoordinateInfo.h、HMI_DM_CoordinateInfo.cpp組織畫面信息顯示數(shù)據(jù)。3.畫面管理模塊通過取得的畫面信息顯示數(shù)據(jù)直接調用GUI系統(tǒng)包或通過調用元素部件管理模塊(ItemManager)調用GUI系統(tǒng)包達到HMI界面的描畫。4.消息框管理模塊取得自動生成的消息框代碼HMI_DM_MsgboxInfo.h、HMI_DM_MsgboxInfo.cpp等2個消息框結構定義文件組織消息框顯示數(shù)據(jù)并通過調用GUI系統(tǒng)包顯示HMI消息界面。
總結
以上是生活随笔為你收集整理的用C语言写HMI程序,HMI画面元素组成设计及代码生成方法与流程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 国内首家,厦门大学实现 8 英寸碳化硅外
- 下一篇: 1到100猜数字游戏规则c语言,[C语言