2.5 Advanced Blocks

In this lesson: you will be able to configure the control and utility blocks — LOOP, SCHED, HOLI, RESET, SEQ, OSS, UTIL, WINDO — and understand how input pointers wire blocks together.

Pointers first — everything depends on them

A block input can be a fixed value — like a setpoint of 72 — or a pointer to another block's output — like “the output of UI one.” A pointer is written as block, colon, number, colon, output name: UI:1:OUT, or LOOP:2:AV. That is how you wire a sensor into a loop, a loop into an output, one block into the next. In the UI you pick the source block and its output from a list rather than typing it.

The blocks

  • LOOP is PID control — the workhorse. You choose a configuration (there are ten, from a simple single-setpoint direct-or-reverse loop up to the ASHRAE cycles), then set the setpoint, the throttling range (the band over which the output travels from zero to full), and the integral and derivative gains that tune the response. You point its INPUT at the sensor UI, its OCCUP input at a schedule, and its output feeds an AO or a sequencer. Start gentle: a wider throttling range and modest gains are stable; aggressive tuning hunts.
  • SCHED is a time schedule — four per controller, each with up to eight periods. Each period has an on time, an off time, the active days of the week, holiday flags, and which of the four schedule outputs it drives. A subtle but important detail: SCHED outputs are analog minutes, not simple on/off — a positive value counts minutes until the schedule turns off, a negative value counts minutes until it turns on. That is deliberate, so OSS can use it.
  • HOLI is a holiday schedule — two per controller, each with eight date periods. Its outputs feed the holiday inputs of the schedules, so a public holiday can override the normal weekly pattern.
  • RESET computes a reset ratio — it slides one value against another, for example resetting a hot-water setpoint against outside air temperature. It has an action, a scale, and minimum and maximum output limits.
  • SEQ is a sequencer — it staggers up to six stages on and off from a single analog demand, so you can bring boilers or compressors on in sequence with a delay between stages.
  • OSS is Optimum Start-Stop — it learns how long the plant takes to reach comfort and starts it just in time, rather than at a fixed clock time, to save energy. It ties into the schedule's minutes-remaining outputs.
  • UTIL is the swiss-army block — thirty of them, each configurable as one of fourteen functions: logic gates, maths, high-low select, limiting, a thermostat, timers, drive, flow proving, counters, a process alarm, and more. When the built-in control blocks do not quite do what you need, a UTIL block usually bridges the gap. Each config type has its own inputs, outputs, and sub-operation — so when you set a UTIL to LOGIC you also pick the operator (AND, OR, and so on); set it to TIMER and you pick the timer mode and delay.
  • WINDO — the data window. It is how this controller publishes values up to a parent manager: you wire up to eight analog values and eight digital values into it, plus the physical I/O goes automatically. We build on WINDO in the point-passing lesson.

The workflow is always the same: choose the block, enable it, name it, set its parameters, and wire its inputs with pointers. Then save, reload, and confirm every field came back — that round-trip check is how you catch a bad write before it bites you on site.

Key points

  • A block input is either a fixed value or a pointer to another block's output (e.g. UI:1:OUT).
  • LOOP's throttling range is the band over which the output travels 0–100%; wider is gentler and more stable.
  • SCHED outputs are analog “minutes” (until-on / until-off) so OSS can use them.
  • A UTIL block covers gaps the dedicated blocks do not — e.g. a LOGIC UTIL with the AND operator.
  • WINDO publishes a controller's values up to a parent manager; always round-trip check your writes.

Check your understanding

  1. What are the two kinds of value a block input can hold?
  2. On a LOOP, what does the throttling range do?
  3. SCHED outputs are analog “minutes,” not on/off. Why?
  4. You need a simple AND gate between two digital points and there is no dedicated block. What do you use?
  5. Which block publishes a controller's values up to a parent manager?


Last modified: Thursday, 23 July 2026, 4:52 AM