西门子S7-300和S7-400梯形图(LAD)比较指令编程实例

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