Skip to content

How the RTU setpoints are processed

How the EMS turns the Fluvius RTU setpoints into device setpoints: which base each percentage applies to, in what order the laws are applied, and the formulas behind each of them, with worked examples for a certification.

Fluvius sends percentages and commands, never kilowatts. This page shows exactly what the EMS does with them: the base each percentage is measured against, the order in which the laws are applied, and the arithmetic behind each one. It is written to be followed step by step during a certification, with the inspector and the installer reading the same numbers.

The asset setpoints have their own page, because their reference powers come from the operator's register: see Asset setpoints (MAXSETAP / MINSETAP).

What the RTU sends, and against what it is measured

Setpoint Limits Base for the percentage
MINSETP Injection at the grid connection point The contractual injection capacity of the connection, before any safety margin
MAXSETP Consumption at the grid connection point The contractual consumption capacity of the connection, before any safety margin
MINSETAP Production of the assets The registered production reference power (batteries and PV)
MAXSETAP Consumption of the assets The registered consumption reference power (the batteries)
MINSETQ Lower edge of the reactive band The registered production reference power (batteries and PV), the same base as MINSETAP
MAXSETQ Upper edge of the reactive band The registered production reference power (batteries and PV), the same base as MINSETAP

Alongside those, the RTU sends the two emergency stops, the Q control mode (local or remote) and the reason codes. The reason codes carry no limit: they say why the operator steers, not by how much.

The percentages arrive signed on the wire: the two production limits come in negative, the two consumption limits positive. The EMS takes their absolute value, so a MINSETAP of -100 on the link reads as 100 % in the debug data. A value of 100 % imposes nothing.

Fluvius defines one reference for the reactive band and for MINSETAP alike: the sum of the registered drive powers of every producing asset, storage included. When no production reference power is configured, the EMS falls back to $$P_{inst}$$, the sum of the rated power of the controllable PV inverters and battery inverters. The connection point laws have their own base, listed above.

The order of the laws

Every control cycle, one second long, the EMS builds a decision for each device and then applies the operator's laws to it in a fixed order. Later laws see the result of the earlier ones, so the tightest limit always survives.

flowchart TD
    A["Decision from the algorithm"] --> B["1 · Emergency stops"]
    B --> C["2 · Asset limits<br/>MINSETAP / MAXSETAP"]
    C --> D["3 · Per device type limits<br/>not used by Fluvius"]
    D --> E["4 · Connection point limits<br/>MINSETP / MAXSETP"]
    E --> F["5 · Reactive power<br/>MINSETQ / MAXSETQ"]
    F --> G["6 · Apparent power clamp<br/>P² + Q² ≤ S²"]
    G --> H["Setpoints written to the devices"]
The operator's laws are applied in sequence to the decision the algorithm produced. Each step can only tighten what the previous one allowed.

Step 3 exists for operators that steer PV and storage production separately, such as Sibelga. A Netflex link never uses it, and the debug data shows it as "none".

Two safeguards run after the operator's laws: the energy meter limits and the grid limit safety net, which protect the connection and any sub-meters against overload. An emergency stop is final for them: a device the stop switched off stays off. The percentage laws are not: when the connection itself is about to exceed its contractual capacity, those safeguards may still discharge or charge the battery beyond what MINSETAP or MAXSETAP allowed. The grid limit safety net treats an asset law at 0 % as a hard bound; the energy meter limits do not. That trade-off should be named during a certification.

1. Emergency stops

Both stops disconnect the battery completely, per the specification. The production stop additionally sets every PV inverter to zero.

Command Battery PV Controllable loads
Emergency stop production 0 kW, no Q 0 kW, no Q untouched
Emergency stop consumption 0 kW, no Q untouched switched off

A stopped device is also excluded from the reactive laws: an emergency stop is itself an operator order, and it outranks a reactive band.

2. Asset limits (MINSETAP / MAXSETAP)

These apply at the virtual asset coupling point, not at the connection point. In short:

$$ P_{assets} = P_{charge} - P_{discharge} - P_{PV} $$

A positive result is consumption and is bounded by MAXSETAP; a negative one is production and is bounded by MINSETAP. The site's own consumption takes no part in it. The reference powers, the worked example and the certification checklist are on the asset setpoints page.

The sum covers the assets the operator registered, which is not the same set as the assets the EMS can steer. A registered inverter is expected to be steerable; one that cannot be curtailed still counts, and the battery makes room for it as a fallback. See counted versus steered.

