FREE PLAN
Logic Simulator

SAMA Logic Diagram Simulator

Click + Blocks, drag a block onto the canvas, then drag from a block's output dot to another block's input dot to wire it up. Add any dynamic block (lag, integrator, PID...) and Simulate runs it live over time; a purely static diagram computes instantly.

Verified against published standard
STATIC t = 0.0 s Static diagram — computes instantly. Add a dynamic block to enable Run.
Pages (shared tag database):
Page 1 ✎

About This Calculation

SAMA (Scientific Apparatus Makers Association) symbols are the standard notation for control and interlock logic diagrams across the power industry, part of the same lineage as the ISA/MCAA "Functional Diagramming of Instrument and Control Systems" standard — the same summing junctions, high/low/median selects, limiters, and manual/auto transfer stations that appear throughout real combustion control and permissive logic. This tool lets you wire your own chain of standard blocks — static/algebraic blocks, a full logic-gate family (AND/OR/NOT/NAND/NOR/XOR) plus an M-out-of-N safety voter, and genuine time-stepped dynamic blocks (lag, derivative, integrator, a resettable totalizer, a real Auto/Manual PID faceplate, an on/off hysteresis controller, track/hold, ramp generators, timers, a first-out annunciator) — and watch every output update live, including a scrolling trend chart and a full Hi-Hi/Hi/Lo/Lo-Lo alarm summary with acknowledge and event log, rather than only viewing pre-built loops.

Frequently Asked Questions

What’s the difference between this and the Control Loops page?

Control Loops shows complete, pre-built simulations of specific real plant control loops (drum level, combustion control, and so on), each already wired up and ready to run. This tool is for building your OWN logic from individual SAMA blocks — summers, selects, AND/OR gates, and genuine dynamic blocks like PID, lag, and timers — to check how a specific piece of interlock, permissive, or control logic behaves for exactly the combination you need, not just the pre-built examples.

Why can a block only reference an earlier block, not a later one?

A real SAMA diagram is read left to right — signals flow forward, never backward into an earlier summing junction on the same sheet. Enforcing that here means the chain evaluates in one deterministic pass with no risk of a circular reference, exactly matching how the diagram would actually be drawn and read. A genuine feedback loop (like a PID controlling the process it reads back from) is still fully supported — it’s resolved correctly using a one-step simulation delay once you add a dynamic block, the same way a real control loop’s feedback path works.

What happens if I remove a block that another block depends on?

The dependent block’s input automatically falls back to a constant value (0) instead of being left broken — you’ll see it change and can re-wire it to a different source if needed.

Are dynamic blocks like lag, integrator, or timers included?

Yes — lag, derivative, lead-lag, integrator, a resettable totalizer, rate limiter, dead time, a ramp/time-function generator, a full anti-windup PID controller (with a real Auto/Manual faceplate mode and bumpless transfer, just like a real DCS), an on/off hysteresis controller, a track/hold (sample-and-hold), both Reset-dominant and Set-dominant SR latches, a first-out sequence annunciator, a time-delay (ON/OFF-delay) timer, a one-shot pulse timer, and a free-running pulse generator are all available alongside the static/algebraic SAMA blocks (summers, averaging, differencing, high/low/median selects, an M-out-of-N safety voter, limiters, exponential, manual/auto transfer stations, AND/OR/NOT/NAND/NOR/XOR, comparators). Add any dynamic block to a diagram and Simulate mode activates automatically, stepping the whole chain forward in time with a Run/Pause/Reset clock and an optional live trend chart.

Can I build real safety voting logic like 2oo3, not just plain AND/OR?

Yes — the M-out-of-N Voter block is the standard SIS architecture (1oo2, 2oo2, 2oo3, 1oo3, 3oo3) as one configurable block: it outputs TRUE once at least M of its connected inputs are TRUE. 2oo3 specifically is genuinely different from a plain AND or OR gate — it tolerates any single input disagreeing (a stuck or spurious sensor) without either a nuisance trip or a loss of protection, which is exactly why real safety instrumented systems use it. Median Select does the equivalent job for analog signals: it outputs the middle of three inputs, so one wildly failed transmitter (high or low) never affects the result.

Can I configure alarm limits and see them on the diagram?

Yes — any block with an assigned instrument tag can have Hi-Hi/Hi/Lo/Lo-Lo alarm limits configured in its Properties panel. An active, unacknowledged alarm shows a pulsing red or amber border directly on the block, and every alarm across every page of the diagram appears in the Alarm Summary panel with an acknowledge workflow and a timestamped event log — the same alarm banner pattern a real DCS operator station uses.
Built with ♥ — Dr. Kundan