摘要:
運動控制晶元AFD-X05是基FPGA實現的晶元,能夠完成高速高精度的數控加工。其運動控制的穩定性和可靠性要比DSP系統或基於DSP技術的運動控制晶元如MCX314等要高一個等級。五軸五聯動運動控制器支持大部分的G代碼、M代碼和宏指令,也具有可組配、模塊化和開放式等特點。特別是它支持五軸直線插補,可以用計算機編寫大型的五軸聯動複雜軟體,通過五軸五聯動運動控制器控制數控機床完成加工,促進國產中高檔數控系統軟體水平的提高。本文介紹用它來快速開發一套五軸銑床數控系統。
一、引言
當前,各種運動控制卡的二次開發的比較複雜。目前國內比較多的工程師都熟悉數控系統的G代碼,在ARM 32位單片機和國產運動控制晶元AFD-X05的基礎上,研製成的可執行G代碼的五軸聯動運動控制器,使得二次開發變簡單了。應用這種支持五軸直線插補的高速高精度的運動控制器,再開發各種專用的數控系統,工程師們只需將精力放在大型的複雜的軟體開發上面,完全不需要去了解硬體。
二、G代碼五軸聯動運動控制器的硬體系統
2.1 AFDX05運動控制晶元
雲山數控研發的AFDX05運動控制晶元,支持任意2~5軸直線插補,任意2軸圓弧插補,多達6級的運動指令緩衝區,特別適合高速多線段或圓弧連續插補的運動控制,另外,還有反向間隙補償,速度控制,加減速控制,位置控制,通用輸入輸出口,8/16 位數據匯流排,中斷髮生,硬體限位,軟體限位,緊急停止,暫停,編碼器信號輸入等功能,驅動脈衝頻率高達8MPPS、插補精度±5LSB。用於控制以脈衝序列方式輸入的伺服電機、步進電機。
「中國芯」AFDX05,更加符合中國人的使用習慣。可以控制最多5軸的點位運動、連續軌跡運動、同步運動等應用。
2.2 ARM 32位單片機
CPU為 S3C44B0X。32M Flash。脈衝方向差動輸出驅動。60路光耦隔離輸入42路集電極開路光耦隔離輸出或 36路光耦隔離輸入20路集電極開路光耦隔離輸出 。 5路步進/伺服電機脈衝光耦隔離輸出,最高頻率4MHz。32位邏輯位置和實際位置計數器。RS232通訊。硬體部分已模塊化,無需任何硬體知識即可開發。
三、G代碼五軸聯動運動控制器的軟體系統
3.1 支持的G代碼
G代碼 | 分組 | 功能 |
*G00 | 1 | 定位(快速移動) |
*G01 | 1 | 直線插補(進給速度) |
G02 | 1 | 順時針圓弧插補 |
G03 | 1 | 逆時針圓弧插補 |
G04 | 0 | 暫停,精確停止 |
*G17 | 2 | 選擇X平面 |
G18 | 2 | 選擇Z平面 |
G19 | 2 | 選擇Y平面 |
G27 | 0 | 返回並檢查參考點 |
G28 | 0 | 返回參考點 |
G29 | 0 | 從參考點返回 |
G30 | 0 | 返回第二參考點 |
*G40 | 7 | 取消刀具半徑補償 |
G41 | 7 | 左側刀具半徑補償 |
G42 | 7 | 右側刀具半徑補償 |
G43 | 8 | 刀具長度補償+ |
G44 | 8 | 刀具長度補償- |
*G49 | 8 | 取消刀具長度補償 |
G52 | 0 | 設置局部坐標系 |
G53 | 0 | 選擇機床坐標系 |
*G54 | 14 | 選用1號工件坐標系 |
G55 | 14 | 選用2號工件坐標系 |
G56 | 14 | 選用3號工件坐標系 |
G57 | 14 | 選用4號工件坐標系 |
G58 | 14 | 選用5號工件坐標系 |
G59 | 14 | 選用6號工件坐標系 |
G60 | 0 | 單一方向定位 |
*G64 | 15 | 切削方式 |
G65 | 0 | 宏程序調用 |
G66 | 12 | 模態宏程序調用 |
*G67 | 12 | 模態宏程序調用取消 |
*G90 | 3 | 絕對值指令方式 |
*G91 | 3 | 增量值指令方式 |
G92 | 0 | 工件零點設定 |
*G98 | 10 | 固定循環返回初始點 |
G99 | 10 | 固定循環返回R點 |
3.2 支持的M代碼
M代碼 | 功能 |
|
M00 | 程序停止 |
|
M01 | 條件程序停止 |
|
M02 | 程序結束 |
|
M03 | 主軸正轉 |
|
M04 | 主軸反轉 |
|
M05 | 主軸停止 |
|
M06 | 刀具交換 |
|
M08 | 冷卻開 |
|
M09 | 冷卻關 |
|
M18 | 主軸定向解除 |
|
M19 | 主軸定向 |
|
M30 | 程序結束並返回程序頭 |
|
M50 | 備用輸出1開 |
|
M51 | 備用輸出1關 |
|
M52 | 備用輸出2開 |
|
M53 | 備用輸出2開 |
|
M54 | 備用輸出3開 |
|
M55 | 備用輸出3開 |
|
M56 | 備用輸出4開 |
|
M57 | 備用輸出4開 |
|
… | … |
|
M98 | 調用子程序 |
|
M99 | 子程序結束返回/重複執行 |
|
3.3 宏指令編程
變數號 | 變數類型 | 功能 |
#0 | 「空」 | 這個變數總是空的,不能賦值。 |
#1~#33 | 地方變數 | 地方變數只能在宏中使用,以保持操作的結果,關閉電 |
#100~#149 | 公共變數 | 公共變數可在不同的宏程序間共享。關閉電源時變數 |
#1000~ | 系統變數 | 系統變數用於讀寫各種NC數據項,如當前位置、刀具補償值 |
#2000~#2059 | IO輸入 | 60路光耦隔離輸入信號 |
四、三軸銑床數控數控系統開發實例
4.1 參數初始化。
以下參數,五個軸,每個軸的都有。
參數名稱 | 參數設置 | 參數單位 |
脈衝當量 | P01=XXX.XXXXXX | 毫米 |
G00指令速度 | P02=XXXX | 毫米/分鐘 |
G01指令速度 | P03=XXXX | 毫米/分鐘 |
G02指令速度 | P04=XXXX | 毫米/分鐘 |
G03指令速度 | P05=XXXX | 毫米/分鐘 |
起始速度 | P06=XXXX | 毫米/分鐘 |
加速時間 | P07=XXXX | 毫秒 |
正向軟限位 | P08=XXXX | 毫米 |
負向軟限位 | P09=XXXX | 毫米 |
反向間隙補償 | P10=XXXX | 毫米 |
回零速度 | P11=XXXX | 毫米/分鐘 |
手動速度 | P12=XXXX | 毫米/分鐘 |
最大進給速度 | P13=XXXX | 毫米/分鐘 |
系統總刀數 | P14=XX |
|
M代碼等待時間 | P15=XXXX | 毫秒 |
回參考點坐標 | P16=XXX.XXXXXX | 毫米 |
主軸編碼器線數 | P17=XXXX | (/R) |
歸零方向 | P18=X |
|
換刀基準位 | P19=XXX.XXXXXX | 毫米 |
換刀安全高度 | P20=XXX.XXXXXX | 毫米 |
換刀間隔 | P21=XXX.XXXXXX | 毫米 |
換刀速度 | P22=XXX.XXXXXX | 毫米/分鐘 |
最大行程 | P23=XXX.XXXXXX | 毫米 |
設置工件坐標系 | P25=XXX.XXXXXX | 毫米 |
4.2 發送G代碼,控制機床工作。如:
G54
M03 X8
G0 G90 G17
G28
G00X-2.046Y59.111Z10.000
Z4.000
G01Z-1.000F300
G17
G02X1.245Y54.864I-54.422J-45.566K0.000F800
X2.203Y53.318I-15.407J-10.613K0.000
G00Z10.000
G91 G28 M09
五、小結。
基於該開放式五軸五聯動數控系統平台做開發,只需要將G代碼傳送到這個平台,可以快速開發出一套基於國際標準G代碼加工的專用數控系統。應用開發工程師在完全不需要了解硬體的情況下,集中精力做好特定的行業專用數控系統。降低數控系統的開發成本,促進數控機床的普及應用。