三菱PLC比较指令保姆级教程应用技巧实例新手必看

at 2026.04.07 09:17  ca 设备销售区  pv 1492  by 工控设备哥  

三菱PLC比较指令保姆级教程|应用技巧+实例|新手必看!

✨工控圈干货|三菱PLC编程核心指令✨

🔧累计服务200+企业客户|指令用法+避坑指南全公开🔧

一、三菱PLC比较指令基础认知

1.1 指令分类与适用场景

三菱FX系列PLC中,比较指令是逻辑控制的核心基础。根据操作对象不同分为三类:

✅ **CMP**:基础比较(X/Y/M/D数据)

✅ **CMPR**:带寄存器比较(R寄存器数据)

✅ **CMPD**:带寄存器带符号比较(16位有符号数)

1.2 关键参数说明

| 参数 | 说明 |

|---|---|

| S1 | 比较值(最多32位) |

| S2 | 被比较值(最多32位) |

| S3 | 结果寄存器(R0-R384) |

| F | 执行结果(0=相等/1=S1>S2/2=S1

二、三大指令详细(附代码示例)

2.1 CMP指令实战演示

**典型应用场景**:

- 温度阈值控制(如:当温度>50℃时启动风机)

- 物料到位检测(到位信号与预设值比对)

**代码示例**:

```

CMP M0 M1 M2

M0:实际温度值(D0)

M1:预设上限(D1)

M2:预设下限(D2)

```

**执行逻辑**:

- 若M0>M1 → M2=1(触发上限报警)

- 若M0

2.2 CMPR指令深度

**核心优势**:

- 支持寄存器间接寻址(Rn+/-n)

- 解决连续比较问题(如批量物料分拣)

**典型用法**:

```

CMPR R0 D10 比较寄存器R0与D10

R0:物料重量寄存器

D10:预设重量范围(D10-0.5~D10+0.5)

```

**进阶技巧**:

- 通过R0/R1/R2组合实现三段式比较(如:轻量→标准→超重)

- 结合多重输出实现分级报警(轻量→黄灯/超重→红灯)

2.3 CMPD指令特殊功能

**适用数据类型**:

- 16位有符号数(-32768~32767)

- 特别适合模拟量处理(如4-20mA信号)

**典型场景**:

```

CMPD D20 D21 R3

D20:实际压力值(0-10V输入)

D21:安全阈值(5V对应安全值)

图片 三菱PLC比较指令保姆级教程|应用技巧+实例|新手必看!1

R3:结果寄存器

```

**执行逻辑**:

- 若D20>D21 → R3=1(触发高压保护)

- 若D20

三、应用实例深度拆解

3.1 温度联动控制系统

**系统需求**:

- 茶叶烘焙机温度控制(120-160℃分段控制)

- 三段式PID调节

**指令组合方案**:

```

CMP D0 D1 R0 // D0=当前温度,D1=上限值

CMP D0 D2 R1 // D2=下限值

AN R0 R1 // 同时满足上下限条件

OUT Y0 // 触发PID调节

```

**痛点分析**:

- 传统方案:单次比较导致分拣延迟

- 新方案:连续比较提升效率40%

**指令应用**:

```

CMPR R0 D30 // R0=当前重量,D30=标准重量

CMPR R1 D30 // R1=重量补偿值

OR R0 R1 // 任一条件满足触发分拣

```

3.3 电梯安全联锁系统

**安全要求**:

- 超速保护(>1m/s触发制动)

- 急停优先级控制

**指令配置**:

```

CMPD D200 D201 R5 // D200=实时速度,D201=安全阈值

R5=1 → 优先触发急停

R5=2 → 触发限速器

```

四、常见问题与解决方案

4.1 数据类型匹配错误

**典型错误**:

- 比较无符号数(16位)与有符号数(16位)

- 寄存器位数不匹配(D型指令必须使用32位寄存器)

**解决方案**:

```

错误示例

CMP M10 M11 M12 M10/M11为8位,M12为32位寄存器

正确写法

CMP D0 D1 R3 统一使用32位数据

```

4.2 多重比较逻辑混乱

1. 使用R0/R1/R2寄存器组合

2. 按优先级排列比较条件

3. 添加状态寄存器(M0-M7)暂存结果

4.3 执行结果误判

**调试技巧**:

- 添加中间诊断寄存器(M8000/M8002)

- 使用梯形图监控F标志位

- 添加延时继电器(T0 K10)避免抖动

五、进阶技巧与行业案例

5.1 比较指令与定时器联动

**案例:液位控制**

```

CMP D5 D6 T0 // 液位超过D6时启动计时

T0 K10 // 10秒内未达到D7则报警

CMP D5 D7 T1 // 液位超过D7时启动泵

```

5.2 比较指令与PID控制融合

**案例:烘箱温度控制**

```

CMP D200 D201 T0 // 温度超过设定值启动冷却

AN T0 D202 // 冷却到设定值停止

CMP D200 D203 T1 // 温度低于下限启动加热

```

5.3 比较指令在SCADA系统中的应用

**典型场景**:

- 能耗监控(日用电量与历史数据比较)

- 设备健康度评估(振动值与基准值比对)

六、编程规范与效率提升

1. 按功能模块划分(输入处理→比较判断→执行输出)

2. 使用局部变量(L0-L49)存储中间结果

- 合并连续比较指令(节省扫描周期)

- 使用块指令(MC/MCN)封装常用逻辑

- 预处理数据(如:将ADC值转换为工程量)

6.3 版本控制建议

```

V1.0 -08-01

- 基础比较指令实现

V2.0 -08-15

- 添加寄存器比较功能

V3.0 -09-20

- 集成SCADA数据接口

- 支持多设备联动

```

七、行业应用扩展

7.1 在包装机械中的应用

- 产品计数与标准重量比较

- 异常包装触发剔除机构

7.2 在化工设备中的应用

- 反应温度多段式控制

- 压力与流量交叉比较

7.3 在新能源设备中的应用

- 光伏板清洁度检测

- 风机转速与气温关联控制

八、读者互动与答疑

**常见问题精选**:

Q1:如何处理浮点数比较?

A:需通过D/A转换器转换为整数,或使用FX系列专用浮点指令

Q2:比较结果如何影响多输出线圈?

A:通过组合输出指令(OUT Y0,Y1,Y2)实现多条件触发

Q3:如何实现动态阈值调整?

A:结合PID输出与实时数据,通过比较指令实现闭环控制

**进阶挑战**:

尝试将比较指令与梯形图控制结合,设计一个具备自学习功能的温度控制系统(提示:可参考模糊控制算法)

文末福利

关注并回复"三菱PLC指令手册"获取:

1. 100+常用指令速查表(含中文注释)

2. 30个经典案例源代码(含注释)

3. 虚拟仿真调试指南(支持在线模拟)

💡点击头像进入工控编程交流圈,分享你的实战经验,点赞前10名赠送《三菱PLC故障诊断手册》电子版!

工控编程 三菱PLC PLC指令 工业自动化 电气控制 新手教程 技术分享

相关阅读