一種基于多傳感器顯控系統(tǒng)集成的架構(gòu)方法
【專利摘要】本發(fā)明公開(kāi)了一種基于多傳感器顯控系統(tǒng)集成的架構(gòu)方法,涉及顯示控制系統(tǒng)領(lǐng)域,包括兩個(gè)及以上傳感器和顯控系統(tǒng),顯控系統(tǒng)包括系統(tǒng)框架應(yīng)用模塊、插件動(dòng)態(tài)庫(kù)模塊、插件加載配置文件模塊、通信配置文件模塊、日志保存文件模塊及Qt環(huán)境庫(kù)模塊。本發(fā)明可實(shí)現(xiàn)多傳感器平臺(tái)的顯示控制定制和復(fù)用業(yè)務(wù)按權(quán)限的生成,以統(tǒng)一架構(gòu)實(shí)現(xiàn)系統(tǒng)支撐和軟件集成。系統(tǒng)以Qt插件及XML配置文件動(dòng)態(tài)加載各傳感器顯控插件,實(shí)現(xiàn)顯示控制系統(tǒng)的可配置、可裁剪、可擴(kuò)展、可定制、可復(fù)用功能,是一種通用的高效的靈活的系統(tǒng)集成開(kāi)發(fā)架構(gòu)。
【專利說(shuō)明】一種基于多傳感器顯控系統(tǒng)集成的架構(gòu)方法
[0001]
【技術(shù)領(lǐng)域】
[0002]本發(fā)明涉及顯示控制系統(tǒng)領(lǐng)域,尤其涉及一種基于多傳感器顯控系統(tǒng)集成的架構(gòu)方法。
【背景技術(shù)】
[0003]傳統(tǒng)的傳感器顯不控制系統(tǒng)開(kāi)發(fā)由于功能固化和實(shí)施的復(fù)雜性,一般一個(gè)傳感器對(duì)應(yīng)一個(gè)顯示控制界面,無(wú)法滿足系統(tǒng)應(yīng)用軟件開(kāi)發(fā)時(shí)間進(jìn)度、靈活性和集成性要求,導(dǎo)致復(fù)雜系統(tǒng)集成困難,更難為其業(yè)務(wù)拓展和維護(hù),同時(shí)系統(tǒng)限制于某一固定平臺(tái)上,通用性差。
[0004]本發(fā)明設(shè)計(jì)的集成架構(gòu)針對(duì)現(xiàn)有復(fù)雜系統(tǒng)架構(gòu)需求變更不靈活、復(fù)用性差、不方便擴(kuò)展等缺點(diǎn),采用了跨平臺(tái)編程語(yǔ)言,系統(tǒng)集成架構(gòu)具有可擴(kuò)展性、通用性、靈活性等。針對(duì)不同權(quán)限的操作人員只需更改配置文件和插件庫(kù)可實(shí)現(xiàn)系統(tǒng)級(jí)別控制,保證系統(tǒng)可靠安全的運(yùn)行。
【發(fā)明內(nèi)容】
[0005]本發(fā)明主要是構(gòu)建一種基于多傳感器的顯示控制程序系統(tǒng)集成架構(gòu),系統(tǒng)可實(shí)現(xiàn)多傳感器平臺(tái)的顯示控制定制和復(fù)用業(yè)務(wù)按權(quán)限的生成,以統(tǒng)一架構(gòu)實(shí)現(xiàn)系統(tǒng)支撐和集成。
[0006]為實(shí)現(xiàn)上述目的,本發(fā)明采取的技術(shù)方案為,一種基于多傳感器顯控系統(tǒng)集成的架構(gòu)方法,包括以下步驟:
(1)將顯示控制系統(tǒng)分別與兩個(gè)及以上的傳感器連通;
(2)啟動(dòng)顯不控制系統(tǒng);
(3)顯示控制系統(tǒng)啟動(dòng)系統(tǒng)框架,讀取傳感器顯控的Qt插件;
(4)系統(tǒng)框架如果讀取所有的傳感器顯控的Qt插件成功則再讀取依據(jù)權(quán)限設(shè)計(jì)的插件配置文件,并根據(jù)插件配置文件配置系統(tǒng)框架內(nèi)容,若任何讀取文件或者Qt插件出錯(cuò)則返回并報(bào)告錯(cuò)誤;
(5)最后系統(tǒng)框架讀取所有的傳感器的通信配置文件并完成通信配置,若讀取通信配置文件或者任何配置出錯(cuò)則返回并報(bào)告錯(cuò)誤。
[0007]優(yōu)選步驟:傳感器和顯控系統(tǒng)之間的物理連接方式為以太網(wǎng)連接、串行總線連接、CAN總線連接或者1553B總線連接。
[0008]優(yōu)選步驟:串行總線連接方式包括RS232、RS422或RS485。
[0009]優(yōu)選步驟:讀取傳感器顯控的Qt插件過(guò)程如下:系統(tǒng)框架開(kāi)始讀取插件,查找插件放置的路徑是否存在,再讀取路徑內(nèi)是否有插件實(shí)體,成功后利用轉(zhuǎn)換函數(shù)開(kāi)始檢查插件是否滿足接口,以上步驟成功后則讀取插件并存在Hash表中,Hash表根據(jù)插件名稱作為索引,若任何判斷過(guò)程出現(xiàn)錯(cuò)誤則返回并給出錯(cuò)誤提示。
[0010]優(yōu)選步驟:讀取配置文件過(guò)程如下:系統(tǒng)框架開(kāi)始讀取配置文件,包括插件配置文件和通信配置文件,首先是查找默認(rèn)路徑下文件是否存在,再查看文件是否滿足DOM解析XML文件要求,成功后讀取文件的根節(jié)點(diǎn)、子節(jié)點(diǎn)、孫子節(jié)點(diǎn),查看文件節(jié)點(diǎn)的屬性是否滿足配置文件協(xié)議的要求,以上步驟成功后將解析后需求的信息以名稱為索引存入Hash表中,若任何判斷過(guò)程出現(xiàn)錯(cuò)誤則返回并給出錯(cuò)誤提示。
[0011]本發(fā)明的有益效果為:利用Qt(編程語(yǔ)言工具,諾基亞旗下跨平臺(tái)的C++圖形用戶界面應(yīng)用程序開(kāi)發(fā)框架)的跨平臺(tái)特性分別在Windows、Linux上運(yùn)行,驗(yàn)證了系統(tǒng)集成架構(gòu)具備的可移植性和通用性;初期框架設(shè)計(jì)完成可交付不同的開(kāi)發(fā)者進(jìn)行單傳感器插件開(kāi)發(fā),系統(tǒng)集成可直接拷貝插件庫(kù)完成,具備良好的靈活性和擴(kuò)展性;對(duì)于某一傳感器顯示控制插件加載出錯(cuò)可在日志保存文件模塊中發(fā)現(xiàn),具備良好的可維護(hù)性。
【專利附圖】
【附圖說(shuō)明】
[0012]圖1是多傳感器的系統(tǒng)顯示控制硬件連接示意圖;
圖2是系統(tǒng)框架設(shè)計(jì)程序運(yùn)行流程圖;
圖3是讀取多個(gè)單傳感器顯控的Qt插件流程圖;
圖4是讀取配置文件流程圖。
【具體實(shí)施方式】
[0013]本說(shuō)明書(shū)中公開(kāi)的所有特征,或公開(kāi)的所有方法或過(guò)程中的步驟,除了互相排斥的特征和/或步驟以外,均可以以任何方式組合。
[0014]本說(shuō)明書(shū)(包括任何附加權(quán)利要求、摘要和附圖)中公開(kāi)的任一特征,除非特別敘述,均可被其他等效或具有類似目的的替代特征加以替換。即,除非特別敘述,每個(gè)特征只是一系列等效或類似特征中的一個(gè)例子而已。
[0015]一種基于多傳感器顯控系統(tǒng)集成的架構(gòu)方法,包括兩個(gè)及以上傳感器和顯控系統(tǒng),顯控系統(tǒng)包括系統(tǒng)框架應(yīng)用模塊、插件動(dòng)態(tài)庫(kù)模塊、插件加載配置文件模塊、通信配置文件模塊、日志保存文件模塊及Qt環(huán)境庫(kù)模塊。
[0016]系統(tǒng)框架應(yīng)用模塊,是系統(tǒng)的核心部分,主要包括:
系統(tǒng)框架應(yīng)用模塊界面設(shè)計(jì),為了實(shí)現(xiàn)其他擴(kuò)展的傳感器插件能夠在主程序界面上操作顯示,系統(tǒng)框架界面為擴(kuò)展插件預(yù)留TabWidget (選擇標(biāo)簽窗體)、StackedWidget (堆棧窗體)作為顯示空間,同時(shí)主程序界面應(yīng)符合通用性、擴(kuò)展性、靈活性、易操作性及美觀性。
[0017]系統(tǒng)框架應(yīng)用模塊能夠讀取傳感器顯控的插件,主要包括插件的類型,如界面插件、數(shù)據(jù)響應(yīng)插件等;插件的接口函數(shù),如初始化、名稱、啟動(dòng)、卸載等;插件的注冊(cè)接口信息,如公司名稱、版本號(hào);插件的裝入及測(cè)試接口。
[0018]系統(tǒng)框架應(yīng)用模塊讀取插件配置文件,根據(jù)插件配置文件提供的插件加載位置、保存的路徑、類型和名稱加載插件到主系統(tǒng)框架。系統(tǒng)框架應(yīng)用模塊讀取通信配置文件,根據(jù)通信配置文件提供的發(fā)送插件名稱、接收插件名稱、發(fā)送插件函數(shù)及接收插件函數(shù)配置插件間的通信文件,所有的通信文件配置均連接日志保存文件插件模塊,實(shí)現(xiàn)系統(tǒng)框架的記錄備份。[0019]Qt插件,以下簡(jiǎn)稱插件,采用動(dòng)態(tài)庫(kù)以.1ib或.so形式存在,插件的加載或分級(jí)采用XML配置文件區(qū)分,插件的設(shè)計(jì)采用統(tǒng)一標(biāo)準(zhǔn)設(shè)計(jì),符合Qt編程原則,插件間的通信采用XML文件進(jìn)行通信配置。不同操作系統(tǒng)生成不同的插件形式的動(dòng)態(tài)庫(kù),插件功能包含了初始化、名稱、啟動(dòng)、卸載等必須繼承的純虛函數(shù)外,其他的功能由不同的傳感器自己確定。傳感器顯示控制界面與收發(fā)數(shù)據(jù)命令的通信符合Qt的信號(hào)和槽通信機(jī)制,傳感器與傳感器之間的通信也符合此通信機(jī)制。
[0020]插件加載配置文件和通信配置文件以XML (可擴(kuò)展標(biāo)記語(yǔ)言)文件形式存在。解析XML文件采用DOM (文檔對(duì)象模型,XML語(yǔ)言解析方法)方式,可隨機(jī)訪問(wèn)XML文件中任一節(jié)點(diǎn)。XML文件節(jié)點(diǎn)采用三級(jí)設(shè)計(jì),根節(jié)點(diǎn)、子節(jié)點(diǎn)、孫子節(jié)點(diǎn),分為加載插件配置文件和通信配置文件兩個(gè)文件,可實(shí)現(xiàn)所有傳感器插件加載的正確性和通信數(shù)據(jù)的準(zhǔn)確性,同時(shí)可根據(jù)不同操作人員的權(quán)限增加刪除傳感器顯示控制的內(nèi)容。
[0021]日志保存文件設(shè)計(jì)為一種滿足數(shù)據(jù)讀取要求的普通插件,主要是讀取所有的通信配置文件,并將插件加載情況及通信情況記錄在日志文件中,日志保存文件不能發(fā)送信號(hào)只能接受信號(hào)。
[0022]Qt環(huán)境庫(kù),包括核心庫(kù)、⑶I庫(kù)、XML庫(kù)、網(wǎng)絡(luò)庫(kù)、SQL庫(kù)等。
[0023]參見(jiàn)圖1,典型的基于多傳感器的系統(tǒng)顯示控制硬件連接如圖所示。多傳感器的顯示控制程序首先是保證傳感器正確上電并工作(步驟100),傳感器斷電進(jìn)行顯示控制物理連接(步驟120),不同傳感器設(shè)計(jì)的顯控連接方式不同,如以太網(wǎng)控制(步驟130)、CAN總線控制(步驟140)、串行RS232控制(步驟150)、串行RS422控制(步驟160),最后根據(jù)配置和權(quán)限打開(kāi)顯控系統(tǒng)框架(步驟170)。
[0024]參見(jiàn)圖2,系統(tǒng)框架設(shè)計(jì)程序運(yùn)行過(guò)程如圖所示。多傳感器顯示控制系統(tǒng)集成軟件首先啟動(dòng)系統(tǒng)框架(步驟210),再讀取傳感器顯控的Qt插件(步驟220),如果讀取成功則再讀取依據(jù)權(quán)限設(shè)計(jì)的插件配置文件(步驟230),成功后讀取傳感器的通信配置文件(步驟240)。以上步驟成功后傳感器顯示控制功能則能實(shí)現(xiàn)(步驟250),若任何讀取文件或者插件出錯(cuò)則返回并報(bào)告錯(cuò)誤(步驟260 )。
[0025]參見(jiàn)圖3,讀取多個(gè)傳感器顯控的Qt插件過(guò)程如圖所示。系統(tǒng)框架開(kāi)始讀取多個(gè)插件(步驟310),查找插件放置的路徑是否存在(步驟320),再讀取路徑內(nèi)是否有插件實(shí)體(步驟330),成功后利用q0bject_caSt (Qt編程語(yǔ)言工具中同一類型的類或者子類的轉(zhuǎn)換函數(shù))開(kāi)始檢查插件是否滿足接口(步驟340)。以上步驟成功后則讀取插件成功并存在Hash表(哈希表,是一種利用關(guān)鍵碼值與數(shù)據(jù)存儲(chǔ)位置建立映射的數(shù)據(jù)結(jié)構(gòu))中,Hash表根據(jù)插件名稱作為索引(步驟350),若任何判斷過(guò)程出現(xiàn)錯(cuò)誤則返回并給出錯(cuò)誤提示(步驟360)。
[0026]參見(jiàn)圖4,讀取配置文件過(guò)程如圖所示。系統(tǒng)框架開(kāi)始讀取配置文件,包括插件配置文件和通信配置文件(步驟410),首先是查找默認(rèn)路徑下文件是否存在(步驟420),再查看文件是否滿足DOM解析XML文件要求(步驟430),成功后讀取文件的根節(jié)點(diǎn)、子節(jié)點(diǎn)、孫子節(jié)點(diǎn),查看文件節(jié)點(diǎn)的屬性是否滿足配置文件協(xié)議的要求(步驟440)。以上步驟成功后將解析后需求的信息以名稱為索引存入Hash表中(步驟450),若任何判斷過(guò)程出現(xiàn)錯(cuò)誤則返回并給出錯(cuò)誤提示(步驟460)。
[0027]以上就是基于多傳感器顯控插件的系統(tǒng)集成軟件架構(gòu)核心部分的設(shè)計(jì)步驟。其他的如插件設(shè)計(jì)、日志設(shè)計(jì)、以及XML文件設(shè)計(jì)則配合此軟件架構(gòu)完成系統(tǒng)功能。[0028]該架構(gòu)采用了通用的界面編程語(yǔ)言Qt實(shí)現(xiàn)對(duì)傳感器的顯示控制。傳感器的物理連接可為以太網(wǎng)、串行總線、CAN總線、1553B總線等,軟件運(yùn)行的操作系統(tǒng)可為windows、Linux,Unix.MAC以及其他支持Qt運(yùn)行庫(kù)的C++運(yùn)行環(huán)境。傳感器顯控插件加載方式為動(dòng)態(tài)存在的,擴(kuò)展維護(hù)時(shí)只需更改相應(yīng)的傳感器顯控插件及配置文件即可。
[0029]本發(fā)明并不局限于前述的【具體實(shí)施方式】。本發(fā)明擴(kuò)展到任何在本說(shuō)明書(shū)中披露的新特征或任何新的組合,以及披露的任一新的方法或過(guò)程的步驟或任何新的組合。
【權(quán)利要求】
1.一種基于多傳感器顯控系統(tǒng)集成的架構(gòu)方法,其特征在于:包括以下步驟: (1)將顯示控制系統(tǒng)分別與兩個(gè)及以上的傳感器連通; (2)啟動(dòng)顯不控制系統(tǒng); (3)顯示控制系統(tǒng)啟動(dòng)系統(tǒng)框架,讀取傳感器顯控的Qt插件; (4)系統(tǒng)框架如果讀取所有的傳感器顯控的Qt插件成功則再讀取依據(jù)權(quán)限設(shè)計(jì)的插件配置文件,并根據(jù)插件配置文件配置系統(tǒng)框架內(nèi)容,若任何讀取文件或者Qt插件出錯(cuò)則返回并報(bào)告錯(cuò)誤; (5)最后系統(tǒng)框架讀取所有的傳感器的通信配置文件并完成通信配置,若讀取通信配置文件或者任何配置出錯(cuò)則返回并報(bào)告錯(cuò)誤。
2.根據(jù)權(quán)利要求1所述的一種基于多傳感器顯控系統(tǒng)集成的架構(gòu)方法,其特征在于:步驟(I)中,傳感器和顯控系統(tǒng)之間的物理連接方式為以太網(wǎng)連接、串行總線連接、CAN總線連接或者1553B總線連接。
3.根據(jù)權(quán)利要求2所述的一種基于多傳感器顯控系統(tǒng)集成的架構(gòu)方法,其特征在于:串行總線連接方式包括RS232、RS422或RS485。
4.根據(jù)權(quán)利要求1或2或3所述的一種基于多傳感器顯控系統(tǒng)集成的架構(gòu)方法,其特征在于:讀取傳感器顯控的Qt插件過(guò)程如下:系統(tǒng)框架開(kāi)始讀取插件,查找插件放置的路徑是否存在,再讀取路徑內(nèi)是否有插件實(shí)體,成功后利用轉(zhuǎn)換函數(shù)開(kāi)始檢查插件是否滿足接口,以上步驟成功后則讀取插件并存在Hash表中,Hash表根據(jù)插件名稱作為索引,若任何判斷過(guò)程出現(xiàn)錯(cuò)誤則返回并給出錯(cuò)誤提示。
5.根據(jù)權(quán)利要求4所述的一種基于多傳感器顯控系統(tǒng)集成的架構(gòu)方法,其特征在于:讀取配置文件過(guò)程如下:系統(tǒng)框架開(kāi)始讀取配置文件,包括插件配置文件和通信配置文件,首先是查找默認(rèn)路徑下文件是否存在,再查看文件是否滿足DOM解析XML文件要求,成功后讀取文件的根節(jié)點(diǎn)、子節(jié)點(diǎn)、孫子節(jié)點(diǎn),查看文件節(jié)點(diǎn)的屬性是否滿足配置文件協(xié)議的要求,以上步驟成功后將解析后需求的信息以名稱為索引存入Hash表中,若任何判斷過(guò)程出現(xiàn)錯(cuò)誤則返回并給出錯(cuò)誤提示。
【文檔編號(hào)】G06F9/45GK103777990SQ201210415970
【公開(kāi)日】2014年5月7日 申請(qǐng)日期:2012年10月26日 優(yōu)先權(quán)日:2012年10月26日
【發(fā)明者】夏鴻, 王紅林 申請(qǐng)人:四川九洲電器集團(tuán)有限責(zé)任公司