欧姆龙 PLC(以主流的 CP1H/CP1L 为例)控制步进电机的完整梯形图程序,涵盖正反转、调速、定位、回原位核心功能,以下是基于 “脉冲输出 + 方向控制” 模式的实操方案,包含硬件接线、参数配置、梯形图及关键指令解释,新手可直接套用。
一、硬件准备与接线(核心前提)
1. 必备硬件
2. 接线规则(脉冲 + 方向模式)
| PLC 端子 | 信号类型 | 步进驱动器端子 | 功能说明 |
|---|---|---|---|
| 0.00 | 输出 | PUL+ | 脉冲信号 +(高速脉冲输出) |
| 0.01 | 输出 | PUL- | 脉冲信号 - |
| 0.02 | 输出 | DIR+ | 方向信号 +(1 = 正转,0 = 反转) |
| 0.03 | 输出 | DIR- | 方向信号 - |
| 0.04 | 输入 | 接近开关 NO 端 | 原点限位(常闭 / 常开可选,建议常开) |
| 24V | 电源 | 驱动器 24V | 信号电源(共地) |
| COM | 地 | 驱动器 GND | 信号地(必须共地,否则脉冲丢失) |
二、核心参数配置(CX-Programmer 软件)
在 CX-Programmer 中先配置 PLC 脉冲输出参数,否则脉冲指令无法运行:
三、完整梯形图程序(含所有核心功能)
以下梯形图按 “手动控制、自动定位、回原位、调速” 分模块编写,指令基于欧姆龙 STL(梯形图)语言,可直接复制到 CX-Programmer 中编译。
1. 变量定义(方便调试,新手可直接用地址)
| 软元件 | 功能说明 | 备注 |
|---|---|---|
| M0 | 正转启动按钮(常开) | 外部按钮输入 |
| M1 | 反转启动按钮(常开) | 外部按钮输入 |
| M2 | 停止按钮(常闭) | 外部按钮输入 |
| M3 | 回原位启动按钮(常开) | 外部按钮输入 |
| M4 | 自动定位启动按钮(常开) | 外部按钮输入 |
| 0.04 | 原点限位开关(常开) | 外部输入 |
| 0.00 | 脉冲输出 | PLC 高速输出 |
| 0.02 | 方向输出 | 1 = 正转,0 = 反转 |
| D0 | 目标脉冲数(定位用) | 如 D0=10000(对应电机转数,需按驱动器细分计算) |
| D10 | 运行频率(Hz) | 调速用,如 D10=50000(50kHz) |
| D20 | 加速时间(ms) | 如 D20=1000(1 秒加速) |
| D30 | 减速时间(ms) | 如 D30=1000(1 秒减速) |
| M100 | 正转运行中 | 内部辅助继电器 |
| M101 | 反转运行中 | 内部辅助继电器 |
| M102 | 回原位运行中 | 内部辅助继电器 |
| M103 | 定位完成 | 内部辅助继电器 |
2. 梯形图程序(分模块解释)
模块 1:手动正反转控制(调速 + 启停)
stl
// 正转启动 LD M0 ANDNOT M101 ANDNOT M2 OUT M100 // 反转启动 LD M1 ANDNOT M100 ANDNOT M2 OUT M101 // 停止复位 LD M2 RST M100 RST M101 RST M102 // 正转脉冲输出(PLS2指令:带加减速的脉冲输出) LD M100 ANDNOT M102 MOV K1 D200 // 方向:1=正转 MOV D10 D201 // 运行频率(D10调速) MOV D20 D202 // 加速时间 MOV D30 D203 // 减速时间 MOV &0.00 D204 // 脉冲输出点 MOV &0.02 D205 // 方向输出点 PLS2 D200 K0 K0 // 连续脉冲输出(K0=无限脉冲,手动模式) // 反转脉冲输出 LD M101 ANDNOT M102 MOV K0 D200 // 方向:0=反转 MOV D10 D201 MOV D20 D202 MOV D30 D203 MOV &0.00 D204 MOV &0.02 D205 PLS2 D200 K0 K0
模块 2:回原位控制(找原点限位 + 清零)
stl
// 回原位启动 LD M3 ANDNOT M100 ANDNOT M101 OUT M102 // 回原位运行(低速反转找原点) LD M102 ANDNOT 0.04 // 未到原点 MOV K0 D200 // 反转找原点 MOV K5000 D201 // 低速:5kHz(固定速度,避免撞限位) MOV K500 D202 // 加速500ms MOV K500 D203 // 减速500ms MOV &0.00 D204 MOV &0.02 D205 PLS2 D200 K0 K0 // 到达原点停止+清零 LD 0.04 AND M102 RST M102 RST D400 // 脉冲计数器清零(PLS2指令的计数寄存器) SET M103 // 定位完成标记
模块 3:自动定位控制(指定脉冲数 + 精准定位)
stl
// 定位启动(需先回原位) LD M4 AND M103 ANDNOT M100 ANDNOT M101 ANDNOT M102 MOV K1 D200 // 定位方向(正转,可改K0为反转) MOV D10 D201 // 定位速度 MOV D20 D202 MOV D30 D203 MOV &0.00 D204 MOV &0.02 D205 PLS2 D200 D0 K0 // D0=目标脉冲数(定位核心,K0=相对定位) // 定位完成判断(PLS2指令完成标志) LD P_EQ // P_EQ:脉冲输出完成标志 OUT M103 RST P_EQ // 清零标志

