← 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. 1. Read the floppy disk with a specialized tool → recovered ~40% of the source code
  2. 2. Measured and mapped all control signals (87) during live operation (dynamic analysis)
  3. 3. Reconstructed the complete state machine of the filling process (12 states) from signal behavior
  4. 4. Identified 34 safety conditions (some active but completely undocumented)
  5. 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