搜索文章与案例

Technical Article

西门子 POSA 后程序继续走,U 轴没到位,在哪里等?

按SINUMERIK 828D CNC 5.25 SP1说明POS与POSA的程序段切换差异、WAITP单独成段的等待位置,以及100毫米行程的时间模型为何不能用固定延时代替到位同步。

给辅助定位轴写了 POSA[U]=100,程序指针却已经向下走,而 U 轴还没到位,这不一定是控制器“漏等了”。在 SINUMERIK 828D 中,POSA 本来就允许定位运动跨程序段继续进行。真正要查的是:下一段是否依赖 U 到位,以及这个依赖点前有没有明确的等待。

本文按西门子《NC programming》07/2025、CNC 软件 5.25 SP1 的 3.7.2 节说明,使用原生 NC 语言。示例中的 U 是已由机床厂家配置、允许通过 NC 指令运动的直线定位轴,不代表任意机床都存在 U 轴,也不是把加工轮廓中的 X、Y 随意改成辅助轴。

POS 与 POSA 的区别,不在目标位置,而在何时进入下一段

定位轴用自己的轴向进给运动,与轨迹轴的插补运动分开。POS 和 POSA 都指定目标位置;POS 要等本段所有用 POS 编程的轴到达终点,才继续下一段。POSA 则可在轴尚未到达目标时继续后续程序。因此,写在前面只表示命令先发出,不自动证明运动先完成。

如果下一步马上就需要 U 到位,直接采用 POS 的顺序表达通常更清楚。如果 U 运动期间确实还有不依赖它的工作,POSA 才有并行的意义;在第一个依赖 U 终点的位置,用单独一段 WAITP(U) 收住这个依赖。

POS顺序等待与POSA跨段运行的对照,WAITP位于第一个依赖U轴到位的动作之前

先看最小片段,再决定哪些工作可以并行

下面只展示运动与等待的结构。假设已选择正确的公制坐标状态,U 起点为0 mm,100 mm为经过行程与避让检查的绝对目标,FA[U]=600 的单位为 mm/min,轴向倍率为100%。机床轴配置、许可与互锁应已由厂家完成。代码中的注释不是可执行的夹紧或加工动作,也没有用通用 M 代码冒充机床专用动作。

N10 POSA[U]=AC(100) FA[U]=600
; Independent work only
N20 WAITP(U)
; U-dependent action follows

AC(100) 显式把这一轴的目标写成相对于当前有效坐标系的绝对位置,不一定是机床零点坐标,避免读者把100误当作“再走100”。FA[U] 是定位轴 U 的轴向进给,不是轨迹进给 F。WAITP(U) 必须独占一个 NC 程序段;它等待先前通过 POSA 编程的指定轴到达终点,使用精确停止精判据,而不是等待某个随意估计的时间。

如果没有可安全并行的工作,上面的结构可以缩为一个 POS 段,下一段才写依赖动作:

N10 POS[U]=AC(100) FA[U]=600
; U-dependent action follows

这两个片段都不构成完整可上机程序。这里缺省的是具体机床的轴许可、坐标建立和动作互锁,不是要求读者自行补一个“万能安全头”。尤其是定位完成之后还需夹紧、锁定或压力确认的装置,WAITP 只解决轴终点等待,不能替代这些机床信号。

为什么“停6秒”不能替代 WAITP

作一个纯算术模型:U 从0到100 mm,以600 mm/min匀速运动,理论时间为100÷600×60=10 s。若命令发出后,另有独立工作恰好耗时4 s,WAITP处剩余等待约6 s。图中的4 s是人为设定的独立工作时间,不是程序段的固定执行时间。

100毫米以600毫米每分钟运动的理想10秒模型,独立工作4秒之后等待6秒,并说明50%倍率时等待会变成16秒

同样100 mm,若模型中轴向倍率降到50%,等效速度变成300 mm/min,理论运动时间就是20 s。独立工作仍为4 s时,剩余等待变成16 s。固定停6 s便不能表达“U已经到位”。实际运动还包含加减速、精停确认和机床配置影响;图中10 s与20 s只是忽略这些因素的计算值,不是实机节拍预测。

后处理应输出依赖关系,而不是只排文字顺序

检查 Mastercam 后处理输出时,先找出 POSA 发起的轴,再沿程序向后找第一个需要该轴终点状态的动作。把等待放在这个动作之前,而不是统一补到换刀段尾或程序结束处。能够并行的范围必须由真实机构和工艺确定:两个动作在代码中分开,并不证明它们空间上互不干涉。

还有一个容易忽略的边界:本版手册说明,WAITP 后该轴在再次被编程之前,对 NC 程序的分配会暂时取消,因而可能用于 PLC 定位或往复运动。不能把 WAITP 理解成“等待完成并永久锁住该轴”。如果后续依赖轴保持位置,还要核对机床的轴归属与互锁逻辑。

若有时看似等待、有时又继续执行,不要把这种偶然顺序当作保证。手册同时提醒,后续隐含预处理停止的指令会影响 POSA 相关的段执行行为;应把所需同步写明,不能靠某个后续指令恰好产生的停顿代替 WAITP。

绝对目标与增量目标容易混淆时,可接着看西门子 G90、G91 与 AC、IC 的轴坐标写法;若需要把这些顺序落实进后处理,则可参考退刀、回零、换刀和刀补的分段关系。咨询时带上控制软件版本、机床轴名称及那几段实际 NC 代码,比只说“加个延时”更容易定位问题;不需要提供客户零件图或私人加工文件。

依据

西门子官方 SINUMERIK 828D NC programming,07/2025,CNC 5.25 SP1,3.7.2节,印刷页128–131;轴向进给见3.7.5节,页137–140;AC适用指令见4.1.2.3节,页443。图为本文原创示意;时间数值为假设条件下的计算,不是实机验证记录。