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