搜索文章与案例

Technical Article

西门子 G95 F0.2:写了 S2=1500,进给为什么还按 S1 算?

西门子828D双主轴程序写S2=1500后,G95为何仍可能按S1计算?限定CNC 5.25 SP1,用600与1500转的算例说明SETMS、120与300毫米每分钟、FPR例外和无编号M5的目标变化。

同一通道里,1号主轴实际转速是600转/分钟,2号主轴是1500转/分钟。程序写了 S2=1500,再写 G95 F0.2,线进给仍可能按120毫米/分钟计算。若这道工序需要按2号主轴每转进给0.2毫米,目标应当是300毫米/分钟。

这个差别有两个前提:当前主主轴仍是1号,程序没有用 FPR 另行指定进给参考轴。S2=1500只给2号主轴指定转速。它没有把系统当前的主主轴改成2号。

本文按 Siemens(西门子)SINUMERIK 828D、CNC软件5.25 SP1的07/2025原厂手册核对,使用西门子原生数控编程语法。算例限定同一通道内已配置两根可用主轴、固定转速、毫米单位和普通主轴实际值耦合;倍率按100%,不计加减速和其他限速。两根主轴各自独立,本文不讨论接料、同步夹持或机床厂家专用循环。数值是计算示例,没有实机切削记录。

S2=1500 给了转速,SETMS 切换当前主主轴

手册里的 master spindle 指系统当前指定的主主轴。读程序时,可以先把它理解成“不写主轴编号时,默认使用的那根主轴”。它由机床数据配置,也能在程序中切换;机床上叫“主轴”或“副主轴”的机械名称,不能代替这个程序状态。

S2=1500明确把转速指令发给2号主轴。SETMS(2)把当前主主轴设成2号,必须单独写在一个程序段里。完成切换后,不带编号的 S、M3、M4、M5都转向新的主主轴。M3/M4是两个旋转方向,M5是停止;现场方向仍要按本机定义核对。

在本文没有 FPR 另选参考的条件下,G95的每转进给也跟随当前主主轴。只搜索程序里有没有 S2=1500,还无法判断 F0.2参考的是哪根主轴。

西门子828D两路主轴参考关系:当前主主轴为1号时,F0.2乘实际600转得到120毫米每分钟;SETMS(2)后乘实际1500转得到300毫米每分钟。
图1 箭头表示进给取哪路转速。图中的120和300是给定稳态条件下的名义值,不能代替机床上的实际进给记录。窄屏可在图内左右滑动。

同一份程序,比较这两组片段

下面两组分别从相同入口状态开始比较,不连续执行。入口已确认当前主主轴为1号,固定转速模式和 G710 公制输入已生效,FPR未另选参考;两根主轴按厂家流程运行,并分别稳定在600和1500转/分钟。片段只展示主轴归属及进给设定,不包含轴运动、装夹、主轴启动和切削,不能当作完整上机程序。

只给2号主轴写转速时,当前主主轴仍为1号。

N100 S2=1500
N110 G95 F0.2

若本工序确实要求把2号主轴设为主主轴,片段可以这样表达。SETMS(2)单独成段,后面的 S1500已经指向2号主轴。

N100 SETMS(2)
N110 S1500
N120 G95 F0.2

两组都写 F0.2,但参考主轴不同。G95表示每转进给,本文的F单位是毫米/转;G710用于明确公制输入。公英制混用的问题可另看G70与G700的坐标、进给单位区别。

120 和 300 怎么算,0.08 又从哪里来

普通G95每转进给的线速度按“参考主轴转速 × 每转进给”计算。当前主主轴为1号时,600 × 0.2 = 120毫米/分钟。换成2号后,在实际转速稳定为1500转/分钟的假设下,1500 × 0.2 = 300毫米/分钟。

如果2号主轴正在带动本工序的工件,而进给误跟着600转的1号主轴,按工件自己的转数折算,每转移动量只有120 ÷ 1500 = 0.08毫米。与目标0.2相比,少了60%。这项计算解释了“F没改,工件每转的进给量却变了”的现象。

换一组转速再算,错误也可能向相反方向发展。若1号实际转速为1800、2号仍为1500,误跟1号会得到360毫米/分钟;按2号主轴折算是0.24毫米/转,比目标高20%。不能把漏切主主轴理解成只会让程序走慢。

