宏程序编程代码大全(宏程序编程代码大全)

http://www.itjxue.com  2023-03-18 16:44  来源:未知  点击次数: 

数控车床编程代码是什么?

数控车床编程代码如下:

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 工件坐标原点设置 模态

数控宏程序

现行的数控程序的编制中,主要有两种编程方式:手工编程和自动编程。虽然自动编程运用得越来越广泛,但手工编程在某些领域也是不可或缺的一种编程手段。手工编程至少在此以下几方面有着自己的优势:其一,熟练的程序员编制的手工程序加工效率高于自动编程;其二,熟悉手工编程,对自动程序的修改是不无裨益的;其三,自动编程的所敲定的走刀路线限制了其加工工艺,通过手工编程能够得到弥补。

在手工编程过程中,用户宏程序的编制,能极大提高程序编制的效率,因此,我们在数控教学及训练过程中,必须把用户宏程序的编制作为我们数控教学的重要内容之一。从历年全国数控大赛的试题中也不难发现,用户宏程序的编制是运用得极其频繁的。但是,我们很难在目前的教材中找到完整的宏程序的编写的方法及思路。为此,笔者提出了一整套设计用户宏程序的方法,通过利用流程图来设计用户宏程序,提高了编程的效率。

二、用户宏程序简介

用户宏程序有A、B两种,A类宏程序用G65指令编写,其格式如下:

G65 Hm P#i Q#j R#k

其中,m—01~99表示运算命令或转移命令功能;

#i—存入运算结果的变量名;

#j—进行运算的变量名1,可以是常数,常数直接表示,不带#;

#k—进行运算的变量名2,也可以是常数。

意义, #i=#j○#k,表示运算符号,常用意义如表1

表1

G代码

H代码

功能

定义

G65

H01

赋值

#i=#j

G65

H02

加法

#i=#j+#k

G65

H03

减法

#i=#j-#k

G65

H04

乘法

#i=#j×#k

G65

H05

除法

#i=#j÷#k

G65

H80

无条件转移

转向N

G65

H81

条件转移1

IF #j=#k,GOTO N

G65

H82

条件转移2

IF #j≠#k,GOTO N

G65

H83

条件转移3

IF #j>#k,GOTO N

G65

H84

条件转移4

IF #j<#k,GOTO N

G65

H85

条件转移5

IF #j≥#k,GOTO N

G65

H86

条件转移6

IF #j≤#k,GOTO N

G65

H99

产生P/S报警

产生500+1号P/S报警

除此以外,G65指令还可以实现逻辑运算、开平方、取绝对值、三角运算及复合运算等,相关指令见有关书籍,这里不一一介绍。需要指出的是,不同的数控系统,其功能的多少也不一样,用户可参考有关系统的说明书。

B类宏程序由控制语句,调用语句所组成。宏程序可以与主程序做在一起,也可以单独做成一个子程序,然后用G65指令调用。调用方法如下:

G65 P(程序号)〈引数赋值〉或G65 P(程序号) L(循环次数)〈引数赋值〉

所谓引数赋值,是指用A、B、C、D等地址给变量#1、#2、#3、#4等赋值。

B类宏程序的控制指令有三类,与C语言等高级程序设计语言的控制指令很类似。一类是IF语句,格式为:

IF[条件式]GOTO n (n即顺序号)

条件式成立时,从顺序号为n的程序段往下执行,条件式不成立时,执行下一下程序段;第二类是WHILE语句,格式为:

WHILE[条件式] DO m

END m

条件式成立时,从DO m的程序段到END m的程序段重复执行,条件式不成立时,则从END m的下一程序段执行。

第三类是无条件转移指令,格式为:GOTO n。

三、运用流程图编写用户宏程序的一般步骤

运用流程图编写用户宏程序的一般步骤为:一分析零件结构,确定宏程序加工的内容,找出加工工艺路线的律;二将零件加工路线规律用流程图表达出来,并进一步分清楚哪些是程序编制过程中的变量,哪些是常量,从而将一般的流程变成程序流程图;三根据程序流程图,编写零件的加工程序。

四、应用举例

(一)宏程序应用实例一

如图1所示,在一根轴上加工N个槽,每个槽的宽度为a1,槽的间距为a2,槽底直径为b1,棒料直径b2,并且设所给材料足够长,试编写程序加工该零件,现有一零件参数为N=100个槽,槽底直径b1=30mm,槽宽a1=5mm,工件直径b2=40mm,间隔a2=2mm,刀宽=3mm,现编写程序加工。图11零件工艺过程分析

