Legacy-SPS-Code verstehen: Muster erkennen
Wie man undokumentierten Legacy-SPS-Code durch Mustererkennung versteht: Selbsthaltungen, Schrittketten, Sicherheitsverriegelungen, Analogwert-Skalierung, Kommunikationsbausteine.
Legacy-SPS-Code verstehen: Muster erkennen
Undokumentierter SPS-Code sieht einschüchternd aus, folgt aber vorhersagbaren Mustern. Wenn Sie diese Muster erkennen, können Sie die meisten Legacy-Programme ohne Dokumentation verstehen.
Muster 1: Selbsthaltung
Das häufigste Muster. Motor oder Ventil bleibt nach Tastendruck ein.
U E 0.0 // Start (Taster)
O A 4.0 // ODER Selbsthaltung
UN E 0.1 // UND NICHT Stopp
UN E 0.2 // UND NICHT Not-Aus
= A 4.0 // Motor-Ausgang
Erkennungsmerkmal: Ein Ausgang (A x.y) erscheint als Abfrageoperand (O A x.y) UND als Zuweisungsziel (= A x.y) im selben Netzwerk.
Muster 2: Schrittkette
Prozess der durch Schritte läuft, jeder Schritt aktiviert bestimmte Ausgänge.
Erkennungsmerkmal: Ein Merkerwort (MW) wird geladen, mit Konstanten verglichen, und für bedingte Sprünge verwendet. Der MW-Wert ändert sich bei Übergangsbedingungen.
Muster 3: Sicherheitsverriegelungskette
Mehrere Bedingungen müssen alle TRUE sein bevor eine gefährliche Operation erlaubt wird.
U E 0.2 // Schutztür geschlossen
U E 0.3 // Lichtvorhang frei
U E 0.4 // Druck OK
UN E 0.6 // NICHT Not-Aus
= M 20.0 // Freigabesignal
Erkennungsmerkmal: Lange Kette von U und UN, alles auf einen einzigen Freigabe-Merker.
Muster 4: Analogwert-Skalierung
Rohwert (0–27648 oder BCD) in technische Einheiten umrechnen.
L PEW 128 // Analogeingang lesen (Rohwert)
L KF +6400
-F // Offset abziehen
L KF +100
×F // Skalierungsfaktor
L KF +20000
:F
T MW 30 // Ergebnis in technischen Einheiten
Erkennungsmerkmal: PEW laden → Arithmetik (+F, -F, ×F, :F) mit Konstanten → Ergebnis in MW.
Muster 5: Blinkgenerator
UN M 50.0
L KT 005.1 // 500ms
SI T 10
U T 10
= M 50.0 // Blink-Merker (wechselt alle 500ms)
Erkennungsmerkmal: Timer dessen Startbedingung die Negation seines eigenen Ausgangsmerkers ist.
Muster 6: Flankengesteuerter Einmalimpuls
U E 0.0 // Trigger
FP M 60.0 // Positive Flanke
= M 60.1 // Einmalimpuls (TRUE für einen Zyklus)
Wie man unbekannten Code angeht
- Mit OB1 beginnen: Immer das Hauptprogramm. Bausteinaufrufe verfolgen.
- Ausgänge zuerst: Wo wird jeder physische Ausgang geschrieben? Rückwärts verfolgen.
- Schrittkette identifizieren: Den Schrittzähler finden (meist ein MW).
- Sicherheitslogik kartieren: Not-Aus und Verriegelungen früh identifizieren.
- Querverweisliste nutzen: Für jede unklare Adresse schauen wo sie sonst verwendet wird.
Was PLCcheck Pro tut
PLCcheck Pro erkennt diese Muster automatisch:
- Selbsthaltungen, Schrittketten, Sicherheitsverriegelungen beschriften
- Blinkgeneratoren, Einmalimpulse, Analogskalierung identifizieren
- Kompletten Programmfluss von OB1 durch alle aufgerufenen Bausteine abbilden
Gepflegt von PLCcheck.ai. Letztes Update: März 2026. Keine Verbindung zu Siemens AG.
Verwandte Artikel
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
plc-programmingSPS-Zykluszeit optimieren: Praktische Techniken
Praktische Techniken zur Reduzierung der SPS-Zykluszeit. Codestruktur, bedingte Ausführung, Datentyp-Auswahl, optimierte Datenbausteine, Interrupt-Architektur.
10 Min. Lesezeit
plc-programmingSPS-Programmierung: AWL vs. KOP vs. FUP vs. SCL – Welche Sprache wofür?
Vergleich der vier SPS-Programmiersprachen AWL, KOP, FUP und SCL nach IEC 61131-3. Stärken, Schwächen, Einsatzbereiche und welche Sprache für welche Aufgabe die richtige ist.
12 Min. Lesezeit
SPS-Code mit KI analysieren
PLCcheck Pro erklärt, dokumentiert, optimiert und migriert SPS-Code — automatisch.
PLCcheck Pro testen →Nicht verbunden mit Siemens AG. S5, S7, STEP 5, STEP 7 und TIA Portal sind Marken der Siemens AG.