一、硬件规则
Y1 属于 CH0 通道(脉冲 + 方向):
Y1 = 脉冲输出
Y0 = 方向输出
同一物理端口(Y1),同一时间只能被 1 条脉冲指令占用
PLSY/DPLSY、PLSR/DPLSR、DDRVI/DDRVA 等 任何脉冲指令,都不能同时驱动 Y1
同时驱动 → 端口冲突、PLC 报错、脉冲乱发、定位失控
二、为什么不能同时用两条指令?
硬件资源独占Y1 对应高速输出硬件,同一时间只能执行一条指令的频率 / 脉冲数。
双线圈 / 双指令 = 覆盖执行PLC 扫描时,后执行的指令会覆盖前一条,导致:
前一条指令被强行中断
脉冲数不清零、位置错乱
电机飞车、过冲
三、正确用法:分时复用(互锁)
同一 Y1,可以写多条脉冲指令,但必须保证:任何时刻只有 1 条接通。
1. 软元件规划(示例)
Y1:脉冲输出
M0:模式 1(PLSY 连续)
M1:模式 2(DDRVI 定位)
M1023:Y1 脉冲输出中标志(忙)
2. 梯形图(标准互锁)
plaintext
// 模式1:连续脉冲(M0启动) LD M0 AND NOT M1 // 互锁:模式2禁止 AND NOT M1023 // 通道空闲 DPLSY D100 D200 Y1 // 模式2:定位脉冲(M1启动) LD M1 AND NOT M0 // 互锁:模式1禁止 AND NOT M1023 // 通道空闲 DDRVI D300 D400 Y1 Y0
3. 关键互锁原则
M0 与 M1 必须互锁(不能同时 ON)
必须加 M1023(Y1 忙):脉冲发送中,禁止新指令启动
发新指令前,先停止前一条(RST 指令或断开条件)
四、常见错误
plaintext
// ❌ 错误:同时驱动Y1 M8000 ── DPLSY K1000 K0 Y1 M8000 ── DDRVI K5000 K1000 Y1 Y0
结果:PLC 只执行最后一条,前一条被废掉,定位完全混乱。
五、总结
❌ 同时两条脉冲指令 → 禁止
✅ 分时互锁复用 → 允许(工业标准做法)
核心:同一 Y1,同一时间,只允许一条脉冲指令有效.


