999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

高精度定時(shí)器在數(shù)字式隨動(dòng)系統(tǒng)測(cè)試中的應(yīng)用

2015-05-06 03:11:55袁江華盛小波
兵器裝備工程學(xué)報(bào) 2015年8期
關(guān)鍵詞:測(cè)量系統(tǒng)

袁江華,盛小波,劉 虹

(重慶望江工業(yè)有限公司,重慶 400071)

【信息科學(xué)與控制工程】

高精度定時(shí)器在數(shù)字式隨動(dòng)系統(tǒng)測(cè)試中的應(yīng)用

袁江華,盛小波,劉 虹

(重慶望江工業(yè)有限公司,重慶 400071)

針對(duì)WINDOWS系統(tǒng)中的普通定時(shí)器定時(shí)精度低,不能準(zhǔn)確測(cè)量數(shù)字式隨動(dòng)系統(tǒng)調(diào)轉(zhuǎn)時(shí)間的特點(diǎn),利用串口事件進(jìn)行定時(shí)觸發(fā)的測(cè)量機(jī)制,結(jié)合 Windows 高精度時(shí)間函數(shù),設(shè)計(jì)出一種測(cè)量數(shù)字式隨動(dòng)系統(tǒng)大角度調(diào)轉(zhuǎn)時(shí)間的機(jī)制,解決了用傳統(tǒng)定時(shí)器所產(chǎn)生的記時(shí)不準(zhǔn)和誤差較大的問(wèn)題,提高了隨動(dòng)系統(tǒng)指標(biāo)的測(cè)試精度。

定時(shí)器;數(shù)字式隨動(dòng)系統(tǒng);大角度調(diào)轉(zhuǎn);測(cè)試精度

在火炮數(shù)字式隨動(dòng)系統(tǒng)的生產(chǎn)調(diào)試過(guò)程中,通常需要用 PC 機(jī)作為調(diào)試設(shè)備,通過(guò)在 PC 機(jī)上運(yùn)行專用的調(diào)試軟件,來(lái)實(shí)現(xiàn)對(duì)系統(tǒng)通信協(xié)議的驗(yàn)證,對(duì)隨動(dòng)指標(biāo)的測(cè)試,并對(duì)測(cè)試數(shù)據(jù)進(jìn)行后處理,繪出火炮相應(yīng)指標(biāo)測(cè)試的位置、速度及誤差曲線。由于基于離散采樣,因此對(duì)采樣周期的準(zhǔn)確性的要求很高,如在火炮隨動(dòng)系統(tǒng)的各項(xiàng)指標(biāo)測(cè)量中,大角度調(diào)轉(zhuǎn)(如調(diào)轉(zhuǎn)角度為 180°)的時(shí)間指標(biāo)就直接與時(shí)間精度有關(guān)。而一般Windows 程序中采用的普通定時(shí)器,定時(shí)精度在1/18 s(55 ms)[1],達(dá)不到隨動(dòng)系統(tǒng)指標(biāo)測(cè)試所要求的時(shí)間精度,造成了較大的測(cè)量誤差。因此,需要一種更精確的定時(shí)方法。

Windows 是基于消息機(jī)制的系統(tǒng),任何事件的執(zhí)行都是通過(guò)發(fā)送和接收消息來(lái)完成的[2]。這樣就會(huì)帶來(lái)一些問(wèn)題,一旦計(jì)算機(jī)的 CPU 被某個(gè)進(jìn)程占用或系統(tǒng)資源緊張時(shí),發(fā)送到消息隊(duì)列中的消息就暫時(shí)被掛起得不到實(shí)時(shí)處理。因此不能簡(jiǎn)單地通過(guò) Windows 消息引發(fā)一個(gè)對(duì)定時(shí)要求嚴(yán)格的事件。由于在 Windows 中已經(jīng)封裝了計(jì)算機(jī)底層硬件的訪問(wèn),所以,要想通過(guò)直接利用訪問(wèn)硬件來(lái)完成精確定時(shí)是比較困難的[3]。定時(shí)器是 WINDOWS 系統(tǒng)中非常寶貴的資源,它的精度越高,越占用系統(tǒng)資源。因而在使用定時(shí)器時(shí)應(yīng)根據(jù)實(shí)際需要,設(shè)定合適的定時(shí)精度。

