一句话定义:宏程序(用变量写出的智能程序)就是给数控系统装上"变量 + 表达式 + 循环"——把写死的数字换成 #变量,再用 WHILE 循环让系统一边按公式算坐标、一边走刀。普通程序适合直线、方框这类"点不多手动写得完"的活;宏程序适合椭圆、抛物线、螺旋、等距分层这些"有规律、但点有几百个"的活。
普通程序里每个点坐标都得你手算好、一个个写死。比如车一个椭圆,沿轮廓每隔 1° 取一个点,一圈 360 个点——你算到天亮还容易错。
宏程序的思路是:你只写"公式 + 循环",系统自己按角度一步步把坐标算出来。椭圆的本质是 X = a·cosθ、Z = b·sinθ,只要让 θ 从 0° 走到 360°、每步 +1°,系统就自动把 360 个点全走完了。这就是"让机床自己算点"。
① 变量(#号):用来存会变的数值。#1~#33 是局部变量(程序内用,断电丢失),#100~#199 是公共变量(跨程序、断电也留着)。赋值:#1 = 30。
② 运算与函数:加减乘除写在中括号里 [#1 + #2],常用函数 SIN[#1] COS[#1] SQRT[#1](sin / cos / 平方根)。
③ 条件判断:IF [#1 GT 100] GOTO 100 意思是"如果 #1 大于 100,就跳到第 100 段"。比较符:EQ等 / NE不等 / GT大于 / LT小于 / GE≥ / LE≤。
④ 循环:WHILE [条件] DO 1 … END 1——条件成立就反复执行中间这段,直到条件不成立才退出。
(建议配图:车削椭圆轮廓示意图。横轴为 Z、纵轴为 X 直径,θ 从 0° 扫到 360°;每一小段用直线逼近曲线,步长越小线段越密、曲线越光滑。标注"θ 每步 1°→360 个点自动生成"。)
记牢一点:车床是直径编程,所以 X 坐标要乘 2(X[#5*2]);铣床才是半径值,直接用 X#5。
下面是一段可直接上机参考的椭圆轮廓车削程序。重点看 WHILE…END 怎么把"公式"变成"走刀":
WHILE 里忘了让计数器 #3 递增(或条件永远成立),θ 永远到不了 360,循环出不来。写宏的第一铁律:保证循环里一定有条件能退出。
FANUC 宏里 SIN[30] 的 30 是度,不是弧度。误写成 SIN[3.14] 会得到接近 0 的错值,轮廓全歪。记住:宏程序角度用度。
θ 步长设 5°~10°,椭圆会被切成明显棱角。精度要求高时步长取 1°~2°,曲线光滑且程序不长。
#100 这类公共变量断电都不丢。上次算到一半的值留着,这次直接拿来用,结果全错。上机前手动清零,或在程序开头显式给每个变量赋值。
第一次跑宏程序,必须 单段模式 + 进给倍率归零,手始终放在急停按钮上。万一公式算错、刀往工件里扎,能立刻停。先在仿真软件里验证再上机。
#变量 + 表达式 + WHILE 循环,专门对付有规律、点太多的轮廓。普通三轴只能"刀轴垂直向下"扎着干,遇到斜面、倒扣就犯难。进阶篇 ②《五轴加工基础》已上线:讲清五轴机床怎么用一把刀摆出任意角度打斜面、RTCP(刀尖点跟随)到底是什么、A/B/C 轴怎么转、3+2 与五轴联动的区别,以及新手最容易踩的 6 个坑。→ 点此阅读五轴基础