ChatGPT für die SPS-Programmierung: was funktioniert, was nicht
Kann ChatGPT SPS-Code schreiben? Ja, solange die Aufgabe ohne dein Projekt auskommt: Syntax erklären, ein Gerüst entwerfen, eine Schrittkette skizzieren, einen fremden Baustein zusammenfassen. Sobald echte Symbolnamen, Datentypen und Bibliotheken im Spiel sind, kippt das Ergebnis von hilfreich zu Nacharbeit, weil das Modell schlicht nicht weiss, was in deinem Projekt existiert.
Browser-Chat gegen Assistent mit Projektkontext
Derselbe Prompt, zwei Umgebungen. Die Unterschiede sind nicht das Modell, sondern das, was das Modell sehen darf:
| Aufgabe | ChatGPT im Browser | Integrierter Assistent mit Projektkontext |
|---|---|---|
| Baustein erklären | Gut, sobald du den Code einfügst | Gut, liest den Baustein selbst aus dem Projekt |
| Kleinen FB in Structured Text schreiben | Brauchbares Gerüst, Bezeichner geraten | Passt zu Variablentabelle und Datentypen |
| AWL nach SCL konvertieren | Funktioniert für Schnipsel | Ganzer Baustein samt Schnittstelle und Kommentaren |
| Refactoring | Nur für das, was du einfügst | Sieht Aufrufer und Querverweise im Projekt |
| Fehler suchen | Rät ohne Compilerausgabe und Live-Werte | Compilermeldungen und Projektstand fliessen zurück |
| Sicherheitsgerichtete Logik | Nicht generieren | Nicht generieren |
Die letzte Zeile ist kein Werkzeugvergleich, sondern eine Regel: F- und Safety-Logik wird nicht aus einem Prompt erzeugt, unabhängig davon, wer fragt.
Was funktioniert
Alles, was kein Projektwissen braucht, funktioniert im Browser-Chat erstaunlich gut. Sprachkonzepte erklären lassen (Flankenauswertung, Timer, indirekte Adressierung, REGION-Struktur in SCL) gehört dazu, ebenso eine erste Struktur für eine Schrittkette, das Umschreiben einer verschachtelten IF-Kaskade in eine CASE-Zustandsmaschine oder das Aufräumen von Kommentaren. Auch als Sparringspartner ist ein Chatfenster gut: „Welche Zustände braucht eine Störungsquittierung, die nach Netzausfall wieder sauber anläuft?" liefert eine ordentliche Liste, an der du weiterarbeitest.
Der zweite starke Fall ist das Lesen. Wenn du einen fremden Baustein einfügst und um eine Erklärung bittest, bekommst du in der Regel eine korrekte Beschreibung der Logik. Das spart bei Bestandsanlagen echte Stunden und schreibt nichts, kann also auch nichts kaputt machen.
Wo es scheitert
Das Grundproblem ist immer dasselbe: Der Chat kennt dein Projekt nicht. Daraus folgen fünf typische Fehlerbilder.
- Erfundene Symbolnamen und Datentypen. Der Code referenziert Variablen, die es nicht gibt, oder rät bei UDTs und Bibliotheksbausteinen. Plausibel aussehender Code, der beim ersten Compile auseinanderfällt.
- Kein Projektkontext. Hausstandard, Namenskonvention, bestehende Bausteine: nichts davon ist bekannt. Du bekommst korrekten IEC-61131-3-Code, der nicht zu deiner Anlage passt.
- Copy-Paste als Importweg. Code raus aus der Engineering-Umgebung, in den Browser, zurück, einfügen, Fehlermeldung abtippen, wieder in den Browser. Bei einem Baustein machbar, bei zwanzig eine Qual, und jeder Medienbruch ist eine Fehlerquelle.
- Kein Compile. Das Modell bekommt nie zu sehen, ob sein Vorschlag übersetzt. Es korrigiert nur das, was du manuell zurückträgst.
- Keine Tests. Ob der Baustein das Richtige tut, prüft niemand. Genau das ist aber der Unterschied zwischen „kompiliert" und „funktioniert".
Dazu kommt die Freigabefrage: Anlagencode in ein fremdes Chatfenster zu kopieren, ist in vielen Unternehmen schlicht nicht erlaubt. Die fertigen Custom GPTs im Store ändern daran nichts, sie liefern bessere Prompts, aber denselben blinden Fleck.
Wie du ChatGPT trotzdem sicher einsetzt
Drei Gates, und der Browser-Chat wird zu einem ordentlichen Werkzeug:
- Compile-Gate. Kein generierter Baustein gilt als fertig, bevor er gegen das echte Projekt übersetzt wurde. Erfundene Aufrufe und falsche Datentypen fallen dort sofort auf.
- Review. Du liest den Vorschlag Zeile für Zeile, ziehst Bezeichner auf den Hausstandard und prüfst Verriegelungen von Hand. Ein KI-Vorschlag ist ein Entwurf eines schnellen Junior, nicht das Ergebnis einer Abnahme.
- Unit-Tests. Vor dem Einsatz mindestens ein Testfall pro Betriebsart und pro Störfall. Ohne Test bleibt „sieht gut aus" die einzige Aussage, die du über den Code treffen kannst.
Dazu zwei Gewohnheiten, die den Output sofort verbessern: Gib dem Modell die echte Deklaration des Bausteins mit, statt sie beschreiben zu lassen, und lass dir den Vorschlag in kleinen Einheiten geben, die du einzeln prüfen kannst. Beim TIA-Portal-Alltag geht der Beitrag ChatGPT für TIA Portal auf dieselbe Frage mit Siemens-Blick ein.
Wann sich ein integrierter Assistent rechnet
Solange du gelegentlich eine Syntaxfrage hast, reicht der Browser. Die Rechnung dreht sich, sobald Bausteine in Serie entstehen oder ein Altbestand migriert wird. Ein Assistent, der das Projekt liest, spart den Medienbruch, erfindet keine Bezeichner mehr, zeigt jede Änderung vor dem Übernehmen als Diff und bringt Compile und Tests in denselben Kreis. Der Zeitgewinn liegt weniger im schnelleren Tippen als im Wegfall der Nacharbeit pro Baustein.
Was integrierte Werkzeuge leisten und wo auch sie aufhören, steht im Leitfaden KI in der SPS-Programmierung. Wer konkret vergleichen will, findet die Werkzeuge mit Umgebung, Modellwahl, lokaler Option und Preisen im Vergleich der KI-Tools für die SPS-Programmierung.
Häufige Fragen
Kann ChatGPT SPS-Code schreiben?
Für Standardlogik in Structured Text ja, auf dem Niveau eines Gerüsts. Symbolnamen und Datentypen rät das Modell, weil es dein Projekt nicht sieht. Ohne Compile gegen das echte Projekt ist ein solcher Baustein kein Ergebnis, sondern ein Entwurf.
Welche Sprache funktioniert am besten?
Structured Text, bei Siemens SCL. Sprachmodelle sind Textmodelle, und ST ist Text. AWL lesen sie ebenfalls gut, was Konvertierungen nach SCL zu einer der verlässlichsten Aufgaben macht. KOP und FUP brauchen eine Textrepräsentation, sonst sieht das Modell nichts.
Darf ich Anlagencode in ein Cloud-Chatfenster kopieren?
Das entscheidet deine Freigabe, nicht das Werkzeug. Wenn Projektcode das Haus nicht verlassen darf, bleibt ein lokales Modell auf eigener Hardware der einzige Weg, der durch die Prüfung kommt. Die Frage vorher zu klären, ist billiger als sie nachher zu erklären.
Ersetzt ChatGPT den SPS-Programmierer?
Nein. Es verschiebt die Arbeit: weniger Boilerplate tippen, mehr spezifizieren, reviewen und testen. Anlagenwissen, Sicherheitsbewertung und die Verantwortung für die Freigabe bleiben beim Menschen.
Was ist der Unterschied zu einem integrierten KI-Assistenten?
Der Kontext, nicht das Modell. Ein integrierter Assistent liest Variablen, Datentypen und bestehende Bausteine aus dem Projekt, zeigt Änderungen als Diff und hängt Compile und Tests an denselben Ablauf. Dasselbe Modell liefert damit deutlich öfter beim ersten Versuch brauchbaren Code.