• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于嵌入式Linux的輸電線路桿塔傾斜度自動化測試系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

      2016-11-17 08:56:06岳靈平鄭鵬超
      計(jì)算機(jī)測量與控制 2016年9期
      關(guān)鍵詞:傾斜度測試項(xiàng)目服務(wù)端

      王 威, 岳靈平, 楊 吉,鄭鵬超

      (1.北京國網(wǎng)富達(dá)科技發(fā)展有限責(zé)任公司,北京 100070; 2.國網(wǎng)浙江省電力公司,杭州 310007;3.中國電力科學(xué)研究院,北京 100070)

      ?

      基于嵌入式Linux的輸電線路桿塔傾斜度自動化測試系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

      王 威1, 岳靈平2, 楊 吉3,鄭鵬超1

      (1.北京國網(wǎng)富達(dá)科技發(fā)展有限責(zé)任公司,北京 100070; 2.國網(wǎng)浙江省電力公司,杭州 310007;3.中國電力科學(xué)研究院,北京 100070)

      在總結(jié)實(shí)際工作經(jīng)驗(yàn)的基礎(chǔ)上,針對在測試輸電線路桿塔傾斜度在線監(jiān)測系統(tǒng)過程中存在的搭建測試環(huán)境復(fù)雜、測試步驟繁瑣、測試周期長、測試效率低、測試結(jié)果格式混亂等問題,設(shè)計(jì)了一個(gè)使用客戶端/服務(wù)器架構(gòu)的自動化測試系統(tǒng),詳細(xì)論述了該系統(tǒng)的設(shè)計(jì)方案和實(shí)現(xiàn)原理;客戶端基于嵌入式linux系統(tǒng),采用多線程技術(shù),通過以太網(wǎng),使用定制的通信協(xié)議與服務(wù)端通信,能夠在收到服務(wù)端指令后自動完成輸電線路桿塔傾斜度在線監(jiān)測系統(tǒng)硬件模塊的功能測試;服務(wù)端采用python和PyQt開發(fā),能夠跨平臺運(yùn)行,使用多線程技術(shù),實(shí)現(xiàn)了圖形化控制客戶端、查看客戶端測試狀態(tài)、保存測試日志、生成標(biāo)準(zhǔn)化的xls和pdf格式的測試報(bào)告等功能;實(shí)際應(yīng)用表明,該系統(tǒng)有效可靠結(jié)果準(zhǔn)確,提高了測試效率,提升了輸電線路桿塔傾斜度在線監(jiān)測系統(tǒng)的可靠性。

      嵌入式;桿塔傾斜度; 在線監(jiān)測; 自動化測試

      0 引言

      輸電線路桿塔傾斜度在線監(jiān)測系統(tǒng)是指通過傾角傳感器實(shí)時(shí)采集桿塔順線方向傾斜角、橫向方向傾斜角,并計(jì)算出桿塔的順線傾斜度、橫向傾斜度和綜合傾斜度后,通過以太網(wǎng)或GPRS網(wǎng)絡(luò)將監(jiān)測數(shù)據(jù)傳送至主站系統(tǒng),實(shí)現(xiàn)對桿塔傾斜各狀態(tài)量監(jiān)測的系統(tǒng)。其主要應(yīng)用在輸變電設(shè)備的狀態(tài)檢修管理,保障電網(wǎng)的安全穩(wěn)定運(yùn)行[1-2]。隨著輸電線路桿塔傾斜度在線監(jiān)測系統(tǒng)的應(yīng)用越來越廣泛,傳統(tǒng)的人工測試硬件方法的局限性越來越顯現(xiàn):測試環(huán)境搭建復(fù)雜、測試步驟繁瑣、測試周期長、測試效率低、測試結(jié)果格式混亂且不易保存,嚴(yán)重制約了輸電線路桿塔傾斜度在線監(jiān)測設(shè)備的批量化生產(chǎn)和測試。

      自動化測試可理解為測試過程自動化和測試結(jié)果分析自動化[3-6]。本文針對實(shí)際生產(chǎn)過程中發(fā)現(xiàn)的人工硬件測試的不足,設(shè)計(jì)和實(shí)現(xiàn)了基于嵌入式Linux的輸電線路桿塔傾斜度自動化測試系統(tǒng)。

      1 測試需求分析

      為提高輸電線路桿塔傾斜在線監(jiān)測設(shè)備產(chǎn)品的整體質(zhì)量,確定輸電線路桿塔傾斜度自動化測試系統(tǒng)應(yīng)具有如下功能:

      1)客戶端硬件模塊的自動檢測,主要包括網(wǎng)口、3 G模塊、2.4 G模塊、加密卡模塊、串口、485功能接口、系統(tǒng)監(jiān)控板、時(shí)鐘、Nand flash的壞道數(shù)量等,老化實(shí)驗(yàn)過程中客戶端系統(tǒng)狀態(tài)信息的保存。

      2)服務(wù)器端查詢指定時(shí)間段內(nèi)老化記錄,存儲測試結(jié)果儲并將測試結(jié)果保存為pdf和xls格式,便于存檔和統(tǒng)計(jì),對客戶端測試狀態(tài)信息的展示。

      2 輸電線路桿塔傾斜度自動化測試系統(tǒng)

      2.1 總體設(shè)計(jì)

      輸電線路桿塔傾斜度自動化測試系統(tǒng)由運(yùn)行在嵌入式linux上的測試客戶端和運(yùn)行在pc上的測試服務(wù)端組成,二者之間通過以太網(wǎng)相連進(jìn)行通信。整個(gè)系統(tǒng)的基本操作流程如圖1所示。

      圖1 操作流程

      測試人員選定待測試的桿塔傾斜度在線監(jiān)測設(shè)備,燒寫linux內(nèi)核和測試客戶端程序,安裝待檢測的配件模塊,如3 G模塊、加密卡模塊、2.4 G模塊等,給設(shè)備上電,用網(wǎng)線將設(shè)備與電腦相連,點(diǎn)擊運(yùn)行電腦上的測試服務(wù)端程序,待服務(wù)端程序給客戶端程序分配好ip和mac地址后,給待測試設(shè)備命名并根據(jù)測試目標(biāo)下發(fā)測試項(xiàng)目給客戶端程序,然后可以選擇繼續(xù)添加待測試設(shè)備。當(dāng)所有待測試設(shè)備都添加完畢后,點(diǎn)擊“測試”按鈕,下發(fā)測試指令給所有待監(jiān)測設(shè)備,等待客戶端程序返回測試結(jié)果。客戶端程序收到測試指令后,按照之前收到的測試項(xiàng)目逐一進(jìn)行測試,記錄測試結(jié)果并將測試結(jié)果發(fā)送給服務(wù)端程序。服務(wù)端程序收到測試結(jié)果后,對測試結(jié)果進(jìn)行統(tǒng)計(jì)并生成pdf和xls格式的測試報(bào)告,完成本次測試。

      2.2 客戶端設(shè)計(jì)

      客戶端是基于嵌入式linux的自動化檢測程序,主要包括動態(tài)ip和mac請求線程、數(shù)據(jù)接收線程、測試線程和心跳線程。

      動態(tài)ip和mac請求線程主要向服務(wù)器發(fā)送申請ip和mac的請求及接收和設(shè)置服務(wù)器返回的ip和mac;數(shù)據(jù)接收線程主要負(fù)責(zé)接收服務(wù)器發(fā)送的測試項(xiàng)的配置參數(shù)和各種測試指令、解析它們并將其存入待測試指令隊(duì)列匯總;測試線程主要負(fù)責(zé)當(dāng)客戶端收到服務(wù)器發(fā)送的測試指令后,開始從待測試隊(duì)列中讀取測試命令,執(zhí)行測試函數(shù),并負(fù)責(zé)處理測試結(jié)果。心跳線程主要負(fù)責(zé)發(fā)送心跳報(bào)文給服務(wù)端,確??蛻舳薸p和mac有效。

      客戶端處理流程如圖2所示。

      圖2 客戶端處理流程

      客戶端程序啟動后,首先屏蔽SIGHUP等常見信號干擾,初始化全部外圍設(shè)備并打開外圍設(shè)備電源,初始化ip和mac請求線程、數(shù)據(jù)接收線程、定時(shí)器線程、測試線程和心跳線程。檢查是否存在上一此分配的ip和mac,若存在,則加載此ip和mac;否則加載默認(rèn)的ip和mac。創(chuàng)建ip和mac請求線程,向服務(wù)端廣播請求報(bào)文,等待服務(wù)端分配指定ip和mac。待收到ip和mac后,設(shè)置為本機(jī)的ip和mac,同時(shí)ip和mac線程進(jìn)入休眠。然后主程序創(chuàng)建心跳線程。心跳線程每十秒發(fā)送心跳報(bào)文至服務(wù)端,確保ip和mac有效。主程序創(chuàng)建測試線程。測試線程檢查是否有未完成的測試項(xiàng)目。若有,則讀取未完成的測試指令,完成測試,將測試結(jié)果發(fā)送給服務(wù)端,繼續(xù)等待服務(wù)端的測試指令。若沒有未完成的測試項(xiàng)目,測試線程檢查待測試命令隊(duì)列。若隊(duì)列內(nèi)無測試命令,則測試線程休眠。主程序創(chuàng)建數(shù)據(jù)接收線程,等待服務(wù)端測試指令。當(dāng)數(shù)據(jù)接收線程收到服務(wù)端發(fā)送的指令后,按照通信協(xié)議進(jìn)行校驗(yàn),若校驗(yàn)通過,進(jìn)行解析;否則返回相應(yīng)錯(cuò)誤代碼給服務(wù)端。解析后,根據(jù)指令類型的不同分別做相應(yīng)的處理。若為開始測試指令,則喚醒測試線程,讀取待測試隊(duì)列中的命令,開始測試,測試完畢后將測試結(jié)果發(fā)送回服務(wù)端。若為下發(fā)測試項(xiàng)目指令,則將收到的測試指令添加到待測試命令隊(duì)列中。若為ip和mac失效報(bào)文,則喚醒ip和mac請求線程,重新請求ip和mac。若為心跳回復(fù)報(bào)文,則通知心跳發(fā)送線程收到服務(wù)端的心跳回復(fù)。

      2.3 服務(wù)端設(shè)計(jì)

      運(yùn)行在pc上的服務(wù)端程序主要負(fù)責(zé)處理ip和mac分配請求、按照規(guī)則為客戶端分配ip和mac、設(shè)置測試項(xiàng)目、將測試項(xiàng)目下發(fā)給客戶端、發(fā)出測試指令、展現(xiàn)客戶端的測試狀態(tài)同時(shí)格式化存儲測試結(jié)果。采用python語言開發(fā)。

      按照功能,主程序主要分為以下幾個(gè)模塊。

      1)存儲模塊:

      存儲模塊采用列表結(jié)構(gòu),列表中每一項(xiàng)為一個(gè)key-value形式的字典,其中key主要包括序號、名稱、ip、mac、ip和mac是否分配、測試項(xiàng)目是否下發(fā)、測試是否開始、測試結(jié)果。測試結(jié)果亦為一個(gè)key-value形式的字典,保存客戶端自動測試后發(fā)送回的結(jié)果。

      2)展現(xiàn)模塊:

      展現(xiàn)模塊采用PyQt框架開發(fā)。PyQt為Qt框架的python版本。展現(xiàn)模塊主要包括4個(gè)功能區(qū)。

      (1)測試狀態(tài)展示功能區(qū):

      主要展示具體測試設(shè)備的ip、mac、ip和mac分配狀態(tài)、測試項(xiàng)目下發(fā)狀態(tài)、測試過程狀態(tài)

      (2)測試項(xiàng)目設(shè)置功能區(qū):

      主要包括具體測試硬件模塊的設(shè)置,如3 G模塊、時(shí)鐘模塊、系統(tǒng)監(jiān)控板模塊等。

      (3)控制指令下發(fā)功能區(qū):

      主要包括設(shè)置默認(rèn)測試項(xiàng)目、下發(fā)測試配置、開始測試、導(dǎo)出測試結(jié)果、查詢老化記錄等功能按鈕。

      (4)老化狀態(tài)信息查詢功能區(qū):

      主要包括查詢起止時(shí)間的設(shè)置,系統(tǒng)老化過程中的狀態(tài)信息(如cpu利用率、內(nèi)存使用量、內(nèi)存空閑量、Nand flash使用量、Nor flash使用量等)的展示。

      3)ip和mac分配模塊:

      接受客戶端的ip和mac請求報(bào)文,返回ip和mac的設(shè)置報(bào)文,同時(shí)定時(shí)檢查所有客戶端的ip和mac是否在指定時(shí)間內(nèi)失效。若失效,則給客戶端發(fā)送失效報(bào)文。

      4)日志記錄模塊:

      主要記錄各個(gè)子模塊在運(yùn)行過程中出現(xiàn)的各種問題,便于后期對發(fā)現(xiàn)的問題進(jìn)行修改。如下面這條記錄記錄了何時(shí)哪個(gè)模塊收到了客戶端發(fā)送回來的測試結(jié)果,同時(shí)記錄了對該設(shè)備下發(fā)的測試項(xiàng)目以及其他相關(guān)測試狀態(tài)的信息。

      2015-12-21 10:19:48,929 - main - INFO - {'id': 173341178894, 'mask': 4294967040, 'test_items':{'encry_card':'83','min_sys':'88','two_four_g':'82','timer':'87','four_eight_five': '85,485NUM=3','flash': '89', 'net': '80'},'number':0,'test_status':2,'device_name': 'test1', 'result':{'83': 'Nspi_other_ver() error!', '82': 'Npeekfd zigbee error!', '88': 'Y','85':'Y','89':'Y'},'mac':'BE:FD:01:F1:00:02','last_time':1450664377.820872,'fail_flag': 1, 'assigned_config': 1, 'assigned_ip': 2, 'start_time': 1450660765.653268, 'ip': '192.192.192.1', 'test_time': '01'}。

      5)通信模塊:

      按照指定協(xié)議格式,發(fā)送相關(guān)的控制指令等。

      1)測試結(jié)果的格式化模塊:

      主要功能為將內(nèi)存中保存的測試結(jié)果轉(zhuǎn)換為pdf和xls格式文件存儲在硬盤上,以便于后期存檔和統(tǒng)計(jì)。

      程序處理流程如圖3所示。

      主程序啟動后,啟動界面展現(xiàn)線程、ip和mac分配線程、接收線程、定時(shí)器線程。界面展現(xiàn)線程主要負(fù)責(zé)人機(jī)交互、下發(fā)測試配置、導(dǎo)出測試結(jié)果、展現(xiàn)被測試設(shè)備的狀態(tài)。ip和mac分配線程使用1124端口,監(jiān)聽客戶端的ip和mac請求,待收到請求后,將分配的ip和mac發(fā)送到客戶端的1125端口。接收線程主要負(fù)責(zé)接收處理客戶端的心跳數(shù)據(jù)、測試結(jié)果數(shù)據(jù)、下發(fā)測試項(xiàng)目及發(fā)送測試指令等,監(jiān)聽1126端口,同時(shí)將回復(fù)報(bào)文發(fā)送至客戶端的1127端口。定時(shí)器線程主要負(fù)責(zé)檢查客戶端ip和mac是否失效

      圖3 程序處理流程

      程序啟動后,ip和mac分配線程等待客戶端的連接。當(dāng)收到客戶端的ip和mac請求報(bào)文后,查看已分配ip和mac表,判斷客戶端的ip是否分配過并且是否屬于測試中的重啟狀態(tài)(時(shí)鐘測試需要客戶端的重啟)。若未分配過此ip或此ip并未處于測試狀態(tài),則給客戶端分配新的ip和mac,并將新的ip和mac加入已分配ip和mac列表中,同時(shí)更新此客戶端的測試狀態(tài)信息。若通過查詢已分配ip和mac表,發(fā)現(xiàn)分配過此ip和mac,那么將原ip和mac返回給客戶端。為保證每一個(gè)客戶端的ip和mac都具有唯一性,ip和mac分配策略如下:在1~253之間同時(shí)排除本機(jī)ip和mac的第四個(gè)字段的數(shù)值從1開始分配,逐漸遞增,直到253。同時(shí)定時(shí)器線程每隔30s定時(shí)檢查已分配ip和mac是否處于超時(shí)狀態(tài),若處于超時(shí)狀態(tài),則給測試客戶端發(fā)送ip和mac失效報(bào)文,將該ip和mac從已分配列表中刪除,更新展現(xiàn)端測試狀態(tài)信息。服務(wù)端設(shè)置號測試設(shè)備名稱、默認(rèn)測試參數(shù),下發(fā)測試參數(shù)個(gè)指定客戶端。待配置好所有測試客戶端后,發(fā)送測試指令。測試客戶端根據(jù)收到的測試配置參數(shù)開始自動進(jìn)行測試。此后服務(wù)端等待測試客戶端的測試結(jié)果。待收到測試結(jié)果后,服務(wù)端解析測試結(jié)果并將測試結(jié)果保存為pdf和xls格式的測試報(bào)告,供生產(chǎn)人員進(jìn)行存檔及統(tǒng)計(jì)分析。其中在生成pdf格式報(bào)告時(shí)采用了開源的第三方庫reportlab,生成xls格式報(bào)告時(shí)采用了xlrd、xlutils、xlwt等開源的第三方源碼庫,提高了開發(fā)效率。

      2.4 實(shí)驗(yàn)結(jié)果與分析

      本次測試為服務(wù)端程序啟動后的第一次測試,測試設(shè)備數(shù)量為1個(gè),測試耗費(fèi)時(shí)間為1分鐘,所測試的項(xiàng)目分別為加密卡模塊、2.4 G模塊、最小系統(tǒng)測試(測試RAM大小、nor和nand flash大小、CPU使用率和頻率是否在正常范圍內(nèi))、時(shí)鐘模塊、485接口模塊、flash模塊。測試結(jié)果表明最小系統(tǒng)測試、485接口模塊、flash模塊工作正常,可以投入使用,加密卡、2.4 G模塊、時(shí)鐘模塊出現(xiàn)故障。經(jīng)實(shí)際查看,發(fā)現(xiàn)加密卡模塊某個(gè)接口出現(xiàn)開焊問題,導(dǎo)致斷路;2.4 G模塊和時(shí)鐘模塊出現(xiàn)錯(cuò)誤提示是由于未安裝上述兩個(gè)硬件模塊。在更換加密卡、添加2.4 G模塊和時(shí)鐘模塊后,測試結(jié)果均為正常。

      3 結(jié)語

      基于嵌入式Linux的輸電線路桿塔傾斜度自動化測試系統(tǒng)具有擴(kuò)展性好、維護(hù)成本低、開發(fā)周期短、測試效率高、測試結(jié)果準(zhǔn)確度高等特點(diǎn),實(shí)際應(yīng)用表明,該系統(tǒng)能有有效減輕生產(chǎn)人員的工作負(fù)擔(dān),解決了以往人工測試過程中的試步驟繁瑣、測試周期長、測試效率低、測試結(jié)果格式混亂等實(shí)際問題,提高了測試工作的效率,對于提高輸電線路桿塔傾斜度在線監(jiān)測系統(tǒng)的可靠性具有重要意義。

      [1] 黃 歡,王 威,等. 基于嵌入式Linux的桿塔傾斜度在線監(jiān)測儀設(shè)計(jì)[J]. 計(jì)算機(jī)測量與控制,2015,23: 4246-4248.

      [2] 郝麗花,姜 敏,劉 宏. 桿塔傾斜在線監(jiān)測的應(yīng)用研究[J]. 山西電力,2013,6:22-23.

      [3] 閆 帥,劉錦高. 基于PXE 的自動化CV 測試系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J]. 電子設(shè)計(jì)工程,2015,23:88-91.

      [4] Pressman R S. 軟件工程——實(shí)踐者的研究方法[M]. 北京: 機(jī)械工業(yè)出版社,2000.

      [5] 啟 亮.國際化軟件測試[M]. 北京:電子工業(yè)出版社,2006.

      [6] 鄭蓓蓓,黃曉霞,劉 蔚. 基于LUA 腳本的無線模塊自動化測試[J]. 計(jì)算機(jī)技術(shù)與發(fā)展,2011,21:197-200.

      Design and Implementation of The Automated Test Systems about Online Monitoring System Based on Embedded Linux for Tilt of Power Transmission Line Tower

      Wang Wei1,Yue Lingping2,Yang Ji3,Zheng Pengchao1

      (1.Beijing Guowang Fuda Science and Technology Development Co., LTD, Beijing 100070;China; 2.Zhejiang Electric Power Corporation.,Hangzhou 310007,China; 3.China Elecerle Power Research Instltute,Beijing 100070,China)

      An automated test system of C/S architecture which is based on the practical experience regarding of the feedback from the production & test department is proposed in order to solve the issues of building test environment complexly、long test cycles、low efficiency of testing、chaotic test formats and so on. The architecture and the implementation are discussed in detail.The client that based on embedded linux uses multi-threading technology, can communicate with the server through customized protocol via ethernet and automatically test the hardware that composed of the online monitoring system of transmission line tower tilt. The server that is coded in python and PyQt can operate on cross-platform,check the status of the test procedure,save test logs,export the test report of xls and pdf format and so on through GUI。Engineering practice verifies the automated test system is effective in practice.

      embeded; lonline; monitoring; automated test

      2016-01-05;

      2016-04-18。

      王 威(1987-),男,內(nèi)蒙通遼人,工學(xué)碩士,中級工程師,主要從事輸電線路在線監(jiān)測技術(shù)軟件方向的研究。

      1671-4598(2016)09-0070-04

      10.16526/j.cnki.11-4762/tp.2016.09.019

      TM755

      A

      猜你喜歡
      傾斜度測試項(xiàng)目服務(wù)端
      我國金融科技“監(jiān)管沙盒”測試項(xiàng)目準(zhǔn)入標(biāo)準(zhǔn)制度研究
      上頜不同區(qū)域牙槽骨頰舌向傾斜度的CBCT測量分析*
      籃球半場往返運(yùn)球上籃的訓(xùn)練方法——體育中考籃球測試項(xiàng)目訓(xùn)練心得
      甘肅教育(2020年8期)2020-06-11 06:10:22
      云存儲中基于相似性的客戶-服務(wù)端雙端數(shù)據(jù)去重方法
      新時(shí)期《移動Web服務(wù)端開發(fā)》課程教學(xué)改革的研究
      在Windows Server 2008上創(chuàng)建應(yīng)用
      《國家學(xué)生體質(zhì)健康標(biāo)準(zhǔn)》測試項(xiàng)目修訂研究
      安捷倫宣布HDMI2.0一致性測試認(rèn)證方案覆蓋最全面的測試項(xiàng)目
      408XL傾斜度測試的原理及實(shí)質(zhì)
      威金斯氣柜活塞傾斜度運(yùn)行分析及改進(jìn)*
      河南冶金(2012年1期)2012-12-07 05:28:36
      高安市| 福泉市| 宜宾市| 塘沽区| 万全县| 石台县| 沾化县| 资源县| 肃南| 千阳县| 合水县| 乳源| 阿拉尔市| 景宁| 资中县| 连平县| 久治县| 姚安县| 同德县| 彭山县| 乌拉特中旗| 龙岩市| 拜泉县| 山东| 宝兴县| 安福县| 克什克腾旗| 灵石县| 绥阳县| 阜阳市| 巨鹿县| 黄平县| 大洼县| 开远市| 肥东县| 酒泉市| 伊金霍洛旗| 嘉祥县| 余庆县| 潢川县| 普陀区|