1 定時(shí)方法確定

在 WINDOWS 系統(tǒng)中,定時(shí)器的用法概括起來(lái)有以下幾種,下面介紹各種定時(shí)器的用法以及每種定時(shí)方案的精度指標(biāo)。

最常用的定時(shí)器是 SetTimer(),它可以實(shí)現(xiàn)周期性的函數(shù)調(diào)用[2]。首先調(diào)用函數(shù) SetTimer()設(shè)置定時(shí)間隔,然后在應(yīng)用程序中增加定時(shí)響應(yīng)函數(shù) OnTimer(),并在該函數(shù)中添加響應(yīng)的處理語(yǔ)句,用來(lái)完成到達(dá)定時(shí)時(shí)間的操作。它的主要特點(diǎn)是使用簡(jiǎn)單,定時(shí)精度很低,不小于 55 ms,系統(tǒng)資源占用低。定時(shí)器消息在多任務(wù)操作系統(tǒng)中的優(yōu)先級(jí)很低,得不到及時(shí)響應(yīng),不能滿足實(shí)時(shí)控制環(huán)境下的應(yīng)用,只可以用在對(duì)定時(shí)精度要求不高的場(chǎng)合。

在定時(shí)精度要求較高的情況下,可以使用多媒體定時(shí)器 timeSetEvent[4],該函數(shù)可以實(shí)現(xiàn)周期性的函數(shù)調(diào)用,下面的代碼說(shuō)明了相關(guān)函數(shù)的用法。

MMRESULT timeGetDevCaps(LPTIMECAPS ptc,UINT cbtc); //獲取系統(tǒng)的時(shí)間分辯率。

timeBeginPeriod(resolution) ; //設(shè)置定時(shí)精度, 起動(dòng)定時(shí)器, 單位:毫秒。timeEndPeriod(resolution);//清除定時(shí)精度,停止定時(shí)器,要求它必須和 timeBeginPeriod()匹配成對(duì)使用。

MMRESULT timeSetEvent ( UINT uDelay,UINT uResolution,LPTIMECALLBACKlpTimeProc,WORD dwUser,UINT fuEvent )//函數(shù)調(diào)用成功后返回事件的標(biāo)識(shí)符代碼,否則返回 NULL。

具體應(yīng)用時(shí),可以通過(guò)調(diào)用 timeSetEvent()函數(shù),將需要周期性執(zhí)行的任務(wù)定義在LpTimeProc 回調(diào)函數(shù)中(如:定時(shí)采樣、控制等),從而完成所需處理的事件。需要注意的是,在定時(shí)器使用完畢后, 應(yīng)及時(shí)調(diào)用 timeKillEvent()將之釋放。 多媒體定時(shí)器定時(shí)的特點(diǎn)是精度高,理論上可以達(dá)到毫秒級(jí),任務(wù)處理的時(shí)間不能大于周期間隔時(shí)間,當(dāng)精度設(shè)置較高時(shí),系統(tǒng)資源占用也比較高,使用相對(duì)較為復(fù)雜[5]。

對(duì)于精確度要求更高的定時(shí)操作, 則使用QueryPerformanceFrequency() 和QueryPerformanceCounter()函數(shù)[4]。 這兩個(gè)函數(shù)是 VC 提供的僅供 Windows 95 及其后續(xù)版本使用的精確時(shí)間函數(shù),并要求計(jì)算機(jī)從硬件上支持精確定時(shí)器,QueryPerformanceFrequency()函數(shù)和 QueryPerformanceCounter()函數(shù)的原型如下:

BOOL QueryPerformanceFrequency(LARGE_INTEGER *lpFrequency);BOOL QueryPerformanceCounter(LARGE_INTEGER *lpCount)。

數(shù)據(jù)類型 ARGE_INTEGER 既可以是一個(gè) 8 字節(jié)長(zhǎng)的整型數(shù), 也可以是兩個(gè) 4 字節(jié)長(zhǎng)的整型數(shù)的聯(lián)合結(jié)構(gòu),其具體用法根據(jù)編譯器是否支持 64 位而定。該類型的定義如下:

typedef union _LARGE_INTEGER

