返回主站|会员中心|保存桌面

AB罗克韦尔服务商    

PLC、变频器、人机界面、传感器

联系方式
  • 联系人:方经理
  • 电话:13073017555
  • 邮件:gzws26@126.com
新闻分类
  • 暂无分类
首页 > 新闻中心 > AB罗克韦尔线性函数的具体实现步骤是什么?
新闻中心
AB罗克韦尔线性函数的具体实现步骤是什么?
发布时间:2026-04-05        浏览次数:0        返回列表

AB 罗克韦尔 PLC(ControlLogix/CompactLogix/Micro800)中,线性函数(y = kx + b) 最标准、最省事的实现是用 SCP 指令(Scale with Parameters),也可以直接写公式运算。

下面给你 完整、可直接套用的步骤(Studio 5000 / RSLogix 5000 环境)。


一、核心原理

AB 里线性函数本质就是 量程映射y = (x – x_min) × (y_max – y_min) ÷ (x_max – x_min) + y_min

  • x:输入(自变量:计数器、时间、模拟量、设定值)

  • x_min / x_max:输入范围

  • y_min / y_max:输出范围(送给 AO 模拟量输出)


二、方法 1:用 SCP 指令

SCP 是 AB 专门的线性比例缩放指令,一步到位。

1. 指令格式(梯形图 / 功能块)

plaintext

SCP
Input:       <输入值 x (INT/REAL)>
Input Min:   <x最小值>
Input Max:   <x最大值>
Output Min:  <y最小值>
Output Max:  <y最大值>
Output:      <输出值 y (REAL/INT)>

2. 典型应用:模拟量输出(4–20mA / 0–10V)

例:

  • 输入:D0 从 0 → 1000(时间 / 计数器自增)

  • 输出:模拟量 4–20mA → Raw 范围 6241~31206(1769-OF4 标准)

  • 要求:x=0 → 4mA;x=1000 → 20mA

SCP 参数:

  • Input:       D0

  • Input Min:   0

  • Input Max:   1000

  • Output Min:  6241

  • Output Max:  31206

  • Output:      Local:2:O.Ch0Data (AO 通道 0 原始值)

3. 让 x 随时间自增(自动跑函数)

plaintext

TON     Timer1   .PRE 100   // 100ms 周期
        Timer1.DN
INC     D0               // 每 100ms x+1

三、方法 2:直接写公式(结构化文本 ST)

适合需要灵活修改、加斜率 / 截距、多段线性的场景。

公式写法:

st

// 定义变量
x: REAL;       // 自变量
x_min: REAL := 0.0;
x_max: REAL := 1000.0;
y_min: REAL := 6241.0;   // 4mA
y_max: REAL := 31206.0;  // 20mA
y: REAL;       // 输出到AO

// 线性计算
y := (x - x_min) * (y_max - y_min) / (x_max - x_min) + y_min;

// 限幅(防止超量程)
y := LIMIT( y_min, y, y_max );

// 写入模拟量输出通道
Local:2:O.Ch0Data := INT( y );

四、硬件与组态关键

1. 模拟量输出模块组态(以 1769-OF4 为例)

  • 打开 I/O Configuration → 双击 AO 模块

  • Ch0 Data Format:选 Raw(全量程整数)

  • Output Type

    • Current → 4–20mA

    • Voltage → 0–10V

  • 工程单位范围:0–100% 对应 Raw 6241–31206(4–20mA)

2. 常见 Raw 范围(务必记)

  • 4–20mA:6241 ~ 31206

  • 0–20mA:0 ~ 31206

  • 0–10V:0 ~ 31206

  • ±10V:-31206 ~ +31206


五、完整步骤汇总(从 0 到输出)

  1. 组态 AO 模块:设为 Raw、信号类型(4–20mA/0–10V)

  2. 定义变量:x(输入)、y(输出)、范围参数

  3. 产生 x

    • 时间自增(TON+INC)

    • 外部设定值(HMI / 上位机)

    • 模拟量输入(AI 通道)

  4. 线性转换

    • 梯形图:SCP 指令

    • 结构化文本:y = kx + b 公式

  5. 限幅:用 LIMIT 指令防超量程

  6. 写入 AO:赋值给 Local:X:O.ChXData


六、常见问题

  • 输出不动:检查模块是否设为 Raw,不是 Engineering Units

  • 超量程:加 LIMIT 指令

  • 4mA 不为最小值:确认 Input Min/Output Min 对应

  • 波动大:AO 模块开滤波,或程序加平滑、

收缩
  • 电话咨询

  • 13073017555
  • 添加微信客服