首页 理论教育 比较指令及其应用场景详解

比较指令及其应用场景详解

时间:2023-06-17 理论教育 版权反馈
【摘要】:LAD的比较指令对两个输入参数IN1和IN2的值进行比较,比较的内容可以是相等、不等、大于、小于、大于等于和小于等于。比较指令有三类,分别用于整数、双整数和浮点;STL分别将两个值装载到累加器1和2中,然后将两个累加器进行比较,比较的内容和指令类别与LAD相同,但是STL编程更灵活,可以将字节间、字节与字、字与双字相比较,使用LAD编程时,参数IN1和IN2的数据类型必须相同。表6-6 比较指令使用比较指令的示例程序见表6-7。

比较指令及其应用场景详解

LAD的比较指令对两个输入参数IN1和IN2的值进行比较,比较的内容可以是相等、不等、大于、小于、大于等于和小于等于。如果比较结果为真,则逻辑结果为“1”。比较指令有三类,分别用于整数、双整数和浮点;STL分别将两个值装载到累加器1和2中,然后将两个累加器进行比较,比较的内容和指令类别与LAD相同,但是STL编程更灵活,可以将字节间、字节与字、字与双字相比较,使用LAD编程时,参数IN1和IN2的数据类型必须相同。比较指令见表6-6。

6-6 比较指令

978-7-111-28718-6-Chapter06-28.jpg

使用比较指令的示例程序见表6-7。

6-7 比较指令的示例程序

978-7-111-28718-6-Chapter06-29.jpg

使用LAD编程时,在输入参数IN1和IN2输入的变量必须完全符合数据类型的要求,例如CMP>=I比较指令,输入参数必须为整数类型,如果输入变量MW100和MW102在符号表中定义数据类型为“WORD”,则在输入变量时,报错不能输入,输入变量变为警示颜色—红色,如图6-13所示。

使用STL编程,程序相同但是不会提示故障信息,程序如下:

978-7-111-28718-6-Chapter06-30.jpg(www.xing528.com)

实际上数据已经自动转换为整数类型(带有符号位),例如MW100的值为W#16#8001,MW102的值为W#16#0001,但是不能输出M1.1,因为W#16#8001转换为整数类型后变为-32767,W#16#0001转换为整数类型后变为1,MW100小于MW102不能触发M1.1输出,其他数据类型的比较也会自动转换为指定的数据类型。

978-7-111-28718-6-Chapter06-31.jpg

图6-13 输入数据类型不符

使用STL编程时,不同数据类型的变量也可以相比较,参考下面的示例程序:

978-7-111-28718-6-Chapter06-32.jpg

将MB100与MD102相比,指定比较的数据类型为整数,实际上将存储于变量MB100中的整数值与MW104(MD102的低字)中的整数值相比较。

注意:

在实际编程中,最好使用相同类型的数据进行比较。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