电话/手机:联系客服
急求汇川伺服垂直轴防溜轴方案:
SV660N 伺服带带抱闸电机做 Z 轴垂直提升。
正常运行没问题,定位很准。
核心故障: 每次设备停机后再重新启动(Servo ON),在伺服解除封锁、给电机抱闸线圈通电释放抱闸的瞬间,机械轴总是会先往下跌落 2 毫米左右,然后才被伺服拉住并向上提升!
我尝试把参数里的‘抱闸打开延迟时间’调大,结果抱闸线圈和电机力矩打架,伺服直接爆 E120.0(伺服过载)跳闸。
为什么伺服在抱闸松开的毫秒级瞬间锁不住重力?汇川伺服的零速预转矩(防溜轴功能)到底该怎么跟抱闸时序匹配?
优质评论内容
亲,这个问题我重新按 SV660N 官方手册的抱闸时序和参数核了一遍,这次可以比前面说得更准确。这里其实有两个很关键的“坑”。
第一,E120.0 不是过载。 SV660N 官方故障表中,E120.0 是 Unknown encoder type(无法识别的编码器类型);真正的电机过载是 E620.0 Motor overload,堵转是 E630.0。所以现场首先要重新确认面板报码,很可能原帖把 E620.0 写成了 E120.0。
第二,也是更关键的一点:SV660N 的 H02-09 并不是“让抱闸晚一点打开、好让电机提前顶住”的参数。
它的官方定义是:
H02-09:从 BK 抱闸输出 ON 到伺服开始接受位置/速度/转矩指令之间的延时。
范围 0~500 ms,默认 250 ms。在这段时间内,SV660N 不接受位置、速度、转矩指令。
因此如果楼主把它理解成“防溜轴预加载时间”,方向就已经错了。
SV660N 官方真正的启动抱闸时序
官方时序图其实已经把答案画出来了。
Servo ON 后,SV660N 大约经过 100 ms:
S-ON
│
│ ≈100ms
↓
电机通电 ────────────────
BK 输出 ON ───────────────
↓
抱闸开始释放
也就是说,电机通电和 BK 释放命令基本同时建立;但机械抱闸从线圈得电到摩擦片真正松开还有自身机械动作时间。然后驱动器继续等待 H02-09,这段时间不接受正常运动指令,之后才允许位置/速度/转矩指令真正进入。
这套设计本意其实就是:
先让电机进入通电控制状态,同时开始松机械抱闸;等抱闸确实松开以后,再让轴真正运动。
所以正常情况下绝不是:
先发向上运动指令
↓
电机顶住抱闸
↓
再把抱闸松开
那样当然非常容易大电流。
那为什么它还是会掉2mm?
这里才是垂直轴问题的核心。
如果没有重力补偿,Servo ON 后虽然电机已经通电,但在理想静止点:
位置给定 = 实际位置
位置误差 ≈ 0
位置环没有理由提前产生一大股向上的转矩。
机械抱闸一旦真正松开:
重力开始拉负载向下
↓
编码器检测位置变化
↓
产生位置误差
↓
位置环输出速度修正
↓
速度环输出转矩
↓
电机才把负载拉回来
这本质上是一种反馈式纠偏:
先产生误差,伺服才知道需要多少力纠正。
对于水平轴没什么大问题。
对于垂直重载轴:
等位置误差出现以后再出力,就已经晚了一点。
于是肉眼看到:
抱闸松
↓
Z轴下坠
↓
伺服发现位置偏差
↓
转矩迅速增加
↓
把轴抓回来
这就是“先掉2mm,再向上提”。
2 mm 已经不算正常的细小松动了,说明我会重点检查重力补偿和抱闸控制时序,而不是单纯再提高位置环增益。
SV660N 确实有专门的“重力补偿”
这个参数我现在可以给你准确写出来:
H09-32
通信地址:2009-21h
Gravity compensation value
重力补偿值
SV660N 手册把它定义为:
用于给垂直重力负载提供恒定补偿转矩。
它其实就是这个问题里所谓“零速预转矩”最接近、最应该使用的内置功能。SV660N 还支持 60B2h Torque offset,但对于这种普通垂直位置轴,优先理解并使用专门的 H09-32 重力补偿更合理,不要先自己在 PLC 里乱塞 torque offset。
官方资料甚至明确把 H09-32 放在垂直轴相关补偿功能里:
H09-32 Gravity compensation
↓
给垂直负载一个恒定保持转矩
正确的防溜轴思路应该变成这样
第一步:抱闸还抱着
机械抱闸 = 抱住
Servo = OFF
重量由机械抱闸承担。
第二步:Servo ON
S-ON = ON
SV660N进入电机通电状态。
这时候通过:
H09-32 重力补偿
让电机已经产生接近:
抵消负载重力所需的转矩。
注意,这不是叫电机往上走。
而是:
向上的电机转矩
≈
向下的重力转矩
因此合力接近零。
第三步:BK释放抱闸
SV660N约在 S-ON 后约100ms产生 BK ON,同时电机处于通电状态。
机械抱闸还有自己的释放时间。
不同汇川带抱闸电机的机械释放时间可以从几十毫秒到约100ms;官方也特别提醒,实际释放/吸合时间会受到抱闸回路影响,必须按机器实际确认。
此时如果:
重力补偿转矩 ≈ 实际重力负载转矩
机械抱闸真正松开的瞬间:
机械抱闸承重
↓
逐渐退出
↓
伺服电机承重
负载不会经历:
“两边都没人接”的空档。
这才叫防溜轴。
第四步:等 H02-09 结束以后,才开始真正运动
官方要求得很明确:
BK ON 后,在 H02-09 时间内不要输入位置、速度或转矩运动指令,否则可能出现指令丢失或运行错误。
也就是说:
S-ON
↓
电机通电
↓
BK ON
↓
抱闸机械释放
↓
【H02-09 等待】
↓
真正的 MoveAbsolute / 上升指令
而不是:
Servo ON
+
Move Up
+
Brake Release
三个东西同时扔出去。
楼主“把抱闸打开延时加大以后,电机跟抱闸打架”反而暴露了另一个问题
这一点非常重要。
如果他改的真的是 SV660N 官方的 H02-09,理论上增加 H02-09 是延后“接受运动指令”,并不会让电机更早顶着抱闸运动。
所以:
“H02-09 加大 → 电机跟抱闸打架”
这两件事并不符合官方 H02-09 的定义。
我因此高度怀疑现场实际上是下面两种之一。
情况A:PLC自己控制抱闸继电器
例如:
PLC Servo ON
↓
PLC开始发位置命令
↓
PLC定时器
↓
最后才释放抱闸
那么定时器越大:
电机已经想走
+
机械抱闸仍锁住
时间越长。
自然就可能:
位置偏差越来越大
↓
转矩越来越大
↓
电机顶着抱闸
↓
E620.0过载 / E630.0堵转
情况B:参数名被理解错了
现场说的:
“抱闸打开延迟”
可能根本不是 H02-09。
所以这个案例必须把真正改动的参数号拿出来,不能只说中文名称。
我会首先检查抱闸是不是交给 SV660N 自己控制
官方推荐带抱闸电机把一个 DO 配置为:
FunOUT.9 = BK
即专用抱闸输出,默认通常使用 DO3,再由这个信号控制外部抱闸回路。
如果现场却是:
PLC DO
↓
继电器
↓
抱闸线圈
完全绕过伺服的 BK 时序,
那就很容易出现:
PLC认为Servo ON了
≠
电机已经建立稳定保持转矩
这时候我反而建议把抱闸时序重新按 BK 输出设计。
H09-32 到底应该设多少?
这个不能拍脑袋写:
30%
50%
80%
最可靠的现场办法是先测。
设备必须做好机械防坠支撑,人员退出危险区域,然后在能够安全保持的位置:
抱闸完全释放
Z轴静止
Servo保持
监视:
6077h Actual torque
实际转矩
SV660N 本身提供实际转矩监视 6077h。
假设仅举例:
Z轴静止不动
实际保持转矩 ≈ 27%
这说明:
当前这套负载大概需要这一数量级的电机转矩才能平衡重力。
那么 H09-32 应围绕这个实际负载需求从低值逐渐调整,而不是一下塞很大的补偿。
同时必须确认:
补偿方向。
否则如果补偿方向恰好和重力同向:
重力 ↓
+
补偿 ↓
抱闸一开,轴会掉得更狠。
有一个非常好的判断实验
现在别让它真正执行向上运动。
只做:
Servo ON
↓
释放抱闸
↓
目标位置保持不变
用软件同时监视:
Actual position
Actual speed
Actual torque
BK
S-ON
如果现在看到
BK释放前:
Torque ≈ 0
BK释放:
Position开始向下
↓
Torque迅速上升
↓
位置被重新拉回来
那几乎可以确定:
没有足够的预重力转矩。
如果调好 H09-32 后变成:
BK释放前后:
Torque已经接近负载保持转矩
Position:
几乎不动
那么这个问题就真正解决到根上了。
停机也一样重要
防溜轴不能只调启动。
官方对静止 Servo OFF 的顺序其实设计得很好:
S-ON OFF
↓
BK立即OFF
↓
机械抱闸开始抱合
↓
电机并不立即断转矩
↓
继续通电 H02-10 时间
↓
最后电机才去使能
H02-10 官方范围是 50~1000ms,默认150ms,用途就是:
抱闸开始夹紧以后,继续让电机保持一段时间,防止垂直轴在抱闸真正夹紧前下坠。
这点特别值得现场核对。
因为不同 MS1 电机的实际抱闸吸合时间并不一样,有些型号官方数据达到 200 ms 左右。所以不能看到:
H02-10 默认150ms
就认为任何电机都够。
必须:
H02-10
>
实际抱闸夹紧时间
+
继电器/电源回路余量
在设备安全验证的前提下确定。
所以我会给这个故障一个非常明确的排查顺序
先确认报码。 E120.0 官方不是过载;如果真是电机过载,应更像 E620.0。
确认抱闸是不是由 FunOUT.9 / BK 控制,而不是 PLC 自己乱拼时序。
查 H09-32 Gravity compensation,现在是不是0。
在安全条件下读取 6077h实际转矩,确定垂直轴静止真正需要多少保持转矩。
做“只 Servo ON + 松抱闸、不运动”的测试,看 BK 松开瞬间的位置、转速和转矩。
核实 H02-09。它是BK释放后到接受运动命令的等待时间,不是“提前产生上升转矩”的参数。
核实 H02-10,确保停机时抱闸已经真正夹住后,电机才撤掉转矩。
最后把它浓缩成一句现场逻辑就是:
启动时:先让伺服带着重力补偿接住负载,再松机械抱闸;抱闸完全松开后才允许运动。
停机时:伺服先保持负载,机械抱闸先夹紧;确认抱闸已经承重以后,伺服最后才撤转矩。
所以这个“先掉2mm”的真正治疗方向不是继续堆抱闸延时,而是 H09-32 重力补偿 + BK标准时序 + H02-09/H02-10正确理解。而如果现场所谓“延时调大就跟抱闸打架”,我第一件事就是让他把实际修改的参数号和 PLC 抱闸逻辑贴出来,因为这已经很像抱闸没有按 SV660N 官方 BK 时序在运行。