技術支援

SmartMotor伺服馬達

SmartMotor 碰到韌體極限時自動反彈功能

https://montrol.com.tw/wp-content/uploads/2023/02/ST_motor-limit.mp4https://montrol.com.tw/wp-content/uploads/2023/02/ST_motor-limit2.mp4 問題描述(以直線運動滑台為例): 當滑塊每次觸碰到韌體正負極限時,馬達會跳錯誤並停止運動,此時需要將馬達斷電,並手動將滑塊移開極限位置,再將馬達重新上電,過程繁複且耗時間。 解決辦法: 碰到正負極限時,馬達FAULT停止動作,進入中斷指令副程式,清除錯誤且關閉韌體極限功能,滑塊自動移動離開極限位置後,啟動韌體極限功能,並回到主程式。 範例程式: ‘Bms: 觸發負(左)極限即時訊號 ‘Bps: 觸發正(右)極限即時訊號 EIGN(2) EIGN(3) ZS t=1000 GOSUB0                            ‘原點復歸 ITR(0,1,15,1,10)                 ‘設定第0組中斷,在Bms狀態為1時,跳至中斷副程式C10 ITR(1,1,14,1,10)                 ‘設定第1組中斷,在Bps狀態為1時,跳至中斷副程式C10 EITR(0)                               ‘設定第0組中斷可用 EITR(1)                               ‘設定第1組中斷可用 ITRE                                   ‘啟動中斷功能 C1                            ‘製造不結束主程式的迴圈副程式C1 GOTO1 END C0                                        ‘滑台做原點復歸 SLD                                     ‘關閉韌體極限功能 MT T=-1800 G c=100 WHILE c>5 a=PA WAIT=t/10 b=PA WAIT=t/10 c=a-b LOOP WAIT=t/2 MP AD …

SmartMotor 碰到韌體極限時自動反彈功能 閱讀全文 »

SmartMotor CAM mode 凸輪運動範例

 影片動作說明:     當凸輪主軸從啟動開始每次轉10轉時,從動軸完成一次動作週期(程式範例每一周期跑7個設定點位置),後面重複動作。 https://montrol.com.tw/wp-content/uploads/2023/02/CamMode凸輪運動_SmartMotor.mp4 凸輪主軸 : EIGN(2) EIGN(3) ZSO=0                                ‘將目前位置設定為原點WAIT=500                     ‘等待500毫秒VT=32768                      ‘速度值ADT=100                       ‘加減速值MV                                  ‘速度模式G                                     ‘開始運動END ==========================從動軸 : EIGN(W,0) ZSO=0                                 ‘將目前位置設定為原點CTE(1)                            ‘清除所有CAM表單紀錄CTA(7,40000)     ‘創建7個點的CAM表,並指定每個點之間的主編碼器距離為40000CTW(0)                           ‘加入第一個點; 開始點為點0CTW(1000)                     ‘加入第二個點; 從開始到點1000CTW(3000)                     ‘加入第三個點; 從開始到點3000CTW(8000)                     ‘加入第四個點; 從開始到點8000CTW(6000)                     ‘加入第五個點; 從開始到點6000CTW(1000)                     ‘加入第六個點; 從開始到點1000CTW(0)                  …

SmartMotor CAM mode 凸輪運動範例 閱讀全文 »

SmartMotor 使用RS485通訊送字串給外部馬達(以TSM為例)

https://montrol.com.tw/wp-content/uploads/2023/02/SM_TSM_RS485.mp4 EIGN(2) EIGN(3) ZSADDR=1                                     ‘設定RS485 位址(第一軸SM)OCHN(RS4,1,N,9600,1,8,C)      ‘開啟RS485通訊aa=30                                         ‘2AC 第二軸加速度bb=30                                         ‘2DE 第二軸減速度cc=3                                            ‘2VE 第二軸速度dd=-200000                                ‘2FL移動距離tt=30                                            ‘PRINT1送字串延遲時間(ms)END C10                                             ‘第一軸SM正轉一圈ADT=1000VT=32768PRT=4000GRETURN C20                                              ‘第二軸TSM反轉一圈WAIT=ttPRINT1(“2AC10”,#13)WAIT=ttPRINT1(“2DE10”,#13)WAIT=ttPRINT1(“2VE1”,#13)WAIT=ttPRINT1(“2FL-20000”,#13)RETURN C21                                         ‘第二軸TSM用參數控制作動WAIT=ttPRINT1(“2AC”,aa,#13)WAIT=ttPRINT1(“2DE”,bb,#13)WAIT=ttPRINT …

SmartMotor 使用RS485通訊送字串給外部馬達(以TSM為例) 閱讀全文 »

SmartMotor 雙軸同步模式

