工業無線網絡性能測試方法
3.1.2 數據處理程序的實現數據處理程序流程如圖3所示。

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