[發(fā)明專利]一種基于XML的SCPI命令解析方法在審
| 申請(qǐng)?zhí)枺?/td> | 201310561418.5 | 申請(qǐng)日: | 2013-11-04 |
| 公開(公告)號(hào): | CN103559296A | 公開(公告)日: | 2014-02-05 |
| 發(fā)明(設(shè)計(jì))人: | 郭同華;劉洪慶;李云彬;孫龍;陳秋偉 | 申請(qǐng)(專利權(quán))人: | 中國(guó)電子科技集團(tuán)公司第四十一研究所 |
| 主分類號(hào): | G06F17/30 | 分類號(hào): | G06F17/30 |
| 代理公司: | 暫無(wú)信息 | 代理人: | 暫無(wú)信息 |
| 地址: | 266555 山東省*** | 國(guó)省代碼: | 山東;37 |
| 權(quán)利要求書: | 查看更多 | 說(shuō)明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 基于 xml scpi 命令 解析 方法 | ||
技術(shù)領(lǐng)域
本發(fā)明屬于測(cè)試技術(shù)領(lǐng)域,尤其涉及的是一種基于XML的SCPI命令解 析方法。
背景技術(shù)
SCPI(The?Standard?Commands?for?Programmable?Instruments)是 測(cè)試測(cè)量?jī)x器程控命令的重要標(biāo)準(zhǔn),在各種程控測(cè)試測(cè)量?jī)x器中得到了廣 泛的應(yīng)用,使用SCPI標(biāo)準(zhǔn)也是可程控儀器的發(fā)展趨勢(shì)。在儀器接收到SCPI 命令后,依據(jù)SCPI命令語(yǔ)法格式規(guī)范在SCPI命令集中解析命令語(yǔ)句,得 到命令編碼、參數(shù)類型、參數(shù)值、參數(shù)單位等信息,來(lái)完成命令要求的操 作。
要使用SCPI命令來(lái)控制儀器,首先是對(duì)用戶輸入的SCPI命令進(jìn)行翻 譯成為儀器可以識(shí)別的語(yǔ)言,即SCPI命令解析。由于SCPI采用樹形分級(jí) 結(jié)構(gòu),每一級(jí)由一系列相關(guān)測(cè)試指令構(gòu)成,在SCPI解析器的設(shè)計(jì)時(shí),需要 構(gòu)建一定存儲(chǔ)結(jié)構(gòu)的命令樹和編寫相關(guān)遍歷程序。要?jiǎng)?chuàng)建SCPI命令樹,先 要將命令關(guān)鍵字保存成格式化文本文件或保存在數(shù)據(jù)庫(kù)中,在創(chuàng)建命令樹 時(shí)掃描文件或操作數(shù)據(jù)庫(kù),讀取命令關(guān)鍵字的信息,將命令關(guān)鍵字轉(zhuǎn)換為 SCPI標(biāo)準(zhǔn)格式表示,然后根據(jù)命令的等級(jí)構(gòu)造命令樹;并且在參數(shù)和后綴 的處理上,不同儀器的處理方式差異極大,要實(shí)現(xiàn)統(tǒng)一處理還需要各種數(shù) 據(jù)類型的轉(zhuǎn)化程序??梢奡CPI解析過(guò)程復(fù)雜易出錯(cuò),復(fù)用困難,解析器結(jié) 構(gòu)復(fù)雜。
SCPI解釋器的功能主要是對(duì)輸入指令進(jìn)行解析,將使用SCPI命令編寫 的程控消息翻譯成儀器可識(shí)別的代碼,其主要步驟包括兩部分:一是SCPI 命令集的創(chuàng)建和存儲(chǔ);二是對(duì)程控消息進(jìn)行分析和查詢。
創(chuàng)建命令樹的過(guò)程,就是把數(shù)字示波器的SCPI命令集按照一定的結(jié)構(gòu), 創(chuàng)建成供查詢使用的命令樹。這個(gè)階段要求實(shí)現(xiàn):輸入的是包含數(shù)字示波 器所有的SCPI命令關(guān)鍵字的1個(gè)格式化文本文件,輸出的是1棵按規(guī)則創(chuàng) 建的命令樹。由于SCPI命令采用樹狀結(jié)構(gòu),具有很多子系統(tǒng),每一個(gè)子系 統(tǒng)又具有很多子命令,因此需要構(gòu)建一定存儲(chǔ)結(jié)構(gòu)的命令樹和編寫相關(guān)遍 歷程序。常用的SCPI解釋器設(shè)計(jì)方法有自動(dòng)生成法、字符串比較法等。自 動(dòng)生成法是利用UNIX系統(tǒng)下的兩個(gè)工具LEX和YACC來(lái)生成的,主要針對(duì) UNIX系統(tǒng)。與自動(dòng)生成法相比,字符串比較法適用范圍廣,占用存儲(chǔ)資源 少,獲得的性能也優(yōu)于自動(dòng)生成法。
命令查找的過(guò)程就是根據(jù)用戶輸入的SCPI命令,遍歷命令樹,得到命 令的內(nèi)碼和參數(shù)信息,通過(guò)進(jìn)行字符串比較,在同一層次中由前到后,對(duì) 命令樹結(jié)點(diǎn)遍歷來(lái)完成的。對(duì)用戶輸入的SCPI命令字符串,判斷命令字符 串首字符以確定是公用命令還是SCPI儀器特定控制命令;接著開始命令查 詢,如果能找到完全匹配的命令,則取出其命令號(hào)并返回;最后根據(jù)命令 號(hào)執(zhí)行相關(guān)目標(biāo)代碼并處理結(jié)果數(shù)據(jù)。
由于SCPI采用樹形分級(jí)結(jié)構(gòu),每一級(jí)由一系列相關(guān)測(cè)試指令構(gòu)成,在 SCPI解析器的設(shè)計(jì)時(shí),需要構(gòu)建一定存儲(chǔ)結(jié)構(gòu)的命令樹和編寫相關(guān)遍歷程 序。要?jiǎng)?chuàng)建SCPI命令樹,先要將命令關(guān)鍵字保存成格式化文本文件或保存 在數(shù)據(jù)庫(kù)中,在創(chuàng)建命令樹時(shí)掃描文件或操作數(shù)據(jù)庫(kù),讀取命令關(guān)鍵字的 信息,將命令關(guān)鍵字轉(zhuǎn)換為SCPI標(biāo)準(zhǔn)格式表示,然后根據(jù)命令的等級(jí)構(gòu)造 命令樹;并且在參數(shù)和后綴的處理上,不同儀器的處理方式差異極大,要 實(shí)現(xiàn)統(tǒng)一處理還需要各種數(shù)據(jù)類型的轉(zhuǎn)化程序??梢奡CPI解析過(guò)程復(fù)雜易 出錯(cuò),復(fù)用困難,解析器結(jié)構(gòu)復(fù)雜。
因此,現(xiàn)有技術(shù)存在缺陷,需要改進(jìn)。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題是針對(duì)現(xiàn)有技術(shù)的不足,提供一種基于XML 的SCPI命令解析方法。
本發(fā)明的技術(shù)方案如下:
一種基于XML的SCPI命令解析方法,其中,包括以下步驟:
步驟1:采用XML文檔描述SCPI命令;設(shè)置采用XML文檔來(lái)描述SCPI 命令樹;
步驟2:判斷是否接收到SCPI命令,是則進(jìn)入步驟3,否則繼續(xù)判斷是 否接收到SCPI命令;
步驟3:查詢XML文檔,判斷是否有匹配項(xiàng);根據(jù)接收到的SCPI命令, 分離SCPI命令關(guān)鍵字,在XML文檔同一層次中查詢與之匹配 的節(jié)點(diǎn);若查詢到與之匹配的節(jié)點(diǎn),則取下一級(jí)關(guān)鍵字,在此 節(jié)點(diǎn)的子節(jié)點(diǎn)中查詢,直到最后一個(gè)SCPI命令關(guān)鍵字后進(jìn)入 步驟4;若查詢不到與之匹配的節(jié)點(diǎn),則判定為未找到匹配項(xiàng), 進(jìn)入步驟2;
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于中國(guó)電子科技集團(tuán)公司第四十一研究所,未經(jīng)中國(guó)電子科技集團(tuán)公司第四十一研究所許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310561418.5/2.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專利網(wǎng)。
- 同類專利
- 專利分類
G06F 電數(shù)字?jǐn)?shù)據(jù)處理
G06F17-00 特別適用于特定功能的數(shù)字計(jì)算設(shè)備或數(shù)據(jù)處理設(shè)備或數(shù)據(jù)處理方法
G06F17-10 .復(fù)雜數(shù)學(xué)運(yùn)算的
G06F17-20 .處理自然語(yǔ)言數(shù)據(jù)的
G06F17-30 .信息檢索;及其數(shù)據(jù)庫(kù)結(jié)構(gòu)
G06F17-40 .數(shù)據(jù)的獲取和記錄
G06F17-50 .計(jì)算機(jī)輔助設(shè)計(jì)
- Java中的XML類型
- 數(shù)據(jù)庫(kù)中XML模式的原地演進(jìn)
- 在標(biāo)記語(yǔ)言環(huán)境中使用可撤消命令來(lái)編輯文檔的文檔處理和管理方法
- XML文檔管理系統(tǒng)及其方法與XML文檔訪問控制方法
- 用于處理用于在XML數(shù)據(jù)庫(kù)中存儲(chǔ)的非XML文檔的方法和系統(tǒng)
- 一種XML元數(shù)據(jù)對(duì)象化解析方法及系統(tǒng)
- 一種XML信息獲取方法和系統(tǒng)
- 將XML文檔自動(dòng)轉(zhuǎn)化為OML文檔的轉(zhuǎn)換方法及裝置
- XML數(shù)據(jù)的處理方法和裝置
- 一種XML注入漏洞檢測(cè)與防御方法
- 一種基于USBTMC協(xié)議規(guī)范的LED顏色及亮度的檢測(cè)設(shè)備
- 一種基于USBTMC協(xié)議規(guī)范的LED顏色及亮度的檢測(cè)設(shè)備
- 一種基于XML的SCPI命令解析方法
- 一種實(shí)現(xiàn)快速解析基于SCPI協(xié)議的通信指令的方法
- 一種SCPI命令定義、解析、執(zhí)行和測(cè)試的方法
- 應(yīng)用于測(cè)量?jī)x器的數(shù)據(jù)資源配置管理方法
- 一種多功能測(cè)量?jī)x器程控命令處理方法
- 一種SCPI命令的解析方法及裝置
- 一種MODBUS 轉(zhuǎn)SCPI通訊終端
- 一種板卡的自動(dòng)測(cè)試方法





