專利名稱:一種單串口多組數(shù)據(jù)涌入的同步協(xié)調(diào)處理方法及裝置的制作方法
技術(shù)領域:
本發(fā)明涉及一種單串口多組數(shù)據(jù)處理技術(shù),具體的說是一種單串口多組數(shù)據(jù)涌入的同步協(xié)調(diào)處理方法及裝置。
背景技術(shù):
串行通訊因其硬件設備價格低廉、系統(tǒng)搭建簡易、可控性好等優(yōu)點,被廣泛的應用于各種工業(yè)控制場合。串口通訊需要串口設備支持,在串口設備數(shù)量受限的情況下,如何更大的發(fā)揮單個串口設備的有限的通訊能力,是目前自動控制領域常常需要面對的一個問題。windows操作系統(tǒng)具有豐富的函數(shù)庫和友好的操作界面,在對實時性沒有苛刻要求的控制領域windows系統(tǒng)是理想的選擇,但window畢竟不是為工業(yè)控制領域開發(fā)的操作系統(tǒng),在處理工業(yè)控制場合的某些復雜問題時,需要研究新的方法處理實際問題。比如,當多路或多組來自不同設備的串口數(shù)據(jù)同時涌入同一個串口,如何在windows系統(tǒng)中以滿足一定的實時性和數(shù)據(jù)穩(wěn)定性為前提,處理好大量數(shù)據(jù)的接收,特別是保障重要數(shù)據(jù)的優(yōu)先讀取問題,是本法發(fā)明要解決的問題。
發(fā)明內(nèi)容
針對現(xiàn)有技術(shù)中存在的單串口連接多個通訊設備時處理方法和手段的不足之處, 本發(fā)明要解決的技術(shù)問題是提供一種能夠處理好大量數(shù)據(jù)的接收,特別是保障重要數(shù)據(jù)的優(yōu)先讀取的單串口多組數(shù)據(jù)涌入的同步協(xié)調(diào)處理方法及裝置。為解決上述技術(shù)問題,本發(fā)明采用的技術(shù)方案是本發(fā)明單串口多組數(shù)據(jù)涌入的同步協(xié)調(diào)處理方法包括以下步驟按照不同串口設備的數(shù)據(jù)重要性將數(shù)據(jù)劃分為不同的優(yōu)先級;采用windows定時器周期性觸發(fā)數(shù)據(jù)讀取,周期長短可隨具體應用場合對實時性的要求而變化;按照優(yōu)先級分配算法協(xié)調(diào)各路數(shù)據(jù)的接收;采用與優(yōu)先級相匹配的數(shù)據(jù)校驗算法校驗數(shù)據(jù)的正確性,保障接收數(shù)據(jù)的穩(wěn)定性。 所述優(yōu)先級分配算法過程如下提取數(shù)據(jù)幀中的地址信息。根據(jù)上述地址信息確定優(yōu)先級,將優(yōu)先級分為高、中、低、差四個等級,并分配不同的權(quán)值;數(shù)據(jù)進入待接收區(qū);根據(jù)當前權(quán)值確定是否接收數(shù)據(jù);若該組數(shù)據(jù)已經(jīng)接收,則將其權(quán)值清零。若沒有接收,則加大該組數(shù)據(jù)的權(quán)值,增加下一循環(huán)被接收的幾率。
所述數(shù)據(jù)校驗算法為獲得優(yōu)先級信息;高優(yōu)先級采取逐位異或校驗;中優(yōu)先級采取逐位奇偶校驗;低優(yōu)先級采取數(shù)據(jù)部分奇偶校驗;差優(yōu)先級檢驗起始位、結(jié)束位;數(shù)據(jù)通過了校驗則保存改組數(shù)據(jù);數(shù)據(jù)沒有通過校驗則放棄數(shù)據(jù)。本發(fā)明單串口多組數(shù)據(jù)涌入的同步協(xié)調(diào)處理裝置包括η個通訊設備、RS232/RS485轉(zhuǎn)換模塊及工控機,其中η個通訊設備分別通過 RS232/RS485轉(zhuǎn)換模塊與工控機進行通訊連接。所述RS232/RS485轉(zhuǎn)換模塊具有地址分配功能。第一個和最后一個通訊設備連接120歐姆終端電阻。本發(fā)明具有以下有益效果及優(yōu)點1.本發(fā)明由于分配了優(yōu)先級,保證了不丟失任何一個串行設備的數(shù)據(jù)。2.由于發(fā)明根據(jù)優(yōu)先級不同采用不同校驗算法,保證了最重要數(shù)據(jù)的最完整校驗和非重要數(shù)據(jù)的數(shù)據(jù)部分校驗,同時兼顧了處理速度和數(shù)據(jù)準確性的雙重要求。
圖1為本發(fā)明方法采用數(shù)據(jù)結(jié)構(gòu)幀格式;圖2為本發(fā)明裝置結(jié)構(gòu)框圖;圖3為本發(fā)明方法流程圖;圖4為本發(fā)明方法中優(yōu)先級分配算法流程圖;圖5為本發(fā)明方法中優(yōu)先級校驗算法流程圖;圖6為本發(fā)明裝置實施例硬件配置;圖7為本發(fā)明裝置實施例系統(tǒng)連接圖。
具體實施例方式本發(fā)明單串口多組數(shù)據(jù)涌入的同步協(xié)調(diào)處理方法包括以下步驟按照不同串口設備的數(shù)據(jù)重要性將數(shù)據(jù)劃分為不同的優(yōu)先級;采用windows定時器周期性觸發(fā)數(shù)據(jù)讀取,周期長短可隨具體應用場合對實時性的要求而變化;按照優(yōu)先級分配算法協(xié)調(diào)各路數(shù)據(jù)的接收;即保障了重要數(shù)據(jù)的優(yōu)先讀取,又不影響一般數(shù)據(jù)的接收;采用與優(yōu)先級相匹配的數(shù)據(jù)校驗算法校驗數(shù)據(jù)的正確性,保障接收數(shù)據(jù)的穩(wěn)定性。如圖3所示,本實施例采用以下步驟實現(xiàn)本發(fā)明方法開始;設定定時器定時周期;
每次執(zhí)行前判斷周期是否已經(jīng)修改,若修改了,則按照新的周期執(zhí)行;由定時器觸完成周期性發(fā)送、接收數(shù)據(jù);通過優(yōu)先級分配算法決定哪組數(shù)據(jù)被接收;
根據(jù)優(yōu)先級校驗算法校驗數(shù)據(jù);若校驗通過,則接收并存儲數(shù)據(jù);若校驗沒有通過,則放棄數(shù)據(jù);如執(zhí)行前判斷周期沒有修改,則按照以前的周期執(zhí)行。如圖4所示,優(yōu)先級分配算法過程如下提取數(shù)據(jù)幀中的地址信息。根據(jù)地址信息確定優(yōu)先級。將優(yōu)先級分為高、中、低、差四個等級。四個等級分別分配權(quán)值4、3、2、1。數(shù)據(jù)進入待接收區(qū)。 根據(jù)當前權(quán)值確定是否接收數(shù)據(jù)。若該組數(shù)據(jù)已經(jīng)接收,則將其權(quán)值清零,若沒有接收,則該組數(shù)據(jù)的權(quán)值加1,增加下一循環(huán)被接收的幾率。如圖5所示,優(yōu)先級校驗算法過程如下獲得優(yōu)先級信息;高優(yōu)先級采取逐位異或校驗;中優(yōu)先級采取逐位奇偶校驗;低優(yōu)先級采取數(shù)據(jù)部分奇偶校驗;差優(yōu)先級檢驗起始位、結(jié)束位;數(shù)據(jù)通過了校驗則保存改組數(shù)據(jù);數(shù)據(jù)沒有通過校驗則放棄數(shù)據(jù)。本發(fā)明裝置如圖2和圖7所示,包括η個通訊設備、RS232/RS485轉(zhuǎn)換模塊及工控機,其中η個通訊設備分別通過RS232/RS485轉(zhuǎn)換模塊與工控機進行通訊連接;所述 RS232/RS485轉(zhuǎn)換模塊具有地址分配功能,所述η個通訊設備中的第一個和最后一個連接由終端電阻,阻值為120歐姆。通訊設備包括了通訊設備1到通訊設備η,為不同的串口通訊設備,根據(jù)RS485的通訊能力,最多可接32個通訊設備,足以滿足常見的工況要求。2為帶有地址分配功能的 RS232/RS485通訊轉(zhuǎn)換模塊,該模塊的功能為實現(xiàn)RS232/RS485轉(zhuǎn)換的同時,為不同的通訊設備分配了地址,該地址在本發(fā)明中被用于表示優(yōu)先級。3為RS232功能的DB9接頭,該接頭為工控機自帶,4為工控機,本發(fā)明的方法的執(zhí)行依賴于工控機。如圖6、7所示,本實施例中,串行通訊設備包括姿態(tài)傳感器、壓力傳感器、溫度傳感器。具有地址分配功能的RS232/RS485轉(zhuǎn)換??鞛镸0XATCC-801,該模塊具有地址分配功能,可以將RS232信號轉(zhuǎn)換為RS485信號。工控機為研華科技的610L,該工控機可滿足大多數(shù)工況的需求,其上配有2個RS232接口,通過DB9接頭連接入工控機主板。根據(jù)具體優(yōu)先級,將姿態(tài)觸感其的優(yōu)先級設置為高,分配地址16#01,將壓力傳感器的優(yōu)先級設置為中,分配地址16#02,將溫度傳感器的優(yōu)先級設置為低,分派地址16#03。
分配地址后,三個串口設備的優(yōu)先級即以確定。在工控機中,安裝windows XP操作系統(tǒng),采用Caiarp作為程序設計語言。定時器的觸發(fā)周期設定為20毫秒,定時的觸發(fā)接收數(shù)據(jù)。三個串口設備通電后,不停的向工控機發(fā)送串口數(shù)據(jù),程序?qū)⒏鶕?jù)優(yōu)先級算法分配優(yōu)先級,根據(jù)優(yōu)先級校驗算法校驗數(shù)據(jù)。校驗通過的數(shù)據(jù)將存儲在內(nèi)存區(qū)域等待進一步處理。由于分配了優(yōu)先級,所以當數(shù)據(jù)同時到達串口時沒有發(fā)生數(shù)據(jù)擁堵的狀況,優(yōu)先級最高的姿態(tài)傳感器數(shù)據(jù)得到了最先的相應,優(yōu)先級最低的溫度傳感器數(shù)據(jù)雖然沒有每次被讀取,但由于優(yōu)先級算法中的規(guī)定,當一次沒有被讀時優(yōu)先級自動加1,所以便獲得了更高的優(yōu)先級,下次讀取事件中被讀取,保證了不丟失任何一個串行設備的數(shù)據(jù)。由于根據(jù)優(yōu)先級不同采用不同校驗算法,保證了最重要數(shù)據(jù)的最完整校驗和非重要數(shù)據(jù)的數(shù)據(jù)部分校驗,同時兼顧了處理速度和數(shù)據(jù)準確性的雙重要求。
權(quán)利要求
1.一種單串口多組數(shù)據(jù)涌入的同步協(xié)調(diào)處理方法,其特征在于包括以下步驟 按照不同串口設備的數(shù)據(jù)重要性將數(shù)據(jù)劃分為不同的優(yōu)先級;采用windows定時器周期性觸發(fā)數(shù)據(jù)讀取,周期長短可隨具體應用場合對實時性的要求而變化;按照優(yōu)先級分配算法協(xié)調(diào)各路數(shù)據(jù)的接收;采用與優(yōu)先級相匹配的數(shù)據(jù)校驗算法校驗數(shù)據(jù)的正確性,保障接收數(shù)據(jù)的穩(wěn)定性。
2.按權(quán)利要求1所述的單串口多組數(shù)據(jù)涌入的同步協(xié)調(diào)處理方法,其特征在于所述優(yōu)先級分配算法過程如下提取數(shù)據(jù)幀中的地址信息。根據(jù)上述地址信息確定優(yōu)先級,將優(yōu)先級分為高、中、低、差四個等級,并分配不同的權(quán)值;數(shù)據(jù)進入待接收區(qū); 根據(jù)當前權(quán)值確定是否接收數(shù)據(jù); 若該組數(shù)據(jù)已經(jīng)接收,則將其權(quán)值清零。
3.按權(quán)利要求2所述的單串口多組數(shù)據(jù)涌入的同步協(xié)調(diào)處理方法,其特征在于若沒有接收,則加大該組數(shù)據(jù)的權(quán)值,增加下一循環(huán)被接收的幾率。
4.按權(quán)利要求1所述的單串口多組數(shù)據(jù)涌入的同步協(xié)調(diào)處理方法,其特征在于所述數(shù)據(jù)校驗算法為獲得優(yōu)先級信息; 高優(yōu)先級采取逐位異或校驗; 中優(yōu)先級采取逐位奇偶校驗; 低優(yōu)先級采取數(shù)據(jù)部分奇偶校驗; 差優(yōu)先級檢驗起始位、結(jié)束位; 數(shù)據(jù)通過了校驗則保存改組數(shù)據(jù); 數(shù)據(jù)沒有通過校驗則放棄數(shù)據(jù)。
5.一種單串口多組數(shù)據(jù)涌入的同步協(xié)調(diào)處理裝置,其特征在于包括η個通訊設備、RS232/RS485轉(zhuǎn)換模塊及工控機,其中η個通訊設備分別通過RS232/ RS485轉(zhuǎn)換模塊與工控機進行通訊連接。
6.按權(quán)利要求5所述的單串口多組數(shù)據(jù)涌入的同步協(xié)調(diào)處理裝置,其特征在于所述 RS232/RS485轉(zhuǎn)換模塊具有地址分配功能。
7.按權(quán)利要求5所述的單串口多組數(shù)據(jù)涌入的同步協(xié)調(diào)處理裝置,其特征在于第一個和最后一個通訊設備連接120歐姆終端電阻。
全文摘要
本發(fā)明涉及一種單串口多組數(shù)據(jù)涌入的同步協(xié)調(diào)處理方法及裝置,方法為按照不同串口設備的數(shù)據(jù)重要性將數(shù)據(jù)劃分為不同的優(yōu)先級;采用windows定時器周期性觸發(fā)數(shù)據(jù)讀取,周期長短可隨具體應用場合對實時性的要求而變化;按照優(yōu)先級分配算法協(xié)調(diào)各路數(shù)據(jù)的接收;采用與優(yōu)先級相匹配的數(shù)據(jù)校驗算法校驗數(shù)據(jù)的正確性,保障接收數(shù)據(jù)的穩(wěn)定性。裝置包括n個通訊設備、RS232/RS485轉(zhuǎn)換模塊及工控機,其中n個通訊設備分別通過RS232/RS485轉(zhuǎn)換模塊與工控機進行通訊連接。本發(fā)明保證不丟失任何一個串行設備的數(shù)據(jù),保證最重要數(shù)據(jù)的最完整校驗和非重要數(shù)據(jù)的數(shù)據(jù)部分校驗,同時兼顧了處理速度和數(shù)據(jù)準確性的雙重要求。
文檔編號G06F13/42GK102486764SQ20101057398
公開日2012年6月6日 申請日期2010年12月4日 優(yōu)先權(quán)日2010年12月4日
發(fā)明者孫凱, 李智剛, 秦寶成 申請人:中國科學院沈陽自動化研究所