跳到主要内容

电机启停与点动控制

1. 设备简介

电机启停控制柜用于驱动三相异步电机, 广泛应用于机床辅助、化工搅拌、污水泵站、建材传输、食品加工等行业, 覆盖 ≤ 5.5 kW 小功率场景。本案例面向控制柜成套厂与 OEM, 以一台 0.75 kW 三相电机为控制对象, 实现 "启动 + 停止 + 正转 + 反转 + 点动 + 急停 + 过载保护" 七项联锁功能, 严格遵循 失效安全 (Fail-Safe) 原则, 急停/停止/过载全部使用常闭触点, 线路断开即触发停机。目标是做到正反转切换零相间短路、急停响应 ≤ 10 ms, 累计运行小时数可追溯。

2. 项目模块组成

  • 机械部分: 控制柜 + 三相电机 + 6 键按钮站 (启/停/正/反/点动/急停)
  • 电气部分: 研华工控机 + 汇川 IO + 正泰接触器 × 2 + 热继电器 + 电源
  • 软件部分: OB1 主循环 + FB_MotorControl + FB_AlarmManager + DB_MotorStats

3. 机械装配架构

操作员在按钮站选择正转/反转/点动, PLC 接收后通过 DO 驱动 KM1/KM2 接触器, 接触器再驱动三相电机。热继电器串联在电机主回路, 过载时常闭触点断开反馈到 DI, PLC 立即停机。KM1 与 KM2 机械互锁 (出厂自带) 作为硬件级第二道保护。

4. 程序架构

OB1 以 10 ms 周期扫描, FB_MotorControl 实现方向互锁 + 500 ms 切换延时, FB_AlarmManager 合并急停与过载信号, DB_MotorStats (Retain) 累计运行时间与启动次数。

5. 硬件选型 BOM

品牌型号数量单价 (¥)用途
研华MIO-5272 工控机13,000主控
汇川AM600-1616END185016DI/16DO EtherCAT IO
正泰NC1-0910 交流接触器245KM1 正转 / KM2 反转
正泰NR2-25/Z 热继电器160过载保护
正泰6 键按钮站1150启/停/正/反/点动/急停
佳木斯Y2-801-4 0.75kW 三相1650电机
明纬LRS-100-24112024V 电源

6. IO 模块配置

6.1 选择 IO 模块

在 IDE 中 项目树 > IO 设备 > 右键 > 添加 IO 设备 扫描 EtherCAT 网段, 确认汇川 AM600-1616END 的 Vendor ID / Product Code 后添加。

  • 从站 1: 汇川 AM600-1616END — 按钮采集 + 接触器控制

6.2 IO 地址分配

地址模块信号用途
%IX0.0从站 1SB_Start启动按钮 (常开)
%IX0.1从站 1SB_Stop停止按钮 (常闭)
%IX0.2从站 1SB_Fwd正转选择
%IX0.3从站 1SB_Rev反转选择
%IX0.4从站 1SB_Jog点动按钮
%IX0.5从站 1SB_EStop急停 (常闭)
%IX0.6从站 1FR_OL热继电器反馈 (常闭)
%QX0.0从站 1KM_Fwd正转接触器
%QX0.1从站 1KM_Rev反转接触器
%QX0.2从站 1HL_Run运行灯
%QX0.3从站 1HL_Fault故障灯

6.3 IO 用途分工

  • PLC 主控: KM1/KM2 互锁逻辑、正反转切换延时、点动保持逻辑
  • 安全链: 急停 + 热继电器全部使用常闭触点 (失效安全), 串联接入 DI
  • 硬件辅助: KM1/KM2 本体自带机械互锁作为第二道保护

7. 核心数据结构

TYPE UDT_Motor:
STRUCT
bRunning : BOOL; // 运行中
bFault : BOOL; // 故障
bFwdCmd : BOOL; // 正转指令
bRevCmd : BOOL; // 反转指令
bSwitching : BOOL; // 正反切换中
nRunHours : DINT; // 累计运行小时 (Retain)
nStartCount : DINT; // 启动次数 (Retain)
END_STRUCT
END_TYPE

VAR_GLOBAL RETAIN
gStats_Motor : UDT_Motor;
END_VAR

8. 核心程序代码

FB_MotorControl — 方向互锁 + 切换延时:

