跳到正文
Learn-LAD
梯形图示例库/LAD 指令手册/Normalize — 归一化

Normalize — 归一化

把 [min, max] 范围内的 value 归一化为 0..1。

转换 S7-1200/1500 TIA V19 别名:归一化 / NORM_X / Normalize

在 TIA 里试一下

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

TiaLink 设置

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

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

一句话

Normalize 把 [min, max] 范围内的 value 归一化为 0..1:等于 min 输出 0.0,等于 max 输出 1.0。

符号与引脚

分类:转换 不需要实例 模板值:源类型(SrcType), 目标类型(DestType)
引脚方向说明
en流输入使能输入
min输入输入下限
value输入输入值
max输入输入上限
eno流输出使能输出
out输出0..1 的归一化值

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

最小示例

Raw 是 0..27648 的原始值,Norm 是 0..1:Raw=13824 时 Norm=0.5。

Normalize_Example:Network 1 — 0..27648 → 0..1

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

怎么工作

  • value 是输入值,min/max 是输入范围;out 是 0..1 的结果。
  • SrcType/DestType 决定源/目标类型;常见 Int→Real、Real→Real。
  • value 超出 [min, max] 时结果会外推;需要限幅时先接 LIMIT。
  • EN/ENO 是使能;类型不匹配可能报错。
  • Normalize 与 Scale_X 互为反向:Normalize 把范围变成 0..1,Scale_X 把 0..1 变成范围。

常用场景

1. 原始值归一化

同上面的最小示例。

2. 温度归一化

Temp 0..100 归一化为 0..1,用于百分比显示或后续 Scale_X。

Normalize_Temp:Network 1 — 0..100 → 0..1

常见坑

  • 把 Normalize 当 SCALE:Normalize 输出 0..1;模拟量 0..27648 → 工程量用 SCALE/Scale_X。
  • 不做限幅:value 超出范围会外推,可能超出 0..1。
  • 类型不一致:SrcType/DestType 和变量类型要匹配。
  • ENO 未接:后面的指令可能不执行;需要串联时检查 ENO。
  • min/max 写反:min 必须小于 max,否则结果没有意义。

← 返回 LAD 指令手册