该零件是一个比较简单的例子,在压面机械上用得较多。零件的精度要求不高,为了使程序有更广泛的适应性,将宏程序做成一个子程序,用主程序来调用实现零件的加工。加工时将坐标原点选择在如图所示的位置,X轴离第一个槽的距离为一个间距a2的距离。

零件的加工过程如下将:将刀具移至加工起点→进刀→切削第一个槽→计算下一槽的位置并将刀具移到此位置→加工下一个槽……如此至最后一个槽加工完为止。

将此过程画成流程图,如图2(a)所示。

(a) (b)

图2

2零件加工过程中所使用的变量

通过分析,要加工该零件,需要如下一些变量:

工件直径#200= b2

槽底直径#201= b1

槽宽#202= a1

槽间间隔#203= a2

切槽刀宽度#204

每加工一个槽后,切槽刀在Z轴方向移动的距离#205(等于槽间距加上槽宽)

槽的起点坐标Xs=#206,Zs=#207

槽加工终点的坐标Xf=#208,Yf=#209

计算槽数目的变量#215

加工槽的总数#216

由此画出编制程序所用的流程图,如图2(b)所示。

3根据程序流程图编制程序

宏程序O9061

N10 G65 H83 P160 Q#204 R#202 如果刀宽大于槽完,则结束

N20 G65 H01 P#215 Q0 计数器变量清零

N30 G65 H02 P#205 Q#202 R#203 计算#205

N40 G65 H02 P#206 Q#200 R5 工件直径加上5mm作为X方向起点

N50 G65 H02 P#207 Q#203 R#204 槽的间距加上一个刀宽

N60 G65 H01 P#207 Q?#207 取负值后作为第一个槽的Z向起点

N70 G65 H01 P#208 Q#201 槽底直径作为槽终点的X坐标

N80 G65 H01 P#209 Q?#205 第一个槽终点Z向坐标

N90 G00 X#206 Z#207 M08 定位到槽加工的位置

N100 G75 R1

N110 G75 X#208 Z#209 P2 Q#204 F20 加工槽

N120 G65 H03 P#207 Q#207 R#205 下一个槽起点Z向坐标计算

N130 G65 H03 P#209 Q#209 R#205 下一个槽终点Z向坐标计算

N140 G65 H02 P#215 Q#215 R1 槽计数器加1

N150 G65 H84 P90 Q#215 R#216 判断槽是否加工完毕

N160 M08

N170 M99 结束

主程序 O0001

N10 G65 H01 P#200 Q40 工件直径赋值

N20 G65 H01 P#201 Q30 槽底直径赋值

N30 G65 H01 P#202 Q5 槽宽赋值

N40 G65 H01 P#203 Q2 槽间间隔赋值

N50 G65 H01 P#204 Q3 切槽刀宽赋值

N60 G65 H01 P#216 Q100 槽数赋值

N70 G00 X100 Z100 起刀点位置

N80 M98 P9061 调用宏程序

N90 M30 程序结束

(二)宏程序应用实例二

对于一些大悬伸(加工深度与刀具直径之比较大)的零件,用普通加工方法总难达到理想效果,此时用插铣法容易保证零件精度,如图3所示的零件,尺寸80很难保证,用插铣法后获得了比较好的效果。曾经有工厂做过类似的程序,但程序只是针对零件本身,适应性不强,当零件的尺寸发生变化后,程序还得发生较大修改。笔者针对这种情况,将程序分为主程序和子程序,当零件的尺寸发生变化后,只需要修改主程序即可,非常方便。

1加工工艺分析

传统加工工艺方法采用多次重复加工。很难消除让刀,并且造成加工应力,最后由于应力释放造成零件的内腔变小。为了解决这个问题,我们将加工分为粗加工和精加工,粗加工采用普通的工艺方法,精加工采用插铣。

建立如图3所示的坐标系,为了保证加工质量,防止划伤已加工过的表面,编程时避免使用钻孔循环指令。加工轨迹如图4所示,在YZ平面内进行以下加工步骤:加工第一刀→沿圆弧退刀→返回Z=3处→沿圆弧进刀→沿X方向移动一个步距→加工第二刀→…。

加工过程中,粗加工尺寸80按79.6加工,而精加工采用宏程序编制高速插铣程序。精加工的具体参数如表2所示

图3零件图及坐标系 图4刀具路径表2精加工参数

加工方式

加工材料

刀具

步距

设置安全高度

顺铣

铝合金

Φ18整体硬质合金加长球头刀

0.05

