模块
探索所有 BlockWerk 仿真模块:数学运算、PID 控制器、传递函数、积分器、信号源与各类显示模块。完全基于浏览器,免费免安装。
Advanced
BatterySocEkf 模块利用电池管理系统(BMS)中实际测得的电芯电流和端电压两条遥测信号,高精度在线估计电池的荷电状态(State of Charge, SOC)。算法基于含单阶或二阶 RC 环节的等效电路模型运行扩展卡尔曼滤波(EKF)。利用端电压测量校正纯安时积分(库仑计数)的累积漂移
KalmanFilter 模块用于从含有噪声的观测信号中在线估计线性系统的内部隐藏状态。在每个采样步长内,该模块根据系统模型和已知控制输入先验预测状态,随后根据实时测量值进行后验校正,并通过过程噪声协方差 Q 与测量噪声方差 R 的权衡实现统计最优估计。 支持直接以连续时间状态方程(`dx/dt
在仿真主循环内部直接执行自定义 **JavaScript** 或 **Python** 算法逻辑。支持自定义输入与输出端口 — 它们将在您的脚本中作为实时变量直接使用。 > 🚦 **适用场景:** 用于非线性控制律、状态观测器(Observer)、模糊控制、倒立摆起摆控制(Swing-up)或复
Analysis
BodePlot(伯德图)方块对线性动态系统进行频率响应分析。它同时生成并绘制两张图表: 1. **幅频特性(dB 对 rad/s)**:显示系统在不同频率下的增益大小。 2. **相频特性(度 对 rad/s)**:显示输出相对于输入的相位滞后或超前。 该方块在频域分析中对于评估系统稳定性至关
NyquistPlot 方块将系统的频率响应在复平面上可视化为极坐标图(奈奎斯特图)。它在水平轴上绘制频率响应的实部,在垂直轴上绘制虚部。 奈奎斯特图是利用开环频率响应分析闭环稳定性的有力工具。它将幅值和相位信息整合并呈现在单条直观的轨迹之中。
Connectivity
BronkhorstMFC 是一个**信号源**方块(兼具可选的设定值下发功能),它通过浏览器的 Web Serial API 从物理连接的 Bronkhorst 质量流量控制器(MFC)读取实时的流量、温度、频率以及报警数据。通信采用 PROPAR 协议,支持 ASCII 与增强型二进制(Enha
RemoteSensor 是一个**信号源(Source)**方块,通过 WebRTC 点对点(P2P)连接将已配对移动设备的实时惯性及扩展传感器数据流式传输至仿真系统中。将该方块放置于画布上时,它会自动生成一个配对二维码;使用手机浏览器扫描该二维码即可瞬间建立通信链路。连接成功后,该方块将暴露三轴
PhoneController 是一个**信号源**方块,可将任意智能手机变为无线遥控手柄(包含虚拟摇杆及独立的偏航滚轮)。当该方块被拖拽到画布上时,会生成配对二维码;用手机扫描后即可打开控制页面,展示一个大尺寸屏幕触摸摇杆以及下方的水平偏航滑动条。手机通过与 RemoteSensor 方块相同的
Continuous
标准二阶系统传递函数: ``` G(s) = ωₙ² / (s² + 2ζωₙs + ωₙ²) ``` 该方块用于对机械振动、电气回路和控制系统中常见的阻尼振荡系统进行建模。固有频率和阻尼比提供了直观的整定参数。
微分(Derivative)方块通过后向差分近似算法计算输入信号的数值时间导数(变化率)。用户可配置低通滤波系数,以有效抑制微分运算带来的高频噪声放大效应。
积分器(Integrator)方块用于计算输入信号的时间连续积分(累加和)。它是微分方块的逆运算,在动态系统建模中广泛用于由加速度推算速度、由速度解算位移、计算曲线下面积以及实现 PID 控制器中的积分项(I)以消除静差。
传递函数为 G(s) = (τ₁s + 1) / (τ₂s + 1) 的超前-滞后校正器。当 τ₁ > τ₂ 时表现为超前校正器(相位超前);当 τ₁ < τ₂ 时表现为滞后校正器(相位滞后)。
PIDController 方块实现了用于闭环反馈控制的标准比例-积分-微分(PID)控制器。它结合了三个并联的控制项以精确调节过程:比例作用用于快速响应,积分作用用于消除稳态误差,微分作用用于阻尼超调。
**StateSpace**(状态空间)方块实现了由系统矩阵 $A, B, C, D$ 描述的通用连续线性时不变(LTI)多变量动态系统模型: ``` x' = Ax + Bu (状态方程) y = Cx + Du (输出方程) ``` 这是 LTI 动态系统最普遍也是最强大的数学
TransferFunction(传递函数)方块用于对拉普拉斯复频域下描述的连续线性时不变(LTI)动态系统进行建模与仿真。它接收系统传递函数表达式 $H(s) = \frac{\text{num}(s)}{\text{den}(s)}$,并通过数值积分算法精确计算系统在输入激励下的时域动态响应。
**ZeroPole** 方块通过系统的零点和极点来表示传递函数: ``` H(s) = K · (s - z₁)(s - z₂)...(s - zₘ) / (s - p₁)(s - p₂)...(s - pₙ) ``` 这种形式在控制系统设计、稳定性分析和频率响应可视化中非常直观。
Discontinuous
用于对机械齿隙(间隙/游隙/反向间隙)进行建模。在输入与当前输出位置的差值超过死区宽度的一半之前,输出保持恒定。常用于齿轮传动、连杆机构及其他具有机械间隙的机械系统建模。
死区(DeadZone)方块用于模拟死区(Dead Band)非线性特性。当输入信号落在设定的区间范围之内时,输出严格为零;当输入超出该死区范围时,输出为减去死区边界值后的偏移信号,从而保证输出曲线在数学上的连续过渡无跳变。 该方块在工程建模中对于仿真机械齿隙游隙、静摩擦阈值(Stick-Slip
将输入信号四舍五入到指定间隔的最接近倍数,产生阶梯状输出。用于对 ADC 分辨率、数字传感器量化和离散电平系统进行建模。
限制输出信号的变化率(转换速率 / 摆率)。输出跟随输入,但变化速度不能超过指定的上升或下降速率。用于对执行器速度限制、电机加速度约束和受转换速率限制的放大器进行建模。
Relay 方块(带滞环的继电器 / 施密特触发器)在两个固定的输出值(`onValue` 与 `offValue`)之间进行切换。当输入信号上升并超过开启阈值(`switchOnPoint`)时继电器导通闭合;而只有当输入信号下降并低于关断阈值(`switchOffPoint`)时继电器才释放断开
Saturation 方块(饱和 / 幅值限幅器)将输入信号严格约束在设定的下限和上限之间。该方块对于真实物理执行器及受物理约束系统的高保真建模至关重要,例如电机驱动电压极限、调节阀开度行程(0–100%)、管道流速极限以及闭环控制系统中的积分抗饱和(Anti-windup)保护。
Discrete
`DigitalFilter` 方块是一个高度先进的信号处理工具,专门用于在仿真过程中对离散时间信号进行滤波。它支持多种经典的无限冲激响应(IIR)滤波器近似算法(巴特沃斯 Butterworth、切比雪夫 I 型 Chebyshev I、贝塞尔 Bessel)构建的级联双二阶(Biquad)结构,
离散时间积分器,随时间对输入信号进行累加。等效于按采样时间缩放的滑动求和。
计算输入信号的离散时间导数(后向差分)。在首个采样点输出为零。
离散状态空间方块(Discrete State-Space)实现了一个离散时间线性状态空间系统。在每个采样时刻,它利用递推方程推进内部状态向量,然后将当前状态和输入的线性组合计算为输出。该方块等效于 z 域矩阵传递函数 `H(z) = C(zI - A)^-1 B + D`。 典型用途包括实现离散
使用转置直接 II 型(Direct Form II Transposed)结构实现离散时间传递函数 H(z) = B(z)/A(z)。系数按 z 的降幂排列,以空格分隔指定。
采样保持(Sample-and-Hold)方块,以固定时间间隔对输入信号进行采样,并在采样间隔期间保持或外推数值。
将输入信号精确延迟一个采样周期(z⁻¹ 算子)。这是离散时间系统、数字滤波器和状态机的基本构建单元。
Dynamics
Delay 方块为输入信号引入固定的时间延迟(传输时滞)。用于对通信延迟、传感器时延、处理时间和各种现实系统动态特性进行建模。该延迟通过存储历史输入值的环形缓冲区来实现。
InputShaper 模块用于在高速点位运动控制中彻底消除机械结构弹性振动与吊载摆动。当行车/桥式起重机的小车快速起步并急停时,悬挂的重物会剧烈晃动,迫使操作员耗费大量时间等待晃动衰减。输入整形器(Input Shaper)将原本突变的位移阶跃指令分解为两个(ZV)或三个(ZVD)幅度较小但严格相
SmithPredictor 模块用于彻底补偿控制回路中的纯滞后(时滞/死区时间,Dead Time)。在工业管道输运或远距离流体传输中,控制动作执行后需要经历数秒甚至数分钟才能在传感器端出现响应(如热水从加热器流至喷淋头的时间)。若直接使用常规 PID 反馈控制,调节器在滞后期间盲目加压积分,极易
Layout
Logic
比较器(Comparator)方块将输入信号与设定阈值进行比较,并输出二进制布尔结果:若比较条件成立则输出 **1**(真),否则输出 **0**(假)。该方块在工业控制中广泛用于阈值超限报警(如过温、过流保护)、过零点检测以及驱动逻辑控制回路。
检测输入信号中的突变或边沿。能够检测上升沿(输入信号向上穿越阈值)、下降沿(输入信号向下穿越阈值)或任意边沿跳变。
测试输入信号是否落在指定的数值区间内。如果位于区间内默认输出 1,如果在区间外则输出 0。
**LogicGate**(逻辑门)方块在单一高度可配置的组件中集成了 4 种基础布尔逻辑运算: - **AND(逻辑与)**:所有输入必须全部为真(非零)。 - **OR(逻辑或)**:至少有一个输入为真(非零)。 - **NOT(逻辑非)**:反转输入布尔状态(单通道输入)。 - **XOR(
Switch 方块根据一路选择控制信号(Selector)在两路数据输入信号之间进行二选一切换。当选择信号满足设定的阈值判定条件时(默认 $\ge \text{threshold}$),方块输出第一路输入信号($u_1$);否则输出第二路输入信号($u_2$)。该方块在条件信号路由、安全联锁保护逻辑
Math
2-D Lookup Table 模块通过预定义网格数据点内的双线性插值(bilinear interpolation),将两个输入值 (x, y) 映射为一个输出值。常用于依赖两个变量的复杂非线性系统建模,例如电机效率特性图(MAP 图)、空气动力学阻力系数或多维传感器校准。
绝对值方块 (Absolute Value) 计算输入信号的幅值(绝对值)$|u(t)|$。无论输入信号的正负符号如何,输出始终为非负值($\ge 0$)。该方块广泛应用于控制系统和信号处理中的幅值计算、误差范数评估(如平均绝对误差 MAE)以及全波整流。
除法(Divide)方块执行两路输入信号的代数除法运算:分子(Numerator)除以分母(Denominator)。该方块内置完备的除零保护机制,使动态系统仿真在遭遇数学奇异点时仍能保持数值稳定,避免崩溃或产生 `NaN`(非数)扩散。 方块提供两个明确的输入端口:上方端口为分子(`num`),
增益(Gain)方块将输入信号乘以常数增益系数($K$)。这是信号处理与控制工程中最基础且应用最广泛的构建单元之一。它为信号提供直接的线性比例缩放,而不会改变信号的波形形态或动态特性。 该方块具备一个输入端口和一个输出端口。常见应用场景包括 PID 控制器中的比例增益环节、传感器信号放大与衰减以及
HillEquation 模块实现了药效动力学(Pharmacodynamics, PD)中经典的 S 型 $E_{\text{max}}$ 曲线模型:用于将效应部位的药物浓度非线性映射为生物体产生的实际生理药效。在现代临床精准麻醉控制中,该模型常用于将大脑效应室丙泊酚(异丙酚)浓度转换为双频指数(
具有线性插值的一维查找表(1-D Lookup Table)。通过一组断点(breakpoints)和对应的表格数据,将输入值映射为输出值。
数学函数(MathFunction)方块对输入信号应用指定的通用数学函数变换。它支持指数函数($e^x$)、自然对数与以 10 为底的对数($\ln$, $\log_{10}$)、幂运算($u^c$)、求余数/取模(`rem`)以及取整操作(`round`, `floor`, `ceil`)。
输出所有连接输入信号的最小值或最大值。适用于信号选择、保护逻辑和包络检测。
Product 方块将多个输入信号相乘,输出它们的代数乘积。这是用于连续信号缩放、幅度调制(AM)、电功率计算($P = U \cdot I$)以及构建非线性系统模型的基础数学运算。 该方块在其输入端口上支持接入任意数量的连接线,并将所有输入的当前时刻数值相乘,合成为单个输出信号。
SquareRoot 方块计算输入信号的 n 次方根。虽然以最常见的平方根(n=2)命名,但它是一个通用的根计算方块,支持立方根(n=3)以及任何其他数值根阶数。
Subtraction 方块对两个输入信号执行代数减法:输出 = plus - minus。这为使用带有负 Gain 增益的 Sum 方块提供了一个明确且直观的替代方案。这对于在反馈控制系统中生成误差信号至关重要。
Sum 方块将多个输入信号进行代数相加,并将它们的和作为单个信号输出。这是控制工程和信号处理领域中最基本、最核心的数学运算之一。该方块的输入端口可接入任意数量的信号连线,并将所有输入时刻的数值累加合并。 常见工程应用场景包括:构建闭环控制系统的比较求和点(与增益为 -1 的 Gain 方块配合计算
**Trigonometric** 方块在单个可配置方块中提供 7 种三角函数: - **sin(x)** - 正弦 - **cos(x)** - 余弦 - **tan(x)** - 正切 - **asin(x)** - 反正弦 - **acos(x)** - 反余弦 - **atan(x)**
Signal Routing
解复用(Demux / 扇出信号分配器)方块将单一输入信号复制分发至多个并行输出端口。每个输出端口获得与输入完全相同的即时信号值。该方块用于将同一个设定值、传感器读数或控制指令清晰分发给多个子系统、控制器或示波器,避免在画布上绘制混乱交叉的连线。
从匹配的 Goto 方块无线接收信号。使用 Goto/From 对创建虚拟连接,从而减少框图连线的杂乱。
以无线方式将信号发送到匹配的 From 方块。使用 Goto/From 对创建虚拟连接,从而减少框图连线的杂乱。
复用(Mux / 多路信号汇总)方块将多路标量输入信号汇聚汇总为单一输出。输出值为所有已连接输入信号的代数和。该方块适用于整合来自多个传感器的采样读数,或在进入下一级处理单元前集中累加多路信号分量。
根据索引值从多个输入信号中选择一个输出。
Sinks
**FFT Scope** 方块利用快速傅里叶变换(FFT)实时显示一个或多个信号的频域频谱。它属于接收端方块(Sink)——没有输出端口,也不会对系统的仿真计算产生任何反作用。 最多可将多条信号连线接入单个 **Signal** 输入端口。所有接入的信号都会被同步分析,并以不同颜色的叠加光谱曲线
Gauge 方块渲染一个带有旋转指针的模拟半圆形仪表盘,用于显示所接入信号相对于用户定义的最大/最小量程的瞬时值。填充圆弧随数值成比例伸展,指针在 −90°(最小值)至 +90°(最大值)之间摆动,使用户能够瞬间直观地感知信号处于其工作区间的具体位置。 该方块非常适用于监测变化较为缓慢的过程变量—
Histogram 方块在仿真运行过程中累积输入的标量数值,并将其频率分布渲染为柱状直方图。数值被归类到跨越用户定义范围的固定数量等宽区间(bin)中,使用户对信号的统计特性一目了然。 该方块非常适合于噪声分析、蒙特卡洛(Monte Carlo)结果检查以及质量控制监测,在这些场景中,分布的形态—
NumericDisplay 方块提供了一个数字液晶(LCD)风格的读数显示屏,用于实时展示仿真中的数值。它读取输入值,并根据可配置的小数精度以及可选的最值追踪功能进行显示。 这是一个“接收端”(Sink)方块,意味着它接收测量数据但不向后传递。极大数值($\ge 10^6$)和极小数值($< 0
ScatterPlot 方块将成对的标量值绘制为二维平面中的独立散点。在每个仿真步长中,X 和 Y 输入的当前值都会被记录为画布上的一个点,从而在仿真运行过程中逐渐形成点云。 该方块对于揭示两个信号之间的相关性、可视化利萨如(Lissajous)图形或检查两个通道上噪声的联合分布特别有用。
uPlotDisplay 方块是一个超高性能、交互式的实时信号曲线绘制组件,可直接嵌入仿真原理图画布中进行可视化分析。它依托轻量级 `uPlot` 图表渲染引擎,能够在浏览器中无延迟、极其流畅地实时呈现数十万甚至上百万个离散数据采样点。 该方块作为数据接收端(Sink),支持在其输入端口上同时接入
XYPlot 方块在相平面视图中绘制两个实时标量信号的相互关系曲线,并将可配置数量的最近采样点对保留为逐渐淡出的轨迹。该显示在每个仿真步长实时更新,非常适合观察极限环、相图以及动态轨迹的演变过程。 与 ScatterPlot 方块不同,XYPlot 专为动态实时监测而设计:仅显示最近的 `trai
Sources
将当前的仿真时间作为信号输出。对于构建时间相关系统、查表(Lookup Table)或简单监测仿真进度至关重要。
常数方块是一个基础的信号源,它在整个仿真过程中提供稳定的数值输出。它没有输入端口,只有一个输出端口,持续输出配置好的常数值。 此方块对于为系统提供固定输入至关重要,例如控制回路的设定值、偏置值或测试信号。该方块在每个仿真步骤中产生相同的输出。
交互式双轴操纵杆(Joystick)。拖动手柄——即使**在仿真运行期间**——两个轴的输出信号也会实时紧密跟随。在模型中放置操纵杆(或任何交互式输入方块)会自动将仿真切换为实时步进调步。
交互式键盘输入源。点击方块以**激活(arm)**它,然后使用方向键或 WASD 进行控制——即使在仿真运行期间亦可实时操纵。加入键盘输入方块(或任何交互式输入方块)会自动将仿真切换为实时步进调步。
PulseGenerator 方块用于生成参数可精确配置的周期性方波脉冲序列信号。信号在幅值高电平(`amplitude`)与零电平(`0.0`)之间交替切换。该方块广泛用于时钟基准信号、定时触发器、频闪测试以及脉冲宽度调制(PWM)建模。
Ramp 方块生成一个线性增加(或减小)的斜坡信号,该信号从设定的起始时间开始,并以恒定的斜率速率发生变化。该方块常用于生成电机的软启动控制曲线、测试控制系统的斜坡跟踪稳态误差,以及模拟物理控制输入量的渐变过程。
使用确定性伪随机数生成器(PRNG:xorshift64)生成伪随机数。支持均匀分布和高斯(正态)分布。相同的种子(seed)将产生完全相同的随机数序列。
SignalGenerator 方块是一个功能多样的周期信号发生器,可产生多种类型的时变波形,用于系统仿真与动态测试。该方块能够生成正弦波、余弦波、方波、锯齿波和三角波。在控制工程与信号处理应用中,它是构建激励信号、动态参考输入以及周期性干扰源的基础方块。 该方块作为虚拟函数信号发生器运行,仅根据
画布上的交互式滑块信号源。拖动手柄——即使**在仿真运行期间**——输出信号也会立即跟随变化。在模型图中放置滑块(或任何交互式输入方块)会自动将仿真切换为实时步进调步(real-time pacing),因此您用鼠标进行的操作会实时如实反映在示波器上。
Step 方块生成一个在指定时间从初始值跃变至目标终值的阶跃信号(阶跃响应信号)。该方块是控制工程中用于测定动态系统阶跃响应、分析控制回路稳定性和超调量、以及模拟突加负载扰动或离散开关切换的标准基准源。 该方块没有输入端口,在其唯一的输出端口上持续输出阶跃信号。