具有精確計(jì)算cpu使用率的智能變電站測控裝置及測控方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及智能變電站,尤其是涉及一種基于VxWorks操作系統(tǒng)的具有精確計(jì)算CPU使用率的智能變電站測控裝置及測控方法。
【背景技術(shù)】
[0002]測控裝置是變電站進(jìn)行數(shù)據(jù)采集的一個(gè)重要二次設(shè)備,其運(yùn)行狀態(tài)是否正常,關(guān)系到電力生產(chǎn)的安全。其中,測控裝置進(jìn)程任務(wù)的CPU使用率是對測控裝置運(yùn)行狀態(tài)進(jìn)行分析的一個(gè)重要參數(shù)。
[0003]對于建立在VxWorks操作系統(tǒng)上的智能變電站測控裝置,由于VxWorks單進(jìn)程多任務(wù)的特性,Vxfforks操作系統(tǒng)本身并不能像Window或Unix等操作系統(tǒng)一樣提供進(jìn)程任務(wù)的CPU使用率計(jì)算結(jié)果。
[0004]目前,通常由建立在VxWorks操作系統(tǒng)上的應(yīng)用軟件,通過任務(wù)執(zhí)行時(shí)對使用本任務(wù)使用的Tick計(jì)數(shù)來完成對CPU使用率的計(jì)算,這樣的計(jì)算結(jié)果與實(shí)際偏差較大:一方面每個(gè)Tick的時(shí)段過長,同常情況下50?100個(gè)Tick/秒;另一方面,多數(shù)執(zhí)行任務(wù)不需要在I個(gè)Tick時(shí)段就可以完成,而進(jìn)行統(tǒng)計(jì)計(jì)算時(shí)卻按I個(gè)Tick來計(jì)算CPU的使用率。由于不能對CPU使用率提供準(zhǔn)確計(jì)算結(jié)果,因此無法通過CPU使用率來分析測控裝置的運(yùn)行狀態(tài)。
【發(fā)明內(nèi)容】
[0005]本發(fā)明的第一個(gè)目的在于提供一種具有精確計(jì)算CPU使用率的智能變電站測控裝置,它能實(shí)現(xiàn)對進(jìn)程任務(wù)CPU使用率進(jìn)行精確計(jì)算,用于智能變電站自動(dòng)化控制系統(tǒng)中對測控裝置運(yùn)行狀態(tài)進(jìn)行監(jiān)測。
[0006]本發(fā)明的第二個(gè)目的在于提供一種具有精確計(jì)算CPU使用率的智能變電站測控方法。
[0007]本發(fā)明的第一個(gè)目的是這樣實(shí)現(xiàn)的:
一種具有精確計(jì)算CPU使用率的智能變電站測控裝置,包括中央處理器(CPU),中央處理器的液晶面板信號端與液晶顯示屏的液晶面板信號端連接,中央處理器的按健端與若干只按鍵連接,中央處理器的第一數(shù)據(jù)存儲(chǔ)端與同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器的數(shù)據(jù)存儲(chǔ)端連接,中央處理器的第二數(shù)據(jù)存儲(chǔ)端與閃存的數(shù)據(jù)存儲(chǔ)端連接,中央處理器的時(shí)鐘端與時(shí)鐘電路的時(shí)鐘端連接;中央處理器的網(wǎng)絡(luò)控制端與網(wǎng)絡(luò)控制器的第一網(wǎng)絡(luò)控制端連接,網(wǎng)絡(luò)控制器的第二網(wǎng)絡(luò)控制端與5 口交換芯片的第一交換端連接,5 口交換芯片的第二交換端分別與調(diào)試網(wǎng)口、網(wǎng)口 1、網(wǎng)口 2和網(wǎng)口 3連接,網(wǎng)口 1、網(wǎng)口 2和網(wǎng)口 3與設(shè)備的總線板連接,特征是:中央處理器的計(jì)數(shù)端與可編程計(jì)數(shù)器的計(jì)數(shù)端連接,可編程計(jì)數(shù)器的計(jì)數(shù)源由時(shí)鐘電路提供計(jì)數(shù)源,由中央處理器控制可編程計(jì)數(shù)器計(jì)數(shù)。
[0008]本發(fā)明的第二個(gè)目的是這樣實(shí)現(xiàn)的: 一種具有精確計(jì)算CPU使用率的智能變電站測控方法,特征是:中央處理器對可編程計(jì)數(shù)器的控制命令包括:SET命令:啟動(dòng)可編程計(jì)數(shù)器進(jìn)行計(jì)數(shù),GET命令:獲取可編程計(jì)數(shù)器計(jì)數(shù)值,RESET命令:停止可編程計(jì)數(shù)器計(jì)數(shù)同時(shí)讓可編程計(jì)數(shù)值清O ;
中央處理器對可編程計(jì)數(shù)器控制方式,包括:在系統(tǒng)空閑時(shí)段開始時(shí),中央處理器發(fā)送SET命令,由可編程控制器開始計(jì)數(shù);在系統(tǒng)空閑時(shí)段結(jié)束時(shí),中央處理器發(fā)送GET命令,獲取可編程控制器計(jì)數(shù)值,作為此段系統(tǒng)空閑時(shí)段的計(jì)數(shù)值;同時(shí)中央處理器向可編程控制器發(fā)送RESET命令,可編程控制器停止計(jì)數(shù)并將計(jì)數(shù)清零;如此進(jìn)行反復(fù),獲得系統(tǒng)各個(gè)空閑時(shí)段的計(jì)數(shù)值;
具體步驟如下:
A、獲取N(10 ^ N ^ 5)秒基準(zhǔn)計(jì)數(shù)值C基準(zhǔn):
測控裝置上電啟動(dòng)時(shí),中央處理器暫停執(zhí)行所有系統(tǒng)任務(wù)N秒;由于此時(shí)為空閑時(shí)段,中央處理器向可編程計(jì)數(shù)器發(fā)送SET命令,可編程控制器開始計(jì)數(shù);N秒時(shí),系統(tǒng)空閑時(shí)段結(jié)束,中央處理器向可編程計(jì)數(shù)器發(fā)送GET命令,可編程計(jì)數(shù)器返回計(jì)數(shù)值,該計(jì)數(shù)值作為N秒基準(zhǔn)計(jì)數(shù)值C基準(zhǔn);同時(shí)中央處理器向可編程計(jì)數(shù)器發(fā)送RESET命令,可編程計(jì)數(shù)器停止計(jì)數(shù)并將計(jì)數(shù)清O ;
測控裝置在獲取基準(zhǔn)計(jì)數(shù)值C基準(zhǔn)后,測控裝置正常加載各項(xiàng)任務(wù),測控裝置正常運(yùn)行,完成測控裝置本身具有的功能;
B、獲取空閑時(shí)段計(jì)數(shù)值C空閑:
當(dāng)測控裝置在運(yùn)行中開始出現(xiàn)空閑時(shí)段時(shí),中央處理器向可編程計(jì)數(shù)器發(fā)送SET命令,這時(shí)可編程計(jì)數(shù)器開始計(jì)數(shù);
當(dāng)本次空閑時(shí)段結(jié)束時(shí),中央處理器向可編程計(jì)數(shù)器發(fā)送GET命令,可編程計(jì)數(shù)器返回計(jì)數(shù)值,該計(jì)數(shù)值作為本次空閑時(shí)段的計(jì)數(shù)值C空閑;中央處理器向可編程計(jì)數(shù)器發(fā)送RESET命令,可編程計(jì)數(shù)器停止計(jì)數(shù)并將計(jì)數(shù)清O ;
按照步驟B,中央處理器將獲取測控裝置在運(yùn)行過程中各個(gè)空閑時(shí)段的計(jì)數(shù)值;
C、計(jì)算N秒內(nèi)各個(gè)空閑時(shí)段計(jì)數(shù)值的累計(jì)值C合:
每隔N秒,中央處理器將N秒時(shí)間內(nèi)所有空閑時(shí)段的計(jì)數(shù)值C空閑進(jìn)行相加,得到N秒內(nèi)空閑時(shí)段的累計(jì)值C合;
D、計(jì)算CPU使用率:
中央處理器按照以下公式計(jì)算出N秒內(nèi)CPU的使用率:
CPU使用率=I 一 C合/ C基準(zhǔn)。
[0009]本發(fā)明是在傳統(tǒng)變電站測控裝置中增設(shè)了可編程計(jì)數(shù)器,可編程計(jì)數(shù)器能精確計(jì)算測控裝置中的CPU使用率,可編程計(jì)數(shù)器選用具有異步清零功能的CMOS同步可編程8位十進(jìn)制計(jì)數(shù)器,型號為⑶40160B。
[0010]通過上述方法,中央處理器可獲取用于CPU使用率計(jì)算的N秒(10彡N彡5)內(nèi)計(jì)數(shù)基準(zhǔn)數(shù)值C基準(zhǔn),以及N秒內(nèi)系統(tǒng)各個(gè)空閑時(shí)段計(jì)數(shù)值的和C合,通過以下公式計(jì)算出CPU使用率:
CPU使用率=I 一 C合/ C基準(zhǔn)
測控裝置的CPU使用率計(jì)算值通過電路模塊中的網(wǎng)口 I送到外部系統(tǒng),外部系統(tǒng)通過對測控裝置CPU使用率的分析,評估測控裝置的運(yùn)行狀態(tài)。
[0011]本發(fā)明的測控裝置可實(shí)現(xiàn)對CPU實(shí)用率的緊缺計(jì)算,通過測試,每秒的計(jì)數(shù)值可達(dá)10000次以上,而采用以往純軟件方式每秒的計(jì)數(shù)值最多只有100,因此理論上本發(fā)明的CPU使用率的計(jì)算精度較以往純軟件方式在精度上提高了 100倍以上。另一方面,本發(fā)明構(gòu)建簡單,對于精確計(jì)算測控裝置CPU使用率具有很強(qiáng)的實(shí)用性。
[0012]因此,本發(fā)明的測控裝置的可編程計(jì)數(shù)器實(shí)現(xiàn)了對測控裝置CPU使用率的精確計(jì)算,克服了由于構(gòu)建測控裝置的VxWorkS操作系統(tǒng)無法提供CPU使用率數(shù)據(jù)、采用純軟件方法無法準(zhǔn)確計(jì)算CPU使用率的缺點(diǎn)。
【附圖說明】
[0013]圖1為發(fā)明前測控裝置的線路結(jié)構(gòu)圖;
圖2為本發(fā)明測控裝置的線路結(jié)構(gòu)圖;
圖3為中央處理器對可編程計(jì)數(shù)器的控制過程。
【具體實(shí)施方式】
[0014]下面結(jié)合實(shí)施例并對照附圖對本發(fā)明作進(jìn)一步詳細(xì)說明。
[0015]一種具有精確計(jì)算CPU使用率的智能變電站測控裝置,包括中央處理器(CPU),CPU采用三星集團(tuán)的S3C2410(ARM9),CPU的第一數(shù)據(jù)存儲(chǔ)端與16MX 16位的同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器SDRAM的數(shù)據(jù)存儲(chǔ)端連接,起始地址為OxOCOOOOOO,外帶4MX 16位的BIT SDRAM存儲(chǔ)介質(zhì),起始地址為0x0,用于存放操作系統(tǒng)和應(yīng)用系統(tǒng),CPU的第二數(shù)據(jù)存儲(chǔ)端與SM閃存FLASH的數(shù)據(jù)存儲(chǔ)端連接,CPU的時(shí)鐘端與時(shí)鐘電路的時(shí)鐘端連接.’CPU的液晶面板信號端與一個(gè)4英寸320 X 240的薄膜場效應(yīng)晶體管TFT的液晶面板信號端連接,CPU的按健端與8只按鍵連接;CPU的計(jì)數(shù)端與可編程計(jì)數(shù)器的計(jì)數(shù)端連接,CPU的網(wǎng)絡(luò)控制端與一片100M網(wǎng)絡(luò)控制器的第一網(wǎng)絡(luò)