本文介绍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”