跳到正文
Learn-LAD
梯形图示例库/LAD 指令手册/FIND — 查找子串

FIND — 查找子串

查找子串第一次出现的位置;未找到返回 0。

字符串 S7-1200/1500 TIA V19 别名:查找 / FIND / FIND

在 TIA 里试一下

选一个示例块,通过 TiaLink 导入当前 TIA 项目:预检、默认不覆盖、不自动保存。示例块不会自动运行;导入后请在 OB1 调用并接变量。

TiaLink 设置

默认 http://localhost:8080。也可以在本页地址后加 ?tialink= 临时指定。

TiaLink 启动时若设置了 --api-token,这里要填相同的值;只保存在本机浏览器 localStorage,不会上传。

一句话

FIND 查找子串第一次出现的位置;未找到返回 0。

符号与引脚

分类:字符串 不需要实例 模板值:str_type
引脚方向说明
en流输入使能输入
IN1输入被搜索的字符串
IN2输入要查找的子串
eno流输出使能输出
OUT输出位置;未找到为 0

符号见下面的最小示例;引脚名与方向来自 lad-ir 指令目录,说明为本站补充。

最小示例

Enable=1 时 Position = FIND(A, B);A='PUMP-01'、B='-01' 得 5。

FIND_Example:Network 1 — 查找子串

图中 # 前缀表示块内局部变量;实际工程里也可以是全局标签或 DB 变量。

怎么工作

  • IN1 是被搜索的字符串,IN2 是要查找的子串。
  • 返回值是位置,首字符为 1;未找到返回 0。
  • 查找区分大小写(按 TIA 规则)。
  • str_type=String;EN/ENO 是使能。

常用场景

1. 查找子串

同上面的最小示例。

2. 查找错误标记

在消息里找 'ERR',用位置判断是否需要报警。

FIND_Find-tag:Network 1 — 查找错误标记

常见坑

  • 把 0 当第一个字符:0 表示“未找到”;首字符位置是 1。
  • 大小写:查找区分大小写,先统一大小写再查。
  • 空子串:空串的查找结果按 TIA 规则处理,避免这样用。
  • ENO 未接:后面的指令可能不执行;需要串联时检查 ENO。

← 返回 LAD 指令手册