新聞中心

        EEPW首頁 > 測試測量 > 設計應用 > 基于RS422接口的備份測試系統設計

        基于RS422接口的備份測試系統設計

        作者: 時間:2012-07-16 來源:網絡 收藏

        1、引言

        本文引用地址:http://www.104case.com/article/193591.htm

        在復雜現場工業環境中,有時需要對現場工作設備進行,提供一套與工作設備完全相同的設備,提高設備的應急處理能力和工作任務完成的的靠性。在這種方式中,主輔兩臺設備同時開機,同時接收終端設備數據,根據需求采用通信協議簡單、容錯能力強、安全性好以及成本較低的總線方式實現。總線是一種點對點傳輸總線,它定義了一種平衡通信,將傳輸速率提高到10Mb/s,在傳輸速率低于100kb/s時,其傳輸距離可達1200米。傳輸協議屬于單機發送、多機接收的單向、平衡傳輸規范,只對電氣特性做出規定,不涉及接插件、電纜或協議,可在此基礎上建立高層通信協議進行通信。

        2、系統設計

        為使主輔設備互為,需要主輔設備同時接收數據、主設備應答終端設備信號命令,而輔設備不應答終端設備信號命令。主輔設備與終端設備通過RS422端口連接方式如圖1所示。

        11.gif

        圖1 系統接口設計小標

        3、系統工作流程

        主輔設備同時工作時,系統工作流程如圖2所示:

        22.gif

        圖2 系統工作流程框圖

        4、軟件設計

        通信過程中,終端設備通過RS422端口按查詢通信方式和中斷通信方式與主輔設備進行通信。

        4.1 數據幀格式設計

        4.1.1 查詢通信幀格式

        查詢通信幀格式如表1所示,按照單字節握手方式進行數據傳輸:終端設備按照單字節信號傳輸方式發送信號命令到主輔設備,主設備在接收到每個字節后返回到終端設備,輔設備則無應答。終端設備在確認接收字節與發送字節無誤后繼續發送幀中下一字節數據到主輔設備。

        表1 查詢通信數據幀格式

        幀格式

        幀頭

        數據長度

        識別符

        代碼

        幀尾

        字節數

        3

        2

        2

        1

        1

        4.1.2 中斷通信數據幀格式

        中斷通信數據幀格式如表2所示,按照中斷方式進行數據傳輸:設備通過數據幀格式將每一個字節順序發出,接收方以中斷方式進行接收,根據幀格式判斷是否收到完整數據幀。

        表2 中斷通信數據幀格式

        幀格式

        幀頭

        識別符

        數據區

        校驗和

        數據長度

        幀尾

        字節數

        2

        7

        200

        1

        2

        2

        4.2 設計考慮

        4.2.1 數據幀判別

        設置后臺監視線程,主輔設備同時不間斷接收終端設備傳輸信號,接收到信號后,判斷是否為單字節,若是單字節則延時20毫秒繼續接收。20毫秒后若沒有接收到數據則進入查詢通信格式進行單字節握手接收,否則進入中斷通信方式進行數據接收。

        4.2.2 通信同步

        4.2.2.1 主輔設備與終端設備數據接收同步

        主輔設備與終端設備通信時需在發送和接收數據時間間隔上進行限制,當接收和發送時間超過時間間隔,就認為本次通信失敗。程序立即回到通信程序開始,并清空緩沖區的數據繼續查詢接收;終端設備若在規定時間未收到返回確認信號,也立即返回到通信程序開始,并清空緩沖區中的數據,重新發送數據,接收雙方重新同步。

        4.2.2.2 主設備與輔設備接收同步

        主設備與輔設備同時接收終端設備傳輸數據,因為接收線程都是程序子線程,因此當主設備接收并應答終端設備信號時,輔設備接收線程可能存在未同步接收的情況,當主設備與終端設備通信到一定時間時,輔設備才開始接收數據。此時,輔設備接收線程進入中斷通信方式。

        因此在程序設計中接收線程采用中斷查詢混合接收方式,判別幀格式不屬于中斷通信幀格式后,采用單字節格式繼續進行數據接收。

        4.2.3 丟幀處理

        主輔設備同時接收終端設備中斷數據幀格式時,需考慮到主輔設備間接收線程同步性,判別接收數據時是否存在丟幀現象。

        4.3 接收工作線程

        軟件接收參數工作線程如圖3所示。

        33.gif

        圖3 軟件接收工作線程

        4.3.1 查詢通信流程

        查詢通信工作流程如圖4所示。

        44.gif

        圖4 查詢通信工作流程

        4.3.2 中斷查詢混合通信流程

        中斷查詢混合通信工作流程如圖5所示。

        55.gif

        圖5 中斷查詢混合通信工作流程

        5、結論

        經過實驗驗證,通信時,通過主設備單獨應答終端設備信號命令,主輔設備能很好的同時接收終端設備數據并存儲備份。經過分析,這種按照RS422總線方式進行連接的備份測試方法雖然降低了總線輸出電平差值,但輸出電平仍然遠大于RS422規定的200mv門限電平值。因此,這種連接設計的主輔備份測試系統很好的滿足了數據備份和數據通信傳輸要求,而其結構簡單、構造方便、成本較低的優點更具有無可比擬的優勢。

        參考文獻

        [1] LRINRVKRT R C.Visual C++ Bible[M].北京:電子工業出版,1999.

        [2] 徐曉剛,高兆法,王秀娟,Visual c 6.0入門與提高[M].北京:清華大學出版社,1999.

        [3] 蔣濤.多串口通信編程解決方案分析[J].四川師范大學學報:自然科學版,2001,24[5]:11-14.

        [4] Shepherd G,Kruglinski D.Visual C++.Net技術內幕[M].潘愛民,譯.北京:清華大學出版社,2004.

        [5] Gregory K.Visual C++ 5開發使用手冊[M].抗波創作室,譯.北京:機械工業出版社,1998.

        c++相關文章:c++教程


        數字通信相關文章:數字通信原理


        通信相關文章:通信原理




        關鍵詞: 422 RS 接口 備份

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 富平县| 习水县| 容城县| 荥经县| 疏勒县| 吉首市| 嘉荫县| 宁陕县| 泰顺县| 通城县| 富平县| 大港区| 龙游县| 昆山市| 新宁县| 高州市| 峨眉山市| 屏山县| 扎囊县| 毕节市| 西昌市| 宁乡县| 罗山县| 贵溪市| 仙游县| 克拉玛依市| 洛阳市| 浮山县| 岑巩县| 克东县| 西乡县| 桦南县| 弥勒县| 四平市| 北碚区| 黄龙县| 方正县| 仙游县| 涞源县| 枞阳县| 桐城市|