恭喜,你发布的帖子
发布于 2026-06-17 11:16:48
2楼
这种问题不亲自现场测试,也很难找到具体原因,根据你的问题现在主程序中S2=R4 M4在R4=5之前执行,首次写入的是R4残留值(可能为0);25秒时主程序S2=5与子程序R4=5+3=8在临界点竞争写入,导致速度先变8后被覆盖成5。
这样试试:
R4=2 (首次加3后等于5)
M2=3 S2=1 (统一顺时针,避免与子程序方向冲突)
SETMS(2)
$AC_TIMER[1]=0
ID=1 FROM TRUE DO ABC.SPF
G01 X0 Y110 F90.9 (直接走刀,不用G04延时)
子程序:
IF $AC_TIMER[1]>=25 AND $A_DBR[4000]<=50
R4=R4+3
S2=R4 (仅改速,不加M4,避免反向顿挫)
$AC_TIMER[1]=0
ENDIF
如果S2=R4在同步动作中不生效,子程序内改用S2=R4 / SPCON强制激活,仍不加M4。
0-25秒主轴转1,25秒变5,50秒变8,75秒变11,每25秒+3,直到G01走完。全程顺时针平滑升速,无跳变无顿挫。
请填写推广理由:
分享
只看
楼主