PLC + 伺服 + 光栅尺:高精度闭环控制方案(原理 + 选型 + 实操)
PLC + 伺服 + 光栅尺的组合核心是构建 “全闭环位置控制系统” —— 伺服电机的编码器做 “半闭环反馈”,光栅尺直接检测负载(如工作台、丝杆)的实际位移做 “全闭环反馈”,PLC 通过光栅尺的真实位置修正伺服指令,解决机械间隙、丝杆变形、负载打滑等导致的定位误差,适配高精度场景(如数控加工、锂电设备、半导体封装,精度可达 ±0.001mm)。
以下从系统架构、核心选型、接线、程序逻辑、调试优化全流程拆解,以三菱 FX3U + 安川 Σ-7 + 光栅尺为例,适配工业主流场景。
一、核心原理:为什么要加光栅尺?
| 控制模式 | 反馈源 | 误差来源 | 定位精度 | 适用场景 |
|---|---|---|---|---|
| 伺服半闭环 | 电机编码器 | 丝杆间隙、机械变形、负载打滑 | ±0.01~0.1mm | 普通搬运、送料机构 |
| PLC + 伺服 + 光栅尺(全闭环) | 光栅尺(负载) | 仅光栅尺自身检测误差 | ±0.001~0.01mm | 高精度定位、精密加工 |
全闭环核心逻辑:
二、系统核心选型(关键匹配点)
1. 光栅尺选型(按精度 / 接口 / 行程)
| 选型维度 | 选型要点 | 示例型号 |
|---|---|---|
| 精度 | 工业高精度选 0.001mm(1μm),一般精密选 0.01mm;分辨率≥精度(如 1μm 精度选 0.5μm 分辨率) | 海德汉 LS487(1μm)、雷尼绍 RGH24(0.1μm) |
| 输出接口 | 优先选 TTL 差分信号(抗干扰),兼容 PLC 高速计数器;也可选 RS485/SSI(数字通讯) | TTL 差分(A+/A-/B+/B-) |
| 行程 | 匹配负载移动最大行程(如工作台行程 500mm,选 600mm 行程光栅尺) | 500mm、1000mm |
| 安装方式 | 线性光栅尺(直线位移)、圆光栅(旋转角度);注意防尘(工业场景选密封型) | 线性光栅尺(导轨安装) |
2. PLC 选型(核心要求:高速计数 / 脉冲输出)
3. 伺服选型
三、硬件接线(三菱 FX3U+TTL 差分光栅尺 + 安川 Σ-7)
1. 光栅尺→PLC(高速计数器接线)
光栅尺 TTL 差分信号需先通过 “差分转单端模块”(如 LVDS 转 TTL)适配 PLC,或直接接 PLC 差分高速计数端子:
| 光栅尺引脚 | 差分转单端模块 | FX3U 高速计数器端子(X0/X1) | 说明 |
|---|---|---|---|
| A+ | OUT_A | X0(HSC0 计数 A 相) | 脉冲信号 A 相 |
| A- | GND | GND | 差分信号地 |
| B+ | OUT_B | X1(HSC0 计数 B 相) | 脉冲信号 B 相(方向) |
| B- | GND | GND | 差分信号地 |
| VCC | DC5V | PLC DC5V 输出 | 光栅尺供电(5V) |
| GND | GND | PLC GND | 供电地 |
⚠️ 关键:光栅尺信号线用双绞屏蔽线,屏蔽层单端接地(PLC 端),远离变频器 / 强电线路,减少干扰。
2. PLC→伺服(脉冲指令接线)
| FX3U 端子 | 安川 Σ-7 驱动器端子 | 说明 |
|---|---|---|
| Y0 | PULS+(CN1-4) | 脉冲指令 + |
| Y1 | PULS-(CN1-5) | 脉冲指令 - |
| Y2 | SIGN+(CN1-6) | 方向指令 + |
| Y3 | SIGN-(CN1-7) | 方向指令 - |
| GND | SG(CN1-1) | 指令信号地 |
3. 伺服→PLC(状态反馈接线)
| 安川 Σ-7 端子 | FX3U 端子 | 说明 |
|---|---|---|
| ALM(报警) | X10 | 伺服报警,PLC 急停触发 |
| INP(到位) | X11 | 伺服半闭环到位信号 |
四、核心程序逻辑(三菱 GX Works2)
核心分为 3 个模块:光栅尺位置采集、位置偏差计算、伺服指令修正。
1. 第一步:光栅尺位置采集(高速计数器)
FX3U 用 HSC0(X0/X1)采集光栅尺脉冲,换算成实际位移:
ladder
// 步骤1:初始化高速计数器(HSC0,模式0:单相双计数,A/B相) LD M8002 // 首次上电 MOVK H0080, D8140 // HSC0模式设置:A/B相正交计数,双相输入 SET M8140 // 启用HSC0高速计数器 RST C235 // 清零高速计数器C235(对应HSC0) // 步骤2:光栅尺脉冲→实际位移换算(关键:脉冲当量) // 示例:光栅尺分辨率0.001mm/脉冲 → 1脉冲=0.001mm LD M8000 // 常ON MOV C235, D100 // 光栅尺脉冲数存入D100 MUL D100, K0.001, D101 // D101=实际位移(mm),如C235=10000→D101=10.000mm
2. 第二步:位置偏差计算(指令位置 VS 实际位置)
ladder
// D200:PLC设定的目标位置(如100.000mm) // D101:光栅尺实际位置 // D300:位置偏差(D300=D200-D101) LD M8000 SUB D200, D101, D300 // 计算偏差 ABS D300, D301 // 取偏差绝对值(D301≥0)
3. 第三步:伺服指令修正(闭环控制核心)
通过 PLC 的脉冲输出指令(PLSY)补发 / 减少脉冲,修正偏差:
ladder
// 偏差阈值:D400=0.001mm(1μm),偏差>D400时修正 // D500:伺服脉冲当量(如1脉冲=0.01mm,即100脉冲=1mm) LD M8000 CMP D301, D400, M0 // 对比偏差绝对值与阈值 LD M0 // M0=ON → 偏差>阈值,需要修正 MOV D300, D501 // 偏差值存入D501 MUL D501, D500, D502 // 偏差→需补发/减少的脉冲数(如偏差+0.005mm→50脉冲) PLSY K10000, D502, Y0 // 以10kHz频率,补发D502个脉冲到Y0(伺服脉冲端) LD M1 // M1=ON → 偏差≤阈值,定位完成 RST Y0 // 停止脉冲输出 SET Y10 // 定位完成指示灯
4. 完整逻辑补充(防呆 / 报警)
ladder
// 1. 伺服报警联动 LD X10 // 伺服ALM报警 RST Y0 // 立即停止脉冲输出 SET Y20 // 报警指示灯 // 2. 超程保护(光栅尺位移≥最大行程,停机) LD M8000 CMP D101, K500, M10 // 最大行程500mm LD M10 // 位移>500mm RST Y0 SET Y21 // 超程报警
五、调试优化(解决常见问题)
1. 光栅尺信号干扰(最常见)
2. 闭环震荡(电机来回抖动)
3. 定位偏差持续存在
4. 高速计数丢脉冲
六、不同 PLC / 伺服的适配调整
1. 西门子 S7-1200/1500
2. 台达 DVP-EH3 + 台达 ASDA-B2
七、工业场景优化建议
总结
PLC + 伺服 + 光栅尺的核心是 “用光栅尺的真实负载位置修正伺服指令”,落地关键是:


