ModbusLab — virtual industrial automation laboratory
A Modbus teaching lab built as a PyQt desktop application in 2012, abandoned when the hardware it still needed became unavailable, and rebuilt in 2026 with no hardware at all.
The problem. Industrial automation is taught on equipment that is expensive, scarce, and sitting in one room. A student with an hour of lab time a week does not get to make the mistakes that teach the subject.
The first answer, in 2012. A PyQt desktop application driving the lab's Modbus devices. It ran for two or three course cycles and then stopped being used — because it had not actually removed the constraint. The software was on the student's machine, but the PLC and the power analyser were still in the laboratory, and when that hardware stopped being available the tool went with it.
The second answer, fourteen years later. The same idea rebuilt with the devices themselves simulated: a virtual Master-K120S PLC and a virtual WM14 power analyser served over the web, speaking Modbus. Nothing physical is required, so the laboratory is wherever the student is. My students are using it now.
What it demonstrates. Not persistence — diagnosis. The 2012 version failed for a reason I could name, and the rebuild is aimed at that reason rather than at the technology that had moved on in the meantime.
- SvelteKit
- TypeScript
- Cloudflare Workers
- Modbus RTU/TCP
- Python
- PyQt