数控CNC宏程吧
宏程课堂之二 新手阶段
概念
用变量的方式进行数控编程的方法 就叫做数控宏程序编程。
分类
数控宏程序分为A类和B类宏程 序,其中A类宏程序比较老,编写起来 也比较费时费力,B类宏程序类似于C 语言的编程,编写起来也很方便。不论 是A类还B类宏程序,它们运行的效果 都是一样的。 一般说来,华中的数控机床用的是 B类宏程序,广州数控机床用的是A类 宏程序。
优点
1.可以编写一些非圆曲线,如宏程 序编写椭圆,双曲线,抛物线等。 2.编写一些大批相似零件的时候, 可以用宏程序编写,这样只需要改动几 个数据就可以了,没有必要进行大量重 复编程。
使用方法
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#10
3;(#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〉.无条件的转移 格式: G
OTO 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.345
6,设定单位1μm
G91 X-#1;X-1.235 X-#
2 F300;X-2.346 X[#1+#2];X
3.580 未返回原处,应改为 X[R
OUND[#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 G
OTO→GO
6) 优先级 函数→乘除(*,1,
AND)→加减(+,-,OR,XOR)
例:#1=#2+#3*SIN[#4];
7) 括号为中括号,最多5重,园括
号用于注释语句 例:#1=SIN[[[#2+#
3]*#4+#5]*#6];(3重)
转移与循环指令
热点推存: 【贴吧: 数控CNC宏程 数控CNC宏程序 CNC手工编程】
宏程课堂之二 新手阶段
概念
用变量的方式进行数控编程的方法 就叫做数控宏程序编程。
分类
数控宏程序分为A类和B类宏程 序,其中A类宏程序比较老,编写起来 也比较费时费力,B类宏程序类似于C 语言的编程,编写起来也很方便。不论 是A类还B类宏程序,它们运行的效果 都是一样的。 一般说来,华中的数控机床用的是 B类宏程序,广州数控机床用的是A类 宏程序。
优点
1.可以编写一些非圆曲线,如宏程 序编写椭圆,双曲线,抛物线等。 2.编写一些大批相似零件的时候, 可以用宏程序编写,这样只需要改动几 个数据就可以了,没有必要进行大量重 复编程。
使用方法
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#10
3;(#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〉.无条件的转移 格式: G
OTO 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.345
6,设定单位1μm
G91 X-#1;X-1.235 X-#
2 F300;X-2.346 X[#1+#2];X
3.580 未返回原处,应改为 X[R
OUND[#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 G
OTO→GO
6) 优先级 函数→乘除(*,1,
AND)→加减(+,-,OR,XOR)
例:#1=#2+#3*SIN[#4];
7) 括号为中括号,最多5重,园括
号用于注释语句 例:#1=SIN[[[#2+#
3]*#4+#5]*#6];(3重)
转移与循环指令
热点推存: 【贴吧: 数控CNC宏程 数控CNC宏程序 CNC手工编程】