FUNCTION_BLOCK FB_MotorControl
VAR_INPUT
bStart, bStop, bFwd, bRev, bJog, bEStop, bOverLoad : BOOL;
END_VAR
VAR
tonSwitch : TON;
tSwitchTime : TIME := T#500ms;
END_VAR

// 故障合并 (急停 OR 过载)
gStats_Motor.bFault := NOT bEStop OR NOT bOverLoad;
IF gStats_Motor.bFault THEN
gStats_Motor.bRunning := FALSE;
gStats_Motor.bFwdCmd := FALSE;
gStats_Motor.bRevCmd := FALSE;
END_IF;

// 启停
IF bStart AND NOT gStats_Motor.bFault AND NOT gStats_Motor.bSwitching THEN
gStats_Motor.bRunning := TRUE;
gStats_Motor.nStartCount := gStats_Motor.nStartCount + 1;
END_IF;
IF NOT bStop THEN gStats_Motor.bRunning := FALSE; END_IF;

// 正反转互锁 (软件 + 延时)
IF gStats_Motor.bRunning AND NOT gStats_Motor.bSwitching THEN
IF bFwd AND NOT bRev THEN
IF gStats_Motor.bRevCmd THEN
gStats_Motor.bRevCmd := FALSE;
gStats_Motor.bSwitching := TRUE;
ELSE
gStats_Motor.bFwdCmd := TRUE;
END_IF;
END_IF;
END_IF;

// 500 ms 切换延时
tonSwitch(IN := gStats_Motor.bSwitching, PT := tSwitchTime);
IF tonSwitch.Q THEN
gStats_Motor.bSwitching := FALSE;
IF bFwd THEN gStats_Motor.bFwdCmd := TRUE; END_IF;
IF bRev THEN gStats_Motor.bRevCmd := TRUE; END_IF;
END_IF;

FB_MainControl — 点动与输出映射:

// 点动优先 (保持式: 按住转, 松手停)
IF bJog AND NOT gStats_Motor.bFault AND NOT gStats_Motor.bRunning THEN
KM_Fwd := TRUE; KM_Rev := FALSE;
ELSIF gStats_Motor.bRunning THEN
KM_Fwd := gStats_Motor.bFwdCmd AND NOT gStats_Motor.bRevCmd;
KM_Rev := gStats_Motor.bRevCmd AND NOT gStats_Motor.bFwdCmd;
ELSE
KM_Fwd := FALSE; KM_Rev := FALSE;
END_IF;
HL_Run := gStats_Motor.bRunning OR bJog;
HL_Fault := gStats_Motor.bFault;

// 累计运行小时
tonHour(IN := gStats_Motor.bRunning, PT := T#1h);
IF tonHour.Q THEN
gStats_Motor.nRunHours := gStats_Motor.nRunHours + 1;
tonHour(IN := FALSE);
END_IF;

9. 运行与调试

  1. 仿真验证: 在 IDE 仿真 Runtime 中强制 DI, 观察 KM_Fwd/KM_Rev 与预期一致
  2. 下载部署: 断电接线确认 → 通电下载 → 在线监控 DB_MotorStats
  3. 现场调试顺序: 先手动测试急停 (断 24V 模拟) → 测试过载 (按热继电器 Test 按钮) → 再启动电机
  4. 强制测试: 在线强制 bFwd := TRUE, 观察 Q0.0 输出正常 + 电机正转
  5. 常见报警: 接触器不吸合 → 检查 24V 电源与接触器线圈; 运行中突然停 → 查看 bFault 与故障灯

10. 用到的 Darra 功能

功能模块本案例用到的说明
PLC 编程SCL + UDT 结构体 + Retain 变量 + TONIEC 61131-3 标准
HMI本地 + 手机端故障推送运行时间/启动次数远程查看
通讯EtherCAT 主站IO 采集与接触器控制
数据记录运行小时 / 启动次数 RetainOEM 可按时长计费
服务终端授权 + 故障推送微信售后效率提升

11. 项目总结

  • 实测指标: 急停响应 8 ms (1 扫描周期), 正反切换延时 500 ms 零相间短路, 连续 30 天无误动作
  • 扩展方向:
    1. 接入变频器 (Modbus RTU) 实现软启动 + 调速, 功率扩展到 15 kW
    2. 增加振动/温度传感器, 实现预测性维护, 超阈值推送维保告警 (工单由上层系统生成)
    3. 多台电机组控版本 (水泵组/风机组), 支持轮换与备用切换