{

證明 已知(xi)A→RSθ,η(A,D),則有conf((xi)A→Dk)≥θ和R((xi)A→Dk)≥η。又(xi)B→Dk?(xi)A→Dk,則由定義8知conf((xi)B→Dk)=conf((xi)A→Dk)≥θ。又因B?A,故有(xi)A?(xi)B。由式(3)得

struct

{

DWORD LowPart ;// 4 字節(jié)整型數(shù)

LONG HighPart;// 4 字節(jié)整型數(shù)

};

LONGLONG QuadPart ;// 8 字節(jié)整型數(shù)

}LARGE_INTEGER。

在進(jìn)行定時(shí)之前,先調(diào)用 QueryPerformanceFrequency()函數(shù)獲得機(jī)器內(nèi)部定時(shí)器的時(shí)鐘頻率, 然后在需要嚴(yán)格定時(shí)的事件發(fā)生之前和發(fā)生之后分別調(diào)用 QueryPerformanceCounter()函數(shù),利用兩次獲得的計(jì)數(shù)之差及時(shí)鐘頻率,計(jì)算出事件經(jīng)歷的精確時(shí)間。

2 定時(shí)器應(yīng)用

在隨動(dòng)指標(biāo)的測(cè)試中,針對(duì)實(shí)際測(cè)試情況,采用了 Windows 高精度時(shí)間函數(shù),并利用串口事件進(jìn)行定時(shí)觸發(fā)的測(cè)量機(jī)制。 在測(cè)試軟件初始化時(shí), 先利用QueryPerformanceFrequency()函數(shù)獲得機(jī)器內(nèi)部定時(shí)器的時(shí)鐘頻率,當(dāng)上機(jī)位測(cè)試軟件發(fā)出調(diào)轉(zhuǎn)命令后,記下系統(tǒng)時(shí)間記數(shù)值,同時(shí)隨動(dòng)系統(tǒng)開始調(diào)轉(zhuǎn),當(dāng)隨動(dòng)系統(tǒng)調(diào)轉(zhuǎn)到位后,再次記下系統(tǒng)時(shí)間記數(shù)值,最后把兩次系統(tǒng)記數(shù)值相減,得到記數(shù)差值。再測(cè)出計(jì)時(shí)頻率,根據(jù)下面的公式就可以計(jì)算出隨動(dòng)系統(tǒng)的調(diào)轉(zhuǎn)時(shí)間

T=lCount/dfFreq

其中,T為時(shí)間(s);lCount 為兩次系統(tǒng)記數(shù)之差;dfFreg為處理器頻率。

下面是說(shuō)明測(cè)試軟件的設(shè)計(jì)過(guò)程以及部分代碼。

進(jìn)入測(cè)試軟件時(shí),調(diào)用 QueryPerformanceFrequency(LARGE_INTEGER *lpFrequency)函數(shù),將系統(tǒng)頻率存儲(chǔ)在變量在 lpFrequency 中,其中,系統(tǒng)頻率是與硬件相關(guān)的。當(dāng)用戶按隨動(dòng) 調(diào) 轉(zhuǎn) 按 鍵 時(shí), 測(cè) 試 軟 件 發(fā) 出 隨 動(dòng) 調(diào) 轉(zhuǎn) 命 令, 程 序 調(diào) 用QueryPerformanceCounter(LARGE_INTEGER *lpCount1),將系統(tǒng)計(jì)數(shù)值存儲(chǔ)在 lpCount1 變量中,隨動(dòng)系統(tǒng)開始調(diào)轉(zhuǎn),不斷回傳當(dāng)前位置數(shù)據(jù),對(duì)接收到的隨動(dòng)數(shù)據(jù)進(jìn)行分析,如果發(fā)現(xiàn)回傳當(dāng)前位置數(shù)據(jù)跟目標(biāo)位置一致(通常存在允許的系統(tǒng)誤差),就認(rèn)為隨動(dòng)系統(tǒng)調(diào)轉(zhuǎn)到位了。現(xiàn)在再次調(diào)用 QueryPerformanceCounter(LARGE_INTEGER *lpCount2),將系統(tǒng)記數(shù)存儲(chǔ)在lpCount2 中,根據(jù)下面的公式,隨動(dòng)系統(tǒng)的調(diào)轉(zhuǎn)時(shí)間

T= (lpCount2- lpCount1)/ lpFrequency×1 000

