欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種多路復用串口協(xié)議轉換器的制作方法

文檔序號:7553524閱讀:638來源:國知局
專利名稱:一種多路復用串口協(xié)議轉換器的制作方法
技術領域
本發(fā)明涉及串口設備,特別是指一種多路復用串口協(xié)議轉換器。
背景技術
在機房動力環(huán)境監(jiān)控系統(tǒng)或者類似的系統(tǒng)的數(shù)據(jù)采集應用環(huán)境中,對I/O數(shù)據(jù)采集器、電源設備、智能空調、門禁控制器等被監(jiān)控對象的串口數(shù)據(jù)采集,通常采用“串口協(xié)議轉換器”將被監(jiān)控對象的串口數(shù)據(jù)轉換成IP數(shù)據(jù)格式,然后通過串口協(xié)議轉換器的以太網端口上傳至上位機監(jiān)控系統(tǒng)。但是現(xiàn)有的串口協(xié)議轉換器由于在某一時間段內僅能接收和處理一條上位機發(fā)送的指令,因此假如多臺上位機同時通過串口協(xié)議轉換器對接入的同一串口設備(被監(jiān)控對象)進行數(shù)據(jù)采集,則會存在以下問題:1、可能出現(xiàn)多條不同上位機的指令粘連或交錯在一起,通過“串口協(xié)議轉換器”匯集后形成一個數(shù)據(jù)包由串口發(fā)往串口設備,串口設備將無法識別指令,造成上位機系統(tǒng)發(fā)出的指令無法響應。2、即使多臺上位機系統(tǒng)發(fā)送的查詢指令能依次到達串口設備,串口設備亦能夠識別多條查詢指令并返回結果,但“串口協(xié)議轉換器”會將全部的指令應答結果上傳到所有的上位機系統(tǒng),單一上位機得到的將不只是自己所發(fā)出指令的應答結果,而且包含其他上位機的應答結果,需將不屬于本上位機的應答結果剔除,這將造成上位機數(shù)據(jù)檢驗難度增大或造成數(shù)據(jù)錯亂現(xiàn)象出現(xiàn)。3、如果串口設備使用的是RS485接入模式,發(fā)送不進行流量控制和無時間間隙的數(shù)據(jù),會導致總線死鎖,整條485總線的所有串口設備的數(shù)據(jù)采集將中斷。4、多臺上位機通過同一“串口協(xié)議轉換器”對同一串口設備進行數(shù)據(jù)采集,由于串口通訊鏈路有響應慢,傳輸速率低的特點,多臺上位機使用串口協(xié)議轉換器采集數(shù)據(jù)的響應速度會比單機采集慢,極端情況下,會造成響應速度和數(shù)據(jù)采集性能不能滿足上位機系統(tǒng)的需求。5、目前市面上的通用“串口協(xié)議轉換器”雖然允許不同的上位機系統(tǒng)連接并采集數(shù)據(jù),但此類“串口協(xié)議轉換器”的設計不允許同一串口同時給兩臺以上的上位機使用,無法滿足多上位機共享“串口協(xié)議轉換器”資源的市場新需求。

