西门子《S7-300和S7-400的梯形图(LAD)编程》系列文章分别介绍位逻辑指令、比较指令、转换指令、计数器指令、数据块指令、逻辑控制指令、整形数学运算指令、浮点型数学运算指令、传送指令、程序控制指令、移位和循环移位指令、状态位指令、定时器指令、字逻辑指令、所有LAD指令总览、编程实例和使用梯形图逻辑等内容,昌晖仪表分章节给大家一一介绍,本文介绍S7-300和S7-400的梯形图(LAD)编程的比较指令。
2 比较指令
2.1 比较指令概述
说明:根据用户选择的比较类型比较IN1和IN2:
== IN1等于IN2
<> IN1不等于IN2
> IN1大于IN2
< IN1小于IN2
>= IN1大于或等于IN2
<= IN1小于或等于IN2
如果比较结果为“真",则函数的RLO为“1"。如果以串联方式使用比较单元,则使用“与"运算将其链接至梯级程序段的RLO;如果以并联方式使用该框,则使用“或"运算将其链接至梯级程序段的RLO。
以下是可供使用的比较指令:
·CMP ?I 整数比较
·CMP ?D 比较双精度整数
·CMP ?R 比较实数
2.2 CMP ?I 比较整数
符号:

| 参数 | 数据类型 | 内存区域 | 说明 |
| 输入框 | BOOL | I、Q、M、L、D | 上一逻辑运算结果 |
| 输入框 | BOOL | I、Q、M、L、D | 比较的结果,仅在输入RLO=1时才进一步处理 |
| IN1 | INT | I、Q、M、L、D或常数 | 要比较的个值 |
| IN2 | INT | I、Q、M、L、D或常数 | 要比较的第二个值 |
说明:CMP ?I(整数比较)的使用方法与标准触点类似。它可位于任何可放置标准触点的位置。可根据用户选择的比较类型比较IN1和IN2。如果比较结果为“真",则函数的RLO为“1"。如果以串联方式使用该框,则使用“与"运算将其链接至整个梯级程序段的RLO;如果以并联方式使用该框,则使用“或"运算将其链接至整个梯级程序段的RLO。
状态字:
| | BR | CC 1 | CC 0 | OV | OS | OR | STA | RLO | /FC |
| 写: | X | X | X | 0 | - | 0 | X | X | 1 |
实例:

如果满足下列条件,则输出Q4.0置位:
·输入I0.0和I0.1的信号状态为“1"
·并且MW0>=MW2
2.3 CMP ?D 比较双精度整数
符号:

| 参数 | 数据类型 | 内存区域 | 说明 |
| 输入框 | BOOL | I、Q、M、L、D | 上一逻辑运算结果 |
| 输出框 | BOOL | I、Q、M、L、D | 比较的结果,仅在输入RLO=1时才进一步处理 |
| IN1 | DINT | I、Q、M、L、D或常数 | 要比较的个值 |
| IN2 | DINT | I、Q、M、L、D或常数 | 要比较的第二个值 |
说明:CMP ?D(比较双精度整数)的使用方法与标准触点类似。它可位于任何可放置标准触点的位置。可根据用户选择的比较类型比较IN1和IN2。
如果比较结果为“真",则函数的RLO为“1"。如果以串联方式使用比较单元,则使用“与"运算将其链接至梯级程序段的RLO;如果以并联方式使用该框,则使用“或"运算将其链接至梯级程序段的RLO。
状态字:
| | BR | CC 1 | CC 0 | OV | OS | OR | STA | RLO | /FC |
| 写: | X | X | X | 0 | - | 0 | X | X | 1 |
实例:

如果满足下列条件,则输出Q4.0置位:
·输入I0.0和I0.1的信号状态为“1"
·并且MD0>=MD4
·同时输入I0.2的信号状态为“1"
2.4 CMP ?R 比较实数
符号:

| 参数 | 数据类型 | 内存区域 | 说明 |
| 输入框 | BOOL | I、Q、M、L、D | 上一逻辑运算结果 |
| 输出框 | BOOL | I、Q、M、L、D | 比较的结果,仅在输入RLO=1时才进一步处理 |
| IN1 | REAL | I、Q、M、L、D或常数 | 要比较的个值 |
| IN2 | REAL | I、Q、M、L、D或常数 | 要比较的第二个值 |
说明:CMP ?R(整数比较)的使用方法类似标准触点。它可位于任何可放置标准触点的位置。可根据用户选择的比较类型比较IN1和IN2。
如果比较结果为“真",则函数的RLO为“1"。如果以串联方式使用该框,则使用“与"运算将其链接至整个梯级程序段的RLO;如果以并联方式使用该框,则使用“或"运算将其链接至整个梯级程序段的RLO。
状态字:
| | BR | CC 1 | CC 0 | OV | OS | OR | STA | RLO | /FC |
| 写: | X | X | X | X | X | 0 | X | X | 1 |
实例:

如果满足下列条件,则输出Q4.0置位:
·输入I0.0和I0.1的信号状态为“1"
·并且MD0>=MD4
·同时输入I0.2的信号状态为“1"
学习PLC编程是一个枯燥和需要坚持的过程,您读完这篇文章,请用您的耐心将下面文章全部读完并动手操作,不久的将来一个西门PLC编程高手将在不断实践和应用中诞生!!