ICoreBlocks — the user manual#
ICoreBlocks is a block-diagram modelling application: you draw a system as blocks joined by signal links, run it over a stretch of simulated time, read the results on a scope or in the command window, and — when the model is right — export it as source code for another target.
This manual is about using the application. It assumes you have it installed and open, and nothing else.
The parts of the window#
| Part | What it is for |
|---|---|
| Canvas | The drawing surface, one per open tab. Blocks are placed here and joined with links. It is the only part that holds your model. |
| Library navigator | The catalogue of blocks you can place, arranged by family. Hovering a block shows the same description you will see in its configuration dialog. |
| Subsystem navigation | Moves you between levels of the model. The top level is called Home; a subsystem block opens a level of its own beneath it. |
| Command window | A console. It evaluates arithmetic, calls the built-in functions, and runs the commands listed in Command glossary — console commands, verbs, functions. |
| Model configuration | The solver settings a run obeys — start and stop time, solver type, sampling. See Running a simulation — solver settings, sampling, starting and stopping. |
| Diagnostics | What a run reports: warnings, errors, and the messages explained in Reading results — scopes, charts, stored values, and what a run tells you. |
| Code export | Turns the model into source for one of the supported targets. |
A block's own configuration dialog carries an information panel describing that block — its ports, its parameters and what it computes. That description is the same text shown in the library navigator and on the block's page in Block catalog — every library block, so there is only ever one description to read.
The shortest path to a plotted result#
The quickest way to see the application do something is to open one of the worked examples that ship with it rather than to start from an empty canvas.
Open a template — the catalogue is in Template catalog — every .iscript, and the application lists it for you:
``
$ ICoreBlocks --console "templates" 49 template(s): Control Systems examples/Closed_Loop_Speed_Control Closed-Loop Speed Control A proportional controller driving a first-order plant, with unity feedback. subsystems/first_order_lag First-Order Lag A step into a 1/(s+1) transfer function, watched on a scope.``Open one. It becomes a new project of its own, so the original template is never modified:
``
$ ICoreBlocks --console "openTemplate examples/Closed_Loop_Speed_Control" opened 'Closed-Loop Speed Control' as a new project: …/Documents/ICore Blocks/Closed-Loop Speed Control``- Press Run. The scope in the diagram fills in as the run advances.
- Read the result. The scope plots it; Reading results — scopes, charts, stored values, and what a run tells you covers the other ways to get at the numbers.
From there, Building a diagram — blocks, links, subsystems, saving describes changing the model or starting one from nothing.
Doing it from the command window instead#
Everything above has a console equivalent, and the console is also a calculator in its own right. A response you can check by hand:
$ ICoreBlocks --console "G = tf([1],[1 1]); y = step(G, 5, 6); y.values()"
[[0], [0.632121], [0.864665], [0.950213], [0.981684], [0.993262]] # Matrix of Double
Those are the samples of 1 − e⁻ᵗ at t = 0, 1, 2, 3, 4, 5 — the step response of
1/(s+1). Command glossary — console commands, verbs, functions is the full roster of commands and functions.
The
--console "<command>"form used throughout this manual runs one command and exits, which is why the examples can be pasted and checked. Inside the application you type the same text into the command window without it.
Where to go next#
- Building a diagram — blocks, links, subsystems, saving — placing blocks, wiring them, subsystems, saving.
- Running a simulation — solver settings, sampling, starting and stopping — the solver settings, and what continuous and discrete mean for your model.
- Reading results — scopes, charts, stored values, and what a run tells you — scopes, charts, stored variables, and what a run's messages are telling you.
- Block catalog — every library block — every block, with what it does and a sample of it doing it.
Real runs#
Every transcript on this page is a real run rather than an illustration. Binary
cmake-build-debug/ICoreBlocks.app, built 2026-08-17 01:28 (source at
approximately commit c2a229c6); one process per line,
HOME=<scratch> QT_QPA_PLATFORM=offscreen ICoreBlocks --console "<line>", with
the toolkit's startup noise removed and paths under that scratch home shortened
to …. Re-run any line above to check this page against the program.