跳到正文
Learn-LAD
梯形图示例库/LAD 指令手册/Demux — 多路分配

Demux — 多路分配

按 k 把输入送到对应输出;越界时送到 else。

字逻辑 S7-1200/1500 TIA V19 别名:多路分配 / DEMUX / Demux

在 TIA 里试一下

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

TiaLink 设置

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

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

一句话

Demux 按 k 把输入送到对应输出;k 越界时送到 else。

符号与引脚

分类:字逻辑 不需要实例 模板值:个数(Card), 源类型(SrcType)
引脚方向说明
en流输入使能输入
k输入目标索引(0 开始)
in输入输入值
eno流输出使能输出
out0输出第 0 路输出
out1输出第 1 路输出
else输出越界时的输出

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

最小示例

Enable=1、K=0 时 Out0=A;K=1 时 Out1=A;K 越界时 Else=A。

Demux_Example:Network 1 — 分配到两路

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

怎么工作

  • Card 决定输出路数(本页是 2 路:out0/out1)。
  • k 从 0 开始编号;未被选中的输出保持/为 0(按 TIA 规则确认)。
  • SrcType 决定数据类型;in 与所有输出类型要一致。
  • EN/ENO 是使能。

常用场景

1. 分配到两路

同上面的最小示例。

2. 按工位分配

用 K 选工位,越界的数据进 Else 统一处理。

Demux_Distribute:Network 1 — 按工位分配

常见坑

  • k 越界:越界数据进 else,别丢数据。
  • 未选中输出:确认未选中输出是保持还是清零,避免旧值残留。
  • Card 与引脚:改 Card 后输出引脚数量变化,确认接线。
  • 和 Mux 混淆:Demux 是一进多出,Mux 是多进一出。
  • ENO 未接:后面的指令可能不执行;需要串联时检查 ENO。

← 返回 LAD 指令手册