工業(yè)無線網(wǎng)絡(luò)性能測試方法
3.1.2 數(shù)據(jù)處理程序的實現(xiàn)數(shù)據(jù)處理程序流程如圖3所示。
當表Ⅰ(Ⅱ)完成256次測試后,測試程序會發(fā)送表Ⅰ(Ⅱ)測試完畢的信號量,數(shù)據(jù)處理程序獲得該同步信號量,并對該表進行數(shù)據(jù)處理。
根據(jù)表中發(fā)送和接收的數(shù)據(jù)信息計算出丟包率,令牌循環(huán)時間、無線網(wǎng)絡(luò)的流量和控制周期等參數(shù)。處理完成后清除表格中的數(shù)據(jù),并保存處理結(jié)果到相應的數(shù)據(jù)區(qū)。
3.1.3 接口程序的實現(xiàn)
顯示程序和觸摸屏輸入程序主要完成對測試結(jié)果的顯示和用戶的設(shè)置。上電后首先對硬件進行初始化,然后通過輸入信息選擇相應的顯示信息,即:丟包率顯示、流量顯示、令牌循環(huán)時間顯示、延時顯示以及與其他用戶交互的界面選擇。上位機通信利用套接字中的socket〔 〕和Connect 〔 〕函數(shù)與上位機之間建立起可用的TCP連接,用Send 〔 〕和receive 〔 〕函數(shù)將測試結(jié)果告知計算機。
3.2 多任務調(diào)度的實現(xiàn)
測試裝置的軟件系統(tǒng)采VxWorks嵌入式實時操作系統(tǒng)。VxWorks實時操作系統(tǒng)提供的多任務機制中對任務的控制采用了優(yōu)先級搶占和輪轉(zhuǎn)調(diào)度機制,充分保證了可靠的實時性,使同樣的硬件配置能滿足更強的實時性要求,為應用開發(fā)留下更大的余地。
在主程序中設(shè)定系統(tǒng)時鐘分辨率及任務調(diào)度方式,并創(chuàng)建twire、thandle、tclient、tdisplay和tserver共五個新任務。twire為無線節(jié)點任務,主要完成入網(wǎng)和發(fā)送接收數(shù)據(jù)、發(fā)送令牌等操作;thandle為性能測試結(jié)果的計算任務,將一次測試過程中的各項數(shù)據(jù)記錄在列表中,計算得到性能指標值等;tclient為TCP客戶端任務,主要利用socket和connect函數(shù)建立起可用的TCP連接,用send和,receive函數(shù)發(fā)送報文并接收對方響應,完成一次測試結(jié)果的上傳;tdisPlay為顯示和輸入任務,用于對測試數(shù)據(jù)的顯示和控制;tserver是Modbus/TCP服務器程序,完成Modbus/TCP 網(wǎng)絡(luò)通信的功能。上述各任務并行運行,任務之間的通信采用信號量和消息的方式。
各任務之間分別采用semhandle、semclient、semdis-play這三種信號量進行通信。其中,semhandle信號量用來同步thandle與 tserver任務,即當Modbus/TCP服務器端接收完一組測試包后才能開啟性能計算任務;semclient信號量用來同步thandle與tclient任務,當測試數(shù)據(jù)計算得出結(jié)果后才能通過客戶端上傳至上位機;semdispl叮用來同步thandle和tdisplay任務,即將thandie計算的數(shù)據(jù)結(jié)果同步顯示在液晶屏上。
四、實驗結(jié)果驗
評論