3.6.2 剛性攻牙主軸閉迴路控制模式使用說明
一、目的:
避免因為工件的材質或是攻牙的孔徑改變,使轉速改變時剛性攻牙,造成攻牙的深度誤差。
二、機台具備條件:
1. |
驅動器具備伺服模式,速度控制比大於 1000:1 且對速度命令響應迅速,如伺服驅動器控制伺服馬達。 |
2. |
驅動器正反轉控制方式為:驅動器啟動接點,正負 10V 類比輸入。 |
3. |
主軸編碼器解析度為每轉 1024 pulse。 |
4. |
驅動器在剛攻(伺服模式)時,驅動器內部的主軸加減速要設定為 0。 |
5. |
按 ALT+F8 切換到監控畫面,確認主軸正轉時控制器的 SDA(主軸電壓輸出)為正值、SEN(主軸編碼器回授)的值要遞增、主軸實際轉速符合命令轉速,反之主軸反轉時控制器的 SDA 為負值(16 進位 Fxx)、SEN 的值要遞減,此時主軸實際轉速顯示為負值。 |
6. |
如果 SDA 與 SEN(主軸編碼器回授)的值與第 5 點的敘述相反時,請把主軸編碼器回授訊號線 A、/A 對調即可。 |
第 1 偵測頁主軸狀態
三、PLC 需要修改及注意的部分如下:
1. 在執行剛性攻牙時不要改變 plc.axisPmySpindle.da 的值。
2. 在 plcOpen 中令:
plc.vto3.bit.V4spc = 1;//使用新的主軸 DA 控制方式
plc.vto3.bit.rgsda = 1;//剛攻時主軸命令電壓由 NC 控制
3. |
PLC 中要令 plc.vto4.bit.clsrd = 1 以啟動剛性攻牙主軸閉迴路控制模式,因此可以在 plcRun 中新增 M code 以開啟剛性攻牙主軸閉迴路控制模式: |
case 66:
plc.vto4.bit.clsrd = 1; //開啟剛性攻牙主軸閉迴路控制模式
plc.mCode.finish = 1;
break;
case 67:
plc.vto4.bit.clsrd = 0; //關閉剛性攻牙主軸閉迴路控制模式
plc.mCode.finish = 1;
break;
或是由參數決定是否使用剛性攻牙主軸閉迴路控制模式:
plc.vto4.bit.clsrd = paRigidTappingSpindleServoMode;
4. |
由於主軸在執行剛性攻牙時會去呼叫 M05,因此當開啟剛性攻牙主軸閉迴路控制模式時,M05 的處理程序中不要將驅動器啟動的接點 OFF: |
case 5:
if(sts.mode1.mM29){
if(!plc.vto4.bit.clsrd)//如果不在剛性攻牙主軸閉迴路控制模式時,才將驅動器啟動的接點 OFF
goSpindleRun=0;
plc.vto2.bit.rgsiv = 0;
plc.mCode.finish=1;
}
.
.
.
break;
5. |
為了安全性的考量,當主軸閉迴路失敗(例如 encoder 回授線鬆脫),必須停止主軸運轉,因此必須在 plcRun 中加入下列一段程式碼: |
if(sts.mode1.mM29 && plc.vto4.bit.clsrd)//在剛性攻牙主軸閉迴路控制模式
goSpindleRun = plc.axisPmySpindle.state.servoOn;
此程式碼的作用為,當 NC 偵測到主軸閉迴路失敗或未到位時間過長時,NC 會發出報警並將 plc.axisPmySpindle.state.servoOn 清除為零,此時 PLC 就會將主軸運轉輸出 goSpindleRun 關閉。
四、機械參數中主軸相關參數設定:
在機械參數→主軸→剛性攻牙補償表中設定主軸閉迴路控制參數始編號 i,如下圖所示:
"主主軸" 對話盒
如上圖,i 值設定為 200 代表主軸閉迴路控制相關參數從 PLC 長數據 200 開始設定,定義如下:
PLC 長數據 |
定義 |
i |
位置迴路增益,建議值 30~50 |
i + 1 |
最大追隨誤差,建議值 10000 |
i + 2 |
到位範圍,建議值 30 |
i + 3 |
零偏移 |
零偏移,調整方式如下:
1. 執行 G84 剛攻指令,並在孔底暫停 5 秒以觀察主軸 holding 時的 ERR 值。
第 3 偵測頁主軸狀態
2. |
調整 PLC 長數據中 i + 3 零偏移的值,使 ERR 值趨近於 0。 |
3. |
如果 ERR 值過大不調整,在執行剛攻時控制器會發出 "576 剛性攻牙時主軸馬達閉迴路未到位時間過長" 的報警訊息。 |