Modbus slave connector
Let a SCADA, plant controller or external EMS set the grid import limit, export limit and goal of a strategy over Modbus.
→ Overview
With the Modbus slave connector the controller acts as a Modbus slave (server). An external Modbus master — a SCADA, a plant controller or another energy management system — writes three values into the controller's registers: the grid import limit, the grid export limit and the goal. The controller copies changed values into the Default mode of one strategy at a fixed interval, and the strategy then regulates with them.
The connector is Inactive by default. It works over the network (Modbus TCP) or over the RS485 port (Modbus RTU).
While the connector is active, the master decides the import limit, export limit and goal of the selected strategy. A wrong value — for example an import limit far above the grid connection — can overload the main fuses or break the export agreement with the grid operator. Agree the values and units (W) with the operator of the master before you activate the connector.
At every Apply interval the controller writes the register values into the Default mode. If you change the Default mode Import limit, Export limit or Goal in the Configurator, the register values replace your change again as soon as they differ. There is no timeout: when the master stops writing or disconnects, the last values stay in force. To take control back, switch the connector to Inactive, click Save, then set the Default mode again.
1 Set up the connector
0.0.0.0 and set Port (default 502). For RTU, wire the master to the controller's RS485-1 port and set the master to 19200 baud, 8 data bits, no parity, 1 stop bit.2 Parameters
| Parameter | What it does | Unit / default |
|---|---|---|
| Active / Inactive | Starts or stops the Modbus slave. Takes effect on Save. | default Inactive |
| Transport | TCP/IP = Modbus TCP over Ethernet or Wi-Fi. RTU = Modbus RTU on the RS485-1 port. Required. | default TCP/IP |
| Master IP address restriction (0.0.0.0 - no restriction) | Shown for TCP/IP. Despite its label, this is the controller's own address the slave listens on, not a filter for the master. Leave it at 0.0.0.0 (listen on all network interfaces). Entering the master's address stops the slave from starting. |
IP address · default 0.0.0.0 |
| Port | Shown for TCP/IP. TCP port the controller listens on. Use a port nothing else on the controller uses. | default 502 |
| Baud rate, Parity, Stop bits | Shown for RTU, read-only: the RTU line is fixed at 19200 baud, no parity, 1 stop bit (8 data bits). | 19200 · None · 1 |
| Address | Modbus unit ID (slave address) the controller answers to. | default 1 |
| Apply interval | How often the controller reads the registers and copies changed values into the strategy. Values below 60 are raised to 60. | s · default 60 · minimum 60 |
| Strategy | The strategy whose Default mode the master controls. If none is stored, the first strategy is preselected. | — |
| Save | Stores the settings and restarts the slave. | — |
The page does not show whether a master is connected. Check from the master side that reads and writes succeed, and check the result on the strategy's Optimization modes tab.
3 Modbus registers
All values are holding registers. The master reads them with function code 3 and writes them with function code 16 (write multiple registers). Addresses are zero-based: address 0 is the first holding register (often shown as 40001 in master software). Each value is an unsigned 32-bit integer in two registers, big-endian (high word first, no byte swap).
| Address | Width | Type | Signal | Units / meaning |
|---|---|---|---|---|
| 0 | 2 reg | UINT32 | Import limit | Maximum grid import power, W. Written into the Default mode Import limit. |
| 2 | 2 reg | UINT32 | Export limit | Maximum grid export power, W, as a positive number. Written into the Default mode Export limit. |
| 4 | 2 reg | UINT32 | Goal | Optimization goal of the Default mode, see the table below. |
| Goal value | Goal in the Configurator |
|---|---|
| 0 | Maximize production |
| 1 | Self-consumption |
| 2 | Maximize consumption |
| 3 | Peak shaving |
How the values are handled:
-
Units — limits are in watts; the Configurator shows kW. Writing
7000gives an import limit of 7 kW. - Start values — when the connector starts, the registers are filled with the strategy's current Default mode values, so the master can read them first. A missing goal is shown as 1 (Self-consumption).
-
Not set — the value
4294967295(0xFFFFFFFF) means "no value": the controller ignores that register and leaves the strategy value unchanged. - Only changes count — a value is applied only when it differs from the strategy's current value. Repeating the same value does nothing.
- Delay — a new value takes effect at the next apply cycle, up to one Apply interval after the master writes it.
- Strategy restart — each applied change saves the strategy, which restarts it briefly with the new values.
- Goal out of range — a goal value that does not match a goal is ignored.
Each value spans two registers. Write all four bytes in one request (function code 16). A master that writes only one register of a pair produces a different number than intended.
Import limit 7 kW, export limit 3 kW, self-consumption: write 0, 7000, 0, 3000, 0, 1 with function
code 16 starting at address 0.
4 Checklist
- The connector is Active and the right Strategy is selected.
-
Master IP address restriction is
0.0.0.0(TCP/IP), or the master is wired to RS485-1 at 19200 8N1 (RTU). - The master uses the same port and Address, zero-based addressing, UINT32 high word first, values in W.
- After one Apply interval, the Default mode shows the values written by the master.
- Everyone working on the site knows that Default mode limits and goal are controlled by the master.