PLCcheck

Legacy-SPS-Code refactoren: Von Spaghetti zu Struktur

Wie man unstrukturierten Legacy-SPS-Code in wartbare Struktur umwandelt. Spaghetti-Code erkennen, schrittweise refactoren, wann Neuschreiben statt Refactoring.

·12 Min. Lesezeit
SPSRefactoringLegacy-CodeSpaghetti-CodeStrukturWartbarkeitBest PracticesSCL

Read this article in English

Legacy-SPS-Code refactoren: Von Spaghetti zu Struktur

"Spaghetti-Code" in SPSen: ein riesiger OB1 mit 500 Netzwerken, keine Unterprogramme, hunderte unbenannte Merker, Sprungbefehle in alle Richtungen, und 20 Jahre Modifikationen übereinander geschichtet.

Anzeichen für Spaghetti-Code

Regel #1: Nie ohne Test refactoren

  1. Backup erstellen (verifiziert — Online mit Offline vergleichen)
  2. Aktuelles Verhalten dokumentieren (Maschinenzyklus beobachten)
  3. Testplan erstellen (wie wird identisches Verhalten verifiziert?)
  4. Rollback planen (wie schnell Original wiederherstellen?)

Schritt 1: Funktionale Blöcke extrahieren

OB1-Abschnitte in eigene Bausteine auslagern:

FunktionVorher (in OB1)Nachher
FörderbandNetzwerk 10–25FC_Foerderband
BefüllungNetzwerk 26–50FB_Befuellung
SicherheitVerstreutFC_Sicherheit (erster Aufruf in OB1)

Schritt 2: Merker durch strukturierte Daten ersetzen

Statt 50 Einzelmerker → globaler Datenbaustein mit sprechenden Namen:

DB_Maschine.Foerderband.Laeuft    : BOOL
DB_Maschine.Befuellung.Sollwert   : INT := 1500

Schritt 3: Sprung-Spaghetti eliminieren

SPB/SPBN/SPA-Muster durch IF/THEN/ELSE in SCL ersetzen.

Schritt 4: Wiederholte Logik parametrieren

Gleiche Logik 10× kopiert → ein parametrierter FB_Motor, 10× aufgerufen mit verschiedenen Parametern.

Schritt 5: Konstanten in Datenbausteine

Fest kodierte Werte (magische Zahlen) durch benannte Konstanten in Parameter-DB ersetzen.

Refactoring vs. Neuschreiben

SituationEmpfehlung
Code funktioniert, aber schwer wartbarSchrittweise refactoren
Grundlegende DesignproblemeNeu schreiben
Migration auf neue PlattformMigration + Refactoring kombinieren
Niemand versteht den CodeErst dokumentieren (PLCcheck Pro), dann entscheiden

Goldene Regel: Bei ohnehin geplanter Migration ist Refactoring "kostenlos" — das gesamte Programm wird sowieso getestet.

Häufig gestellte Fragen

Wie refactoren ohne Produktionsstopp?

Offline refactoren. In PLCSIM testen. Während geplanter Wartung deployen. Original für sofortigen Rollback bereit halten.

Alles nach SCL konvertieren?

Nicht nötig. Einfache Bitlogik in KOP/FUP belassen. Komplexe AWL und Berechnungen nach SCL. Beste Sprache pro Aufgabe.


Gepflegt von PLCcheck.ai. Letztes Update: März 2026. Keine Verbindung zu Siemens AG.

Verwandte Artikel

SPS-Code mit KI analysieren

PLCcheck Pro erklärt, dokumentiert, optimiert und migriert SPS-Code — automatisch.

PLCcheck Pro testen →
← Zurück zum Blog

Nicht verbunden mit Siemens AG. S5, S7, STEP 5, STEP 7 und TIA Portal sind Marken der Siemens AG.