您现在的位置是:首页 > PLC技术 > PLC技术

S7-300/400系列PLC比较指令

来源:艾特贸易2018-01-24

简介梯形图 (LAD)的比较指令是对两个输入参数IN1和IN2的值进行比较,比较的内容可以是相等、不等、大于、小于、大于等于或小于等于。如果比较结果为真,则逻辑结果为“1”。比较指令有


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

2-19    比较指令

 表2-19 比较指令

    使用比较指令的示例程序如表2-20所示。

2-20    比较指令的示例程序

 表2-20 比较指令的示例程序

表2-20 比较指令的示例程序

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

 图2-14输入数据类型不符

2-14输入数据类型不符

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

    LMW  100

    LMW  102

    >=I

    M1.1

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

    使用STL编程时,不同数据类型的变量也可以相比较,例如:

    LMB    100

    LMD    102

    >=I

    M1.1

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

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

(作者稿费要求:需要高清无水印文章的读者3元每篇,请联系客服,谢谢!在线客服:艾特贸易网客服为您服务