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