> For the complete documentation index, see [llms.txt](https://docs.voltmasters.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.voltmasters.io/dso-rtu/io-module-installation.md).

# Installing the IO modules

The Moxa IO modules provide the digital outputs and inputs that DSO RTU uses, for example the [hardware emergency stop](/dso-rtu/io-module-emergency-stop.md). **How many modules you need, and where they go, depends on the physical layout of your installation**, because every relay has to be wired to the asset or switchgear it controls.

### The hardware

* **Module:** Moxa ioLogik E1214 with 6 digital inputs (DI) and 6 relay outputs (DO).
* **Communication:** Modbus TCP/IP over the installation network.
* The relay outputs are potential-free contacts wired into the local safety/stop circuit; the digital inputs can be used for status feedback.

### How many modules do I need?

There is no fixed number; it follows the **physical setup**:

* A single module can serve every relay and input that is **near it** (in the same cabinet).
* If outputs or inputs are needed in **physically separate cabinets**, each of those cabinets needs its **own** module, because the wiring to the relays stays local to the cabinet.

So a compact, single-cabinet installation may need just one module, while an installation spread over several cabinets needs one module per cabinet that has to be controlled.

### Placement and cabling

**Single cabinet**

Place the module in the cabinet, close to the assets and the relay(s) it drives.

**Separate cabinets**

For each additional cabinet:

1. Run a **network (Ethernet) cable** from the installation network to the cabinet.
2. Place a **Moxa IO module** inside that cabinet.
3. Wire the cabinet's relays and inputs to that local module.

This keeps the safety wiring short and local, while every module stays reachable by the controller over the network.

### Layout

```
                  ┌───────────────────────────┐
                  │    Voltmasters controller  │
                  └───────────────┬────────────┘
                                  │
                  installation network (Modbus TCP)
                                  │
        ┌─────────────────────────┼─────────────────────────┐
        │                         │                         │
   network cable             network cable             network cable
        │                         │                         │
┌───────▼────────┐        ┌───────▼────────┐        ┌───────▼────────┐
│   Cabinet A    │        │   Cabinet B    │        │   Cabinet C    │
│  ┌──────────┐  │        │  ┌──────────┐  │        │  ┌──────────┐  │
│  │ Moxa IO  │  │        │  │ Moxa IO  │  │        │  │ Moxa IO  │  │
│  └────┬─────┘  │        │  └────┬─────┘  │        │  └────┬─────┘  │
│  relays/inputs │        │  relays/inputs │        │  relays/inputs │
│  (local assets)│        │  (local assets)│        │  (local assets)│
└────────────────┘        └────────────────┘        └────────────────┘

   One module per cabinet; the number of modules follows the layout.
```

### Network and power

* Connect each module to the **installation network** (the same network the controller uses for Modbus TCP).
* Give each module a **fixed IP address**, and power it according to the Moxa datasheet.
* Note each module's **IP address, port and Modbus slave ID**, since you need them when adding the device on the platform.

For converting RS-485 devices to Modbus TCP elsewhere in the installation, see [RS485 to Modbus TCP adapters](/getting-started/adding-and-verifying-devices/rs485-to-modbus-tcp-adapters.md).

### Next steps

Once the modules are installed and reachable on the network, add each one on the platform and assign its outputs. See [IO module emergency stop](/dso-rtu/io-module-emergency-stop.md) for the emergency-stop configuration.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.voltmasters.io/dso-rtu/io-module-installation.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