目標: 雙軸同時動作、同時停止,移動過程中即使某一軸受到阻力,兩軸的編碼器位置仍保持相同。 https://montrol.com.tw/wp-content/uploads/2023/02/SmartMotor-雙軸同步模式_4x3.mp4 影片開始時,當馬達A有阻力時,馬達B跟隨馬達A作動; 反之,當馬達B有阻力時,馬達A跟隨馬達B作動。 ~~~~~~~~  程式範例   ~~~~~~~~~ (1)   交叉跟隨範例 使用時請下指令GOSUB(40):1   馬達A EIGN(2) EIGN(3) ZSCADDR=1     ‘設定馬達A之CAN addressCBAUD=125000     ‘設定馬達A之CAN baud rateO=0     ‘設定位置為零ADT=100 VT=32768 PRT=0MP G     ‘啟動位置模式xx=32768*2     ‘設定馬達速度值END   C4     ‘馬達A啟動跟隨模式EIGN(W,0) ZSMFR     ‘設定為跟隨模式MFMUL=1     ‘設定跟隨比例:分子      MFDIV=1     ‘設定跟隨比例:分母G TWAIT     ‘執行運動RETURN   C40a=EA:2     ‘將馬達B位置誤差值記錄在變數ab=ABS(a)     ‘將變數a值的絕對值放入變數bSTACK     ‘清除所有RETURN地址,避免連續呼叫副程式中斷GOSUB(5):2     ‘使馬達B啟動跟隨模式TWAITWAIT=2000MP     ‘馬達A啟動位置模式ADT=100 VT=xx PT=4000*500     ‘前往絕對位置4000*500    G     ‘開始運動WHILE b<50     ‘當馬達B位置誤差超過50設定值則跳出迴圈a=EA:2b=ABS(a)LOOPOFF     ‘馬達A關閉伺服控制TWAIT WAIT=1000MP:0 PRT:0=0 G:0 TWAIT     ‘馬達A與馬達B啟動位置模式GOTO(50):2   …

SmartMotor 雙軸同步模式 閱讀全文 »

Communication Lockup Wizard 使用方式

COMMUNICATION LOCKUP WIZARD 使用方式 1.     確認硬體接線,馬達與電腦做RS232通訊連接 接著打開SMI軟體 >選項Communication > 點擊Communication Lockup Wizard   2.     依照視窗指示操作(此時只能有一顆馬達與電腦連接) (1)選擇馬達與電腦連接的Com Port (2)Please power down the “SmartMotor(TM)”, maintaining the communication connection. Only after making sure that the motor is off, click the “Continue” button to proceed. 將馬達電源移除,此時Com Port 不要拔除。確定馬達電源燈沒有亮後,點擊”Continue” 按鈕繼續下一步   (3) Now apply power to the SmartMotor. Only after making sure that the motor is on, click the “Continue” button. 現在將電源接上,確定馬達電源燈亮起後再點擊”Continue”按鈕繼續下一步   (4)正在通訊連接馬達中…   (5)馬達已成功建立通訊(如圖,左側Configuration視窗出現馬達圖示Motor1-Com9),此時可以選擇點擊”Upload Program”按鈕,將馬達內部程式上傳至電腦,或者點擊”Clear EEPROM”按鈕,清除馬達所有程式與記憶體內容,或點擊”Close”關閉視窗。            

預防Combitronic應用出現CAN error

預防Combitronic應用出現CAN error Combitronic 基本子程式寫法 (請見連結) 當程式修改完CAN address (指令CADDR)後,各別下載程式到馬達 此時需將馬達斷電後重新上電,更改過的CAN address才開始有作用

SmartMotor外加剎車

Smartmotor 外加剎車                           1.接線圖 ****.請注意剎車電壓為 直流 DC24V作動, 與馬達電壓不同!!   2.程式範例   3.備註 指令 狀態 Servo ON Spinning Servo ON Stop Servo OFF BRKSRV Release Release Engage BRKTRJ Release Engage Engage

使用VB直接送碼控制多軸SmartMotor

使用VB直接送碼控制多軸SmartMotor   步驟一: 專案>設定使用元件>勾選”Microsoft Comm Control 6.0”   步驟二: 先製作介面   步驟三: 編寫程式碼 Private Sub Form_Load() If (MSComm1.PortOpen = True) Then MSComm1.PortOpen = False MSComm1.CommPort = 3 MSComm1.PortOpen = True MSComm1.Settings = “9600,N,8,1” End Sub   Private Sub Command1_Click() Dim aaa(1) As Byte aaa(1) = &H81 MSComm1.Output = aaa() MSComm1.Output = “ADT=1000_” MSComm1.Output = “VT=32768*5_” MSComm1.Output = “PRT=18000_” MSComm1.Output = “G_” End Sub   Private Sub Command2_Click() Dim bbb(1) As Byte bbb(1) = &H82 MSComm1.Output = bbb() MSComm1.Output = “ADT=1000_” MSComm1.Output = “VT=32768*5_” MSComm1.Output = “PRT=18000_” MSComm1.Output = “G_” End Sub   Private Sub Command3_Click() Dim ccc(1) As Byte ccc(1) = &H80 MSComm1.Output = ccc() MSComm1.Output = “ADT=1000_” MSComm1.Output = “VT=32768*5_& …

使用VB直接送碼控制多軸SmartMotor 閱讀全文 »

SmartMotor到位訊號輸出

Smartmotor到位訊號回覆   目的: 解決以往於PC-BASED or PLC執行運動控制時,不斷詢問位置RPA,以判斷是否到位,增加通訊& SM的通訊異常及運算負載!!   解決方法: 當外部下達G指令時,馬上執行”位置到位判斷”的副程式 如: G  GOSUB1 副程式中,利用迴圈條件Bt位元,如到位停止後Bt=0會跳出迴圈,後輸出到位訊號 *PC-base控制時: 輸出到位訊息 *PLC控制時: 輸出 Output動作訊號 範例程式如下: EIGN(2) EIGN(3) ZS ADT=400 VT=32768 END C1 WHILE Bt LOOP PRINT(“MOTOR1 in position”,#13) RPA OUT(6)=1 WAIT=1000 OUT(6)=0 RETURN   執行後如圖: