技術(shù)頻道

娓娓工業(yè)
您現(xiàn)在的位置: 中國(guó)傳動(dòng)網(wǎng) > 技術(shù)頻道 > 技術(shù)百科 > 基于PMAC的數(shù)控機(jī)床數(shù)據(jù)實(shí)時(shí)采集的研究

基于PMAC的數(shù)控機(jī)床數(shù)據(jù)實(shí)時(shí)采集的研究

時(shí)間:2009-06-29 14:45:45來(lái)源:ronggang

導(dǎo)語(yǔ):?分析了采用多媒體定時(shí)器進(jìn)行數(shù)據(jù)采集的特點(diǎn)和采集過(guò)程中出現(xiàn)的問(wèn)題,采用了PMAC的雙端口RAM技術(shù)與多媒體定時(shí)器技術(shù)相結(jié)合的數(shù)據(jù)實(shí)時(shí)采集方式,在數(shù)控凸輪軸磨床上進(jìn)行了實(shí)驗(yàn)
摘 要:分析了采用多媒體定時(shí)器進(jìn)行數(shù)據(jù)采集的特點(diǎn)和采集過(guò)程中出現(xiàn)的問(wèn)題,采用了PMAC的雙端口RAM技術(shù)與多媒體定時(shí)器技術(shù)相結(jié)合的數(shù)據(jù)實(shí)時(shí)采集方式,在數(shù)控凸輪軸磨床上進(jìn)行了實(shí)驗(yàn),取得了滿(mǎn)意的效果。該方法與采用多線程技術(shù)進(jìn)行數(shù)據(jù)采集方法相比,方法簡(jiǎn)單、安全性好。 關(guān)鍵詞:PMAC;實(shí)時(shí)數(shù)據(jù)采集;雙端口RAM;多媒體定時(shí)器;多線程技術(shù) Abstract: The advantages and faults Data acquisition with multimedia timer are analyzed, and dual ported combined with multimedia timer are adapted in this paper, which experimentation results is effective on the Grinding of Camshaft. Compared with the way of multi-thread technique in data acquisition, this method is simple and the safety is well. Key words: PMAC; Real Time Data Acquisition; Dual Ported RAM; Multimedia Timer; Multi-thread technique;   多媒體定時(shí)器由于定時(shí)精度高,因而在數(shù)據(jù)采集方面應(yīng)用廣泛。采用多媒體定時(shí)器對(duì)基于PMAC的數(shù)控機(jī)床進(jìn)行運(yùn)動(dòng)參數(shù)采集,如果采集量較多而時(shí)間間隔較短,將會(huì)發(fā)生內(nèi)存讀取錯(cuò)誤乃至死機(jī),使加工程序中斷,如不及時(shí)清除緩沖區(qū)內(nèi)未執(zhí)行的加工數(shù)據(jù),下次啟動(dòng)時(shí),將會(huì)造成開(kāi)環(huán) “飛車(chē)”,這是十分危險(xiǎn)的。但采用PMAC的雙端口RAM進(jìn)行數(shù)據(jù)讀取,不但有效避免了這一問(wèn)題,而且還大大簡(jiǎn)化了數(shù)據(jù)采集過(guò)程,在數(shù)控凸輪軸磨床上進(jìn)行的采集應(yīng)用過(guò)程中,取得了滿(mǎn)意的效果。該方法與采用多線程技術(shù)進(jìn)行數(shù)據(jù)采集相比,優(yōu)勢(shì)明顯。 1 PMAC卡簡(jiǎn)介   PMAC(Programmable Multi-Axis Controller,可編程多軸控制器)是美國(guó)Delta Tau公司九十年代推出的基于PC平臺(tái)的開(kāi)放式多軸運(yùn)動(dòng)控制器。它采用了Motorola公司的DSP56系列高性能數(shù)字信號(hào)處理器作為CPU,是目前世界上功能最強(qiáng)大的運(yùn)動(dòng)控制器之一,一個(gè)PMAC可以同時(shí)控制1~8根軸,多個(gè)PMAC級(jí)聯(lián)最多可以控制128根軸,能夠精確定位,在包裝、裝配、醫(yī)藥工業(yè)、機(jī)床等行業(yè)應(yīng)用廣泛。 2 多媒體定時(shí)器技術(shù)   2.1 多媒體定時(shí)器與普通定時(shí)器的比較   普通的定時(shí)器用函數(shù)SetTimer來(lái)設(shè)定,以毫秒為單位,但由于受到消息隊(duì)列的處理速度和系統(tǒng)時(shí)鐘頻率的影響,采樣周期最少為54.925ms,也就是說(shuō)SetTimer(1,1,NULL)、SetTimer(1,50,NULL),采樣的周期都大概為55ms。但使用Windows的多媒體定時(shí)器來(lái)代替常規(guī)的定時(shí)器,通過(guò)編程可以獲得采集間隔為1ms或更短、分辨率為1µ m的定時(shí),定時(shí)精度非常高,并且穩(wěn)定性特別好[1] 。   2.3多媒體定時(shí)器的使用方法   在使用多媒體定時(shí)器前,需要確定操作系統(tǒng)多媒體定時(shí)器的分辨率范圍??梢酝ㄟ^(guò)函數(shù)timeGetDevCaps來(lái)獲得本計(jì)算機(jī)的多媒體定時(shí)器分辨率范圍。使用多媒體定時(shí)器,主要分為以下幾步:   1)設(shè)置多媒體定時(shí)器,采用timeSetEvent函數(shù),該函數(shù)可以初始化多媒體定時(shí)器,確定采集時(shí)間間隔,并設(shè)置一個(gè)定時(shí)回調(diào)事件。   2)利用函數(shù)TimeProc定義回調(diào)函數(shù),可以在該函數(shù)中添加代碼,實(shí)現(xiàn)各種操作。   3) 調(diào)用函數(shù)timeKillEvent結(jié)束多媒體定時(shí)器。 3 基于雙端口RAM技術(shù)的數(shù)據(jù)實(shí)時(shí)采集方式   3.1 PMAC數(shù)據(jù)讀取的方式   現(xiàn)在通常采取兩種PMAC數(shù)據(jù)讀取的方式:一種方法是通過(guò)設(shè)置I變量來(lái)確定采集源和采集周期,從緩沖區(qū)中獲得采集數(shù)據(jù),這種方法可以采集任何PMAC有效地址中的數(shù)據(jù),但比較復(fù)雜;另一種方法從I/O及運(yùn)動(dòng)寄存器中直接采集數(shù)據(jù),通過(guò)設(shè)置M變量與運(yùn)動(dòng)參數(shù)在寄存器中的地址相對(duì)應(yīng),讀取M變量的值采集數(shù)據(jù),這種方法相對(duì)簡(jiǎn)單一些。   本文采取了另外一種PMAC數(shù)據(jù)讀取方式:?jiǎn)?dòng)雙端口RAM,利用雙端口RAM所帶的函數(shù)進(jìn)行數(shù)據(jù)采集。這種方法更加方便,雙端口RAM的函數(shù)封裝了PMAC數(shù)據(jù)讀取數(shù)據(jù)的過(guò)程,用戶(hù)只須調(diào)用相關(guān)的函數(shù)即可從雙端口RAM中直接讀取運(yùn)動(dòng)參數(shù),不需要設(shè)定采集源和數(shù)據(jù)地址。雙端口RAM提供了許多運(yùn)動(dòng)參數(shù)采集函數(shù),可以通過(guò)這些函數(shù)采集各個(gè)電機(jī)的狀態(tài)、位置、速度、跟隨誤差等。例如:Double PmacDPRPosition(DWORD dwDevice,int motor,double units),該函數(shù)返回指定電機(jī)的實(shí)際位置。 參數(shù)dwDevice為PMAC卡的卡號(hào),motor指電機(jī)號(hào),units表示單位。通過(guò)適當(dāng)?shù)膯挝粨Q算可以將電機(jī)的運(yùn)動(dòng)參數(shù)轉(zhuǎn)換成相應(yīng)軸的運(yùn)動(dòng)參數(shù)。如果PMAC的雙端口RAM提供的函數(shù)仍不能滿(mǎn)足需要,也可采用寄存器采集數(shù)據(jù),雙端口RAM也支持寄存器讀取方式。   3.2雙端口RAM技術(shù)   PMAC的Option2提供了一個(gè)8K×16位的RAM,允許PMAC和PC機(jī)之間共享一塊快速內(nèi)存,實(shí)現(xiàn)數(shù)據(jù)的快速傳遞。在機(jī)床的加工過(guò)程中需要在實(shí)時(shí)狀態(tài)下進(jìn)行快速的、大量的數(shù)據(jù)信息下載,同時(shí)又需要重復(fù)、快速的從PMAC中讀取各電機(jī)的狀態(tài)信息。電機(jī)的狀態(tài)信息數(shù)據(jù)可以不停的更新并被PLC程序或被PMAC自動(dòng)地寫(xiě)入雙端口RAM中,如果不使用雙端口RAM,這些數(shù)據(jù)必須使用PAMC的在線命令通過(guò)PC總線來(lái)存取。由于使用雙端口RAM存取不需要經(jīng)過(guò)通訊口發(fā)送命令和等待響應(yīng)時(shí)間,所以要快的多[2]。下面是幾個(gè)主要的雙端口RAM后臺(tái)定點(diǎn)數(shù)據(jù)報(bào)告功能函數(shù)[3]:   · 函數(shù)PmacDPRRealTime用于開(kāi)啟或關(guān)閉PMAC卡雙端口RAM,并規(guī)定伺服更新周期 。   · 函數(shù)PmacDPRSetMotors用于設(shè)置PMAC卡,將電機(jī)的相關(guān)數(shù)據(jù)復(fù)制到雙端口RAM中。   · 函數(shù)PmacDPRSetHostBusyBit用于通知PMAC卡,客戶(hù)端將要 “讀”雙端口RAM中的數(shù)據(jù)。   · 函數(shù)PmacDPRGetHostBusyBit用于檢查是否在進(jìn)行雙端口RAM的“寫(xiě)”操作。   以上四個(gè)函數(shù)聯(lián)合使用就可以完成雙端口RAM的初始化和數(shù)據(jù)采集準(zhǔn)備工作。 4 應(yīng)用實(shí)例   4.1 數(shù)控凸輪軸磨床實(shí)驗(yàn)系統(tǒng)簡(jiǎn)介   該數(shù)控凸輪軸磨床實(shí)驗(yàn)裝置生成凸輪輪廓的運(yùn)動(dòng)方式為:X軸砂輪架水平往復(fù)移動(dòng)和C軸工件主軸轉(zhuǎn)動(dòng)兩軸聯(lián)動(dòng),其主要硬件設(shè)備有工控機(jī)、PMAC卡、松下伺服電機(jī)、雷尼紹光柵、CBN砂輪、電主軸等。安裝在X軸上的直線光柵分辨率為1µm,安裝在C軸上的圓光柵分辨率為20µm。數(shù)控系統(tǒng)采用直線光柵采集X軸位移作為反饋,圓光柵采集C軸轉(zhuǎn)角作為反饋,形成全閉環(huán)控制,如圖1所示。   PMAC支持C++、VB、VC、Delphi等多種高級(jí)語(yǔ),并提供了可供二次開(kāi)發(fā)的動(dòng)態(tài)鏈接庫(kù)函數(shù)。該實(shí)驗(yàn)裝置以Visual C++6.0為工具,開(kāi)發(fā)了軟件數(shù)控系統(tǒng)。在原有的數(shù)控系統(tǒng)的基礎(chǔ)上,編寫(xiě)了數(shù)據(jù)采集和顯示模塊。 [align=center] 圖1 數(shù)控系統(tǒng)的控制原理圖[/align]   4.2確定定時(shí)精度和采集時(shí)間間隔   經(jīng)過(guò)測(cè)試發(fā)現(xiàn),軟件數(shù)控系統(tǒng)所在操作系統(tǒng)的多媒體定時(shí)器定時(shí)范圍是1ms—1000000ms。由于采樣周期>=1.28ms,才可精確分析各種位置和速度曲線[5]。因此將定時(shí)精度定為1ms,采集時(shí)間間隔定為2ms。   4.3 編程思想   首先要進(jìn)行初始化:開(kāi)啟雙端口RAM,將伺服更新周期定為2ms,將所要采集的電機(jī)的數(shù)據(jù)復(fù)制到雙端口RAM中,打開(kāi)文件準(zhǔn)備寫(xiě)入數(shù)據(jù)。開(kāi)始采集時(shí),先同知PMAC,將要“讀”雙端口RAM中的數(shù)據(jù),然后檢測(cè)雙端口RAM是否在進(jìn)行“寫(xiě)”操作,如果沒(méi)有進(jìn)行“寫(xiě)”操作,則啟動(dòng)多媒體定時(shí)器,調(diào)用回調(diào)函數(shù)完成數(shù)據(jù)采集和顯示。采集完畢后,刪除多媒體定時(shí)器、關(guān)閉雙端口RAM,關(guān)閉數(shù)據(jù)保存文件。程序流程圖,如圖2所示。 [align=center] 圖2 數(shù)據(jù)采集模塊程序流程[/align]   回調(diào)函數(shù)部分核心源代碼為:   XAPosition=PmacDPRPosition(0,0,1000); //采集X軸實(shí)際位置   sprintf(buf1,"%10.3lf",XAPosition); //將采集結(jié)果由double型轉(zhuǎn)換成字符型   ::SetDlgItemText(hWnd,IDC_EDIT1, buf1); //顯示數(shù)據(jù)   fprintf(fGather,"%s\n",buf1); //將采集到的數(shù)據(jù)寫(xiě)入文件保存   ……   本文只給出了X軸位置的采集代碼,若要采集其他數(shù)據(jù),調(diào)用雙端口RAM中相應(yīng)的函數(shù)即可。需要說(shuō)明的是,PmacDPRPosition中的motor參數(shù),應(yīng)為當(dāng)前軸號(hào)減1; PmacDPRPosition函數(shù)中的單位與文獻(xiàn)[2]中介紹的寄存器讀取方式的確定方式不同,如果希望以mm為單位,此處單位的意義應(yīng)該是編碼器發(fā)多少個(gè)脈沖X軸移動(dòng)1mm。與由于編碼器發(fā)一個(gè)脈沖X軸移動(dòng)1µm,則編碼器發(fā)1000個(gè)脈沖X軸移動(dòng)1mm,因此,該處單位為1000。   4.4 采集結(jié)果   采集界面如圖3所示 [align=center] 圖3 采集界面[/align]   下面是加工過(guò)程中采集到的部分?jǐn)?shù)據(jù):
  4.5 應(yīng)用結(jié)果分析   經(jīng)過(guò)測(cè)試發(fā)現(xiàn),如果使用多媒體定時(shí)器和寄存器讀取方式進(jìn)行數(shù)據(jù)采集,當(dāng)采集間隔為10ms、定時(shí)精度為2ms時(shí),采集四個(gè)運(yùn)動(dòng)參數(shù)就會(huì)死機(jī)。而采用雙端口RAM讀取方式后,采集間隔為2ms、定時(shí)精度為1ms,采集四個(gè)運(yùn)動(dòng)參數(shù)系統(tǒng)仍然正常工作,解決了內(nèi)存不足的問(wèn)題,不但提高了采集精度,還提高了安全性,充分發(fā)揮了多媒體定時(shí)器和雙端口RAM的技術(shù)優(yōu)勢(shì)。 5 與多線程采集方法的比較   多線程技術(shù)也是數(shù)據(jù)實(shí)時(shí)采集中常用的一種方法。Windows操作系統(tǒng)支多任務(wù)調(diào)度與處理,每一個(gè)進(jìn)程可以同時(shí)執(zhí)行多個(gè)線程,這意味著一個(gè)程序可以同時(shí)完成多個(gè)任務(wù)。多線程技術(shù)也可與PMAC的雙端口RAM技術(shù)結(jié)合,將每個(gè)運(yùn)動(dòng)參數(shù)或者每個(gè)軸的運(yùn)動(dòng)參數(shù)作為一個(gè)線程,分別進(jìn)行讀寫(xiě),完成快速時(shí)采集與顯示。   但應(yīng)該指出的是,多線程技術(shù)是一種比較難的技術(shù),因?yàn)椴l(fā)運(yùn)行線程的并行性增加了代碼的額外復(fù)雜度,所以多線程應(yīng)用程序的編寫(xiě)和調(diào)試比較困難。在采集過(guò)程中,數(shù)據(jù)要在每個(gè)線程內(nèi)分別寫(xiě)入文件進(jìn)行保存,而各個(gè)線程又是相對(duì)獨(dú)立的,因此要精確獲得“同一時(shí)刻”的數(shù)據(jù),十分困難。而且當(dāng)涉及線程較多,頻繁調(diào)用函數(shù),很容易出現(xiàn)致命錯(cuò)誤,十分危險(xiǎn)。   而多媒體定時(shí)器數(shù)據(jù)采集、數(shù)據(jù)處理、數(shù)據(jù)保存,都在回調(diào)函數(shù)中進(jìn)行,能夠在“同一時(shí)刻”采集各種運(yùn)動(dòng)參數(shù),方便了參數(shù)的對(duì)比,而且安全性好。 6 結(jié)束語(yǔ)   應(yīng)用多媒體定時(shí)器與PMAC的雙端口 RAM技術(shù),對(duì)在基于PMAC的系統(tǒng)進(jìn)行數(shù)據(jù)采集,定時(shí)精度高、采集時(shí)間間隔短,能夠在“同一時(shí)刻”采集各種運(yùn)動(dòng)參數(shù),方便了參數(shù)的對(duì)比,簡(jiǎn)化了數(shù)據(jù)采集過(guò)程,而且安全性好,是一種基于PMAC系統(tǒng)的數(shù)據(jù)采集的有效方法。 參考文獻(xiàn):   [1] 侯 明,王東興.WINDOWS 系統(tǒng)高精度定時(shí)方法研究[J].《微計(jì)算機(jī)信息》(管控一體化).2006(3):262-264.   [2] 北京元貿(mào)興控制設(shè)備技術(shù)有限責(zé)任公司. PMAC用戶(hù)手冊(cè)[M].1999:216-217.   [3] DELTA TAU Data System Inc. PMAC USER’S MANUAL[M]. USA:DELTA TAU Data System Inc,1999:60-64.   [4] 申 宇,馬伯淵,張金樓. 基于PMAC卡的高速數(shù)據(jù)采集[J]. 機(jī)電工程技術(shù),2006(4):96-97.

