
Normalize — 归一化
把 [min, max] 范围内的 value 归一化为 0..1。
在 TIA 里试一下
选一个示例块,通过 TiaLink 导入当前 TIA 项目:预检、默认不覆盖、不自动保存。示例块不会自动运行;导入后请在 OB1 调用并接变量。
一句话
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。

图中 # 前缀表示块内局部变量;实际工程里也可以是全局标签或 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 变成范围。
常用场景
常见坑
- 把 Normalize 当 SCALE:Normalize 输出 0..1;模拟量 0..27648 → 工程量用 SCALE/Scale_X。
- 不做限幅:value 超出范围会外推,可能超出 0..1。
- 类型不一致:SrcType/DestType 和变量类型要匹配。
- ENO 未接:后面的指令可能不执行;需要串联时检查 ENO。
- min/max 写反:min 必须小于 max,否则结果没有意义。
