STEP7提供了丰富的比较指令,可以满足用户的多种需要。STEP7中的比较指令可以对下列数据类型的数值进行比较。
1)两个字节的比较(每个字节为8位)。
2)两个字符串的比较(每个字符串为8位)。
3)两个整数的比较(每个整数为16位)。
4)两个双精度整数的比较(每个双精度整数为32位)。
5)两个实数的比较(每个实数为32位)。
【关键点】一个整数和一个双精度整数是不能直接进行比较的,因为它们之间的数据类型不同。一般先将整数转换成双精度整数,再对两个双精度整数进行比较。
比较指令有等于(EQ)、不等于(NQ)、大于(GT)、小于(LQ)、大于或等于(GE)和小于或等于(LE)。比较指令对输入IN1和IN2进行比较。
比较指令是将两个操作数按指定的条件作比较,比较条件满足时,触点闭合,否则断开。比较指令为上、下限控制等提供了极大的方便。在梯形图中,比较指令可以装入,也可以串、并联。
1.等于比较指令
等于比较指令有等于字节比较指令、等于整数比较指令、等于双精度整数比较指令、等于符号比较指令和等于实数比较指令五种。等于整数比较指令和参数见表4-14。
表4-14 等于整数比较指令和参数
用一个例子来说明等于整数比较指令,梯形图和指令表如图4-52所示。当I0.0闭合时,激活比较指令,MW0中的整数和MW2中的整数比较,若两者相等,则Q0.0输出为“1”,若两者不相等,则Q0.0输出为“0”。在I0.0不闭合时,Q0.0的输出为“0”。IN1和IN2可以为常数。
图4-52 等于整数比较指令举例
图4-52中,若无常开触点I0.0,则每次扫描时都要进行整数比较运算。
等于双精度整数比较指令和等于实数比较指令的使用方法与等于整数比较指令类似,只不过IN1和IN2的参数类型分别为双精度整数和实数。
2.不等于比较指令
不等于比较指令有字节不等于比较指令、不等于整数比较指令、不等于双精度整数比较指令、不等于符号比较指令和不等于实数比较指令五种。不等于整数比较指令和参数见表4-15。
表4-15 不等于整数比较指令和参数
(www.daowen.com)
用一个例子来说明不等于整数比较指令,梯形图和指令表如图4-53所示。当I0.0闭合时,激活比较指令,MW0中的整数和MW2中的整数比较,若两者不相等,则Q0.0输出为“1”,若两者相等,则Q0.0输出为“0”。在I0.0不闭合时,Q0.0的输出为“0”。IN1和IN2可以为常数。
图4-53 不等于整数比较指令举例
不等于双精度整数比较指令和不等于实数比较指令的使用方法与不等于整数比较指令类似,只不过IN1和IN2的参数类型分别为双精度整数和实数。使用比较指令的前提是数据类型必须相同。
3.小于比较指令
小于比较指令有小于字节比较指令、小于整数比较指令、小于双精度整数比较指令和小于实数比较指令四种。小于双精度整数比较指令和参数见表4-16。
表4-16 小于双精度整数比较指令和参数
用一个例子来说明小于双精度整数比较指令,梯形图和指令表如图4-54所示。当I0.0闭合时,激活小于双精度整数比较指令,MD0中的双精度整数和MD4中的双精度整数比较,若前者小于后者,则Q0.0输出为“1”,否则,则Q0.0输出为“0”。在I0.0不闭合时,Q0.0的输出为“0”。IN1和IN2可以为常数。
图4-54 小于双精度整数比较指令举例
小于整数比较指令和小于实数比较指令的使用方法与小于双精度整数比较指令类似,只不过IN1和IN2的参数类型分别为整数和实数。使用比较指令的前提是数据类型必须相同。
4.大于或等于比较指令
大于或等于比较指令有字节大于或等于比较指令、大于或等于整数比较指令、大于或等于双精度整数比较指令和大于或等于实数比较指令四种。大于或等于实数比较指令和参数见表4-17。
表4-17 大于或等于实数比较指令和参数
用一个例子来说明大于或等于实数比较指令,梯形图和指令表如图4-55所示。当I0.0闭合时,激活比较指令,MD0中的实数和MD4中的实数比较,若前者大于或者等于后者,则Q0.0输出为“1”,否则,Q0.0输出为“0”。在I0.0不闭合时,Q0.0的输出为“0”。IN1和IN2可以为常数。
图4-55 大于或等于实数比较指令举例
大于或等于整数比较指令和大于或等于双精度整数比较指令的使用方法与大于或等于实数比较指令类似,只不过IN1和IN2的参数类型分别为整数和双精度整数。使用比较指令的前提是数据类型必须相同。
小于或等于比较指令和小于比较指令类似,大于比较指令和大于或等于比较指令类似,在此不再赘述。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。