返回
用台达 B3 伺服做追剪/飞剪设备,遇到了软件坑。 因为材料规格经常变,需要用 PLC 动态修改伺服内部的电子齿轮比(N/M)。我把电子齿轮比切换引脚(如 GNUM0/GNUM1)接到了 PLC 输出
发布

用台达 B3 伺服做追剪/飞剪设备,遇到了软件坑。 因为材料规格经常变,需要用 PLC 动态修改伺服内部的电子齿轮比(N/M)。我把电子齿轮比切换引脚(如 GNUM0/GNUM1)接到了 PLC 输出

128阅读 1 回复 2026-07-24 00:04发布
关注Ta

15627942194653普通会员楼主

电话/手机:联系客服

用台达 B3 伺服做追剪/飞剪设备,遇到了软件坑。
因为材料规格经常变,需要用 PLC 动态修改伺服内部的电子齿轮比(N/M)。我把电子齿轮比切换引脚(如 GNUM0/GNUM1)接到了 PLC 输出。

伺服在静止(Servo ON,无脉冲输入)状态下,切换电子齿轮比,一切正常。

核心故障:当电机正在以 500rpm 低速旋转时,PLC 给出切换信号,伺服内部齿轮比一变,伺服驱动器瞬间闪红灯跳闸,报错 AL009(位置偏差过大)。
此时 PLC 的脉冲依然是连续平滑输出的,没有突变。
为什么在运行中动态切换齿轮比,会导致位置环内部的指令位置计数器(Command Counter)瞬间和实际位置脱节

以下内容回复后可见

