点动松开写 6040=7?CiA402 里“停车“有三种写法,只有一种还出力矩
点动松开写 60407CiA402 里停车有三种写法只有一种还出力矩程序只有两行看着挑不出毛病。问题就出在这两行太短了垂直轴点动程序是这样写的按下6040h 写 15松开6040h 写 7往上往下都一样60FF 一直挂着设定速度不动这两行看着很规矩而且在水平轴上先跑过效果挺好按下就走松开就停停得住也不冲。于是原样搬到了垂直轴。搬到垂直轴松开就往下溜。 15 和 7 之间只差一个 bit而那个 bit 决定的不是动不动是还出不出力矩。松手那一刻你要的是停止运动驱动器收到的是退出运行。在水平轴上这两件事看不出区别搬到垂直轴就全露出来了。⚠️ 还有一条事实先记着它跟会溜同样重要另外一条垂直轴程序一字不改却不滑。这条能告诉你真正的最后一道防线是什么第四节专门讲。· · · 一、15 和 7 之间差的是 bit3先把 6040h 这几个位摆清楚位符号含义bit 0SOSwitch on合闸bit 1EVEnable voltage允许上电bit 2QSQuick stop1 表示不快停bit 3EOEnable operation运行使能bit 7FRFault reset故障复位bit 8HALT临时停止不退出运行15 0x000Fbit0 到 bit3 全 1。7 0x0007bit0 到 bit2 是 1bit3 变成了 0。bit3 是 Enable operation也就是运行使能。清掉它触发的是 CiA402 状态机里的转换 5Operation enabled0x0027→ Switched on0x0023这个状态的含义技术资料里通常写成Energized, no torque功率级还通着电但电机不出力矩。⚠️ 这就是关键。很多人把 7 理解成关掉运动、电机还站着实际它是退出运行、力矩归零。功率级带电和能出力矩是两回事。所以在垂直轴上松开写 7 的真实效果是这样的电机先减一阵子速减到零之后彻底不出力。从这一刻起谁托住这根轴就不是电控说了算了。 二、减速那段归谁管看 605Ch别去调 Pr5.06松手之后确实会减速不然就不是溜一点而是直接砸下来。但减速由谁执行是有分支的。松下 A6 手册减速停止时序那一节写得很明白伺服 OFF 的时序由 605AhQuick stop option code、605BhShutdown option code、605ChDisable operation option code设置。这些对象为 0 时走伺服MINAS A6侧的减速功能非 0 时走 CoECiA402侧的减速功能。而 A6 的出厂初始值是对象出厂值605Ah Quick stop option code2605Bh Shutdown option code1605Ch Disable operation option code1605Dh Halt option code1605Ch 1非 0所以走的是 CiA402 侧按 slow down ramp 减速速度模式下用的就是 6084 减速度减完之后转 Switched on。⚠️ 这里有个很实在的坑既然走的是 CiA402 侧A6 自己的 Pr5.06伺服 OFF 时序在当前配置下根本不参与。不少人照着垂直轴伺服 OFF 时序去调 Pr5.06改完没反应原因就在这儿那条路压根没走。但更关键的不是减速走哪条路而是终点都一样。不管是 CiA402 侧的斜坡还是 A6 侧的减速终点都是力矩没了。减速只是让它滑得慢一点、滑得晚一点不会让它停住。停住需要的是力矩或者抱闸。顺带说一句那个常被误用的 DB如果你把 605Ch 改成 0才会走 A6 侧的 Pr5.06出厂值 0 是减速中动态制动停止后动态制动。动态制动的制动力正比于转速转速到零制动力就是零同样托不住静止的负载。所以那条路也不是解。· · · 三、CiA402 里停车有三种写法只有一种还出力矩这张表是整篇最该存下来的部分。写法6040h状态力矩怎么停由谁定Haltbit8 1即0x010F保持 Operation enabled✅ 保持605DhA6 出厂 1Disable operationbit3 0即0x0007转 Switched on❌ 撤掉605ChA6 出厂 1Quick stopbit2 0Quick stop active❌ 多数也撤605AhA6 出厂2⚠️ 第三条要说清楚因为很多人以为快停是安全的605Ah 2 在 CiA402 里的定义是按 quick stop ramp6085h减速随后转 Switch on disabled。也就是说快停停完之后同样断力矩垂直轴用快停照样失去保护。三种写法里只有 Halt 是停下但力矩还在。Halt 不触发状态转换驱动器停在 Operation enabled只是把运动停了。这正是点动松开需要的语义。· · · 四、同样是 6040 写 7为什么另一条垂直轴不滑这条事实说明一件事撤掉力矩是溜车的必要条件不是充分条件。力矩归零之后负载动不动只看一组对比重力顺着传动链折算过来的负载转矩有没有超过传动链自身的静阻力矩。超过了轴被自己驱动着转起来往下滑没超过摩擦把它卡在原地看上去没事所以两条垂直轴程序一模一样、结果却不同差别一定在机械侧。按概率排就这三种差别为什么不滑怎么确认有抱闸且时序对机械抱闸在力矩归零之前或同时夹紧查 BRK-OFF 输出时序或者松手时听有没有抱闸动作声传动链能自锁梯形丝杠或蜗轮蜗杆负载反推不动看丝杠类型和减速机型号静摩擦够大负载轻导轨或减速机的阻力吃掉了重力转矩断电后用手盘一下或者短行程实测自锁这条值得单独讲因为它有硬判据滑动螺旋副的自锁条件是导程角小于等于摩擦角写成式子就是tan λ ≤ μ其中λ arctan导程 ÷π × 中径。换算成临界摩擦系数更直观μ 临界 导程 ÷π × 中径实际摩擦系数大于它就锁得住。中径导程 5 mm导程 10 mm导程 20 mm20 mm0.07960.15920.318330 mm0.05310.10610.212240 mm0.03980.07960.15920.003 ~ 0.01滚珠丝杠的摩擦系数滚动摩擦0.10 ~ 0.30梯形丝杠的摩擦系数滑动摩擦⚠️滚珠丝杠永远不会自锁。它靠滚珠把滑动变成滚动摩擦系数只有 0.003 到 0.01而上表临界值最小的也有 0.04 左右差一到两个数量级。这正是它又快又省力的原因也正是它在垂直轴上必须配抱闸的原因。梯形丝杠反过来了效率只有 20% 到 50%效率低是缺点能自锁是优点。⚠️自锁只能当第二道防线不能当第一道。那个判据里的 μ 是整个计算中最不可靠的数新润滑脂会降低它螺纹磨合之后会降低它振动工况下有效摩擦系数甚至可以趋近于零螺栓在振动下会自己松就是同一个道理。真有坠落风险的位置要靠棘轮、制动器、蜗轮减速机或者机械挡块这类正向保持装置不能把安全押在摩擦上。 所以这次的排查可以很直接把两条垂直轴的机械配置摊开对比差别落在哪一项上原因就在哪一项上。抱闸、自锁、还是负载与摩擦一次就能定。· · ·✅ 五、怎么改三种改法按改动量排第一种改动最小6040 一直写 0x000F松开时只把 60FF 写 0这是最省事也最正确的点动写法。使能全程不动速度指令归零速度环自己维持零速伺服锁定把重力顶住。按下6040 写 1560FF 写设定速度松开6040 还是 15 不动60FF 写 0第二种规范写法松开时 6040 写 0x010F置 bit8Halt 语义清晰减速按 605Dh出厂 1slow down ramp走停在 Operation enabled力矩不撤。⚠️ 但必须配一个动作Halt 期间要把 60FF 也写成 0。Halt 只是把运动停住60FF 里那个设定值还在一旦清除 Halt 位轴会立刻按原速度冲出去。第三种确实需要断使能的场合把顺序补完整①60FF 写 0等 606Ch实际速度真正到零②确认零速之后再夹紧抱闸③抱闸确认夹住最后才写 7反过来的话中间那段窗口里轴是纯负载。⚠️另外那个60FF 不动的习惯建议改掉。现在松开时 60FF 还挂着设定速度全靠 605Ch 的斜坡兜着。哪天 605Ch 被改成 0、或者 6084 被人调大就是从设定速度直接断力矩垂直轴直接掉。留着设定速度松手是把安全押在一个选项码的出厂值上。 六、那行程越长滑越多和向下不滑呢主因已经定了这两条是次要因素但也别扔掉它们能帮你确认有没有第二处毛病。行程越长滑越多。点动虽然是恒速的从 0 加速到设定转速仍然需要距离。按 2000 r/min、加速度 30000 r/min/s、导程 10 mm 算要走11.11 mm才到顶。在这之前行程越短松手那一刻速度越低减速段越短后面那一段自由滑行的起点也越低。11.11 mm加速到 2000 r/min 需要走过的距离67 ms按 6084 从 2000 减到 0 的时间判别法继续加长行程滑量饱和→ 是加速段效应改完程序就该消失滑量还在线性涨→ 是位置相关外力拖链、线缆、气管悬挂重量随高度变化或者导轨某段阻力不同那得去查机械改程序治不了。向下不滑先别当结论。向下运行时轴本来就在往下走松手后那一段下滑会被当成多走了一点方向一致肉眼分不出来。验证办法用同一把尺子量两个方向。不看最终停在哪只看速度归零之后那 1 秒里 6064h 还在不在变。如果向下其实也在滑那这条观察就不成立只是你没看见。· · · 七、根治清单改程序这是主要的。6040 全程保持 0x000F松开只把 60FF 写 0或者走 Halt松开写0x010F同时把 60FF 归 0确实要断使能的补齐零速 → 夹紧抱闸 → 写 7的顺序别反过来回读确认松开后状态字应该一直稳在 0x0027。如果变成 0x0023说明力矩还是被撤了别去调 Pr5.06当前 605Ch 1 走的是 CiA402 侧那条路没生效断电场景另配Pr5.10 设 4 到 7 Pr6.10 bit10 1 Pr6.51 非零这是报警落下防止跟正常松手是两条路还有个高频混记顺手纠正Pr1.00 是位置环增益单位 0.1/sPr1.01 才是速度环增益单位 0.1 HzPr1.02 是速度环积分时间常数单位 0.1 ms。把 Pr1.00 当速度环比例增益调调的其实是位置环。⚠️ 如果改完还想动 Pr1.02注意它属于会被自动调整接管的参数。现场那组 Pr1.00 3050、Pr1.02 50 落在 A6 刚性表第 22 档上说明当前是自动调整在管。要手动调得先把 Pr0.02 设成 0 退出自动调整。另外自动调谐结束30 分钟内断电结果不保存收工前手动写一次 EEPROM。 八、波形怎么确认状态字 6041h 是第一证据。松开的那一瞬间开始采连采几百毫秒停在0x0027→ 力矩还在改对了跳到0x0023→ 进了 Switched on力矩没了还是老样子转矩曲线看松手后的形状减速期间应该有转矩速度到零的那一刻转矩掉下去紧接着位置曲线开始走。掉下去的那个点就是滑行的起点。位置曲线看速度归零之后还有没有台阶有台阶说明窗口还在。⚠️ 读波形前先做一件事单独选中某一个测量项看界面底部的实时数值别直接读纵轴刻度。PANATERM 右侧纵轴经常是多个物理量共用一套刻度把转矩的刻度当速度读很容易得出实际速度比指令还高这种结论。· · ·写在最后这个故障的根子不在增益不在机械也不在重力补偿。它在一行只有两个取值的程序里6040 写 15 还是写 7。15 和 7 之间差的是 bit3bit3 是运行使能运行使能决定电机出不出力矩。垂直轴松手之后还能不能站住就看那一刻还有没有力矩。CiA402 给停车留了三种写法只有 Halt 是停下但力矩还在。15 / 7 这对组合之所以用得顺手是因为它在水平轴上从来不出问题。水平轴没有外力持续推着它断掉力矩之后摩擦会让它停下断力矩和停下来在水平轴上是同一件事。所以水平轴测不出这个 bug它只会帮你在这段程序上盖一个验收通过。而另一条垂直轴程序一字不改却不滑那是机械在替你兜底。兜不兜得住跟程序没关系跟丝杠类型、有没有抱闸、负载多重有关系。兜住了是运气兜不住就是事故别把这两者的差别交给运气。❗ 最后一句安全的改完先跑短行程观察松手后的下滑量和机械冲击确认没问题再放大行程。要长期静止或者断电抱闸时序必须单独验收。觉得这篇有点用点个赞、点个在看也转给正在跟垂直轴较劲的同事。关注「老王的工控笔记」现场踩过的坑写下来就不算白踩。#伺服调试 #垂直轴 #松下 A6 #CiA402 #控制字 #6040h #Halt #点动 #溜车 #EtherCAT #滚珠丝杠 #自锁 #抱闸