三菱PLC读取编码器数据全攻略从接线到调试保姆级教程
at 2026.03.27 09:13 ca 设备销售区 pv 1820 by 工控设备哥
🔧三菱PLC读取编码器数据全攻略|从接线到调试保姆级教程
📌文章目录:
❶ 三菱PLC读取编码器的核心原理
❷ FX系列PLC脉冲输入接线图解
❸ 梯形图程序编写三步法
❹ 调试过程中必知的5大注意事项
❺ 常见故障代码及解决方案
❻ 实际应用场景案例分享
一、三菱PLC读取编码器的核心原理
当需要通过PLC读取编码器数据时,本质上是在实现"位置反馈控制"。以伺服电机为例,编码器将旋转角度转化为脉冲信号,PLC通过脉冲计数器(如C256/C257)累计脉冲数,从而实时获取设备位置信息。
✅关键参数设置:
- 输入类型:脉冲输入(PHSE/PRSE)
- 波形要求:NPN/NPN(三菱默认)
- 脉冲频率:0-200kHz(FX3U最高支持500kHz)
- 信号类型:TTL电平(5V±0.5V)

二、FX系列PLC脉冲输入接线图解
🔌基础接线方案:
1. 编码器输出端(A/B/Z)→ PLC脉冲输入(X0/X1/X2)
2. 编码器+端→ PLC公共端(COM)
3. 编码器-端→ PLC公共端(COM)
⚠️进阶接线技巧:
- 双通道配置:X0/X1(通道1)+ X2/X3(通道2)
- 中断触发:通过M8002监控脉冲输入状态
- 信号隔离:使用光耦隔离(推荐型号:MOC3043)
三、梯形图程序编写三步法
1️⃣ 定义脉冲计数器:
| 0 C256 | K0 | D0 | K1 | D1 | K2 | D2 | K3 | D3 | K4 | D4 | K5 | D5 | K6 | D6 | K7 | D7 | K8 | D8 | K9 | D9 |
|----------|------|------|------|------|------|------|------|------|------|------|------|------|------|------|------|------|------|------|------|------|------|
| 0 C256 | K0 | D0 | K1 | D1 | K2 | D2 | K3 | D3 | K4 | D4 | K5 | D5 | K6 | D6 | K7 | D7 | K8 | D8 | K9 | D9 |
2️⃣ 编写脉冲计数程序:
| 0 M0 | C256 | M100 | K1 | D0 | M101 | K1 | D0 | M102 | K1 | D0 | M103 | K1 | D0 | M104 | K1 | D0 | M105 | K1 | D0 |
|----------|--------|--------|------|------|--------|------|------|--------|------|------|--------|------|------|--------|------|------|--------|------|------|
| 0 M0 | C256 | M100 | K1 | D0 | M101 | K1 | D0 | M102 | K1 | D0 | M103 | K1 | D0 | M104 | K1 | D0 | M105 | K1 | D0 |
3️⃣ 数据转换公式:
实际位置 = (脉冲数 / 编码器分辨率) × 360°
(例如:2000脉冲/转 × 360° = 720000脉冲/圈)
四、调试过程中必知的5大注意事项
1️⃣ 信号延时问题:
- 编码器响应时间应<PLC扫描周期(FX系列>0.5ms)
- 使用M8000监视脉冲输入状态
2️⃣ 脉冲方向校准:
- 通过Z信号校准零点位置
- 程序示例:Z信号上升沿触发校准
3️⃣ 过载保护:
- 设置最大脉冲数限制(如C256的16位计数范围)
- 超限报警程序:
| 0 M10 | C256 | M200 | H0 | H1 | H2 | H3 | H4 | H5 | H6 | H7 | H8 | H9 | M201 | K10 | D0 |
4️⃣ 抗干扰措施:
- 双绞线屏蔽层接PLC接地端
- 接线长度<5m(超过需加信号放大器)
- 使用脉冲保持指令(PCH)
- 避免在程序中频繁访问D寄存器
五、常见故障代码及解决方案
⚠️错误代码E8001(脉冲丢失):
- 检查编码器电源(电压波动>±10%)
- 更换隔离模块(型号:FANUC 3G2B1)
- 程序修正:
| 0 M10 | E8001 | M201 | K5 | D0 | M202 | K5 | D0 |
⚠️错误代码E8002(脉冲异常):
- 校准零点(Z信号丢失)
- 检查脉冲电缆(是否短路)
- 程序重置:
| 0 M10 | E8002 | M300 | K0 | D0 | M301 | K0 | D0 |
六、实际应用场景案例分享
🎯案例1:机械臂定位系统
- 硬件配置:Kollmorgen 17HS系列编码器+FX3U
- 脉冲参数:每转2000脉冲(0.18°/脉冲)
- 程序亮点:
- 双通道定位(X0/X1+X2/X3)
- 中断校准(M8010触发)
- 位置偏差补偿(D20寄存器)
🎯案例2:传送带同步控制
- 硬件配置:SICK GFH4编码器+FX5U
- 脉冲参数:每米脉冲数=编码器分辨率/传送带速度
- 程序结构:
| 0 M0 | C256 | M100 | K1 | D0 | M101 | K1 | D0 | M102 | K1 | D0 |
|----------|--------|--------|------|------|--------|------|------|--------|------|------|
| 0 M0 | C256 | M100 | K1 | D0 | M101 | K1 | D0 | M102 | K1 | D0 |
💡经验
- 双编码器应用需保持信号延时<1ms
- 重要设备建议配置冗余脉冲通道
- 定期校准(建议每500小时一次)
📊数据对比:
| 参数 | FX3G系列 | FX5U系列 | 西门子S7-1200 |
|-----------------|----------|----------|--------------|
| 最大脉冲数/秒 | 200kHz | 500kHz | 100kHz |
| 典型响应时间 | 0.5ms | 0.2ms | 1.0ms |
| 支持通道数 | 2 | 4 | 1 |
| 编程复杂度 | ★★★☆ | ★★★★☆ | ★★☆☆☆ |
🔚终极提示:
- 定期备份PLC程序(推荐使用CX- programmer)
- 建立"脉冲信号日志"(记录每次校准数据)
- 重要项目建议配置HMI监控界面(如MCGS)
📌延伸学习:
1. 三菱PLC脉冲保持指令(PCH)应用
2. 编码器与伺服驱动器通信协议

3. PLC高速计数器与ADC模块联动