跳到正文
Learn-LAD
梯形图示例库/LAD 指令手册/MID — 取中间字符串

MID — 取中间字符串

从位置 P 开始取 L 个字符。

字符串 S7-1200/1500 TIA V19 别名:中间取 / MID / MID

在 TIA 里试一下

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

TiaLink 设置

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

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

一句话

MID 从位置 P 开始取 L 个字符。

符号与引脚

分类:字符串 不需要实例 模板值:计数值类型(value_type)
引脚方向说明
en流输入使能输入
IN输入输入字符串
L输入字符数
P输入起始位置
eno流输出使能输出
OUT输出结果

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

最小示例

Enable=1 时 Result = MID(Text, L, P);Text='PUMP-01'、P=6、L=2 得 '01'。

MID_Example:Network 1 — 取中间字符串

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

怎么工作

  • P 是起始位置,首字符为 1;L 是取出的字符数。
  • P/L 越界时按 TIA 规则返回空串或部分结果,先做范围检查。
  • value_type=String;结果是新字符串。
  • EN/ENO 是使能。

常用场景

1. 取中间段

同上面的最小示例。

2. 提取片段

从固定格式的消息/条码中提取中间字段。

MID_Extract:Network 1 — 提取片段

常见坑

  • P 从 0 开始? TIA 字符串位置首字符为 1;别按 0 基数组下标写。
  • P+L 越界:先确认 P + L - 1 <= LEN(Text)。
  • L 为 0:返回空串。
  • ENO 未接:后面的指令可能不执行;需要串联时检查 ENO。

← 返回 LAD 指令手册