T為兩次記數(shù)之間所經(jīng)過(guò)的時(shí)間。

其中,lpCount2 和 lpCount1 分別是第一次和第二次系統(tǒng)記數(shù)結(jié)果;1 000是時(shí)間系數(shù),將時(shí)間單位換算為毫秒。

通過(guò)這種記時(shí)方式,測(cè)試軟件資源占用低,記時(shí)精度高,滿足了產(chǎn)品測(cè)試要求。

3 應(yīng)用效果

通過(guò)對(duì)定時(shí)方法的修改,數(shù)字式隨動(dòng)系統(tǒng)大角度調(diào)轉(zhuǎn)指標(biāo)測(cè)量精度得到很大程度的提高,在實(shí)際產(chǎn)品調(diào)試和交驗(yàn)中得到總體單位和軍方的認(rèn)可。其分辨精度可達(dá)到微秒,而測(cè)量誤差在包含串行通信延時(shí)和串口中斷響應(yīng)時(shí)間的情況下在20 ms以內(nèi),其中還包括隨動(dòng)控制器對(duì)到位的判斷時(shí)間。與用示波器測(cè)量的速度曲線比較,有一個(gè) 50~100 ms固定的時(shí)間差,從實(shí)際系統(tǒng)控制原理上是可以解釋的。數(shù)字式隨動(dòng)系統(tǒng)大角度0~180°和180~0°的調(diào)轉(zhuǎn)測(cè)試數(shù)據(jù)如表1。

表1 調(diào)轉(zhuǎn)時(shí)間指標(biāo)測(cè)試

4 結(jié)論

通過(guò)對(duì)WINDOWS定時(shí)器的定時(shí)精度、原理和機(jī)理分析,并結(jié)合數(shù)字式隨動(dòng)系統(tǒng)大角度調(diào)轉(zhuǎn)時(shí)間測(cè)量方式和精度要求,設(shè)計(jì)出一種對(duì)數(shù)字式隨動(dòng)系統(tǒng)大角度調(diào)轉(zhuǎn)時(shí)間進(jìn)行準(zhǔn)確測(cè)量的機(jī)制,實(shí)踐證明,采用該機(jī)制設(shè)計(jì)出的軟件運(yùn)行穩(wěn)定,定時(shí)精度高,適應(yīng)性好,能夠滿足火炮數(shù)字式隨動(dòng)系統(tǒng)的產(chǎn)品調(diào)試以及交驗(yàn)的需要。

[1] 劉春鳳,田延嶺.Windows操作系統(tǒng)下的軟件定時(shí)器的設(shè)計(jì)與應(yīng)用[J].機(jī)電一體化,2004(5):38-41.

[2] 楊紫千,張繼永,岳陽(yáng).Windows消息機(jī)制及其在軟件系統(tǒng)設(shè)計(jì)中的應(yīng)用[J].艦船電子工程,2004(5):81-85.

[3] 周綠漪,秦衛(wèi)仕,柴力,等.MS Windows定時(shí)器性能分析及在定時(shí)-計(jì)數(shù)系統(tǒng)設(shè)計(jì)中的應(yīng)用[J].核電子學(xué)與探測(cè)技術(shù),2003(5):433-436.

[4] 劉欽彥,李勇.一種高精度定時(shí)器的設(shè)計(jì)及其應(yīng)用[J].電測(cè)與儀表,2001(9):32-34.

[5] 張志明,孫廣清,王磊.Windows下高精度定時(shí)的研究與實(shí)現(xiàn)[J].微型機(jī)與應(yīng)用,2003(1):55-57.

[6] 楊洋,李鐘慎,范偉.高精度數(shù)據(jù)采集系統(tǒng)定時(shí)器的仿真分析[J].華僑大學(xué)學(xué)報(bào):自然科學(xué)版,2013(6):610-612.

(責(zé)任編輯 楊繼森)

Application of High Precision Timer in Digital Servo System Test

YUAN Jiang-hua, SHENG Xiao-bo, LIU Hong

(Chongqing Wangjiang Industial Co., Ltd, Chongqing 400071, China)

