[發(fā)明專利]基于XML的上位機(jī)軟件實現(xiàn)方法有效
| 申請?zhí)枺?/td> | 201811116193.1 | 申請日: | 2018-09-25 |
| 公開(公告)號: | CN109460231B | 公開(公告)日: | 2022-02-22 |
| 發(fā)明(設(shè)計)人: | 趙紅建;江澤斌;劉巖;劉愛輝 | 申請(專利權(quán))人: | 北京通廣龍電子科技有限公司 |
| 主分類號: | G06F8/38 | 分類號: | G06F8/38;G06F8/30;G06F8/71 |
| 代理公司: | 北京興智翔達(dá)知識產(chǎn)權(quán)代理有限公司 11768 | 代理人: | 張玉梅 |
| 地址: | 100094 北京市海*** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 基于 xml 上位 軟件 實現(xiàn) 方法 | ||
1.一種基于XML的上位機(jī)軟件實現(xiàn)方法,上位機(jī)與下位機(jī)之間按照數(shù)據(jù)通信協(xié)議交換消息來實現(xiàn)特定的功能,其特征在于,該上位機(jī)軟件實現(xiàn)方法包括自動生成所述數(shù)據(jù)通信協(xié)議,所述自動生成所述數(shù)據(jù)通信協(xié)議包括:
S1,讀取幀頭協(xié)議描述XML,所述幀頭協(xié)議描述XML配置了上位機(jī)與下位機(jī)通信時的幀結(jié)構(gòu);
S2,應(yīng)用所述幀頭協(xié)議描述XML的配置信息,生成幀頭協(xié)議表示類;
S3,讀取幀體描述XML,幀體攜帶著消息;
S4,判斷所述幀頭協(xié)議描述XML或所述幀體描述XML是否為新導(dǎo)入或已被修改,若是,則執(zhí)行步驟S5,否則轉(zhuǎn)至步驟S7;
S5,讀取所述幀體描述XML以及所述幀頭協(xié)議表示類,將其中的配置信息拼接成幀體類代碼;
S6,本地保存所述幀體類代碼;
S7,讀取所述幀體類代碼;
S8,動態(tài)編譯所述幀體類代碼并將程序集加載至內(nèi)存;以及
S9,獲取已編譯的程序集及所述程序集中定義的類型,遍歷類型集合,并保存類型至類型字典;
所述S4中判斷所述幀頭協(xié)議描述XML或幀體描述XML是否為新導(dǎo)入或已被修改包括:
本地維護(hù)了一套所述幀頭協(xié)議描述XML以及幀體描述XML修改日期的配置信息,該修改日期的配置信息記錄了所述XML文件名稱,以及文件最后修改時間,當(dāng)為所述XML文件生成代碼時,首先判斷配置信息是否包含該文件名,若不包含則執(zhí)行代碼生成操作,并將文件名與修改時間寫入配置信息,若包含文件名則進(jìn)一步比較文件修改時間,若時間不一致則執(zhí)行代碼生成操作,并將新的修改時間同步至配置信息,否則不再生成代碼。
2.如權(quán)利要求1所述的基于XML的上位機(jī)軟件實現(xiàn)方法,其特征在于,所述幀頭協(xié)議描述XML的配置信息包括:用于標(biāo)識消息發(fā)送平臺的源地址、用于標(biāo)識消息接收平臺的目的地址、用于標(biāo)識消息正文所攜帶信息類別的消息類別、用于標(biāo)識有效數(shù)據(jù)占用的比特位寬的數(shù)據(jù)長度、用于表示待傳輸消息的主體部分的消息正文、用于標(biāo)識多字節(jié)數(shù)據(jù)傳輸時各字節(jié)的存儲順序的字節(jié)序。
3.如權(quán)利要求1所述的基于XML的上位機(jī)軟件實現(xiàn)方法,其特征在于,所述S3中的消息包括查詢類消息、設(shè)置類消息、應(yīng)答類消息、主動上報類消息,其中,查詢與設(shè)置類消息分別有對應(yīng)的應(yīng)答類消息。
4.如權(quán)利要求1所述的基于XML的上位機(jī)軟件實現(xiàn)方法,其特征在于,該上位機(jī)軟件實現(xiàn)方法還包括:應(yīng)用幀體描述XML中的信息,完成用戶界面的動態(tài)生成。
5.如權(quán)利要求4所述的基于XML的上位機(jī)軟件實現(xiàn)方法,其特征在于,生成所述用戶界面包括:
讀取幀體描述XML,所述幀體描述XML包括消息概要信息和數(shù)據(jù)項信息,所述消息概要信息包括消息名稱、操作類別、消息代號;
應(yīng)用所述消息概要信息生成主行,讀取所述消息名稱顯示在表格的消息名稱列,并且讀取操作類別,生成設(shè)置按鈕或查詢按鈕,讀取消息代號,并將所述消息代號附加至主行,與主行關(guān)聯(lián);以及
應(yīng)用所述數(shù)據(jù)項信息生成子行,所述數(shù)據(jù)項的類型有枚舉型、整型、浮點型和字符型,其中對枚舉型數(shù)據(jù)項采用組合框呈現(xiàn),對整型數(shù)據(jù)項采用整數(shù)文本框呈現(xiàn),對浮點型數(shù)據(jù)項采用浮點數(shù)文本框呈現(xiàn),對字符型采用普通文本框呈現(xiàn)。
6.如權(quán)利要求5所述的基于XML的上位機(jī)軟件實現(xiàn)方法,其特征在于,該上位機(jī)軟件實現(xiàn)方法還包括:生成界面后,在數(shù)據(jù)發(fā)送階段創(chuàng)建類型實例,進(jìn)行所述類型實例的序列化,并且發(fā)出序列結(jié)果。
7.如權(quán)利要求6所述的基于XML的上位機(jī)軟件實現(xiàn)方法,其特征在于,在數(shù)據(jù)發(fā)送階段創(chuàng)建類型實例,進(jìn)行所述類型實例的序列化,并且發(fā)出序列結(jié)果包括:
首先點擊所述設(shè)置按鈕或查詢按鈕,獲取消息代號與消息屬性信息;
獲取該消息代號在所述類型字典中對應(yīng)的類型,然后通過該類型獲取在其中聲明該類型的程序集,最后從所述程序集中查找本類型,使用系統(tǒng)激活器創(chuàng)建類型實例;
通過調(diào)用類型的屬性值設(shè)置成員,將所述消息屬性信息設(shè)置到對應(yīng)屬性;
獲取類型的序列化方法并調(diào)用從而實現(xiàn)類型實例的序列化;以及
將生成的序列化字節(jié)流經(jīng)由通信端口發(fā)出。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于北京通廣龍電子科技有限公司,未經(jīng)北京通廣龍電子科技有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201811116193.1/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 一種基于應(yīng)用軟件散布的軟件授權(quán)與保護(hù)方法及系統(tǒng)
- 一種用于航空機(jī)載設(shè)備的軟件在線加載系統(tǒng)及方法
- 軟件構(gòu)建方法、軟件構(gòu)建裝置和軟件構(gòu)建系統(tǒng)
- 惡意軟件檢測方法及裝置
- 一種基于軟件基因的軟件同源性分析方法和裝置
- 軟件引入系統(tǒng)、軟件引入方法及存儲介質(zhì)
- 軟件驗證裝置、軟件驗證方法以及軟件驗證程序
- 使用靜態(tài)和動態(tài)惡意軟件分析來擴(kuò)展惡意軟件的動態(tài)檢測
- 一種工業(yè)控制軟件構(gòu)建方法和軟件構(gòu)建系統(tǒng)
- 可替換游戲軟件與測驗軟件的裝置與方法