优质评论内容

  • 明扬工控技术客服

    明扬工控技术客服2026-07-24 00:34:06

    亲,这个不是 PLC 脉冲“不平滑”,而是你在运行中改电子齿轮比,相当于在伺服内部把“同一串脉冲的物理意义”突然改了。

    先下结论:

    电子齿轮比不适合在电机旋转、脉冲连续输入时硬切换。它不是无缝变速箱,而是脉冲到内部位置指令的比例尺。运行中一切换,伺服内部的位置命令速度、命令加速度,甚至命令计数基准都会突变,所以很容易直接 AL009 位置偏差过大。

    台达 B3 手册说明,ASDA-B3 的电子齿轮是按 24-bit 分辨率换算的,1 圈对应 16,777,216 个内部计数;电子齿轮比用于把外部控制器脉冲换算成伺服内部位置命令,相关参数包括 P1.044 电子齿轮分子和 P1.045 分母。手册也提醒,较大的电子齿轮比会让运动曲线出现尖角、产生高 jerk,需要用 S 曲线命令滤波或低通滤波来缓和。

    一、为什么静止切换没事,运行中切换就炸?

    静止时:

    Servo ON
    无脉冲输入
    命令位置不再增加
    实际位置也不动

    电子齿轮比切换

    没有连续运动指令被重新解释

    所以看起来正常

    运行中就完全不同了。

    伺服内部大概是这样算的:

    PLC 脉冲输入

    乘以电子齿轮比 N/M

    变成伺服内部位置命令

    位置环追这个命令

    也就是:

    位置命令增量 = 外部脉冲数 × N / M

    当电机正在 500 rpm 跑时,PLC 脉冲虽然连续、平滑,但你突然把 N/M 改掉,伺服看到的不是“平滑脉冲”,而是:

    同样的脉冲频率

    突然变成另一个命令速度

    举个直观例子:

    切换前:
    1 个 PLC 脉冲 = 1 个内部单位

    切换后:
    1 个 PLC 脉冲 = 2 个内部单位

    PLC 没有加速,脉冲频率没变,但伺服内部等效命令速度已经瞬间翻倍。

    这对位置环来说就是:

    命令速度阶跃
    命令加速度近似无穷大
    位置偏差瞬间拉开

    AL009
    二、AL009 本质就是“命令位置和实际位置差太大”

    台达 B3 的 AL009 对应的是 Excessive deviation of Position command,触发条件就是命令位置与反馈/响应之间的偏差超过允许范围,例如由 P2.035 设定的允许偏差。

    所以这个报警很合理:

    电子齿轮比切换

    内部位置命令突然改变斜率

    电机实际位置受惯量限制,不能瞬间跟上

    Command Counter 和反馈位置差值迅速变大

    超过位置偏差阈值

    AL009

    不是驱动器软件崩了,是位置环在保护自己。

    三、还有一个更隐蔽的坑:不是只影响“未来脉冲”

    很多人以为:

    电子齿轮切换后
    只会改变后面新来的脉冲
    不会影响已经累计的命令

    但伺服内部不一定按你想象的“新旧完全分段”处理。

    它可能同时存在几类量:

    外部脉冲累计计数
    电子齿轮换算后的内部命令计数
    位置命令滤波器缓存
    位置偏差计数器
    插补/平滑队列

    运行中一切换,可能出现:

    前一部分命令按旧比例
    后一部分命令按新比例
    滤波器里还有旧比例的命令
    当前脉冲边沿又按新比例进入

    于是内部 Command Counter 不是平滑延续,而是被重新解释或突然改变增量。

    在静止无脉冲时,这些动态缓存基本没有变化,所以你看不出问题;一旦旋转中切换,问题马上暴露。

    四、GNUM0/GNUM1 也不是“无缝换挡信号”

    GNUM0/GNUM1 这种电子齿轮选择 DI,本质是让驱动器选择不同的电子齿轮组。旧 ASDA-B 系列手册对 GNUM0 的说明里就明确写到,电子齿轮分子可由外部 DI 信号选择,并且电子齿轮设置错误会导致电机运行混乱;电子齿轮比范围也有限制。

    它的设计用途更接近:

    换规格
    换分辨率
    换机械单位
    换批次产品

    而不是:

    电机正在跑
    追剪正在同步
    每隔一段时间在线换比例

    如果 GNUM 在脉冲输入过程中切换,还会有时序问题:

    某些脉冲按旧齿轮比计算
    某些脉冲按新齿轮比计算
    切换边沿附近被驱动器采样到不确定状态
    位置命令出现一步跳变

    所以这不是普通 DI 的问题,而是“比例尺切换”和“脉冲流”没有同步。

    五、追剪/飞剪更不应该靠运行中切电子齿轮比

    追剪、飞剪的核心是:

    主轴材料位置

    从轴伺服按同步关系跟随

    在切割窗口内完成速度同步和相位同步

    如果材料规格经常变,正确做法不是让伺服在运动中换电子齿轮,而是:

    PLC 或运动控制器根据规格计算目标脉冲频率/脉冲数
    伺服电子齿轮保持固定

    也就是说:

    规格变化

    PLC 改运动曲线
    而不是
    驱动器运行中改电子齿轮

    电子齿轮最好作为“固定单位换算层”,不要作为“在线工艺变量”。

    六、现场最快验证

    你可以这样验证,基本一试就明白:

    1. 记录切换瞬间的偏差计数

    用 ASDA-Soft 或监控参数抓:

    外部脉冲频率
    命令位置
    实际位置
    位置偏差
    实际速度
    转矩电流
    GNUM0/GNUM1 状态
    AL009 发生时刻

    如果切换瞬间位置偏差从很小突然跳大,就是电子齿轮切换造成命令阶跃。

    2. 先停脉冲再切换

    临时改 PLC 逻辑:

    停止脉冲输出
    等待电机到位 / 速度为 0
    等待 INP 稳定
    切换 GNUM0/GNUM1
    等待 20~100ms
    再恢复脉冲

    如果这样不报 AL009,说明硬件没问题,根因就是运行中切换电子齿轮。

    3. 切换前后保持等效速度不变

    如果必须做在线切换,至少要让 PLC 同步改变脉冲频率:

    旧齿轮比 K1
    新齿轮比 K2

    为了内部命令速度不突变:
    新脉冲频率 = 旧脉冲频率 × K1 / K2

    但这只是减少速度阶跃,仍然不能完全解决内部缓存、采样边沿和偏差计数问题。

    七、建议整改方案

    我会按安全程度排序:

    第一方案:
    电子齿轮比固定不变。
    材料规格、追剪长度、同步比例全部在 PLC / 运动控制器里算。
    伺服只接收连续、平滑的脉冲。

    第二方案:
    只允许在停止、到位、无脉冲输入时切换 GNUM。
    切换后清楚确认当前命令位置、实际位置、偏差状态。

    第三方案:
    用总线运动控制、电子凸轮、同步轴功能。
    让控制器做 cam / gear-in / gear-out,而不是靠伺服 DI 硬切电子齿轮。

    第四方案:
    如果必须运行中切换,则:
    先进入低速窗口
    停止脉冲或冻结脉冲
    等待位置偏差接近 0
    切换 GNUM
    等待驱动器采样稳定
    按新比例重新规划脉冲频率
    再继续运行

    不要这样做:

    电机正在 500rpm 跑
    PLC 脉冲连续输出
    GNUM0/GNUM1 硬切
    指望驱动器内部无缝接管

    这基本就是在给位置环制造阶跃命令。

    八、如果非要保留动态切换,要加保护

    至少加这些条件:

    1. 只在速度低于某阈值时允许切换
    2. 只在位置偏差小于某阈值时允许切换
    3. 切换前禁止脉冲输入
    4. 切换后延时确认 GNUM 状态
    5. 切换后重新建立命令基准
    6. 必要时扩大 AL009 偏差阈值,但不能靠无限放大阈值掩盖问题
    7. 加 S 曲线命令滤波或低通滤波

    台达 B3 手册对电子齿轮比造成尖角和高 jerk 的提醒,正好说明这个问题:齿轮比变化会改变命令曲线形状,滤波只能缓和,不能把硬切变成真正无缝。

    最可能的真实原因
    第一:
    运行中切换电子齿轮比,使内部位置命令增量突然变化,Command Counter 斜率突变。

    第二:
    驱动器内部滤波/命令缓存里残留旧齿轮比数据,新齿轮比一切入,位置命令不连续。

    第三:
    GNUM0/GNUM1 切换边沿与外部脉冲输入不同步,部分脉冲按旧比例、部分按新比例计算。

    第四:
    500rpm 下实际不是“低速”,位置环和机械惯量已经无法承受瞬时比例跳变。

    第五:
    AL009 是位置偏差保护,不是软件 Bug。

    一句话:

    电子齿轮比是脉冲到内部位置命令的比例尺,不是可以运行中随便切的无级变速器。PLC 脉冲再平滑,N/M 一变,伺服内部命令位置的斜率就会突变,实际位置跟不上,Command Counter 和反馈位置马上脱节,所以 AL009。追剪/飞剪要把电子齿轮固定,把规格变化放到 PLC/运动控制器里算,或者只允许在停止无脉冲时切换 GNUM。