本節(jié)內(nèi)容主要包括以下幾個(gè)部分,支持PSO功能的硬件、PSO技術(shù)的特點(diǎn)、在運(yùn)動(dòng)控制器上使用哪些命令實(shí)現(xiàn) PSO功能、PSO使用的案例說(shuō)明。 看完本節(jié)內(nèi)容,相信大家就能了解PSO的使用方法,下節(jié)我們將深入講解。
硬件平臺(tái)環(huán)境搭建視頻演示:https://v.youku.com/v_show/id_XNTg4NzYxODU1Ng==.html
一.硬件說(shuō)明
硬件選型的首要要求是支持PSO功能,再分析PSO的應(yīng)用場(chǎng)合和軸數(shù)等選擇具體的型號(hào)。
本例以ZMC406總線運(yùn)動(dòng)控 制器和ZMC460N雙總線運(yùn)動(dòng)控制器為例展開(kāi)介紹,PSO所用的指令名也被稱(chēng)為硬件比較輸出,故下文也會(huì)用硬件比較輸出代替PSO。
(一)ZMC406總線控制器
ZMC406總線控制器是正運(yùn)動(dòng)技術(shù)推出的新一代網(wǎng)絡(luò)6軸運(yùn)動(dòng)控制器(可通過(guò)擴(kuò)展模塊來(lái)擴(kuò)展軸,支持多達(dá)32軸),自帶六個(gè)脈沖軸接口包含差分脈沖輸出和差分編碼器輸入),支持脈沖驅(qū)動(dòng)器和EtherCAT總線驅(qū)動(dòng)器混合使用。
脈沖輸出頻率最大可達(dá)10MHZ,EtherCAT總線的通訊周期最快可達(dá)250微秒。
支持4路PSO輸出,輸出口非獨(dú)立,不能四路同時(shí)輸出,每個(gè)系統(tǒng)周期比較輸出一次,即每個(gè)系統(tǒng)周期只能輸出一路比較信號(hào)。
(二)ZMC460N雙總線控制器
ZMC460N雙總線控制器相比ZMC406所帶的資源更多,是正運(yùn)動(dòng)技術(shù)推出的新一代網(wǎng)絡(luò)60軸運(yùn)動(dòng)控制器(支持EtherCAT總線軸+RTEX總線軸+脈沖軸混合使用),自帶六個(gè)脈沖軸接口(包含差分脈沖輸出和差分編碼器輸入),通用輸出口支持配置為單端脈沖輸出,通用輸入口支持配置成單端編碼器輸入。
脈沖輸出頻率最大可達(dá)10MHZ,EtherCAT總線的通訊周期最快可達(dá)250微秒。
支持12路PSO輸出,輸出口獨(dú)立,支持12路同時(shí)輸出,每個(gè)系統(tǒng)周期可比較輸出多次,應(yīng)用場(chǎng)景更為豐富。
這兩款控制器同屬高系列,功能強(qiáng)大,能滿(mǎn)足多種場(chǎng)合的需求,支持直線插補(bǔ)、連續(xù)插補(bǔ)、任意圓弧插補(bǔ)、空間圓弧、螺旋插補(bǔ)、電子凸輪、電子齒輪、位置鎖存、同步跟隨、虛擬軸設(shè)置、硬件比較輸出、硬件定時(shí)器、運(yùn)動(dòng)中精準(zhǔn)輸出等功能;采用優(yōu)化的網(wǎng)絡(luò)通訊協(xié)議可以實(shí)現(xiàn)實(shí)時(shí)的運(yùn)動(dòng)控制。
應(yīng)用程序可以使用正運(yùn)動(dòng)自主研發(fā)的ZDevelop軟件開(kāi)發(fā),或VC、VB、VS、C++Builder、C#等上位機(jī)軟件來(lái)開(kāi)發(fā)。上位機(jī)開(kāi)發(fā)調(diào)試時(shí)可以把ZDevelop軟件同時(shí)連接到控制器,程序運(yùn)行時(shí)需要?jiǎng)討B(tài)庫(kù)“zmotion.dll”。
下文以ZDevelop軟件開(kāi)發(fā)為例。
控制器的基本參數(shù)說(shuō)明如下表:
⊙PSO硬件比較輸出功能使用的是高速I(mǎi)O口,響應(yīng)頻率為1MHz,響應(yīng)速度可以精確到微秒級(jí)別。
用戶(hù)可以使用ZDevelop軟件連接控制器,在ZDevelop軟件的在線命令欄發(fā)送“?*max”打印查看更多控制器規(guī)格參數(shù),“?*set”查看打印指令參數(shù)值,?*port打印通訊通道。
1.下圖為ZMC406總線控制器的參考架構(gòu):
ZMC406總線控制器的常用接口說(shuō)明如下表:
2.下圖為ZMC460N雙總線控制器的參考架構(gòu):
ZMC460N雙總線控制器的常用接口說(shuō)明如下表:
⊙均可通過(guò)CAN總線或EtherCAT總線擴(kuò)展IO資源和軸資源。
硬件平臺(tái)與PSO指令視頻演示:https://live.csdn.net/v/225116
二.PSO的技術(shù)介紹
PSO(position synchronized output)即位置同步輸出,本質(zhì)是通過(guò)采集實(shí)時(shí)的編碼器反饋位置(無(wú)編碼器可使用輸出的脈沖位置)與比較模式設(shè)定的位置進(jìn)行比較,控制OP高速同步輸出信號(hào),PSO示意圖如下。
PSO一般與激光器 (或點(diǎn)膠噴射閥等設(shè)備) 同步輸出信號(hào)進(jìn)行相位同步,在運(yùn)動(dòng)軌跡的所有階段以恒定的空間(或者恒定時(shí)間)間隔觸發(fā)輸出開(kāi)關(guān),包括加速、減速和勻速段,從而實(shí)現(xiàn)脈沖能量均勻地作用在被加工物體上。
⊙PSO功能的特點(diǎn)就是能高速且穩(wěn)定的輸出信號(hào) , 因?yàn)檩敵鼍茸銐蚋撸阅軌蛟谡麄€(gè)運(yùn)動(dòng)軌跡中以固定的距離觸發(fā)輸出信號(hào)而不用考慮總體速度。
即在直線部分以很快的速度運(yùn)動(dòng),而在圓角部分減速的同時(shí)也能保證輸出間距恒定,通常圓角加工部分在整個(gè)加工過(guò)程中占有比較小的部分,這樣在保證加工效果的同時(shí),就可以最大限度地提高產(chǎn)能。
三.PSO相關(guān)指令介紹
實(shí)現(xiàn)PSO功能(即硬件比較輸出)功能使用的命令主要有“HW_PSWITCH2”、“MOVE_HWPSWITCH2”、“HW_TIMER”等,前兩個(gè)指令主要用于設(shè)定觸發(fā)比較輸出的距離,最后的命令是硬件定時(shí),可配合前者使用精準(zhǔn)控制輸出脈沖的寬度。
1 .HW_PSWITCH 2 -- 硬件位置比較輸出
(1)指令說(shuō)明
通過(guò)設(shè)置比較條件,控制OP口連續(xù)高速輸出信號(hào),控制器必須使用支持硬件比較輸出的輸出口,例如ZMC406可以使用OUT0/1/2/3口,ZMC460的OUT0-11均可使用。
支持比較脈沖軸的位置、編碼器的反饋位置和總線軸的位置。選用何種位置信息比較,與設(shè)置的ATYPE軸類(lèi)型有關(guān),比較的主軸帶編碼器輸入時(shí),自動(dòng)使用編碼器位置來(lái)觸發(fā),不帶編碼器的場(chǎng)合便比較脈沖輸出。
可以使用“MOVEOP_DELAY”參數(shù)來(lái)調(diào)整輸出準(zhǔn)確時(shí)刻。
(2)注意事項(xiàng)
一般控制器每個(gè)系統(tǒng)周期內(nèi)只能比較一次,系統(tǒng)周期通過(guò)“SERVO_PERIOD”查詢(xún),此時(shí)當(dāng)系統(tǒng)周期過(guò)大時(shí),而比較輸出脈沖寬度小于系統(tǒng)周期時(shí)將會(huì)導(dǎo)致輸出異常。部分控制器如ZMC460N、ZMC504SCAN等,每個(gè)系統(tǒng)周期支持比較多次,即支持多個(gè)比較輸出口在同一周期輸出比較信號(hào)。
⊙“HW_PSWITCH2”與“MOVE_OP”精準(zhǔn)使用同樣的硬件資源,不建議在同一個(gè)通道同時(shí)使用,可以在不同的通道同時(shí)使用。
調(diào)用TABLE位置數(shù)據(jù)時(shí),在所有比較點(diǎn)完成前不要修改TABLE。
使用脈沖型電機(jī)時(shí)只有ATYPE為4時(shí)才是比較反饋位置(MPOS),默認(rèn)出廠的ATYPE為1或7比較的是命令位置(DPOS)。
(3)指令語(yǔ)法
HW_PSWITCH2(mode, [...])
mode模式不同,后面需要填寫(xiě)的參數(shù)也不同,詳情需參考Basic手冊(cè)的語(yǔ)法說(shuō)明。
舉兩個(gè)簡(jiǎn)單且典型的模式展開(kāi)描述。
A.Mode=1:?jiǎn)屋S比較
HW_PSWITCH2( mode,opnum,opstate,tablestart,tableend[,direction])
mode:1-啟動(dòng)比較器
opnum:對(duì)應(yīng)的輸出口
opstate:第一個(gè)比較點(diǎn)的輸出狀態(tài)
tablestart:第一個(gè)比較點(diǎn)絕對(duì)坐標(biāo)所在TABLE編號(hào)
tableend:最后一個(gè)比較點(diǎn)絕對(duì)坐標(biāo)所在TABLE編號(hào)
direction:第一個(gè)點(diǎn)判斷方向,0坐標(biāo)負(fù)向,1坐標(biāo)正向,-1不使用方向
此模式較為簡(jiǎn)單,需要借助TABLE寄存器,把需要比較輸出的位置坐標(biāo)先存儲(chǔ)到TABLE寄存器,然后PSO控制OP口每到達(dá)一個(gè)比較點(diǎn)的位置便反轉(zhuǎn)一次,直到全部坐標(biāo)點(diǎn)比較完成。示意圖如下,P表示比較點(diǎn),展示六個(gè)比較點(diǎn)的OP輸出情況。
B.Mode=2:清除比較點(diǎn)
HW_PSWITCH2(2)
mode:2-停止并刪除沒(méi)完成的比較點(diǎn)
⊙使用前需要調(diào)用此模式,清除可能沒(méi)有比較完成的數(shù)據(jù)。使用過(guò)程中也可以發(fā)送此命令,停止比較。
Mode=6:矢量比較方式,周期模式,與HW_TIMER一起使用
HW_PSWITCH2( mode, opnum, opstate, vectstart, repes, cycledis)
mode:6-啟動(dòng)比較器
opnum:對(duì)應(yīng)的輸出口
opstate:第一個(gè)比較點(diǎn)的輸出狀態(tài)
vectstart:比較點(diǎn)VECTOR_MOVED當(dāng)前運(yùn)動(dòng)距離
repes:重復(fù)周期,一個(gè)周期只比較一次
cycledis:周期距離,每隔這個(gè)距離輸出一次
此模式相對(duì)復(fù)雜一些,比較輸出的數(shù)據(jù)不參考TABLE,只需指定第一個(gè)觸發(fā)點(diǎn)的“VECTOR_MOVED”,比較周期的次數(shù),每次輸出觸發(fā)的距離,“HW_TIMER”控制每到達(dá)一個(gè)周期觸發(fā)位置輸出的脈沖寬度和次數(shù),參數(shù)設(shè)置可參考下方示意圖,紅色參數(shù)為HW_PSWITCH2指令的參數(shù),橙色參數(shù)為HW_TIMER指令的參數(shù)。
此模式涉及的距離坐標(biāo)均為矢量坐標(biāo),可用于單軸運(yùn)動(dòng)或插補(bǔ)運(yùn)動(dòng)模式下比較輸出。
例一: mode=1,單軸模式,比較TABLE的位置點(diǎn)。
BASE(0)
ATYPE=0
UNITS=10000/10
SPEED=100
ACCEL=1000
DECEL=1000
SRAMP=100
DPOS=0
MPOS=0
OP(0,OFF)
TABLE(0,50,100,150,200) '比較點(diǎn)坐標(biāo)設(shè)置
HW_PSWITCH2(2) '停止并刪除沒(méi)有完成的比較點(diǎn)
HW_PSWITCH2(1, 0, 1, 0, 3,1) '比較4個(gè)點(diǎn),操作輸出口0
TRIGGER '觸發(fā)示波器
MOVE(300)
END
示波器采樣波形如下: 到達(dá)TABLE的四個(gè)坐標(biāo)點(diǎn)50,100,150,200,OP反轉(zhuǎn)。
例二: mode=6,周期模式,結(jié)合HW_TIMER使用。
RAPIDSTOP(2)
WAIT IDLE(0)
BASE(0)
ATYPE=1
UNITS=10000/10
SPEED=100
ACCEL=1000
DECEL=1000
SRAMP=100
DPOS=0
MPOS=0
OP(0,OFF)
TRIGGER
VECTOR_MOVED=0 '設(shè)置矢量起始位置為0,方便觀察
HW_PSWITCH2(2) '停止并刪除沒(méi)有完成的比較點(diǎn)
HW_PSWITCH2(6,0,1,100,4,50) '位置100開(kāi)始比較,比較4次周期距離50,輸出有效時(shí)間由HW_TIMER指令確定
HW_TIMER(2,100000,50000,2,off,0) '輸出變?yōu)閛n后50ms變?yōu)閛ff
MOVE(400)
END
示波器波形如下:
輸出口為OP(0),第一次比較輸出的狀態(tài)為ON,第一個(gè)輸出點(diǎn)的矢量坐標(biāo)為100,比較4次,間隔50的距離觸發(fā)一次。
每次觸發(fā)之后輸出OP的時(shí)間由HW_TIMER指令設(shè)置,HW_TIMER參數(shù)確定每次輸出脈沖的周期為100 ms,有效寬度為50ms,每個(gè)比較位置連續(xù)觸發(fā)2次。
YT模式下波形:
其他條件不變,將單軸運(yùn)動(dòng)改為MOVE(200,300)兩軸插補(bǔ),波形如下,根據(jù)兩軸的合成矢量位置VECTOR_MOVED進(jìn)行比較。
程序如下:
RAPIDSTOP(2)
WAIT IDLE(0)
BASE(0)
ATYPE=1
UNITS=10000/10
SPEED=100
ACCEL=1000
DECEL=1000
SRAMP=100
DPOS=0
MPOS=0
OP(0,OFF)
TRIGGER
VECTOR_MOVED=0 '設(shè)置矢量起始位置為0,方便觀察
HW_PSWITCH2(2) '停止并刪除沒(méi)有完成的比較點(diǎn)
HW_PSWITCH2(6,0,1,100,4,50) '位置100開(kāi)始比較,比較4次周期距離50,輸出有效時(shí)間由HW_TIMER指令確定
HW_TIMER(2,100000,50000,2,off,0) '輸出變?yōu)閛n后50ms變?yōu)閛ff
MOVE(200,300) '兩軸直線插補(bǔ)
END
XYZ模式下輸出波形如下:
2.HW_TIMER -- 硬件定時(shí)
(1) 指令說(shuō)明
硬件定時(shí)器,用于硬件比較輸出后一段時(shí)間后還原電平。“ HW_TIMER”只有1個(gè),每次調(diào)用會(huì)強(qiáng)制停止之前的調(diào)用。
OP和MOVE_OP操作會(huì)關(guān)閉正在進(jìn)行的HW_TIMER脈沖,這樣可以使用HW_TIMER來(lái)實(shí)現(xiàn)類(lèi)似PWM的功能,OP輸出打開(kāi)脈沖輸出,下一個(gè)OP輸出關(guān)閉脈沖輸出,當(dāng)使用MOVE_OP精準(zhǔn)輸出時(shí),可以實(shí)現(xiàn)精準(zhǔn)的PWM輸出無(wú)限脈沖功能。
使用“?*HW_TIMER”可以看到還有多少脈沖剩余。
(2)注意事項(xiàng)
每個(gè)周期輸出一次信號(hào),指令的周期時(shí)間的設(shè)置一定要大于系統(tǒng)周期,否則輸出異常。 輸出口需要指定支持PSO功能的OP口。
(3)指令語(yǔ)法
HW_TIMER(mode, cyclonetime, optime, reptimes, opstate, opnum )
mode:0停止,2-啟動(dòng)
cyclonetime:周期時(shí)間,us單位
optime:有效時(shí)間,us單位
reptimes:重復(fù)次數(shù),啟動(dòng)模式,reptimes =0時(shí),軟關(guān)閉HW_TIMER,原來(lái)的脈沖沒(méi)有完成的,會(huì)繼續(xù)輸出完成
opstate:輸出缺省狀態(tài),輸出口變?yōu)榉谴藸顟B(tài)后開(kāi)始計(jì)時(shí)
opnum:輸出口編號(hào),必須能硬件比較輸出的口
參數(shù)設(shè)置可參考下方示意圖,此指令的效果是固定時(shí)間周期輸出。
例子:
RAPIDSTOP(2)
WAIT IDLE(0)
BASE(0)
ATYPE=1
UNITS=100
SPEED=100
ACCEL=100
DECEL=100
DPOS=0
TRIGGER
DELAY(100)
OP(0, OFF)
HW_TIMER(2, 10000, 5000, 30, OFF, 0) '輸出口0變?yōu)镺N后,硬件定時(shí)器觸發(fā)開(kāi)始計(jì)時(shí),周期為10ms,5ms 后切換為OFF,重復(fù)30次結(jié)束
OP(0, ON) '觸發(fā)定時(shí)
END
示波器采樣OP(0)波形如下: 采樣周期設(shè)置為1ms,表示橫軸時(shí)間的單位為1ms,延時(shí)100ms之后開(kāi)始觸發(fā)OP高速輸出,指令作用的總時(shí)間為“10000us*30”。 第三個(gè)參數(shù)調(diào)整輸出脈沖的寬度。
3.MOVE_ HWPSWITCH2 -- 緩沖硬件比較輸出
此命令功能和用法同“HW_PSWITCH2”,區(qū)別是此命令會(huì)進(jìn)運(yùn)動(dòng)緩沖區(qū),在緩沖中執(zhí)行比較。
PSO指令說(shuō)明視頻鏈接:https://live.csdn.net/v/225117
四.等間距輸出脈沖的例子
采用“HW_PSWITCH2”指令的模式6,結(jié)合“HW_TIMER”控制單個(gè)軸高速等距輸出。
RAPIDSTOP(3)
WAIT IDLE(0)
GLOBAL CONST Axis_X = 0 '物理軸軸號(hào)定義
GLOBAL CONST Out_Pso0 = 0 'Pso硬件輸出口編號(hào)
BASE(Axis_X) '軸參數(shù)初始化
UNITS=1000 '脈沖當(dāng)量 1MM對(duì)應(yīng)的脈沖個(gè)數(shù)
ATYPE=4 '軸類(lèi)型 脈沖輸出+編碼器輸入軸
DPOS=0
MPOS=0
SPEED=100
ACCEL=2000
DECEL=0
MERGE=1
OP(Out_Pso0,OFF)
GLOBAL g_cmd
g_cmd = 0
WHILE 1
IF g_cmd = 1 THEN
g_cmd = 0
TRIGGER
Function_Test1()
ENDIF
WEND
'********************************************************************************************
'等距離距離模式生成一個(gè)PWM脈沖,脈沖輸出時(shí)間可調(diào)。
'lv_WidthTime 脈沖寬度時(shí)間us
'lv_Interval 2個(gè)脈沖間隔 mm
'lv_StrartPos 觸發(fā)起始位置 mm
'lv_EndPos 結(jié)束位置
'********************************************************************************************
GLOBAL SUB Function_Test1() '在20-120范圍內(nèi)每間隔1mm輸出一個(gè)持續(xù)2ms的脈沖
LOCAL lv_WidthTime,lv_Interval,lv_StrartPos,lv_EndPos '定義局部變量
lv_WidthTime = 2000 '脈沖寬度2000us
lv_Interval = 1 '脈沖間隔 1mm
lv_StrartPos = 20 '觸發(fā)起始位置 20mm位置
lv_EndPos = 120 '結(jié)束位置 120MM
OP(Out_Pso0,OFF) '關(guān)閉輸出口
BASE(Axis_X) '選定X軸
ATYPE = 4 '軸類(lèi)型,比較軸類(lèi)型帶編碼軸特性時(shí)默認(rèn)按編碼器位置比較
SPEED = 100 '速度100mm/s
FORCE_SPEED=60 'SP速度60mm/s
MOVEABS(0) '運(yùn)動(dòng)到0位
WAIT IDLE
VECTOR_MOVED = 0 '插補(bǔ)矢量距離清0
LOCAL iTime
iTime =ABS(lv_EndPos - lv_StrartPos) \ lv_Interval '計(jì)算比較次數(shù)
TRACE lv_StrartPos,iTime,lv_Interval,lv_WidthTime
HW_PSWITCH2(2) '清空HW比較緩沖區(qū)
HW_PSWITCH2(6,Out_Pso0,ON,lv_StrartPos,iTime,lv_Interval) '從lv_StrartPos觸發(fā)比較間隔lv_Interval比較iTime次
HW_TIMER(2,lv_WidthTime+100,lv_WidthTime,1,OFF,Out_Pso0) 'Out_Pso觸發(fā)變成ON后,打開(kāi)lv_Width us后關(guān)閉輸出
MOVEABS(50) '單軸運(yùn)動(dòng),速度100
MOVEABSSP(100) 'SP單軸運(yùn)動(dòng),速度60
MOVEABS(150) '單軸運(yùn)動(dòng),速度100
WAIT IDLE '等待運(yùn)動(dòng)停止
HW_PSWITCH2(2) '清空HW比較緩沖區(qū)
END SUB
?
五.ZDevelop查看PSO曲線
1.示波器采樣上例波形如下。
三段單軸直線運(yùn)動(dòng),比較范圍為位置20-120,每隔一個(gè)單位距離比較一次,共比較100次,中間段由于是等距比較,運(yùn)動(dòng)速度較小,故OP反轉(zhuǎn)的速度變慢。OP保持高電平的時(shí)間是2ms。
2.XY模式下OP隨運(yùn)動(dòng)距離變化的波形如下。
可看出等距比較模式下,比較輸出不受運(yùn)動(dòng)速度的影響,輸出始終是均勻的。
視頻演示鏈接:https://live.csdn.net/v/225119
本次,正運(yùn)動(dòng)技術(shù)運(yùn)動(dòng)控制器PSO位置同步輸出(一):硬件平臺(tái)與PSO指令簡(jiǎn)介,就分享到這里。
審核編輯:湯梓紅
-
運(yùn)動(dòng)控制器
+關(guān)注
關(guān)注
2文章
393瀏覽量
24655 -
總線控制器
+關(guān)注
關(guān)注
0文章
29瀏覽量
12581 -
PSO
+關(guān)注
關(guān)注
0文章
49瀏覽量
12921
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論