所有宏程序编程代码.docx

上传人:b****6 文档编号:6127600 上传时间:2023-01-04 格式:DOCX 页数:12 大小:18.62KB
下载 相关 举报
所有宏程序编程代码.docx_第1页
第1页 / 共12页
所有宏程序编程代码.docx_第2页
第2页 / 共12页
所有宏程序编程代码.docx_第3页
第3页 / 共12页
所有宏程序编程代码.docx_第4页
第4页 / 共12页
所有宏程序编程代码.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

所有宏程序编程代码.docx

《所有宏程序编程代码.docx》由会员分享,可在线阅读,更多相关《所有宏程序编程代码.docx(12页珍藏版)》请在冰豆网上搜索。

所有宏程序编程代码.docx

所有宏程序编程代码

所有宏程序编程代码

各种类型宏程序

A型宏程序

G65Hm宏指令表

G65Hm

功能

定义

G65Hm

功能

定义

G65H01

定义、置换

#i=#j

G65H28

复合平方根2

#i=√#j2-#k2

G65H02

加算

#i=#j+#k

G65H31

正弦

#i=#j×sin(#k)

G65H03

减算

#i=#j-#k

G65H32

余弦

#i=#j×cos(#k)

G65H04

乘算

#i=#j×#k

G65H33

正切

#i=#j×tan(#k)

G65H05

除算

#i=#j÷#k

G65H34

反正切

#i=arctan(#j/#k)

G65H11

逻辑加

#i=#jOR#k

G65H80

无条件转移

GOTOn

G65H12

逻辑乘

#i=#jAND#k

G65H81

条件转移1

2F#j=#kGOTOn

G65H13

异或

#i=#jXOR#k

G65H82

条件转移2

2F#j=#kGOTOn

G65H21

开平方

#i=√#j

G65H83

条件转移3

2F#j=#kGOTOn

G65H22

绝对值

#i=|#j|

G65H84

条件转移4

2F#j=#kGOTOn

G65H23

剩余数

#i=#j-tranc(#j/#k)×#k

G65H85

条件转移5

2F#j=#kGOTOn

G65H24

变成二进制

#i=BIN(#j)

G65H86

条件转移6

2F#j=#kGOTOn

G65H25

变成十进制

#i=BCD(#j)

G65H99

P/S报警

报警号500+n

G65H26

复合除运算

#i=(#i×#j)÷#k

G65H27

复合平方

根1

#i=√#j2+#k2

宏程序的运算与控制指令(G65)

指令格式:

G65HmP#iQ#jR#k条件转移的指令格式:

G65HmPmQ#jR#k

#i:

储存运算结果的变量号Hm:

条件转移指令

#j:

进行运算的变量号1,可以是常数Pm:

转移的地址

#k:

进行运算的变量号2,也可是常数Q#jR#k:

转移的条件

B型宏程序(FANUC0iMate-MC系统)

运算指令

1、定义和转换

#i=#j

2、加法运算

#i=#j+#k和

#i=#j-#k差

#i=#jOR#k或(对32位的每一位)

#i=#jXOR#k异或(对32位的每一位)

3、乘法运算

#i=#j×#k积

#i=#j÷#k商

#i=#jAND#k与(对32位的每一位)

4、函数

#i=SIN[#j]正弦(度)

#i=COS[#j]余弦(度)

#i=TAN[#j]正切(度)

#i=ATAN[#j]/[#k]反正切(度)

#i=SQRT[#j]平方根

#i=ABS[#j]绝对值

#i=BIN[#j]十一二进制转换

#i=BCD[#j]二一十进制转换

#i=ROUND[#j]四舍五入圆整

#i=FIX[#j]舍去小数部分

#i=FUP[#j]小数部分进位到整数

5、控制指令

(1)无条件转移格式:

GOTOn

(2)条件转移格式:

IF[(条件表达式)]GOTOn

(条件表达式)有如下几种

#jEQ#k即#j=#k

#jNE#k#j≠#k`

#jGT#k#j>#k

#jLT#k#j<#k

#jGE#k#j≥#k

#jLE#k#j≤#k

例:

