
Mux — 多路选择
按 k 选择一个输入送到输出;越界时输出 else。
在 TIA 里试一下
选一个示例块,通过 TiaLink 导入当前 TIA 项目:预检、默认不覆盖、不自动保存。示例块不会自动运行;导入后请在 OB1 调用并接变量。
一句话
Mux 按 k 选择一个输入送到输出;k 越界时输出 else。
符号与引脚
分类:字逻辑
不需要实例
模板值:个数(Card), 源类型(SrcType)
| 引脚 | 方向 | 说明 |
|---|---|---|
en | 流输入 | 使能输入 |
k | 输入 | 选择索引(0 开始) |
in0 | 输入 | 第 0 路输入 |
in1 | 输入 | 第 1 路输入 |
else | 输入 | 越界时的默认值 |
eno | 流输出 | 使能输出 |
out | 输出 | 选中的值 |
符号见下面的最小示例;引脚名与方向来自 lad-ir 指令目录,说明为本站补充。
最小示例
Enable=1、K=0 时 Result=A;K=1 时 Result=B;K 越界时 Result=else。

图中 # 前缀表示块内局部变量;实际工程里也可以是全局标签或 DB 变量。
怎么工作
Card决定输入路数(本页是 2 路:in0/in1)。k从 0 开始编号;k越界时选else。SrcType决定数据类型;所有输入和输出类型要一致。EN/ENO是使能。
常用场景
常见坑
- k 越界:
k >= Card或k < 0时走else,别让else悬空。 - Card 与引脚:改
Card后输入引脚数量变化,确认接线。 - 类型不一致:所有输入/输出/
SrcType要匹配。 - 和 SEL 混淆:
SEL是 Bool 二选一,Mux可按索引选多路。 - ENO 未接:后面的指令可能不执行;需要串联时检查 ENO。
