技術(shù)頻道

娓娓工業(yè)
您現(xiàn)在的位置: 中國傳動(dòng)網(wǎng) > 技術(shù)頻道 > 應(yīng)用方案 > PMAC控制板在轉(zhuǎn)臺(tái)控制系統(tǒng)中的應(yīng)用

PMAC控制板在轉(zhuǎn)臺(tái)控制系統(tǒng)中的應(yīng)用

時(shí)間:2008-09-05 11:12:00來源:ronggang

導(dǎo)語:?各種嵌入式產(chǎn)品的出現(xiàn)導(dǎo)致計(jì)算機(jī)控制系統(tǒng)出現(xiàn)了很多新的形式,作為典型的DSP應(yīng)用產(chǎn)品,PMAC非常適合軸類運(yùn)動(dòng)的控制。本文主要介紹PMAC在一個(gè)實(shí)際的飛行模擬轉(zhuǎn)臺(tái)控制系統(tǒng)中的應(yīng)用方法
摘 要:各種嵌入式產(chǎn)品的出現(xiàn)導(dǎo)致計(jì)算機(jī)控制系統(tǒng)出現(xiàn)了很多新的形式,作為典型的DSP應(yīng)用產(chǎn)品,PMAC非常適合軸類運(yùn)動(dòng)的控制。本文主要介紹PMAC在一個(gè)實(shí)際的飛行模擬轉(zhuǎn)臺(tái)控制系統(tǒng)中的應(yīng)用方法。 關(guān)鍵詞:PMAC, 轉(zhuǎn)臺(tái), 半實(shí)物仿真 1. 引言   由于各種民用、軍用飛行器技術(shù)的快速發(fā)展,當(dāng)今世界各國都十分重視半實(shí)物仿真技術(shù)的研究和應(yīng)用,而飛行模擬轉(zhuǎn)臺(tái)是半實(shí)物仿真的重要設(shè)備之一。通常,飛行模擬轉(zhuǎn)臺(tái)提供模擬飛行器飛行姿態(tài)角和為被試件提供測試條件的功能,以便驗(yàn)證全數(shù)字仿真的實(shí)驗(yàn)結(jié)果并進(jìn)一步優(yōu)化或改良飛行器設(shè)計(jì)方案。而對于轉(zhuǎn)臺(tái)這樣一個(gè)典型的自動(dòng)控制系統(tǒng)來講,控制器扮演重要角色,其優(yōu)劣直接決定飛行仿真實(shí)驗(yàn)的成敗和效果。因此,尋求簡單易用且可靠的控制器成為轉(zhuǎn)臺(tái)設(shè)計(jì)的一個(gè)重要方面。 2. 使用PMAC控制器   隨著自動(dòng)控制理論和數(shù)字計(jì)算機(jī)及其應(yīng)用技術(shù)的不斷發(fā)展,使以計(jì)算機(jī)為基礎(chǔ)控制技術(shù)迅猛發(fā)展,被控對象規(guī)模更大,控制過程和規(guī)律也更加復(fù)雜和精密,控制方法也更加靈活多樣。在轉(zhuǎn)臺(tái)的控制系統(tǒng)中,除了用來產(chǎn)生輸入信號(hào)的仿真機(jī)之外,計(jì)算機(jī)還扮演了控制器的角色。在這里,計(jì)算機(jī)可以是單片機(jī)、工控機(jī)或者是PC等。根據(jù)控制器的不同形式,計(jì)算機(jī)控制系統(tǒng)分為集中式,分布式,集散式三種類型,其中集散式控制器又分為PC機(jī)與單片機(jī),PC機(jī)與PC機(jī),PC機(jī)與嵌入式控制器三種形式。   在控制系統(tǒng)中使用PMAC,采用的就是PC機(jī)與嵌入式控制器組合這種形式。   2.1問題的提出
  轉(zhuǎn)臺(tái)的控制系統(tǒng)通常采用上、下位機(jī)的形式。如圖1所示,常見的控制器一般位于下位機(jī),由其給出具體控制算法,并由下位機(jī)總線上的各個(gè)分立器件(如放大器,DA、AD轉(zhuǎn)換裝置等)來完成輸出控制信號(hào)和采集被控對象位置/速度等信息的功能,同時(shí)通過網(wǎng)卡等通信設(shè)備與上位機(jī)交換信息。這里,控制器的功能由一個(gè)各部分相對獨(dú)立的系統(tǒng)來完成,使系統(tǒng)設(shè)計(jì)、控制算法實(shí)現(xiàn)和數(shù)據(jù)采集都較為復(fù)雜;加上各個(gè)設(shè)備之間可能存在的干擾,整個(gè)系統(tǒng)的安裝調(diào)試需要花費(fèi)較多的精力才能完成。這樣看來,如果整個(gè)下位機(jī)(包括提到的各種功能)能夠由一個(gè)獨(dú)立的通用部件完成,系統(tǒng)設(shè)計(jì)和調(diào)試所面對的困難就要小得多。PMAC控制器正好可以達(dá)成這一目的。   2.2 PMAC簡介   PMAC的全稱是Programmable Multi Axis Controller,由美國Delta Tau公司設(shè)計(jì)生產(chǎn)。PMAC系列包含適用多種總線平臺(tái)的板卡以及適于獨(dú)立使用的組件。PMAC基于DSP(數(shù)字信號(hào)處理器),是一種通用的運(yùn)動(dòng)控制器,但更適用于數(shù)控機(jī)床等軸運(yùn)動(dòng)設(shè)備。它可以控制2 – 32根軸的運(yùn)動(dòng)(18塊PMAC級(jí)聯(lián)可以控制128根軸),同時(shí)包含多路數(shù)字I/O和DA/AD裝置;可以自動(dòng)生成各種控制曲線的軌跡,并允許用戶方便的生成自己的控制代碼。由于DSP的強(qiáng)大功能,PMAC甚至集成了典型的控制算法(也可以由用戶提供自己的控制算法),并提供高精度的計(jì)算能力。用于PC的PMAC提供ISA/PCI總線或串口的通信方式,并提供了一組編程接口供高級(jí)用戶進(jìn)行二次開發(fā)。   PMAC非常適合于對軸運(yùn)動(dòng)進(jìn)行控制。因此,只要滿足指標(biāo)要求,飛行模擬轉(zhuǎn)臺(tái)也可以采用PMAC作為控制器。這樣,整個(gè)下位機(jī)物理結(jié)構(gòu)可以大大簡化,系統(tǒng)設(shè)計(jì)和調(diào)試過程也變得相對簡單。   圖2是PMAC本身提供的前饋濾波+PID控制算法的框圖,其中的各個(gè)參數(shù)都可以調(diào)節(jié),以滿足不同需要。 [align=center] 圖2:PMAC的PID框圖[/align] 3. 系統(tǒng)構(gòu)成方法   3.1 由PMAC構(gòu)成上下位機(jī)系統(tǒng)   簡化的邏輯框圖如圖3所示。
  圖中,PMAC控制卡通過標(biāo)準(zhǔn)總線與上位機(jī)相聯(lián),碼盤等測速或測角機(jī)構(gòu)通過PMAC上的DD接口傳遞位置、速度等信息,經(jīng)PMAC處理,并按上位機(jī)給出的控制要求通過PMAC上的DA接口輸出合適的電平信號(hào)控制轉(zhuǎn)臺(tái)上的電機(jī)運(yùn)動(dòng),從而構(gòu)成控制閉環(huán)。   另外,PMAC通過總線向上位機(jī)交換報(bào)告轉(zhuǎn)臺(tái)位置、運(yùn)行安全等信息,并從上位機(jī)獲得程序運(yùn)行所需要的命令,如程序開始、結(jié)束和系統(tǒng)復(fù)位等。   由于PMAC自身的特性,使諸如碼盤信號(hào)換算、行程限位等功能可以很方便的實(shí)現(xiàn),且PMAC的可編程特性使系統(tǒng)經(jīng)由很強(qiáng)的擴(kuò)展能力,整個(gè)系統(tǒng)構(gòu)成要比普通的上下位機(jī)系統(tǒng)顯得簡單實(shí)用。而PMAC的使用也使系統(tǒng)更具通用性,只需作少量調(diào)整即可應(yīng)用于其他設(shè)備。   3.2軟件環(huán)境的選擇   過去用于轉(zhuǎn)臺(tái)控制的上下位機(jī)軟件系統(tǒng)普遍采用DOS作為操作系統(tǒng)。這一方面是受當(dāng)時(shí)的條件限制,另一方面也是由于DOS的開放性,程序可以直接對硬件進(jìn)行操作,且一般認(rèn)為DOS的實(shí)時(shí)性較好。缺點(diǎn)是控制軟件的圖形界面不容易通過編程的方式生成,控制和通信程序中揉雜大量用于生成用戶界面的代碼,調(diào)試和維護(hù)比較困難,而且直接直接對硬件操作使得程序通用性較差。隨著計(jì)算機(jī)軟/硬件及其應(yīng)用技術(shù)的發(fā)展,一方面計(jì)算機(jī)硬件的價(jià)格顯著降低,軟件產(chǎn)品極大豐富,另一方面使用者對程序界面的要求也逐漸提高,越來越多的控制系統(tǒng)軟件開始采用Windows作為操作系統(tǒng)。對于PMAC而言,它同時(shí)提供了基于DOS和Windows的配置程序、二次開發(fā)工具以及例程。穩(wěn)定性方面,Windows作為控制系統(tǒng)上位機(jī)的操作系統(tǒng)已經(jīng)是流行的做法,說明它可以滿足一般要求;而實(shí)時(shí)性更是一個(gè)相對概念,對于轉(zhuǎn)臺(tái)控制系統(tǒng)而言,只要你有足夠快的硬件設(shè)備和不太差的控制/通信程序,毫秒級(jí)的時(shí)間精度不難達(dá)到。   這樣,如果采用PMAC作控制器,我們可以選用Windows作為上位機(jī)的操作系統(tǒng);而PMAC運(yùn)行一般并不需人為干預(yù),結(jié)果合適配置,上電后會(huì)按既定的方式執(zhí)行程序。PMAC通過驅(qū)動(dòng)程序+開發(fā)庫的方式提供與OS的接口,Windows下常見的開發(fā)工具都可以使用。 4. PMAC相關(guān)的程序設(shè)計(jì)   作為一款成熟的工業(yè)產(chǎn)品,PMAC不僅提供了快速穩(wěn)定的硬件平臺(tái),也提供了一套完整的二次開發(fā)接口供高級(jí)用戶使用。PMAC用于數(shù)控機(jī)床等的控制時(shí),可以由用戶編寫程序在相應(yīng)的坐標(biāo)系內(nèi)對各個(gè)軸的運(yùn)動(dòng)軌跡進(jìn)行方便的控制,并方便地取得各個(gè)軸的速度、加速度、位置等信息。   4.1 PMAC的基本運(yùn)行方式   在PMAC和PC構(gòu)成的系統(tǒng)中,相對于PMAC,PC機(jī)一側(cè)一般稱為主機(jī)(Host)。   PMAC上的DSP芯片起到CPU的作用,通過DSP Gate控制程序的運(yùn)行。用于PC的PMAC的啟動(dòng)過程和普通的板卡沒有太大的區(qū)別:主機(jī)上電后,PMAC默認(rèn)通過PCI或ISA總線(取決于PMAC的種類)與主機(jī)通信,隨后PMAC開始自檢過程(這一點(diǎn)上很象一臺(tái)計(jì)算機(jī)),如果PMAC自檢沒有問題,則從板上自帶的EPROM內(nèi)讀取變量初始設(shè)置等配置信息;如果有活動(dòng)的PLC程序且PLC程序可以運(yùn)行,則PLC程序也會(huì)開始在后臺(tái)運(yùn)行。PMAC啟動(dòng)完成后,則可以接收來自主機(jī)總線或端口(串行口)的指令,進(jìn)行進(jìn)一步的動(dòng)作。   這里簡單介紹一下在PMAC中運(yùn)行的幾種程序。   PMAC通過DSP處理所有的運(yùn)算過程,板卡上的芯片固化了所有負(fù)責(zé)PMAC啟動(dòng)和高級(jí)數(shù)學(xué)、邏輯運(yùn)算的核心程序。另外主要用于控制軸運(yùn)動(dòng)方式的的程序稱為“G-Code”,一般由用戶根據(jù)需要自行編寫,可以以編譯或非編譯的方式運(yùn)行,比如控制數(shù)控機(jī)床的程序中大部分是此類代碼,最多可以有256個(gè)。最后一類PLC程序(最多32個(gè))則是循環(huán)運(yùn)行于后臺(tái)的。只要被設(shè)置為允許運(yùn)行,PLC程序會(huì)一直運(yùn)行,直到PMAC本身停止。PMAC的程序運(yùn)行也有類似計(jì)算機(jī)的優(yōu)先級(jí)別分級(jí)。核心程序負(fù)責(zé)協(xié)調(diào)其它程序的運(yùn)行,優(yōu)先級(jí)最高;然后是PLC0,接下來是控制運(yùn)動(dòng)的G-Gode,最后是PLC1-PLC31,他們在運(yùn)動(dòng)程序的間歇運(yùn)行。同時(shí)PMAC也提供硬件中斷功能(中斷級(jí)數(shù)取決于PMC的級(jí)連使用情況),允許主機(jī)以中斷方式和PMAC通信。   4.2 PMAC的編程方式   PMAC提供了強(qiáng)大的功能用于軸類運(yùn)動(dòng)的控制。   一方面,普通用戶可以通過編寫并運(yùn)行G-Code的方式來控制特定設(shè)備(例如數(shù)控車床)的運(yùn)動(dòng)過程;另一方面,PMAC也允許高級(jí)用戶以命令的方式直接對PMAC的運(yùn)行過程進(jìn)行控制。對于前者,PMAC提供了一系列的配置工具和IDE,方便用戶進(jìn)行G-Code的編寫、調(diào)試、編譯和上載(至PMAC);對于后者,除了必需的配置工具以外,PMAC也提供了相應(yīng)的開發(fā)包用于高級(jí)用戶的二次開發(fā)。PMAC應(yīng)用于轉(zhuǎn)臺(tái)的控制系統(tǒng)時(shí)并不需運(yùn)行G-Code,因此以下著重解釋PMAC開發(fā)包的編程方式。   當(dāng)需要與PMAC直接通信時(shí),需要用到DeltaTau提供的PCOMM庫。針對微軟的Windows,可以使用PCOMM32庫來與PMAC通信。PCOMM32提供了支持ANSI/UNICODE的幾組函數(shù)分別用于初始化/停止/配置、字符方式通信、上/下載、雙端口RAM(PMAC板載)操作、偽中斷等,具體可查看PCOMMM32的參考手冊。   結(jié)合轉(zhuǎn)臺(tái)的具體情況,所要作的主要是配置PMAC的運(yùn)行參數(shù)和讀取軸運(yùn)動(dòng)狀態(tài)。為了保證較高的存取速度,可以使用雙端口RAM作為通信中介。當(dāng)雙端口RAM被配置成實(shí)時(shí)數(shù)據(jù)緩沖工作方式時(shí),可以直接從雙端口RAM讀取各個(gè)軸的運(yùn)動(dòng)狀態(tài),而PMAC本身負(fù)責(zé)在大約每400微秒的時(shí)間間隔內(nèi)對這些信息進(jìn)行刷新。用戶編寫的應(yīng)用程序只需要讀取對應(yīng)的雙端口RAM的地址上的數(shù)據(jù)即可。而且,PCOMM32提供了一組函數(shù)專門負(fù)責(zé)上述功能的實(shí)現(xiàn),使用戶不必和硬編碼的雙端口RAM地址打交道,提高了開發(fā)效率。   以下的代碼片斷是利用雙端口RAM從PMAC獲得運(yùn)動(dòng)信息的例子:   //針對軸的操作   double aDouble =DPRPosition(1,1); //軸的當(dāng)前位置   //other codes handle this   aDouble = DPRGetCommandedPos(1,1); //軸的給定位置   //other codes handle this   aDouble = DPRFollowError(1,1); //軸的隨動(dòng)誤差   //other codes handle this   aDouble = DPRGetVel(1,1); //軸的速度   //do more   如果雙端口RAM默認(rèn)功能提供的運(yùn)動(dòng)狀態(tài)信息不能夠滿足用戶要求,或者用戶只需要其中一部分信息而雙端口RAM又有足夠的存儲(chǔ)空間,也可以采用以下方式。   前文提到PMAC啟動(dòng)后可以以較高的優(yōu)先級(jí)別循環(huán)運(yùn)行PLC0程序,且其運(yùn)行的時(shí)間間隔也可以設(shè)置,默認(rèn)也是大約400微秒。于是可以通過編寫PLC0程序的方式,向雙端口RAM中刷新所需的數(shù)據(jù),然后再由用戶程序讀出處理。這樣也可以在保證實(shí)時(shí)性的前提下滿足用戶對數(shù)據(jù)的特殊需要,且代碼量不大。   以下的代碼片斷是使用PLC0更新雙端口RAM從PMAC獲得運(yùn)動(dòng)信息的例子:   //first in command line setup M-variable   m111->D$28 ;#1軸當(dāng)前位置   m112->DP$D000 ;first memory area   ;... other settins   //PLC0   open plc 0 clear   m112 = m111 / (i108*32) ;在plc0內(nèi)刷新,i108*32是作單位轉(zhuǎn)換   ;...do more   close   //wakeup plc 0   i5 = 2   enable plc 0   //user app   //...   float lamer = DPRGetFloat(DEVICE0_ID, 0); //0 is offset from DP$D000   //...handle the lamer   4.3PMAC應(yīng)用程序的一般結(jié)構(gòu)   綜合前面的論述,PMAC的應(yīng)用程序一般分為三個(gè)部分。   1. PMAC的設(shè)置。一般情況下,盡管PMAC使用出廠時(shí)的默認(rèn)配置即可運(yùn)行起來,在投入正式使用前一般都會(huì)根據(jù)具體需要對默認(rèn)配置進(jìn)行改變,包括硬件設(shè)置(如跳線)、軟件設(shè)置(如控制電機(jī)運(yùn)行的I變量等)、變量分配和報(bào)警設(shè)置,具體可以參考PMAC的軟件手冊和用戶手冊。另外還需要連接用的電纜等。   2. PMAC運(yùn)動(dòng)程序的編寫。作為控制器,在配置好系統(tǒng)變量的前提下,PMAC通過運(yùn)動(dòng)程序、PLC程序等對具體對象施加控制信號(hào)。同時(shí),這些程序還要負(fù)責(zé)向上位機(jī)報(bào)告工作狀態(tài)。一般來講,PMAC一側(cè)的程序以簡單語句為主,且最好不要有太復(fù)雜的邏輯,以保證運(yùn)行效率。   3. 主機(jī)(上位機(jī)PC)一側(cè)程序的編寫。主機(jī)一側(cè)的程序除負(fù)責(zé)向PMAC傳送仿真機(jī)的指令外,還需要獲得轉(zhuǎn)臺(tái)的實(shí)時(shí)運(yùn)動(dòng)狀態(tài)和報(bào)警情況,一般還需要繪制波形和記錄數(shù)據(jù)備查。當(dāng)上位機(jī)程序在WIN32下實(shí)現(xiàn)時(shí),應(yīng)盡可能利用線程來處理各種操作,以保證實(shí)時(shí)性。 5.結(jié)論   將PMAC作為轉(zhuǎn)臺(tái)的控制器在理論和實(shí)際上都是可行的,筆者已經(jīng)在實(shí)際系統(tǒng)上實(shí)現(xiàn)。這樣作使系統(tǒng)設(shè)計(jì)和應(yīng)用程序的設(shè)計(jì)大大簡化,設(shè)計(jì)者只需要較少的代碼就可以達(dá)到目的。另外,當(dāng)整個(gè)系統(tǒng)投入使用并進(jìn)入維護(hù)階段,采用PMAC這樣的標(biāo)準(zhǔn)部件也減少了軟/硬件維護(hù)的困難。作為飛行模擬轉(zhuǎn)臺(tái)設(shè)計(jì)實(shí)現(xiàn)的一個(gè)新思路,這一方法值得嘗試。 參考文獻(xiàn)   [1] 劉藻珍,魏華梁. 系統(tǒng)仿真[M]. 北京: 北京理工大學(xué)出版社,1998   [2] Deltatau Data Systems Inc., PMAC Manual. 1997   [3] Charles Petzold, Programming Windows.Microsoft Press, 1998

標(biāo)簽:

點(diǎn)贊

分享到:

上一篇:單片機(jī)在溫度控制中的應(yīng)用

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

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

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

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

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

網(wǎng)站客服服務(wù)咨詢采購咨詢媒體合作

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