亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種動態(tài)協(xié)議的配置與解析方法及裝置的制作方法

文檔序號:7577996閱讀:166來源:國知局
專利名稱:一種動態(tài)協(xié)議的配置與解析方法及裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及計算機應(yīng)用和集成電路裝備技術(shù)領(lǐng)域,特別涉及一種動態(tài)協(xié)議的配置 與解析方法及裝置。
背景技術(shù)
隨著集成電路芯片集成度的不斷提升和芯片功能的不斷提高,人們對工藝的要求 越來越高。在半導(dǎo)體制造裝備的研究、開發(fā)和測試工作中,包括硬件和軟件的研發(fā)。開發(fā)軟 件中大部分是設(shè)備控制軟件,這些軟件在進行測試時,需要首先在仿真環(huán)境下進行驗證,而 單純?yōu)槟骋粋€項目開發(fā)軟件測試平臺不僅耗時過大而且可重用性很差,為了提高軟件測試 的效率和準確定位系統(tǒng)所存在問題,迫切需要一個通用的軟件測試平臺系統(tǒng)。需要提供各 項目使用的所有硬件的仿真程序,使開發(fā)出來的軟件能在此基礎(chǔ)之上運行,從而進行測試。在半導(dǎo)體制造裝備的研究、開發(fā)和測試工作中,仿真具有重要作用。一方面,由于 生產(chǎn)過程控制本身的復(fù)雜性,對理論研究不斷提出新的要求,而理論研究需提高設(shè)備的利 用率。要借助于仿真工具;另一方面,面對各種系統(tǒng)控制軟件包,需要現(xiàn)成的仿真平臺,全面 反映算法在實際生產(chǎn)運行中的效果,得到有指導(dǎo)意義的算法改進策略、參數(shù)在線調(diào)整方法 等。仿真平臺的使用,能夠準確測試設(shè)備控制系統(tǒng)軟件,可以減少控制系統(tǒng)軟件執(zhí)行與集成 電路制造工藝過程的失敗,能解決集成電路工藝設(shè)備的工藝穩(wěn)定性,工藝可靠性,減少設(shè)備 維修時間,最大程度的提高設(shè)備的利用率。在半導(dǎo)體制造裝備中,半導(dǎo)體設(shè)備的控制端與設(shè)備端的通信模式有多種方式,并 且通信模式的命令格式與數(shù)據(jù)幀是不斷變化的,沒有一種固定的模式,因此不便于仿真設(shè) 備與控制端通信的管理。

發(fā)明內(nèi)容
本發(fā)明的目的旨在至少解決上述技術(shù)缺陷之一,特別提出一種通用性強、配置簡 單的動態(tài)協(xié)議的配置與解析方法及裝置。為達到上述目的,本發(fā)明第一方面的實施例提供了一種動態(tài)協(xié)議的配置與解析方 法,包括如下步驟配置并保存動態(tài)協(xié)議的命令的有效信息提取方式和命令的解析方式,其中,所述 命令以所述動態(tài)協(xié)議規(guī)定的格式發(fā)送;根據(jù)所述有效信息提取方式提取所述命令的有效信息;以及根據(jù)所述命令的解析方式解析所述命令的有效信息,并根據(jù)解析結(jié)果執(zhí)行相應(yīng)的 仿真動作。根據(jù)本發(fā)明實施例的動態(tài)協(xié)議的配置與解析方法,可以對復(fù)雜的通信命令格式和 數(shù)據(jù)幀進行配置,并且可以將復(fù)雜的命令格式和數(shù)據(jù)幀的不同有效信息動態(tài)的解析出來。 本發(fā)明的動態(tài)協(xié)議的配置與解析方法通用性強,配置過程簡單,克服了不同通信模式傳輸 數(shù)據(jù)格式的歸一化問題。
本發(fā)明第二方面的實施例提供了一種動態(tài)協(xié)議的配置與解析裝置,包括配置模 塊,所述配置模塊用于配置并保存動態(tài)協(xié)議的命令的有效信息提取方式和命令的解析方 式,其中,所述命令以所述動態(tài)協(xié)議規(guī)定的格式發(fā)送;提取模塊,所述提取模塊用于根據(jù)所 述有效信息提取方式提取所述命令的有效信息;以及解析模塊,所述解析模塊用于根據(jù)所 述命令的解析方式解析所述命令的有效信息,并根據(jù)解析結(jié)果執(zhí)行相應(yīng)的仿真動作。根據(jù)本發(fā)明實施例的動態(tài)協(xié)議的配置與解析裝置,可以對復(fù)雜的通信命令格式和 數(shù)據(jù)幀進行配置,并且可以將復(fù)雜的命令格式和數(shù)據(jù)幀的不同有效信息動態(tài)的解析出來。 本發(fā)明的動態(tài)協(xié)議的配置與解析裝置通用性強,配置簡單,克服了不同通信模式傳輸數(shù)據(jù) 格式的歸一化問題。本發(fā)明附加的方面和優(yōu)點將在下面的描述中部分給出,部分將從下面的描述中變 得明顯,或通過本發(fā)明的實踐了解到。


