專利名稱:一種基于pc與設(shè)備的串口數(shù)據(jù)交互方式的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)通信領(lǐng)域,尤其涉及一種基于PC與設(shè)備的串口通信的數(shù) 據(jù)交互方式,PC機(jī)通過指令與設(shè)備交互,方便、有效、快速地達(dá)到操作設(shè)備數(shù)
據(jù)的目的,通用地加載、解析設(shè)備數(shù)據(jù),又稱為"指令操作機(jī)制"。
背景技術(shù):
目前的設(shè)備數(shù)據(jù)類型多種且不斷擴(kuò)展,所以PC與設(shè)備交互的指令必然也有 多種且種類不斷擴(kuò)展,以至于PC程序不斷變化去適應(yīng)變化的指令種類,不定因 素較多,加大了開發(fā)和維護(hù)成本?,F(xiàn)有PC與設(shè)備的數(shù)據(jù)交互時(shí),采用調(diào)試助手
只能單純的發(fā)送指令、回復(fù)指令,單一的發(fā)一條回一條,而且指令需要手動(dòng)配 置。還有一種是采用終端專門定制的程序來實(shí)現(xiàn),如手機(jī)配的驅(qū)動(dòng)程序,專門 操作手機(jī)里面的機(jī)制,但這種方式?jīng)]有通用性,且無法修改。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明提供一種基于PC與設(shè)備的串口數(shù)據(jù)交互方式,采用通用
的指令操作機(jī)制及配置方法來自動(dòng)加載、解析設(shè)備數(shù)據(jù)。
根據(jù)上述目的,本發(fā)明的技術(shù)方案是這樣實(shí)現(xiàn)的
一種基于PC與設(shè)備的串口數(shù)據(jù)交互方式,是在接收PC前臺(tái)操作指令后,按 配置指令文件自動(dòng)生成指令向設(shè)備發(fā)送指令,設(shè)備響應(yīng)后,接收設(shè)備數(shù)據(jù)后按配 置指令文件自動(dòng)解析指令的交互方式,同時(shí)通信的過程中還能進(jìn)行打印日志處 理,發(fā)送顯示數(shù)據(jù)處理,監(jiān)控實(shí)時(shí)數(shù)據(jù)處理。
所述的一種基于PC與設(shè)備的串口數(shù)據(jù)交互方式,包括指令發(fā)送處理模塊、指令發(fā)送堆棧、配置指令文件、指令接收堆棧、指令接收處理模塊。其中,指令 發(fā)送處理模塊是按照PC前臺(tái)操作進(jìn)行指令發(fā)送的處理,包括串口異常處理、監(jiān) 測(cè)狀態(tài)處理、讀取配置指令文件并生成指令以及管理指令發(fā)送堆棧。指令接收處 理模塊包括所迷的指令接收處理包括串口異常處理、整理接收指令并管理指令接 收堆棧、讀取配置指令文件并按配置解析接收到的指令以及響應(yīng)配置處理。其交
互方式是指令發(fā)送處理模塊通過讀取配置指令文件,按配置生成設(shè)備指令,并 將設(shè)備指令存入指令發(fā)送堆棧,當(dāng)指令發(fā)送堆棧中有指令時(shí),指令發(fā)送處理模塊 則向設(shè)備發(fā)送設(shè)備指令,設(shè)備響應(yīng)后發(fā)送回復(fù)的設(shè)備指令至指令接收堆棧,指令 接收處理模塊檢索指令接收堆棧,若指令接收堆棧中有指令時(shí),通過讀取配置指 令并按該配置解析該指令數(shù)據(jù),若有配置相應(yīng)指令回復(fù)動(dòng)作則在解析后啦文相應(yīng)的 動(dòng)作;若PC前臺(tái)操作沒有發(fā)出指令,指令發(fā)送堆棧中無指令,則指令發(fā)送處理 模塊向設(shè)備發(fā)送激活指令,即不斷地檢測(cè)設(shè)備當(dāng)前狀態(tài)。
其中,所述配置指令文件的生成方法包括
Al.對(duì)PC發(fā)送指令進(jìn)行規(guī)范、分類,按照指令類型,可分為激活指令、讀 指令、寫指令及其它擴(kuò)展指令。
A2.對(duì)設(shè)備回復(fù)指令進(jìn)行規(guī)范、分類,按照指令類型,可分為通信狀態(tài)、回 復(fù)讀指令、回復(fù)寫指令、回復(fù)其他擴(kuò)展指令。
A3.對(duì)設(shè)備分類數(shù)據(jù)進(jìn)行說明,按編號(hào)、數(shù)據(jù)編碼、長度、格式進(jìn)行設(shè)定。
A4.定義指令通信狀態(tài)為"應(yīng)答式"和"單向式"。
通過上述的配置規(guī)范,對(duì)指令進(jìn)行配置并生成相應(yīng)的配置指令文件。
所述的串口異常處理,是指在運(yùn)行過程中出現(xiàn)一些特殊情況,能對(duì)此做超時(shí) 處理,并生成前臺(tái)顯示數(shù)據(jù)。具體包括a.加載或讀取數(shù)據(jù)時(shí),設(shè)備無響應(yīng)的處理;b.PC與設(shè)備的物理連接斷開的處理;c.設(shè)備回復(fù)不明數(shù)據(jù)無法解析的處理。 而后,將異常錯(cuò)誤寫入日志,繼續(xù)執(zhí)行。
進(jìn)一步的,為單向式或應(yīng)答式,所述的單向式是指令發(fā)送處理模塊按配置指 令文所述的串口數(shù)據(jù)交互方式可件生成發(fā)送指令,并發(fā)送至指令發(fā)送堆棧,指令 發(fā)送堆棧只管向設(shè)備發(fā)送指令,不考慮其它問題,無需等待設(shè)備回復(fù)。所述的應(yīng) 答式是指令發(fā)送處理模塊按配置指令文件自動(dòng)生成發(fā)送指令并加載至指令發(fā)送 堆棧,并在指令發(fā)送處理模塊的管理下將指令發(fā)送堆棧中的指令發(fā)送至設(shè)備,需 等待設(shè)備回復(fù)后進(jìn)行回復(fù)處理,回復(fù)的情況可分為以下兩種Bl)指令發(fā)送處理 模塊直接發(fā)送指令發(fā)送堆棧的下一條指令;B2)指令接收處理模塊需解析指令, 按解析的內(nèi)容自動(dòng)生成一條或多條指令,并載入發(fā)送指令堆棧中優(yōu)先處理。
本發(fā)明的基于PC與設(shè)備的串口數(shù)據(jù)交互方式,采用通用的指令操作機(jī)制及 配置方法來自動(dòng)加載、解析設(shè)備數(shù)據(jù)。在指令不斷變化的情況下不再對(duì)程序修改 或擴(kuò)展,只需一次性開發(fā)或較少的維護(hù),減少了開發(fā)成本及開發(fā)時(shí)間。
圖1是本發(fā)明一種基于PC與設(shè)備的串口數(shù)據(jù)交互方式的流程圖; 圖2是本發(fā)明的指令發(fā)送處理模塊10的具體框圖; 圖3是本發(fā)明的指令接收處理模塊20的具體框圖。
具體實(shí)施例方式
現(xiàn)結(jié)合附圖和具體實(shí)施方式
對(duì)本發(fā)明進(jìn)一步說明。
一種基于PC與設(shè)備的串口數(shù)據(jù)交互方式,是在接收PC前臺(tái)操作指令后,按
配置指令文件自動(dòng)生成指令向設(shè)備發(fā)送指令,設(shè)備響應(yīng)后,接收設(shè)備數(shù)據(jù)后按配 置指令文件自動(dòng)解析指令的交互方式,同時(shí)通信的過程中還能進(jìn)行打印日志處理,發(fā)送顯示數(shù)據(jù)處理,監(jiān)控實(shí)時(shí)數(shù)據(jù)處理。
參閱圖1所示, 一種基于PC與設(shè)備的串口數(shù)據(jù)交互方式,包括指令發(fā)送 處理模塊1G、指令發(fā)送堆棧ll、配置指令文件3Q、指令接收堆棧21、指令接收 處理模塊20。其中,參閱圖2所示,指令發(fā)送處理才莫塊10是按照PC前臺(tái)操:作進(jìn) 行指令發(fā)送的處理,包括串口異常處理101、監(jiān)測(cè)狀態(tài)處理102、讀取配置指令 文件并生成指令103以及管理指令發(fā)送堆棧104。參閱圖3所示,指令接收處理 模塊20包括串口異常處理201、整理接收指令202并管理指令接收堆棧203、讀 取配置指令文件并按配置解析接收到的指令204以及響應(yīng)配置處理205。其交互 方式是指令發(fā)送處理模塊IO通過讀取配置指令文件30,按配置生成設(shè)備的發(fā) 送指令12,并將設(shè)備的發(fā)送指令12存入指令發(fā)送堆棧11,當(dāng)指令發(fā)送堆棧11 中有發(fā)送指令時(shí),指令發(fā)送處理模塊10則向設(shè)備4發(fā)送設(shè)備的發(fā)送指令12,設(shè) 備4響應(yīng)后發(fā)送回復(fù)的設(shè)備指令22至指令接收堆棧21,指令接收處理模塊20 檢索指令接收堆棧21,若指令接收堆棧21中有指令時(shí),通過讀取配置指令文件 30并按該配置解析該指令數(shù)據(jù),若有配置相應(yīng)指令回復(fù)動(dòng)作則在解析后做相應(yīng)的 動(dòng)作;若PC5的前臺(tái)操作51沒有發(fā)出指令,指令發(fā)送堆棧ll中無指令,則指令 發(fā)送處理模塊10通過向設(shè)備4發(fā)送激活指令來不斷地檢測(cè)設(shè)備4當(dāng)前狀態(tài)。
下面介紹
具體實(shí)施例方式
實(shí)施例1.數(shù)據(jù)加載
當(dāng)PC5的前臺(tái)操作51發(fā)出加載聯(lián)系人指令時(shí),指令發(fā)送處理模塊10通過讀 取配置指令文件30,按配置生成設(shè)備的發(fā)送指令12,并將設(shè)備的發(fā)送指令12存 入指令發(fā)送堆棧11,當(dāng)指令發(fā)送堆棧11中有發(fā)送指令12時(shí),則擇機(jī)把發(fā)送指令 12發(fā)送至設(shè)備4。例如加載電話本耳關(guān)系人"張三",設(shè)備1360000000,住址。讀取配置文件 后生成指令A(yù)T+WPAR+00001+UNICODE+255+張三(UNICODE) 1360000000住址 卿IC0DE)
實(shí)施例2.數(shù)據(jù)讀取
當(dāng)PC5的前臺(tái)才喿作51發(fā)出讀取聯(lián)系人指令時(shí),指令發(fā)送處理才莫塊10通過讀 取配置指令文件30,按配置生成設(shè)備的發(fā)送指令12,并將設(shè)備的發(fā)送指令12存
入指令發(fā)送堆棧ll,當(dāng)指令發(fā)送堆棧ll中有指令時(shí),則擇機(jī)把指令發(fā)送至設(shè)備 4并等待回復(fù),設(shè)備4響應(yīng)后發(fā)送回復(fù)的設(shè)備指令22至指令接收堆棧21。
例如加載電話本眹系人"張三",設(shè)備1360000000,住址。讀取配置文件 后生成指令A(yù)T+WPAR+00001+UNICODE+255+張三(UNICODE) 1360000000住址 (UNICODE)
實(shí)施例3.數(shù)據(jù)解析
當(dāng)PC5的前臺(tái)操作51發(fā)出其他指令時(shí),指令發(fā)送處理模塊10通過讀取配置 指令文件30,按配置生成設(shè)備的發(fā)送指令12,并將設(shè)備的發(fā)送指令12存入指令 發(fā)送堆棧ll,當(dāng)指令發(fā)送堆棧ll中有指令時(shí),則擇機(jī)把指令發(fā)送至設(shè)備4并等 待回復(fù),設(shè)備4響應(yīng)后發(fā)送回復(fù)的設(shè)備指令22至指令接收堆棧21,指令接收處 理模塊20檢索指令接收堆棧21,若指令接收堆棧21中有指令時(shí),通過讀取配置 指令文件30并按該配置解析該指令數(shù)據(jù),若有配置相應(yīng)指令回復(fù)動(dòng)作則在解析 后做相應(yīng)的動(dòng)作。
其中,所述配置指令文件30的生成方法包括
Al.對(duì)PC5的發(fā)送指令12進(jìn)行規(guī)范、分類,按照指令類型,可分為激活指 令、讀指令、寫指令及其它擴(kuò)展指令。激活指令檢測(cè)PC程序與設(shè)備4通信狀態(tài),PC5與設(shè)備4物理接通后, 程序開啟激活指令,實(shí)時(shí)檢測(cè)與設(shè)備4的通信狀態(tài)。如指令 "AT"。
讀指令告訴設(shè)備,PC5需要的數(shù)據(jù),如PC發(fā)送"AT+RPAR+指令數(shù)據(jù)......"
讀指令,設(shè)備4回復(fù)相應(yīng)的數(shù)據(jù)。
寫指令PC5將數(shù)據(jù)載入設(shè)備4,如PC5發(fā)送 "AT+WPAR+指令數(shù)據(jù)……" 寫指令,設(shè)備4回復(fù)是否加載成功。
其它指令PC5操作設(shè)備功能指令,如PC5.發(fā)送"AT+其它指令標(biāo)識(shí)+指令 數(shù)據(jù),,,"i殳備4回復(fù)相應(yīng)的數(shù)據(jù)。
A2.對(duì)設(shè)備4的回復(fù)指令22進(jìn)行規(guī)范、分類,按照指令類型,可分為通信 狀態(tài)、回復(fù)讀指令、回復(fù)寫指令、回復(fù)其他擴(kuò)展指令。
通信狀態(tài)設(shè)備4回復(fù)當(dāng)前狀態(tài),若PC5無接收到設(shè)備4回復(fù)通信狀態(tài), 表示不能通信。
回復(fù)讀指令如"RPAR+回復(fù)的數(shù)據(jù)……"
回復(fù)寫指令如"WPAR+回復(fù)的數(shù)據(jù)……"
回復(fù)其它擴(kuò)展指令如"其它擴(kuò)展指+回復(fù)的數(shù)據(jù)"
A3.對(duì)設(shè)備4分類數(shù)據(jù)進(jìn)行說明,按編號(hào)、數(shù)據(jù)編碼、長度、格式進(jìn)行設(shè)定。
如編號(hào)00001+聯(lián)系人名+UNIC0DE碼+長度255 +數(shù)據(jù)格式聯(lián)系 人名+設(shè)備號(hào)碼+住址……
A4.定義指令通信狀態(tài)為"應(yīng)答式"和"單向式"。
通過上述的配置規(guī)范,對(duì)指令進(jìn)行配置并生成相應(yīng)的配置指令文件30。所述的串口異常處理101或201,是指在運(yùn)行過程中出現(xiàn)一些特殊情況,能 對(duì)此做超時(shí)處理,并生成前臺(tái)顯示數(shù)據(jù)52。具體包括a.加載或讀取數(shù)據(jù)時(shí),設(shè) 備4無響應(yīng)的處理;b. PC5與設(shè)備4的物理連接斷開的處理;c.設(shè)備4回復(fù)不明 數(shù)據(jù)無法解析的處理。而后,將異常錯(cuò)誤寫入日志,繼續(xù)執(zhí)行。
進(jìn)一步的,所述的串口數(shù)據(jù)交互方式可為單向式或應(yīng)答式,所述的單向式 是指令發(fā)送處理模塊10按配置指令文件30生成發(fā)送指令12,并發(fā)送至指令發(fā) 送堆棧ll,指令發(fā)送堆棧ll只管向設(shè)備4發(fā)送指令,不考慮其它問題,無需等 待設(shè)備4回復(fù)。所述的應(yīng)答式是指令發(fā)送處理;漠塊IO按配置指令文件30自動(dòng) 生成發(fā)送指令12,并加載至指令發(fā)送堆棧11,并在指令發(fā)送處理模塊10的管 理下將指令發(fā)送堆棧11發(fā)送至設(shè)備4,需等待設(shè)備4回復(fù)后進(jìn)行回復(fù)處理,回 復(fù)的情況可分為以下兩種Bl)設(shè)備4回復(fù)后,指令發(fā)送處理模塊10直接發(fā) 送指令發(fā)送堆棧11的下一條指令;B2)設(shè)備4回復(fù)后,指令接收處理模塊20 需解析指令,按解析的內(nèi)容自動(dòng)生成一條或多條指令,并載入發(fā)送指令堆棧11 中優(yōu)先處理。
盡管結(jié)合優(yōu)選實(shí)施方案具體展示和介紹了本發(fā)明,但所屬領(lǐng)域的技術(shù)人員 應(yīng)該明白,在不脫離所附權(quán)利要求書所限定的本發(fā)明的精神和范圍內(nèi),在形式 上和細(xì)節(jié)上可以對(duì)本發(fā)明做出各種變化,均為本發(fā)明的保護(hù)范圍。
權(quán)利要求
1.一種基于PC與設(shè)備的串口數(shù)據(jù)交互方式,其特征在于接收PC前臺(tái)操作指令后,按配置指令文件自動(dòng)生成指令并向設(shè)備發(fā)送指令,設(shè)備響應(yīng)后,接收設(shè)備數(shù)據(jù)后按配置指令文件自動(dòng)解析指令的交互方式。
2. 根據(jù)權(quán)利要求1所述的串口數(shù)據(jù)交互方式,其特征在于所述的串口數(shù)據(jù)交 互方式進(jìn)一步包括指令發(fā)送處理一莫塊、指令發(fā)送堆棧、配置指令文件、指 令接收堆棧、指令接收處理模塊;其中,指令發(fā)送處理模塊是按照PC前臺(tái)操 作進(jìn)行指令發(fā)送的處理,包括串口異常處理、監(jiān)測(cè)狀態(tài)處理、讀取配置指令文件并生成指令以及管理指令發(fā)送堆棧;指令接收處理模塊包括所迷的指令 接收處理包括串口異常處理、整理接收指令并管理指令接收堆棧、讀取配置 指令文件并按配置解析接收到的指令以及響應(yīng)配置處理。
3. 根據(jù)權(quán)利要求1或2所述的串口數(shù)據(jù)交互方式,其特征在于所述的串口數(shù) 據(jù)交互方式進(jìn)一步是指令發(fā)送處理模塊通過讀取配置指令文件,按配置生 成設(shè)備指令,并將設(shè)備指令存入指令發(fā)送堆棧,當(dāng)指令發(fā)送堆棧中有指令時(shí), 指令發(fā)送處理模塊則向設(shè)備發(fā)送設(shè)備指令,設(shè)備響應(yīng)后發(fā)送回復(fù)的設(shè)備指令 至指令接收堆棧,指令接收處理斗莫塊4企索指令接收堆棧,若指令接收堆棧中 有指令時(shí),通過讀取配置指令文件并按該配置解析該指令數(shù)據(jù),若有配置相 應(yīng)指令回復(fù)動(dòng)作則在解析后4故相應(yīng)的動(dòng)作;若PC前臺(tái)操作沒有發(fā)出指令,指 令發(fā)送堆棧中無指令,則指令發(fā)送處理模塊不斷地檢測(cè)設(shè)備當(dāng)前狀態(tài)。
4. 根據(jù)權(quán)利要求1或2或3所述的串口數(shù)據(jù)交互方式,其特征在于所述的串 口數(shù)據(jù)交互方式可為單向式或應(yīng)答式。
5. 根據(jù)權(quán)利要求4所述的串口數(shù)據(jù)交互方式,其特征在于所述的單向式是指 令發(fā)送處理模塊按配置指令文件生成發(fā)送指令并發(fā)送至指令發(fā)送堆棧,指令 發(fā)送堆棧只管向設(shè)備發(fā)送指令,不考慮其它問題。
6. 根據(jù)權(quán)利要求4所述的串口數(shù)據(jù)交互方式,其特征在于所述的應(yīng)答式是指 令發(fā)送處理模塊按配置指令文件自動(dòng)生成指令并加載至指令發(fā)送堆棧,并在 指令發(fā)送處理模塊的管理下將指令發(fā)送堆棧中的指令發(fā)送至設(shè)備,等待設(shè)備 回復(fù)后進(jìn)4于回復(fù)處理。
7. 根據(jù)權(quán)利要求6所述的串口數(shù)據(jù)交互方式,其特征在于所述的回復(fù)處理是a. 指令發(fā)送處理模塊直接發(fā)送指令發(fā)送堆棧中下一條指令;或者b.指令接收處 理模塊解析回復(fù)指令并按解析的內(nèi)容自動(dòng)生成一條或多條指令,載入指令發(fā) 送堆棧中優(yōu)先處理。
8. 根據(jù)權(quán)利要求2所述的串口數(shù)據(jù)交互方式,其特征在于所述的串口異常處 理部分具體包括a.加載或讀取數(shù)據(jù)時(shí),設(shè)備無響應(yīng)的處理;b. PC與設(shè)備的 物理連接斷開的處理;c.設(shè)備回復(fù)不明數(shù)據(jù)無法解析的處理; 而后將異常錯(cuò)誤寫入日志,繼續(xù)執(zhí)行。
9. 根據(jù)權(quán)利要求1或2或3或5或6所述的串口數(shù)據(jù)交互方式,其特征在于, 所述配置指令文件的生成方法包括Al.對(duì)PC發(fā)送指令進(jìn)行規(guī)范、分類,按照指令類型,可分為激活指令、讀指 令、寫指令及其它擴(kuò)展指令;A2.對(duì)設(shè)備回復(fù)指令進(jìn)行規(guī)范、分類,按照指令類型,可分為通信狀態(tài)、回 復(fù)讀指令、回復(fù)寫指令、回復(fù)其他擴(kuò)展指令;A3.對(duì)設(shè)備分類數(shù)據(jù)進(jìn)行說明,按編號(hào)、數(shù)據(jù)編碼、長度、格式進(jìn)行設(shè)定; A4.定義指令通信狀態(tài)為"應(yīng)答式"和"單向式"; 通過上述的配置規(guī)范,對(duì)指令進(jìn)行配置并生成相應(yīng)的配置指令文件。
10. 根據(jù)權(quán)利要求1所述的串口數(shù)據(jù)交互方式,其特征在于所述的串口數(shù)據(jù)交互方式還包括打印日志處理,發(fā)送顯示數(shù)據(jù)處理,監(jiān)控實(shí)時(shí)數(shù)據(jù)處理。
全文摘要
本發(fā)明涉及計(jì)算機(jī)通信領(lǐng)域,尤其涉及基于PC與設(shè)備的串口通信的數(shù)據(jù)交互方式,PC機(jī)通過指令與設(shè)備交互,方便、有效、快速地達(dá)到操作設(shè)備數(shù)據(jù)的目的,通用地加載、解析設(shè)備數(shù)據(jù),又稱為“指令操作機(jī)制”。本發(fā)明的基于PC與設(shè)備的串口數(shù)據(jù)交互方式,是在接收PC前臺(tái)操作指令后,按配置指令文件自動(dòng)生成指令向設(shè)備發(fā)送指令,設(shè)備響應(yīng)后,接收設(shè)備數(shù)據(jù)后按配置指令文件自動(dòng)解析指令的交互方式,同時(shí)通信的過程中還能進(jìn)行打印日志處理,發(fā)送顯示數(shù)據(jù)處理,監(jiān)控實(shí)時(shí)數(shù)據(jù)處理。本發(fā)明采用通用的指令操作機(jī)制及配置方法來自動(dòng)加載、解析設(shè)備數(shù)據(jù)。在指令不斷變化的情況下不再對(duì)程序修改或擴(kuò)展,只需一次性開發(fā)或較少的維護(hù),減少了開發(fā)成本及開發(fā)時(shí)間。
文檔編號(hào)G06F13/38GK101576862SQ20091011187
公開日2009年11月11日 申請(qǐng)日期2009年5月27日 優(yōu)先權(quán)日2009年5月27日
發(fā)明者聶書貴 申請(qǐng)人:廈門敏訊信息技術(shù)股份有限公司