ICSSimSuite is an easy-to-use, open-source, and cross-platform simulation suite for Industrial Control Systems (ICS) with Modbus as the primary communication protocol. This suite allows users to simulate various ICS devices, such as HVAC systems, water pumps, batteries, and more, enabling testing and analysis of control systems in a safe and controlled environment.
go install github.com/lopqto/icssimsuite@latesticssimsuite config.tomlExample configuration file can be found here: config.toml
| Address | Description | Read/Write | Type | Function Code |
|---|---|---|---|---|
| 1 | Fan State | R/W | bool | 0x01 (Coil) |
| 100 | Fan Speed | R/W | uint16 | 0x03 (Holding Register) |
| 100 | Temperature | R | float32 | 0x04 (Input Register) |
| 102 | Humidity | R | float32 | 0x04 (Input Register) |
| 104 | Room Temperature | R | float32 | 0x04 (Input Register) |
| 106 | Voltage | R | float32 | 0x04 (Input Register) |
| 108 | Current | R | float32 | 0x04 (Input Register) |
| 110 | Power | R | float32 | 0x04 (Input Register) |
| 200 | Uptime | R | uint32 | 0x04 (Input Register) |
| Address | Description | Read/Write | Type | Function Code |
|---|---|---|---|---|
| 0 | Pulse 1 State | R/W | bool | 0x01 (Coil) |
| 1 | Pulse 2 State | R/W | bool | 0x01 (Coil) |
| 2 | Pulse 3 State | R/W | bool | 0x01 (Coil) |
| 100 | Pulse 1 Count | R | uint32 | 0x04 (Input Register) |
| 102 | Pulse 2 Count | R | uint32 | 0x04 (Input Register) |
| 104 | Pulse 3 Count | R | uint32 | 0x04 (Input Register) |
| Address | Description | Read/Write | Type | Function Code |
|---|---|---|---|---|
| 0 | Mode | R/W | bool | 0x01 (Coil) |
| 1 | Valve State | R/W | bool | 0x01 (Coil) |
| 2 | Pump State | R/W | bool | 0x01 (Coil) |
| 100 | Water Level | R | uint16 | 0x04 (Input Register) |
| 101 | Max Tank Capacity | R | uint16 | 0x04 (Input Register) |
| 102 | Max Water Level | R | uint16 | 0x04 (Input Register) |
| 103 | Min Water Level | R | uint16 | 0x04 (Input Register) |
| 104 | Max Water Level Alarm | R | uint16 | 0x04 (Input Register) |
| 105 | Drain Rate | R | uint16 | 0x04 (Input Register) |
| 106 | Fill Rate | R | uint16 | 0x04 (Input Register) |
- Water Tank
- Battery
- Solar Panel
- Wind Turbine