IC693MDL740CA 運(yùn)動(dòng)緩沖原理
在運(yùn)行運(yùn)動(dòng)指令時(shí),為了防止程序堵塞,控制器提供了一個(gè)緩沖區(qū)來保存進(jìn)入運(yùn)動(dòng)緩沖的運(yùn)動(dòng)緩沖隊(duì)列,把這個(gè)功能叫做運(yùn)動(dòng)緩沖,這樣程序就能正常向下掃描,不會(huì)堵塞。
ZMotion運(yùn)動(dòng)控制器具有多級(jí)的運(yùn)動(dòng)緩沖,當(dāng)運(yùn)動(dòng)緩沖開啟的時(shí)候,程序在掃描識(shí)別到程序任務(wù)的第一條運(yùn)動(dòng)指令時(shí),將運(yùn)動(dòng)指令分配到軸的運(yùn)動(dòng)緩沖區(qū),電機(jī)開始運(yùn)動(dòng),此時(shí)程序繼續(xù)向下掃描到第二條運(yùn)動(dòng)指令時(shí),再往運(yùn)動(dòng)緩沖區(qū)中存,在不斷掃描存入運(yùn)動(dòng)指令的同時(shí),從運(yùn)動(dòng)緩沖區(qū)中依次取出運(yùn)動(dòng)指令執(zhí)行。
MTYPE,NTYPE分別是當(dāng)前運(yùn)行的運(yùn)動(dòng)指令和第一個(gè)緩沖運(yùn)動(dòng)指令。
任意一段程序的運(yùn)動(dòng)指令都可以進(jìn)入任意軸的運(yùn)動(dòng)緩沖區(qū),由軸號(hào)。
每個(gè)軸的運(yùn)動(dòng)緩沖區(qū)都是獨(dú)立的,互不干擾。
緩沖多條運(yùn)動(dòng)指令時(shí),為了判斷當(dāng)前運(yùn)動(dòng)執(zhí)行到哪一條,提供MOVE_MARK運(yùn)動(dòng)標(biāo)號(hào)和MOVE_CURMARK當(dāng)前運(yùn)動(dòng)標(biāo)號(hào)指令。MOVE_MARK運(yùn)動(dòng)標(biāo)號(hào)每掃描一條運(yùn)動(dòng)指令+1;MOVE_CURMARK指令為當(dāng)前運(yùn)動(dòng)的標(biāo)號(hào),提示當(dāng)前運(yùn)動(dòng)到第幾條運(yùn)動(dòng)指令,所有運(yùn)動(dòng)完成后為-1。
當(dāng)前運(yùn)動(dòng)完成后會(huì)自動(dòng)執(zhí)行運(yùn)動(dòng)緩沖區(qū)內(nèi)的下一條運(yùn)動(dòng)。運(yùn)動(dòng)指令全部執(zhí)行完后,運(yùn)動(dòng)緩沖區(qū)為空,或者使用CANCEL/RAPIDSTOP指令清空運(yùn)動(dòng)緩沖區(qū)。
SP指令也屬于運(yùn)動(dòng)指令,使用SP運(yùn)動(dòng)指令(如MOVESP、MOVECIRCSP等直接在運(yùn)動(dòng)指令后方加上SP)時(shí),SP速度FORCE_SPEED、ENDMOVE_SPEED和STRATMOVE_SPEED會(huì)隨SP運(yùn)動(dòng)指令寫入運(yùn)動(dòng)緩存區(qū)。
SP運(yùn)動(dòng)指令與運(yùn)動(dòng)指令的區(qū)別:
MOVE(100)的速度是SPEED=100,MOVESP(100)的速度是FORCE_SPEED=200。
2.運(yùn)動(dòng)緩沖區(qū)堵塞
每個(gè)軸的運(yùn)動(dòng)緩沖空間是有限的,當(dāng)掃描太多運(yùn)動(dòng)指令放入運(yùn)動(dòng)緩沖區(qū)時(shí),多級(jí)運(yùn)動(dòng)緩沖區(qū)全部被塞滿,如果程序繼續(xù)掃描到更多的運(yùn)動(dòng)指令,程序也會(huì)被堵塞,直到運(yùn)動(dòng)指令依次完成并退出,運(yùn)動(dòng)緩沖區(qū)有了空位,運(yùn)動(dòng)指令才會(huì)繼續(xù)進(jìn)入運(yùn)動(dòng)緩沖區(qū)。
例:以V3.10版本仿真器為例,默認(rèn)為4096個(gè)運(yùn)動(dòng)緩沖,下圖例程中顯示該控制器的運(yùn)動(dòng)緩沖區(qū)最多能存459條圓弧插補(bǔ)指令,下載程序后后打印i的值為458,表示當(dāng)前FOR循環(huán)并未執(zhí)行完,程序堵塞了。
下圖中,當(dāng)從運(yùn)動(dòng)緩沖區(qū)取出部分運(yùn)動(dòng)指令執(zhí)行之后,緩沖區(qū)有了空間,F(xiàn)OR循環(huán)繼續(xù)執(zhí)行,并存入運(yùn)動(dòng)指令到運(yùn)動(dòng)緩沖區(qū)。指令執(zhí)行退出運(yùn)動(dòng)緩沖區(qū)后,只要運(yùn)動(dòng)緩沖區(qū)的空間夠,新的運(yùn)動(dòng)指令一條條往運(yùn)動(dòng)緩沖區(qū)中存。
每個(gè)軸的運(yùn)動(dòng)緩沖都是獨(dú)立的,互不干擾,且緩沖區(qū)大小相同,通過指令REMAIN_BUFFER(MTYPE) AXIS(n)查看某個(gè)軸的剩余可用緩沖區(qū)的個(gè)數(shù)。
ZMC4系列運(yùn)動(dòng)控制器每個(gè)軸可支持多達(dá)4096段運(yùn)動(dòng)緩沖(不同型號(hào)的控制器緩沖個(gè)數(shù)有區(qū)別,具體情況參見控制器硬件手冊(cè)說明或使用?*max打印查看),可以手動(dòng)設(shè)置LIMIT_BUFFERED運(yùn)動(dòng)緩沖限制。
不同的運(yùn)動(dòng)指令占用的緩沖空間是不同的,越復(fù)雜的運(yùn)動(dòng)占用的運(yùn)動(dòng)緩沖空間越多。
例如:
ZMC432控制器,運(yùn)動(dòng)緩沖區(qū)大小為4096,緩沖區(qū)一次性可緩沖的MOVE直線插補(bǔ)指令和MOVECIRC圓弧插補(bǔ)指令個(gè)數(shù)是不同的。
IC693MDL740CA
IC693ACC300
IC693ACC300LT
IC693ACC300RR
IC693ACC301
IC693ACC302
IC693ACC303
IC693ACC305
IC693ACC306
IC693ACC307
IC693ACC308
IC693ACC309
IC693ACC310
IC693ACC311
IC693ACC312
IC693ACC313
IC693ACC315
IC693ACC316
IC693ACC317
IC693ACC318
IC693ACC319
IC693ACC320
IC693ACC328
IC693ACC329
IC693ACC330
IC693ACC331
IC693ACC332
IC693ACC333
IC693ACC334
IC693ACC335
IC693ACC336
IC693ACC337
IC693ACC338
IC693ACC341
IC693ACC350
IC693ACC400
IC693ACC760
IC693ADC311RR
IC693ALG220
IC693ALG220CA
IC693ALG220LT
IC693ALG220RR
IC693ALG221
IC693ALG221CA
IC693ALG221LT
IC693ALG221RR
IC693ALG222
IC693ALG222CA
IC693ALG222LT
IC693ALG222RR
IC693ALG223
IC693ALG223CA
IC693ALG223LT
IC693ALG223RR
IC693ALG390
IC693ALG390LT
IC693ALG390RR
IC693ALG391
IC693ALG391CA
IC693ALG391LT
IC693ALG391RR
IC693ALG392
IC693ALG392CA
IC693ALG392LT
IC693ALG392RR
IC693ALG442
IC693ALG442CA
IC693ALG442LT
IC693ALG442RR
IC693APU300
IC693APU300CA
IC693APU300LT
IC693APU300RR
IC693APU301
IC693APU301RR
IC693APU302
IC693APU302RR
IC693APU305
IC693APU305RR
IC693BEM320
IC693BEM320RR
IC693BEM321
IC693BEM321RR
IC693BEM331
IC693BEM331CA
IC693BEM331LT
IC693BEM331RR
IC693CBK001
IC693CBK002
IC693CBK003
IC693CBK004
IC693CBL300
IC693CBL301
IC693CBL302
IC693CBL303
IC693CBL304
IC693CBL305
IC693CBL311
IC693CBL312
IC693CBL313
IC693CBL316 這里
IC693CBL319
IC693CBL324
IC693CBL325
IC693CBL327
IC693CBL328
IC693CBL329
IC693CBL330
IC693CBL331
IC693CBL332
IC693CBL333
IC693CBL334
IC693CHS391
IC693CHS391CA
IC693CHS391LT
IC693CHS391NB
IC693CHS391RR
IC693CHS392
IC693CHS392CA
IC693CHS392LT
IC693CHS392RR
IC693CHS393
IC693CHS393LT
IC693CHS393RR
IC693CHS397
IC693CHS397CA
IC693CHS397LT
IC693CHS397NB
IC693CHS397RR
IC693CHS398
IC693CHS398CA
IC693CHS398LT
IC693CHS398RR
IC693CHS399
IC693CHS399LT
IC693CHS399RR
IC693CMM301RR
IC693CMM302
IC693CMM302CA
IC693CMM302LT
IC693CMM302RR
IC693CMM311
IC693CMM311CA
IC693CMM311LT
IC693CMM311RR
IC693CMM321
IC693CMM321CA
IC693CMM321RR
IC693CPU311
IC693CPU311CA
IC693CPU311LT
IC693CPU311RR
IC693CPU313
IC693CPU313CA
IC693CPU313LT
IC693CPU313RR
IC693CPU321RR
IC693CPU323
IC693CPU323CA
IC693CPU323LT
IC693CPU323RR
IC693CPU331
IC693CPU331LT
IC693CPU331RR
IC693CPU340RR
IC693CPU341RR
IC693CPU350
IC693CPU350CA
IC693CPU350LT
IC693CPU350RR
IC693CPU351RR
IC693CPU352RR
IC693CPU360
IC693CPU360CA
IC693CPU360LT
IC693CPU360RR
IC693CPU363
IC693CPU363CA
IC693CPU363LT
IC693CPU363RR
IC693CPU364RR
IC693CPU366
IC693CPU367
IC693CPU370
IC693CPU372
IC693CPU374
IC693CPU374CA
IC693DNM200
IC693DNS201
IC693DSM302
IC693DSM302RR
IC693DSM314
IC693DSM324
IC693LBR301
IC693LBR302
IC693MAR590
IC693MAR590LT
IC693MAR590RR
IC693MCD001
IC693MCD001RR
IC693MCM001
IC693MDL230
IC693MDL230CA
IC693MDL230LT
IC693MDL230RR
IC693MDL231
IC693MDL231LT
IC693MDL231RR
IC693MDL240
IC693MDL240CA
IC693MDL240LT
IC693MDL240RR
IC693MDL241
IC693MDL241CA
IC693MDL241LT
IC693MDL241RR
IC693MDL250
IC693MDL260
IC693MDL310RR
IC693MDL330
IC693MDL330LT
IC693MDL330RR
IC693MDL340
IC693MDL340CA
IC693MDL340LT
IC693MDL340RR
IC693MDL350
IC693MDL390
IC693MDL390CA
IC693MDL390LT
IC693MDL390RR
IC693MDL632
IC693MDL632CA
IC693MDL632LT
IC693MDL632RR
IC693MDL633RR
IC693MDL634
IC693MDL634LT
IC693MDL634RR
IC693MDL640RR
IC693MDL641RR
IC693MDL643RR
IC693MDL644RR
IC693MDL645
IC693MDL645CA
IC693MDL645LT
IC693MDL645RR
IC693MDL646
IC693MDL646CA
IC693MDL646LT
IC693MDL646RR
IC693MDL648
IC693MDL653RR
IC693MDL654
IC693MDL654CA
IC693MDL654LT
IC693MDL654RR
IC693MDL655
IC693MDL655CA
IC693MDL655LT
IC693MDL655RR
IC693MDL660
IC693MDL730
IC693MDL730LT
IC693MDL730RR
IC693MDL731
IC693MDL731LT
IC693MDL731RR
IC693MDL732
IC693MDL732RR
IC693MDL733
IC693MDL733RR
IC693MDL734
IC693MDL734CA
IC693MDL734LT
IC693MDL734RR
IC693MDL740
IC693MDL740CA
IC693MDL740LT
IC693MDL740RR
IC693MDL741
IC693MDL741CA
IC693MDL741LT
IC693MDL741RR
IC693MDL742
IC693MDL742LT
IC693MDL742RR
IC693MDL748
IC693MDL750RR
IC693MDL751RR
IC693MDL752
IC693MDL752CA
IC693MDL752LT
IC693MDL752RR
IC693MDL753
IC693MDL753CA
IC693MDL753LT
IC693MDL753RR
IC693MDL754
IC693MDL760
IC693MDL916
IC693MDL930
IC693MDL930CA
IC693MDL930LT
IC693MDL930RR
IC693MDL931
IC693MDL931LT
IC693MDL931RR
IC693MDL940
IC693MDL940CA
IC693MDL940LT
IC693MDL940RR
IC693MDR390
IC693MDR390LT
IC693MDR390RR
IC693MLX000
IC693MSC301RR
IC693NIU004
IC693NIU004CA
IC693PBM200
IC693PBS201
IC693PCM300
IC693PCM300CA
IC693PCM300LT
IC693PCM300LTMP
IC693PCM300MP
IC693PCM300RR
IC693PCM301
IC693PCM301LT
IC693PCM301RR
IC693PCM311
IC693PCM311CA
IC693PCM311LT
IC693PCM311RR
IC693PIF301
IC693PIF350
IC693PIF400
IC693PRG300
IC693PRG300RR
IC693PTM100
IC693PTM100CA
IC693PTM101
IC693PTM101CA
IC693PWR321
IC693PWR321CA
IC693PWR321LT
IC693PWR321RR
IC693PWR322
IC693PWR322CA
IC693PWR322LT
IC693PWR322RR
IC693PWR328
IC693PWR328LT
IC693PWR330
IC693PWR330CA
IC693PWR330RR
IC693PWR331
IC693PWR331CA
IC693PWR331RR
IC693PWR332
IC693TCM302
IC693TCM303
IC693UAA003RR
IC693UAA007RR
IC693UAL006RR
IC693UDR001RR
IC693UDR002RR
IC693UDR005RR
IC693UDR010RR
IC693MDL740CA