上節課程我們講述了多種PSO模式原理和使用方法,本節課程我們主要講解一下如何使用PSO功能實現高精度等間距輸出。
一、硬件說明
硬件選型的首要要求是支持PSO功能,再分析PSO的應用場合和軸數等選擇具體的型號。本例以ZMC460N雙總線運動控制器為例展開介紹。
PSO功能用于控制激光或點膠閥的高速開/關,直線插補和平面圓弧插補功能用于完成加工軌跡,連續插補功能用于讓多段插補的速度連續,提高加工的效率。
ZMC460N雙總線控制器
ZMC460N雙總線控制器是正運動技術推出的新一代網絡60軸運動控制器(支持EtherCAT總線軸+RTEX總線軸+脈沖軸混合使用),自帶六個脈沖軸接口(包含差分脈沖輸出和差分編碼器輸入),通用輸出口支持配置為單端脈沖輸出,通用輸入口支持配置成單端編碼器輸入。脈沖輸出頻率最大可達10MHZ,EtherCAT總線的通訊周期最快可達250微秒。
支持12路PSO輸出,輸出口獨立,支持12路同時輸出,每個系統周期可比較輸出多次,應用場景更為豐富。
PSO功能主要通過“HW_PSWITCH2”硬件位置比較輸出指令和“HW_TIMER”硬件定時指令實現,下面來講解一下這兩個指令的詳細用法。
二、指令說明
1.HW_PSWITCH2
案例將會用到HW_PSWITCH2以下幾個模式,指令語法說明如下:
(1)Mode=6:矢量比較方式,周期模式,與HW_TIMER一起使用
HW_PSWITCH2(6,opnum,opstate,vectstart,repes,cycledis)
mode:6-啟動比較器
opnum:對應的輸出口
opstate:第一個比較點的輸出狀態
vectstart:比較點VECTOR_MOVED當前運動距離
repes:重復周期,一個周期只比較一次
cycledis:周期距離,每隔這個距離輸出一次
⊙ 說明: 此模式無需TABLE,坐標均參考矢量坐標,從vectstart的位置開始比較,每隔cycledis距離觸發一次比較,重復比較的周期為repes,每次觸發比較信號后,保持信號的脈沖寬度由HW_TIMER指令設置。
HW_TIMER可以控制到達一個觸發點控制OP反轉多次,HW_TIMER周期走完等待下一周期的觸發。
(2)Mode=7:矢量比較方式,采用TABLE,與HW_TIMER一起使用
HW_PSWITCH2(7,opnum,opstate,tablestart,tableend [,optimeus,optimes,cyctimeus])
mode:7-啟動比較器,opstate不翻轉,方便與HW_TIMER配合使用
opnum:對應的輸出口
opstate:第一個比較點的輸出狀態
tablestart:第一個比較點VECTOR_MOVED坐標所在TABLE編號
tableend:最后一 個比較點VECTOR_MOVED坐標所在TABLE編號
[以下參數和HW_TIMER二選一,HW_TIMER單獨寫可以動態調整參數]
optimeus:動態調整HW_TIMER的有效時間
optimes:動態調整HW_TIMER的觸發脈沖數,0-不輸出
cyctimeus:動態調整HW_TIMER的脈沖周期時間
⊙ 說明: 比較點寫在TABLE中,坐標均參考矢量坐標,每到達一個TABLE比較矢量位置觸發OP,此時OP的脈沖寬度和每次觸發的比較次數由HW_TIMER控制;到達下一個TABLE位置,OP再次觸發。
2.HW_TIMER
硬件定時器,用于硬件比較輸出后一段時間后還原電平。HW_TIMER只有1個,每次調用會強制停止之前的調用。
不使用或比較完成時使用HW_TIMER(0)關閉。
HW_TIMER(mode,cyclonetime,optime,reptimes,opstate,opnum )
mode:0停止,2-啟動
cyclonetime:周期時間,us單位
optime:有效時間,us單位
reptimes:重復次數,啟動模式,reptimes =0時,軟關閉HW_TIMER,原來的脈沖沒有完成的,會繼續輸出完成
opstate:輸出缺省狀態,輸出口變為非此狀態后開始計時
opnum:輸出口編號,必須能硬件比較輸出的口
⊙ 說明: 參數設置可參考下方示意圖,此指令的效果是固定時間周期輸出,設置每個周期的有效輸出的時間和重復輸出的次數。
⊙使用HW_TIMER硬件定時無法仿真,只能在控制器平臺運行。
三、二維等間距PSO輸出
等距比較輸出模式,不管運動速度和運動軌跡如何變化,始終固定距離輸出脈沖,使得輸出在空間上分布是均勻的,示意圖如下。
上節描述的模式中,有幾種模式都能實現XY平面的等距輸出,例如現有一段上左圖所示的軌跡,采用直線+圓弧+直線組成,每間隔10個距離比較輸出一次,一共比較12次,等間距輸出的方法參見下方例程的說明。
例程:采用mode=6,矢量比較模式,結合HW_TIMER硬件定時,采用兩軸的合成矢量位置作為比較的參考坐標位置,實現上方示意圖的效果,使用方便,無需計算位置坐標,精度高。
RAPIDSTOP(2)
WAIT IDLE(0)
WAIT IDLE(1)
'基礎軸參數設置
BASE(0,1) '選擇XY軸
'ATYPE=4,4 '1-脈沖軸類型,比較DPOS;4-帶編碼器反饋軸類型,比較編碼器的反饋位置MPOS
UNITS=100,100
SPEED=100,100
ACCEL=1000,1000
DECEL=1000,1000
MERGE=ON,ON
SRAMP=50,50 's曲線速度平滑
OP(0,OFF)
'將當前位置設置為0,0
DPOS=0,0
MPOS=0,0
DIM WidthTime,Interval,StartPos,EndPos
WidthTime = 20000 '脈沖寬度20000us
Interval = 10 '脈沖間隔
StartPos = 10 '觸發起始位置
EndPos = 130 '結束位置
FORCE_SPEED=60 'SP速度
MOVEABS(0) '運動到0位
WAIT IDLE
VECTOR_MOVED = 0 '插補矢量距離清0
DIM iTime
iTime =ABS(EndPos - StartPos) \ Interval '計算比較次數
TRACE StartPos,iTime,Interval,WidthTime
HW_PSWITCH2(2) '清空HW比較緩沖區
HW_PSWITCH2(6,0,ON,StartPos,iTime,Interval) '從StrartPos觸發比較間隔Interval比較iTime次
HW_TIMER(2,WidthTime+100,WidthTime,1,OFF,0) '輸出觸發變成ON后,打開WidthTime us后關閉輸出
DELAY(10)
TRIGGER '啟動示波器
MOVEABS(50,0) '開始運動
MOVECIRCABSSP(75,25,50,25,0)
MOVEABS(75,75)
WAIT IDLE '等待運動停止
HW_PSWITCH2(2) '清空HW比較緩沖區
END
示波器采樣波形如下:采樣5個通道的波形,依次為軸0的目標位置,軸1的目標位置,輸出口0,軸0和軸1插補的矢量合成位置,軸0和軸1插補的運行速度。
每間隔10個單位距離比較一次,一共比較12次,由HW_TIMER可精準控制輸出脈沖的寬度,輸出頻率更快,整體精度更高。
XYZ模式下的比較輸出波形:
綜上所述,等距比較場合,使用模式6較為方便,只需要得出比較的距離和OP輸出的時間即可,模式6可用于單軸和多軸插補場合的比較。模式5和模式7也能實現上述功能。
四、三維等間距PSO輸出
1.三維等間距PSO輸出示例
例程: 采用模式7,模式6是按指令設置的觸發距離周期輸出,模式7的輸出位置由TABLE的數據點控制,輸出位置更靈活,可實現上例等距輸出,也可實現靈活間隔的輸出。
RAPIDSTOP(2)
WAIT IDLE(0)
WAIT IDLE(1)
WAIT IDLE(2)
'基礎軸參數設置
BASE(0,1,2) '選擇XY軸
'ATYPE=4,4,4 '1-脈沖軸類型,比較DPOS;4-帶編碼器反饋軸類型,比較編碼器的反饋位置MPOS
UNITS=100,100,100
SPEED=100,100,100
ACCEL=1000,1000,1000
DECEL=1000,1000,1000
MERGE=ON,ON
SRAMP=50,50,50 's曲線速度平滑
OP(0,OFF)
'將當前位置設置為0,0
DPOS=0,0,0
MPOS=0,0,0
FORCE_SPEED=60 'SP速度
MOVEABS(0,0,0) '運動到0位
WAIT IDLE
VECTOR_MOVED = 0 '插補矢量距離清0
DIM WidthTime,T_Startnum,Pointnum
WidthTime = 10000 '脈沖寬度10000us
T_Startnum = 0 '比較點起始table編號
Pointnum = 8 '比較點個數
TABLE(T_Startnum,10,30,50,70,90,110,130,150) '比較點坐標設置,起始table位置T_Startnum,8個點
HW_PSWITCH2(2) '清空HW比較緩沖區
HW_PSWITCH2(7,0,ON,T_Startnum,T_Startnum+Pointnum-1) '模式7
HW_TIMER(2,WidthTime+100,WidthTime,1,OFF,0) '輸出觸發變成ON后,打開WidthTime us后關閉輸出
DELAY(10)
TRIGGER '啟動示波器
MOVEABS(100,80,90) '三軸直線插補
WAIT IDLE '等待運動停止
HW_PSWITCH2(2) '清空HW比較緩沖區
END
波器采樣波形如下:采樣6個通道的波形,依次為軸0的目標位置,軸1的目標位置,軸2的目標位置,輸出口0,軸0軸1軸2插補的矢量合成位置,軸0軸1軸2插補的運行速度。
Table存儲的比較點矢量位置為10,30,50,70,90,110,130,150,共8個點,每到一個點觸發比較,由HW_TIMER可精準控制輸出脈沖的寬度,輸出頻率更快,整體精度更高。
審核編輯 黃昊宇
-
運動控制器
+關注
關注
2文章
401瀏覽量
24704 -
PSO
+關注
關注
0文章
49瀏覽量
12939
發布評論請先 登錄
相關推薦
評論