国产精品久久人妻互换毛片,国产av国片偷人妻麻豆,国产精品第12页,国产高清自产拍av在线,潮喷大喷水系列无码久久精品

技術(shù)頻道

基于MPC07運(yùn)動(dòng)控制卡的步進(jìn)電機(jī)控制系統(tǒng)研究

0 引言

隨著機(jī)電一體化的不斷發(fā)展,現(xiàn)代工業(yè)中運(yùn)動(dòng)控制系統(tǒng)也隨之更新?lián)Q代,從PLC、單片機(jī)、運(yùn)動(dòng)控制卡到專(zhuān)業(yè)的運(yùn)動(dòng)控制單元,控制方法越來(lái)越先進(jìn),控制策略越來(lái)越多,并不斷誕生出一代復(fù)雜而柔性的設(shè)備和機(jī)器。
MPC07運(yùn)動(dòng)控制卡是基于PC機(jī)PCI總線的步進(jìn)電機(jī)或數(shù)字式伺服電機(jī)的上位控制單元,它與PC機(jī)構(gòu)成主從式控制結(jié)構(gòu), PC機(jī)負(fù)責(zé)人機(jī)交互界面的管理和控制系統(tǒng)的實(shí)時(shí)監(jiān)控等方面的工作,MPC07卡完成運(yùn)動(dòng)控制的各種細(xì)節(jié),譬如每個(gè)軸的運(yùn)動(dòng)依靠輸出脈沖和方向信號(hào)、在運(yùn)動(dòng)過(guò)程中能夠自動(dòng)升降速的處理、以及實(shí)現(xiàn)回原點(diǎn)起保護(hù)作用的限位開(kāi)關(guān)信號(hào)等。每塊MPC07卡可控制4軸步進(jìn)電機(jī)或數(shù)字式伺服電機(jī),并支持多卡共用以實(shí)現(xiàn)多于4個(gè)運(yùn)動(dòng)軸的控制。該卡是基于FPGA設(shè)計(jì),能夠提供各種運(yùn)動(dòng)控制功能。
用戶(hù)可根據(jù)控制系統(tǒng)的要求編制人機(jī)界面,并調(diào)用MPC07運(yùn)動(dòng)函數(shù)庫(kù)中的指令函數(shù),就可以開(kāi)發(fā)出滿(mǎn)足要求而且成本低廉的多軸運(yùn)動(dòng)控制系統(tǒng)。

1 MPC07運(yùn)動(dòng)控制卡的原理

MPC07配備了功能強(qiáng)大、內(nèi)容豐富的Windows驅(qū)動(dòng)程序、DLL函數(shù)庫(kù)。MPC07在插補(bǔ)算法和運(yùn)動(dòng)函數(shù)的執(zhí)行效率方面采用了更有效的方法,提高了插補(bǔ)精度、插補(bǔ)速度和實(shí)時(shí)性。MPC07運(yùn)動(dòng)函數(shù)庫(kù)用于二次開(kāi)發(fā),用戶(hù)用VisualBasic或VC + +支持Windows標(biāo)準(zhǔn)32位動(dòng)態(tài)鏈接庫(kù)(DLL)調(diào)用的開(kāi)發(fā)工具編制所需的用戶(hù)界面程序,并把它與MPC07運(yùn)動(dòng)庫(kù)鏈接起來(lái),就可以開(kāi)發(fā)出自己的多軸運(yùn)動(dòng)控制系統(tǒng),例如:數(shù)控系統(tǒng)、檢測(cè)設(shè)備、自動(dòng)生產(chǎn)線等。MPC07的運(yùn)動(dòng)函數(shù)庫(kù)能夠完成與運(yùn)動(dòng)控制有關(guān)的復(fù)雜細(xì)節(jié):升降速計(jì)算、行程控制、多軸插補(bǔ)等,這樣就可以大大縮短控制系統(tǒng)的開(kāi)發(fā)周期。
MPC07控制卡的運(yùn)動(dòng)控制功能主要取決于運(yùn)動(dòng)函數(shù)庫(kù)。運(yùn)動(dòng)函數(shù)庫(kù)為單軸及多軸的步進(jìn)或伺服控制提供了許多運(yùn)動(dòng)函數(shù):單軸運(yùn)動(dòng)、多軸獨(dú)立運(yùn)動(dòng)、多軸插補(bǔ)運(yùn)動(dòng)等等。
另外,為了配合運(yùn)動(dòng)控制系統(tǒng)的開(kāi)發(fā),還提供了間隙補(bǔ)償功能。圖1為MPC07控制卡在三軸步進(jìn)控制系統(tǒng)中的應(yīng)用。

2 運(yùn)動(dòng)控制系統(tǒng)工作過(guò)程

