SmartMotor 雙軸同步模式

 

SmartMotor 雙軸同步模式


目標: 雙軸同時動作、同時停止,移動過程中即使某一軸受到阻力,
兩軸的編碼器位置仍保持相同。


影片開始時,當馬達A有阻力時,馬達B跟隨馬達A作動; 

反之,當馬達B有阻力時,馬達A跟隨馬達B作動。

 

~~~~~~~~~~~~~~~~~~~~~~~~~  程式範例    ~~~~~~~~~~~~~~~~~~~~~~~~~~

(1)   交叉跟隨範例

使用時請下指令GOSUB(40):1


馬達A

EIGN(2) EIGN(3) ZS
CADDR=1                                    '設定馬達ACAN address
CBAUD=125000                          '設定馬達ACAN baud rate
O=0                                                '設定位置為零
ADT=100 VT=32768 PRT=0
MP G                                              '啟動位置模式
xx=32768*2                                   '設定馬達速度值
END

C4                                                 '馬達A啟動跟隨模式
EIGN(W,0) ZS
MFR                                             '設定為跟隨模式
MFMUL=1                                   '設定跟隨比例:分子      
MFDIV=1                                     '設定跟隨比例:分母
G TWAIT                                      '執行運動
RETURN

C40
a=EA:2                                        '將馬達B位置誤差值記錄在變數a
b=ABS(a)                                    '將變數a值的絕對值放入變數b
STACK                                       '清除所有RETURN地址,避免連續呼叫副程式中斷
GOSUB(5):2                               '使馬達B啟動跟隨模式
TWAIT
WAIT=2000
MP                                              '馬達A啟動位置模式
ADT=100 VT=xx PT=4000*500         '前往絕對位置4000*500    
G                                                  '開始運動
WHILE b<50                              '當馬達B位置誤差超過50設定值則跳出迴圈
a=EA:2
b=ABS(a)
LOOP
OFF                                              '馬達A關閉伺服控制
TWAIT WAIT=1000
MP:0 PRT:0=0 G:0 TWAIT        '馬達A與馬達B啟動位置模式
GOTO(50):2                                '切換成馬達B;馬達A跟隨
RETURN

 

馬達B

EIGN(2) EIGN(3) ZS
CADDR=2                                    '設定馬達BCAN address
CBAUD=125000                          '設定馬達BCAN baud rate
O=0                                               '設定位置為零
ADT=100 VT=32768 PRT=0
MP G                                             '啟動位置模式
xx=32768*2                                  '設定馬達速度值
END
 
C5                                                 '馬達B啟動跟隨模式
EIGN(W,0) ZS
MFR                                             '設定為跟隨模式
MFMUL=1                                  '設定跟隨比例:分子
MFDIV=1                                    '設定跟隨比例:分母
G TWAIT                                     '執行運動
RETURN
 
C50
a=EA:1                                        '將馬達A位置誤差值記錄在變數a
b=ABS(a)                                    '將變數a值的絕對值放入變數b
STACK                                       '清除所有RETURN地址,避免連續呼叫副程式中斷
GOSUB(4):1                               '使馬達A啟動跟隨模式
TWAIT
WAIT=2000
MP                                               '馬達B啟動位置模式
ADT=100 VT=xx PT=4000*500          '前往絕對位置4000*500
G                                                  '開始運動
WHILE b<50                              '當馬達A位置誤差超過50設定值則跳出迴圈
a=EA:1
b=ABS(a)
LOOP
OFF                                             '馬達B關閉伺服控制
TWAIT WAIT=1000
MP:0 PRT:0=0 G:0 TWAIT        '馬達A與馬達B啟動位置模式
GOTO(40):1                                '切換成馬達A;馬達B跟隨
RETURN

 

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

(2)   Combitronic 同步範例 (影片)

使用時請下指令GOSUB(30):1


馬達A

EIGN(2) EIGN(3) ZS
CADDR=1                              '設定馬達ACAN address
CBAUD=125000                    '設定馬達Abaud rate
ADT=100 VT=32768 PRT=0
xx=32768*2                            '設定馬達速度值
O=0                                         '設定位置為零
END
 
C30
GOSUB(4):2                           '使馬達B啟動跟隨模式
WAIT=100
MP                                           '馬達A啟動位置模式
ADT=100 VT=xx PT=4000*500        '前往絕對位置4000*500
G                                              '開始運動
WHILE 1
GOSUB31                               '前往副程式C31
LOOP
RETURN
 
C31
a=EA:2                                    '將馬達B位置誤差值記錄在變數a
b=ABS(a)                                '將變數a值的絕對值放入變數b
IF b>20                                    '當馬達B位置誤差大於設定值20
VT=VT*0.5                            '馬達A減速為原速度的1/2           
G                                             '開始運動
ELSE                                      '當馬達B位置誤差小於或等於設定值20
VT=xx                                    '恢復馬達A速度為原設定值
G                                              '開始運動
ENDIF
RETURN
 
馬達B

EIGN(2) EIGN(3) ZS
CADDR=2                             '設定馬達BCAN address
CBAUD=125000                   '設定馬達Bbaud rate
O=0                                        '設定位置為零
ADT=1000 VT=327680 PRT=0
END
C4                                           '馬達B啟動跟隨模式
EIGN(W,0) ZS
MFR                                      '設定為跟隨模式
MFMUL=1                           '設定跟隨比例:分子
MFDIV=1                             '設定跟隨比例:分母
G                                           '執行運動
RETURN