Lernfeld 9 · Prüfung Teil 2
SPS-Programmierung nach IEC 61131-3
SPS-Programmierung nach IEC 61131-3: Sprachen, Datentypen, Bausteine, Zyklus und Reaktionszeit kurz erklärt mit typischen Prüfungsfehlern.
Darum geht es
Eine SPS arbeitet zyklisch. Zu Beginn liest sie alle Eingänge in das Prozessabbild der Eingänge, dann bearbeitet sie das Programm von oben nach unten und schreibt am Ende das Prozessabbild der Ausgänge auf die Baugruppen. Ändert sich ein Eingang während des Zyklus, sieht das Programm das erst im nächsten Zyklus. Deshalb kann die Reaktionszeit im ungünstigsten Fall etwa zwei Zykluszeiten plus Eingangs- und Ausgangsverzögerung betragen.
Die IEC 61131-3 beschreibt die Sprachen Kontaktplan (KOP), Funktionsbausteinsprache (FUP), Strukturierter Text (ST) und Ablaufsprache (AS); die Anweisungsliste gilt als veraltet. Wichtige Datentypen sind BOOL, INT (16 Bit mit Vorzeichen, bis ), DINT (32 Bit), REAL und TIME. Variablen, die einen Spannungsausfall überstehen sollen, deklarierst du als RETAIN.
Bausteine gliedern das Programm. Eine Funktion (FC) liefert bei gleichen Eingängen immer dasselbe Ergebnis und hat kein Gedächtnis. Ein Funktionsbaustein (FB) besitzt eine Instanz mit eigenem Speicher, darum laufen Zeiten, Zähler und Flankenauswertungen in FBs. In ST achtest du auf Ganzzahldivision: Bei INT wird der Rest abgeschnitten, MOD liefert genau diesen Rest.
In der Online-Beobachtung erscheinen Werte oft hexadezimal. Jede Hex-Stelle steht für vier Bit, die Stellenwerte sind Potenzen von 16.
Das solltest du dir merken
- Das Programm arbeitet mit dem Prozessabbild, nicht direkt mit den Klemmen.
- Ein FB hat einen Instanzspeicher, eine FC nicht.
- INT umfasst 16 Bit mit Vorzeichen, also -32768 bis 32767.
- In ST schneidet die Division zweier INT-Werte die Nachkommastellen ab.
- In der Ablaufsprache startet eine Simultanverzweigung mehrere Schritte gleichzeitig und wird erst zusammengeführt, wenn alle fertig sind.
Formeln
- Reaktionszeit im ungünstigsten Fall
- Eingangsverzögerung, Zykluszeit der SPS, Ausgangsverzögerung, alle in ms
- Hexadezimal in Dezimal
- Wert der Hex-Stelle (0 bis 15, A = 10 bis F = 15), Stellennummer von rechts ab 0
Typische Fehler in der Prüfung
- Nur eine Zykluszeit als Reaktionszeit angesetzt, obwohl der Eingang kurz nach dem Einlesen wechseln kann.
- Zeiten und Zähler in einer FC programmiert, die keinen Speicher über den Zyklus hinaus hat.
- Bei INT-Division mit Nachkommastellen weitergerechnet.
- Hex-Ziffern A bis F falsch umgerechnet oder Stellenwerte vertauscht.
Tipps aus der Werkstatt
- Datentypen nach Bitbreite merken: BOOL 1 Bit, BYTE 8, INT und WORD 16, DINT, DWORD und REAL 32 Bit. INT und DINT sind vorzeichenbehaftet, WORD und DWORD reine Bitmuster. Der Bereich von INT ist etwa plus/minus 32 000.
- Funktion (FC) ohne Gedächtnis, Funktionsbaustein (FB) mit Instanzdaten: Alles, was sich etwas merken muss (Zähler, Zeiten, Flanken), gehört in einen FB. Nenne in der Prüfung die Sprachen der Norm mit Kürzel: KOP, FUP, ST, AS und die veraltete AWL.
Sitzt das Thema? Teste dich mit echten Prüfungsfragen.
15 Aufgaben zu „SPS-Programmierung nach IEC 61131-3“, falsche Antworten kommen in der Runde noch einmal.
Jetzt übenGrundlage: KMK-Rahmenlehrplan Elektroniker/-in für Automatisierungstechnik 18.12.2020, Lernfeld 9; DIN EN 61131-3. Eigene Erklärung, keine Originalaufgaben der Prüfungsausschüsse.