發(fā)明內容
本發(fā)明提出一種多路復用串口協(xié)議轉換器,解決了多臺上位機對單一串口進行操作時的數(shù)據(jù)傳輸準確性,以及提高串口響應速度的問題。本發(fā)明的技術方案是這樣實現(xiàn)的:一種多路復用串口協(xié)議轉換器,包括:從上位機獲取查詢指令;串口協(xié)議轉換器根據(jù)動態(tài)鏈接庫函數(shù)對查詢指令數(shù)據(jù)進行校驗,判斷校驗成功后的查詢指令是否存在于指令緩沖區(qū),如存在,則判斷該查詢指令在指令緩沖區(qū)是否存在有效的返回結果并將返回結果發(fā)回上位機;若不存在則將該查詢指令存放于指令緩沖區(qū);串口協(xié)議轉換器根據(jù)查詢指令的優(yōu)先級依次發(fā)送校驗后的查詢指令至串口設備,串口設備響應查詢指令并返回結果;根據(jù)動態(tài)鏈接庫函數(shù)對返回結果數(shù)據(jù)的有效性進行校驗,將校驗成功后的返回結果存儲于指令緩沖區(qū);并根據(jù)指令緩沖區(qū)的狀態(tài)定義判斷是否將返回結果發(fā)送至上位機。優(yōu)選的,在執(zhí)行發(fā)送校驗后的查詢指令至設備的步驟中,預設有回復時間,當串口設備在預設的回復時間內未對查詢指令進行響應,則發(fā)送隊列中的下一條查詢指令。優(yōu)選的,在執(zhí)行發(fā)送校驗后的查詢指令至串口設備的步驟中,預設有發(fā)送時間間隔,為幾百毫秒到幾秒。優(yōu)選的,在執(zhí)行根據(jù)動態(tài)鏈接庫函數(shù)對查詢指令數(shù)據(jù)以及返回結果數(shù)據(jù)的有效性進行校驗,將未能校驗成功的數(shù)據(jù)暫存于數(shù)據(jù)緩沖區(qū)的步驟中;當接收到新的數(shù)據(jù)包時,首先對新數(shù)據(jù)包獨立校驗,若校驗成功,則將數(shù)據(jù)緩沖區(qū)數(shù)據(jù)移至指令緩沖區(qū);若校驗失敗,則與數(shù)據(jù)緩沖區(qū)的數(shù)據(jù)進行合并校驗;若合并校驗成功,則將數(shù)據(jù)移至指令緩沖區(qū),若合并校驗失敗,則將數(shù)據(jù)添加到數(shù)據(jù)緩沖區(qū)尾部。優(yōu)選的,在執(zhí)行串口協(xié)議轉換器根據(jù)動態(tài)鏈接庫函數(shù),對查詢指令數(shù)據(jù)和返回結果數(shù)據(jù)進行校驗的步驟時,首先判斷接收到的數(shù)據(jù)是否完整,若不完整,則等待下一數(shù)據(jù)包到來再共同判斷是否完整。本發(fā)明通過動態(tài)鏈接庫函數(shù)對查詢指令和返回結果的有效性進行校驗,從而可以避免無效信息,縮短響應時間的同時保證返回結果的可識別性,另外通過對返回結果進行緩存,在接收到查詢指令時,首先在緩存區(qū)內進行指令結果的查詢,若多個上位機對串口協(xié)議轉換器同一設備進行查詢,并且指令緩沖區(qū)存在相應有效的返回結果,則無需再向串口設備發(fā)送查詢指令,而直接將返回結果發(fā)送至上位機,從而可以縮短響應時間,以及避免結果錯誤,解決現(xiàn)有技術中查詢指令出現(xiàn)交錯,無法識別以及返回結果混淆的狀況,而造成上位機和串口監(jiān)控設備壓力或者無法識別返回結果的問題。