本發(fā)明上述的和/或附加的方面和優(yōu)點從下面結(jié)合附圖對實施例的描述中將變 得明顯和容易理解,其中圖1為根據(jù)本發(fā)明實施例的動態(tài)協(xié)議的配置與解析方法的流程圖;圖2為根據(jù)本發(fā)明實施例的動態(tài)協(xié)議的配置流程圖;圖3為根據(jù)本發(fā)明實施例的有效信息提取方式的配置示意圖;圖4為根據(jù)本發(fā)明實施例的命令包含屬性名稱和屬性值的命令的解析方式的配 置示意圖;圖5為根據(jù)本發(fā)明實施例的只包含屬性值的命令的解析方式的配置示意圖;圖6為根據(jù)本發(fā)明實施例的有效信息提取的流程圖;圖7為根據(jù)本發(fā)明實施例的命令運行的流程圖;圖8為根據(jù)本發(fā)明實施例的動態(tài)協(xié)議的解析流程圖;以及圖9為根據(jù)本發(fā)明實施例的動態(tài)協(xié)議的配置與解析裝置的示意圖。
具體實施例方式下面詳細描述本發(fā)明的實施例,所述實施例的示例在附圖中示出,其中自始至終 相同或類似的標(biāo)號表示相同或類似的元件或具有相同或類似功能的元件。下面通過參考附 圖描述的實施例是示例性的,僅用于解釋本發(fā)明,而不能解釋為對本發(fā)明的限制。本發(fā)明提供的動態(tài)協(xié)議的配置與解析方法是基于Windows XP操作系統(tǒng),采用 Visual 1實現(xiàn)的。該動態(tài)協(xié)議的配置與解析方法可以運用于半導(dǎo)體制造裝備功能仿真平 臺,可以完成半導(dǎo)體設(shè)備通信命令格式歸一化配置與解析功能,并且在配置界面可以配置 不同復(fù)雜命令的特殊格式以及有效信息,能夠正確實時的解析這些命令。當(dāng)然本領(lǐng)域技術(shù) 人員可以理解的是,本發(fā)明提供的動態(tài)協(xié)議的配置與解析方法不限于此,還可以運用于其 它仿真平臺。在半導(dǎo)體制造裝備的仿真平臺中采用下述五種動態(tài)協(xié)議以太網(wǎng)協(xié)議、串口協(xié)議、 模擬IO協(xié)議、數(shù)字IO協(xié)議、DeviceNet協(xié)議。由于模擬IO協(xié)議、數(shù)字IO協(xié)議和DeviceNet 協(xié)議均由規(guī)范的命令格式和數(shù)據(jù)幀,因此不屬于復(fù)雜的命令。以太網(wǎng)協(xié)議和串口協(xié)議根據(jù)不同的設(shè)備具有不同的命令格式。表1示出了一種命令格式。表1
通信命令 OxOD字符通信命令+OxOd結(jié)尾組成了一條完整的命令。而對于不同的通信命令,長度和有 效信息是不同的。下面參考圖1至圖8描述根據(jù)本發(fā)明實施例的動態(tài)協(xié)議的配置與解析方法。如圖1所示,根據(jù)本發(fā)明實施例的動態(tài)協(xié)議的配置與解析方法,包括如下步驟SlOl 配置并保存動態(tài)協(xié)議的命令的有效信息提取方式和命令的解析方式;在本發(fā)明的實施例中,用戶可以通過配置界面進行可視化操作。如圖2所示,對于動態(tài)協(xié)議的配置包括兩部分配置如何提取命令有效信息和配 置命令的解析方式。其中,命令是以動態(tài)協(xié)議規(guī)定的格式發(fā)送。SlOll 進入動態(tài)協(xié)議配置界面;首先進入動態(tài)協(xié)議的配置界面,開始對動態(tài)協(xié)議進行配置。S1012 配置命令的有效信息提取方式;一條命令包含有很多信息,其中包括用戶需要的有效信息和用戶不需要的無效信 息。用戶需要從眾多信息中提取對自己有用的有效信息。在本步驟中,實現(xiàn)對提取這部分有 效信息的提取方式的配置。具體而言,如圖3所示,配置以下三個部分結(jié)束符(Moptype)、 間隔符(Interval)和開始字節(jié)(Mart)。1)結(jié)束符(Stoptype)在仿真端,將結(jié)束符配置在命令的結(jié)束端,結(jié)束符用于指示該命令已經(jīng)結(jié)束。命令 例如為GOTO N 2+0x0d,0x0d表示該條命令的結(jié)束符。在解析該條命令時,當(dāng)讀取到結(jié)束符 (如OxOd)時,則在結(jié)束符之前的信息內(nèi)容即為一條完整的命令。當(dāng)命令中不包含由結(jié)束符 時,可以將結(jié)束符設(shè)置為空。2)間隔符(Interval)由于在一條命令中包含有很多信息,對于不同的信息需要利用特殊符號進行分 隔。因此,在仿真端將間隔符配置在命令的不同信息之間,間隔符用于對該條命令中的不同 信息進行分隔。命令例如為GOTO N 2R EX,其中,GOTO表示該條命令的命令名稱,N和R表 示設(shè)備的屬性名稱,2和EX表示對應(yīng)屬性名稱的屬性值。命令名稱、屬性名稱和屬性值為 不同的信息,需要在它們之間插入間隔符。在該條命令中,間隔符為“空格”。當(dāng)然本領(lǐng)域技 術(shù)人員可以理解的是,間隔符不限于此。通過設(shè)置間隔符,可以方便的提取命令中的有效信 肩、ο3)開始字節(jié)在仿真端,除了需要配置指示命令結(jié)束的結(jié)束符,還需要配置指示命令開始的開 始字節(jié),開始字節(jié)配置在命令的開始端。當(dāng)檢測到開始字節(jié)時,判斷該條命令開始。在本發(fā) 明的一個實施例中,采用數(shù)字(如1,2,3...)指定開始字節(jié)的位置。命令例如為GOTO N 2R EX,當(dāng)開始字節(jié)設(shè)置為1時,則從第一個字節(jié)“G”開始提取命令的有效信息。當(dāng)開始字節(jié)設(shè) 置為2時,則從第二個字節(jié)“0”開始提取命令的有效信息,以此類推。
S1013 配置命令的解析方式。對于復(fù)雜的控制命令,命令中的信息內(nèi)容不斷變化,沒有固定的規(guī)律。命令具有多 種情況,如命令中同時攜帶有屬性名稱和屬性值、命令中只攜帶有屬性值或者命令中只攜 帶有命令名稱等。根據(jù)命令中信息內(nèi)容的不同情況,提供以下兩種命令的解析方式進行配置。1)當(dāng)命令同時攜帶有屬性名稱和屬性值時,配置命令的解析方式為$m+n =¥p+q,其中,$表示屬性名稱,Y表示屬性值,第m+i*n-l個間隔符和第m+i*n個間隔符 之間的信息為屬性名稱,第P+j*q_l個間隔符和第P+j*q個間隔符之間的信息為屬性值,其 中,i和j均為零或正整數(shù),m、n、p、q均為正整數(shù)。如圖4所示,下面以GOTO N 2 R EX T UP命令進行說明,其中,GOTO為命令名稱, N、R、T為屬性名稱,2、EX、UP為屬性值。該條命令用于將N賦值2,R賦值EX以及將T賦值 UP。為實現(xiàn)上述命令,配置如下命令解析方式,$2+2 =¥3+2,即m = 2,n = 2,ρ = 3,q = 2。其中,$2表示第1個間隔符和第2個間隔符之間的信息內(nèi)容為屬性名稱,+2表示第4,
第6,第8......以此類推,在$2的基礎(chǔ)上,加上2的整數(shù)倍的位置的間隔符與相應(yīng)的前一
個間隔符之間的信息內(nèi)容均為屬性名稱;Y3表示第2個間隔符和第3個間隔符之間的信
息內(nèi)容為屬性值,+2表示第5,第7......以此類推,在Y3的基礎(chǔ)上,加上2的整數(shù)倍的位
置的間隔符與相應(yīng)的前一個間隔符之間的信息均為屬性值?!?”表示將第3個位置上的屬 性值賦予第2個位置上的屬性名稱,第5個位置上的屬性值賦予第4個位置上的屬性名稱, 以此類推,從而完整的解析出該命令所表示的含義。命令例如為GOTO N 2,則命令的解析方式配置為$2+0 =¥3+0,其中m = 2,η = 0,ρ = 3,q = 0。其中,$2表示第1個間隔符和第2個間隔符中的信息內(nèi)容為屬性名稱; ¥3表示第2個間隔符和第3個間隔符之間的信息內(nèi)容為屬性值。“=”表示將第3個位置 上的屬性值賦予第2個位置上的屬性名稱。2)當(dāng)命令只攜帶有屬性值時,首先配置命令的屬性名稱,然后根據(jù)命令屬性名稱 和屬性值,配置命令的解析方式為屬性名稱=Yu,其中,Y表示屬性值,第U-I個間隔符和第u個間隔符之間的信息為屬性值,“=” 表示將第u-1個間隔符和第u個間隔符之間的屬性值賦值給屬性名稱P,其中,屬性名稱可 以為一個或多個,u為正整數(shù)。如圖5所示,下面HOME 100 200 300命令進行說明,其中HOME為命令名稱,100、 200和300分別為屬性值。該條命令所要執(zhí)行的動作為將屬性值100賦予屬性名稱P1,屬 性值200賦予屬性名稱P2,屬性值300賦予屬性名稱P3,P1、P2和P3為預(yù)先配置完成的屬 性名稱。為實現(xiàn)上述命令的動作,配置如下的命令解析方式P1 =Y2、P2 =Υ3、Ρ3 =¥4, 即對于屬性名稱Pl,u = 2 ;對于屬性名稱P2,u = 3 ;對于屬性名稱P3,u = 3。Y2表示第 1個間隔符和第2個間隔符之間的信息內(nèi)容為屬性值,Y3表示第2個間隔符和第3個間 隔符之間的信息內(nèi)容為屬性值,Y4表示第3個間隔符和第4個間隔符之間的信息內(nèi)容為 屬性值。Pl =¥2表示將屬性值100賦予屬性名稱P1,P2 = Y3表示將屬性值200賦予屬 性名稱P2,P3 =¥4表示將屬性值300賦予屬性名稱P3。
根據(jù)命令的不同復(fù)雜程度及不同的復(fù)雜要求,上述兩種命令解析方式可以任意組 合。在本發(fā)明的一個實施例中,命令的解析方式可以為以上兩種方式中的至少一種。將上述配置完成的命令的有效信息和命令的解析方式采用簡明且易維護的配置 文件格式進行管理和保存。在本發(fā)明的一個實施例中,對配置信息采用XML格式進行管理 和保存,從而方便用戶查找和讀取。當(dāng)然本領(lǐng)域技術(shù)人員可以理解的是,配置信息也可以采 用其他簡明、易維護的文件格式進行管理和保存。S102 根據(jù)有效信息提取方式提取命令的有效信息;如圖6所示,根據(jù)步驟101中配置的有效信息提取方式提取命令的有效信息包括 如下步驟S1021 查找開始字節(jié);首先對命令進行輪詢,查找符合配置的開始字節(jié)。S1022 查找結(jié)束符;根據(jù)查找到的開始字節(jié),向后查找直到找到符合配置的結(jié)束符。如果在命令中沒 有查找到符合配置的開始字節(jié)和結(jié)束符,則不做任何處理。S1023 提取開始字節(jié)與結(jié)束符之間的內(nèi)容;提取開始字節(jié)與結(jié)束符之間的信息內(nèi)容。S1024 查找間隔符;在步驟1023中提取得到的信息內(nèi)容中,查找符合配置的間隔符。S1025 將間隔符之間的有效信息提取出來放入鏈表;將間隔符之間的有效信息、第一個間隔符之前的有效信息以及最后一個間隔符之 后的有消息性能提取出來存在有效信息鏈表中。S1026 傳遞有效信息鏈表,等待解析。傳遞上述有效信息鏈表,等待下一步的解析過程。S103 根據(jù)命令的解析方式解析命令的有效信息,并根據(jù)解析結(jié)果執(zhí)行相應(yīng)的仿
真動作。根據(jù)已配置的命令的解析方式解析命令的有效信息,即設(shè)備根據(jù)該命令需要執(zhí)行 的動作。如圖7所示,首先執(zhí)行步驟1031,解析命令的有效信息,然后執(zhí)行步驟1032,由設(shè) 備根據(jù)解析后的命令的有效信息執(zhí)行相應(yīng)的動作。下面參考圖8對解析命令的有效信息的過程進行說明。Al 判斷命令中是否包括屬性名稱,當(dāng)判斷命令中包含屬性名稱時,執(zhí)行All ;否 則執(zhí)行A21 ;當(dāng)判斷命令中包括屬性名稱時,采用$m+n =¥p+q的命令的解析方式對命令進行解析。All 提取第一個$m+n對應(yīng)的有效信息;在有效信息鏈表中提取第m-1個間隔符和第m個間隔符之間的屬性名稱。A12:判斷該有效信息是否為設(shè)備屬性名稱,如果有效信息為設(shè)備屬性名稱,則執(zhí) 行A13;否則結(jié)束解析過程;A13 獲得該屬性類型;
A14 提取第一個Yp+q對應(yīng)的有效信息;在有效信息鏈表中提取第p-1個間隔符和第ρ個間隔符之間的屬性值。A15 將該有效信息轉(zhuǎn)換為對應(yīng)的屬性值類型;將提取得到的第p-1個間隔符和第ρ個間隔符之間的屬性值轉(zhuǎn)換為與第m-1個間 隔符和第m個間隔符之間的屬性名稱對應(yīng)的屬性值類型。A16 將轉(zhuǎn)換后的有效信息賦值給對應(yīng)的屬性;將第p-1個間隔符和第ρ個間隔符之間的屬性值賦值給第m-1個間隔符和第m個 間隔符之間的屬性名稱。A17 提取第二個$m+n對應(yīng)的有效信息;在有效信息鏈表中提取第m+η-Ι個間隔符和第m+n個間隔符之間的屬性名稱。采用如上所述方法提取第二個Yp+q對應(yīng)的有效信息,即第ρ+q-l個間隔符和第 P+q個間隔符之間的屬性值,將該屬性值轉(zhuǎn)換為與m+η-Ι個間隔符和第m+n個間隔符之間的 屬性名稱對應(yīng)的屬性值類型。相應(yīng)的將第Ρ+q-l個間隔符和第P+q個間隔符之間的屬性值 賦值給第m+η-Ι個間隔符和第m+n個間隔符之間的屬性名稱。A18 將轉(zhuǎn)換后的有效信息賦值給對應(yīng)的屬性;采用如上所述的方法,將第p+j*q_l個間隔符和第p+j*q個間隔符之間的屬性值 轉(zhuǎn)換為相應(yīng)的第m+i*n-l個間隔符和第m+i*n個間隔符之間的屬性名稱的屬性值類型,并 將第P+j*q_l個間隔符和第P+j*q個間隔符之間的屬性值賦值給對應(yīng)的屬性名稱。下面以GOTO N 2 R EX T UP命令進行說明,其中命令的解析方式為$2+2 =¥3+2, 其中有效信息GOTO、N、2、R、EX、Τ、UP已經(jīng)被提取出來存放在有效信息鏈表中。首先提取 $2對應(yīng)的有效信息N,然后在配置過的設(shè)備屬性中查找是否存在N這個屬性名稱,如果沒有 則直接結(jié)束解析過程;如果有,則先獲取該屬性對應(yīng)的屬性值類型(如INT、STRING、FLOAT、 DOUBLE...),然后提取Y3對應(yīng)的有效信息2,將2轉(zhuǎn)換為N對應(yīng)的屬性類型,最后將轉(zhuǎn)換后 的屬性值賦值給屬性名稱N。解析之后N的值為2,以此類推,執(zhí)行R = EX、T = UP。A21 提取第一個Yp+q對應(yīng)的有效信息;在有效信息鏈表中提取第p-1個間隔符和第ρ個間隔符之間的屬性值。A22 獲得該有效信息對應(yīng)的屬性值類型;A23 將該有效信息轉(zhuǎn)換為對應(yīng)的屬性值類型;將提取得到的第p-1個間隔符和第ρ個間隔符之間的屬性值轉(zhuǎn)換為與屬性名稱對 應(yīng)的屬性值類型。A24 將轉(zhuǎn)換后的有效信息賦值給對應(yīng)的屬性;將轉(zhuǎn)換后的第p-1個間隔符和第ρ個間隔符之間的屬性值賦值給對應(yīng)的屬性名 稱。A25 提取第二個Yp+q對應(yīng)的有效信息;在有效信息鏈表中提取第ρ+q-l個間隔符和第p+q個間隔符之間的屬性值,獲得 該有效信息對應(yīng)的屬性值類型,將提取得到的第Ρ+q-l個間隔符和第P+q個間隔符之間的 屬性值轉(zhuǎn)換為與屬性名稱對應(yīng)的屬性值類型,將轉(zhuǎn)換后的第Ρ+q-l個間隔符和第P+q個間 隔符之間的屬性值賦值給對應(yīng)的屬性名稱。A26 將轉(zhuǎn)換后的有效信息賦值給對應(yīng)的屬性。
采用如上所述的方法,將第p+j*q_l個間隔符和第p+j*q個間隔符之間的屬性值 轉(zhuǎn)換為相應(yīng)的屬性名稱對應(yīng)的屬性值類型,并將第P+j*q_l個間隔符和第P+j*q個間隔符 之間的屬性值賦值給對應(yīng)的屬性名稱。下面以HOME 100 200 300命令進行說明,其中命令的解析方式為Pl =¥2,P2 = ¥3,P3 =¥40其中,有效信息H0ME、100、200和300已經(jīng)被提取出來存放在有效信息鏈表 中。首先提取Y2對應(yīng)的有效信息100,然后獲取Pl對應(yīng)的屬性值類型(如INT、STRING、 FLOAT、DOUBLE...),然后將屬性值100轉(zhuǎn)換為Pl對應(yīng)的屬性類型,最后將轉(zhuǎn)換之后的值賦 予屬性名稱P1,解析之后Pl = 100,相應(yīng)的有,P2 = 200、P3 = 300。根據(jù)本發(fā)明實施例的動態(tài)協(xié)議的配置與解析方法,可以對復(fù)雜的通信命令格式和 數(shù)據(jù)幀進行配置,并且可以將復(fù)雜的命令格式和數(shù)據(jù)幀的不同有效信息動態(tài)的解析出來。 本發(fā)明的動態(tài)協(xié)議的配置與解析方法通用性強,配置過程簡單,克服了不同通信模式傳輸 數(shù)據(jù)格式的歸一化問題。下面參考圖9描述根據(jù)本發(fā)明實施例的動態(tài)協(xié)議的配置與解析裝置900。本發(fā)明提供的動態(tài)協(xié)議的配置與解析裝置900基于Windows XP操作系統(tǒng),采用 Visual C#實現(xiàn)。該動態(tài)協(xié)議的配置與解析裝置900可以運用于半導(dǎo)體制造裝備功能仿真 平臺,可以完成半導(dǎo)體設(shè)備通信命令格式歸一化配置與解析功能,并且在配置界面可以配 置不同復(fù)雜命令的特殊格式以及有效信息,能夠正確實時的解析這些命令。當(dāng)然本領(lǐng)域技 術(shù)人員可以理解的是,本發(fā)明提供的動態(tài)協(xié)議的配置與解析裝置900不限于此,還可以運 用于其它仿真平臺。在半導(dǎo)體制造裝備的仿真平臺中采用下述五種動態(tài)協(xié)議以太網(wǎng)協(xié)議、串口協(xié)議、 模擬IO協(xié)議、數(shù)字IO協(xié)議、DeviceNet協(xié)議。如圖9所示,本發(fā)明實施例的動態(tài)協(xié)議的配置與解析裝置900,包括配置模塊910, 其中配置模塊910用于配置并保存動態(tài)協(xié)議的命令的有效信息提取方式和命令的解析方 式,其中,命令是以動態(tài)協(xié)議規(guī)定的格式發(fā)送;提取模塊920,其中提取模塊920用于根據(jù)有 效信息提取方式提取命令的有效信息;以及解析模塊930,其中解析模塊930用于根據(jù)命令 的解析方式解析所述命令的有效信息,并根據(jù)解析結(jié)果執(zhí)行相應(yīng)的仿真動作。配置模塊910對議的命令的有效信息提取方式和命令的解析方式進行配置,在本 發(fā)明的一個實施例中,配置模塊910可以為界面形式呈現(xiàn),方便用戶進行可視化操作。配置模塊910首先對有效信息的提取方式進行配置。具體而言,配置以下三個部 分結(jié)束符(Moptype)、間隔符(Interval)和開始字節(jié)(Mart)。1)結(jié)束符(Stoptype)在仿真端,配置模塊910將結(jié)束符配置在命令的結(jié)束端,結(jié)束符用于指示該命令 已經(jīng)結(jié)束。命令例如為GOTO N 2+0x0d,0x0d表示該條命令的結(jié)束符。在解析該條命令時, 當(dāng)讀取到結(jié)束符(如OxOd)時,則在結(jié)束符之前的信息內(nèi)容即為一條完整的命令。當(dāng)命令 中不包含由結(jié)束符時,可以將結(jié)束符設(shè)置為空。2)間隔符(Interval)由于在一條命令中包含有很多信息,對于不同的信息需要利用特殊符號進行分 隔。因此,在仿真端配置模塊910將間隔符配置在命令的不同信息之間,間隔符用于對該條 命令中的不同信息進行分隔。命令例如為GOTO N 2 R EX,其中,GOTO表示該條命令的命令名稱,N和R表示設(shè)備的屬性名稱,2和EX表示對應(yīng)屬性名稱的屬性值。命令名稱、屬性名 稱和屬性值為不同的信息,需要在它們之間插入間隔符。在該條命令中,間隔符為“空格”。 當(dāng)然本領(lǐng)域技術(shù)人員可以理解的是,間隔符不限于此。通過設(shè)置間隔符,可以方便的提取命 令中的有效信息。3)開始字節(jié)在仿真端,配置模塊910除了需要配置指示命令結(jié)束的結(jié)束符,還需要配置指示 命令開始的開始字節(jié),開始字節(jié)配置在命令的開始端。當(dāng)檢測到開始字節(jié)時,判斷該條命令 開始。在本發(fā)明的一個實施例中,采用數(shù)字(如1,2,3...)指定開始字節(jié)的位置。命令例 如為GOTO N 2 R EX,當(dāng)開始字節(jié)設(shè)置為1時,則從第一個字節(jié)“G”開始提取命令的有效信 息。當(dāng)開始字節(jié)設(shè)置為2時,則從第二個字節(jié)“0”開始提取命令的有效信息,以此類推。對于復(fù)雜的控制命令,命令中的信息內(nèi)容不斷變化,沒有固定的規(guī)律。命令具有多 種情況,如命令中同時攜帶有屬性名稱和屬性值、命令中只攜帶有屬性值或者命令中只攜 帶有命令名稱等。根據(jù)命令中信息內(nèi)容的不同情況,配置模塊910提供以下兩種命令的解析方式進 行配置。1)當(dāng)命令同時攜帶有屬性名稱和屬性值時,配置模塊910配置命令的解析方式 為$m+n =¥p+q,其中,$表示屬性名稱,Y表示屬性值,第m+i*n-l個間隔符和第m+i*n個間隔符 之間的信息為屬性名稱,第P+j*q_l個間隔符和第P+j*q個間隔符之間的信息為屬性值,其 中,i和j均為零或正整數(shù),m、n、p、q均為正整數(shù)。如圖4所示,下面以GOTO N 2 R EX T UP命令進行說明,其中,GOTO為命令名稱, N、R、T為屬性名稱,2、EX、UP為屬性值。該條命令用于將N賦值2,R賦值EX以及將T賦值 UP。為實現(xiàn)上述命令,配置模塊910配置如下命令解析方式,$2+2 =¥3+2,即m = 2,η = 2,p = 3,q = 2。其中,$2表示第1個間隔符和第2個間隔符之間的信息內(nèi)容為屬性名稱,
+2表示第4,第6,第8......以此類推,在$2的基礎(chǔ)上,加上2的整數(shù)倍的位置的間隔符
與相應(yīng)的前一個間隔符之間的信息內(nèi)容均為屬性名稱;Y3表示第2個間隔符和第3個間
隔符之間的信息內(nèi)容為屬性值,+2表示第5,第7......以此類推,在Y3的基礎(chǔ)上,加上2
的整數(shù)倍的位置的間隔符與相應(yīng)的前一個間隔符之間的信息均為屬性值?!?”表示將第3 個位置上的屬性值賦予第2個位置上的屬性名稱,第5個位置上的屬性值賦予第4個位置 上的屬性名稱,以此類推,從而完整的解析出該命令所表示的含義。命令例如為GOTO N 2,則配置模塊910配置命令的解析方式為$2+0 =¥3+0,其 中m = 2,n = 0,ρ = 3,q = 0。其中,$2表示第1個間隔符和第2個間隔符中的信息內(nèi)容 為屬性名稱;Y3表示第2個間隔符和第3個間隔符之間的信息內(nèi)容為屬性值。“=”表示 將第3個位置上的屬性值賦予第2個位置上的屬性名稱。2)當(dāng)命令只攜帶有屬性值時,配置模塊910首先配置命令的屬性名稱,然后根據(jù) 命令屬性名稱和屬性值,配置模塊910配置命令的解析方式為屬性名稱=Yu,其中,Y表示屬性值,第U-I個間隔符和第u個間隔符之間的信息為屬性值,“=”表示將第U-I個間隔符和第u個間隔符之間的屬性值賦值給屬性名稱P,其中,屬性名稱可 以為一個或多個,u為正整數(shù)。如圖5所示,下面HOME 100 200 300命令進行說明,其中HOME為命令名稱,100、 200和300分別為屬性值。該條命令所要執(zhí)行的動作為將屬性值100賦予屬性名稱P1,屬 性值200賦予屬性名稱P2,屬性值300賦予屬性名稱P3,P1、P2和P3為預(yù)先配置完成的屬 性名稱。為實現(xiàn)上述命令的動作,配置模塊910配置如下的命令解析方式P1 =Y2、P2 = Y3.P3 =¥4,即對于屬性名稱Pl,u = 2 ;對于屬性名稱P2,u = 3 ;對于屬性名稱P3,u = 3。¥2表示第1個間隔符和第2個間隔符之間的信息內(nèi)容為屬性值,Y3表示第2個間隔 符和第3個間隔符之間的信息內(nèi)容為屬性值,Y4表示第3個間隔符和第4個間隔符之間 的信息內(nèi)容為屬性值。Pl =¥2表示將屬性值100賦予屬性名稱P1,P2 =¥3表示將屬性 值200賦予屬性名稱P2,P3 =¥4表示將屬性值300賦予屬性名稱P3。根據(jù)命令的不同復(fù)雜程度及不同的復(fù)雜要求,上述兩種命令解析方式可以任意組 合。在本發(fā)明的一個實施例中,命令的解析方式可以為以上兩種方式中的至少一種。配置模塊910將上述配置完成的命令的有效信息和命令的解析方式采用簡明且 易維護的配置文件格式進行管理和保存。在本發(fā)明的一個實施例中,配置模塊910對配置 信息采用XML格式進行管理和保存,從而方便用戶查找和讀取。當(dāng)然本領(lǐng)域技術(shù)人員可以 理解的是,配置信息也可以采用其他簡明、易維護的文件格式進行管理和保存。提取模塊920首先對命令進行輪詢,查找符合配置的開始字節(jié)。根據(jù)查找到的開 始字節(jié),向后查找直到找到符合配置的結(jié)束符,如果在命令中沒有查找到符合配置的開始 字節(jié)和結(jié)束符,則不做任何處理。提取模塊920然后提取開始字節(jié)與結(jié)束符之間的信息內(nèi) 容,在提取得到的信息內(nèi)容中,查找符合配置的間隔符,將間隔符之間的有效信息、第一個 間隔符之前的有效信息以及最后一個間隔符之后的有消息性能提取出來存在有效信息鏈 表中,傳遞上述有效信息鏈表,等待下一步的解析過程。解析模塊930根據(jù)已配置的命令的解析方式解析命令的有效信息,即設(shè)備根據(jù)該 命令需要執(zhí)行的動作。解析模塊930首先解析命令的有效信息,然后由根據(jù)解析后的命令 的有效信息執(zhí)行相應(yīng)的動作。解析模塊930判斷命令中是否包括屬性名稱,當(dāng)判斷命令中包括屬性名稱時,采 用$m+n =¥p+q的命令的解析方式對命令進行解析。首先,解析模塊930提取第一個$m+n 對應(yīng)的有效信息,即在有效信息鏈表中提取第m-1個間隔符和第m個間隔符之間的屬性名 稱,判斷該有效信息是否為設(shè)備屬性名稱,如果有效信息為設(shè)備屬性名稱,則獲得該屬性類 型,否則結(jié)束解析過程。解析模塊930提取第一個Yp+q對應(yīng)的有效信息,即在有效信息鏈 表中提取第P-I個間隔符和第P個間隔符之間的屬性值。將提取得到的第P-I個間隔符和 第P個間隔符之間的屬性值轉(zhuǎn)換為與第m-1個間隔符和第m個間隔符之間的屬性名稱對應(yīng) 的屬性值類型。解析模塊930將轉(zhuǎn)換后的有效信息賦值給對應(yīng)的屬性,即將第p-1個間隔 符和第P個間隔符之間的屬性值賦值給第m-1個間隔符和第m個間隔符之間的屬性名稱。 然后解析模塊930采用如上所述的方法,將第p+j*q_l個間隔符和第p+j*q個間隔符之間 的屬性值轉(zhuǎn)換為相應(yīng)的第m+i*n-l個間隔符和第m+i*n個間隔符之間的屬性名稱的屬性值 類型,并將第P+j*q_l個間隔符和第P+j*q個間隔符之間的屬性值賦值給對應(yīng)的屬性名稱。下面以GOTO N 2 R EX T UP命令進行說明,其中命令的解析方式為$2+2 =¥3+2,其中有效信息GOTO、N、2、R、EX、Τ、UP已經(jīng)被提取出來存放在有效信息鏈表中。解析模塊 930首先提取$2對應(yīng)的有效信息N,然后在配置過的設(shè)備屬性中查找是否存在N這個屬性 名稱,如果沒有則直接結(jié)束解析過程;如果有,則先獲取該屬性對應(yīng)的屬性值類型(如INT、 STRING.FLOAT,DOUBLE...),然后解析模塊930提取Y3對應(yīng)的有效信息2,將2轉(zhuǎn)換為N對 應(yīng)的屬性類型,最后將轉(zhuǎn)換后的屬性值賦值給屬性名稱N。解析之后N的值為2,以此類推, 執(zhí)行 R = EX、T = UP。當(dāng)判斷命令中不包括屬性名稱時,解析模塊930采用屬性名稱=Yu的命令的解 析方式對命令進行解析。解析模塊930提取第一個Yp+q對應(yīng)的有效信息,即在有效信息鏈 表中提取第P-I個間隔符和第P個間隔符之間的屬性值,獲得該有效信息對應(yīng)的屬性值類 型。并將該有效信息轉(zhuǎn)換為對應(yīng)的屬性值類型,即將提取得到的第P-I個間隔符和第P個 間隔符之間的屬性值轉(zhuǎn)換為與屬性名稱對應(yīng)的屬性值類型。將轉(zhuǎn)換后的第P-I個間隔符和 第P個間隔符之間的屬性值賦值給對應(yīng)的屬性名稱。解析模塊930采用如上所述的方法, 將第P+j*q_l個間隔符和第P+j*q個間隔符之間的屬性值轉(zhuǎn)換為相應(yīng)的屬性名稱對應(yīng)的屬 性值類型,并將第P+j*q_l個間隔符和第P+j*q個間隔符之間的屬性值賦值給對應(yīng)的屬性 名稱。下面以HOME 100 200 300命令進行說明,其中命令的解析方式為Pl =¥2,P2 = ¥3,P3 =¥40其中,有效信息H0ME、100、200和300已經(jīng)被提取出來存放在有效信息鏈表 中。解析模塊930首先提取Y2對應(yīng)的有效信息100,然后獲取Pl對應(yīng)的屬性值類型(如 INT、STRING、FLOAT、DOUBLE...),然后解析模塊930將屬性值100轉(zhuǎn)換為Pl對應(yīng)的屬性類 型,最后將轉(zhuǎn)換之后的值賦予屬性名稱P1,解析之后Pl = 100,相應(yīng)的有,P2 = 200、P3 = 300。根據(jù)本發(fā)明實施例的動態(tài)協(xié)議的配置與解析裝置,可以對復(fù)雜的通信命令格式和 數(shù)據(jù)幀進行配置,并且可以將復(fù)雜的命令格式和數(shù)據(jù)幀的不同有效信息動態(tài)的解析出來。 本發(fā)明的動態(tài)協(xié)議的配置與解析裝置通用性強,配置簡單,克服了不同通信模式傳輸數(shù)據(jù) 格式的歸一化問題。在本說明書的描述中,參考術(shù)語“一個實施例”、“一些實施例”、“示例”、“具體示 例”、或“一些示例”等的描述意指結(jié)合該實施例或示例描述的具體特征、結(jié)構(gòu)、材料或者特 點包含于本發(fā)明的至少一個實施例或示例中。在本說明書中,對上述術(shù)語的示意性表述不 一定指的是相同的實施例或示例。而且,描述的具體特征、結(jié)構(gòu)、材料或者特點可以在任何 的一個或多個實施例或示例中以合適的方式結(jié)合。盡管已經(jīng)示出和描述了本發(fā)明的實施例,對于本領(lǐng)域的普通技術(shù)人員而言,可以 理解在不脫離本發(fā)明的原理和精神的情況下可以對這些實施例進行多種變化、修改、替換 和變型,本發(fā)明的范圍由所附權(quán)利要求及其等同限定。
權(quán)利要求
1.一種動態(tài)協(xié)議的配置與解析方法,其特征在于,包括如下步驟配置并保存動態(tài)協(xié)議的命令的有效信息提取方式和命令的解析方式,其中,所述命令 以所述動態(tài)協(xié)議規(guī)定的格式發(fā)送;根據(jù)所述有效信息提取方式提取所述命令的有效信息;以及根據(jù)所述命令的解析方式解析所述命令的有效信息,并根據(jù)解析結(jié)果執(zhí)行相應(yīng)的仿真 動作。
2.如權(quán)利要求1所述的配置與解析方法,其特征在于,所述動態(tài)協(xié)議包括以太網(wǎng)協(xié)議、 串口協(xié)議、模擬IO協(xié)議、數(shù)字IO協(xié)議和DeviceNet協(xié)議。
3.如權(quán)利要求2所述的配置與解析方法,其特征在于,所述配置所述命令的有效信息 提取方式,包括如下步驟將結(jié)束符配置在所述命令的結(jié)束端,所述結(jié)束符用于指示所述命令已結(jié)束;將間隔符配置在所述命令的不同信息之間,所述間隔符用于對所述命令中的不同信息 進行分隔;將開始字節(jié)配置在所述命令的開始端,所述開始字節(jié)用于指示所述命令已開始。
4.如權(quán)利要求3所述的配置與解析方法,其特征在于,所述命令的解析方式包括以下 兩種方式中的至少一種1)當(dāng)所述命令包括屬性名稱和屬性值時,所述命令的解析方式為$m+n = Yp+q,其中,$表示屬性名稱,Y表示屬性值,第m+i*n-l個間隔符和第m+i*n個間隔符之間 的信息為屬性名稱,第P+j*q_l個間隔符和第P+j*q個間隔符之間的信息為屬性值,其中, i和j均為零或正整數(shù),m、n、p、q均為正整數(shù);2)當(dāng)所述命令只包括屬性值時,配置所述命令的屬性名稱,根據(jù)所述命令屬性名稱和 屬性值,所述命令的解析方式為屬性名稱=Yu,其中,Y表示屬性值,第u-1個間隔符和第u個間隔符之間的信息為屬性值,“=”表示 將第u-1個間隔符和第u個間隔符之間的屬性值賦值給屬性名稱P,其中,所述屬性名稱為 一個或多個,u為正整數(shù)。
5.如權(quán)利要求4所述的配置與解析方法,其特征在于,所述根據(jù)有效信息提取方式提 取所述命令的有效信息包括如下步驟在所述命令中查找所述開始字節(jié)和所述結(jié)束符,提取所述開始字節(jié)和所述結(jié)束符之間 的信息;在提取得到的所述開始字節(jié)和所述結(jié)束符之間的信息中查找所述間隔符,進一步提取 所述命令的有效信息,其中所述命令的有效信息包括第一個間隔符之前的有效信息、最后 一個間隔符之后的有效信息以及各個間隔符之間的有效信息;將提取得到的所述有效信息存入有效信息鏈表。
6.如權(quán)利要求5所述的配置與解析方法,其特征在于,所述根據(jù)命令的解析方式解析 所述命令的有效信息,包括如下步驟判斷所述命令中是否包括屬性名稱;當(dāng)判斷所述命令中包括屬性名稱時,采用$m+n =¥p+q的命令的解析方式對所述命令進行解析,包括在所述有效信息鏈表中提取第m+i*n-l個間隔符和第m+i*n個間隔符之間 的屬性名稱以及第P+j*q_l個間隔符和第P+j*q個間隔符之間的屬性值,將所述第P+j*q_l 個間隔符和第P+j*q個間隔符之間的屬性值轉(zhuǎn)換為相應(yīng)的屬性名稱對應(yīng)的屬性值類型,并 將所述第P+j*q_l個間隔符和第P+j*q個間隔符之間的屬性值賦值給對應(yīng)的屬性名稱;當(dāng)判斷所述命令中不包括屬性名稱時,提取第P+j*q_l個間隔符和第P+j*q個間隔符 之間的屬性值,獲取已配置的命令的屬性名稱對應(yīng)的屬性值類型,根據(jù)所述屬性值類型,將 所述第P+j*q_l個間隔符和第P+j*q個間隔符之間的屬性值轉(zhuǎn)換為與所述屬性名稱對應(yīng)的 屬性值類型,并將所述第P+j*q_l個間隔符和第P+j*q個間隔符之間的屬性值賦值給對應(yīng) 的所述屬性名稱。
7.如權(quán)利要求1所述的配置與解析方法,其特征在于,所述命令的有效信息和命令的 解析方式以XML格式進行保存。
8.一種動態(tài)協(xié)議的配置與解析裝置,其特征在于,包括配置模塊,所述配置模塊用于配置并保存動態(tài)協(xié)議的命令的有效信息提取方式和命令 的解析方式,其中,所述命令以所述動態(tài)協(xié)議規(guī)定的格式發(fā)送;提取模塊,所述提取模塊用于根據(jù)所述有效信息提取方式提取所述命令的有效信息;以及解析模塊,所述解析模塊用于根據(jù)所述命令的解析方式解析所述命令的有效信息,并 根據(jù)解析結(jié)果執(zhí)行相應(yīng)的仿真動作。
9.如權(quán)利要求8所述的配置與解析裝置,其特征在于,所述動態(tài)協(xié)議包括以太網(wǎng)協(xié)議、 串口協(xié)議、模擬IO協(xié)議、數(shù)字IO協(xié)議和DeviceNet協(xié)議。
10.如權(quán)利要求9所述的配置與解析裝置,其特征在于,所述配置模塊將結(jié)束符配置在 所述命令的結(jié)束端,所述結(jié)束符用于指示所述命令已結(jié)束,所述配置模塊將間隔符配置在 所述命令的不同信息之間,所述間隔符用于對所述命令中的不同信息進行分隔,所述配置 模塊將開始字節(jié)配置在所述命令的開始端,所述開始字節(jié)用于指示所述命令已開始。
11.如權(quán)利要求10所述的配置與解析裝置,其特征在于,所述配置模塊配置所述命令 的解析方式包括以下兩種方式中的至少一種1)當(dāng)所述命令包括屬性名稱和屬性值時,所述配置模塊配置所述命令的解析方式為$m+n = Yp+q,其中,$表示屬性名稱,Y表示屬性值,第m+i*n-l個間隔符和第m+i*n個間隔符之間 的信息為屬性名稱,第P+j*q_l個間隔符和第P+j*q個間隔符之間的信息為屬性值,其中, i和j均為零或正整數(shù),m、n、p、q均為正整數(shù);2)當(dāng)所述命令只包括屬性值時,所述配置模塊配置所述命令的屬性名稱,根據(jù)所述命 令屬性名稱和屬性值,配置所述命令的解析方式為屬性名稱=Yu,其中,Y表示屬性值,第u-1個間隔符和第u個間隔符之間的信息為屬性值,“=”表示 將第u-1個間隔符和第u個間隔符之間的屬性值賦值給屬性名稱P,其中,所述屬性名稱為 一個或多個,u為正整數(shù)。
12.如權(quán)利要求11所述的配置與解析裝置,其特征在于,所述提取模塊在所述命令中 查找所述開始字節(jié)和所述結(jié)束符,提取所述開始字節(jié)和所述結(jié)束符之間的信息,并在提取得到的所述開始字節(jié)和所述結(jié)束符之間的信息中查找所述間隔符,進一步提取所述命令的 有效信息,其中所述命令的有效信息包括第一個間隔符之前的有效信息、最后一個間隔符 之后的有效信息以及各個間隔符之間的有效信息,所述提取模塊將提取得到的所述有效信 息存入有效信息鏈表。
13.如權(quán)利要求12所述的配置與解析裝置,其特征在于,所述解析模塊判斷所述命令 中是否包括屬性名稱;當(dāng)所述解析模塊判斷所述命令中包括屬性名稱時,采用$m+n =¥p+q的命令的解析方 式對所述命令進行解析,包括在所述有效信息鏈表中提取第m+i*n-l個間隔符和第m+i*n 個間隔符之間的屬性名稱以及第P+j*q_l個間隔符和第P+j*q個間隔符之間的屬性值,將 所述第P+j*q_l個間隔符和第P+j*q個間隔符之間的屬性值轉(zhuǎn)換為相應(yīng)的屬性名稱對應(yīng)的 屬性值類型,并將所述第P+j*q_l個間隔符和第P+j*q個間隔符之間的屬性值賦值給對應(yīng) 的屬性名稱;當(dāng)所述解析模塊判斷所述命令中不包括屬性名稱時,提取第P+j*q_l個間隔符和第 P+j*q個間隔符之間的屬性值,獲取已配置的命令的屬性名稱對應(yīng)的屬性值類型,根據(jù)所述 屬性值類型,將所述第P+j*q_l個間隔符和第P+j*q個間隔符之間的屬性值轉(zhuǎn)換為與所述 屬性名稱對應(yīng)的屬性值類型,并將所述第P+j*q_l個間隔符和第P+j*q個間隔符之間的屬 性值賦值給對應(yīng)的所述屬性名稱。
14.如權(quán)利要求8所述的配置與解析裝置,其特征在于,所述配置模塊將所述命令的有 效信息和命令的解析方式以XML格式進行保存。
全文摘要
本發(fā)明提出一種動態(tài)協(xié)議的配置與解析方法,包括如下步驟配置并保存動態(tài)協(xié)議的命令的有效信息提取方式和命令的解析方式;根據(jù)所述有效信息提取方式提取所述命令的有效信息;根據(jù)所述命令的解析方式解析所述命令的有效信息,并根據(jù)解析結(jié)果執(zhí)行相應(yīng)的仿真動作。本發(fā)明實可以對復(fù)雜的通信命令格式和數(shù)據(jù)幀進行配置,并且可以將復(fù)雜的命令格式和數(shù)據(jù)幀的不同有效信息動態(tài)的解析出來,且通用性強,配置過程簡單,克服了不同通信模式傳輸數(shù)據(jù)格式的歸一化問題。本發(fā)明還提出了一種動態(tài)協(xié)議的配置與解析裝置。
文檔編號H04L29/06GK102148825SQ20111003193
公開日2011年8月10日 申請日期2011年1月28日 優(yōu)先權(quán)日2011年1月28日
發(fā)明者徐華, 李搏, 王巍, 鄒龍慶, 高士云 申請人:清華大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1