三菱 PLC 实现行程的精确控制,核心是 **“脉冲当量精准换算 + 闭环反馈修正 + 运动参数优化”**,结合伺服电机(或步进电机)+ 位置检测元件(编码器 / 光栅尺),适配从 “基础点位定位” 到 “高精度全闭环控制” 的不同场景。以下分「基础版(半闭环)」和「进阶版(全闭环)」给出可直接落地的程序逻辑,以 FX3U 为例,覆盖工业常用的直线行程控制需求。
核心前提:先明确 “脉冲当量”(精准控制的基础)
行程控制的本质是 “脉冲数→实际位移” 的精准换算,需先计算1 个脉冲对应负载移动的距离(脉冲当量):示例:丝杆导程 10mm、减速比 1:1、伺服编码器 1048576 脉冲 / 转 → 脉冲当量 = 10/(1×1048576)≈0.0000095mm / 脉冲(即发送 1048576 脉冲,负载移动 10mm)。
一、基础版:半闭环行程控制(伺服编码器反馈,精度 ±0.01mm)
适配场景:普通搬运、送料机构,无严重机械间隙,依赖伺服自身半闭环反馈。
核心逻辑
PLC 发送精准脉冲数控制伺服定位,通过伺服 “到位信号” 确认行程完成,加入软限位、加减速优化避免过冲。
程序框架(梯形图 + 关键注释)
ladder
// ===================== 第一步:参数定义(停电保持寄存器,方便触摸屏修改) ===================== LD M8002 // 首次上电初始化 MOV K10000, D100 // 目标行程(mm)→ 需换算为脉冲数 MOV K50, D101 // 运行速度(kHz)→ 脉冲输出频率 MOV K10, D102 // 加减速时间(ms) MOV K0.0000095, D103 // 脉冲当量(mm/脉冲)→ 提前计算好 // ===================== 第二步:行程→脉冲数换算 ===================== LD M8000 // 常ON MUL D100, D103, D104 // 目标脉冲数=目标行程÷脉冲当量(示例:10mm÷0.0000095≈1052632脉冲) // 注:若脉冲当量为分数,建议先放大为整数比计算,避免浮点误差 // ===================== 第三步:伺服定位控制(DDRVA绝对定位指令) ===================== // X0:启动按钮,X1:急停按钮,X10:伺服到位信号(INP),Y0:脉冲输出,Y1:方向输出 LD X0 AND M8000 ANI X1 // 急停断开禁止运行 DDRVA D104, D101, Y0, Y1 // 绝对定位:目标脉冲数D104,速度D101kHz,脉冲端Y0,方向端Y1 D8140 K102 // 加减速时间设置(D8140对应Y0,值=D102=10ms) // ===================== 第四步:到位确认+软限位保护 ===================== // 到位确认 LD X10 // 伺服到位信号 SET M0 // 定位完成标记 RST Y0 // 停止脉冲输出 // 软限位(防止超程) LD M8000 CMP D104, K2000000, M10 // 最大行程对应脉冲数2000000,超则报警 LD M10 // 目标脉冲数>最大值 RST Y0 // 立即停止输出 SET Y10 // 超程报警指示灯 // ===================== 第五步:故障处理 ===================== LD X11 // 伺服报警信号(ALM) RST Y0 // 停止脉冲输出 SET Y11 // 报警指示灯
关键优化点(提升精度)
二、进阶版:全闭环行程控制(光栅尺反馈,精度 ±0.001mm)
适配场景:高精度加工、锂电 / 半导体设备,需补偿机械间隙、丝杆变形等误差,依赖光栅尺直接检测负载位移。
核心逻辑
PLC 通过高速计数器采集光栅尺反馈的实际位移,对比 “目标行程” 计算偏差,实时补发 / 减少脉冲修正偏差,直到偏差≤阈值。
程序框架(核心模块)
ladder
// ===================== 第一步:光栅尺位移采集(高速计数器) ===================== LD M8002 MOV H0080, D8140 // HSC0(X0/X1)设为A/B相正交计数,接收光栅尺脉冲 SET M8140 // 启用高速计数器C235 RST C235 // 清零计数器 LD M8000 MOV C235, D200 // 光栅尺脉冲数存入D200 MUL D200, D103, D201 // 实际位移=光栅尺脉冲数×脉冲当量(mm) // ===================== 第二步:偏差计算 ===================== LD M8000 SUB D100, D201, D202 // 偏差=目标行程-实际位移(mm) ABS D202, D203 // 取偏差绝对值 // ===================== 第三步:闭环修正 ===================== // 偏差阈值D204=0.001mm,偏差>阈值时补发脉冲 LD M8000 CMP D203, D204, M20 LD M20 // 偏差>阈值 MUL D202, D103, D205 // 需补发的脉冲数=偏差÷脉冲当量 PLSY D101, D205, Y0 // 以D101频率补发脉冲 LD M21 // 偏差≤阈值 RST Y0 // 停止修正 SET M1 // 全闭环定位完成
关键优化点(消除震荡 + 提升精度)
三、三菱 PLC 行程控制的通用技巧
四、常见问题与解决
| 问题现象 | 原因 | 解决方法 |
|---|---|---|
| 行程偏差大(>0.01mm) | 电子齿轮比错误 / 脉冲当量计算错 | 重新计算伺服电子齿轮比,校准脉冲当量 |
| 定位后震荡 | 加减速时间过短 / 增益过高 | 增大加减速时间(D102),降低伺服位置环增益 |
| 光栅尺反馈跳变 | 信号干扰 | 光栅尺屏蔽线单端接地,启用 PLC 硬件滤波 |
| 脉冲丢失 | 脉冲频率过高 | 降低输出频率(D101),检查接线是否虚接 |
总结
三菱 PLC 精确控制行程的核心是:


