浔之漫智控技术(上海)有限公司
西门子授权代理商 , 西门子授权代理商 , 西门子一级代理商
SIEMENS西门子 S120伺服电机 1FK7015-5AK74-1JH3


          CMP <>:不等于 (S7-1200, S7-1500) 说明 可以使用指令“不等于”查询输入 IN1 的值是否不等于输入 IN2 的值。 如果满足比较条件,则指令返回逻辑运算结果 (RLO)“1”。如果不满足比较条件,则该指令返 回 RLO“0”。 如果启用了 IEC 检查,则要比较的操作数必须属于同一数据类型。如果未启用 IEC 检查,则 操作数的宽度必须相同。 比较浮点数 如果要比较数据类型 REAL 或 LREAL,则可使用指令“CMP <>:不等于”。建议使用指令 “OUT_RANGE:值超出范围”。 如果要比较浮点数,则无论 IEC 检查的设置如何,要比较的操作数都必须属于相同数据类型。 对于无效运算的运算结果(如,-1 的平方根),这些无效浮点数 (NaN) 的特定位模式不可 比较。即,如果一个操作数的值为 NaN,则指令“CMP <>:不等于”的结果为 FALSE。

          比较字符串 比较字符串时,系统将对各字符的代码进行比较(如,“a”大于“A”)。并按照从左到右的顺 序进行比较。第一个不同的字符决定比较结果。 下表举例说明了字符串的比较:此外,也可以对字符串中的各个字符进行比较。在操作数名称旁的方括号内,指定了待比较 的字符位数。例如,“MyString[2]”与“MyString”字符串的第二个字符进行比较。 说明 即使执行“inactive”指令,仍会显示状态 请注意以下要求: • 执行指令“CMP <>:不等于”(数据类型 STRING、WSTRING 或 VARIANT)之前,系统将查询 程序段中的条件(如,常开触点的值)。 • “开启监视”已启用。 • 该条件的新结果将程序段复位为 FALSE。指令“CMP <>:不等于”将取消激活。 结果: 对于指令“CMP <>:不等于”(数据类型 STRING、WSTRING 或 VARIANT),程序段中仍然 显示之前的状态。 仅当关闭“开启监视”功能后再重新启用或移动到其它程序段中时,指令“CMP <>:不等 于”(数据类型 STRING、WSTRING 或 VARIANT)的状态才会正确显示。指令“CMP <>:不 等于”将在程序段中灰显为取消激活状态。 比较定时器、日期和时间 系统无法比较无效定时器、日期和时间的位模。即,如果某个操作数的值无效,则指令“CMP <>:不等于”的结果为 TRUE。 并非所有时间类型都可以直接相互比较,如 S5TIME。此时,需要将其显式转换为其它时间 类型(如,TIME),然后再进行比较。如果要比较不同数据类型的日期和时间,则需将较小的日期或时间数据类型显式转换为较大 的日期或时间数据类型。例如,比较日期和时间数据类型 DATE 和 DTL 时,将基于 DTL 进行 比较。 如果显式转换失败,则比较结果为 FALSE。 比较 WORD 数据类型的变量与 S5TIME 数据类型的变量 将 WORD 数类型的变量与 S5TIME 数据类型的变量进行比较时,这两种变量都将转换为 TIME 数据类型。WORD 变量将解释为一个 S5TIME 值。如果这两个变量中的某个变量无法转换, 则不进行比较且输出结果 FALSE。如果转换成功,则系统将基于所选的比较指令进行比较操 作。 比较硬件数据类型 为了能够通过“不等于”指令比较 PORT 数据类型的操作数,需要从指令功能框的下拉列表 中选择 WORD 数据类型。 如果要比较这两种硬件数据类型 HW_IO 和 HW_DEVICE,则需先在块接口的“Temp”区域创建 一个 HW_ANY 数据类型的变量,然后将数据类型为 HW_DEVICE 的 LADDR 复制到该变量中。 之后,才能对 HW_ANY 和 HW_IO 进行比较。比较结构 说明 结构比较的可用性 结构比较功能仅适用于固件版本为 V4.2 及以上版本的 S7-1200 系列 CPU,以及固件版本为 V2.0 及以上版本的 S7-1500 系列 CPU。 如果两个变量的结构数据类型相同,则可以比较这两个结构化操作数的值。比较结构化变量 时,待比较操作数的数据类型必须相同,而无需考虑具体的“IEC 检查”(IEC Check) 设置。但 两个操作数中的一个为 VARIANT,而另一个为 ANY 时除外。如果编程时数据类型未知,则 可使用 VARIANT 数据类型。这样,就可比较任意数据类型的结构化变量操作数。此外,还 可以比较 VARIANT 或 ANY 数据类型的变量。 可以从指令框的下拉列表中选择该比较指令的数据类型 VARIANT。支持以下数据类型: • PLC 数据类型 • STRUCT(数据类型 STRUCT 的结构需包含在 PLC 数据类型 (UDT) 中,或两个结构为 ARRAY of STRUCT 中待比较的两个元素。不支持匿名结构。)• ANY 指向的变量 • VARIANT 指向的变量 要比较选定数据类型 ARRAY 和 VARIANT 的两个变量,需满足以下要求: • 元素的数据类型必须相同。 • 两个 ARRAY 的维数必须相同。 • 所有维数的元素数量必须相同,而具体的 ARRAY 限值无需相同。 说明 ARRAY of BOOL 比较数据类型为 ARRAY OF BOOL 的两个操作数时,需要从下拉列表中选择数据类型 VARIANT,而且如果元素的个数不能被 8 整除,还会比较填充位。这可能会影响比较结果。 如果待比较结构中的某个元素为无效 STRING/WSTRING、无效时间日期或无效浮点数,则 RLO (逻辑运算结果)中的比较结果将返回信号状态“0”。 下表举例说明了一个结构比较:如上表中详细列示,数据类型 ARRAY、STRUCT(PLC 数据类型中)、VARIANT、ANY 和 PLC 数据类型 (UDT) 仅适用于固件版本 V2.0 或 V4.2 及更高版本。 可以从指令框的“???”下拉列表中选择该指令的数据类型。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。如果转换成功,则系统将基于所选的比较指令进行比较操 作。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。如果转换成功,则系统将基于所选的比较指令进行比较操 作。

展开全文
拨打电话 微信咨询 发送询价