Function-Block Editor Logic
A graphical wiresheet sandbox — the kind of logic surface Niagara, EBO, and Distech all use. Add blocks, wire an output pin to an input pin, and a live tick loop carries values through the sheet. Not modelled on any one product; the goal is to feel how a control sequence is built. New to it? Start with Function-Block Basics →
Desktop tool
Wiring blocks on a wiresheet is drag work that wants a pointer and a wide canvas — open this page on a laptop or desktop to build and run a sequence. A finger can't both drag a block and pan the sheet, so it's pointer-only by design. Here's the mental model it teaches:
- Sheets flow left to right. Sources (sensors, constants) on the left, logic and math in the middle, outputs on the right — read a wiresheet as a signal's journey.
- Wire output → input, like to like. An output pin on a block's right edge feeds an input pin on another's left edge; analog only connects to analog, digital only to digital.
- Comparators turn analog into digital. A greater-than or less-than block compares two numbers and emits TRUE or FALSE — the bridge from a measured value to an on/off decision.
- Latches hold; loops settle. An SR latch remembers its last set or reset. A feedback wire carries the previous scan's value, so a loop settles each tick instead of hanging.
- It runs as a scan, about ten times a second. Change a source and the whole sheet re-evaluates — the way a real controller cycles its program.
- Blocks carry real units. The PID block's Ti and Td are in seconds — so if you tuned in the PID tuner's default reset (repeats/min), bridge it with Ti (s) = 60 ÷ reset before you transcribe the numbers.
New to wiresheets? Function-Block Basics covers the same ideas and reads fine on a phone.
How it works
Click a palette block to drop it on the sheet; drag it by its title bar to
reposition. To wire, click an output pin (right edge) then a
compatible input pin (left edge) — pins only connect
like-to-like, analog to analog and digital to digital. Click a block or a
wire to select it; press Delete to remove the selection, or
Escape to cancel a wire-in-progress. The inspector below the
canvas edits the selected block's parameters live. Placing and wiring
blocks needs a mouse or trackpad; the inspector and the sim-bar buttons
take keyboard too.
The sequence evaluates ten times a second. Pure logic settles in a single pass; a feedback loop (an output wired back to its own chain) carries the previous tick's value, so a latch holds and a loop never hangs. Source and output blocks show their value; a digital wire turns green when it carries TRUE. Nothing is saved — reload, or pick a Try this example, to start fresh.
DIVIDE outputs 0 when its divisor is
0 — a guard, so a downstream comparator stays sane
instead of reading Infinity or NaN.