ABB PLC(AC500/AC500-eCo)不用 ST 文本,照样能实现线性函数(量程缩放、y=kx+b)
我给你整理 3 种最实用、工程最常用、纯梯形图 / 功能块 的方法,完全不用写代码,照着拖就能用。
一、方法 1:使用 ABB 官方功能块 SCALE
ABB 自带专门做线性缩放的功能块,等同于 AB 的 SCP、西门子的 NORM_X+SCALE_X。
它就是专门干这个的:
输入 → 线性变换 → 输出不用运算、不用公式、不用 ST。
功能块参数:
plaintext
SCALE IN : 输入值 (INT/REAL) IN_MIN: 输入最小值 IN_MAX: 输入最大值 OUT_MIN: 输出最小值 OUT_MAX: 输出最大值 OUT : 输出结果
怎么用:
打开 Function Builder → Library → IEC Function Blocks → Scale
直接拖到梯形图里
填 4 个量程:
输入 0~1000
输出 6241~31206(4-20mA)
自动生成线性输出
优点:
✅ 纯图形化,不用 ST✅ 一条搞定,和 AB 的 SCP 一模一样✅ 自带限幅,不会超量程
二、方法 2:纯梯形图 + 浮点运算指令(不用 ST、不用功能块)
如果你想完全自己拼逻辑,用 ABB 梯形图 浮点运算块 拼公式:
公式拆解成 5 个指令:
SUB :IN – IN_MIN
SUB :IN_MAX – IN_MIN
DIV :(IN-IN_MIN) ÷ (IN_MAX-IN_MIN)
MUL :结果 × (OUT_MAX–OUT_MIN)
ADD :+ OUT_MIN
LIMIT:限幅
指令路径:
Library → IEC Functions → Float
SUB_F 浮点减法
DIV_F 浮点除法
MUL_F 浮点乘法
ADD_F 浮点加法
LIMIT_F 浮点限幅
优点:
✅ 通用、所有 PLC 品牌都通用✅ 不用 ST、纯梯形图✅ 理解最透彻
三、方法 3:使用 ABB 系统库 AI_SCALE、AO_SCALE(专门给模拟量用)
ABB 针对 AI 转工程量、AO 输出 提供专用缩放块:
模拟量输入缩放
plaintext
AI_SCALE AI_RAW : 原始值 OUT : 工程值(温度/压力/流量)
模拟量输出缩放
plaintext
AO_SCALE IN : 工程值 AO_RAW : 输出给AO模块的原始值
优点:
✅ 专门给模拟量使用✅ 自动匹配 4-20mA / 0-10V✅ 工业现场最常用
四、3 种方法对比(一眼看懂)
表格
| 方法 | 难度 | 是否需要 ST | 推荐指数 | 适合人群 |
|---|---|---|---|---|
| SCALE 功能块 | ⭐ | 否 | ⭐⭐⭐⭐⭐ | 所有人(最快) |
| 浮点运算拼公式 | ⭐⭐⭐ | 否 | ⭐⭐⭐⭐ | 想学习原理的人 |
| AI/AO_SCALE | ⭐⭐ | 否 | ⭐⭐⭐⭐ | 做模拟量的人 |