IF[#4EQ#0]GOTO1

N10G90````````````WHILE[<条件表达式>]DOm

````

````

````

IF[#ⅹEQ#ⅹ]GOTO1ENDm(m=1、2、3…)

(上、下对应,条件满足执行)

编程中的一些辅助功能

坐标旋转(G68、G69)指令

G68:

旋转功能的建立G69:

旋转功能的取消

指令的格式

G17

G18G68XYR[X、Y、Z(I、J、K)以G54定旋转中心的坐标,R为旋转角度]

G19

G17(G18或G19)平面的选择,在其上包括旋转的形状

XY:

与G17、G18、G19相应的X、Y和Z中的两个轴的绝对指令,在G68后面指定旋转中心,当不指令时,则G68程序段的刀具位置被认为旋转中心。

R:

角度位移正值表示逆时针旋转,回转角度根据指定的G代码(G90或G91)确定绝对值还是增量值。

刀具补偿:

要坐标旋转之后,才执行所有的补偿操作

上受参考点有关的G27、G28、G29、G30等,与坐标有关的G52到G59、G92等限制,不能指定,如果需要,先取消旋转方式以后才能指令

比例缩放(G50、G51)指令(G50取消G51)

指令格式:

(1)沿所有轴以相同的比例放大或缩小

格式:

指令意义:

G51XYZP:

缩放开始XYZ:

比例缩放中心坐标值的绝对值

``缩放有效

``(缩放方式)P:

缩放比例

G50缩放取消

(2)沿各轴以不同的比例放大或缩小

格式:

指令意义:

G51XYZIJK

(缩放开始,其后相同)XYZ:

同上

IJK:

X、Y和Z各轴对应的缩放比例

注:

须在单独的程序段内指定G51,在完成放大或缩放之后,指定G50以取消缩放方式

另:

[G5.1Q1(G51刀路优化的建立)Q0(取消G5.1)

注:

它可以以开始程序段或其后单独程序段建立

A、(螺旋加工孔)

Oxxxx

G65H01P#100Q0.;(Z轴的初始值)

G65H01P#101Q20.;(孔的半径)

G65H01P#102Q10.;(加工孔的高度)

G65H01P#103Q1.;(Z轴每次的增量)

G90G54G00G40X20.Y20.Z100.;(以绝对坐标值定位到孔的中心)

M03S2000;

Z0;

G91G41G01X#101Y0D01F1000;(以增量值建立刀补)

N10G65H02P#100Q#100R#103;

G90G03Z-#100I-#101F1200;

G65H84P10Q#100R#102;

G03I-#101F600;

G00Z20;

G40;

M05;

M30;

B、(螺旋加工孔)

Oxxxx

#1=0;

#2=20;

#3=10;

#4=1;

G90G54G00X20Y20Z100;

M03S2000;

Z0;

G91G41G01X#2Y0D01F1000;

WHILE[#1LT#3]DO1;

#1=#1+#4;

G90G03Z-#1I-#2F1000;

END1;

G03I-#2F800;

G00Z100;

G40;

M05;

M30;

(意义与上相同)

 

B、[孔加工(绝对值)]

Oxxxx

#1=20;(孔的半径)

#2=8;(圆弧进刀半径)

#3=#1-#2;(圆弧进刀的起点值)

#4=10;(加工孔的高度)

#5=2;(每次高度的增量)

#6=0;(Z轴的初始值)

G90G54G40G00X0Y0Z100;(定位到孔的中心)

M03S2000;

WHILE[#6LT#4]DO1;

#6=#6+#5;

Z-#6;

G01G41X#3Y-#2D01F1000;

G03X#1Y0R#2;

I-#1;

X#3Y#2R#2;

G40G01X0Y0;

END1;

G00Z100;

M05;

M30;

(以上适合孔在工件坐标中心位置的孔加工)

B、[孔加工(增量值)]

G90G54G40G00X0Y0Z100;(可定位到任何坐标位置的孔中心)

G01G41X#3Y-#2D01F1000;换成:

G91G01G41X#3Y-#2D01F1000;

G03X#1Y0R#2;换成:

G03X#2Y#2R#2;

``

``

``

``(与上相同)

``

``

X#3Y#2R#2;换成:

X-#2Y#2R#2;

G40G01X0Y0;换成:

用绝对坐标值(G90)回到开始定位点

(改后可用在工件坐标中的任何位置孔的加工)

 

A、(外形加工)

Oxxxx

G65H01P#100Q24;

G65H01P#101Q6;

G65H01P#102Q0;

G90G54G40G00X70Y-60Z100;

M03S2000;

N10G65H02P#102Q#102R#101;

Z-#102;

G41G01X60Y-40D01F1000;

X-60;

Y40;

X60;

Y-45;

G40X70Y-60;

G65H84P10Q#102R#100;

G00Z100;

M05;

M30;

B、(外形加工)

Oxxxx

#1=24;

#2=6;

#3=0;

G90G40G54G00X70Y-60Z100;

M03S2000;

WHILE[#3LT#1]DO1;

#3=#3+#2;

Z-#3;

G41G01X60Y-40D01F1000;

X-60;

Y40;

X60;

Y-45;

G40X70Y-60;

END1;

G00Z100;

M05;

M30;

 

B、平面加工

Oxxxx

#1=5;(高度)

#2=1;(增量高度)

#3=0;(初始值)

#4=60;(平面长度的一半)

G90G54G00X70Y-50Z100;

M03S2000;

WHILE[#3LT#1]DO1;

#3=#3+#2;

Z-#3;

#5=70;(平面长度的一半)

WHILE[#5GT-#4]DO2;

#5=#5-13;

G01X#5F1000;

Y50;

#5=#5-13;

X#5;

Y-50;

END2;

G00Z20;(加工完一层提刀)

X70Y-50;(回到初始点)

END1;

Z100;

M05;

M30;

以上均为用平刀编程的程序,而在曲面加工里面,会用到球刀,球刀与平刀的编程有所不同,在手工编程里面,用球刀来编程,只能是以球心来计算,而平刀却是用刀尖。

所以在用球刀编程加工曲面时,可以加上其R半径去计算,而平刀是以刀尖来计算,在编程时可以利用平移轨迹法,即将每一个刀位点平移出一个刀的半径。

(上为一些规则球面,椭圆面,倒圆角等)

而在用球刀加工一些斜面时,刀具的起点与终点必须要经过计算,原因下图:

 

B、椭圆半球(平刀)

Oxxxx

#1=30;(椭圆的长半轴)

#2=20;(椭圆的短半轴)

#3=5;(平刀半径)

#4=90;(起始角度)

#5=2;(增量角度)

G90G54G00G5.1Q1X0Y0Z100;

M03S2000;

Z0;

WHILE[#4GT0]DO1;

#4=#4-#5;

#6=#1*COS[#4]+#3;(将轨迹平移)

#7=#2*SIN[#4]-#2;[Z轴从最高点(零点)向下变化]

#8=#2*COS[#4]+#3;(将轨迹平移)

#9=0;

WHILE[#9LT360]DO2;

#9=#9+2;

#10=#6*COS[#9];

#11=#8*SIN[#9];

G01X#10Y#11F1200;

END2;

END1;

G00Z100;

Q0M05;

M30;

B、球面(平刀)

赋值时,把椭圆的长,短轴换成圆的半径如:

#1=20

前面如上

WHILE[#4GT0]DO1;

#4=#4-#5;

#6=#1*COS[#4]+#3;(将轨迹平移)

#7=#1*SIN[#4]-#1;[Z轴从最高点(零点)向下变化]

G90G01X#6F1000;

Z#7;

I-#6;

下面END2删掉

 

B、椭圆面(球刀)

Oxxxx

#1=30+5;(椭圆长半轴+刀半径R)

#2=20+5;(椭圆短半轴+刀半径R)

#3=90;

#4=2;

G90G54G5.1Q1G00X0Y0Z100;

M03S2000;

Z0;

WHILE[#3GT0]DO1;

#3=#3-#4;

#5=#1*COS[#3];

#6=#2*COS[#3];

#7=#2*SIN[#3]-#2;

G90G01X#5F1000;

Z#7;

#8=0;

WHILE[#8LT360]DO2;

#8=#8+2;

#9=#6*SIN[#8];

#10=#5*COS[#8];

G01X#10Y#9F1200;

END2;

END1;

G00Z100;

Q0;

M05;

M30;

球面与上平刀一样

 

B、圆锥面(球刀)

Oxxxx

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 财务管理

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1