為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術中的技術方案,下面將對實施例或現(xiàn)有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1為本發(fā)明一種多路復用串口協(xié)議轉換器的流程圖;圖2為本發(fā)明一種多路復用串口協(xié)議轉換器的使用連接圖。
具體實施例方式下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領域普通技術人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
一種多路復用串口協(xié)議轉換器,包括:從上位機獲取查詢指令(步驟I);串口協(xié)議轉換器根據(jù)動態(tài)鏈接庫函數(shù)對查詢指令數(shù)據(jù)進行校驗,判斷校驗成功后的查詢指令是否存在于指令緩沖區(qū),如存在,則判斷該查詢指令在指令緩沖區(qū)是否存在有效的返回結果并將返回結果發(fā)回上位機;若不存在則將該查詢指令存放于指令緩沖區(qū);(步驟2)串口協(xié)議轉換器根據(jù)查詢指令的優(yōu)先級依次發(fā)送到串口設備,發(fā)送校驗后的查詢指令至串口設備,串口設備響應查詢指令并返回結果;(步驟3)根據(jù)動態(tài)鏈接庫函數(shù)對返回結果數(shù)據(jù)的有效性進行校驗,將校驗成功后的返回結果存儲于指令緩沖區(qū);并根據(jù)指令緩沖區(qū)的狀態(tài)定義判斷是否將返回結果發(fā)送至上位機。(步驟4)優(yōu)選的,在執(zhí)行步驟I時,上位機可以為多臺,根據(jù)預設的指令分別向同一串口協(xié)議轉換器的相同串口設備或不同串口設備發(fā)送查詢指令。在執(zhí)行步驟2時,通過預先研讀串口設備協(xié)議,根據(jù)協(xié)議格式和特點,編寫出對該協(xié)議數(shù)據(jù)進行校驗的動態(tài)鏈接庫函數(shù),用以判斷上位機和串口設備發(fā)送的指令是否符合設定的協(xié)議格式,例如指令是否完整,指令是否為有效的指令;動態(tài)鏈接庫函數(shù)存放于串口協(xié)議轉換器上,通過web配置對動態(tài)鏈接庫文件進行選擇,確認后隨服務程序運行。通過校驗后的查詢指令,將首先判斷該查詢指令是否存在于指令緩沖區(qū),若不存在,則將該查詢指令存放于指令緩沖區(qū)中;若存在,則根據(jù)該查詢指令在指令緩沖區(qū)查找返回結果,若存在有效返回結果,則將返回結果上傳上位機。當從上位機獲取到查詢指令后,由于同一串口協(xié)議轉換器允許接入多臺上位機,因此串口協(xié)議轉換器將根據(jù)上位機發(fā)送的查詢指令的優(yōu)先級依次發(fā)送到串口設備進行查詢,再執(zhí)行下一步驟。其中數(shù)據(jù)緩沖區(qū),用來存放上位機和串口設備發(fā)往協(xié)議轉換器未能成功校驗的數(shù)據(jù)。當成功校驗的數(shù)據(jù),則存儲到指令緩沖區(qū)的相對應指令區(qū)域。指令緩沖區(qū)用來存放成功校驗的指令數(shù)據(jù)和指令返回數(shù)據(jù),指令緩沖區(qū)的結構由“有效指令數(shù)量”,“正在發(fā)送到設備的指令編號”,“緩沖區(qū)是否可讀取標識”,“指令結構數(shù)組”組成。指令數(shù)組由“緩存指令編號”,“指令結構是否有效”,“是否該記錄存在未返回數(shù)據(jù)情況”,“數(shù)據(jù)哈希校驗”,“指令訂閱時間”,“數(shù)據(jù)內容”,“數(shù)據(jù)長度”,“指令訂閱H志結構”組成。指令訂閱日志結構由“訂閱日志的文件描述符編號”,“文件描述符標識”,“準備寫入的訂閱數(shù)組編號”,“是否該連接存在未返回數(shù)據(jù)情況”,“歷次訂閱時間數(shù)組”組成。優(yōu)選的,在執(zhí)行步驟3時,發(fā)送至串口設備的查詢指令,串口協(xié)議轉換器將根據(jù)預設超時時間和指令有效性判斷進行串口收發(fā)數(shù)據(jù)控制,避免因為數(shù)據(jù)發(fā)送速度過快對串口設備和串口總線沖擊造成死鎖的現(xiàn)象,及避免查詢指令混淆,發(fā)送到串口設備的查詢指令無法識別,因此采用的方式是在串口設備處于空閑期時,才往串口設備發(fā)送查詢指令,串口設備處于空閑狀態(tài)的一個判斷標準為,串口設備返回串口協(xié)議轉換器的數(shù)據(jù)是否已經發(fā)送完畢,可以接受下一條指令,也即判斷返回串口設備的指令是否完整以及設定的超時時間是否達到。從而可以保證發(fā)送至串口設備的查詢指令是可以識別的,并且不會發(fā)生指令混淆的現(xiàn)象。優(yōu)選的,在執(zhí)行步驟4時,返回結果通過校驗,則將其存于指令緩沖區(qū)中,未通過則存放在數(shù)據(jù)緩沖區(qū),具體的,當接收到返回結果則觸發(fā)數(shù)據(jù)動態(tài)鏈接庫函數(shù)對數(shù)據(jù)進行校驗,校驗步驟如下:首先對當前接收到的數(shù)據(jù)包獨立校驗,假如校驗成功,則將數(shù)據(jù)緩沖區(qū)數(shù)據(jù)移至指令緩沖區(qū);假如校驗失敗,則與數(shù)據(jù)緩沖區(qū)數(shù)據(jù)進行合并校驗,若合并校驗成功,則將數(shù)據(jù)移至指令緩沖區(qū),若合并校驗失敗,則將數(shù)據(jù)添加到數(shù)據(jù)緩沖區(qū)尾部,用于下次接收到新的數(shù)據(jù)再進行合并校驗;假如數(shù)據(jù)合并大小超出了數(shù)據(jù)緩沖區(qū)定義大小,則清空數(shù)據(jù)緩沖區(qū)。每一個上位機連接在串口協(xié)議轉換器的指令緩沖區(qū)都有一個該連接的文件描述符結構,在串口協(xié)議轉換器接收到上位機的指令,假如在指令緩沖區(qū)中該指令未有有效的返回結果緩存,則在該連接的文件描述符結構中置一個未發(fā)送數(shù)據(jù)的標記,說明該連接的指令未返回數(shù)據(jù)。當串口協(xié)議轉換器接收到串口設備的返回結果,查看該指令所有連接標記是否存在數(shù)據(jù)未返回標志,假如存在,則將返回結果發(fā)往上位機。本發(fā)明通過動態(tài)鏈接庫函數(shù)對查詢指令和返回結果的有效性進行校驗,從而可以避免無效信息,縮短響應時間的同時保證返回結果的可識別性,另外通過對返回結果進行緩存,在接收到查詢指令時,首先在指令緩存區(qū)內進行指令結果的查詢,若多個上位機對串口協(xié)議轉換器同一設備進行查詢,并且指令緩沖區(qū)存在相應有效的返回結果,則無需再向串口設備發(fā)送查詢指令,而直接將返回結果發(fā)送至上位機,從而可以縮短響應時間,以及避免結果錯誤,解決現(xiàn)有技術中查詢指令出現(xiàn)交錯,無法識別以及返回結果混淆的狀況,而造成上位機和串口監(jiān)控設備壓力或者無法識別返回結果的問題。優(yōu)選的,在執(zhí)行發(fā)送校驗后的查詢指令至設備的步驟中,預設有回復時間,當串口設備在預設的回復時間內未對查詢指令進行響應,則發(fā)送隊列中的下一條查詢指令,通過超時設置,可以有效的控制串口協(xié)議轉換器發(fā)送數(shù)據(jù)的速度。優(yōu)選的,在執(zhí)行發(fā)送校驗后的查詢指令至串口設備的步驟中,預設有發(fā)送時間間隔,為幾百毫秒到幾秒,例如,100毫秒到幾秒或者其他的根據(jù)需求設定的時間。優(yōu)選的,在執(zhí)行根據(jù)動態(tài)鏈接庫函數(shù)對查詢指令數(shù)據(jù)以及返回結果數(shù)據(jù)的有效性進行校驗,將未能校驗成功的數(shù)據(jù)暫存于數(shù)據(jù)緩沖區(qū)的步驟中;當接收到新的數(shù)據(jù)包時,首先對新數(shù)據(jù)包獨立校驗,若校驗成功,則將數(shù)據(jù)緩沖區(qū)數(shù)據(jù)移至指令緩沖區(qū);若校驗失敗,則與數(shù)據(jù)緩沖區(qū)的數(shù)據(jù)進行合并校驗;若合并校驗成功,則將數(shù)據(jù)移至指令緩沖區(qū),若合并校驗失敗,則將數(shù)據(jù)添加到數(shù)據(jù)緩沖區(qū)尾部。優(yōu)選的,在執(zhí)行串口協(xié)議轉換器根據(jù)動態(tài)鏈接庫函數(shù)對查詢指令數(shù)據(jù)和返回結果數(shù)據(jù)進行校驗的步驟時,首先判斷接收到的數(shù)據(jù)是否完整,若不完整,則等待下一數(shù)據(jù)包到來再共同判斷是否完整。本發(fā)明允許多個上位機通過同一串口協(xié)議轉換器對同一串口設備進行數(shù)據(jù)采集和交互通訊。多個上位機系統(tǒng)可以同時對同一臺串口設備進行數(shù)據(jù)采集和交互通訊,無需部署多臺“串口協(xié)議轉換器”,節(jié)約底端采集系統(tǒng)的建設成本。而且,相比從系統(tǒng)平臺間通過接口共享數(shù)據(jù)的方式,本發(fā)明多路復用“串口協(xié)議轉換器”實現(xiàn)多個系統(tǒng)的源數(shù)據(jù)(底層數(shù)據(jù))共享,避免了多上位機系統(tǒng)間互聯(lián)互通的管理和維護問題。另外,本發(fā)明采集響應速度比普通“串口協(xié)議轉換器”要快。其通過采用串口數(shù)據(jù)緩存的方式工作,并對接收到上位機查詢指令進行分析存儲,根據(jù)查詢指令的優(yōu)先級判定,進行主動輪詢,對返回結果進行保存。“多路復用串口協(xié)議轉換器”不需要重復發(fā)送數(shù)據(jù)到串口設備,而直接將緩存返回結果返回上位機,從而達到快速響應的目的。例如,進行100字節(jié)9600波特率下的收發(fā)數(shù)據(jù)自環(huán)測試,使用普通“串口協(xié)議轉換器”傳送方式,一次自環(huán)傳輸耗時平均約為100毫秒,而使用我司發(fā)明的“多路復用串口協(xié)議轉換器”進行轉發(fā),一次自環(huán)傳輸耗時平均約為I毫秒,比普通的“串口協(xié)議轉換器”的數(shù)據(jù)響應速度有了極大提聞。另外通過使用串口數(shù)據(jù)動態(tài)鏈接庫函數(shù)校驗,能夠校驗判斷發(fā)送和接收的數(shù)據(jù)是否有效,有效控制阻止無效指令發(fā)往串口設備。通過超時設置、發(fā)送間隔設置、指令緩存設置等配置選項,有效控制串口協(xié)議轉換器發(fā)送數(shù)據(jù)速度,避免因為數(shù)據(jù)發(fā)送速度過快對串口設備和串口總線沖擊造成的死鎖現(xiàn)象的出現(xiàn)。另外,由于多路復用串口協(xié)議轉換器基于上位機發(fā)送指令進行工作的,在上位機看來,該“多路復用串口協(xié)議轉換器”亦是一個透明傳輸?shù)倪^程,可以無縫替代普通的“串口協(xié)議轉換器”,無需上位機系統(tǒng)作任何修改,即可使用該“多路復用串口協(xié)議轉換器”。以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內。
權利要求
1.一種多路復用串口協(xié)議轉換器,其特征在于,包括: 從上位機獲取查詢指令; 串口協(xié)議轉換器根據(jù)動態(tài)鏈接庫函數(shù)對查詢指令數(shù)據(jù)進行校驗,判斷校驗成功后的查詢指令是否存在于指令緩沖區(qū),如存在,則判斷該查詢指令在指令緩沖區(qū)是否存在有效的返回結果并將返回結果發(fā)回上位機;若不存在則將該查詢指令存放于指令緩沖區(qū); 串口協(xié)議轉換器根據(jù)查詢指令的優(yōu)先級依次發(fā)送校驗后的查詢指令至串口設備,串口設備響應查詢指令并返回結果; 根據(jù)動態(tài)鏈接庫函數(shù)對返回結果數(shù)據(jù)的有效性進行校驗,將校驗成功后的返回結果存儲于指令緩沖區(qū);并根據(jù)指令緩沖區(qū)的狀態(tài)定義判斷是否將返回結果發(fā)送至上位機。
2.如權利要求1所述的一種多路復用串口協(xié)議轉換器,其特征在于:在執(zhí)行發(fā)送校驗后的查詢指令至設備的步驟中,預設有回復時間,當串口設備在預設的回復時間內未對查詢指令進行響應,則發(fā)送隊列中的下一條查詢指令。
3.如權利要求1所述的一種多路復用串口協(xié)議轉換器,其特征在于:在執(zhí)行發(fā)送校驗后的查詢指令至串口設備的步驟中,預設有發(fā)送時間間隔,為幾百毫秒到幾秒。
4.如權利要求1所述的一種多路復用串口協(xié)議轉換器,其特征在于:在執(zhí)行根據(jù)動態(tài)鏈接庫函數(shù)對查詢指令數(shù)據(jù)以及返回結果數(shù)據(jù)的有效性進行校驗,將未能校驗成功的數(shù)據(jù)暫存于數(shù)據(jù)緩沖區(qū)的步驟中;當接收到新的數(shù)據(jù)包時,首先對新數(shù)據(jù)包獨立校驗,若校驗成功,則將數(shù)據(jù)緩沖區(qū)數(shù)據(jù)移至指令緩沖區(qū);若校驗失敗,則與數(shù)據(jù)緩沖區(qū)的數(shù)據(jù)進行合并校驗;若合并校驗成功,則將數(shù)據(jù)移至指令緩沖區(qū),若合并校驗失敗,則將數(shù)據(jù)添加到數(shù)據(jù)緩沖區(qū)尾部。
5.如權利要求1所述的一種多路復用串口協(xié)議轉換器,其特征在于:在執(zhí)行串口協(xié)議轉換器根據(jù)動態(tài)鏈接庫函數(shù)對查詢指令數(shù)據(jù)和返回結果數(shù)據(jù)進行校驗步驟時,首先判斷接收到的數(shù)據(jù)是否完整,若不完整,則等待下一數(shù)據(jù)包到來再共同判斷是否完整。
全文摘要
本發(fā)明提出一種多路復用串口協(xié)議轉換器,包括從上位機獲取查詢指令;串口協(xié)議轉換器根據(jù)動態(tài)鏈接庫函數(shù)對查詢指令進行校驗,判斷校驗成功后的查詢指令是否存在于指令緩沖區(qū),如存在,則判斷該查詢指令在指令緩沖區(qū)是否存在有效的返回結果并將返回結果發(fā)回上位機;若不存在則將該查詢指令存放于指令緩沖區(qū);串口協(xié)議轉換器根據(jù)查詢指令的優(yōu)先級依次發(fā)送到串口設備,發(fā)送校驗后的查詢指令至串口設備,串口設備響應查詢指令并返回結果;根據(jù)動態(tài)鏈接庫函數(shù)對返回結果的有效性進行校驗,將校驗成功的返回結果存儲于指令緩沖區(qū);并根據(jù)指令緩沖區(qū)的狀態(tài)定義判斷是否將返回結果發(fā)送至上位機。本發(fā)明準確性高,速度快。
文檔編號H04L29/06GK103166971SQ20131008543
公開日2013年6月19日 申請日期2013年3月15日 優(yōu)先權日2013年3月15日
發(fā)明者雷海濤 申請人:廣東盈嘉科技工程發(fā)展股份有限公司
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
娄底市| 新安县| 永嘉县| 平南县| 南江县| 梁山县| 龙游县| 分宜县| 湖口县| 永靖县| 白城市| 三台县| 招远市| 普陀区| 阿鲁科尔沁旗| 玉树县| 潮州市| 新绛县| 堆龙德庆县| 工布江达县| 尼勒克县| 建湖县| 娄底市| 即墨市| 嵊泗县| 疏附县| 千阳县| 民权县| 衡阳市| 常宁市| 湟源县| 图木舒克市| 墨竹工卡县| 德江县| 昂仁县| 绥阳县| 沛县| 宾阳县| 临江市| 巫山县| 敖汉旗|