PLC 的高速计数器(HSC) 实现运动机构的正点、反点、停止控制,核心是通过高速计数的数值比较触发定位动作,结合 PLC 的程序逻辑完成点动与停止的互锁和时序控制。以下是结构化的实现方案,以三菱 FX 系列 PLC和台达 DVP 系列 PLC为例,涵盖原理、硬件配置、程序设计、故障排查。
一、控制原理
二、硬件配置步骤
1. 编码器与 PLC 接线(以三菱 FX3U 为例)
| 编码器信号 | FX3U 高速计数器端子 | 功能说明 |
|---|---|---|
| A 相(脉冲) | X0(HSC0 的 A 相) | 计数脉冲输入 |
| B 相(方向) | X1(HSC0 的 B 相) | 方向判断输入 |
| Z 相(清零) | X2(可选) | 原点复位信号 |
| +5V | PLC 的 DC5V 输出 | 编码器供电 |
| GND | PLC 的 GND 端子 | 公共地 |
2. 高速计数器参数设置
三、程序设计(梯形图 + 指令说明)
以三菱 FX3U为例,实现正点、反点、停止控制,程序分为初始化、正点控制、反点控制、急停控制四个模块。
1. 变量定义
| 软元件 | 功能说明 |
|---|---|
| X10 | 正点启动按钮(常开) |
| X11 | 反点启动按钮(常开) |
| X12 | 急停按钮(常闭,硬接线优先) |
| Y0 | 电机正转输出 |
| Y1 | 电机反转输出 |
| C235 | HSC0 对应的计数器(FX3U) |
| D100 | 正向目标计数值(如 5000 脉冲) |
| D101 | 反向目标计数值(如 - 5000 脉冲) |
| M0 | 正点运行标志 |
| M1 | 反点运行标志 |
2. 梯形图程序及解析
(1)初始化程序
plaintext
LD M8002 // PLC上电初始化脉冲 MOV K0 C235 // 高速计数器清零 MOV K5000 D100 // 设置正向目标值 MOV K-5000 D101 // 设置反向目标值 RST M0 // 清除运行标志 RST M1
(2)正点控制程序
plaintext
// 正点启动 LD X10 ANI Y1 // 与反转互锁 ANI M1 SET M0 OUT Y0 // 输出正转指令 // 正向计数到达目标值停止 LD C235 >= D100 // 计数器值≥正向目标值 RST Y0 // 停止正转 RST M0 // 清除标志 MOV K0 C235 // 计数器清零
(3)反点控制程序
plaintext
// 反点启动 LD X11 ANI Y0 // 与正转互锁 ANI M SET M1 OUT Y1 // 输出反转指令 // 反向计数到达目标值停止 LD C235 <= D101 // 计数器值≤反向目标值 RST Y1 // 停止反转 RST M1 // 清除标志 MOV K0 C235 // 计数器清零
(4)急停控制程序
plaintext
// 硬急停(优先执行) LD X12 OUT Y0 OUT Y1 MOV K0 C235 RST M0 RST M1 // 软急停(可选) LD X13 // 软急停按钮 ZRST Y0 Y1 // 复位所有输出 MOV K0 C235
3. 台达 DVP 系列程序差异
四、故障排查方法
| 故障现象 | 可能原因 | 排查步骤 |
|---|---|---|
| 高速计数器不计数 | 1. 编码器接线错误2. HSC 参数设置错误3. 编码器损坏 | 1. 用万用表测量 X0/X1 端子是否有脉冲信号2. 检查 PLC 参数中 HSC 模式是否为正交计数3. 更换编码器测试 |
| 正点 / 反点不停止 | 1. 目标值设置错误2. 比较中断未启用3. 互锁逻辑冲突 | 1. 监控 D100/D101 的数值是否正确2. 检查参数中 “比较中断” 功能是否勾选3. 排查 M0/M1 标志位是否被误置位 |
| 正反转互锁失效 | 1. 互锁触点接线错误2. 程序中互锁指令缺失 | 1. 检查 Y0/Y1 的互锁触点是否为常闭2. 确认程序中是否有ANI Y0/ANI Y1指令 |