利用MPC07的動(dòng)態(tài)鏈接庫(kù)(DLL ) ,開(kāi)發(fā)者可以很快開(kāi)發(fā)出Windows平臺(tái)下的運(yùn)動(dòng)控制系統(tǒng)。MPC07動(dòng)態(tài)鏈接庫(kù)是標(biāo)準(zhǔn)的Windows 32位動(dòng)態(tài)鏈接庫(kù),選用的開(kāi)發(fā)工具應(yīng)支持Windows標(biāo)準(zhǔn)的32位DLL調(diào)用。
首先進(jìn)行程序初始化,設(shè)置運(yùn)動(dòng)參數(shù)以及板卡參數(shù),運(yùn)動(dòng)參數(shù)有各種運(yùn)動(dòng)速度、加/減速、升降速類(lèi)型等,板卡參數(shù)有卡的數(shù)量、各卡上的軸數(shù)等。如果硬件設(shè)置錯(cuò)誤,軟件在運(yùn)行時(shí)發(fā)生錯(cuò)誤,則調(diào)用失敗,需重新設(shè)置。
步進(jìn)電機(jī)的直線運(yùn)動(dòng):獨(dú)立運(yùn)動(dòng)和插補(bǔ)運(yùn)動(dòng)。
獨(dú)立運(yùn)動(dòng)指各控制軸的運(yùn)動(dòng)之間沒(méi)有聯(lián)動(dòng)關(guān)系,可以是單軸運(yùn)動(dòng),也可以是多軸同時(shí)按各自的速度運(yùn)動(dòng)。點(diǎn)位運(yùn)動(dòng)、連續(xù)運(yùn)動(dòng)和回原點(diǎn)運(yùn)動(dòng)都屬于獨(dú)立運(yùn)動(dòng)。
插補(bǔ)運(yùn)動(dòng)是指兩軸或三軸按照一定的算法進(jìn)行聯(lián)動(dòng),被控軸同時(shí)啟動(dòng),并同時(shí)到達(dá)目標(biāo)位置。插補(bǔ)運(yùn)動(dòng)以矢量速度運(yùn)行,矢量速度分為常矢量速度和梯形矢量速度。多軸插補(bǔ)運(yùn)動(dòng)(圖2)只有線性運(yùn)動(dòng),它們的運(yùn)動(dòng)速度由矢量速度決定,各軸的速度為矢量速度在各軸上的分量。


下面一段代碼是使兩軸以常速度作直線插補(bǔ):
set_vector conspeed (2000) 設(shè)置矢量常速度為2000個(gè)脈沖;
con2line2 (1, 2000, 2, 2500) 軸l移動(dòng)2000個(gè)脈沖,軸2移動(dòng)2500個(gè)脈沖。
下面一段代碼是使兩軸以梯形速度作直線插補(bǔ):
set_vector p rofile (500, 2000, l000)設(shè)置矢量梯形速度:低速為500個(gè)脈沖,高速為2000個(gè)脈沖,加速度為1000個(gè)脈沖;
fast_line2 (1, 2000, 2, 4000)軸I移動(dòng)2000個(gè)脈沖,軸2移動(dòng)4000個(gè)脈沖。

3 程序設(shè)計(jì)

下面利用VB編制圖1三軸電機(jī)的運(yùn)動(dòng),運(yùn)動(dòng)參數(shù)包括軸號(hào)、初速度、最高速度、加速度和移動(dòng)距離等,使得三軸能夠連續(xù)運(yùn)動(dòng)、回原點(diǎn),并能夠讀取當(dāng)前軸號(hào)、位置和速度。圖3為用VB編制的三軸運(yùn)動(dòng)功能框圖。


部分程序如下:
Op tion Exp licit
Dim AxesNum As Long軸號(hào)
Dim lowspeed AsDouble初速度
Dim highspeed AsDouble最高速度
Dim Accel AsDouble加速度
Dim DisAs Long移動(dòng)距離
′*
********************************************
該函數(shù)對(duì)板卡進(jìn)行設(shè)置,可在窗體加載時(shí)調(diào)用:
Private Function SetBoard ( ) As Integer
Dim Rtn As Integer
Rtn = auto_set( ) ′對(duì)板卡進(jìn)行自動(dòng)設(shè)置
If Rtn < = 0 Then ′若自動(dòng)設(shè)置錯(cuò)誤則返回0
SetBoard = - 1
Exit Function
End If
Rtn = init_board
If Rtn < 0 Then
SetBoard = - 2
Exit Function
End If
SetBoard = 0
End Function
′*
********************************************
′讀取用戶(hù)設(shè)置的運(yùn)動(dòng)參數(shù):
Private Sub GetParam ( )
AxesNum =Val( txtAxesNum. Text)
lowspeed =Val( txtLowSpeed. Text)
highspeed =Val( txtHighSpeed. Text) ′
Accel =Val( txtAccel. Text)
Dis =Val ( txtDis. Text) ′
set_maxspeed AxesNum, highspeed
set_conspeed AxesNum, lowspeed ′設(shè)置常速運(yùn)動(dòng)參數(shù)
set_p rofile AxesNum, lowspeed, highspeed, Accel ′設(shè)置梯形速度運(yùn)動(dòng)參數(shù)
End Sub
讀取并顯示狀態(tài)(當(dāng)前的位置和速度)
Private Sub timGetdata_Timer( )
Dim posAs Long
Dim speed AsDouble
get_abs_posAxesNum, pos ′讀取位置
labPos. Cap tion = pos ′顯示位置
speed = get_rate (AxesNum) ′讀取速度
labSpeed. Cap tion = speed ′顯示速度
End Sub

4 結(jié)束語(yǔ)

介紹了MPC07運(yùn)動(dòng)控制卡的工作原理及其應(yīng)用,在VB環(huán)境下三軸步進(jìn)電機(jī)的運(yùn)動(dòng),當(dāng)然,運(yùn)動(dòng)控制卡的運(yùn)動(dòng)函數(shù)庫(kù)還能夠完成與運(yùn)動(dòng)控制有關(guān)的復(fù)雜細(xì)節(jié),比如升降速直線插補(bǔ),梯形速度直線插補(bǔ)等,這樣就能夠?qū)崿F(xiàn)更完善的運(yùn)動(dòng)控制系統(tǒng)。

文章版權(quán)歸西部工控xbgk所有,未經(jīng)許可不得轉(zhuǎn)載。