❶ 宏程序如何使用
宏就是用公式来加工零件的,普通加工程序直接用指定G代码和移动距离。
指令(EQ为=,NE不等于, GT大于, LT小与, GE大于等于 ,LE小于等于)WH DO END是运算指令也是英文缩写。
例赋值#2等于5,运算#2=#2+1 运行一次后#2值就是6,运行n次#2值为5+n。
宏程序的作用
数控系统为用户配备了强有力的类似于高级语言的宏程序功能,用户可以使用变量进行算术运算、逻辑运算和函数的混合运算,此外宏程序还提供了循环语句、分支语句和子程序调用语句,利于编制各种复杂的零件加工程序,减少乃至免除手工编程时进行繁琐的数值计算,以及精简程序量。
以上内容参考:网络-宏程序
❷ 法兰克加工中心宏程序编程怎么学,有没有详细教程
方法和详细的操作步骤如下:
1、第一步,在MDI模式下,按SET键,在屏幕上输入1,然后版打开参数开关,见下图权,转到下面的步骤。
❸ 加工中心分层铣圆用宏程序怎么编程
关于宏程序编程,步骤细致复杂,要对宏程序有相当的了解。
举一个例题如下:
1、例如加工一个长半轴30,短半轴20一个椭圆,椭圆不是圆弧,所以我们不能用圆弧的方式来加椭圆,这里我们用一小段一小段的直线来拼接这个椭圆。
❹ 数控编程宏程序的指令
宏程序编程
一 变量
普通加工程序直接用数值指定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
❺ 数控宏程序的使用方法
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 (除)
3.1 逻辑函数之布尔函数
=EQ等于
≠NE不等于
>GT大于
<LT小于
≥GE大于或等于
≤LE小于或等于
例:#I = #j即#I EQ #J
3.2 逻辑函数之二进制函数
#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〉.无条件的转移 格式:GOTO1; GOTO#10;
2〉.条件转移1 格式:IF[<条件式>]GOTOn
条件式:例:#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
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 GOTO→GO
6) 优先级 函数→乘除(*,1,AND)→加减(+,-,OR,XOR) 例:#1=#2+#3*SIN[#4];
7) 括号为中括号,最多5重,园括号用于注释语句 例:#1=SIN[[[#2+#3]*#4+#5]*#6];(3重)
转移与循环指令
❻ 数控车床宏程序怎么写最好带步骤解说
数控车床宏程序是非常灵活且因情况而异的,所以数控车床宏程序编程掌握以下参数即可:
普通加工程序直接用数值指定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。
(6)编程宏程序怎么用扩展阅读:
数控宏程序编程是用变量的方式进行数控编程的方法,数控宏程序分为A类和闭悄巧B类宏程序,其中A类宏程序比较老,编写起来也比较费时费力,B类宏程序类似于C语言的编程,编写起来也很方便运庆。
不论是A类还B类宏程序,它们运行的效果都是一样的。
编写一些大批相似零件的时候,可以用宏程序编写,这样只需要改动几个数据就可以了,没有必要进行大量重复编程。
❼ 加工中心用宏程序加工圆周等分孔如何编程及如何操作机床
1、首先第一步就是进行启动仿真软件选择法兰克系统单击运行即可。