1. 數控宏程序怎麼編
找本書看看,另外你要懂得曲線方程,等一些數學問題。 給你舉個例子看看先。 宏程序編程
一 變數
普通加工程序直接用數值指定G代碼和移動距離;例如,GO1和X100.0。使用用戶宏程序時,數值可以直接指定或用變數指定。當用變數時,變數值可用程序或用MDI面板上的操作改變。
#1=#2+100 G01 X#1 F300 說明: 變數的表示
計算機允許使用變數名,用戶宏程序不行。變數用變數符號(#)和後面的變數號指定。
例如:#1 表達式可以用於指定變數號。此時,表達式必須封閉在括弧中。
例如:#[#1+#2-12] 變數的類型 變數根據變數號可以分成四種類型
變數號 變數類型 功能 #0 空變數 該變數總是空,沒有值能賦給該變數. #1-#33 局部變數 局部變數只能用在宏程序中存儲數據,例如,運算結果.當斷電時,局部變數被初始化為空.調用宏程序時,自變數對局部變數賦值, #100-#199 #500-#999
公共變數 公共變數在不同的宏程序中的意義相同.當斷電時,變數#100-#199初始化為空.變數#500-#999的數據保存,即使斷電也不丟失. #1000 系統變數 系統變數用於讀和寫CNC運行時各種數據的變化,例如,刀具的當前位置和補償值. 變數值的范圍 局部變數和公共變數可以有0值或下面范圍中的值: -1047到-10-29或-10-2到-1047 如果計算結果超出有效范圍,則發出P/S報警NO.111. 小數點的省略 當在程序中定義變數值時,小數點可以省略。
例:當定義#1=123;變數#1的實際值是123.000。 變數的引用 為在程序中使用變數值,指定後跟變數號的地址。當用表達式指定變數時,要把表達式放在括弧中。
例如:G01X[#1+#2]F#3; 被引用變數的值根據地址的最小設定單位自動地舍入。
例如:
當G00X#/;以1/1000mm的單位執行時,CNC把123456賦值給變數#1,實際指令值為G00X12346. 改變引用變數的值的符號,要把負號(-)放在#的前面。
例如:G00X-#1 當引用未定義的變數時,變數及地址都被忽略。
例如:當變數#1的值是0,並且變數#2的值是空時,G00X#1 Y#2的執行結果為G00X0。
雙軌跡(雙軌跡控制)的公共變數 對雙軌跡控制,系統為每一軌跡都提供了單獨的宏變數,但是,根據參數N0.6036和6037的設定,某些公共變數可同時用於兩個軌跡。
未定義的變數 當變數值未定義時,這樣的變數成為空變數。變數#0總是空變數。它不能寫,只能讀。
引用 當引用一個未定義的變數時,地址本身也被忽略。
當#1=
當#1=0 G90 X100 Y#1 G90 X100 G90 X100 Y#1 G90 X100 Y0 (b) 運算
除了用賦值以外,其餘情況下與0相同。
當#1=時
當#1=0時
#2=#1 #2= #2=#1 #2=0 #2=#*5 #2=0 #2=#*5 #2=0 #2=#1+#1 #2=0 #2=#1+#1 #2=0 (c)條件表達式
EQ和NE中的不同於0。
當#1=時
當#1=0時
#1EQ#0 成立
#1EQ#0 不成立
#1 NE #0 成立
#1 NE #0 不成立
#1 GE #0 成立
#1 GE #0 不成立
#1 GT #0 不成立
#1 GT #0 不成立
限制 程序號,順序號和任選程序段跳轉號不能使用變數。
例:下面情況不能使用變數:
0#1;
/#2G00X100.0; N#3Y200.0; 二 算術和邏輯運算
下面表中列出的運算可以在變數中執行。運算符右邊的表達式可包含常量和或由函數或運算符組成的變數。表達式中的變數#j和#k可以用常數賦值。左邊的變數也可以用表達式賦值。
說明:
角度單位 函數SIN ,COS,ASIN,ACOS,TAN和ATAN的角度單位是度。如90°30'表示為90.5度。 ARCSIN # i= ASIN[#j]
(1)取值范圍如下:
當參數(NO.6004#0)NAT位設為0時,270°~90°
當參數(NO.6004#0)NAT位設為1時,-90°~90°
(2)當#j超出-1到1的范圍時,發出P/S報警NO.111. (3)常數可替代變數#j ARCCOS #i=ACOS[#j] 取值范圍從180°~0° 當#j超出-1到1的范圍時,發出P/S報警NO.111. 常數可替代變數#j 三 程序舉例 銑橢圓:
軌跡:
橢圓程序代碼如下: N10 G54 G90 G0 S1500 M03 N12 X0 Y0 Z20. N14 G0 Z1 N16 G1 Z-5. F150. N18 G41 D1 N20 #1=0 N22 #2=34 N24 #3=24 N26 #4=#2*COS[#1] N28 #5=#3*SIN[#1] N30 #10=#4*COS[45]-#5*SIN[45] N32 #11=#4*SIN[45]+#5*COS[45] N34 G1 X#10 Y#11
N36 #1=#1+1 N38 IF [#1 LT 370] GOTO26 N40 G40 G1 X0 Y0
N42 G0 Z100 N44 M30
銑矩形槽:
銑矩形槽代碼如下: #102=0. N3#100=0. #101=0. #103=200. #104=400. G91G28Z0. G0G90G54X0.Y0. G43H1Z20. M3S2000. N4G0X#100Y#101 G01Z#102F200. #102=#102-2. IF[#102EQ-50.]GOTO1 GOTO2 N2 N4X#104F500. Y#103 X#100 Y#101 #100=#100+10. #101=#101+10. #103=#103-10. #104=#104-10. IF[#100EQ100.]GOTO3 GOTO4 N3 N1 M5 M9 G91G28Z0. G28Y0. M30 銑傾斜3度的面:
軌跡:
銑傾斜3度的面的代碼如下: O0001 #[#1+1*2]=1 G65P9012L1A0B0.1C4I100J3K0 M30 宏程序O9012代碼如下: G54 G90 G00 X[#3] Y0 Z100 S500 M3 G01 Z0 F300 WHILE[#1LE10]DO1 #7= #1/TAN[#5]+#3 G1Z-#1 X#7 #8=#6/2-ROUND[#6/2] IF[#8EQ0]GOTO10 G1Y0
GOTO20 N10 Y#4 N20#1=#1+#2 #6=#6+1 END1 G0
Z100 銑半球:
軌跡:
銑半球代碼如下: G90G0G54X-10.Y0M3S4500 G43Z50.H1M8 #1=0.5 WHILE[#1LE50.]DO1 #2=50.-#1 #3=SQRT[2500.-[#2*#2]] G1Z-#1F20 X-#3F500 G2I#3 #1=#1+0.5 END1 G0Z50.M5 M30 銑喇叭:
銑喇叭代碼如下: M03 S500 M06 T01 #1=0 #2=0 G0 Z15 X150 Y0 N11 #2=30*SIN[#1] #3=30+30*[1-COS[#1]] G01 Z-#2 F40 G41 X#3 D01 G03 I-#3 G40 G01 X150 Y0 #1=#1+1 IF [#1 LE 90] GOTO 11 G0 Z30 M30
2. 數控車床宏程序怎麼用
宏程序就是變數 就跟有些計算機語言有點相似了 其實都不是很難的 有些變數可以讓機床無限循環的工作 這樣就省了 普通程序的煩瑣 宏程序的循環很簡單 卻可以讓機床無限循環的工作
還有些非圓曲線的擬合加工,就是橢圓啊 拋物線啊 什麼的特殊形狀的加工
學宏程序最好是數學先學好 因為很多都涉及到數學上的公式 什麼的
我以前有個朋友學了 但學的不深 他數學底子太差 也沒人教他 他自己摸索
學這個實際意義 不是很大 但在檢測自己編程的程序時 有一定的意義
因為自動編程的程序里 含有不少的宏程序
3. 數控加工中心的宏程序怎麼用
可以的,將Z的值設定為自變數,圓的半徑設定為隨便量,然後將宏關系式列在加工程序前就可以了,我試舉簡單的例子:假設圓錐的半徑與圓錐的高度比是1/3(圓錐底半徑是10,高度是30):
#500=#500+0.333;
#501=#500/3;
WHILE[#500GT30]DO1;
GOTO99;
END1;
N99
#500=0;
具體的要根據實際的零件來編寫了,對於簡單的工件來說,它比電腦編程快捷方便,修改也方便,只是真正能掌握宏程序編寫的人實在太少了,所以才會有不同的認識.有意見歡迎來切磋.
4. 數控車床宏程序怎麼編啊
找本書看看,另外你要懂得曲線方程,等一些數學問題。 給你舉個例子看看先。 宏程序編程
一 變數
普通加工程序直接用數值指定G代碼和移動距離;例如,GO1和X100.0。使用用戶宏程序時,數值可以直接指定或用變數指定。當用變數時,變數值可用程序或用MDI面板上的操作改變。
#1=#2+100 G01 X#1 F300 說明: 變數的表示
計算機允許使用變數名,用戶宏程序不行。變數用變數符號(#)和後面的變數號指定。
例如:#1 表達式可以用於指定變數號。此時,表達式必須封閉在括弧中。
例如:#[#1+#2-12] 變數的類型 變數根據變數號可以分成四種類型
變數號 變數類型 功能 #0 空變數 該變數總是空,沒有值能賦給該變數. #1-#33 局部變數 局部變數只能用在宏程序中存儲數據,例如,運算結果.當斷電時,局部變數被初始化為空.調用宏程序時,自變數對局部變數賦值, #100-#199 #500-#999
公共變數 公共變數在不同的宏程序中的意義相同.當斷電時,變數#100-#199初始化為空.變數#500-#999的數據保存,即使斷電也不丟失. #1000 系統變數 系統變數用於讀和寫CNC運行時各種數據的變化,例如,刀具的當前位置和補償值. 變數值的范圍 局部變數和公共變數可以有0值或下面范圍中的值: -1047到-10-29或-10-2到-1047 如果計算結果超出有效范圍,則發出P/S報警NO.111. 小數點的省略 當在程序中定義變數值時,小數點可以省略。
例:當定義#1=123;變數#1的實際值是123.000。 變數的引用 為在程序中使用變數值,指定後跟變數號的地址。當用表達式指定變數時,要把表達式放在括弧中。
例如:G01X[#1+#2]F#3; 被引用變數的值根據地址的最小設定單位自動地舍入。
例如:
當G00X#/;以1/1000mm的單位執行時,CNC把123456賦值給變數#1,實際指令值為G00X12346. 改變引用變數的值的符號,要把負號(-)放在#的前面。
例如:G00X-#1 當引用未定義的變數時,變數及地址都被忽略。
例如:當變數#1的值是0,並且變數#2的值是空時,G00X#1 Y#2的執行結果為G00X0。
雙軌跡(雙軌跡控制)的公共變數 對雙軌跡控制,系統為每一軌跡都提供了單獨的宏變數,但是,根據參數N0.6036和6037的設定,某些公共變數可同時用於兩個軌跡。
未定義的變數 當變數值未定義時,這樣的變數成為空變數。變數#0總是空變數。它不能寫,只能讀。
引用 當引用一個未定義的變數時,地址本身也被忽略。
當#1=
當#1=0 G90 X100 Y#1 G90 X100 G90 X100 Y#1 G90 X100 Y0 (b) 運算
除了用賦值以外,其餘情況下與0相同。
當#1=時
當#1=0時
#2=#1 #2= #2=#1 #2=0 #2=#*5 #2=0 #2=#*5 #2=0 #2=#1+#1 #2=0 #2=#1+#1 #2=0 (c)條件表達式
EQ和NE中的不同於0。
當#1=時
當#1=0時
#1EQ#0 成立
#1EQ#0 不成立
#1 NE #0 成立
#1 NE #0 不成立
#1 GE #0 成立
#1 GE #0 不成立
#1 GT #0 不成立
#1 GT #0 不成立
限制 程序號,順序號和任選程序段跳轉號不能使用變數。
例:下面情況不能使用變數:
0#1;
/#2G00X100.0; N#3Y200.0; 二 算術和邏輯運算
下面表中列出的運算可以在變數中執行。運算符右邊的表達式可包含常量和或由函數或運算符組成的變數。表達式中的變數#j和#k可以用常數賦值。左邊的變數也可以用表達式賦值。
說明:
角度單位 函數SIN ,COS,ASIN,ACOS,TAN和ATAN的角度單位是度。如90°30'表示為90.5度。 ARCSIN # i= ASIN[#j]
(1)取值范圍如下:
當參數(NO.6004#0)NAT位設為0時,270°~90°
當參數(NO.6004#0)NAT位設為1時,-90°~90°
(2)當#j超出-1到1的范圍時,發出P/S報警NO.111. (3)常數可替代變數#j ARCCOS #i=ACOS[#j] 取值范圍從180°~0° 當#j超出-1到1的范圍時,發出P/S報警NO.111. 常數可替代變數#j 三 程序舉例 銑橢圓:
軌跡:
橢圓程序代碼如下: N10 G54 G90 G0 S1500 M03 N12 X0 Y0 Z20. N14 G0 Z1 N16 G1 Z-5. F150. N18 G41 D1 N20 #1=0 N22 #2=34 N24 #3=24 N26 #4=#2*COS[#1] N28 #5=#3*SIN[#1] N30 #10=#4*COS[45]-#5*SIN[45] N32 #11=#4*SIN[45]+#5*COS[45] N34 G1 X#10 Y#11
N36 #1=#1+1 N38 IF [#1 LT 370] GOTO26 N40 G40 G1 X0 Y0
N42 G0 Z100 N44 M30
銑矩形槽:
銑矩形槽代碼如下: #102=0. N3#100=0. #101=0. #103=200. #104=400. G91G28Z0. G0G90G54X0.Y0. G43H1Z20. M3S2000. N4G0X#100Y#101 G01Z#102F200. #102=#102-2. IF[#102EQ-50.]GOTO1 GOTO2 N2 N4X#104F500. Y#103 X#100 Y#101 #100=#100+10. #101=#101+10. #103=#103-10. #104=#104-10. IF[#100EQ100.]GOTO3 GOTO4 N3 N1 M5 M9 G91G28Z0. G28Y0. M30 銑傾斜3度的面:
軌跡:
銑傾斜3度的面的代碼如下: O0001 #[#1+1*2]=1 G65P9012L1A0B0.1C4I100J3K0 M30 宏程序O9012代碼如下: G54 G90 G00 X[#3] Y0 Z100 S500 M3 G01 Z0 F300 WHILE[#1LE10]DO1 #7= #1/TAN[#5]+#3 G1Z-#1 X#7 #8=#6/2-ROUND[#6/2] IF[#8EQ0]GOTO10 G1Y0
GOTO20 N10 Y#4 N20#1=#1+#2 #6=#6+1 END1 G0
Z100 銑半球:
軌跡:
銑半球代碼如下: G90G0G54X-10.Y0M3S4500 G43Z50.H1M8 #1=0.5 WHILE[#1LE50.]DO1 #2=50.-#1 #3=SQRT[2500.-[#2*#2]] G1Z-#1F20 X-#3F500 G2I#3 #1=#1+0.5 END1 G0Z50.M5 M30 銑喇叭:
銑喇叭代碼如下: M03 S500 M06 T01 #1=0 #2=0 G0 Z15 X150 Y0 N11 #2=30*SIN[#1] #3=30+30*[1-COS[#1]] G01 Z-#2 F40 G41 X#3 D01 G03 I-#3 G40 G01 X150 Y0 #1=#1+1 IF [#1 LE 90] GOTO 11 G0 Z30 M30
5. 三菱數控宏程序怎麼編程
自動編程都可以設置起始行號和行號間隔,手工編程時,行號的用處不大,可以不編進程序的。#5021~#5023 當前位置 機床坐標系 #5041~#5043 當前位置 工件坐標系分別代表X、Y、Z,這個只能讀不能寫入的。
舉個簡單的數車的例子,走個橢圓:
橢圓方程是x^2/a+y^2/b=1
那麼y=[(1-x^2/a)b]^(1/2)
在數控系統中的Z為方程中的x方向,X為y方向。
設定Z負方向走刀變數為#1,X方向走刀為#2
編程序為:
G99;
#1=0;
#2=0;
WHILE [#1 GE -a]DO1;
#1=#1-.3;
#2=SQRT[[1-#1*#1/a]b];
G01 X[#2] Z[#1} F.6
END1
%
這樣就車出了一個橢球形。
補充:三菱數控系統由數控硬體和數控軟體兩大部分來工作的。數控系統的硬體由數控裝置、輸入/輸出裝置、驅動裝置和機床電器邏輯控制裝置等組成
6. 數控車床宏程序怎麼編寫,一般宏程序都加工什麼樣的零件
宏程序一般是在做重復路徑的程序時用,最典型的就是切槽,切墊片等重復的零件會用到
一般是把某個重要數據用變數代數表示,後面在子程序裡面做加減法
如切槽是把Z像坐標用代數表示,如在主程序起點坐標為Z2.,那麼程序可以編時Z=#300,#300=2,然後在子切槽程序里加一段#300=#300-15。
那麼這樣每M99循環一次後定位時Z向就會往裡邊偏15毫米,5毫米的刀那麼切出來的墊片就是10毫米厚。這個你可以在網上下載一些資料看一下,很容易理解的。而且那些很高深的,如乘法,除法,函數....等得應用你剛開始就不要去糾結了,有些難度,但實際工作中基本用不上。你把加減運算弄清楚就可以了,相對來說簡單很多。希望能幫到你
7. 數控銑床宏程序編程實例如何操作
現成的 用12的球頭刀
圓柱上面 有個半球
編寫:
主程序
O123
90G80G49G40
G0G90G54X40Y0S1600M3
G43H1Z100M8
Z10
G1Z0F300
M98P110L15
G90G1Z20F500
G1X40Y0
M98P210
G91G28Z0
M5
G91G28Y0
M30
子程序 一 先加工 圓柱 30個深度
O110
G91Z-2F500
G90G41G1X28D1
G2X28I-28
G01X40Y0
M99
子程序二 加工半球
O210
#24=28
#26=-20
#1=20
#2=0
#18=20
N29G1Z#26
X#24
G2X#24Y0I-#24
#2=#2+0.1
#1=SQRT[#18*#18-#2*#2]
#24=#1+8
#26=-20+#2
IF[#26LE0]GOTO29
G1Z20
G01X0Y40
M99
8. 數控車床宏程序怎麼寫最好帶步驟解說
數控車床宏程序是非常靈活且因情況而異的,所以數控車床宏程序編程掌握以下參數即可:
普通加工程序直接用數值指定G代碼和移動距離;例如,GO1和X100.0。使用用戶宏程序時,數值可以直接指定或用變數指定。當用變數時,變數值可用程序或用MDI面板上的操作改變。
例如:#1=#2+100;G01X#1F300。
量的表示:計算機允許使用變數名,用戶宏程序不行。變數用變數符號(#)和後面的變數號指定。例如:#1,表達式可以用於指定變數號。
此時,表達式必須封閉在括弧中。例如:#[#1+#2-12]。
變數根據變數號可以分成四種類型:#0空變數,該變數總是空,沒有值能賦給該變數。#1-#33局部變數,局部變數只能用在宏程序中存儲數據,例如,運算結果。當斷電時,局部變數被初始化為空。調用宏程序時,自變數對局部變數賦值。
#100-#199、#500-#999公共變數,公共變數在不同的宏程序中的意義相同。當斷電時,變數#100-#199初始化為空。變數#500-#999的數據保存,即使斷電也不丟失。#1000---系統變數。系統變數用於讀和寫CNC運行時各種數據的變化,例如,刀具的當前位置,補償值。
局部變數和公共變數可以有0值或下面范圍中的值:-1047到-10-29或-10-2到-1047,如果計算結果超出有效范圍,則發出P/S報警NO.111。
當在程序中定義變數值時,小數點可以省略。例:當定義#1=123;變數#1的實際值是123.000。
為在程序中使用變數值,指定後跟變數號的地址。當用表達式指定變數時,要把表達式放在括弧中。例如:G01X[#1+#2]F#3;
被引用變數的值根據地址的最小設定單位自動地舍入。例如:當G00X#/;以1/1000mm的單位執行時,CNC把123456賦值給變數#1,實際指令值為G00X12346.改變引用變數的值的符號,要把負號(-)放在#的前面。
例如:G00X-#1當引用未定義的變數時,變數及地址都被忽略。例如:當變數#1的值是0,並且變數#2的值是空時,G00X#1Y#2的執行結果為G00X0。
(8)數控機床怎麼用宏程序編計件擴展閱讀:
數控宏程序編程是用變數的方式進行數控編程的方法,數控宏程序分為A類和B類宏程序,其中A類宏程序比較老,編寫起來也比較費時費力,B類宏程序類似於C語言的編程,編寫起來也很方便。
不論是A類還B類宏程序,它們運行的效果都是一樣的。
編寫一些大批相似零件的時候,可以用宏程序編寫,這樣只需要改動幾個數據就可以了,沒有必要進行大量重復編程。
9. 請問大家數控加工中心怎麼鑽孔用宏程序怎麼編程,WHILE和IF[#100 GE #101]GOTO1 分別怎麼編寫.懸賞100
循環宏程序舉例:
IF[#100 GE #101]GOTO1
當#100大於等於#101時跳到N1程序段執行。
IF是滿足條件跳出,WHILE是滿足條件運行,掌握一個就夠了。
#1~#33是局部變數,局部變數只能在宏中使用,以保持操作的結果,關閉電源時,局部變數被初始化成「空」。宏調用時,自變數分配給局部變數。
#100~#149(#199)和#500~#531(#999)是公共變數,公共變數可在不同的宏程序間共享。關閉電源時變數#100~#149被初始化成「空」,而變數#500~#531保持數據。公共變數#150~#199和#532~#999可以選用,但是當這些變數被使用時,紙帶長度減少了8.5米。
(9)數控機床怎麼用宏程序編計件擴展閱讀:
數控系統為用戶配備了強有力的類似於高級語言的宏程序功能,用戶可以使用變數進行算術運算、邏輯運算和函數的混合運算,此外宏程序還提供了循環語句、分支語句和子程序調用語句,利於編制各種復雜的零件加工程序,減少乃至免除手工編程時進行繁瑣的數值計算,以及精簡程序量。
宏程序指令適合拋物線、橢圓、雙曲線等沒有插補指令的曲線編程;適合圖形一樣,只是尺寸不同的系列零件的編程;適合工藝路徑一樣,只是位置參數不同的系列零件的編程。較大地簡化編程;擴展應用范圍。