📖 宏程序入门到实战

变量 · 条件 · 循环 · 椭圆加工 · 抛物线 · 实用案例 | 学数控导航站

一、什么是宏程序?

宏程序(Macro Program)是数控系统中的高级编程功能,通过变量、条件判断、循环控制实现复杂轮廓的自动计算和加工。

适用场景:椭圆、抛物线、双曲线等非圆曲线;等距轮廓;参数化加工;自动测量补偿。

系统支持:FANUC(#变量)、Siemens(R参数)、三菱(#变量)、华中数控(#变量)

二、变量基础
2.1 变量类型(FANUC)
变量类型格式说明示例
局部变量#1 ~ #33程序内使用,断电丢失#1 = 50
公共变量#100 ~ #199跨程序共享,断电丢失#100 = #1 + 10
系统变量#1000 ~系统状态(只读/读写)#1000 = 当前坐标
2.2 变量赋值
; 直接赋值 #1 = 50 ; 局部变量#1 = 50 #2 = 30.5 ; 支持小数 #3 = [#1 + #2] ; 表达式计算 ; 运算符号 #4 = [#1 + #2] ; 加法 #5 = [#1 - #2] ; 减法 #6 = [#1 * #2] ; 乘法 #7 = [#1 / #2] ; 除法 #8 = SIN[#1] ; 正弦函数 #9 = COS[#1] ; 余弦函数 #10 = SQRT[#1] ; 平方根
三、条件判断
; IF ... THEN ... ELSE 条件判断 IF [#1 GT 100] GOTO 100 ; 如果#1>100,跳转到N100 IF [#1 EQ 50] THEN #2 = 0 ; 如果#1=50,则#2=0 ; 比较运算符 EQ = 等于 NE = 不等于 GT = 大于 LT = 小于 GE = 大于等于 LE = 小于等于
四、循环控制
; WHILE ... DO ... END 循环 #1 = 0 ; 初始化计数器 WHILE [#1 LT 10] DO 1 ; 当#1<10时循环 #1 = [#1 + 1] ; 计数器+1 ; ... 加工内容 ... END 1 ; 循环结束
五、实战案例
案例1:椭圆轮廓加工

椭圆方程:x²/a² + y²/b² = 1,其中 a=30, b=20

O2001 (椭圆轮廓加工) ; 参数设定 #1 = 30 ; 长半轴 a #2 = 20 ; 短半轴 b #3 = 0 ; 角度变量(0°~360°) #4 = 1 ; 角度步长 ; 开始加工 T0101 M03 S1200 G00 X60 Z2 G01 Z0 F0.1 WHILE [#3 LE 360] DO 1 #5 = #1 * COS[#3] ; X = a × cos(θ) #6 = #2 * SIN[#3] ; Z = b × sin(θ) G01 X[#5*2] Z#6 F0.1 ; 直径编程 #3 = [#3 + #4] ; 角度递增 END 1 G00 X100 Z100 M05 M30
案例2:抛物线加工

抛物线方程:y² = 4ax,其中 a=5

O2002 (抛物线轮廓加工) ; 参数设定 #1 = 5 ; 参数 a #2 = 0 ; Y坐标(从0开始) #3 = 30 ; Y最大值 #4 = 0.5 ; Y步长 T0101 M03 S1000 G00 X70 Z2 G01 Z0 F0.1 WHILE [#2 LE #3] DO 1 #5 = [#2 * #2] / [4 * #1] ; X = Y²/(4a) G01 X[#5*2] Z#2 F0.15 #2 = [#2 + #4] ; Y递增 END 1 G00 X100 Z100 M05 M30
案例3:等距轮廓偏移加工

根据变量自动计算多层切削深度

O2003 (等距轮廓加工) ; 参数设定 #1 = 50 ; 起始直径 #2 = 30 ; 终止直径 #3 = 2 ; 每次切深(直径值) #4 = #1 ; 当前直径 T0101 M03 S800 G00 X[#4+2] Z2 WHILE [#4 GE #2] DO 1 G01 X#4 Z-20 F0.2 ; 车外圆 G00 X[#4+2] ; 退刀 G00 Z2 ; 回起点 #4 = [#4 - #3] ; 直径递减 END 1 G00 X100 Z100 M05 M30
六、常用数学函数
函数语法说明示例
正弦SIN[#1]sin(角度)SIN[30] = 0.5
余弦COS[#1]cos(角度)COS[60] = 0.5
正切TAN[#1]tan(角度)TAN[45] = 1
反正切ATAN[#1]arctanATAN[1] = 45
平方根SQRT[#1]√xSQRT[9] = 3
绝对值ABS[#1]|x|ABS[-5] = 5
四舍五入ROUND[#1]取整ROUND[3.7] = 4
上取整FIX[#1]向上取整FIX[3.2] = 4
下取整FUP[#1]向下取整FUP[3.8] = 3
学习建议:
1. 先在仿真软件上验证宏程序,确认无误后再上机
2. 步长越小,曲线越光滑,但程序越长、加工越慢
3. 椭圆加工建议角度步长 1°~2°,精度足够且效率高
4. 宏程序中的角度单位是,不是弧度
⚠️ 安全警告:
1. 首次运行宏程序必须使用单段模式 + 进给倍率归零
2. 确认变量初始值正确,避免计算错误导致撞机
3. 循环条件必须有退出机制,避免死循环
4. 宏程序调试时手始终放在急停按钮
学数控导航站 | www.xuecnc.com | 关注公众号「学数控导航」获取更多资料