Skip to content

Widgets and function blocks

An overview of what you can put on a screen and what you can wire into a diagram.

The complete reference is generated

Every property, pin and default value is generated from the project schema and ships with the editor, so it can never drift from the software. This page is the readable overview; the generated file is the authority.

Widgets

Every widget shares a set of base properties: identifier, position and size, anchoring and margin, a style reference, visible_if and enabled_if tag conditions, children and animations. A widget never carries a hard-coded colour — that is what styles are for.

Containers

Widget What it is
panel A rectangle grouping other widgets, with an optional corner radius.
list A scrolling list with a fixed row height and optional inertia.
tabs Tabbed pages, with the active tab selectable.
popup A modal panel drawn above the screen.

Display

Widget What it is
label Static text with a font and alignment.
value A tag's value, with its unit and an optional warning threshold and colour.
led An indicator with an on and off colour and an optional blink rate.
bar A bar graph between a minimum and maximum, horizontal or vertical.
gauge A circular gauge with a start angle and sweep; the background is cached.
image A picture from the project's assets, optionally tinted.
icon An icon that can change symbol and colour according to a tag.
trend A chart of several series over a time span, with a grid, legend and optional autoscaling.
alarm_table The alarm list, filtered by state and priority, with acknowledgement.

Input

Widget What it is
button Writes a value to a tag — momentary, toggling or set. Can require confirmation.
switch An on/off switch with its own labels.
slider A tag value dragged between a minimum and maximum in fixed steps.
input A numeric entry opening a keypad, limited to a range.
nav Navigation to another screen.

Confirmation is not decoration

Capacitive touch next to a frequency inverter can produce false touches. The confirm property on a button that starts something matters.

Function blocks

A program is a list of block instances in execution order. An input pin takes a tag or a constant; an output pin writes a tag. Times are always in milliseconds.

Timers and counters

TON on-delay · TOF off-delay · TP pulse of a fixed length · CTU count up · CTD count down · R_TRIG rising edge · F_TRIG falling edge · SR latch with set priority · RS latch with reset priority · BLINK on/off flasher

Arithmetic and logic

ADD · SUB · MUL · DIV (division by zero yields 0 rather than a crash) · MIN · MAX · ABS · AND · OR · XOR · NOT · GT · GE · LT · LE · EQ (compares within a tolerance) · SEL (binary selector)

Signal processing

Block What it does
SCALE Linear scaling from one range to another.
LIMIT Clamps a value into a range.
HYST Comparator with hysteresis — separate on and off thresholds.
RAMP Limits the rate of change to so many units per second.
PT1 First-order filter with a time constant.

Process and machine

Block What it does
PID Proportional-integral-derivative control with anti-windup, output limits and a bumpless auto/manual transfer. The derivative is taken from the measurement rather than the error, so a step in the setpoint does not kick the output. A LIM output reports saturation.
MOTOR Start/stop with feedback. The feedback must confirm within a timeout, otherwise it latches a fault and drops the command. Acknowledgement only works at standstill, and stop takes priority over start.
VALVE Open/close with an end-position feedback, the same fault latching and acknowledgement. Close takes priority.

Motion and CANopen

Named after PLCopen Motion, because that is the vocabulary machine builders already know: MC_POWER, MC_MOVEVELOCITY, MC_STOP, MC_RESET, MC_READACTVEL, MC_READSTATUS, and the position blocks MC_MOVEABS, MC_MOVEREL, MC_HOME, MC_READACTPOS.

Below them sit the CANopen blocks: CO_CIA402 (the state machine core), CO_SDOWRITE and CO_SDOREAD (parameter access at start-up only) and CO_RAMPTIME. See FBD, axes and drives.