專利名稱:一種基于中間件的顯示界面數(shù)據(jù)處理方法及平臺的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種通信數(shù)據(jù)處理方法,特別是一種基于中間件的顯示界面數(shù)據(jù)處理方法及平臺。
背景技術(shù):
隨著鐵路建設(shè)的快速發(fā)展,列車車輛的類型也日益增多,無論何種車型都少不了列車智能顯示器,駕駛員通過顯示器來了解列車上各系統(tǒng)和設(shè)備的信息,顯示設(shè)備已成為列車網(wǎng)絡(luò)控制系統(tǒng)和信息化系統(tǒng)的重要部件,主要負(fù)責(zé)列車的狀態(tài)信息顯示,作為列車控制系統(tǒng)的智能人機交互界面。
目前,顯示器應(yīng)用軟件開發(fā)使用的操作系統(tǒng)平臺是嵌入式Linux,⑶I工具集為 FLTK。Linux是一套免費使用和自由傳播的類unix操作系統(tǒng)。它既可以做桌面系統(tǒng),也可以用于嵌入式系統(tǒng)中。用于嵌入式系統(tǒng)的稱為嵌入式linux,是指對Linux經(jīng)過小型化裁剪后,能夠固化在容量只有幾十萬字節(jié)或幾十億字節(jié)的存儲器芯片或單片機中,應(yīng)用于特定嵌入式場合的專用Linux操作系統(tǒng)。⑶I是圖形用戶接口。FLTK是一個跨平臺的用c++編寫的⑶I工具集??梢杂糜贚inux, Microsoft Windows和MacOS X等操作系統(tǒng),它提供了很多⑶I的功能。
現(xiàn)有列車顯示器應(yīng)用軟件開發(fā)主要分為兩個部分,一個是界面部分,主要是設(shè)計界面的外觀,并決定使用什么樣的控件來顯示數(shù)據(jù);另一個是處理通信數(shù)據(jù)部分,這部分處理底層數(shù)據(jù)并將數(shù)據(jù)賦給控件顯示。顯示器開發(fā)一般是根據(jù)用戶需求及數(shù)據(jù)流的內(nèi)容,依照內(nèi)容分類來確定每個界面的詳細(xì)內(nèi)容。目前顯示器的主要通信方式有MVB、Lonworks, RS485、CAN,顯示器軟件設(shè)計人員在開發(fā)時根據(jù)不同通信方式去調(diào)用不同通信方式的函數(shù)庫,以實現(xiàn)與控制系統(tǒng)的數(shù)據(jù)通信。由于列車車型的增多,不同的車型顯示器采用的通信方式不一樣,大部分通信數(shù)據(jù)卻很相似,顯示界面的內(nèi)容也大多相似,使得顯示器軟件設(shè)計工程師每次在編寫過程中都要重復(fù)編碼這些相似的數(shù)據(jù)顯示內(nèi)容?,F(xiàn)有的列車顯示器應(yīng)用軟件開發(fā)方法可移植性不強,開發(fā)效率不聞,開發(fā)人員的工作量大。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題是,針對現(xiàn)有技術(shù)不足,提供一種適用于各種列車車型控制系統(tǒng)的基于中間件的顯示界面數(shù)據(jù)處理方法及平臺,實現(xiàn)顯示器應(yīng)用系統(tǒng)開發(fā)過程的平臺化,提高顯示器應(yīng)用系統(tǒng)可移植性,減少工作量,提高列車顯示器的應(yīng)用開發(fā)效率。
為解決上述技術(shù)問題,本發(fā)明所采用的技術(shù)方案是一種基于中間件的顯示界面數(shù)據(jù)處理方法,該方法步驟如下
I)開始系統(tǒng)初始化、通彳目初始化、界面初始化、定時器初始化;
2)判斷定時器執(zhí)行周期是否到達(dá),若是,進(jìn)入3);若否,等待定時中斷;
3)判斷界面是否已經(jīng)定義,若已經(jīng)定義,則預(yù)處理已有界面中的控件屬性,與程序中預(yù)定義的變量一一對應(yīng);若界面還未定義,則定義未涉及的界面,然后預(yù)處理已有界面中的控件屬性,與預(yù)定義的變量一一對應(yīng);
4)建立界面控件對應(yīng)程序的數(shù)據(jù)結(jié)構(gòu)以界面為單位,將每個界面定義成一個對應(yīng)的結(jié)構(gòu)體變量,建立具有統(tǒng)一特性的結(jié)構(gòu)體變量;
5)建立數(shù)據(jù)結(jié)構(gòu)與數(shù)據(jù)緩存的對應(yīng)關(guān)系將結(jié)構(gòu)體變量一一對應(yīng)地賦值給界面中定義的控件;
6)判斷數(shù)據(jù)緩存與數(shù)據(jù)通信中的數(shù)據(jù)流之間是否有邏輯處理,若有,進(jìn)入7);若無,進(jìn)入8);
7)建立數(shù)據(jù)緩存與數(shù)據(jù)流的對應(yīng)關(guān)系;
8)處理數(shù)據(jù)緩存與數(shù)據(jù)流的邏輯關(guān)系,使數(shù)據(jù)緩存與數(shù)據(jù)流對等;
9)刷新界面控件;
10)定時器執(zhí)行完畢,等待下一周期,返回2)。
控件屬性控件是界面編程中用到的功能塊,其屬性包括顯示形式、顏色、字體、 大小等。
預(yù)定義的變量指首先在界面設(shè)計中定義好的變量。包括BOX、Value output、 Slider box、Clock box、Button等界面中用到的變量。
數(shù)據(jù)結(jié)構(gòu)根據(jù)預(yù)定義的控件,建立的具有統(tǒng)一特性的結(jié)構(gòu)體變量。本發(fā)明中定義的結(jié)構(gòu)體根據(jù)界面為單位,每個界面定義成一個對應(yīng)的結(jié)構(gòu)體變量,如程序首界面定義成Struct MAIN {unsigned char speed;......},其他界面定義的結(jié)構(gòu)體變量和首界面類似;本發(fā)明中定義的結(jié)構(gòu)體變量包括首界面Struct MAIN{};主要數(shù)據(jù)界面=Struct MAINDATA{};機車配置界面Struct L0C0STATE{};維護(hù)界面Struct MANTEANCE{};發(fā)送結(jié)構(gòu)體Struct SENDCMD{}等等。
對應(yīng)關(guān)系本發(fā)明專指變量間的賦值關(guān)系。主要包括把結(jié)構(gòu)體變量一一對應(yīng)地賦值給界面中定義的控件、把界面中定義的發(fā)送部分的控件輸入值一一對應(yīng)地賦值給發(fā)送結(jié)構(gòu)體變量。
邏輯處理、邏輯關(guān)系本發(fā)明中專指數(shù)據(jù)處理關(guān)系,本發(fā)明中主要用的這種關(guān)系的計算公式如下界面中定義的控件=對應(yīng)的結(jié)構(gòu)體變量X校正系數(shù);界面中定義的控件=對應(yīng)的結(jié)構(gòu)體變量土校正系數(shù),通信協(xié)議包根據(jù)具體情況選擇界面中定義的控件的計算公式。
本發(fā)明提供了一種基于中間件的顯示界面數(shù)據(jù)處理平臺,包括通信接口、標(biāo)準(zhǔn)界面、通信協(xié)議包和界面數(shù)據(jù)接口,還包括多個數(shù)據(jù)處理中間件,所述通信接口與所述通信協(xié)議包雙向通信,所述通信協(xié)議包與所述數(shù)據(jù)處理中間件雙向通信,所述數(shù)據(jù)處理中間件與所述界面數(shù)據(jù)接口雙向通信,所述標(biāo)準(zhǔn)界面與所述界面數(shù)據(jù)接口通信;所述數(shù)據(jù)處理中間件包括依次通信的數(shù)據(jù)流文件整理模塊、數(shù)據(jù)流文件與數(shù)據(jù)緩存關(guān)系模塊、數(shù)據(jù)緩存與數(shù)據(jù)結(jié)構(gòu)關(guān)系模塊、數(shù)據(jù)結(jié)構(gòu)與界面控件關(guān)系模塊、界面信息處理模塊。
本發(fā)明的主要特點是將現(xiàn)在開發(fā)的大量冗余工作通過平臺化的思想來解決,主要提供了一種新的平臺化的列車顯示界面數(shù)據(jù)處理方法,適用于各種列車車型控制系統(tǒng)的智能人機交互界面應(yīng)用系統(tǒng)開發(fā)。采用“中間件”的形式作為列車終端顯示設(shè)備與后端數(shù)據(jù)信號采集系統(tǒng)的橋梁,通過C++/C語言編寫一個大的程序模塊作為列車顯示界面與信號控制系統(tǒng)的接口,實現(xiàn)顯示器應(yīng)用系統(tǒng)開發(fā)過程的平臺化。4
與現(xiàn)有技術(shù)相比,本發(fā)明所具有的有益效果為本發(fā)明在列車顯示器應(yīng)用軟件開發(fā)過程中,采用“中間件”的形式作為列車終端顯示設(shè)備與后端數(shù)據(jù)信號采集系統(tǒng)的橋梁, 將列車各設(shè)備的基本信息狀態(tài)封裝起來直接調(diào)用;本發(fā)明提供的顯示界面數(shù)據(jù)處理方法實現(xiàn)了顯示器應(yīng)用系統(tǒng)開發(fā)過程的平臺化,有較強的可移植性,大大減少了工作量,提高了列車顯示器的應(yīng)用開發(fā)效率。
圖1為本發(fā)明一實施例流程圖2為本發(fā)明一實施例中間件模型示意圖3為本發(fā)明的基于中間件的顯示界面數(shù)據(jù)處理平臺結(jié)構(gòu)框圖。
具體實施方式
如圖1所示,本發(fā)明的方法步驟如下
I)開始系統(tǒng)初始化、通彳目初始化、界面初始化、定時器初始化;
2)判斷定時器執(zhí)行周期是否到達(dá),若是,進(jìn)入3);若否,等待定時中斷;
3)判斷界面是否已經(jīng)定義,若已經(jīng)定義,則預(yù)處理已有界面中的控件屬性,與程序中預(yù)定義的變量一一對應(yīng);若界面還未定義,則定義未涉及的界面,然后預(yù)處理已有界面中的控件屬性,與預(yù)定義的變量一一對應(yīng);
4)建立界面控件對應(yīng)程序的數(shù)據(jù)結(jié)構(gòu)以界面為單位,將每個界面定義成一個對應(yīng)的結(jié)構(gòu)體變量,建立具有統(tǒng)一特性的結(jié)構(gòu)體變量;
5)建立數(shù)據(jù)結(jié)構(gòu)與數(shù)據(jù)緩存的對應(yīng)關(guān)系將結(jié)構(gòu)體變量一一對應(yīng)地賦值給界面中定義的控件;
6)判斷數(shù)據(jù)緩存與數(shù)據(jù)通信中的數(shù)據(jù)流之間是否有邏輯處理,若有,進(jìn)入7);若無,進(jìn)入8);
7)建立數(shù)據(jù)緩存與數(shù)據(jù)流的對應(yīng)關(guān)系;
8)處理數(shù)據(jù)緩存與數(shù)據(jù)流的邏輯關(guān)系,使數(shù)據(jù)緩存與數(shù)據(jù)流對等;
9)刷新界面控件;
10)定時器執(zhí)行完畢,等待下一周期,返回2)。
將列車顯示器開發(fā)過程平臺化。如圖1所示,本發(fā)明的主要目的是將列車顯示器的界面數(shù)據(jù)接口、數(shù)據(jù)處理中間件和通信協(xié)議包三個部分進(jìn)行封裝,封裝后顯示器應(yīng)用軟件設(shè)計人員只需根據(jù)用戶需求做小范圍的界面修改和數(shù)據(jù)采集部分的開發(fā)。
如圖3所示,基于中間件的顯示界面數(shù)據(jù)處理平臺,包括通信接口、標(biāo)準(zhǔn)界面、通信協(xié)議包和界面數(shù)據(jù)接口,還包括多個數(shù)據(jù)處理中間件,所述通信接口與所述通信協(xié)議包雙向通信,所述通信協(xié)議包與所述數(shù)據(jù)處理中間件雙向通信,所述數(shù)據(jù)處理中間件與所述界面數(shù)據(jù)接口雙向通信,所述標(biāo)準(zhǔn)界面與所述界面數(shù)據(jù)接口通信;所述數(shù)據(jù)處理中間件包括依次通信的數(shù)據(jù)流文件整理模塊、數(shù)據(jù)流文件與數(shù)據(jù)緩存關(guān)系模塊、數(shù)據(jù)緩存與數(shù)據(jù)結(jié)構(gòu)關(guān)系模塊、數(shù)據(jù)結(jié)構(gòu)與界面控件關(guān)系模塊、界面信息處理模塊。
處于最底層的是列車控制系統(tǒng)與顯示器間的通信接口,通信接口與通信協(xié)議包間雙向傳遞數(shù)據(jù),一般通過端口來實現(xiàn)雙方通信。通信協(xié)議包通常包含MVB、Lonworks、RS485和CAN四種通信方式的協(xié)議包,依據(jù)通信方式的不同調(diào)用不同通信協(xié)議包函數(shù),以實現(xiàn)與控制系統(tǒng)間的通信
整個發(fā)明的工作重心是在數(shù)據(jù)處理中間件(如圖2所示)上,以中間件作為界面顯示與車輛網(wǎng)絡(luò)通信數(shù)據(jù)的接口,使得界面顯示與具體網(wǎng)絡(luò)通信協(xié)議無關(guān)。數(shù)據(jù)處理中間件中包含了整車各設(shè)備存在的狀態(tài)信息,通信協(xié)議包的數(shù)據(jù)信息源也基本來自于數(shù)據(jù)處理中間件,用戶只需通過簡單的函數(shù)調(diào)用得到數(shù)據(jù)信息,或是將數(shù)據(jù)信息反饋給中間件。類似地,數(shù)據(jù)處理中間件也與界面數(shù)據(jù)接口間能進(jìn)行雙向交流,也通過內(nèi)部函數(shù)來實現(xiàn)此功能。 中間件主要用類和結(jié)構(gòu)體進(jìn)行封裝,同類信息或者聯(lián)系比較緊密的數(shù)據(jù),封裝成一個類/ 結(jié)構(gòu)體,那么一個車輛的信息便可用多個中間件進(jìn)行封裝。后期車輛信息的增加可以通過繼承先有的類/結(jié)構(gòu)體完成補充。車輛數(shù)目的增加(如重聯(lián))可以通過定義中間件數(shù)組來實現(xiàn)。界面數(shù)據(jù)直接來源于中間件,所以無論哪種車型,協(xié)議如何變化,界面程序與中間件都不用變化,網(wǎng)絡(luò)數(shù)據(jù)直接傳給中間件,從而完成對中間件的賦值。
軟件的最上層是與用戶的接口,即標(biāo)準(zhǔn)界面,它與界面數(shù)據(jù)接口直接通信。標(biāo)準(zhǔn)界面主要是指顯示器應(yīng)用軟件設(shè)計人員在開發(fā)過程中根據(jù)用戶的需求來確定界面的顯示內(nèi)容,界面顯示內(nèi)容可到界面數(shù)據(jù)接口內(nèi)調(diào)用。
本發(fā)明中提及的界面采用Linux下的界面編程工具FLUID+FLTK的圖形開發(fā)工具定義,界面中用到的控件均由FLUID工具提供。
權(quán)利要求
1.一種基于中間件的顯示界面數(shù)據(jù)處理方法,其特征在于,該方法步驟如下 1)開始系統(tǒng)初始化、通彳目初始化、界面初始化、定時器初始化; 2)判斷定時器執(zhí)行周期是否到達(dá),若是,進(jìn)入3);若否,等待定時器執(zhí)行周期; 3)判斷界面是否已經(jīng)定義,若已經(jīng)定義,則預(yù)處理已有界面中的控件屬性,與程序中預(yù)定義的變量一一對應(yīng);若界面還未定義,則定義未涉及的界面,然后預(yù)處理已有界面中的控件屬性,與預(yù)定義的變量一一對應(yīng); 4)建立界面控件對應(yīng)程序的數(shù)據(jù)結(jié)構(gòu)以界面為單位,將每個界面定義成一個對應(yīng)的結(jié)構(gòu)體變量,建立具有統(tǒng)ー特性的結(jié)構(gòu)體變量; 5)建立數(shù)據(jù)結(jié)構(gòu)與數(shù)據(jù)緩存的對應(yīng)關(guān)系將結(jié)構(gòu)體變量一一對應(yīng)地賦值給界面中定義的控件; 6)判斷數(shù)據(jù)緩存與數(shù)據(jù)通信中的數(shù)據(jù)流之間是否有邏輯處理,若有,進(jìn)入7);若無,進(jìn)入8); 7)建立數(shù)據(jù)緩存與數(shù)據(jù)流的對應(yīng)關(guān)系; 8)處理數(shù)據(jù)緩存與數(shù)據(jù)流的邏輯關(guān)系,使數(shù)據(jù)緩存與數(shù)據(jù)流對等; 9)刷新界面控件; 10)定時器執(zhí)行完畢,等待下一周期,返回2)。
2.根據(jù)權(quán)利要求I所述的基于中間件的顯示界面數(shù)據(jù)處理方法,其特征在于,所述步驟3)中,控件屬性包括顯示形式、顔色、字體和大小。
3.根據(jù)權(quán)利要求I所述的基于中間件的顯示界面數(shù)據(jù)處理方法,其特征在于,所述步驟4)中,定義的結(jié)構(gòu)體變量為首界面Struct MAINH ;主要數(shù)據(jù)界面=StructMAINDATA{};機車配置界面Struct LOCOSTATE{};維護(hù)界面Struct MANTEANCE{};發(fā)送結(jié)構(gòu)體Struct SENDCMD {}。
4.一種基于中間件的顯示界面數(shù)據(jù)處理平臺,包括通信接ロ、標(biāo)準(zhǔn)界面、通信協(xié)議包和界面數(shù)據(jù)接ロ,其特征在干,還包括多個數(shù)據(jù)處理中間件,所述通信接ロ與所述通信協(xié)議包雙向通信,所述通信協(xié)議包與所述數(shù)據(jù)處理中間件雙向通信,所述數(shù)據(jù)處理中間件與所述界面數(shù)據(jù)接ロ雙向通信,所述標(biāo)準(zhǔn)界面與所述界面數(shù)據(jù)接ロ通信;所述數(shù)據(jù)處理中間件包括依次通信的數(shù)據(jù)流文件整理模塊、數(shù)據(jù)流文件與數(shù)據(jù)緩存關(guān)系模塊、數(shù)據(jù)緩存與數(shù)據(jù)結(jié)構(gòu)關(guān)系模塊、數(shù)據(jù)結(jié)構(gòu)與界面控件關(guān)系模塊、界面信息處理模塊;所述數(shù)據(jù)結(jié)構(gòu)是指以界面為單位,將每個界面定義成ー個對應(yīng)的結(jié)構(gòu)體變量,建立具有統(tǒng)ー特性的結(jié)構(gòu)體變量。
5.根據(jù)權(quán)利要求4所述的基于中間件的顯示界面數(shù)據(jù)處理平臺,其特征在于,所述通信協(xié)議包包括MVB、Lonworks、RS485和CAN通信方式的協(xié)議包。
6.根據(jù)權(quán)利要求4所述的基于中間件的顯示界面數(shù)據(jù)處理平臺,其特征在于,所述通信接ロ與所述通信協(xié)議包通過端ロ通信。
全文摘要
本發(fā)明公開了一種基于中間件的顯示界面數(shù)據(jù)處理方法及平臺,主要提供了一種新的平臺化的列車顯示界面數(shù)據(jù)處理方法,適用于各種列車車型控制系統(tǒng)的智能人機交互界面應(yīng)用系統(tǒng)開發(fā)。采用“中間件”的形式作為列車終端顯示設(shè)備與后端數(shù)據(jù)信號采集系統(tǒng)的橋梁,通過C++/C語言編寫一個大的程序模塊作為列車顯示界面與信號控制系統(tǒng)的接口,實現(xiàn)顯示器應(yīng)用系統(tǒng)開發(fā)過程的平臺化。本發(fā)明提供的顯示界面數(shù)據(jù)處理方法實現(xiàn)了顯示器應(yīng)用系統(tǒng)開發(fā)過程的平臺化,有較強的可移植性,大大減少了工作量,提高了列車顯示器的應(yīng)用開發(fā)效率。
文檔編號G06F9/44GK102981827SQ20121043049
公開日2013年3月20日 申請日期2012年11月1日 優(yōu)先權(quán)日2012年11月1日
發(fā)明者李宇鋒, 饒?zhí)熨F, 楊玲, 王敏芊, 曾升 申請人:株洲南車時代電氣股份有限公司