CMP >:大于(S7-1200, S7-1500) 说明 可以使用指令“大于”查询输入 IN1 的值是否大于输入 IN2的值。要比较的两个值必须为相 同的数据类型。如果满足比较条件,则指令返回逻辑运算结果 (RLO)“1”。如果不满足比较条件,则该指令返回 RLO“0”。 比较字符串 在比较字符串时,通过字符的代码比较各字符(例如“a”大于“A”)。从左到右执行比较。第一个不同的字符决定比较结果。如果较长字符串的左侧部分和较短字符串相同,则认为较长 字符串更大。下表举例说明了字符串的比较:也可以对字符串中的各个字符进行比较。在操作数名称旁的方括号内,指定了待比较的字符位数。例如,“MyString[2]”与“MyString”字符串的第二个字符进行比较。 说明执行“inactive”指令,仍会显示状态 请注意以下要求: • 执行指令“CMP >:大于”(数据类型STRING、WSTRING 或 VARIANT)之前,系统将查询程 序段中的条件(如,常开触点的值)。 • “开启监视”已启用。 •该条件的新结果将程序段复位为 FALSE。指令“CMP >:大于”将取消激活。 结果: 对于指令“CMP>:大于”(数据类型 STRING、WSTRING 或 VARIANT),程序段中仍然显示 之前的状态。仅当关闭“开启监视”功能后再重新启用或移动到其它程序段中时,指令“CMP >:大 于”(数据类型 STRING、WSTRING或 VARIANT)的状态才会正确显示。指令“CMP >:大 于”将在程序段中灰显为取消激活状态。
并非所有时间类型都可以直接相互比较,如 S5TIME。此时,需要将其显式转换为其它时间类型(如,TIME),再进行比较。 如果要比较不同数据类型的日期和时间,则需将较小的日期或时间数据类型显式转换为较大的日期或时间数据类型。例如,比较日期和时间数据类型 DATE 和 DTL 时,将基于 DTL 进行 比较。如果显式转换失败,则比较结果为 FALSE。 比较 WORD 数据类型的变量与 S5TIME 数据类型的变量 将 WORD数类型的变量与 S5TIME 数据类型的变量进行比较时,这两种变量都将转换为 TIME 数据类型。WORD 变量将解释为一个S5TIME 值。如果这两个变量中的某个变量无法转换, 则不进行比较且输出结果FALSE。如果转换成功,则系统将基于所选的比较指令进行比较操 作。CMP <:小于 (S7-1200, S7-1500) 说明可以使用指令“小于”查询输入 IN1 的值是否小于输入 IN2 的值。要比较的两个值必须为相 同的数据类型。如果满足比较条件,则指令返回逻辑运算结果 (RLO)“1”。如果不满足比较条件,则该指令返 回 RLO“0”。 比较字符串在比较字符串时,通过字符的代码比较各字符(例如“a”大于“A”)。从左到右执行比较。第一个不同的字符决定比较结果。如果较长字符串的左侧部分和较短字符串相同,则认为较短 字符串更小。下表举例说明了字符串的比较:也可以对字符串中的各个字符进行比较。在操作数名称旁的方括号内,指定了待比较的字符位数。例如,“MyString[2]”与“MyString”字符串的第二个字符进行比较。 说明执行“inactive”指令,仍会显示状态 请注意以下要求: • 执行指令“CMP <:小于”(数据类型STRING、WSTRING 或 VARIANT)之前,系统将查询程 序段中的条件(如,常开触点的值)。 • “开启监视”已启用。 •该条件的新结果将程序段复位为 FALSE。指令“CMP <:小于”将取消激活。 结果: 对于指令“CMP<:小于”(数据类型 STRING、WSTRING 或 VARIANT),程序段中仍然显示 之前的状态。仅当关闭“开启监视”功能后再重新启用或移动到其它程序段中时,指令“CMP <:小 于”(数据类型 STRING、WSTRING或 VARIANT)的状态才会正确显示。指令“CMP <:小 于”将在程序段中灰显为取消激活状态。 比较定时器、日期和时间在比较定时器值时,如果输入 IN1 处的定时器小于(早于)输入 IN2 处的定时器,则该指令 的 RLO 为“1”。并非所有时间类型都可以直接相互比较,如 S5TIME。此时,需要将其显式转换为其它时间 类型(如,TIME),再进行比较。如果要比较不同数据类型的日期和时间,则需将较小的日期或时间数据类型显式转换为较大 的日期或时间数据类型。例如,比较日期和时间数据类型DATE 和 DTL 时,将基于 DTL 进行 比较。 如果显式转换失败,则比较结果为 FALSE。 比较 WORD 数据类型的变量与S5TIME 数据类型的变量 将 WORD 数类型的变量与 S5TIME 数据类型的变量进行比较时,这两种变量都将转换为 TIME数据类型。WORD 变量将解释为一个 S5TIME 值。如果这两个变量中的某个变量无法转换, 则不进行比较且输出结果FALSE。如果转换成功,则系统将基于所选的比较指令进行比较操 作。IN_RANGE:值在范围内 (S7-1200, S7-1500)说明 可以使用“值在范围内”指令查询输入 VAL 的值是否在指定的取值范围内。 使用输入 MIN 和 MAX 可以指定取值范围的限值。“值在范围内”指令将输入 VAL 的值与输入 MIN 和 MAX 的值进行比较,并将结果发送到功能框输出中。 如果输入 VAL的值满足 MIN <= VAL 或 VAL <=MAX 比较条件,则功能框输出的信号状态为“1”。 如果该比较结果不为真,则功能框输出的信号状态为“0”。 仅当要比较的值为同一数据类型时,才会执行比较函数。OUT_RANGE:值超出范围 (S7-1200,S7-1500) 说明 可以使用“值超出范围”指令查询输入 VAL 的值是否超出指定的取值范围。 使用输入 MIN 和 MAX可以指定取值范围的限值。 “值超出范围”指令将输入 VAL 的值与输入 MIN 和 MAX 的值进行比较,并将结果发送到功能框输出中。如果输入 VAL 的值满足 MIN > VAL 或 VAL >MAX 比较条件,则功能框输出的信号状态为“1”。如果数据类型 REAL 的指定 操作数具有无效值,则功能框输出的信号状态为“1”。 如果输入 VAL 的值不满足 MIN >VAL 或 VAL > MAX 条件,则功能框输出返回信号状态“0”。仅当要比较的值为同一数据类型时,才会执行比较函数。满足下列条件时,将置位输出“TagOut”: •操作数“TagIn_1”和“TagIn_2”的信号状态为“1”。 • 操作数“TagIn_3”的信号状态为“1”。 •操作数“Tag_Value”的值在由操作数“Tag_Min”和“Tag_Max”(MIN > VAL 或 VAL >MAX) 的值指定的取值范围之外。OK:检查有效性 (S7-1200, S7-1500) 说明 可以使用“检查有效性”指令检查操作数() 中的值是否为有效的浮点数。 每个 程序循环均执行检查。 如果查询时操作数的值是有效浮点数,则输出功能框将返回信号状态 “1”。在任何其它情况下,“检查有效性”指令输出的信号状态均为“0”。 可以使用“检查有效性”指令和 EN 机制。如果将该指令功能框连接到EN 使能输入,则 仅在值的有效性查询结果为正数时才置位使能输入。 使用该函数,可确保仅在指定操作数的值为有效浮点数时才启用该指令。当操作数“Tag_Value1”和“Tag_Value2”的值显示为有效浮点数时,会执行“乘”指令。将操作数“Tag_Value1”的值与操作数“Tag_Value2”的值相乘。乘积将写入操作数“Tag_Result”。如果成功执行该指令,则将 TagOut 和“ENO”使能输出的信号状态置位为“1”。NOT_OK:检查无效性 (S7-1200,S7-1500) 说明 可以使用“检查无效性”指令检查操作数 () 中的值是否为无效的浮点数。 每个 程序循环均执行检查。如果查询时操作数的值是有效浮点数,则输出功能框将返回信号状态 “1”。在所有其它情况下,输出功能框的信号状态都为“0”。VARIANT (S7-1200, S7-1500)EQ_Type:比较数据类型与变量数据类型是否“相等” (S7-1200, S7-1500) 说明可以使用“比较数据类型与变量数据类型是否“相等””指令查询 VARIANT 所指向变量的 数据类型。比较块接口中声明的 IN1参数变量的数据类型与 IN2 参数变量的数据类型,确定 这两者是否“相等”。 IN1 参数的变量必须为 VARIANT数据类型。IN2 参数的变量可以是基本数据类型或 PLC 数据 类型。 如果满足比较条件,则该指令返回逻辑运算结果(RLO)“1”。如果不满足比较条件,则该指令 返回 RLO“0”。 比较定时器、日期和时间 并非所有时间类型都可以直接相互比较,如S5TIME。此时,需要将其显式转换为其它时间 类型(如,TIME),再进行比较。如果要比较不同数据类型的日期和时间,则需将较小的日期或时间数据类型显式转换为较大 的日期或时间数据类型。例如,比较日期和时间数据类型DATE 和 DTL 时,将基于 DTL 进行 比较。 如果显式转换失败,则比较结果为 FALSE。 比较结构要比较结构,可使用指令“CMP ==”。匿名结构通常无法编辑,除非是同一个 ARRAY 的某个 部分。有关比较结构的更多信息,请参见 下表列出了“比较数据类型与变量数据类型是否“相等””指令的参数:NE_Type:比较数据类型与变量数据类型是否“不相等”(S7-1200, S7-1500) 说明 可以使用“比较数据类型与变量数据类型是否“不相等””指令,查询 VARIANT 指向而变量中未包含的数据类型。比较在块接口中声明的 IN1 参数一个变量的数据类型与 IN2 参数一个变量的数据类型,确定这两者是否“不相等”。 IN1 参数的变量必须为 VARIANT 数据类型。IN2参数的变量可以是基本数据类型或 PLC 数据 类型。 如果满足比较条件,则该指令返回逻辑运算结果(RLO)“1”。如果不满足比较条件,则该指令 返回 RLO“0”。