- 欧姆龙 1S 伺服走位置模式,接收 PLC 的‘脉冲+方向’信号。 当 PLC 发送脉冲频率在 0Hz 到 140kHz 之间时,电机旋转方向完全正常(方向引脚 24V 为 ON 时正转,OFF 时
- 遇到软件底层 Bug 了: ATV340 变频器走闭环矢量控制。为了消除负载启动时的微小抖动,我想微调一下速度环参数。 我在参数列表里找到 ASR 比例增益 1(参数:ASR1),默认值是 10%。
- 项目卡在最后验收了:用安川 SG7M 伺服电机,带 24 位绝对值编码器。 设备旁边有一台高频振动筛(振动非常剧烈,地板都在抖)。 奇怪的故障: 只要振动筛不启动,伺服静止时,PLC 读到的编码器位置
- 请教一个反常识的硬件问题: 现场有一台 55KW 的 G120 变频器。为了抑制电网谐波,我特意在变频器进线端加装了一个原装的输入电抗器(进线电抗器)。 离奇的事情发生了: 没加电抗器之前,用钳形表
- 找个松下伺服的玄学问题: A6 伺服驱动器,分频输出脉冲接到了西门子 200Smart 的高速计数端口。 设备自动跑的时候,走一圈回原点,脉冲一个不差。 奇葩测试:当电机极慢速旋转时,我如果用手或
ACS580 变频器带一个单向旋转的特殊泵,工艺要求绝对不能反转,否则机械结构会打碎。 为了安全,我在变频器参数 30.12(最低速度)里设成了 100rpm,把正负反转限制死死锁在正向。 结果今天上
联系人:15626289589147
电话/手机:联系客服
发布时间:2026-07-06 00:10
浏览:126次



















































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、驱动器和独立安全或机械层面同时做防反转。