『壹』 「宏程序」是什麼意思
大家都在問宏程序~其實說起來宏就是用公式來加工零件的,比如說橢圓,如果沒有宏的話,我們要逐點算出曲線上的點,然後慢慢來用直線逼近,如果是個光潔度要求很高的工件的話,那麼需要計算很多的點,可是應用了宏後,我們把橢圓公式輸入到系統中然後我們給出Z坐標並且每次加10um那麼宏就會自動算出X坐標並且進行切削,實際上宏在程序中主要起到的是運算作用..宏一般分為A類宏和B類宏.A類宏是以G65 Hxx P#xx Q#xx R#xx的格式輸入的,而B類宏程序則是
以直接的公式和語言輸入的和C語言很相似在0i系統中應用比較廣.由於現在B類宏程序的大量使
用很多書都進行了介紹這里我就不再重復了,但在一些老系統中,比如法蘭克OTD系統中由於它的MDI鍵盤上沒有公式符號,連最簡單的等於號都沒有,為此如果應用B類宏程序的話就只能在計算機上編好再通過RSN-32介面傳輸的數控系統中,可是如果我們沒有PC機和RSN-32電纜的話怎麼辦呢,那麼只有通過A類宏程序來進行宏程序編制了,下面我介紹一下A類宏的引用;
A類宏是用G65 Hxx P#xx Q#xx R#xx或G65 Hxx P#xx Qxx Rxx格式輸入的xx的意思就是數值,是以um級的量輸入的,比如你輸入100那就是0.1MM~~~~~.#xx就是變數號,關於變數號是什麼意思再不知道的的話我也就沒治了,不過還是教一下吧,變數號就是把數值代入到一個固定的地址中,固定的地址就是變數,一般OTD系統中有#0~~~#100~#149~~~#500~#531關閉電源時變數#100~#149被初始化成「空」,而變數#500~#531保持數據.我們如果說#100=30那麼現在#100地址內的數據就是30了,就是這么簡單.好現在我來說一下H代碼,大家可以看到A類宏的標准格式中#xx和xx都是數值,而G65表示使用A類宏,那麼這個H就是要表示各個數值和變數號內的數值或者各個變數號內的數值與其他變數號內的數值之間要進行一個什麼運算,可以說你了解了H代碼A類宏程序你基本就可以應用了,好,現在說一下H代碼的各個含義:
以下都以#100和#101和#102,及數值10和20做為例子,應用的時候別把他們當格式就行,
基本指令:
H01賦值;格式:G65H01P#101Q#102:把#102內的數值賦予到#101中
G65H01P#101Q#10:把10賦予到#101中
H02加指令;格式G65 H02 P#101 Q#102 R#103,把#102的數值加上#103的數值賦予#101
G65 H02 P#101 Q#102 R10
G65 H02 P#101 Q10 R#103
G65 H02 P#101 Q10 R20
上面4個都是加指令的格式都是把Q後面的數值或變數號內的數值加上R後面的數
值或變數號內的數值然後等於到P後面的變數號中.
H03減指令;格式G65 H03 P#101 Q#102 R#103,把#102的數值減去#103的數值賦予#101
G65 H03 P#101 Q#102 R10
G65 H03 P#101 Q10 R#103
G65 H03 P#101 Q20 R10
上面4個都是減指令的格式都是把Q後面的數值或變數號內的數值減去R後面的數
值或變數號內的數值然後等於到P後面的變數號中.
H04乘指令;格式G65 H04 P#101 Q#102 R#103,把#102的數值乘上#103的數值賦予#101
G65 H04 P#101 Q#102 R10
G65 H04 P#101 Q10 R#103
G65 H04 P#101 Q20 R10
上面4個都是乘指令的格式都是把Q後面的數值或變數號內的數值乘上R後面的數
值或變數號內的數值然後等於到P後面的變數號中.
H05除指令;格式G65 H05P#101 Q#102 R#103,把#102的數值除以#103的數值賦予#101
G65 H05 P#101 Q#102 R10
G65 H05 P#101 Q10 R#103
G65 H05 P#101 Q20 R10
上面4個都是除指令格式都是把Q後面的數值或變數號內的數值除以R後面的數
值或變數號內的數值然後等於到P後面的變數號中.(余數不存,除數如果為0的話會出現112報警)
三角函數指令:
H31 SIN正玄函數指令:格式G65 H31 P#101 Q#102 R#103;含義Q後面的#102是三角形的斜邊R後面的#103內存的是角度.結果是#101=#102*SIN#103,也就是說可以直接用這個求出三角形的另
一條邊長.和以前的指令一樣Q和R後面也可以直接寫數值.
H32 COS余玄函數指令:格式G65 H32 #101 Q#102 R#103;含義Q後面的#102是三角形的斜邊
R後面的#103內存的是角度.結果是#101=#102*COS#103,也就是說可以直接用這個求出三角形的
另一條邊長.和以前的指令一樣Q和R後面也可以直接寫數值.
H33和H34本來應該是TAN 和ATAN的可是經過我使用得數並不準確,希望有知道的人能夠告訴我是為什麼?
開平方根指令:
H21;格式G65 H21 P#101 Q#102 ;意思是把#102內的數值開了平方根然後存到#101中(這個指令是非常重要的如果在車橢圓的時候沒有開平方跟的指令是沒可能用宏做到的.
無條件轉移指令:
H80;格式:G65 H80 P10 ;直接跳到第10程序段
有條件轉移指令:
H81 H82 H83 H84 H85 H86 ,分別是等於就轉的H81;不等於就轉的H82;小於就轉的H83;大於就轉的H84;小於等於就轉的H85;大於等於就轉的H86;
格式:G65 H8x P10 Q#101 R#102;將#101內的數值和#102內的數值相比較,按上面的H8x的碼帶入H8x中去,如果條件符合就跳到第10程序段,如果不符合就繼續執行下面的程序段.
用 戶 宏 程 序
能完成某一功能的一系列指令像子程序那樣存入存儲器,用一個總指令來它們,使用時只需給出這個總指令就能執行其功能。
l 所存入的這一系列指令——用戶宏程序
l 調用宏程序的指令————宏指令
l 特點:使用變數
一. 變數的表示和使用
(一) 變數表示
#I(I=1,2,3,…)或#[<式子>]
例:#5,#109,#501,#[#1+#2-12]
(二) 變數的使用
1. 地址字後面指定變數號或公式
格式:<地址字>#I
<地址字>-#I
<地址字>[<式子>]
例:F#103,設#103=15則為F15
Z-#110,設#110=250則為Z-250
X[#24+#18*COS[#1]]
2. 變數號可用變數代替
例:#[#30],設#30=3則為#3
3. 變數不能使用地址O,N,I
例:下述方法下允許
O#1;
I#26.00×100.0;
N#3Z200.0;
4. 變數號所對應的變數,對每個地址來說,都有具體數值范圍
例:#30=1100時,則M#30是不允許的
5. #0為空變數,沒有定義變數值的變數也是空變數
6. 變數值定義:
程序定義時可省略小數點,例:#123=149
MDI鍵盤輸一. 變數的種類
1. 局部變數#1~#33
一個在宏程序中局部使用的變數
例:A宏程序B宏程序
……
#10=20X#10不表示X20
……
斷電後清空,調用宏程序時代入變數值
2. 公共變數#100~#149,#500~#531
各用戶宏程序內公用的變數
例:上例中#10改用#100時,B宏程序中的
X#100表示X20
#100~#149斷電後清空
#500~#531保持型變數(斷電後不丟失)
3. 系統變數
固定用途的變數,其值取決於系統的狀態
例:#2001值為1號刀補X軸補償值
#5221值為X軸G54工件原點偏置值
入時必須輸入小數點,小數點省略時單位為μm
一. 運算指令
運算式的右邊可以是常數、變數、函數、式子
式中#j,#k也可為常量
式子右邊為變數號、運算式
1. 定義
#I=#j
2. 算術運算
#I=#j+#k
#I=#j-#k
#I=#j*#k
#I=#j/#k
3. 邏輯運算
#I=#JOK#k
#I=#JXOK#k
#I=#JAND#k
4. 函數
#I=SIN[#j] 正弦
#I=COS[#j] 餘弦
#I=TAN[#j] 正切
#I=ATAN[#j] 反正切
#I=SQRT[#j]平方根
#I=ABS[#j]絕對值
#I=ROUND[#j]四捨五入化整
#I=FIX[#j]上取整
#I=FUP[#j]下取整
#I=BIN[#j]BCD→BIN(二進制)
#I=BCN[#j]BIN→BCD
1. 說明
1) 角度單位為度
例:90度30分為90.5度
2) ATAN函數後的兩個邊長要用「1」隔開
例:#1=ATAN[1]/[-1]時,#1為了35.0
3) ROUND用於語句中的地址,按各地址的最小設定單位進行四捨五入
例:設#1=1.2345,#2=2.3456,設定單位1μm
G91X-#1;X-1.235
X-#2F300;X-2.346
X[#1+#2];X3.580
未返回原處,應改為
X[ROUND[#1]+ROUND[#2]];
4) 取整後的絕對值比原值大為上取整,反之為下取整
例:設#1=1.2,#2=-1.2時
若#3=FUP[#1]時,則#3=2.0
若#3=FIX[#1]時,則#3=1.0
若#3=FUP[#2]時,則#3=-2.0
若#3=FIX[#2]時,則#3=-1.0
5) 指令函數時,可只寫開頭2個字母
例:ROUND→RO
FIX→FI
6) 優先順序
函數→乘除(*,1,AND)→加減(+,-,OR,XOR)
例:#1=#2+#3*SIN[#4];
7) 括弧為中括弧,最多5重,園括弧用於注釋語句
例:#1=SIN[[[#2+#3]*#4+#5]*#6];(3重)
一. 轉移與循環指令
1.無條件的轉移
格式:GOTO1;
GOTO#10;
2.條件轉移
格式:IF[<條件式>]GOTOn
條件式:
#jEQ#k 表示=
#jNE#k 表示≠
#jGT#k 表示>
#jLT#k 表示<
#jGE#k 表示≥
#jLE#k 表示≤
例:IF[#1GT10]GOTO100;
…
N100G00691X10;
例:求1到10之和
O9500;
#1=0
#2=1
N1IF[#2GT10]GOTO2
#1=#1+#2;
#2=#2+1;
GOTO1
N2M301.循環
格式:WHILE[<條件式>]DOm;(m=1,2,3)
…
…
…
ENDm
說明:1.條件滿足時,執行DOm到ENDm,則從DOm的程序段
不滿足時,執行DOm到ENDm的程序段
2.省略WHILE語句只有DOm…ENDm,則從DOm到ENDm之間形成死循環
3.嵌套
4.EQNE時,空和「0」不同
其他條件下,空和「0」相同
例:求1到10之和
O0001;
#1=0;
#2=1;
WHILE[#2LE10]DO1;
#1=#1+#2;
#2=#2+#1;
END1;
M30;
『貳』 法拉克G代碼(車床和加工中心),循環指令格式,指令格式要詳細,舉例子,宏程序怎麼弄的!要詳細 11
數控編程(數控技術)---標准G代碼與標准M代碼
數控機床標准G代碼
准備功能字是使數控機床建立起某種加工方式的指令,如插補、刀具補償、固定循環等。G功能字由地址符G和其後的兩位數字組成,從G00—G99共100種功能。JB3208-83標准中規定如下表:
表 准備功能字G
代碼 功能作用范圍 功能 代碼 功能作用范圍 功能
G00 點定位 G50 * 刀具偏置0/-
G01 直線插補 G51 * 刀具偏置+/0
G02 順時針圓弧插補 G52 * 刀具偏置-/0
G03 逆時針圓弧插補 G53 直線偏移注銷
G04 * 暫停 G54 直線偏移X
G05 * 不指定 G55 直線偏移Y
G06 拋物線插補 G56 直線偏移Z
G07 * 不指定 G57 直線偏移XY
G08 * 加速 G58 直線偏移XZ
G09 * 減速 G59 直線偏移YZ
G10-G16 * 不指定 G60 准確定位(精)
G17 XY平面選擇 G61 准確定位(中)
G18 ZX平面選擇 G62 准確定位(粗)
G19 YZ平面選擇 G63 * 攻絲
G20-G32 * 不指定 G64-G67 * 不指定
G33 螺紋切削,等螺距 G68 * 刀具偏置,內角
G34 螺紋切削,增螺距 G69 * 刀具偏置,外角
G35 螺紋切削,減螺距 G70-G79 * 不指定
G36-G39 * 不指定 G80 固定循環注銷
G40 刀具補償/刀具偏置注銷 G81-G89 固定循環
G41 刀具補償--左 G90 絕對尺寸
G42 刀具補償--右 G91 增量尺寸
G43 * 刀具偏置--左 G92 * 預置寄存
G44 * 刀具偏置--右 G93 進給率,時間倒數
G45 * 刀具偏置+/+ G94 每分鍾進給
G46 * 刀具偏置+/- G95 主軸每轉進給
G47 * 刀具偏置-/- G96 恆線速度
G48 * 刀具偏置-/+ G97 每分鍾轉數(主軸)
G49 * 刀具偏置0/+ G98-G99 * 不指定
註:*表示如作特殊用途,必須在程序格式中說明
數控機床標准M代碼
輔助功能字是用於指定主軸的旋轉方向、啟動、停止、冷卻液的開關,工件或刀具的夾緊和松開,刀具的更換等功能。輔助功能字由地址符M和其後的兩位數字組成。JB3208-83標准中規定如下表:
表 輔助功能字M
代碼 功能作用范圍 功能 代碼 功能作用范圍 功能
M00 * 程序停止 M36 * 進給范圍1
M01 * 計劃結束 M37 * 進給范圍2
M02 * 程序結束 M38 * 主軸速度范圍1
M03 主軸順時針轉動 M39 * 主軸速度范圍2
M04 主軸逆時針轉動 M40-M45 * 齒輪換檔
M05 主軸停止 M46-M47 * 不指定
M06 * 換刀 M48 * 注銷M49
M07 2號冷卻液開 M49 * 進給率修正旁路
M08 1號冷卻液開 M50 * 3號冷卻液開
M09 冷卻液關 M51 * 4號冷卻液開
M10 夾緊 M52-M54 * 不指定
M11 松開 M55 * 刀具直線位移,位置1
M12 * 不指定 M56 * 刀具直線位移,位置2
M13 主軸順時針,冷卻液開 M57-M59 * 不指定
M14 主軸逆時針,冷卻液開 M60 更換工作
M15 * 正運動 M61 工件直線位移,位置1
M16 * 負運動 M62 * 工件直線位移,位置2
M17-M18 * 不指定 M63-M70 * 不指定
M19 主軸定向停止 M71 * 工件角度位移,位置1
M20-M29 * 永不指定 M72 * 工件角度位移,位置2
M30 * 紙帶結束 M73-M89 * 不指定
M31 * 互鎖旁路 M90-M99 * 永不指定
M32-M35 * 不指定
註:*表示如作特殊用途,必須在程序格式中說明
[ 指令格式的說明 ]
指令 說 明
G17 指定圓弧在XpYp 平面
G18 指定圓弧在XpZp 平面
G19 指定圓弧在YpZp 平面
G02 順時針方向圓弧插補(CW)
G03 逆時針方向圓弧插補(CCW)
Xp__ X 軸或平行於X 軸的指令值(由參數No.1022 設定)
Yp__ Y 軸或平行於Y 軸的指令值(由參數No.1022 設定)
Zp__ Z 軸或平行於Z 軸的指令值(由參數No.1022 設定)
I__ 圓弧中心相對於起點的X 軸的距離(帶符號)
J__ 圓弧中心相對於起點的Y 軸的距離(帶符號)
K__ 圓弧中心相對於起點的Z 軸的距離(帶符號)
R__ 圓弧半徑指定的帶符號的圓弧半徑
F__ 沿圓弧的進給率
G 代碼組別 功能附註
G00 01 快速定位 模態
G01 直線插補 模態
G02 順時針圓弧插補 模態
G03 逆時針圓弧插補 模態
G04 00 暫停 非模態
*G10 數據設置 模態
G11 數據設置取消 模態
G17 16 XY平面選擇 模態
G18 ZX平面選擇(預設) 模態
G19 YZ平面選擇 模態
G20 06 英制(in) 模態
G21 米制(mm) 模態
*G22 09 行程檢查功能打開 模態
G23 行程檢查功能關閉 模態
*G25 08 主軸速度波動檢查關閉 模態
G26 主軸速度波動檢查打開 非模態
G27 00 參考點返回檢查 非模態
G28 參考點返回 非模態
G31 跳步功能 非模態
*G40 07 刀具半徑補嘗取消 模態
G41 刀具半徑左補嘗 模態
G42 刀具半徑右補嘗 模態
G43 00 刀具長度正補嘗 模態
G44 刀具長度負補嘗 模態
G45 刀具長度補嘗取消 模態
G50 00 工件坐標原點設置,最大主軸速度設置 非模態
G52 局部坐標系設置 非模態
G53 機床坐標系設置 非模態
*G54 14 第一工件坐標系設置 模態
G55 第二工件坐標系設置 模態
G56 第三工件坐標系設置 模態
G57 第四工件坐標系設置 模態
G58 第五工件坐標系設置 模態
G59 第六工件坐標系設置 模態
G65 00 宏程序調用 非模態
G66 12 宏程序模態調用 模態
*G67 宏程序模態調用取消 模態
G73 00 高速深孔鑽孔循環 非模態
G74 工旋攻螺紋循環 非模態
G75 精鏜循環 非模態
*G80 10 鑽孔固定循環取消 模態
G81 鑽孔循環
G84 攻螺紋循環 模態
G85 鏜孔循環??
G86 鏜孔循環 模態
G87 背鏜循環 模態
G89 鏜孔循環 模態
G90 01 絕對坐標編程 模態
G91 增量坐標編程 模態
G92 工件坐標原點設置 模態
註:1.當機床電源打開或按重置鍵時,標有"* "符號的G代碼被激活,即預設狀態。
2 . 不同組的G代碼可以在同一程序段中指定;如果在同一程序段中指定同組G代碼,.最後指定的G代碼有效。
3.由於電源打開或重置,使系統被初始化時,已指定的G20或G21代碼保持有效.
4.由於電源打開被初始化時,G22代碼被激活;由於重置使機床被初始化時, 已指定的G22或G23代碼保持有效.
編碼字元的意義
字元 意義
A 關於X軸的角度尺寸
B 關於Y軸的角度尺寸
C 關於Z軸的角度尺寸
D 刀具半徑偏置號
E 第二進給功能(即進刀速度,單位為 mm/分鍾)
F 第一進給功能(即進刀速度,單位為 mm/分鍾)
G 准備功能
H 刀具長度偏置號
I 平行於X軸的插補參數或螺紋導程
J 平行於Y軸的插補參數或螺紋導程
L 固定循環返回次數或子程序返回次數
M 輔助功能
N 順序號(行號)
O 程序編號
P 平行於X軸的第二尺寸或固定循環參數
Q 平行於Y軸的第三尺寸或固定循環參數
R 平行於Z軸的第三尺寸或循環參數圓弧的半徑
S 主軸速度功能(表標轉速,單位為 轉/分)
T 第一刀具功能
U 平行於X軸的第二尺寸
V 平行於Y軸的第二尺寸
W 平行於Z軸的第二尺寸
X 基本尺寸
Y 基本尺寸
Z 基本尺寸
FANUC數控系統的准備功能M代碼及其功能
M代碼 功能 附註
M00 程序停止 非模態
M01 程序選擇停止 非模態
M02 程序結束 非模態
M03 主軸順時針旋轉 模態
M04 主軸逆時針旋轉 模態
M05 主軸停止 模態
M06 換刀 非模態
M07 冷卻液打開 模態
M08 冷卻液關閉 模態
M30 程序結束並返回 非模態
M31 旁路互鎖 非模態
M52 自動門打開 模態
M53 自動門關閉 模態
M74 錯誤檢測功能打開 模態
M75 錯誤檢測功能關閉 模態
M98 子程序調用 模態
M99 子程序調用返回 模態
『叄』 宏程序是什麼
一.計算機中的「宏」 什麼是宏
計算機科學里的宏是一種抽象,它根據一系列預定義的規則替換一定的文本模式。Excel 辦公軟體自動集成了「VBA」高級程序語言,用此語言編制出的程序就叫「宏」。使用「VBA」需要有一定的編程基礎和耗費大量的時間,因此,絕大多數的使用者僅使用了Excel的一般製表功能,很少使用到「VBA」。
解釋器或編譯器在遇到宏時會自動進行這一模式替換。對於編譯語言,宏展開在編譯時發生,進行宏展開的工具常被稱為宏展開器。宏這一術語也常常被用於許多類似的環境中,它們是源自宏展開的概念,這包括鍵盤宏和宏語言。絕大多數情況下,使用「宏」這個詞的使用暗示著將小命令或動作轉化為一系列指令。
宏的用途在於自動化頻繁使用的序列或者是獲得一種更強大的抽象能力--但這常常是一回事。
計算機語言如C或匯編語言有簡單的宏系統,由編譯器或匯編器的預處理器實現。C的宏預處理器的工作只是簡單的文本搜索和替換,使用附加的文本處理語言如M4,C 程序員可以獲得更精巧的宏。
Lisp類語言如Common Lisp和Scheme有更精巧的宏系統: 宏的行為如同是函數對自身程序文本的變形,並且可以應用全部語言來表達這種變形。一個C宏可以定義一段語法的替換,然而一個Lisp的宏卻可以控制一節代碼的計算。
獲得了控制代碼的執行順序(見惰性計算和非限制函數)的能力,使得新創建的語法結構與語言內建的語法結構不可區分。例如,一種Lisp 方言有 cond 而沒有if ,就可以使用宏由前者定義後者。Lisp 語法的去部主要擴展,比如面向對象的CLOS 系統,可以由宏來定義。
宏的典型應用
加速日常編輯和格式設置
組合多個命令
使對話框中的選項更易於訪問
使一系列復雜的任務自動執行
宏編程介紹
在用一種不熟悉的宏語言進行宏編程時,可以這樣做,首先記錄下用戶想要宏完成什麼,然後打開宏文件並嘗試理解命令結構如何工作。也可以修改命令以調整宏。一些宏語言,比如Great Plains賬務(?accounting)軟體的 Dexterity 運行時引擎,不能從其它數據源(如由逗號分隔的文本文件)導入數據。這一限制可以通過用更強大的編程語言,如 VBA 來創建一個計算機程序在此弱編程語言里生成一個特別的宏來解決。例如,可以對 Microsoft Excel 宏編程從擴展樣式表或文本文件中讀取數據並創建 Great Plains .mac 文件,這一文件被用於將特定的數據導入 Great Plains. 需要針對每一個新的數據集合聲稱新的 .mac 文件。
鍵盤宏
鍵盤宏和編輯器宏分別在圖形用戶界面和編輯器中被互動式地使用。使用它們可以用簡短的擊鍵代替冗長的命令序列,並為重復性任務提供了一個簡單的自動化形式。
程序員的文本編輯器 Emacs (「編輯宏」[Editing MACroS]的簡稱)是沿用這一思想的產物。事實上,大多數編輯器是由宏組成的,Emacs 最初被設計為編輯語言 TECO 的宏集,後被移植為 Lisp 的一中方言 Emacs Lisp。
宏語言
宏語言是一類編程語言,其全部或多數計算是由擴展宏完成的。宏語言並未在通用編程中廣泛使用,但在文本處理程序中應用普遍。例如,
C preprocessor C 預處理器
Internet Macros(iOpus)
M4(如前所述,源於AT&T,捆綁於Unix)
宏定義
c程序提供的預處理功能之一。包括帶參數的宏定義和不帶參數的宏定義。具體是指用一個指定的標志符來進行簡單的字元串替換或者進行闡述替換。形式為:
#define 標志符(參數表) 字元串
宏名
在上定義中的標志符被稱為「宏名」。
宏展開
在c程序編譯時將宏名替換成字元串的過程稱為「宏展開」。
微軟Word和宏病毒
Visual Basic for Applications (VBA),是 Microsoft Office 里的一種編程語言. 但由上面的定義,它完全不是一種宏語言。然而,它的功能已經從中發展並最終替代了用戶應用程序的宏思想,所以他被廣泛地錯誤地稱為是一種宏語言。
VBA 可以訪問許多操作系統函數並支持文檔打開時自動執行宏。這使得用這種語言寫計算機病毒成為可能。1990年代中後期,宏病毒成為了最流行的計算機病毒類型之一。其它的包括宏語言的項目,如openoffice.org,故意從其宏語言中排除了一些功能(如:自動執行)以避免破壞程序。然而,這一特性在很多事務中受到歡迎。 來自「網路知道」
『肆』 數控編程g代碼m代碼分別有什麼
G代碼詳解
G00 快速定位 (機床由設定的最快速度進行程序坐標點的定位,FANUC系統由參數1420#設定最高移動速度,單位為m/min)
G01 直線插補(由程序中給定的速度進行直線或斜線插補,單位為mm/r 或 mm/min。在採用每轉進給時,也能計算出每分鍾進給。由每轉進給值乘以轉速。如採用每分鍾進給同樣也能計算出每轉進給,每分鍾進給值除以轉數。注1422#參數中設定最大的切削速度,單位為m/min。只有在特定情況下修改,如加工大的螺距。)
G02 順時針圓弧插補 (和時鍾的轉向相同的方向為順時針。判斷方法1. 編程時辨別
方法是以後刀架為依據,後刀架用什麼指令前刀架就用什麼指令,切忌以前刀架去判斷。
方法2. 以圖紙的中心線為准,按圖紙的上半部分編程)
G03 逆時針圓弧插補,(判斷方法與G02相同)
G04 暫停指令 (G04為程序的暫停,格式為 G04 X 或G04 U 或G04 P,X和U的單位為秒,P的單位為毫秒. G04 X1.; 表示暫停1秒
G04 U1.; 表示暫停1秒
G04 P1000;表示暫停1秒。
註:有的機床在主軸停止狀態下不執行暫停指令,只有在主軸旋轉下才執行。
G07 圓柱插補(只有機床在帶有C軸功能下才能使用,C軸:主軸可以做分度)
G10 可編程數據輸入(1.可以執行參數的輸入。格式 G10 L50 N_ P_ R_;
L50代表參數的輸入,N代表要選擇的參數號,P代表要選擇的
軸, P1表示選擇X軸,P2為Z軸。R代表修改的數值,如選擇的不是跟軸有關的參數,P值不要輸入。
2. G10 P_ X_ Z_ R_ Q_;
P代表磨耗值或形狀值,如P1則表示要修改001的磨耗,如果P1的前面+10000,那就代表形狀的修改,P10001表示修改001的形狀值。X 和Z分別代表絕對值的輸入,若選用增量值輸入,用U或W表示。R代表刀尖半徑。Q代表刀尖方向。
3.G10 L2 P_ X_ Z_。L2代表工件坐標系選擇,P代表所選擇的坐標系,P1表示選擇G54坐標。P1~P6對應的G54~G59。X和Z代表要輸入的值。★G10還有部分功能不會用,沒有在實踐中證實。
G11 可編程數據輸入取消(在執行完G10之後執行G11,取消G10輸入狀態)
G17~G19 加工平面選擇(G17代表XY平面,G18為XZ平面,G19為YZ平面。車床都是採用G18,XZ平面。開機默認,無需輸入。)
G20 英制輸入 不採用 (每英寸等於25.4mm)
G21 公制輸入 採用公制輸入,開機默認,無需輸入
G22 行程檢測開關打開
G23 行程檢測開關關閉
G25 主軸速度波動檢測開
G26 主軸速度波動檢測關
G27返回參考點檢測 (基本不用)
G28 返回機床參考點(格式 G28 U0 W0;採用增量編碼器的機床執行G28時是靠壓行程
開關去完成。而絕對編碼器的機床在執行G28時是返回到參數設定的值,1240#參數
設定機床參考點)
G30 返回第二、第三、第四參考點(格式 G30 PI U0 W0;,PI表示第二參考點,P2表示
第三參考點,P3表示第四參考點,數值由參數設定,依次對應的參數是,1241#、
1242#、1243#參數)
G31 跳轉功能 (暫不會)
G32 單步螺紋車削(格式:G32 Z-100. F2.:F代表螺距)
G32也可以執行連續的螺紋車削或無規律的變螺距車削:
連續螺紋車削格式: G32 Z-30. F2.;
G32 X 50. Z-50. F2.;
G32 Z-80. F2.;
無規律變螺距車削格式:G32 Z-10 F10.:
G32 W-22. F22;
G32 W-35. F35.;
執行端面螺紋的加工 格式:G0 X50.;
Z-0.5;
G32 X20. F2.;
G0 Z 2.;
X 50.;
Z-1.;
G32 X 20. F2.;
G0 Z100.;
G32通過主軸分度的功能執行多頭螺紋的加工
格式:G32 Z_ F_ Q_; Q代表主軸旋轉的角度,無小數點。比如主軸分度180度,Q為180000。註:由3451#參數#0號參數控制主軸是否執行分度功能,1為執行,0為不執行。
列舉實例:通過宏程序加工一個右旋80頭,左旋80頭的螺紋。
O0024;
M3 S100 T101;
#1=0;
G0 X206. Z15.;
N10 #2=204.2;
WHILE [#2 GE 202.4 ]DO1;
G0 X#2;
G32 Z-150. Q#1 F237.;
G32 Z15. Q#1 F237.;
#2=#2-1;
END1;
#1=#1+4500;
IF [#1 LE3 55500] GOTO10;
G0 Z200.;
M30;
通過主軸分度功能G32還可以加工8字油溝,注意:螺距大,轉數低。
G32還可以執行中間螺紋的加工,要注意的是要用G32格式45度切入,再45度切出,(以預防扎刀)
註:在加工螺紋時出現亂扣現象,排除不是程序的問題後,1.要查看主軸的編碼器的定位銷是否串動,2.編碼器是否損壞。3.主軸皮帶是否打滑和斷裂。
G34 變螺距螺紋車削(格式:G34 Z_ F_ K_,K代表主軸每轉一圈所增加的螺距差,K
為負值時表示主軸每轉一圈所減小的螺距差。若K為1時,表示主軸每轉一圈就增加1
個螺距。)
G40 刀尖圓弧半徑的取消
G41 刀尖圓弧半徑左補償 (判斷左右補償都是依據後置刀架去判斷後刀架用什麼補償
前刀架就用什麼。判斷方法是:順著刀具的運動方向看,刀具所在工件的左邊或右邊,左
為G41,右為G42。包括判斷刀尖假象的8個方向也是以後刀架為准。)
G42 刀尖圓弧半徑右補償 (判斷方法同G41一樣)
G50 浮動坐標系的建立和主軸最高轉數的限制(浮動坐標系的建立方法比如工件的直
徑為50,手輪方式刀尖靠在外圓,在相對坐標U值清零,手輪方
式搖到相對坐標X軸100的位置,MDI方式下輸入X 150。對Z軸的方法同對X軸的方
法相同。以此刀為基準刀,對其他刀時參照相對坐標的數值去反。在程序的開頭應先輸入
G50 X150. Z150.;程序結束後,刀具也應該停止在此位置。切忌不可移動位置, 如移
動了位置後再啟動程序,容易發生撞車事故。
G50主軸最高轉數的限制:在使用G96恆線速時,隨著切削直徑的減小,主軸的轉數會不斷的升高,所以用G50限制最高轉數。必須在G96之前輸入,格式:G50 S2000;表示主軸轉數每分最高2000轉。
G52 局部坐標系的設定(不使用)
G53 機械坐標系 (不使用)
G54 工件坐標系 (機床默認為G54工件坐標系,無需輸入,如選用其他坐標系,程序
里必須輸入要執行的坐標系,如G55~G59。)
G55~G59 工件坐標系 (為簡化編程和最大的滿足零件的加工需求,應靈活運用工件
坐標系。)
舉例:如運用G54~G59功能再配合子程序調用功能或宏程序功能加工帶有多處切槽或多次切斷的工件時都很方便,效率也高。註:如機床的G54里Z向輸入-1.而想在G55坐標系相對G54坐標再進一個。那G55坐標系中Z向就為-2.,而不是輸入-1。)
G65 宏程序非模態調用(格式:G65 P_ X_ Z_ A_ B_ C_ L_;G65為自變數,直接對相對應的變數號賦值,被調用的程序內無需再賦值。X對應#24,Z對應#26,A對應#1,B對應#2.C對應#3。L表示被調用的次數,如不輸入L,表示只調用一次,無需輸入。P表示被調用的程序號,如果被調用的程序號為9000以後,而再用參數把9000以後的程序隱藏,那麼機床只運行被調用的程序,但看不到被調用程序的內容。註:被調用的程序最多可以4級鑲套,被調用的程序可以再調用程序。被調用的程序結束符為M99。)
G66 宏程序模態調用(格式相同,但不同於G65的是G66為模態調用,當執行完被調用的程序,返回到主程序時,若主程序段出現軸移動,如G0或G1,那麼它執行完軸移動後再去調用宏程序,直到主程序中出現G67,才能停止調用。)
G67 取消宏程序模態調用
G68 鏡像開 (打開鏡像功能時,X軸的正向為負,負向為正。此功能多用在雙刀架
的機床上)
G69 鏡像關
G71外圓粗車循環(格式:G71 U_ R_;
G71 P_ Q_ U_ W_ F_;
第一行G71中的U代表X向每次粗車量,半徑值表示。 R代表退刀量。
第二行G71中的P代表粗加工程序中第一個程序段的順序號。Q代表粗加工程序中最後一個程序段的順序號。U代表X向精車留量,為半徑值表示。W代表Z向精車留量。F代表粗車的走刀量。
完整的格式為:G0 X100. Z3.;
G71 U1.5 R0.5;
G71 P1 Q100 U0.4 W0.1 F0.3;
N1 G0 X50.;
….
….
N100 G0 X 100.
G72 端面粗車循環(格式:G72 W_ R_;
G72 P_ Q_ U_ W_ F_;
與G71不同的是G72格式第一行中的W代表Z向的每次粗車量。其餘的代碼指令一樣。註:編程思路也有所不同,G72是從後往前編,就是確定了圖紙的加工線路以後,從終點向起點編寫程序。做粗車時是從端面開始下刀,從前向後走,當粗加工完成給精車留量時,刀具再從後先前走,目的是為了精車的留量均勻。當實行精車時,走刀路線也是從後往前走。)
G73 仿形粗車循環(格式:G73 U_ W_ R_;
G73 P_ Q_ U_ W_ F_;
第一行中的U值代表毛坯總的去除量,用最大直徑減最小直徑再除以2,就是U值。W值根據工件的形狀可以隨意給,如果端面量比較大,那麼W值就相對大一些,如果量很小,W值可以取小一些,有些情況下W可以不要,直接取0值。R值代表循環的次數,無小數點輸入。R值越大,循環次數越多,每次的吃刀量也就越小,反之亦然。)
G70 精車循環 (格式:G70 P_ Q_ S_ F_ ;執行G71~G73的精車循環
註:在G71~G73循環的程序中即便輸入了G41或G42也不進行刀尖半徑的補償,只有在G70精車循環中才執行,所以在加工凹圓弧時要注意出現過切現象,同樣在執行粗車循環的程序段內的S和F值為無效,只有在G70 精車中有效。(通過修改參數5102#4可以執行G71~G73半精加工的刀尖半徑補償)
執行G71~G73指令加工外徑時,其循環前的定位點必須大於毛坯尺寸,加工內孔時,定位點必須小於毛坯尺寸的最小孔徑。執行G71粗車循環時的第一個程序段必須為X向的單軸移動。G72端面粗車循環時的第一個程序段必須為Z向的單軸移動。
G74 端面切槽循環(格式:G74 R_;
G74 X_ Z_ P_ Q_ R_ F_;
G74為斷續進刀,其目的是為了保證排削流暢和減少刀具阻力,避免扎刀。
第一行中的R值代表每次切深的回退量,即退刀量。
第二行中的X代表X向的終點坐標,Z為Z向的終點坐標,P為X向的每次吃刀量。(無小數點輸入,即P1000=1mm。)Q為Z向的每次吃刀量(無小數點輸入。)R為X向的退刀量(退刀時為了避免刀具撞到工件,第二行中的R值要慎用,或根本不用)F為走刀量。合理運用G74功能也可以實現端面等距槽的加工和端面鑽孔循環。註:在使用端面切槽循環和端面等距槽加工時要正確計算刀寬,否則將會造成工件報廢。
列舉實例:1.端面槽加工(直徑φ20加工到φ50槽深為10mm的端面槽,刀寬為5mm,以內側刀尖為對刀點。由內向外加工)
程序 G0 X 20. Z 1.;
G75 R 0.2;
G75 X 40. Z-10. P 4500 Q2000 F0.2;
G0 Z 100.;
M30;
2. 端面等距槽加工(直徑φ150加工到φ80槽寬為5mm,間距為10mm,槽深為8mm,刀寬為5mm,以外側刀尖為對刀點。由外向內加工)
程序:G0 X 150. Z 1.
G75 R 0.1;
G75 X 90. Z-8. P10000 Q2000 F0.2
G0 Z100.;
M30;
3. 端面鑽孔循環:鑽φ20深30的孔
程序:G0 X0 Z5.
G75 R0.5;
G75 Z-30. Q3000 F0.2;
G0 Z100.;
M30;
G75 徑向切槽循環(與G74不同的是若使用鑽孔循環功能只有在帶有動力頭的刀架和主軸有C軸功能的機床上才能實現,如車銑中心)
G76 螺紋復式循環(G76為斜進式進刀,單刀刃進行切削(趕刀切削),其目的是為了減少刀具抗力,避免出現扎刀、崩刀。適用於加工比較大的螺距。
格式:G76 P_ Q_ R_;
G76 X_ Z_ P_ Q_ R_ F_;
第一行中P值由六位數組成,頭兩位為精車次數,中間兩位為尾退量,後兩位為螺紋刀的角度,Q為粗車時的最小吃刀量(半徑值表示,代表單邊吃深,無小數點輸入)R為精車留量(半徑值表示,代表單邊留量,帶小數點)。
第二行中X位X向的終點坐標,Z為Z向的終點坐標,P為牙高(半徑值表示,代表單邊牙高,無小數點輸入),Q為第一刀的吃深(半徑值表示,代表單邊吃深,無小數點輸入),R為大小徑的半徑差(只有加工錐螺紋時使用),F為螺距。
G80 取消鑽孔循環
G83 鑽孔循環 格式:G83 Z_ Q_ P_ R_ K_ F_;Z為鑽孔深度,Q為每次鑽深(無小數點輸入),P為暫停時間(無小數點輸入),R為安全平面到起點的距離(數控銑或車銑中心使用,數控車床基本不用)。K為鑽孔的次數(數控銑或車銑中心使用,數控車床基本不用)。F為進給量。註:在加工深孔時為了實現斷削、排削,5114#參數設定每次鑽深後的回退距離(無小數點輸入)。
G84 剛性攻絲循環 格式:G84 Z_ F_; Z為攻絲深度,F為螺距。攻絲循環的執行動作:主軸正轉→絲錐加工到尺寸→主軸暫停→主軸反轉→絲錐退出。
★ 註:在執行G70~G84的循環指令時先輸入循環的定位點,即G0或G1。當循環結束後,先返回到定位點後再執行下面的程序。
G90 單一車削循環 格式:G90 X_ Z_ F_; X 和Z為地址值,即絕對值坐標。F為進給量。執行一段程序機床實現4個動作,X向尺寸快速定位→切削→以切削方式退出→Z向定位。
實線為切削進給,虛線為快速定位
程序:
G0 X 100. Z2.;
G90 X 95. Z-50. F0.3;
X 92.;
X 90.;
G0 X 150. Z150.
G90 錐面單一切削循環 格式:G90 X _ Z_ R_ F_; R為大小徑之差,半徑值表示。在編程時只給出X向的終點坐標,起點坐標通過R值機床自動計算,R帶正負號,判斷正負的方法是X值的終點尺寸相對於起點尺寸,終點尺寸大於起點尺寸R為負值,終點尺寸小於起點尺寸R為正值。
圖1
如圖1:加工1:5的錐面,程序如下:
G0 X85. Z 2.;
G90 X 70. Z-100. R-10.2 F0.3;
X 60.;
X 50.;
G0 X 100. Z100.;
M30;
G92 單一螺紋循環 格式:G92 X_ Z_ F_ X和Z為地址值即絕對值坐標,F為螺距。
執行一段程序機床實現4個動作,X向尺寸快速定位→切削→以G0方式退出→Z向定位。若加工無退刀槽螺紋實現螺紋的尾退功能時, 5130#參數設置尾退量,5131#參數設置尾退角度。走刀方式見下圖2:
圖2
G92 單一錐面螺紋循環 格式:G92 X_ Z_ R_ F_; 與G90不同的是G92的F為螺距。
列舉實例:加工如圖3的螺紋,螺距為2MM.
圖3
程序:G0 X 25. Z 5.;
G92 X 27. Z-52. R1.78 F2.;
X 27.5
X 28.
X 28.38;
G0 X 100. Z100.;
M30;
G94 端面單一循環 格式:G94 X_ Z_ F_; 除走刀路線不與G90和G92不同,其餘基本相同。
G94 錐面單一循環 格式:G94 X_ Z_ R_ F_; 除走刀路線不與G90和G92不同,其餘基本相同。G94端面單一循環走刀路徑見下圖4:
圖4為G94走刀方式,實線為
切削方式,虛線為快速定位方式
G96 恆線速切削 格式:G96 S_; S為切削速度,單位為m/min。在車削球面或端面時為保證表面粗糙度時執行G96功能,為了保證恆線速的一致,主軸的轉數會隨著徑向的尺寸變化而變化,徑向尺寸越小,主軸轉數越高,反之亦然。註:G96為模態代碼。
線速度的計算公式為:
主軸速度的計算:
G97 取消恆線速 格式:G97 S_; 即取消G96恆線速功能,S為主軸r/min。註:G97為模態功能。
G98 每分鍾進給
G99 每轉進給 註:3402參數#4為開機默認方式0,0為每轉進給G99,1為每分鍾進G98.
M代碼 功 能
M00 程序停止
M01 條件程序停止
M02 程序結束
M03 主軸正轉
M04 主軸反轉
M05 主軸停止
M06 刀具交換
M08 冷卻開
M09 冷卻關
M18 主軸定向解除
M19 主軸定向
M29 剛性攻絲
M30 程序結束並返回程序頭
M98 調用子程序
M99 子程序結束返回/重復執行
『伍』 數控編程中什麼是宏程序
宏就是用公式來加工零件的,比如說橢圓,如果沒有宏的話,我們要逐點算出曲線上的點,然後慢慢來用直線逼近,如果是個光潔度要求很高的工件的話,那麼需要計算很多的點,可是應用了宏後,我們把橢圓公式輸入到系統中然後我們給出Z坐標並且每次加10um那麼宏就會自動算出X坐標並且進行切削,實際上宏在程序中主要起到的是運算作用..宏一般分為A類宏和B類宏.A類宏是以G65
Hxx
P#xx
Q#xx
R#xx的格式輸入的,而B類宏程序則是以直接的公式和語言輸入的和C語言很相似在0i系統中應用比較廣.
『陸』 數控車床編程代碼是什麼
數控車床編程代碼如下:
M03 主軸正轉
M03 S1000 主軸以每分鍾1000的速度正轉
M04主軸逆轉
M05主軸停止
M10 M14 。M08 主軸切削液開
M11 M15主軸切削液停
M25 托盤上升
M85工件計數器加一個
M19主軸定位
M99 循環所以程式
G 代碼
G00快速定位
G01主軸直線切削
G02主軸順時針圓壺切削
G03主軸逆時針圓壺切削
G04 暫停
G04 X4 主軸暫停4秒
G10 資料預設
G28原點復歸
G28 U0W0 ;U軸和W軸復歸
G41 刀尖左側半徑補償
G42 刀尖右側半徑補償
G40 取消
G97 以轉速 進給
G98 以時間進給
G73 循環
G80取消循環 G10 00 數據設置 模態
G11 00 數據設置取消 模態
G17 16 XY平面選擇 模態
G18 16 ZX平面選擇 模態
G19 16 YZ平面選擇 模態
G20 06 英制 模態
G21 06 米制 模態
G22 09 行程檢查開關打開 模態
G23 09 行程檢查開關關閉 模態
G25 08 主軸速度波動檢查打開 模態
G26 08 主軸速度波動檢查關閉 模態
G27 00 參考點返回檢查 非模態
G28 00 參考點返回 非模態
G31 00 跳步功能 非模態
G40 07 刀具半徑補償取消 模態
G41 07 刀具半徑左補償 模態
G42 07 刀具半徑右補償 模態
G43 17 刀具半徑正補償 模態
G44 17 刀具半徑負補償 模態
G49 17 刀具長度補償取消 模態
G52 00 局部坐標系設置 非模態
G53 00 機床坐標系設置 非模態
G54 14 第一工件坐標系設置 模態
G55 14 第二工件坐標系設置 模態
G59 14 第六工件坐標系設置 模態
G65 00 宏程序調用 模態
G66 12 宏程序調用模態 模態
G67 12 宏程序調用取消 模態
G73 01 高速深孔鑽孔循環 非模態
G74 01 左旋攻螺紋循環 非模態
G76 01 精鏜循環 非模態
G80 10 固定循環注銷 模態
G81 10 鑽孔循環 模態
G82 10 鑽孔循環 模態
G83 10 深孔鑽孔循環 模態
G84 10 攻螺紋循環 模態
G85 10 粗鏜循環 模態
G86 10 鏜孔循環 模態
G87 10 背鏜循環 模態
G89 10 鏜孔循環 模態
G90 01 絕對尺寸 模態
G91 01 增量尺寸 模態
G92 01 工件坐標原點設置 模態
『柒』 fanuc加工中心G65 G67是啥回事,還有M29這個指令加入程序中起到什麼樣的作用 還有M07後面怎樣加上時間指令
G65是調用宏程序。M29是剛性攻牙加在G84的前一個單節。M07是加工吹氣,和M08用法一樣。