標(biāo)簽:

點(diǎn)贊

分享到:

上一篇:基于模糊理論的數(shù)控伺服系統(tǒng)...

下一篇:微能WIN-V63矢量控制變頻器在...

中國(guó)傳動(dòng)網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來(lái)源:中國(guó)傳動(dòng)網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國(guó)傳動(dòng)網(wǎng)(m.u63ivq3.com)獨(dú)家所有。如需轉(zhuǎn)載請(qǐng)與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個(gè)人轉(zhuǎn)載使用時(shí)須注明來(lái)源“中國(guó)傳動(dòng)網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明其他來(lái)源的稿件,均來(lái)自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請(qǐng)保留稿件來(lái)源及作者,禁止擅自篡改,違者自負(fù)版權(quán)法律責(zé)任。

網(wǎng)站簡(jiǎn)介|會(huì)員服務(wù)|聯(lián)系方式|幫助信息|版權(quán)信息|網(wǎng)站地圖|友情鏈接|法律支持|意見(jiàn)反饋|sitemap

傳動(dòng)網(wǎng)-工業(yè)自動(dòng)化與智能制造的全媒體“互聯(lián)網(wǎng)+”創(chuàng)新服務(wù)平臺(tái)

網(wǎng)站客服服務(wù)咨詢(xún)采購(gòu)咨詢(xún)媒體合作

Chuandong.com Copyright ?2005 - 2024 ,All Rights Reserved 深圳市奧美大唐廣告有限公司 版權(quán)所有
粵ICP備 14004826號(hào) | 營(yíng)業(yè)執(zhí)照證書(shū) | 不良信息舉報(bào)中心 | 粵公網(wǎng)安備 44030402000946號(hào)