返回
ACS580 变频器带一个单向旋转的特殊泵,工艺要求绝对不能反转,否则机械结构会打碎。 为了安全,我在变频器参数 30.12(最低速度)里设成了 100rpm,把正负反转限制死死锁在正向。 结果今天上
发布

ACS580 变频器带一个单向旋转的特殊泵,工艺要求绝对不能反转,否则机械结构会打碎。 为了安全,我在变频器参数 30.12(最低速度)里设成了 100rpm,把正负反转限制死死锁在正向。 结果今天上

76阅读 1 回复 2026-07-06 00:10发布
关注Ta

15626289589147普通会员楼主

电话/手机:联系客服

ACS580 变频器带一个单向旋转的特殊泵,工艺要求绝对不能反转,否则机械结构会打碎。 为了安全,我在变频器参数30.12(最低速度)里设成了 100rpm,把正负反转限制死死锁在正向。 结果今天上位机编程人员走 Profinet 总线控制,控制字里不小心发了一个负的速度给定(比如 -500rpm),变频器竟然‘毫无怨言’地开始反转了!直接把机械轴顶碎了! 既然我在 30 组安全参数里限制了速度范围,为什么总线通信指令可以无视变频器的底层硬件限制?这参数设来是摆设吗?

以下内容回复后可见

优质评论内容

  • 明扬工控技术客服

    明扬工控技术客服2026-07-06 00:12:21

    亲,这不是 PROFINET “绕过了底层限制”,而是参数理解反了。

    ACS580 的 30.12 不是最低速度,而是最大速度。真正限制反向速度的是 30.11 Minimum speed;真正锁定运行方向的是 20.21 Direction。

    ABB 手册明确区分:

    30.11 Minimum speed:反向一侧的最低速度限制
    30.12 Maximum speed:正向一侧的最高速度限制

    所以把 30.12=100 rpm,实际含义更接近:

    正向最多允许 100 rpm

    它完全没有禁止负速度。如果 30.11 仍然是负数,例如 -1500 rpm,那么 PLC 发 -500 rpm 正好位于允许范围内,变频器当然会执行反转。ABB 的现场总线资料也说明,PLC 下发的速度给定在正向由 30.12 限制,在反向由 30.11 限制。

    为什么负数给定会直接反转?

    PROFINET 的速度给定是有符号数。ABB FPNO-21 手册明确说明,负速度给定采用二进制补码表示,负号本身就代表反向旋转。也就是说:

    +500 rpm → 正向
    -500 rpm → 反向

    这不是异常报文,也不会自动报错,而是一条完全合法的反向速度命令。

    因此实际过程是:

    PLC 发出 -500 rpm

    ACS580 当前允许外部命令决定方向

    30.11 仍允许负速度

    变频器正常执行反转
    正确的单向运行设置
    1. 把方向参数锁成 Forward

    重点检查:

    20.21 Direction = Forward

    不要保持:

    20.21 Direction = Request

    Request 表示方向可以由外部控制源、控制字或给定值决定;设为 Forward 后,驱动器固定为正向,负外部给定会被当成零,而不是执行反转。ACS580 固件手册把 20.21 定义为方向锁定参数,并说明它与外部方向命令共同决定实际旋转方向。

    2. 正确设置速度上下限

    如果是矢量控制模式:

    30.11 Minimum speed = 0 rpm
    30.12 Maximum speed = 工艺允许的正向最高速度

    例如:

    30.11 = 0 rpm
    30.12 = 1500 rpm

    这才表示允许范围是:

    0 ~ 1500 rpm

    而不是:

    -1500 ~ 100 rpm

    如果是标量频率控制模式,则对应检查:

    30.13 Minimum frequency
    30.14 Maximum frequency

    ABB资料也明确指出,矢量模式使用 30.11/30.12,标量模式使用30.13/30.14。

    但仅靠这些参数还不够

    这里是这个事故真正需要吸取的教训:

    参数组30只是普通运行限幅,不是功能安全参数;20.21也只是软件方向锁,不是安全认证的“安全方向”功能。

    如果反转会直接打碎设备,就不能把安全建立在“上位机不会发负数”和“变频器参数没人改”上。

    建议至少做三层保护。

    第一层:PLC 给定限幅

    PLC 出口统一处理:

    IF SpeedCommand < 0 THEN
        DriveReference := 0;
        ReverseCommandFault := TRUE;
    ELSE
        DriveReference := MIN(SpeedCommand, MaxForwardSpeed);
    END_IF;

    不要让 HMI 或上位机变量直接映射到 PROFINET 速度字。

    同时检查:

    变量是不是 INT/DINT 有符号类型
    缩放过程中有没有溢出
    字节序有没有把大正数解释成负数
    通信异常时是否保留上一次给定
    第二层:驱动器双重锁定

    同时设置:

    20.21 Direction = Forward
    30.11 Minimum speed = 0 rpm
    30.12 Maximum speed = 正向允许最大值

    然后必须实际测试:

    发送 -1 rpm
    发送 -100 rpm
    发送最小负数
    切换控制源
    通信恢复
    PLC重启
    变频器断电重启

    确认所有情况下电机都不产生反向转矩。

    第三层:独立安全或机械防反转

    ACS580 标准内置的认证安全功能主要是 STO;FSPS-21 PROFIsafe 模块提供的是 STO 和带时间监控的 SS1-t,并不等于安全方向监控。

    对于“绝对不能反转”的设备,应根据风险评估增加:

    独立方向检测编码器/传感器
    安全PLC或安全方向监控器
    检测到反向立即触发STO
    机械止逆器、单向离合器或止回结构

    普通 PLC 读取实际转速为负后停机,只能算工艺保护,不应单独承担安全功能。

    现场现在应立即检查
    1. 读取并记录 20.21、30.11、30.12、99.04
    2. 确认当前外部控制位置 EXT1/EXT2 的命令来源
    3. 确认 FPNO-21 使用的通信配置文件和速度缩放
    4. 把 20.21 改成 Forward
    5. 把 30.11 改成 0 rpm
    6. 恢复正确的 30.12 正向最大速度
    7. PLC增加负值拦截和锁存报警
    8. 脱开机械后实际发送负给定验证

    一句话总结:

    30.12 是正向最大速度,不是最低速度,更不是反转禁用参数。PROFINET 发负给定时,ACS580 按设计把它解释为反向命令。单向泵应将 20.21=Forward、30.11=0 rpm,并在 PLC、驱动器和独立安全或机械层面同时做防反转。