面板上的 S1500可能是设定值。加速过程中、倍率变化时,或轴速度被其他条件限制时,实际进给未必正好是300。核对时要同时留下参考主轴编号、实际转速、进给模式、F值和实际进给,单看一栏数字容易误判。

补了 SETMS(2),后面的 M5 会停哪根主轴

SETMS(2)的影响会延续到后面的无编号指令。在切换前,假定当前主主轴为1号,M5停止1号;切换后,同样的M5停止2号。S1200也会从给1号设转速,变成给2号设转速。

SETMS切换后的指令目标图:当前主主轴1号时S1200和M5作用于1号,SETMS(2)后作用于2号;S1=1200与M1=5始终明确指向1号,无参数SETMS恢复机床配置默认主主轴。
图2 无编号指令随当前主主轴改变;带明确编号的指令仍指向指定主轴。图示只用于审查指令归属,主轴启停顺序必须服从机床厂家流程。

因此,修改后处理时应连着看切换后的转速、方向、停主轴和程序出口。若某条指令就是要控制1号,S1=1200和M1=5分别明确指定1号的转速与停止。能否在那个位置执行,还要核对夹紧、同步、刀具位置及厂家联锁。

不带参数的 SETMS会恢复机床数据配置的默认主主轴。默认值要查本机,不能一概写成“恢复1号”。若程序要求明确选回1号,语义对应的是 SETMS(1),同样单独成段。

程序有 FPR 时,参考关系要另查

FPR用于指定G95每转进给参考哪根主轴或旋转轴。FPR的选择是模态状态,会在后续程序段继续有效,因此还要查看前文留下的设置。例如 FPR(S2)明确指定2号主轴作为进给参考。它提供了独立选择进给参考的办法;单凭“当前主主轴是1号”就算出120,条件已经不够。

原厂还区分参考信号的取得方式。FPR所指的主轴或旋转轴若处于位置控制,采用指令值耦合;否则采用实际值耦合。程序涉及主轴定位、旋转轴、FPR或厂商循环时,要把有效参考和控制方式一起查清。本文120与300的对照,只覆盖前面写明的普通主轴实际值条件。

把FPR加进程序,也需要评估原有工艺。若加工必须保留当前主主轴,而只改变每转进给参考,功能需求与“整组无编号指令都转向2号”不同。本文不把 FPR(S2)与 SETMS(2)写成可以随意互换的修复。

后处理验收要留下主轴编号

同一份刀路修改前后,至少检查进入工序、切换主轴、退出工序三个位置。进入时记录当前主主轴和FPR状态;切换时核对SETMS是否独立成段;退出时确认后续S/M指令究竟要控制哪根主轴,以及恢复动作是否符合本机默认配置。

仿真回归可以保留三组互相独立的测试条件。第一组是1号600、2号1500,当前主主轴仍1号,名义值120。第二组保持转速不变,只按工艺要求切成2号,名义值300。第三组把1号改成1800、2号仍1500,若仍误跟1号,名义值360。三组都应核对主轴归属;只检查程序里出现了SETMS,不能证明每条分支都走对。

机床验证还需要完整装夹与刀具信息,并按厂家要求完成安全状态检查。不能为验证公式就让两根主轴临时升速或停转。完整程序的检查范围可参照NC程序修改后的最低安全检查清单。

这次算例的验收结果很明确:在给定的600与1500转稳态条件下,误取1号对应120毫米/分钟,正确取2号对应300;切换后的无编号S和M5也必须落到预期主轴。

原厂依据与算例范围

Siemens《SINUMERIK 828D — NC programming》(数控编程手册),07/2025,A5E48764001B AK,适用CNC软件5.25 SP1。第3.6.1节、印刷页102–105说明S编号、SETMS及指令归属;第3.7.1节、119–120页说明G95单位;第3.7.5节、137–140页说明FPR及耦合方式;1217页的FPR指令表注明其模态特性。

Siemens《SINUMERIK 828D — Axes and spindles》(轴与主轴功能手册),07/2025,A5E48764224B AK,第7.2.2节、印刷页200–201给出G95与参考主轴实际转速的计算关系。本文数值、两张技术图及封面为独立设计,不引用客户程序或厂商图片;不涉及机床参数修改。