
FIND — 查找子串
查找子串第一次出现的位置;未找到返回 0。
在 TIA 里试一下
选一个示例块,通过 TiaLink 导入当前 TIA 项目:预检、默认不覆盖、不自动保存。示例块不会自动运行;导入后请在 OB1 调用并接变量。
一句话
FIND 查找子串第一次出现的位置;未找到返回 0。
符号与引脚
分类:字符串
不需要实例
模板值:str_type
| 引脚 | 方向 | 说明 |
|---|---|---|
en | 流输入 | 使能输入 |
IN1 | 输入 | 被搜索的字符串 |
IN2 | 输入 | 要查找的子串 |
eno | 流输出 | 使能输出 |
OUT | 输出 | 位置;未找到为 0 |
符号见下面的最小示例;引脚名与方向来自 lad-ir 指令目录,说明为本站补充。
最小示例
Enable=1 时 Position = FIND(A, B);A='PUMP-01'、B='-01' 得 5。

图中 # 前缀表示块内局部变量;实际工程里也可以是全局标签或 DB 变量。
怎么工作
IN1是被搜索的字符串,IN2是要查找的子串。- 返回值是位置,首字符为 1;未找到返回 0。
- 查找区分大小写(按 TIA 规则)。
str_type=String;EN/ENO是使能。
常用场景
常见坑
- 把 0 当第一个字符:0 表示“未找到”;首字符位置是 1。
- 大小写:查找区分大小写,先统一大小写再查。
- 空子串:空串的查找结果按 TIA 规则处理,避免这样用。
- ENO 未接:后面的指令可能不执行;需要串联时检查 ENO。
