Concepts
Understand the key building blocks before working with the application.
DZVOLT UI is designed exclusively for the DZVOLT iCTRL-20 industrial I/O controller. It will not work with other Modbus RTU devices.
Workspace §
A workspace represents a single serial port connection. It groups all the Modbus RTU modules that are physically wired to the same RS485 bus.
Each workspace holds its own configuration: the serial port path (e.g., /dev/ttyUSB0 or COM3) and the polling interval. The baud rate is fixed at 9600 8N1 to match the iCTRL-20. When you connect a module inside a workspace, the workspace opens the serial port and starts sending Modbus read requests on a loop.
You can have multiple workspaces — one per serial adapter, for example — each running independently.
Module §
A module is an instance of a physical Modbus RTU device placed inside a workspace. Each module has:
- A name — the label you give it (e.g., "Pump Room Controller")
- A slave ID — the Modbus address of the physical hardware (one of 8 fixed values: 1, 2, 3, 4, 23, 34, 24, 234), set via its DIP switches
- A template — the module type that defines its I/O layout (DI count, AI count, etc.)
Multiple modules can exist in one workspace as long as each has a unique slave ID on the bus.
Module Sections §
Each module exposes its I/O organized into typed sections. A section is a logical grouping of related signals — for example, all digital inputs, or all analog outputs.
-
DI
Digital Input
On/off signals from switches, sensors, or contacts. Supports pulse counting and DI-to-DO interlocking.
-
DO
Digital Output
Relay or transistor outputs you can toggle on or off. Supports on-delay and off-delay timers.
-
AI
Analog Input
Voltage (0–10 V) or current (4–20 mA) readings. Configurable min/max alarm thresholds.
-
AO
Analog Output
0–10 V drive signals you can set to a specific value from the detail panel.
-
PWR
Power Supply
Reports power supply state and alarm. Blurs AO controls when power failure is active.
-
DEV
Device Info
Read-only: slave ID confirmed from hardware, serial number, and device status register.
See Module Sections for a full reference on each type.
Modbus RTU §
Modbus RTU is a serial communication protocol commonly used in industrial automation. It operates on a master/slave model where DZVOLT UI acts as the master, and each iCTRL-20 module is a slave identified by one of 8 fixed addresses (1, 2, 3, 4, 23, 34, 24, 234) set via hardware DIP switches.
The master sends read or write requests to a specific slave over the RS485 bus. DZVOLT UI polls each module's registers on a configurable interval and broadcasts the results to all connected browsers in real time.
Two register types matter:
- Coils — single-bit read/write values, used for digital outputs
- Holding registers — 16-bit read/write values, used for analog outputs and configuration
Every module on the same RS485 bus must have a distinct slave ID. Duplicate IDs cause communication collisions and incorrect readings. Slave IDs are configured via DIP switches on the hardware.
User Roles §
DZVOLT UI has two roles: Administrator and Operator. The difference is enforced on both the server and the UI.
| Capability | Administrator | Operator |
|---|---|---|
| Access from | Local machine only | Any browser on the network |
| Create/delete workspaces | ✓ | ✗ |
| Add/remove modules | ✓ | ✗ |
| Edit section names, units | ✓ | ✗ |
| Read I/O values | ✓ | ✓ |
| Toggle outputs (DO, AO) | ✓ | ✓ |
| View audit log | ✓ | ✓ |
| Manage operator accounts | ✓ | ✗ |