← All case studies
AUTO-003 Automation Code reverse engineering
PLC code without documentation — migrated from Pascal to C++, plus an IoT dashboard.
Retrofit
no PLC replacement
12 weeks
implementation
Parameterization
instead of code edits
Baseline
PLC control system of a filling line, written in a proprietary Pascal variant from 2001. Developer unreachable, no documentation, proprietary IDE with an expired license. No source code — only a binary on a 3.5" floppy disk. Replacement options meant long conversion time and significant downtime risk.
Three new products were planned — without code changes it wasn't feasible. The customer's investment plan was at risk.
The key challenge: no source code
How we still got it done:
- 1. Read the floppy disk with a specialized tool → recovered ~40% of the source code
- 2. Measured and mapped all control signals (87) during live operation (dynamic analysis)
- 3. Reconstructed the complete state machine of the filling process (12 states) from signal behavior
- 4. Identified 34 safety conditions (some active but completely undocumented)
- 5. Created the first complete technical documentation of the control logic
Results & new features
Functional compatibility with the original control per acceptance test plan
All 34 safety conditions implemented + 2 new ones added
Cycle time and stability improved (validated in test runs)
Product changeover time reduced after modernization (plant-specific)
New products enabled through parameterization (less need for code changes)
First complete code documentation
Real-time OEE monitoring via IoT dashboard
Extended endurance validation in test window
Technologies
Static Code AnalysisDynamic AnalysisState Machine REC++ESP32 IoT GatewayMQTTNode.jsTimescaleDBReact DashboardDocker
Unreadable code in your machine?
We reverse-engineer and modernize — even without documentation or source code.
Request a free assessment Reply within 24 hours No commitment Confidential