專利名稱::監控人機界面數據與程序分離的自動生成方法
技術領域:
:本發明涉及數據分離技術和自動生成技術,特別地,涉及一種監控人機界面數據與程序分離的自動生成方法。
背景技術:
:隨著嵌入式技術的發展,嵌入式產品的功能也越來越豐富。近年來,開發人員都比較喜歡在嵌入式系統中加入人機對話平臺。在高端嵌入式系統中,一般加入的是一塊適合系統大小的彩色LCD顯示屏,設計的界面一般運行在嵌入式操作系統上,如WindowsCE,Linux等。若在低端產品中也采用以上方式,顯然是不合適的。開發人員往往是選擇一塊合適的單色液晶屏,其驅動界面方式是進行獨立的人機界面開發。但這種開發方式效率低,開發周期長。監控人機界面是一種連接可編程程序控制器(PLC)、變頻器、直流調速器、儀表、嵌入式控制器等工業控制設備,通過各種通訊方式,將設備的狀態信息轉化成人們可是接受的形式(如圖像、文字、聲音等),并將其表現出來。本發明旨在解決一種能跨平臺高效率的開發嵌入式監控人機界面的方法,來解決以上問題。
發明內容本發明的目的在于針對現有技術的不足,提供一種監控人機界面數據與程序分離的自動生成方法,使用者可以根據自身的實際需要,設計監控人機界面;通過簡單的操作,無需編寫代碼,即可設計出合適的監控人機界面。本發明的目的是通過以下技術方案來實現的一種監控人機界面數據與程序分離的自動生成方法,包括以下步驟(1)通過上位機軟件進行監控人機界面設計;(2)系統對設計結果通過XML語言進行描述;(3)解析生成器通過對XML描述文件的解析,生成約定格式的監控人機界面<formula>formulaseeoriginaldocumentpage4</formula>數據;(4)下位機引擎解析下載的數據結構。本發明的有益效果是通過數據與程序分離技術設計的監控人機界面與上位機軟件和下位機程序無關,使得一次設計可以運行與多個平臺,一個平臺也可以支持多個界面設計軟件,方便系統移植,提高設計和開發效率。圖1是監控人機界面數據與程序分離的自動生成方法的結構流程圖;圖2是監控人機界面數據二進制表述示例圖3是監控人機界面數據按頁面索引方式儲存示例圖4是監控人機界面數據按固定單位長度索引方式儲存示例圖5是監控人機界面上位機設計軟件設計流程示例圖6是監控人機界面解析生成器工作流程示例圖7是監控人機界面下位機程序工作流程示例圖8是棒圖控件的數據表示方法表圖。具體實施例方式本發明的一種監控人機界面數據與程序分離的自動生成方法(結構參見圖1),包括以下步驟1.通過上位機軟件進行監控人機界面設計(步驟S101)。該步驟具體如下l.l新建工程(步驟S501)主要進行工程項目屬性定義,包括定義工程名、工程路徑等工程屬性,選擇監控人機界面的液晶屏型號,定義通訊端口屬性。1.2系統信息設計(步驟S502)。此過程主要定義一些監控人機界面的系統屬性,如密碼、屏保、工程圖片等信息。1.3頁面設計(步驟S503),設計每個頁面上的圖形控件信息。這些圖形控件可有多種形式,如實時數據框、幫圖、趨勢圖、數值切換圖片、靜態圖、指示燈、多線段運動圖片、實時時鐘、數值切換文本、多態圖、靜態文本等。1.4鍵盤設計(步驟S504),主要設計頁面切換順序和對監控設備的開關量控制。1.5仿真運行(步驟S505),檢查設計的監控人機界面的合理性,如鍵盤頁面切換是否正確,頁面顯示控件屬性是否正確、頁面布局是否美觀等。2.系統對設計結果通過XML語言進行描述。系統對各個用戶設計的頁面提取各類信息,包括頁面上的組件構成,通信設置,按鍵功能。然后對提取的信息用XML語言進行描述。3.解析生成器通過對XML描述文件的解析,生成約定格式的監控人機界面數據(步驟S102)。設計完成后,調用解析生成器將設計結果轉化成數據結構,并將其下載到下位機中。監控人機界面數據的二進制表述示例如圖2所述。所有數據都是以控件為單位進行儲存,在整個二進制數據中有各塊數據的索引地址,頁面上的控件按頁面進行索引,其他控件數據都具有固定長度,因此采用固定單位長度索引。每個控件的數據都是由以下單元的一個或者幾個組成1)控件描述(即控件名)2)控件顯示坐標3)控件顯示大小4)控件觸發類型(時鐘觸發、按鍵觸發或通訊觸發)5)控件私有屬性6)控件顯示數據如表1是一個棒圖控件數據表示,該控件是通過通訊將數據采集上來,根據設定的最大值和最小值確定當前值在整個棒柱中的比例關系,并將這種比例關系通過填充色和空白色在屏幕上形象的表示出來。因此該控件是通過通訊觸發的,因此在觸發類型中填寫的是通訊觸發相關的屬性。在下位機中相應的索引定義如下表示0〃縦COLt/層—釘X/、統2〃體y,標附"m〃力/、貴度〃力/、敲雄〃舶號7緩麟盧〃,薪疆C(9Z"層—COM77ME〃邀淑彌<table>tableseeoriginaldocumentpage6</column></row><table>為監控人機界面數據按頁面索引方法的一個示例。圖中共有4張表格,分別存放索引信息和數據信息。"各頁控件個數表"中存放了每個頁面中控件個數信息,其單位長度是相同的,因此在該表中索引可直接按照頁面進行索引;在"所有頁面控件數據表"中存放了所有在頁面上的控件的數據信息,由于每種類型控件所占有的大小不同,因此需要用"各控件偏移量表"來索引每個控件,該表存放了每個控件在"所有頁面控件數據表"中的偏移指針;"各頁偏移量表"存放了每一頁面第一個控件在"各頁偏移量表"中的地址,由此就可以檢索到指定頁面上的控件信息。在監控人機界面中,按鍵頁面跳轉中需要存放的數據信息都是固定長度的,因此可按照固定單位長度索引。如圖4所述每個頁面上有4個按鍵,要找到第n頁上的第i個鍵只需找到索引4*n+i即可。解析生成器的工作流程見圖6,具體步驟如下3.1通過解析XML監控人機界面描述文件,將所有的控件數據化(步驟S601)。各種控件都有其固定的數據化描述方法和固定的存儲格式。3.2將數據化好的控件按照類型編排索引結構(步驟S602)。如在頁面上顯示的圖形控件可按照頁面方式編排索引結構,而按鍵、通訊口屬性等控件可按照固定長度方式編排索引結構。該步驟完成后將按照不同的類型生成各種索引結構塊,如所有頁面上顯示的圖形控件將生成頁面圖形控件索引塊,在圖2中表示為"所有頁面控件數據""各頁控件個數""各控件偏移量""各頁偏移量"所示數據塊的總和;通訊口屬性將生成通訊口數據索引塊,在圖2中表示為"通訊口數據"所示的數據塊。3.3最后將所有的數據信息編排成完整的系統索引結構(步驟S603)。按照約定的格式,將步驟S602中生成的所有索引結構塊存放到監控人機界面數據文件中,并各塊存放的地址寫入文件頭中。4.下位機引擎解析下載的數據結構。下位機引擎程序通過解析上位機生成和下載的二進制數據就可以生成監控人機界面,并顯示在液晶屏上(步驟S103)。系統開機后程序進行硬件初始化(步驟S701),如鍵盤、液晶屏、定時器、IO口等。該步驟具體如下4.1讀取監控人機界面數據的文件頭(步驟S702),將數據文件頭中的系統信息(如初始頁面號、頁面總數、密碼等)和所有數據塊地址讀到內存中。4.2進行通訊口初始化(步驟S703),根據步驟S702中讀入的通訊口數據索引地址,找到通訊口數據塊,根據該數據塊中的信息初始化通訊口,并指定該通訊口協議格式。4.3初始化頁面,在液晶屏上畫初始頁面(步驟S704),根據S702中讀入的初始頁面號,遍歷該頁面上的所有顯示控件,并將控件顯示到液晶屏上(遍歷指定頁面上的所有控件的方法在上文中已有描述)。4.4進入程序運行狀態,循環等待事件(步驟S705),程序在該步驟中判斷是否有事件到達,若有,則調用該事件相應的事件處理函數。以上所述僅為本發明一個實施例,當不能以此限制本發明范圍,凡依據本發明所做的結構上的變化、功能模塊的增刪,只要不失本發明的要義所在,都應視為落入本發明保護范圍之內受到制約。權利要求1、一種監控人機界面數據與程序分離的自動生成方法,其特征在于,包括以下步驟(1)通過上位機軟件進行監控人機界面設計。(2)系統對設計結果通過XML語言進行描述。(3)解析生成器通過對XML描述文件的解析,生成約定格式的監控人機界面數據。(4)下位機引擎解析下載的數據結構。2、根據權利要求l所述監控人機界面數據與程序分離的自動生成方法,其特征在于,所述步驟(1)具體如下(A)新建工程主要進行工程項目屬性定義,包括定義工程名、工程路徑等工程屬性,選擇監控人機界面的液晶屏型號,定義通訊端口屬性。(B)系統信息設計此過程主要定義一些監控人機界面的系統屬性。(C)頁面設計設計每個頁面上的圖形控件信息。(D)鍵盤設計主要設計頁面切換順序和對監控設備的開關量控制。(E)仿真運行檢查設計的監控人機界面的合理性。3、根據權利要求l所述監控人機界面數據與程序分離的自動生成方法,其特征在于,所述步驟(3)具體如下(A)通過解析XML監控人機界面描述文件,將所有的控件數據化。(B)將數據化好的控件按照類型編排索引結構。(C)將所有的數據信息編排成完整的系統索引結構。4、根據權利要求l所述監控人機界面數據與程序分離的自動生成方法,其特征在于,所述步驟(4)中,下位機引擎通過解析上位機生成和下載的二進制數據就可以生成監控人機界面,并顯示在液晶屏上。具體如下a)讀取監控人機界面數據的文件頭,將數據文件頭中的系統信息和所有數據塊地址讀到內存中。b)進行通訊口初始化根據讀入的通訊口數據索引地址,找到通訊口數據塊,根據該數據塊中的信息初始化通訊口,并指定該通訊口協議格式。C)初始化頁面在液晶屏上畫初始頁面,根據讀入的初始頁面號,遍歷該頁面上的所有顯示控件,并將控件顯示到液晶屏上。d)進入程序運行狀態,循環等待事件,程序在該步驟中判斷是否有事件到達,若有,則調用該事件相應的事件處理函數。全文摘要本發明公開了一種監控人機界面數據與程序分離的自動生成方法,通過上位機軟件所見即所得的設計環境,自動生成監控人機界面數據文件,不同平臺的下位機引擎通過解析該文件,生成監控人機界面,通過引擎的支持達到跨平臺的目的。本發明通過數據與程序分離技術設計的監控人機界面與上位機軟件和下位機程序無關,使得一次設計可以運行與多個平臺,一個平臺也可以支持多個界面設計軟件,方便系統移植,提高設計和開發效率。文檔編號G06F9/44GK101630255SQ200910099000公開日2010年1月20日申請日期2009年6月1日優先權日2009年6月1日發明者義嚴,良李,趙建勇,鄔惠峰申請人:杭州電子科技大學