3. Per device type limits

Not used on a Netflex link. Fluvius steers production through the asset and connection point laws instead.

4. Connection point limits (MINSETP / MAXSETP)

These apply to what the meter at the connection point sees, so the site's own consumption does count here. The EMS works out how much its assets may still do, starting from the live measurement.

For injection:

$$ P_{limit,injection} = \frac{MINSETP}{100} \times P_{contractual,injection} $$

$$ P_{production,max} = P_{limit,injection} + P_{grid} + P_{production,now} $$

$$P_{grid}$$ is signed, negative while the site injects, and $$P_{production,now}$$ is the measured production of the assets (PV plus battery discharge). Starting from the measurement rather than from a model is what makes the law self-correcting: whatever the building happens to consume is already inside $$P_{grid}$$.

A PV setpoint is a cap, not what the inverter produces. When the sun sits below the cap, the inverter follows the sun, and the operator measures what comes out. The production laws (MINSETP and MINSETAP) therefore count a steerable inverter for its measured production plus a 10 % margin for a rise, never more than its cap. Only when the inverter produces against the setpoint it received last cycle is its potential unknown, and then the cap itself counts. Without this, a battery next to an inverter under a cloud would be reduced for production that does not exist.

Worked example. A connection with 300 kW of contractual injection capacity receives MINSETP = 40 %. The site is injecting 200 kW, its assets are producing 260 kW (220 kW PV and 40 kW battery discharge), so the building is consuming 60 kW.

Step Calculation Result
Allowed injection 40 % x 300 kW 120 kW
Measured grid power injecting -200 kW
Measured asset production 220 + 40 260 kW
Allowed asset production 120 + (-200) + 260 180 kW

The assets come down from 260 kW to 180 kW, which leaves exactly 120 kW at the connection point. The battery is reduced first, PV only if that is not enough.

For consumption the same reasoning gives:

$$ P_{charge,max} = \frac{MAXSETP}{100} \times P_{contractual,consumption} - P_{grid} + P_{charge,now} $$

Worked example. A connection with 240 kW of contractual consumption capacity receives MAXSETP = 50 %. The site is drawing 150 kW while the battery charges at 60 kW.

Step Calculation Result
Allowed consumption 50 % x 240 kW 120 kW
Measured grid power drawing 150 kW
Measured battery charging 60 kW
Allowed battery charging 120 - 150 + 60 30 kW

An absolute power in kW is enforced whenever the operator sets one, and the percentage tightens it further. Whichever of the two is tighter binds.

5. Reactive power (MINSETQ / MAXSETQ)

While the Q control mode is remote, the operator sends a band:

$$ Q_{min} = \frac{MINSETQ}{100} \times P_{ref,production} \qquad Q_{max} = \frac{MAXSETQ}{100} \times P_{ref,production} $$

The band bounds the measured Q at the connection point, not the command. This is the single most important thing to understand during a reactive test, because the installation itself contributes reactive power that is part of that measurement. Motors, transformers and the inverters' own behaviour all show up there before the EMS does anything.

The EMS therefore runs a closed loop:

$$ Q_{command} = Q_{command,previous} + (Q_{target} - Q_{measured}) $$

$$Q_{target}$$ is the band edge nearest zero, so it is 0 whenever the band contains zero. The result is saturated on what the eligible devices can jointly deliver, the sum of their own reactive bounds. That saturation is a device limit, never the band.

While the measurement already respects the band, no new error is integrated. The EMS instead winds any previous correction back toward zero, and never faster than the measured margin to the band edge that correction is holding up. A compliant site under a wide band is left alone entirely: no reactive setpoint is written at all.

Worked example. A plant with 470 kW of registered PV and a 500 kW registered battery inverter has $$P_{ref,production} = 970$$ kW, so the band is expressed in kVAr against 970. The operator sends MINSETQ = 33 % and MAXSETQ = 100 %, so the band is 320.1 to 970 kVAr and it excludes zero. The installation itself already delivers 268 kVAr.

Step Calculation Result
Lower band edge 33 % x 970 320.1 kVAr
Measured at the meter 268 kVAr
Correction to command 320.1 - 268 52.1 kVAr