Z=3

2加工流程图

为增强程序的适应性,本程序刀分为子程序和主程序来编写,子程序起始位置为(0,0,50),刀具在加工过程中的基本路线是按前面所给出的路线来走刀。

由此画出加工流程图如图5(a)所示。(a) (b)

图5

3程序所使用的变量及程序流程图

本程序中所使用的变量如下:

需加工部位X方向的长度:#1;

需加工部位Y方向的长度:#2;

需加工部位Z方向的深度:#3;

X方向的步距:#4;

走刀轨迹中,退(或进)刀时的半径:#5(本例图4中的R10);

中间变量:#6、#7、#8、#9

由所确定的变量及加工流程图,画出程序流程图如图5(b)所示。

4编制程序

子程序:%9001

N10 #1=#1/2 #1变量取1/2作为X坐标

N20 #2=#2/2 #2变量取1/2作为Y坐标

N30 G00 X#1 X方向定位到加工位置

N40 G41 D1 Y#2 Y方向定位到加工位置

N50 G01 Z3 F3000 M08 下降下安全高度,开冷却液

N60 #6=-(#3-#5) 计算加工终点Z向坐标

N70 #7=#2-2*#5 计算退刀终点Y坐标

N80 G01 Z#6 插铣加工

N90 G02 Y#7 R#5 退刀

N100 G01 Z3 返回

N110 G02 Y#2 R#5 进刀

N120 #8=#8+#4 X方向总加工长度计数

N130 G91 G01 X-#4 X方向走一个步距

N140 IF #8LE#1 GOTO 80 判别第一侧是否加工完

N150 G90 Y-#2 移至另一侧

N160 G01 Z#6 插铣加工另一侧

N180 G02 Y-#7 R#5 退刀

N190 G01 Z3 返回安全高度

N200 G02 Y-#2 R#5 进刀

N210 #9=#9+#4 X方向总加工长度计数

N220 G91 G01 X#4 X方向移动一个步距

N230 IF #9LE#1 GOTO 160 判别另一侧是否加工完

N240 G90 G40 G00 X0 Y0 M09 X、Y方向返回起始点

N250 Z50 Z方向返回起始点

N260 M99 宏程序结束

主程序:%1010

N10 T01 选一号刀

N20 M06 换刀

N30 G00 G90 G54 G19 X0 Y0 S5000 M03 定位到起始位置,选择坐标平面及坐标系,启动主轴。

N40 G43 H01 Z50 Z方向补偿

N60 G65 P9001 A200 B80.05 C90 D0 E0 F0 I0.05 J10 K0 调用宏程序并给相关变量赋值

N70 M05 停止主轴

N80 G49 Z50 Z方向取消补偿

N90 M30 程序结束

五、结束语

利用流程图编制用户宏程序,思路清晰,所编制的程序适应性好,是一种值得推广的方法。

法兰克数控系统车宏程序有那些英文代码?例如:GT,EN,IF等,分别是什么意思?

在法兰克数控系统宏程序中涉及英文代码的有运算指令、控制指令等。

表示运算指令的有:GT表示大于,GE表示小于或等于,EQ表示等于,NE表示不等于,......;

表示控制指令的有:IF表示的是条件转移语句1,?GOTO表示的是无条件转移语句,WHILE表示的是循环语句,IF.....THEN表示的是条件转移语句2.....。

扩展资料:

数控宏程序编程,是用变量的方式进行数控编程的方法。

数控宏程序分为A类和B类宏程序,其中A类宏程序比较老,编写起来也比较费时费力,B类宏程序类似于C语言的编程,编写起来也很方便。不论是A类还B类宏程序,它们运行的效果都是一样的。

参考资料:百度百科-数控宏程序

Fanuc系统中常见的宏程序#代码的含义

你问的前面8个都是不常用的,后面两个是常用的。

G31跳转功能,非模态G代码 多数用在宏程序中,设置在宏程序变量#5061-5064

G33螺纹加工 模态G代码 切削直螺纹G33 后跟地址

G39拐角偏置圆弧插补 非模态G代码 一般和G41或G42一起用。G41或G42在前 。

G51比例缩放有效 模态。编程形状被放大或者缩小。格式G51X_Y_Z_P_

G52局部坐标系设定 非模态。在G54-G59中设定另外一个坐标。

G60单方向定位。在参数中设置模态和非模态。

G61准确停止方式。

G62自动拐角倍率。

G94每分进给。

G95每转进给。

(责任编辑:IT教学网)

更多

推荐ASP.NET教程文章