A desktop Modbus TCP lab for simulation, diagnostics, debugging, and repeatable integration tests.
ModbusLab gives you a controllable Modbus TCP server workspace when the real device is unavailable, inconvenient, unsafe to modify, or too limited for the scenario you need to reproduce.
- Spin up one or more local Modbus TCP server instances.
- Inspect and edit coils, discrete inputs, holding registers, and input registers.
- Watch and write typed values such as booleans, integers, floats, doubles, and strings.
- Simulate raw addresses or typed watches with counters, toggles, sine waves, random signals, ramps, pulses, square waves, sawtooth signals, and noise.
- Inject delays, exception responses, and connection drops.
- React to writes with automation rules.
- Analyze connected clients, request blocks, logs, raw bytes, rates, and latency.
- Import and export complete server profiles as dedicated JSON files.
- Expose the running workspace to local LLM agents through the optional loopback MCP server.
- Persist server configuration, memory, UI layout, grid layout, and app settings with versioned, atomic project saves and guided recovery.
- Validate server settings, Watches, simulations, faults, and reactions through the same domain rules in the UI and MCP.
Official builds may be published through TyKonLab release channels. You can also build ModbusLab from source:
dotnet restore .\ModbusLab.slnx
dotnet build .\ModbusLab.slnx -c Release /warnaserror
dotnet test .\ModbusLab.slnx -c Release --no-build --no-restoreRun the app, start the default server on a test port such as 1502, and point your Modbus TCP client to 127.0.0.1:1502.
The user manual is published with GitHub Pages:
https://tykonket.github.io/ModbusLab/
The documentation source lives under docs/.
Start here:
The GitHub Pages site is built with MkDocs and the built-in mkdocs theme.
.\scripts\build-docs.ps1 -ServeRequirements:
- Windows 10 or Windows 11.
- The .NET SDK selected by
global.json, currently11.0.100-preview.5.26302.115with prerelease and latest-patch roll-forward enabled. - An editor is optional when building from the command line.
The app targets net11.0-windows.
dotnet restore .\ModbusLab.slnx
dotnet build .\ModbusLab.slnx -c Release /warnaserror
dotnet test .\ModbusLab.slnx -c Release --no-build --no-restoreBuild outputs are written under artifacts/bin and artifacts/obj.
Publish profiles create compressed, self-contained, single-file executables for Windows x64 and x86:
.\scripts\publish-windows.ps1To publish one architecture directly:
dotnet publish .\ModbusLab\ModbusLab.csproj /p:PublishProfile=win-x64
dotnet publish .\ModbusLab\ModbusLab.csproj /p:PublishProfile=win-x86Outputs:
artifacts/publish/ModbusLab/win-x64/ModbusLab_x64.exe
artifacts/publish/ModbusLab/win-x86/ModbusLab_x86.exe
Use the release preparation script to update version metadata, build with warnings as errors, run all tests, refresh documentation screenshots, validate the MkDocs site, and publish Windows artifacts:
.\scripts\prepare-release.ps1 -Version 1.1.0Equivalent manual checks:
dotnet build .\ModbusLab.slnx -c Release /warnaserror
dotnet test .\ModbusLab.slnx -c Release --no-build --no-restore
.\scripts\update-screenshots.ps1
.\scripts\build-docs.ps1
.\scripts\publish-windows.ps1 -Configuration Release -NoRestoreCommit source files, documentation, and refreshed screenshots. Do not commit generated build outputs such as artifacts/, site/, or .venv-docs/ unless a release process explicitly requires them.
ModbusLab is source-available under the ModbusLab Source Available License 1.0. This is not an OSI-approved Open Source license.
You may build ModbusLab from source and use it for free, including in production. TyKonLab controls the official ModbusLab distribution: only TyKonLab may distribute official builds, installers, store listings, update feeds, and release artifacts.
Third parties may distribute modified versions, but they must be clearly marked as unofficial, use distinguishable branding/package identities, preserve license notices, and describe their material changes. Redistributing the official ModbusLab distribution, or builds that are unmodified or substantially identical to it, is not permitted without written permission from TyKonLab.
TyKonLab may provide official prebuilt binaries for free, for a fee, or not at all. The source code remains buildable under the terms in LICENSE.
