台达 PLC ES2 系列 原点回归程序实现(步进 / 伺服通用)
台达 DVP-ES2 系列 PLC 的原点回归是运动控制的基础功能,核心通过PLS(脉冲输出指令)+ 原点回归专用指令 ZRN 实现,适配步进电机 / 伺服电机驱动的轴体(如模组、机械手、传送带),支持近点狗 + 零点开关(高精度)、单近点狗(通用)、无传感器(脉冲数定位) 三种原点回归模式,以下为工业最通用的「近点狗 + 零点开关」高精度模式完整方案,包含硬件接线、参数配置、梯形图程序、调试要点,程序可直接下载到 ES2 PLC 运行。
一、核心前提:硬件配置与接线(ES2 + 步进 / 伺服)
1. ES2 PLC 脉冲输出能力
DVP-ES2 系列(如 DVP16ES2、24ES2、32ES2)内置2 路高速脉冲输出(Y0/Y1,最高 100kHz),支持脉冲 + 方向(CW/CCW)、正反转脉冲两种模式,原点回归优先用脉冲 + 方向模式。
2. 核心硬件组成
| 硬件类型 | 作用说明 |
|---|---|
| 台达 ES2 PLC | 发出原点回归脉冲 / 方向信号,检测限位 / 原点开关信号 |
| 步进 / 伺服驱动器 | 接收 PLC 脉冲信号,驱动电机运转 |
| 步进 / 伺服电机 | 执行原点回归动作 |
| 近点狗开关(DOG) | 常开接近开关 / 光电开关,电机轴体运行到原点附近时触发(粗定位) |
| 零点开关(Z 相) | 伺服电机编码器 Z 相脉冲 / 独立零点光电开关,精准定位原点(细定位,步进无 Z 相则省略) |
| 正 / 负限位开关 | 常开开关,轴体运行超程时触发,立即停止脉冲输出(安全保护) |
3. 标准接线(脉冲 + 方向模式,Y0 为脉冲、Y1 为方向)
(1)PLC→驱动器(脉冲 / 方向信号)
ES2 Y0(脉冲输出)→ 驱动器 PUL+(串 2KΩ 电阻),Y0 COM→驱动器 PUL-
ES2 Y1(方向输出)→ 驱动器 DIR+(串 2KΩ 电阻),Y1 COM→驱动器 DIR-✅ 注:串 2KΩ 限流电阻防止 PLC 输出点烧毁,脉冲 / 方向为NPN 集电极开路输出(ES2 默认)。
(2)传感器→PLC(输入信号,NPN 型传感器,ES2 默认漏型输入)
近点狗开关 DOG → PLC X0(常开,触发时 X0=ON)
零点开关 Z 相 → PLC X1(常开,触发时 X1=ON,步进电机无则空)
正限位开关 +LS → PLC X2(常开,超程时 X2=ON)
负限位开关 -LS → PLC X3(常开,超程时 X3=ON)
原点回归启动按钮 → PLC X10(常开,点动触发)
原点回归急停按钮 → PLC X11(常闭,断开时停止回归)
(3)驱动器→电机(动力线)
按步进 / 伺服驱动器手册接线,电机抱闸(若有)接 PLC 继电器输出或驱动器专用端子。
二、原点回归核心指令与参数(台达 ES2 专用)
1. 核心指令:ZRN(原点回归指令,ES2 内置,直接调用)
指令格式
ZRN S1 S2 D
S1:原点回归高速运行频率(Hz),如 K5000(5kHz,粗定位,快速找近点狗)
S2:原点回归低速运行频率(Hz),如 K500(500Hz,细定位,近点狗触发后低速找零点)
D:脉冲输出端(Y0=K0,Y1=K1),对应轴体
指令功能
触发 ZRN 后,电机先以S1 高速向原点方向运行,检测到近点狗(X0)ON后,立即切换为S2 低速继续运行,直到检测到零点开关(X1)ON,立即停止脉冲输出,轴体定位到原点,同时 PLC 自动置位原点完成标志位。
2. 关键辅助继电器 / 寄存器(ES2 运动控制专用)
| 地址 | 功能说明 |
|---|---|
| M1028 | Y0 原点回归完成标志(ZRN 执行完成后 ON,手动复位) |
| M1029 | Y1 原点回归完成标志(同 M1028,对应 Y1) |
| M1030 | Y0 原点回归运行中标志(ZRN 执行时 ON,完成 / 停止后 OFF) |
| M1031 | Y1 原点回归运行中标志(同 M1030,对应 Y1) |
| M1032/M1033 | Y0/Y1正 / 负限位有效标志(限位触发时 ON,禁止脉冲输出) |
| D1020 | Y0 脉冲输出总计数(原点回归后可清零,作为运动定位基准) |
| D1022 | Y1 脉冲输出总计数(同 D1020,对应 Y1) |
3. 原点回归运行逻辑(近点狗 + 零点开关,高精度)
触发启动(X10=ON),电机以S1 高速向原点方向(如负方向)运行;
轴体碰到近点狗,X0=ON,PLC 立即将运行频率切换为S2 低速;
低速运行中碰到零点开关,X1=ON,PLC 立即停止 Y0/Y1 脉冲输出;
脉冲停止后,M1028/M1029(原点完成)置位,轴体完成原点回归,D1020/D1022 计数清零(作为后续定位的 0 点);
全程若触发限位(X2/X3=ON)或急停(X11=OFF),立即停止脉冲输出,原点回归中断。
三、完整梯形图程序(台达 ES2,WPLSoft 编程软件)
以Y0 脉冲 + Y1 方向、近点狗 X0 + 零点开关 X1、正限位 X2 + 负限位 X3、启动 X10 + 急停 X11为例,实现单轴高精度原点回归,包含启动触发、安全保护、完成标志、计数清零全逻辑,注释清晰可直接复用。
1. 变量定义(符号表,便于调试)
| 符号名 | 地址 | 类型 | 功能说明 |
|---|---|---|---|
| ORG_Start | X10 | BOOL | 原点回归启动(点动常开) |
| ORG_Estop | X11 | BOOL | 原点回归急停(常闭) |
| DOG | X0 | BOOL | 近点狗开关 |
| Z_Phase | X1 | BOOL | 零点开关(Z 相) |
| LS_Pos | X2 | BOOL | 正限位开关 |
| LS_Neg | X3 | BOOL | 负限位开关 |
| PUL_Y0 | Y0 | BOOL | 脉冲输出端 |
| DIR_Y1 | Y1 | BOOL | 方向输出端 |
| ORG_Finish_Y0 | M1028 | BOOL | Y0 原点回归完成标志 |
| ORG_Run_Y0 | M1030 | BOOL | Y0 原点回归运行中标志 |
| ORG_Reset | M0.0 | BOOL | 原点完成后手动复位标志 |
| PUL_Count_Y0 | D1020 | DWORD | Y0 脉冲总计数(原点为 0) |
2. 梯形图程序(分 4 个模块)
模块 1:原点回归启动触发(上升沿,避免重复触发)
ladder
// 捕捉X10上升沿,仅点动一次触发一次原点回归 LD ORG_Start PLS M0.1 // 台达PLS为上升沿脉冲指令
模块 2:安全保护逻辑(限位 + 急停,优先级别最高)
ladder
// 限位/急停触发时,禁止脉冲输出,中断所有运动 LD LS_Pos OR LS_Neg OR NOT ORG_Estop OUT M0.2 // M0.2=ON时,禁止原点回归(安全保护标志)
模块 3:ZRN 原点回归指令执行(核心)
ladder
// 启动上升沿+非保护状态+非运行中,执行ZRN指令 LD M0.1 AND NOT M0.2 AND NOT ORG_Run_Y0 ALD // ZRN S1 S2 D :S1=K5000(高速5kHz),S2=K500(低速500Hz),D=K0(Y0输出) ZRN K5000 K500 K0 // 方向控制:原点回归为负方向,Y1=ON(根据实际设备调整,正方向则Y1=OFF) LD ORG_Run_Y0 OUT DIR_Y1
模块 4:原点完成处理(标志置位 + 计数清零 + 手动复位)
ladder
// 原点回归完成后,清零脉冲计数(将当前位置设为0点) LD ORG_Finish_Y0 RST PUL_Count_Y0 // 清零D1020脉冲计数,作为后续定位基准 // 手动复位完成标志(X12点动,可根据需求增加) LD X12 PLS M0.0 LD M0.0 RST ORG_Finish_Y0 // 复位M1028,为下次原点回归做准备 // 运行中/完成指示灯(可选,接Y2/Y3) LD ORG_Run_Y0 OUT Y2 // 运行中指示灯亮 LD ORG_Finish_Y0 OUT Y3 // 完成指示灯亮
模块 5:急停 / 限位中断处理(立即停止脉冲)
ladder
// 保护标志M0.2=ON时,立即停止ZRN指令,复位运行中标志 LD M0.2 RST ORG_Run_Y0 // 停止脉冲输出 RST DIR_Y1 // 方向复位
3. 步进电机适配修改(无 Z 相零点开关)
若为步进电机(无编码器 Z 相),取消零点开关 X1,将原点回归触发条件改为近点狗 X0 断开(低速运行离开近点狗为原点),仅需修改 ZRN 指令的停止触发逻辑(台达 ES2 可通过参数设置 ZRN 停止条件):
进入 WPLSoft**「参数设置」→「运动控制」**;
将 Y0 的原点回归停止条件改为近点狗下降沿;
程序中删除 X1 相关逻辑,保留 X0 近点狗即可。
四、台达 ES2 运动控制参数配置(必做,否则 ZRN 指令无效)
台达 ES2 PLC 的脉冲输出和原点回归需在软件中配置参数,否则 Y0/Y1 无脉冲输出,ZRN 指令不执行,步骤如下(WPLSoft 软件):
打开 WPLSoft,选中项目→点击顶部 **「设置」→「PLC 参数设置」**;
选择 **「高速计数器 / 脉冲输出」** 选项卡;
脉冲输出端口 Y0:设置为脉冲 + 方向模式,输出类型NPN(默认),最高频率100kHz;
脉冲输出端口 Y1:设置为方向信号(与 Y0 联动);
原点回归参数:设置 Y0 的原点方向(如负方向)、停止条件(近点狗 + 零点开关 / 近点狗下降沿);
限位参数:启用 X2/X3 为正 / 负限位,触发时禁止脉冲输出;
点击 **「确认」,将参数下载到 PLC**(PLC 需处于 STOP 模式),切换 RUN 后参数生效。
五、现场调试要点(落地必做,避免定位不准)
1. 机械调试(先机械后电气,核心)
调整近点狗开关(X0) 安装位置:保证轴体高速运行时能平稳触发,与零点开关(X1)间距≥5mm(避免高速切换低速时跳过零点);
校准零点开关(X1):确保轴体低速运行时精准触发,轴体无过冲(可通过降低 S2 低速频率实现);
测试限位开关(X2/X3):手动推动轴体,触发限位时能立即停止,无卡滞。
2. 电气参数调试(频率 / 方向,按设备调整)
高速频率 S1:根据轴体运行速度调整,建议5000~20000Hz(速度过快易过冲,过慢效率低);
低速频率 S2:精度优先,建议300~1000Hz(低速越小,原点定位精度越高);
方向信号 Y1:若原点回归方向相反,将程序中
OUT DIR_Y1改为OUT NOT DIR_Y1,或直接调换驱动器 DIR+/- 接线;脉冲当量:根据电机步距角 / 丝杆导程计算脉冲当量(如 1mm=1000 脉冲),确保计数与实际位移匹配。
3. 程序调试(监控标志位,快速排错)
在 WPLSoft 中打开 **「在线监控」**,监控以下关键地址,判断原点回归状态:
M1030(ORG_Run_Y0):ON = 正在原点回归,OFF = 停止 / 完成;
M1028(ORG_Finish_Y0):ON = 原点回归完成,OFF = 未完成 / 已复位;
D1020(PUL_Count_Y0):完成后应为 0,后续定位以此为基准;
X0/X1:触发时是否为 ON,判断传感器接线是否正常。
六、常见故障排查(工业现场高频问题)
| 故障现象 | 核心原因 | 解决方法 |
|---|---|---|
| ZRN 指令执行但无脉冲输出 | 运动控制参数未配置 / 端口选错 | 重新配置 PLC 脉冲输出参数,确认 ZRN 指令的 D 参数为 K0(Y0)/K1(Y1) |
| 高速运行不触发低速 | 近点狗 X0 未接线 / 传感器故障 | 检查 X0 接线是否牢固,测试传感器是否能正常 ON/OFF,更换损坏的接近 / 光电开关 |
| 低速运行找不到原点 | 零点开关 X1 安装位置错误 / 故障 | 重新调整 X1 安装位置,确保近点狗触发后低速能碰到 X1,测试 X1 传感器有效性 |
| 原点回归完成后计数不为 0 | 未执行 RST D1020 指令 | 在程序中增加 LD M1028 → RST D1020,确保完成后清零计数 |
| 限位触发后仍能运行 | 限位参数未启用 / 接线接反 | 在 PLC 参数中启用限位保护,检查 X2/X3 接线是否为常开,触发时是否能正常 ON |
| 原点定位精度低 | 低速频率 S2 过高 / 机械间隙大 | 降低 S2 低速频率(如 300Hz),消除机械丝杆 / 齿轮间隙,校准传感器安装位置 |


