
PLC_博图系列☞基本指令”CMP >=:大于或等于”
文章目录
- PLC_博图系列☞基本指令”CMP >=:大于或等于”
- 背景介绍
- CMP >=:大于或等于
- 说明
- 比较字符串
- 比较定时器、日期和时间
- 比较 WORD 数据类型的变量与 S5TIME 数据类型的变量
- 参数
- 示例
关键字:
PLC、
西门子、
博图、
Siemens 、
大于或等于
背景介绍
这是一篇关于
PLC编程的文章,特别是关于西门子的博图软件。我并不是专业的PLC编程人员,也不懂电路,所以如果你希望从这里学习PLC编程技术,可能会有些失望。然而,因为工作需要,我开始了解PLC编程,特别是西门子的博图软件,并记录了这些经验。随着我国工业4.0的推进,相信会有更多的人从事类似的工作。如果这篇文章能对你有所帮助,欢迎点赞和关注我❥(^_-)。
CMP >=:大于或等于
说明
可以使用指令“大于或等于”查询输入 IN1 的值是否大于或等于输入 IN2 的值。要比较的两个值必须为相同的数据类型。
如果满足比较条件,则指令返回逻辑运算结果 (RLO)“1”。如果不满足比较条件,则该指令返回 RLO“0”。
比较字符串
在比较字符串时,通过字符的代码比较各字符(例如“a”大于“A”)。从左到右执行比较。第一个不同的字符决定比较结果。如果较长字符串的左侧部分和较短字符串相同,则认为较长字符串更大。
下表举例说明了字符串的比较:
IN1 | IN2 | 指令的 RLO |
“BB” | “AA” | 1 |
“AAA” | “AA” | 1 |
“Hello World” | “Hello World” | 1 |
“Hello World” | “HelloWorld” | 0 |
“AA” | “aa” | 0 |
“AAA” | “a” | 0 |
此外,也可以对字符串中的各个字符进行比较。在操作数名称旁的方括号内,指定了待比较的字符位数。例如,“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。如果转换成功,则系统将基于所选的比较指令进行比较操作。
参数
下表列出了“大于或等于”指令的参数:
参数 | 声明 | 数据类型 | 存储区 | 说明 |
IN1 | Input | 位字符串、整数、浮点数、字符串、定时器、日期和时间 | I、Q、M、D、L、P 或常数 | 第一个比较值 |
IN2 | Input | 位字符串、整数、浮点数、字符串、定时器、日期和时间 | I、Q、M、D、L、P 或常数 | 要比较的第二个值 |
可以从指令框的“???”下拉列表中选择该指令的数据类型。
示例
以下示例说明了该指令的工作原理:

满足以下条件时,将置位输出“TagOut”:
- 操作数“TagIn_1”的信号状态为“1”。
- 如果“Tag_Value1”>=“Tag_Value2”,则满足比较指令的条件。
**注:**以上部分内容来之博图V16帮助文档。

















