• 
    

    
    

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

      多媒體定時(shí)器在X-Y試驗(yàn)平臺(tái)實(shí)時(shí)狀態(tài)顯示中的應(yīng)用

      2015-06-10 08:53:52李英輝王洪慶張永生
      電氣傳動(dòng) 2015年7期
      關(guān)鍵詞:系統(tǒng)資源控制卡精度

      李英輝,王洪慶,張永生

      (1.石家莊職業(yè)技術(shù)學(xué)院電氣與電子工程系,河北石家莊050081;2.天津電氣科學(xué)研究院有限公司,天津300180;3.河北傳媒學(xué)院信息技術(shù)學(xué)院,河北石家莊050071)

      數(shù)控機(jī)床(CNC)在當(dāng)今工業(yè)控制中的應(yīng)用領(lǐng)域十分廣泛。X-Y 平臺(tái)是CNC 的試驗(yàn)平臺(tái)之一。CNC 在工作過(guò)程中,各軸要協(xié)調(diào)地運(yùn)動(dòng),因此各軸的位置狀態(tài)需要?jiǎng)討B(tài)實(shí)時(shí)地顯示。

      隨著自動(dòng)控制技術(shù)的發(fā)展,以Windows系統(tǒng)為平臺(tái)的實(shí)時(shí)控制系統(tǒng)得到廣泛應(yīng)用[1]。對(duì)于以Dos 系統(tǒng)為平臺(tái)的控制系統(tǒng),可以對(duì)硬件直接中斷得到精確的實(shí)時(shí)控制。而Windows 是搶占式多任務(wù)操作系統(tǒng),硬件資源由系統(tǒng)操作,應(yīng)用程序不允許對(duì)硬件直接中斷。在Windows 平臺(tái)下實(shí)現(xiàn)精確實(shí)時(shí)控制值得研究[2]。

      1 Windows下的定時(shí)器

      對(duì)于實(shí)時(shí)性要求不高的情況下,可以直接使用Windows提供的普通定時(shí)器。首先由函數(shù)Set-Timer()設(shè)置一定時(shí)器,在其參數(shù)中設(shè)定時(shí)間間隔,當(dāng)達(dá)到設(shè)定的時(shí)間后,定時(shí)器發(fā)出WM_TIMER 消息到應(yīng)用程序的消息隊(duì)列中,將狀態(tài)顯示程序放在WM_TIMER 消息處理函數(shù)中,便可實(shí)現(xiàn)狀態(tài)的動(dòng)態(tài)顯示。但是WM_TIMER消息優(yōu)先級(jí)較低,且定時(shí)精度不高(約為55 ms)[1]。

      X-Y 平臺(tái)是高精度試驗(yàn)平臺(tái),因此其狀態(tài)的實(shí)時(shí)顯示需要有較高的定時(shí)精度,即運(yùn)動(dòng)控制程序與實(shí)時(shí)顯示控制程序要實(shí)現(xiàn)同步,因此考慮采用Windows 下的多線(xiàn)程技術(shù)將每個(gè)任務(wù)放在不同的線(xiàn)程中,操作系統(tǒng)通過(guò)線(xiàn)程間快速反復(fù)切換來(lái)達(dá)到并行計(jì)算的效果。Windows 系統(tǒng)的多媒體定時(shí)服務(wù)很好地解決了這一問(wèn)題,它擁有自己獨(dú)立的線(xiàn)程,使應(yīng)用程序可以得到周期性的時(shí)間中斷。且優(yōu)先級(jí)高,定時(shí)精度可以達(dá)到1 ms。

      對(duì)于更高的定時(shí)精度要求,可以使用API 函數(shù)QueryPerformanceFrequency()和QueryPerformanceCounter(),其精度可以達(dá)到ns 級(jí)。但對(duì)硬件系統(tǒng)資源的要求較高。

      綜合X-Y 平臺(tái)對(duì)運(yùn)動(dòng)狀態(tài)顯示時(shí)間精度的要求和系統(tǒng)資源的考慮,多媒體定時(shí)器更適于實(shí)現(xiàn)X-Y平臺(tái)運(yùn)動(dòng)狀態(tài)的實(shí)時(shí)狀態(tài)顯示。

      2 多媒體定時(shí)器的使用方法

      以Visual C++為開(kāi)發(fā)工具的多媒體定時(shí)器的使用步驟如下[3]:

      1)設(shè)定多媒體定時(shí)器的有關(guān)參數(shù)。利用函數(shù)TimeGetDevCaps()確定定時(shí)器服務(wù)提供的最大和最小事件周期;用TimeBeginPeriod()設(shè)置最小時(shí)鐘事件定時(shí)精度。精度越高,定時(shí)器消耗的系統(tǒng)資源越多。因此,在具體應(yīng)用中應(yīng)根據(jù)需要考慮精度設(shè)置。

      2)啟動(dòng)多媒體定時(shí)器事件。用TimerSetEvent()函數(shù)初始化和啟動(dòng)多媒體定時(shí)器事件。函數(shù)原型具體如下:

      MMRESULT timeSetEvent(UINT uDelay,UINT uResolution,

      LPTIMECALLBACK lpTimeProc,DWORD dwUser,UINT fuEvent);

      參數(shù)具體定義見(jiàn)文獻(xiàn)[3]。

      3)在回調(diào)函數(shù)中具體應(yīng)用。LpTimeProc 表示事件回調(diào)函數(shù)的入口地址,由用戶(hù)自己編寫(xiě)。如狀態(tài)的動(dòng)態(tài)實(shí)時(shí)顯示程序就可以存在于這一步。但需要注意,此函數(shù)是全局的Windows API類(lèi)型的函數(shù),不是某個(gè)類(lèi)具體的成員。

      4)刪除定時(shí)器以釋放系統(tǒng)資源。定時(shí)器是一種有限的全局資源,創(chuàng)建得越多Windows系統(tǒng)的負(fù)擔(dān)越重。因此,定時(shí)器不再使用后要調(diào)用TimeKillEvent()函數(shù)和TimeEndPeriod()函數(shù)來(lái)釋放定時(shí)器資源和消除步驟1)中設(shè)定的最小時(shí)鐘事件精度。

      3 X-Y試驗(yàn)平臺(tái)軟件介紹

      試驗(yàn)采用固高公司提供的X-Y 試驗(yàn)平臺(tái),試驗(yàn)設(shè)備主要有運(yùn)動(dòng)控制卡、伺服驅(qū)動(dòng)系統(tǒng)、X-Y 平臺(tái)、PC 機(jī)和顯示器1 臺(tái)。運(yùn)動(dòng)控制卡插入PC 機(jī)的擴(kuò)展PCI 插槽,采用PC 機(jī)+運(yùn)動(dòng)控制卡的控制方式。固高公司以動(dòng)態(tài)鏈接庫(kù)形式(GT400.dll)提供給用戶(hù)此控制卡的API 函數(shù),用戶(hù)可以調(diào)用這些函數(shù)用于X-Y 試驗(yàn)平臺(tái)的運(yùn)動(dòng)控制,同時(shí)通過(guò)位置檢測(cè)裝置增量式光電編碼器實(shí)時(shí)讀取平臺(tái)位置狀態(tài),并將數(shù)據(jù)信息反饋給PC 機(jī)實(shí)時(shí)顯示,PC 機(jī)通過(guò)顯示界面的控制操作向運(yùn)動(dòng)控制卡發(fā)出命令,實(shí)現(xiàn)平臺(tái)的運(yùn)動(dòng)控制。

      X-Y平臺(tái)系統(tǒng)結(jié)構(gòu)如圖1所示。

      圖1 X-Y平臺(tái)結(jié)構(gòu)圖Fig.1 X-Y platform structure chart

      X-Y 平臺(tái)運(yùn)動(dòng)控制系統(tǒng)是由控制計(jì)算機(jī)部分、伺服驅(qū)動(dòng)部分、機(jī)械傳動(dòng)部分及檢測(cè)部分組成,采用閉環(huán)控制方式,其結(jié)構(gòu)如圖2所示。

      圖2 X-Y平臺(tái)運(yùn)動(dòng)控制系統(tǒng)結(jié)構(gòu)圖Fig.2 Structure chart of X-Y platform motion control system

      本軟件的編程試驗(yàn)在Visual C++6.0 編譯器上實(shí)現(xiàn)。其軟件控制框圖如圖3 所示,其中包括主控制界面、軸控制、坐標(biāo)系控制、輸入輸出控制、平臺(tái)操作控制、基本參數(shù)設(shè)置。

      本文利用多媒體定時(shí)器主要完成實(shí)時(shí)軌跡顯示部分。軸系和坐標(biāo)系狀態(tài)由于實(shí)時(shí)性要求相對(duì)較低,可以采用普通定時(shí)器實(shí)現(xiàn)。

      圖3 X-Y平臺(tái)軟件功能模塊Fig.3 X-Y platform software modules

      4 系統(tǒng)實(shí)現(xiàn)

      X-Y 平臺(tái)軟件編程試驗(yàn)充分利用了C++語(yǔ)言開(kāi)放式的面向?qū)ο蟮脑O(shè)計(jì)思想。運(yùn)動(dòng)狀態(tài)實(shí)時(shí)顯示部分的程序框圖如圖4所示。

      圖4 X-Y平臺(tái)實(shí)時(shí)狀態(tài)控制流程圖Fig.4 X-Y platform real-time status control flow chart

      在工程中為多媒體定時(shí)器建立一個(gè)新類(lèi)為CmultimediaTimer,首先在其頭文件中定義:

      將多媒體定時(shí)器封裝成類(lèi),能在平臺(tái)的各種控制類(lèi)中調(diào)用多媒體定時(shí)器的函數(shù),運(yùn)動(dòng)完成后可以通過(guò)調(diào)用CMultimediaTimer類(lèi)的析構(gòu)函數(shù)或Stop()函數(shù)來(lái)關(guān)閉多媒體定時(shí)器資源,這樣可以保證在任意運(yùn)動(dòng)時(shí)刻只啟動(dòng)1 個(gè)多媒體定時(shí)器,實(shí)現(xiàn)了定時(shí)器資源的反復(fù)利用,節(jié)省了系統(tǒng)資源的消耗。

      為了在其它的控制類(lèi)中訪(fǎng)問(wèn)多媒體定時(shí)器類(lèi)的數(shù)據(jù),首先在使用多媒體定時(shí)器的類(lèi)中定義多媒體定時(shí)器的對(duì)象。例如在坐標(biāo)系控制類(lèi)CCoodinateCtrl中:

      定時(shí)器啟動(dòng)后,每隔設(shè)定時(shí)間就會(huì)執(zhí)行1 次回調(diào)函數(shù)?;卣{(diào)函數(shù)定義如下:

      其中,m_parent 為主控制窗口視類(lèi)的指針變量;xpos和ypos為軸運(yùn)動(dòng)軌跡坐標(biāo)點(diǎn),初始化為視類(lèi)中的坐標(biāo)原點(diǎn)。

      5 結(jié)論

      本文將多媒體定時(shí)器應(yīng)用到X-Y 試驗(yàn)平臺(tái)的運(yùn)動(dòng)狀態(tài)實(shí)時(shí)顯示中,實(shí)驗(yàn)證明能實(shí)現(xiàn)精確的定時(shí)??梢酝茝V到高精度數(shù)控機(jī)床CNC 的實(shí)時(shí)中斷控制和實(shí)時(shí)狀態(tài)顯示中。此外本軟件采用開(kāi)放性的設(shè)計(jì)語(yǔ)言開(kāi)發(fā),軟件開(kāi)發(fā)過(guò)程中留有冗余,可以在原有軟件基礎(chǔ)上進(jìn)一步開(kāi)發(fā)。

      [1] 文清華,吳來(lái)杰,楊代華,等.Windows環(huán)境下數(shù)控軟件實(shí)時(shí)控制的實(shí)現(xiàn)[J].機(jī)床與液壓,2003,31(3):139-141.

      [2] 王偉,徐國(guó)華.多媒體定時(shí)器在工業(yè)控制中的應(yīng)用[J].微型機(jī)與應(yīng)用,2001,20(12):8-10.

      [3] 王文武,王誠(chéng),郝燕玲,等.多媒體定時(shí)器的定制和使用方法[J].計(jì)算機(jī)應(yīng)用,2000,20(3):39-40.

      [4] 杜詩(shī)文,宋建國(guó),閆獻(xiàn)國(guó).基于Visual C++的數(shù)控軟件的設(shè)計(jì)[J].山西機(jī)械,2002,31(1):11-12.

      [5]陳德妙,張桂香.基于Windows 2000下開(kāi)放式數(shù)控系統(tǒng)軟件的開(kāi)發(fā)[J].組合機(jī)床與自動(dòng)化加工技術(shù),2005,47(4):28-32.

      [6] 付永紅,熊飛麗,龍佑喜,等.基于Windows下數(shù)控軟件的設(shè)計(jì)與實(shí)現(xiàn)[J].機(jī)電一體化,2001,8(1):28-31.

      [7] 王洪剛,傅建中.基于線(xiàn)程技術(shù)的PC 數(shù)控軟件設(shè)計(jì)[J].組合機(jī)床與自動(dòng)加工技術(shù),2004,46(1):31-34.

      猜你喜歡
      系統(tǒng)資源控制卡精度
      兼容多種運(yùn)動(dòng)控制卡的V割機(jī)數(shù)控系統(tǒng)關(guān)鍵技術(shù)*
      民用飛機(jī)綜合模塊化航電系統(tǒng)資源狀態(tài)監(jiān)控技術(shù)研究
      基于DSPIC33F微處理器的采集精度的提高
      電子制作(2018年11期)2018-08-04 03:25:38
      基于運(yùn)動(dòng)控制卡的桁架機(jī)器人控制系統(tǒng)設(shè)計(jì)
      GPS/GLONASS/BDS組合PPP精度分析
      改進(jìn)的Goldschmidt雙精度浮點(diǎn)除法器
      凌華科技四軸伺服/步進(jìn)運(yùn)動(dòng)控制卡PCI-C154+
      巧用磨耗提高機(jī)械加工精度
      河南科技(2014年14期)2014-02-27 14:11:53
      VMware虛擬機(jī)技術(shù)在Linux教學(xué)中的應(yīng)用
      高可靠性通信設(shè)備主備倒換軟件實(shí)現(xiàn)方法
      太仓市| 南宫市| 夏河县| 乐东| 乾安县| 洪湖市| 朝阳市| 甘肃省| 瑞昌市| 许昌县| 宜阳县| 南城县| 偃师市| 信宜市| 高州市| 高密市| 富平县| 定边县| 板桥市| 盐城市| 南汇区| 闻喜县| 荃湾区| 金阳县| 山东省| 河间市| 青海省| 辽宁省| 屯门区| 嫩江县| 祁连县| 金乡县| 依安县| 运城市| 淳安县| 彭阳县| 平度市| 佛坪县| 无锡市| 北宁市| 西峡县|