RSR32串行端口通信數據采集工具的設計與實(shí)現
隨著(zhù)電子技術(shù)的不斷發(fā)展,通過(guò)實(shí)現各種端日傳輸數據的檢測和控制,就可以準確的判斷和分析問(wèn)題,從而找到解決問(wèn)題的方法。本文以目標系統下兩個(gè)獨立具有數據通信往來(lái)模塊為對象,通過(guò)該工具使得兩個(gè)獨立模塊之間不直接相連,而是通過(guò)工具轉接,從而可以觀(guān)察目標系統通信情況,進(jìn)而為判斷系統中的獨立模塊工作是否正常提供依據。
本文引用地址:http://dyxdggzs.com/article/201609/304008.htm1 工具設計與實(shí)現
1.1 設計框圖
如圖1所示,TARGET1和TARGET2為目標系統下兩個(gè)獨立具有數據通信往來(lái)的模塊,A和B為兩個(gè)端口,此兩端口沒(méi)有差異,無(wú)論何時(shí),從A端口接收到數據則立即通過(guò)B端口發(fā)送出去,反之亦然。A和B端口收發(fā)數據采用何種協(xié)議和格式,由程序運行的配置文件決定。本系統中,TARGET1和TARGET2無(wú)法直接進(jìn)行數據往來(lái),而是通過(guò)工具轉接,借助端口A(yíng)和B進(jìn)行數據傳遞,從而可以觀(guān)察目標系統的通信情況。

1.2 詳細設計
該工具的主程序包括端口參數配置文件、端口數據循環(huán)處理、文件存取等程序,主要通過(guò)配置服務(wù)端口和客戶(hù)端口參數,然后轉接到文件中,從而得到通信數據。主函數如下:



1.3 測試過(guò)程
1)運行SocketTool.exe,設置為服務(wù)端,數據收發(fā)窗口如圖2所示。簡(jiǎn)化的工具欄只有3個(gè)功能按鈕:“創(chuàng )建”“刪除”“退出”;操作窗口左側為端口的傳輸控制協(xié)議和用戶(hù)數據報協(xié)議的設置欄,鼠標雙擊對應名稱(chēng)列表或通過(guò)右擊對應名稱(chēng)列表彈出菜單設置,就可以對數據收發(fā)的服務(wù)器進(jìn)行端口設置。操作窗口右側上部顯示Socket狀態(tài);中部顯示接收數據流;下部顯示發(fā)送的數據和重復次數。同時(shí)勾選底部顯示十六進(jìn)制值功能,也可以對發(fā)送和接收的數據轉換成對應的ASCII碼。

2)運行SocketTool.exe,設置為客戶(hù)端,如圖3所示??蛻?hù)端口設置與服務(wù)端口設置基本一致,設置主窗口一致,通過(guò)Socket狀態(tài)進(jìn)行區分。

3)通過(guò)主窗口對參數進(jìn)行配置之后,可以生成配置文件并保存。需要修改服務(wù)端或客戶(hù)端參數時(shí),可以通過(guò)主界面進(jìn)行修改,也可以通過(guò)直接修改配置參數文件完成。打開(kāi)param.cfg文件,如圖4所示,配置過(guò)程及參數修改非常簡(jiǎn)單。

4)運行后臺控制文件dualport.exe,如圖5所示,方便觀(guān)察服務(wù)端口和客戶(hù)端口直接的數據傳遞信息觀(guān)察信息包括傳遞的來(lái)源、目的、時(shí)間、內容等。
5)測試結果??蛻?hù)端SocketTool.exe發(fā)送數據,則數據通過(guò)dualport.exe-轉發(fā)到服務(wù)端的SocketTool.exe。再使用服務(wù)端SocketTool.exe發(fā)送數據,則數據通過(guò)dualport.exe轉發(fā)到客戶(hù)端SocketTool.exe。圖6所示Bridge.log中記錄了所有經(jīng)過(guò)的數據。

2 結束語(yǔ)
該工具作為一種輔助手段,特別在某些地方不具有某些環(huán)境時(shí),可以幫助收集數據,同時(shí)不影響系統中各個(gè)獨立模塊的工作,也不影響系統中模塊的整體性。如果通信數據的時(shí)序(比如某些數據包之間的時(shí)間相差太大,或者太小等)有問(wèn)題,或數據出錯等等,該工具可以幫助排除問(wèn)題。該工具用于在兩個(gè)通信端口可以是RS232串口,網(wǎng)絡(luò )套接字sock et,甚至可以是并口,USB等。
評論