跳到正文
Learn-LAD
梯形图示例库/LAD 指令手册/DECO — 解码

DECO — 解码

把输入值解码为输出字中的一位:OUT = 2^IN。

字逻辑 S7-1200/1500 TIA V19 别名:解码 / DECODE / DECO

在 TIA 里试一下

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

TiaLink 设置

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

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

一句话

DECO 把输入值解码为输出字中的一位:OUT = 2^IN。

符号与引脚

分类:字逻辑 不需要实例 模板值:计数值类型(value_type), return_type
引脚方向说明
en流输入使能输入
IN输入位号(UInt)
eno流输出使能输出
OUT输出解码结果(DWord)

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

最小示例

Enable=1、IN=3 时 OUT=2#1000(第 3 位置 1)。

DECO_Example:Network 1 — 解码

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

怎么工作

  • IN 是位号(UInt),OUT 是解码结果(本页 DWord)。
  • value_type=UInt、return_type=DWord;输入 0..31 对应 DWord 的 32 位。
  • 输入超出输出位宽时结果不可靠;先做范围检查。
  • EN/ENO 是使能;DECO 是 terminal 盒(有 ENO 可继续串联)。

常用场景

1. 一位热码

同上面的最小示例。

2. 工位/报警选择

把工位号解码成一位热码,去点亮对应的指示灯或触发对应输出。

DECO_OneHot:Network 1 — 一位热码

常见坑

  • 位号越界:IN 超出 0..31(DWord)时结果不可靠;先限幅。
  • 输出类型:return_type 要与 OUT 变量一致;本页用 DWord。
  • 和 ENCO 混淆:DECO 是“编号 → 一位”,ENCO 是“一位 → 编号”。
  • 每一位只亮一个:解码结果是 one-hot,不会同时置多位。
  • ENO 未接:后面的指令可能不执行;需要串联时检查 ENO。

← 返回 LAD 指令手册