公司主营:西门子数控,S7-200CN.S7-200smart.S7-300.S7-400.S7-1200.6ES5 ET200 人机界面,变频器,DP总线,MM变频器,6SE70交流工程调速变频器6RA70等系列产品。
产品简介
详细介绍
可以使用指令“不等于"查询输入 IN1 的值是否不等于输入 IN2 的值。
如果比较条件,则指令返回逻辑运算结果 (RLO)“1"。如果不比较条件,则该指
令返回 RLO“0"。
如果启用了 IEC 检查,则要比较的操作数必须属于同一数据类型。如果未启用 IEC 检查,
则操作数的宽度必须相同。
比较浮点数
如果要比较数据类型 REAL 或 LREAL,则可使用指令“CMP <>:不等于"。建议使用指
令“OUT_RANGE:值超出范围"。
如果要比较浮点数,则无论 IEC 检查的设置如何,要比较的操作数都必须属于相同数据类
型。
对于无效运算的运算结果(如,-1 的平方根),这些无效浮点数 (NaN) 的特定位不可
比较。即,如果一个操作数的值为 NaN,则指令“CMP <>:不等于"的结果将为 FALSE。
指令
4.1 指令
对 PLC 进行编程
1218 编程和操作手册, 10/2018
比较字符串
在比较字符串时,通过字符的代码比较各字符(例如“a"大于“A")。从左到右执行比较。
个不同的字符决定比较结果。
下表举例说明了字符串的比较:
IN1 IN2 指令的 RLO
“AA" “aa" 1
“Hello World" “HelloWorld" 1
“AA" “AA" 0
“aa" “aaa" 1
此外,也可以对字符串中的各个字符进行比较。在操作数名称旁的方括号内,了待比
较的字符位数。例如,“MyString[2]"与“MyString"字符串的第二个字符进行比较。
说明
即使执行“inactive"指令,仍会显示状态
请注意以下要求:
● 执行指令“CMP <>:不等于"(数据类型 STRING、WSTRING 或 VARIANT)之前,
将查询程序段中的条件(如,常开触点的值)。
● “开启"已启用。
● 该条件的新结果将程序段复位为 FALSE。指令“CMP <>:不等于"将取消。
结果:
对于指令“CMP <>:不等于"(数据类型 STRING、WSTRING 或 VARIANT),程序段
中仍然显示之前的状态。
仅当关闭“开启"功能后再重新启用或到其它程序段中时,指令“CMP <>:不等
于"(数据类型 STRING、WSTRING 或 VARIANT)的状态才会正确显示。指令“CMP
<>:不等于"将在程序段中灰显为取消状态。
比较定时器、日期和时间
无法比较无效定时器、日期和时间的位(如,
DT#2015-13-33-25:62:99.999_999_999)。即,如果某个操作数的值无效,则指令“CMP
<>:不等于"的结果将为 FALSE。
并非所有时间类型都可以直接相互比较,如 S5TIME。此时,需要将其显式转换为其它时
间类型(如,TIME),然后再进行比较。
指令
4.1 指令
对 PLC 进行编程
编程和操作手册, 10/2018 1219
如果要比较不同数据类型的日期和时间,则需将较小的日期或时间数据类型显式转换为较
大的日期或时间数据类型。例如,比较日期和时间数据类型 DATE 和 DTL 时,将基于 DTL
进行比较。
如果显式转换失败,则比较结果为 FALSE。
下一篇:西门子组态软件6ES7822-1AA04-2YE6定制