BlockWerk Blocks

Blocks

Explore all BlockWerk simulation blocks: mathematical operations, PID controllers, transfer functions, integrators, signal sources, and displays. Free in your browser.

Advanced

Analysis

Connectivity

Continuous

πŸ“ˆ
2nd Order System
SecondOrderSystem

Standard second-order system transfer function: ``` G(s) = Ο‰β‚™Β² / (sΒ² + 2ΞΆΟ‰β‚™s + Ο‰β‚™Β²) ``` This block models damped oscillatory systems commonly found

d/dt
Derivative
Derivative

The Derivative block computes the numerical time derivative (rate of change) of an input signal using backward difference approximation. An optional l

∫
Integrator
Integrator

The Integrator block computes the time integral (accumulated sum) of an input signal. It is the inverse operation to the Derivative block and is essen

πŸ“ˆ
Lead-Lag
LeadLag

Lead-lag compensator with transfer function G(s) = (τ₁s + 1) / (Ο„β‚‚s + 1). When τ₁ > Ο„β‚‚ it acts as a lead compensator (phase advance), when τ₁ < Ο„β‚‚ it

PID
PID Controller
PIDController

The PID Controller block implements a standard Proportional-Integral-Derivative controller for closed-loop feedback control. It combines three control

A-B-C-D
StateSpace
StateSpace

The **StateSpace** block implements a general state-space linear system described by matrices A, B, C, D: ``` x' = Ax + Bu (state equation) y = C

H(s)
TransferFunction
TransferFunction

The Transfer Function block implements linear time-invariant (LTI) systems described in the Laplace domain. It takes a transfer function H(s) = num(s)

Z/P
ZeroPole
ZeroPole

The **ZeroPole** block represents a transfer function using its poles and zeros: ``` H(s) = K Β· (s - z₁)(s - zβ‚‚)...(s - zβ‚˜) / (s - p₁)(s - pβ‚‚)...(s -

Discontinuous

Discrete

Dynamics

Layout

Logic

Math

πŸ“Š
2-D Lookup Table
LookupTable2D

The 2-D Lookup Table block maps two input values (x, y) to an output value using bilinear interpolation within a predefined grid of data points. It is

|Β·|
Absolute Value
Abs

The Absolute Value block computes the magnitude (absolute value) of the input signal. The output is always non-negative regardless of input sign. This

Γ·
Divide
Divide

The Divide block performs algebraic division of two input signals: the numerator and the denominator. This block includes built-in protection against

K
Gain
Gain

The Gain block multiplies its input signal by a constant gain factor (K). This is one of the most fundamental and commonly used blocks in signal proce

βŒ‡
Hill Equation
HillEquation

The Hill Equation block is the sigmoidal Emax model of pharmacodynamics: it turns a drug concentration at the site of action into the effect that conc

πŸ“‹
Lookup Table
LookupTable

1-D lookup table with linear interpolation. Maps input values to output values using a set of breakpoints and corresponding table data.

f(x)
Math Function
MathFunction

Applies a selectable mathematical function to the input signal. Supports exponential, logarithmic, power, remainder, and rounding operations.

↕
MinMax
MinMax

Outputs the minimum or maximum of all connected input signals. Useful for signal selection, protection logic, and envelope detection.

Γ—
Product
Product

The Product block multiplies multiple input signals together, producing their algebraic product as output. This is a fundamental mathematical operatio

√
SquareRoot
SquareRoot

The SquareRoot block calculates the n-th root of the input signal. While named SquareRoot for common usage (where n=2), it is a versatile root-calcula

βˆ’
Subtraction
Subtraction

The Subtraction block performs algebraic subtraction of two input signals: output = plus - minus. This provides an explicit and intuitive alternative

+
Sum
Sum

The Sum block adds multiple input signals together, producing their algebraic sum as output. This is one of the most fundamental mathematical operatio

trig
Trigonometric
Trigonometric

The **Trigonometric** block provides 7 trigonometric functions in a single configurable block: - **sin(x)** - Sine - **cos(x)** - Cosine - **tan(x)**

Signal Routing

Sinks

Sources

πŸ•
Clock
Clock

Outputs the current simulation time as a signal. Essential for creating time-dependent systems, lookup tables, or simply monitoring simulation progres

C
Constant
Constant

The Constant block is a fundamental signal source that provides a steady numerical output value throughout the entire simulation. It has no input port

πŸ•Ή
Joystick 2D
Joystick2D

Interactive 2-axis joystick. Drag the knob β€” also **while the simulation is running** β€” and both outputs follow immediately. Placing a Joystick (or an

⌨
Keyboard Input
KeyboardInput

Interactive keyboard source. Click the block to **arm** it, then steer with the arrow keys or WASD β€” also while the simulation runs. Placing a Keyboar

πŸ“Š
PulseGenerator
PulseGenerator

The Pulse Generator block creates square wave pulse signals with configurable parameters. It generates periodic pulses that alternate between high and

πŸ“ˆ
Ramp
Ramp

The Ramp block generates a linearly increasing signal that starts at a specified time and increases at a constant rate (slope). This block is commonly

🎲
Random
RandomNumber

Generates pseudo-random numbers using a deterministic PRNG (xorshift64). Supports uniform and gaussian distributions. Same seed produces identical seq

πŸ“Š
Signal Generator
SignalGenerator

The SignalGenerator block is a versatile signal source that generates various types of time-varying signals for simulation and testing purposes. It ca

🎚
Slider
Slider

Interactive on-canvas slider source. Drag the handle β€” also **while the simulation is running** β€” and the output follows immediately. Placing a Slider

⏫
Step
Step

The Step block generates a step function signal that transitions from an initial value to a final value at a specified time. This block is commonly us

Subsystems

Verification

Visualization