
A类宏程序
1)变量的定义和替换 #i=#j
编程格式 G65 H01 P#i Q#j
例 G65 H01 P#101 Q1005; (#101=1005)
G65 H01 P#101 Q-#112;(#101=-#112)
2)加法 #i=#j+#k
编程格式 G65 H02 P#i Q#j R#k
例 G65 H02 P#101 Q#102 R#103;(#101=#102+#103)
3)减法 #i=#j-#k
编程格式 G65 H03 P#i Q#j R#k
例 G65 H03 P#101 Q#102 R#103;(#101=#102-#103)
4)乘法 #i=#j×#k
编程格式 G65 H04 P#i Q#j R#k
例 G65 H04 P#101 Q#102 R#103;(#101=#102×#103)
5)除法 #i=#j / #k
编程格式 G65 H05 P#i Q#j R#k
例 G65 H05 P#101 Q#102 R#103;(#101=#102/#103)
6)平方根 #i=
编程格式 G65 H21 P#i Q#j
例 G65 H21 P#101 Q#102;(#101= )
7)绝对值 #i=│#j│
编程格式 G65 H22 P#i Q#j
例 G65 H22 P#101 Q#102;(#101=│#102│)
8)复合平方根1 #i=
编程格式 G65 H27 P#i Q#j R#k
例 G65 H27 P#101 Q#102 R#103;( #101=
9)复合平方根2 #i=
编程格式 G65 H28 P#i Q#j R#k
例 G65 H28 P#101 Q#102 R#103
1)逻辑或 #i=#j OR #k
编程格式 G65 H11 P#i Q#j R#k
例 G65 H11 P#101 Q#102 R#103;(#101=#102 OR #103)
2)逻辑与 #i=#j AND #k
编程格式 G65 H12 P#i Q#j R#k
例 G65 H12 P#101 Q#102 R#103;#101=#102 AND #103
(3)三角函数指令
1)正弦函数 #i=#j×SIN(#k)
编程格式 G65 H31 P#i Q#j R#k (单位:度)
例 G65 H31 P#101 Q#102 R#103;(#101=#102×SIN(#103))
2)余弦函数 #i=#j×COS(#k)
编程格式 G65 H32 P#i Q#j R#k (单位:度)
例 G65 H32 P#101 Q#102 R#103;(#101=#102×COS(#103))
3)正切函数 #i=#j×TAN#k
编程格式 G65 H33 P#i Q#j R#k (单位:度)
例 G65 H33 P#101 Q#102 R#103;(#101=#102×TAN(#103))
4)反正切 #i=ATAN(#j/#k)
编程格式 G65 H34 P#i Q#j R#k (单位:度,0o≤ #j ≤360o)
例 G65 H34 P#101 Q#102 R#103;(#101=ATAN(#102/#103)
(4)控制类指令
编程格式 G65 H80 Pn (n为程序段号)
例 G65 H80 P120;(转移到N120)
2)条件转移1 #j EQ #k(=)
编程格式 G65 H81 Pn Q#j R#k (n为程序段号)
例 G65 H81 P1000 Q#101 R#102
当#101=#102,转移到N1000程序段;若#101≠ #102,执行下一程序段。
3)条件转移2 #j NE #k(≠)
编程格式 G65 H82 Pn Q#j R#k (n为程序段号)
例 G65 H82 P1000 Q#101 R#102
当#101≠ #102,转移到N1000程序段;若#101=#102,执行下一程序段。
4)条件转移3 #j GT #k (> )
编程格式 G65 H83 Pn Q#j R#k (n为程序段号)
例 G65 H83 P1000 Q#101 R#102
当#101 > #102,转移到N1000程序段;若#101 ≤#102,执行下一程序段。
5)条件转移4 #j LT #k(<)
编程格式 G65 H84 Pn Q#j R#k (n为程序段号)
例 G65 H84 P1000 Q#101 R#102
当#101 < #102,转移到N1000;若#101 ≥ #102,执行下一程序段。
6)条件转移5 #j GE #k(≥)
编程格式 G65 H85 Pn Q#j R#k (n为程序段号)
例 G65 H85 P1000 Q#101 R#102
当#101≥ #102,转移到N1000;若#101<#102,执行下一程序段。
7)条件转移6 #j LE #k(≤)
编程格式 G65 H86 Pn Q#j Q#k (n为程序段号)
例 G65 H86 P1000 Q#101 R#102
当#101≤#102,转移到N1000;若#101>#102,执行下一程序段。
B类宏程序
1. 定义
#I=#j
2. 算术运算
#I=#j+#k(加)
#I=#j-#k(减)
#I=#j×#k(乘)
#I=#j/#k (除)
31 逻辑函数之布尔函数
= EQ 等于
≠ NE 不等于
> GT 大于
< LT 小于
≥ GE 大于或等于
≤ LE 小于或等于
例:#I = #j 即#I EQ #J
32 逻辑函数之二进制函数
#I=#J AND #k(与,逻辑乘)
#I=#J OR #k(或,逻辑加)
#I=#J XOR #k(非,逻辑减)
4.三角函数
#I=SIN[#j] 正弦
#I=COS[#j] 余弦
#I=TAN[#j] 正切
#I=ASIN[#j]反 正弦
#I=ACOS[#j]反 余弦#I=ATAN[#j] 反正切
5四舍五入函数
#I=ROUND[#j] 四舍五入化整
#I=FIX[#j] 上取整
#I=FUP[#j] 下取整
6辅助函数
#I=SQRT[#j] 平方根
#I=ABS[#j] 绝对值
#I= LN [#j] 自然对数
#I= EXP [#j] 指数函数
7变换函数#I=BIN[#j] BCD→BIN(十进制转二进制)
#I=BCD[#j] BIN→BCD(二进制转十进制)
8转移和循环
1〉.无条件的转移格式: GOTO 1;GOTO #10;
2〉.条件转移1格式: IF[<条件式>] GOTO n
条件式:例:#j=#k用 #j EQ #k 表示,即 IF[#j EQ #k] GOTO n
3〉条件转移2 格式: IF[<条件式>] THEN #I
例:IF[#j EQ #k] THEN #a=#b
4〉循环 格式:WHILE [<条件式>] DOm , (m=1、2、3)
N10~~~~~~~~~
N20~~~~~~~~~~~~
ENDm (上下两个m只能为1、2、3且必须相
同, 这样才能够成一段程序的循环)
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
G91 X-#1;X-1.235X-#2 F300;X-2.346X[#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→ROFIX→FIGOTO→GO
6) 优先级函数→乘除(,1,AND)→加减(+,-,OR,XOR)例:#1=#2+#3SIN[#4];
7) 括号为中括号,最多5重,园括号用于注释语句例:#1=SIN[[[#2+#3]#4+#5]#6];(3重)
转移与循环指令
铣个平面也用宏……这么大的板子用10的刀,我晕,这老师是让你们算循环玩。简单易算出发,10mm刀铣削8mm宽,叠刀20%,560mm需要铣削70刀。设变量#1=0,起点坐标X[#1+4](设工件坐标系原点在左下角,第一刀从X4开始,首刀切削9mm宽,保证最后一刀超越1mm板材边缘无毛刺)。然后就简单了,每次铣削两刀一个来回,35个来回后完成。我随便写了一个,比如(工件坐标系原点设定为毛坯左下角): G54 G90 M03 S800 Z100 X-10Y0 Z2 G01 Z0 F100 X0 #1=0 WHILE [#1 LE 68] G01 X[#18+4] F200 Y425 #1=#1+1 X[#18+4] Y0 #1=#1+1 ENDW G00 Z100 X280 Y425(工作台回到中央,并靠近 *** 作者,便于拆卸工件) M30 不同系统,宏的格式稍微有那么一丁点差异。编程方法都差不多,格式差异对照修改一下就行
方法
G代码分组功能G0001定位(快速移动)G0101直线插补(进给速度)G0201顺时针圆弧插补G0301逆时针圆弧插补G0400暂停,精确停止G0900精确停止G1702选择XY平面G1802选择ZX平面G1902选择YZ平面G2700返回并检查参考点G2800返回参考点G2900从参考点返回G3000返回第二参考点
G4007取消刀具半径补偿G4107左侧刀具半径补偿G4207右侧刀具半径补偿G4308刀具长度补偿+G4408刀具长度补偿-G4908取消刀具长度补偿G5200设置局部坐标系G5300选择机床坐标系G5414选用1号工件坐标系
G5514选用2号工件坐标系G5614选用3号工件坐标系G5714选用4号工件坐标系G5814选用5号工件坐标系G5914选用6号工件坐标系G6000单一方向定位G6115精确停止方式G6415切削方式G6500宏程序调用G6612模态宏程序调用
G6712模态宏程序调用取消G7309深孔钻削固定循环G7409反螺纹攻丝固定循环G7609精镗固定循环G8009取消固定循环G8109钻削固定循环G8209钻削固定循环G8309深孔钻削固定循环G8409攻丝固定循环G8509镗削固定循环G8609镗削固定循环G8709反镗固定循环G8809镗削固定循环G8909镗削固定循环G9003绝对值指令方式G9103增量值指令方式G9200工件零点设定G9810固定循环返回初始点G9910固定循环返回R点M代码功能M00程序停止M01条件程序停止M02程序结束M03主轴正转M04主轴反转M05主轴停止M06刀具交换M08冷却开M09冷却关M18主轴定向解除M19主轴定向M29刚性攻丝M30程序结束并返回程序头M98调用子程序M99子程序结束返回/重复执行
宏就是用公式来加工零件的,普通加工程序直接用指定G代码和移动距离。
指令(EQ为=,NE不等于, GT大于, LT小与, GE大于等于 ,LE小于等于)WH DO END是运算指令也是英文缩写。
例赋值#2等于5,运算#2=#2+1 运行一次后#2值就是6,运行n次#2值为5+n。
宏程序的作用
数控系统为用户配备了强有力的类似于高级语言的宏程序功能,用户可以使用变量进行算术运算、逻辑运算和函数的混合运算,此外宏程序还提供了循环语句、分支语句和子程序调用语句,利于编制各种复杂的零件加工程序,减少乃至免除手工编程时进行繁琐的数值计算,以及精简程序量。
百度百科-宏程序
以上就是关于数控宏程序的使用方法全部的内容,包括:数控宏程序的使用方法、初学者学习宏程序。用160刀盘铣平面长100宽100深度20每刀铣1个。怎么编。、新代系统宏程序车螺纹格式怎么写等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)