数控宏程序

更新时间:2024-03-28 13:48

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

优点

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#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〉.无条件的转移  格式: 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.235  X-#2 F300;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重)

转移与循环指令

免责声明
隐私政策
用户协议
目录 22
0{{catalogNumber[index]}}. {{item.title}}
{{item.title}}