21-11. PLC的基本逻辑指令(比较指令)
一、比较指令的基本概念
比较指令是PLC中用于对两个数值(如字节、整数、实数)或字符串进行大小或相等性判断的指令。其核心功能是:
- 条件判断:当两个操作数(IN1和IN2)满足指定的比较条件(如等于、大于、小于等)时,指令对应的触点会闭合(逻辑结果为"1")。
- 本质 :比较指令实际上是一种位指令,因为其输出结果直接影响逻辑位的状态(ON/OFF)。
应用场景:常用于上下限控制(如温度、压力监控)、数值条件判断(如计数达到设定值)等工业控制场景。
二、比较指令的类型与运算符
根据操作数的数据类型,比较指令分为以下五类:
1. 字节比较
- 功能:比较两个8位无符号整数值(IN1和IN2)。
- 寻址范围 :IB、QB、MB、SMB、VB、SB、LB、AC、*VD、*AC、*LD及常数。
- 运算符:=、<>、<、<=、>、>=(共6种)。
2. 整数比较
- 功能:比较两个16位有符号整数值(范围:16#8000~16#7FFF)。
- 寻址范围 :IW、QW、MW、SMW、VW、SW、LW、AC、*VD、*AC、*LD及常数。
- 运算符:同上6种。
3. 双字整数比较
- 功能:比较两个32位有符号整数值(范围:16#80000000~16#7FFFFFFF)。
- 寻址范围 :ID、QD、MD、SMD、VD、SD、LD、AC、*VD、*AC、*LD及常数。
- 运算符:同上6种。
4. 实数比较
- 功能:比较两个32位实数值(浮点数),范围:±1.175495E-38~±3.402823E+38。
- 寻址范围:同双字整数比较。
- 运算符:同上6种。
5. 字符串比较
- 功能:比较两个字符串是否相同(长度≤254字符)。
- 运算符:仅支持=和<>(相等或不相等)。
- 说明:仅在PLC CPU 1.21和Micro/WIN32 V3.2以上版本中支持。
三、比较指令的编程形式
比较指令在梯形图(LAD)和语句表(STL)中的表现形式不同:
1. 梯形图(LAD)
- 以"比较框"形式出现,框内标注比较类型(如"==B"表示字节相等)和操作数(IN1、IN2)。
- 示例(以"等于"为例):
- 字节比较:IN1 ==B IN2
- 整数比较:IN1 ==I IN2
- 实数比较:IN1 ==R IN2
2. 语句表(STL)
- 通过指令代码直接编写,支持LD(装载)、A(与)、O(或)等逻辑操作。
- 示例(整数比较):
- LDW= IN1,IN2(装载:若IN1=IN2,则逻辑结果置1)
- AW>= IN1,IN2(与操作:若IN1≥IN2,则与逻辑结果)
四、实际应用示例
通过梯形图和语句表展示了比较指令的具体用法:

示例1:计数器当前值判断
- 功能:当计数器C30的当前值≥30时,Q0.0输出为ON。
- 梯形图 :C30 >=I +30→ 线圈Q0.0。
- 语句表 :LDW>= C30, +30→ = Q0.0。
示例2:实数比较与输入条件组合
- 功能 :当VD1中的实数值<95.8 且 I0.0为ON时,Q0.1输出为ON。
- 梯形图 :I0.0与 VD1 串联 → 线圈Q0.1。
- 语句表 :LD I0.0→ AR< VD1, 95.8→ = Q0.1。
示例3:字节比较与输入条件组合
- 功能 :当VB1的值>VB2的值 或 I0.1为ON时,Q0.2输出为ON。
- 梯形图 :I0.1与 VB1 >B VB2并联 → 线圈Q0.2。
- 语句表 :LD I0.1→ OB> VB1, VB2→ = Q0.2。
五、关键总结
- 比较指令的核心:通过条件判断控制逻辑位的状态,实现精确的数值或字符串比较。
- 数据类型选择:需根据实际需求选择字节、整数、双字整数、实数或字符串比较。
- 编程灵活性:支持与输入条件(如I0.0)组合,实现复杂的逻辑控制。
- 版本注意:字符串比较需确保PLC和编程软件版本支持。