Aiming at that the common timer timing precision in WINDOWS system is low and cannot be accurately measured with the characteristics of digital dynamic system switch time, using measure mechanism to have timing trigger of serial events and combined with high precision time function of Windows, we designed a mechanism for measuring the digital servo system of large angle maneuver time, and solved the problem of big error and incorrect timing generated by traditional timer, which improves the test precision of pneumatic system index.

timer; digital servo system; large angle maneuver; test accuracy

2015-01-15

袁江華(1978—),男,高級(jí)工程師,主要從事武器裝備理論與技術(shù)研究。

10.11809/scbgxb2015.08.027

袁江華,盛小波,劉虹.高精度定時(shí)器在數(shù)字式隨動(dòng)系統(tǒng)測(cè)試中的應(yīng)用[J].四川兵工學(xué)報(bào),2015(8):109-111.

format:YUAN Jiang-hua, SHENG Xiao-bo, LIU Hong.Application of High Precision Timer in Digital Servo System Test [J].Journal of Sichuan Ordnance,2015(8):109-111.

TP311.1

A

1006-0707(2015)08-0109-03

猜你喜歡
測(cè)量系統(tǒng)
Smartflower POP 一體式光伏系統(tǒng)
WJ-700無(wú)人機(jī)系統(tǒng)
ZC系列無(wú)人機(jī)遙感系統(tǒng)
基于PowerPC+FPGA顯示系統(tǒng)
把握四個(gè)“三” 測(cè)量變簡(jiǎn)單
半沸制皂系統(tǒng)(下)
滑動(dòng)摩擦力的測(cè)量和計(jì)算
滑動(dòng)摩擦力的測(cè)量與計(jì)算
測(cè)量的樂(lè)趣
連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
主站蜘蛛池模板: 国模极品一区二区三区| 色偷偷一区| 亚洲二区视频| 国产精品视屏| 亚洲国产成人自拍| 欧美成人免费| 无码aaa视频| 97视频在线观看免费视频| 影音先锋丝袜制服| 国产美女丝袜高潮| 亚洲国产精品无码AV| 亚洲电影天堂在线国语对白| 日本伊人色综合网| 日韩在线影院| 亚洲男人在线| 无码有码中文字幕| 亚洲人妖在线| 在线观看国产网址你懂的| 国产免费观看av大片的网站| 精品1区2区3区| 激情网址在线观看| 久久国产精品麻豆系列| 91精品伊人久久大香线蕉| 国产手机在线ΑⅤ片无码观看| 国产成人凹凸视频在线| 久久亚洲国产最新网站| 伊人丁香五月天久久综合| 亚洲日韩图片专区第1页| 欧美色丁香| 欧美国产三级| 伊人久久精品无码麻豆精品| 精品亚洲麻豆1区2区3区| 欧美精品综合视频一区二区| 另类专区亚洲| 久久久久人妻一区精品| 尤物亚洲最大AV无码网站| 97国内精品久久久久不卡| 人人澡人人爽欧美一区| 国产福利小视频高清在线观看| 国产18在线| 久久精品一卡日本电影| 国产成人免费观看在线视频| 成人国产精品网站在线看| 91精品国产91久无码网站| 国产精品大尺度尺度视频| 国产97区一区二区三区无码| 无码中字出轨中文人妻中文中| 国产流白浆视频| 波多野结衣AV无码久久一区| 亚洲日韩精品无码专区| 88av在线看| 92精品国产自产在线观看| 国产精品黄色片| 日韩欧美中文亚洲高清在线| 国产精品xxx| 亚洲国产日韩一区| 国产精品刺激对白在线| 欧美性精品不卡在线观看| 狠狠亚洲婷婷综合色香| 色综合天天综合中文网| 四虎精品黑人视频| 久久久久人妻精品一区三寸蜜桃| 久久香蕉欧美精品| 欧美97色| 日日拍夜夜操| 中文成人在线| 欧美97色| 欧美日韩成人| 欧美一级99在线观看国产| 亚洲综合18p| 国产在线第二页| 亚洲欧洲日本在线| 99re66精品视频在线观看| 婷婷综合在线观看丁香| 天堂久久久久久中文字幕| 国产丰满大乳无码免费播放| 在线视频精品一区| 亚洲无码精品在线播放| 中国丰满人妻无码束缚啪啪| 国产精品免费露脸视频| 色偷偷一区| 精品国产美女福到在线不卡f|