About the Project
This project builds a full Industry 4.0 IoT stack from PLC to browser: a CODESYS SoftPLC program exposes six live process variables (xStart, xStop, xRunning, iCycleCount, rTemperature, sState) via an OPC-UA server on port 4840, a Python asyncua client reads all variables every 100 ms, and a FastAPI backend pushes live data to the browser over WebSockets.
The browser dashboard renders a live state indicator, cycle counter, temperature gauge with trend chart, and bidirectional START/STOP control buttons — all updating at 100 ms without any HTTP polling. The full async stack (FastAPI + asyncua) ensures no blocking under real data load, which is critical for production IIoT applications.
Security is implemented with CODESYS role-based access control: anonymous users receive read-only View access, while an authenticated operator account with Service group Modify rights enables write access for PLC control. Authentication uses Username/Password with AUTO_NEGOTIATE mode, with X.509 certificate encryption identified as the next hardening step for production deployment.
The entire stack runs without physical hardware — pure virtual commissioning. The architecture directly targets Siemens, Beckhoff, Bosch Rexroth, and German Mittelstand automation companies that require engineers who understand the full IT/OT integration layer from PLC programming to cloud-ready data pipelines.