BlockWerk 文档
⊓

Saturation

Discontinuous

Saturation 方块(饱和 / 幅值限幅器)将输入信号严格约束在设定的下限和上限之间。该方块对于真实物理执行器及受物理约束系统的高保真建模至关重要,例如电机驱动电压极限、调节阀开度行程(0–100%)、管道流速极限以及闭环控制系统中的积分抗饱和(Anti-windup)保护。

在 BlockWerk 中仿真

浏览器即开即用的交互式仿真环境 — 无需安装,由 WebAssembly 强力驱动。

在 BlockWerk 中仿真 →

数学模型

Saturation 方块实现如下数学模型:

y(t)={U,u(t)>Uu(t),L≤u(t)≤UL,u(t)<L⟺y(t)=max⁡(L,min⁡(U,u(t)))y(t) = \begin{cases} U, & u(t) > U \\ u(t), & L \le u(t) \le U \\ L, & u(t) < L \end{cases} \quad \Longleftrightarrow \quad y(t) = \max\big(L, \min(U, u(t))\big)

其中:

  • u(t)u(t) 为输入信号
  • y(t)y(t) 为限幅后的输出信号
  • LL 为下限值(lowerLimit)
  • UU 为上限值(upperLimit)

输入与输出

Direction ID Label 类型 Status
→ In in Input number Required
← Out out Output number Output

参数

参数 Label 类型 默认值 描述
lowerLimit Lower Limit number -1 Minimum allowed value
upperLimit Upper Limit number 1 Maximum allowed value

使用示例

控制器驱动电压限幅

将 PID 控制器的输出限制在驱动器允许的 -5 V 到 +5 V 范围内:

PIDController → Saturation (lowerLimit: -5, upperLimit: 5) → 执行机构

单向物理阀门开度 (0 到 100%)

调节阀的物理开度只能在 0%(全关)至 100%(全开)之间动作:

控制指令 → Saturation (lowerLimit: 0, upperLimit: 100) → 阀门实际开度

说明与最佳实践

  • 非对称限幅: 上限和下限可独立配置(例如配置为 [0, 1] 对应非负物理量)。
  • 无记忆静态特性: 瞬时无延迟响应,不占用额外仿真内存状态。
  • 非线性效应: 当信号越过限幅阈值被截断时,在频域会引入高次谐波失真。

相关模块

  • DeadZone: 抑制小信号区间的死区方块
  • Relay: 带有迟滞特性的离散二值切换开关
  • PIDController: 内置了抗积分饱和特性的控制器方块