The assets are asked for 52.1 kVAr, not for 320.1. Ordering the band edge itself would put roughly 590 kVAr on the connection point, far outside the band on the other side, and it would load the inverters with reactive current that nobody asked for.

How the reactive power is spread across the devices

The correction is allocated to the batteries first, and whatever they cannot carry goes to the PV inverters. Within a type it is split proportionally to each device's capacity in the requested direction. Each device's own band is its apparent power headroom:

$$ Q_{device} = \pm\sqrt{S^2 - P^2} $$

For a battery the direction is restricted as well: it can only deliver reactive power in a direction it has the charge or discharge capability for. A device that cannot serve the requested sign is given weight zero, so the capable devices absorb the full target instead of being under-allocated.

6. Apparent power clamp

After any reactive dispatch, the active power of each device is clamped so that its apparent power stays within its rating:

$$ P^2 + Q^2 \le S^2 $$

Reactive power therefore wins over active power on a saturated device, and the reason field on the setpoint says so.

What is not counted

Two exclusions cause most of the confusion during a test.

The site's own consumption plays no part in the asset limits. It sits outside the virtual asset coupling point. It does count at the connection point, which is why the same building load moves one law and not the other.

Not every measurement channel belongs to the virtual asset coupling point. Fluvius confirmed for a PV and battery installation that it sums the solar, wind, CHP, storage and other production channels. EV charging and flexible consumption fall outside that sum.

Devices outside the registered asset group play no part either. Equipment that is not drawn behind the operator's cabinet, for instance an inverter behind a different access point, is marked as such per device on the DSO RTU settings page and stays out of the telemetry, the sum and the steering alike. Being unable to steer a device is not a reason to leave it out: if it is drawn behind the cabinet, it counts, and it has to be made steerable.

flowchart LR
    S["Solar<br/>channel 1"] --> V["Virtual asset<br/>coupling point"]
    W["Wind<br/>channel 2"] --> V
    C["CHP<br/>channel 3"] --> V
    B["Storage<br/>channel 4"] --> V
    O["Other production<br/>channel 7"] --> V
    E["EV charging<br/>channel 5"] -.-> X["Outside the sum"]
    F["Flexible consumption<br/>channel 6"] -.-> X
    L["The building's own load"] -.-> X
    V --> R["Compared against<br/>MINSETAP / MAXSETAP"]
The asset setpoints are compared against the direction sensitive sum of the asset channels. Charging counts as consumption, production as injection, and the two net off before the comparison.

On a site that has EV charging or flexible loads registered as assets, confirm with the inspector which channels are included before the test starts.

For the installer

A setpoint only lands if the devices are configured to accept one.

  • SMA Data Manager. The reactive power setpoint is only applied when the plant's operating mode of static voltage stability is set to "Reactive power Q, setpoint via system control" (number code 1072). That is an installer setting on the Data Manager which the EMS cannot change. Without it the EMS writes the setpoint and the plant quietly ignores it.
  • Fallback timers. The Data Manager releases both the active and the reactive specification once no setpoint has been refreshed for its fallback period. The EMS therefore rewrites them on every high priority pass; stopping the writes is how a limit is released.
  • Reference values. A plant does not always deliver the reactive power its rated power implies, because the Data Manager forwards a percentage that the inverters may apply to a reference of their own. Measure what the plant delivers per commanded percent, and configure that reference rather than assuming the nameplate.
  • Battery inverters. Check that the inverter accepts a reactive setpoint while it is simultaneously charging or discharging. The EMS assumes the apparent power circle, so it will ask for both at once.

Reading it back during a test

The controller debugger shows what the EMS computed, on the Controller tab under TelecontrolConstraintController:

Debug row What it tells you
P_inst The installed power of the steerable assets, the fallback base when no reference power is configured
Asset Production Limit The percentage, its reference power and the resulting kW
Asset Consumption Limit The same for the consumption direction
Grid Max Injection Power The absolute connection point limit in force, if any
Max Grid Injection The percentage law at the connection point
Reactive Control Mode local, q-band, q-setpoint or power-factor
Reactive Q Band The percentages, the reference power they apply to, and the band in kVAr
Measured Q (grid) What the meter at the connection point reports
Commanded Site Q The correction the EMS is asking its assets for

Reading Reactive Q Band, Measured Q (grid) and Commanded Site Q together answers the question an inspector usually asks first: the band is what you asked for, the measurement is what the connection point delivers, and the command is only the difference the assets have to make up.