本文介绍S7-300和S7-400的梯形图(LAD)编程的比较指令。
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.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
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”
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”
(责任编辑:admin) |