新聞中心

EEPW首頁 > 測試測量 > 設(shè)計應(yīng)用 > 基于PMAC控制卡的激光掃描尺寸測量系統(tǒng)

基于PMAC控制卡的激光掃描尺寸測量系統(tǒng)

作者: 時間:2009-08-27 來源:網(wǎng)絡(luò) 收藏

本質(zhì)上是一個基于DSP芯片的多功能板上系統(tǒng)。該例的有2個主接口,每個主接口可以同時控制4臺電機的運動。對于每一臺電機,主接口都有一組相應(yīng)的引腳(如圖2所示)。分別負責光柵尺信號輸入,電機控制輸出和標志信號輸入。在該例中主接口通過跳線設(shè)置為光電隔離模式。

本文引用地址:http://m.butianyuan.cn/article/195747.htm

除主接口外,還有一系列通用的模擬、數(shù)字輸入/輸出口。這些端口與其DSP內(nèi)存統(tǒng)一編址,可通過統(tǒng)一的方式存取。PMAC地址空間的功能是預(yù)設(shè)固定的,如某一部分地址保存的數(shù)據(jù)代表某臺電機的設(shè)置,另一部分則是用戶應(yīng)用所保存的數(shù)據(jù)。為方便上位機對PMAC內(nèi)存的操作和應(yīng)用程序的編寫,其內(nèi)存被按其功能劃分為各種變量,如I變量、M變量、P變量。I變量的值設(shè)置了PMAC卡的工作環(huán)境,這又使I變量可被劃分為許多種類型,如電機設(shè)置I變量、通信設(shè)置I變量、編碼器I變量、P變量(供用戶程序使用的全局變量、M變量(指針變量),即其本身所代表的內(nèi)存地址存儲的是另一個存儲單元的地址)。M變量可根據(jù)需要指向任意存儲位置,包括內(nèi)存和端口寄存器。不過在PMAC上電時,部分M變量會被預(yù)先初始化為指向特殊位置的值,如M203的缺省值指向2號編碼器的位置捕獲寄存器。
2.2 位置捕獲功能的設(shè)置
位置捕獲功能是指在一個外部事件進入某一寄存器時,鎖存相應(yīng)的當前編碼器位置。這是一個完全由與編碼器相關(guān)的硬件電路來完成的任務(wù),所以它惟一的延遲就是硬件門的延遲,這使它具有非常高的位置捕捉精度。
電路的工作方式可通過軟件選擇,如可設(shè)置讀入外部事件的位置。設(shè)置是通過相關(guān)編碼器I變量完成的。每一個編碼器都可通過5個I變量來設(shè)置,位置捕獲功能相關(guān)的變量為編碼器I變量2和編碼器I變量3。變量3設(shè)置事件捕捉的位置,如可將其設(shè)為通過HOME標志捕捉。變量2設(shè)置外部事件的捕捉方式,如是上跳沿還是下跳沿。PMAC共可設(shè)置16個編碼器,每個編碼器的I變量是按順序5個一組編排的,依次為I900~I979。對于編碼器2(編號從1開始),若將其設(shè)置為捕捉HOME標志的上跳沿信號進行位置捕捉,則可通過向PMAC發(fā)送命令“I907=2”和“I908=0”來實現(xiàn)。每一個編碼器都對應(yīng)于一組寄存器,通過這些寄存器可設(shè)置編碼器的工作方式,如前面對編碼器I變量的設(shè)置,實際就是向這些寄存器的某些位寫入某些值。通過這些寄存器也可讀取編碼器信息,如當編碼器完成一次位置捕捉后,被鎖存的位置就保存在這些寄存器中,對于編碼器2,該寄存器的位置為X:MYMC007的所有24位。編碼器還根據(jù)位置捕捉的情況自動設(shè)置某些標志位,即當完成一次捕捉時將標志置1。此時,無論外部信號有什么變化都不會再進行捕捉,當捕捉結(jié)果被取走時(即對相應(yīng)寄存器有讀操作),編碼器自動將標志置0,并重新開始響應(yīng)外部事件進行新的位置捕捉。對于編碼器2,該標志位的位置為X:MYMC004的第17位(從0開始,共24 位)。
2.3 PLC程序的設(shè)置
PMAC是一個多任務(wù)的計算機應(yīng)用系統(tǒng)。它除了能通過各種設(shè)置和運動程序完成高精度的定位和對復(fù)雜運動的控制任務(wù)外,還可分時執(zhí)行多類其他任務(wù),并根據(jù)任務(wù)的實時性要求,分配任務(wù)的優(yōu)先級,高優(yōu)先級的任務(wù)會打斷低優(yōu)先級的任務(wù)。PLC程序是PMAC所支持的用戶程序之一,在任務(wù)優(yōu)先級上處于最末的后臺處理級。它可在用戶的主機上編寫,之后下載到PMAC上執(zhí)行。與PMAC支持的另一種優(yōu)先級較高的用戶程序――運動程序相比。 PLC程序沒有運動語句,其在功能上與可編程邏輯控制器非常類似。
在該應(yīng)用中,PLC程序的任務(wù)是判斷是否發(fā)生位置捕獲,如發(fā)生,則將其讀人數(shù)組中,并對捕獲的位置進行計數(shù)。之所以要將值讀入數(shù)組中,是因為由于激光掃過被測物邊緣時會由于邊緣的反射產(chǎn)生抖動,以致采集到的數(shù)據(jù)多于1個,為防止后面的數(shù)據(jù)沖掉前面的數(shù)據(jù),故將掃過一個邊緣產(chǎn)生的數(shù)據(jù)放入數(shù)組中。
可用的PLC程序如下:


在程序中m203指向編碼器2的位置捕捉寄存器;m217指向編碼器2的位置捕捉狀態(tài)標志位;m33指向P變量220,這是數(shù)組第一個元素的位置;m34指向m33的低12位,這樣就可操作m33,使其在讀人捕捉位置后指向下一個P變量。

3 測量系統(tǒng)特性初探
為研究系統(tǒng)的測量性能,以20 mm標準量塊為被測物,在上述系統(tǒng)上進行了一系列測量實驗。實驗結(jié)果通過上位機用Vc++編寫的程序進行采集、存儲和分析。與PMAC的通信是利用 Delta-tau公司提供的動態(tài)連接庫PComm32.dll完成的。由于C++語言對數(shù)值計算和圖表輸出的支持較少,程序采用與Matlab混合編程的方式來完成分析工作,即采用了調(diào)用Mat-lab COM服務(wù)器的方式,實現(xiàn)對Matlab函數(shù)的調(diào)用。這一編程方式也可在其他語言中實現(xiàn)。
在測量過程中,被測物的兩個邊沿都以兩種方式被定位,即從亮到暗和從暗到亮,且每次實驗的樣本數(shù)都不少于300。也就是說,每次的實驗結(jié)果均包含4個數(shù)據(jù)組,分別記作Q_L(代表前邊沿,從亮到暗),Q_A(代表前邊沿,從暗到亮),H_L(代表后邊沿,從亮到暗),H_A(代表后邊沿,從暗到亮),且每組數(shù)據(jù)的個數(shù)不少于300。由于測量系統(tǒng)本質(zhì)上是通過對邊緣的定位來進一步完成的,所以在以下分析中僅就邊緣定位的系統(tǒng)特性作一簡要說明。
圖3為1次實驗的結(jié)果,該實驗所用光柵尺的每一計數(shù)代表0.1 μm。

圖3所示數(shù)據(jù)的數(shù)字特征如表1所示。

伺服電機相關(guān)文章:伺服電機工作原理




評論


相關(guān)推薦

技術(shù)專區(qū)