Zum Inhalt springen

SPS-Programmierung in der Ausbildung – Ein SPS-Projekt versioniert übergeben

Aus MOOCsWiki Staging
aiMOOC-Siegel aiMOOC

SPS-Programmierung in der Ausbildung – Ein SPS-Projekt versioniert übergeben

QR-Code



SPS-Programmierung in der Ausbildung – Ein SPS-Projekt versioniert übergeben


Einleitung

In diesem aiMOOC übergibst Du ein kleines SPS-Projekt so, dass eine andere Fachkraft den Entwicklungsstand eindeutig nachvollziehen, simulieren, testen und später weiterbearbeiten kann. Im Mittelpunkt stehen drei Übergabeobjekte: Quellcode, Variablenliste und Testnachweise.

Der Kurs richtet sich an Auszubildende in der Automatisierungstechnik, Elektrotechnik, Mechatronik und verwandten Ausbildungsberufen. Die Lerneinheiten sind kurz, praxisnah und herstellerübergreifend angelegt.

Sicherheitsrahmen: Alle Maschinenabläufe werden zuerst in einer virtuellen Anlage oder SPS-Simulation geprüft. Dieser Kurs beschreibt keine automatische Live-Ansteuerung realer Maschinen und keine Umgehung von Schutzeinrichtungen. Reale Arbeiten erfolgen nur unter geeigneter Fachaufsicht, nach betrieblicher Freigabe und gemäß den vor Ort geltenden Arbeits- und Sicherheitsregeln.


Lernziele

Nach dem Kurs kannst Du ein kleines SPS-Projekt so vorbereiten, dass Quellstand, Variablen und Testergebnisse zusammenpassen. Du kannst einen reproduzierbaren Versionsstand kennzeichnen, Signalverläufe aus einer Simulation auswerten, einfache Diagnosefälle bearbeiten und eine Übergabe mit nachvollziehbaren Nachweisen erstellen.


Ausbildungsfall: Virtuelle Förderstation

Du arbeitest an einer virtuellen Förderstation. Ein Werkstück fährt auf einem Band zu einer Prüfposition. Ein Sensor meldet die Ankunft. Das Band hält kurz, danach wird das Werkstück weitertransportiert. Bleibt ein Werkstück zu lange im Sensorbereich, wird eine Störung gesetzt.

Vereinfachter Ablauf:

  1. Startsignal: Die virtuelle Anlage erhält eine Startfreigabe.
  2. Förderband: Der virtuelle Motor läuft.
  3. Sensor: Das Werkstück erreicht die Prüfposition.
  4. Wartezeit: Das Band stoppt für eine definierte Prüfzeit.
  5. Weitertransport: Das Band läuft wieder an.
  6. Diagnose: Ein ungewöhnlich lang belegter Sensor erzeugt eine Störmeldung.

Der Ablauf wird zunächst ausschließlich simuliert. Eine reale Maschine ist für die Bearbeitung des Kurses nicht erforderlich.


Lerneinheit 1: Projektstand verstehen

Eine SPS steuert oder regelt Maschinen und Anlagen auf Basis eines Anwenderprogramms. Für die Ausbildung ist nicht nur entscheidend, dass ein Programm funktioniert. Wichtig ist auch, welcher Stand geprüft wurde und welche Dateien zu diesem Stand gehören.

Ein guter Übergabestand beantwortet kurz drei Fragen:

  1. Quellcode: Welcher Programmstand wurde freigegeben?
  2. Variablenliste: Welche Signale und internen Variablen verwendet dieser Stand?
  3. Testnachweis: Welche Anforderungen wurden mit welchem Ergebnis geprüft?


Lerneinheit 2: Quellcode strukturiert ablegen

Die aktuelle IEC 61131-3 beschreibt unter anderem ST, LD und FBD als Programmiersprachen für programmierbare Steuerungen. SFC dient zur Strukturierung von Abläufen.

Für die Übergabe genügt eine einfache, klare Projektstruktur:

SPS_Foerderstation/
├── src/
│   ├── PLC_Project/
│   └── export/
├── docs/
│   ├── variablenliste.csv
│   └── README.txt
├── tests/
│   ├── testfaelle.csv
│   └── testnachweis.pdf
└── CHANGELOG.txt

Merke: Nicht jedes Engineering-System speichert SPS-Projekte vollständig als gut vergleichbare Textdateien. Deshalb werden ein herstellerspezifischer Projektstand und – soweit sinnvoll und unterstützt – textbasierte Exporte gemeinsam abgelegt.


Lerneinheit 3: Variablenliste eindeutig machen

Eine Variablenliste verbindet Programm und Anlage. Gute Namen beschreiben die Funktion und nicht nur eine Adresse.

Variable Typ Bedeutung Richtung
i_Start BOOL Startanforderung Eingang
i_Stop BOOL Stoppanforderung Eingang
i_Pruefpos BOOL Werkstück an Prüfposition Eingang
q_Band BOOL Förderband freigegeben Ausgang
x_Stoerung BOOL Diagnosemeldung aktiv intern
t_Pruefzeit TIME Dauer der virtuellen Prüfphase intern

Die Liste gehört zum gleichen Versionsstand wie der Quellcode. Änderungen an Namen, Datentypen oder Bedeutung werden mitversioniert.


Lerneinheit 4: Signalverläufe prüfen

Signalverläufe helfen Dir zu erkennen, ob ein Ablauf zeitlich plausibel ist.

Beispiel einer virtuellen Prüfung:

Phase i_Start i_Pruefpos q_Band x_Stoerung Erwartung
Bereit 0 0 0 0 Anlage wartet
Start 1 0 1 0 Band läuft
Prüfposition 1 1 0 0 Band hält
Weiterfahrt 1 0 1 0 Band läuft wieder
Blockadefall 1 1 0 1 Störung nach Zeitüberschreitung

Diagnosefrage: Wenn im simulierten Blockadefall die Variable i_Pruefpos dauerhaft 1 bleibt, aber x_Stoerung nie 1 wird, liegt der erste Prüfpunkt bei der Zeitüberwachung und deren Aktivierungsbedingung.


Lerneinheit 5: Virtuell steuern und diagnostizieren

In einer Simulation kannst Du Eingänge setzen, Abläufe beobachten und Fehlerfälle reproduzieren, ohne eine reale Maschine automatisch anzusteuern.

Eine zweite Form der virtuellen Inbetriebnahme koppelt eine SPS-Software mit einem 3D-Anlagenmodell. Das folgende Beispiel zeigt eine Produktsortierung mit CODESYS und Factory I/O.

Sicher arbeiten: Schutzeinrichtungen werden nicht überbrückt, deaktiviert oder durch erzwungene Signale umgangen. Eine Simulation ist Lern- und Prüfmittel, kein Ersatz für die vorgeschriebenen Sicherheitsmaßnahmen an realen Maschinen.


Lerneinheit 6: Versionieren

Versionierung soll sichtbar machen, was geändert wurde, warum es geändert wurde und welcher Stand getestet wurde.

Für den Ausbildungsfall reicht ein einfacher Ablauf:

  1. Änderung: Eine fachlich zusammengehörige Änderung durchführen.
  2. Prüfung: Projekt kompilieren beziehungsweise prüfen und in der Simulation testen.
  3. Commit: Änderung mit kurzer, verständlicher Nachricht sichern.
  4. Testnachweis: Getestete Version oder Commit-ID im Testprotokoll eintragen.
  5. Release: Übergabestand eindeutig kennzeichnen, zum Beispiel mit einem Versions-Tag.

Beispiel für gute Änderungsnachrichten:

Sensor Prüfposition eindeutig benannt
Blockadezeit überwacht
Testfall T04 ergänzt
Übergabestand v1.0 vorbereitet

Wichtig: Git ist nur ein mögliches Werkzeug. Je nach Engineering-System können herstellerspezifische Versions- oder Vergleichsfunktionen erforderlich sein. Entscheidend ist die nachvollziehbare Zuordnung von Projektstand und Nachweisen.


Lerneinheit 7: Testnachweise erstellen

Ein Testfall enthält mindestens Ausgangslage', Aktion, erwartetes Ergebnis und tatsächliches Ergebnis.

ID Prüfung Erwartung Ergebnis Status
T01 Start in Grundstellung Band läuft Band läuft bestanden
T02 Werkstück erreicht Prüfposition Band stoppt Band stoppt bestanden
T03 Prüfzeit endet Band läuft weiter Band läuft weiter bestanden
T04 Sensor bleibt ungewöhnlich lange belegt Störung wird gesetzt Störung wird gesetzt bestanden
T05 Stoppsignal in Bewegung Band stoppt Band stoppt bestanden

Zu einem sauberen Testnachweis gehört außerdem der getestete Versionsstand. So ist später klar, auf welchen Quellcode sich das Ergebnis bezieht.


Lerneinheit 8: Übergabepaket freigeben

Vor der Übergabe vergleichst Du die drei Kernnachweise:

Übergabeobjekt Prüffrage Beispiel
Quellcode Ist der freigegebene Stand eindeutig? Tag v1.0
Variablenliste Passt sie zum freigegebenen Stand? variablenliste.csv
Testnachweise Ist der getestete Stand eingetragen? v1.0 / Commit-ID
Änderungsverlauf Sind wesentliche Änderungen verständlich? CHANGELOG.txt
Startinformation Weiß die übernehmende Person, wie simuliert wird? README.txt

Übergabekriterium: Ein anderer Auszubildender soll den Stand öffnen, die Variablen verstehen, die Simulation starten und die dokumentierten Tests nachvollziehen können, ohne mündliche Zusatzinformationen zu benötigen.


Gestufte Hilfen und begründetes Feedback


Basisaufgabe: Passenden Versionsstand finden

Auftrag: In einem Testnachweis steht „T04 bestanden“. Im Dokument fehlt aber die Versionsangabe. Bewerte die Übergabe.

Hilfe 1: Frage Dich, ob ein Testergebnis ohne Quellstand reproduzierbar ist.

Hilfe 2: Suche nach einer eindeutigen Verbindung zwischen Test und Programmversion.

Hilfe 3: Ergänze Tag, Versionsnummer oder Commit-ID.

Begründetes Feedback: Die Übergabe ist unvollständig, weil nicht sicher festgestellt werden kann, welcher Quellcode tatsächlich geprüft wurde. Ein Testnachweis wird erst belastbar, wenn er einem eindeutigen Versionsstand zugeordnet ist.


Anwendungsaufgabe: Diagnose mit Signalverlauf

Auftrag: In der Simulation bleibt i_Pruefpos dauerhaft 1. q_Band bleibt 0, x_Stoerung aber ebenfalls 0. Nenne zwei sinnvolle Prüfschritte.

Hilfe 1: Prüfe zuerst die Bedingung, die den Störungstimer startet.

Hilfe 2: Prüfe danach, ob der Timer abläuft und sein Ergebnis ausgewertet wird.

Hilfe 3: Vergleiche Soll-Signalverlauf, Programmlogik und beobachtete Variablen.

Begründetes Feedback: Eine gute Diagnose trennt Ursache, Zeitverhalten und Reaktion. Nur auf den Ausgang q_Band zu schauen, reicht nicht, weil die fehlende Störung auch aus einer nicht gestarteten oder nicht ausgewerteten Zeitüberwachung entstehen kann.


Transferaufgabe: Änderung sicher übergeben

Auftrag: Die virtuelle Prüfzeit soll geändert werden. Plane die kleinste sinnvolle Übergabeänderung.

Hilfe 1: Welche Datei enthält den Wert oder die Logik?

Hilfe 2: Welche Testfälle hängen zeitlich davon ab?

Hilfe 3: Welche Versionsinformation muss aktualisiert werden?

Begründetes Feedback: Eine fachlich saubere Änderung umfasst nicht nur Quellcode. Variablen- oder Parameterdokumentation, betroffene Tests, Änderungsbeschreibung und freigegebener Versionsstand müssen zusammenpassen.


Interaktive Aufgaben


Quiz: Teste Dein Wissen

Welche drei Bestandteile stehen im Zentrum einer nachvollziehbaren SPS-Projektübergabe? (Quellcode Variablenliste und Testnachweise) (!Nur Quellcode und Passwort) (!Nur Schaltplan und Bedienungsanleitung) (!Nur Simulation und Screenshot)




Warum wird im Testnachweis ein eindeutiger Versionsstand eingetragen? (Damit das Testergebnis einem konkreten Quellstand zugeordnet werden kann) (!Damit die SPS schneller läuft) (!Damit Variablennamen automatisch erzeugt werden) (!Damit keine Simulation mehr nötig ist)




Welche Variable beschreibt im Ausbildungsfall den Motorfreigabe-Ausgang? (q_Band) (!i_Start) (!i_Pruefpos) (!x_Stoerung)




Was ist bei Maschinenabläufen im Kurs zuerst vorgesehen? (Simulation des Ablaufs) (!Direkte Live-Ansteuerung) (!Überbrückung der Schutztür) (!Deaktivierung der Sicherheitslogik)




Was sollte eine gute Variablenliste zusätzlich zum Variablennamen enthalten? (Datentyp und Bedeutung) (!Nur die Farbe des Kabels) (!Nur die Dateigröße) (!Nur das Erstellungsdatum)




Was zeigt ein Signalverlauf besonders gut? (Zeitliche Zustandsänderungen) (!Den Kaufpreis der SPS) (!Die Gehäuseabmessungen) (!Die Lizenzkosten des Engineering-Systems)




Welche Aussage zur Versionierung ist richtig? (Änderungen und getestete Stände sollen nachvollziehbar sein) (!Jede Änderung muss denselben Dateinamen behalten) (!Versionsstände ersetzen Testfälle) (!Nur fertige Großprojekte brauchen Versionen)




Was gehört in einen Testfall? (Erwartetes und tatsächliches Ergebnis) (!Nur der Name des Programmierers) (!Nur die Hardwarebestellnummer) (!Nur ein Screenshot ohne Beschreibung)




Wie ist mit Schutzeinrichtungen umzugehen? (Sie bleiben wirksam und werden nicht umgangen) (!Sie werden für Diagnosezwecke grundsätzlich deaktiviert) (!Sie werden durch erzwungene Signale ersetzt) (!Sie sind bei einer Simulation immer bedeutungslos)




Wann ist ein SPS-Projekt gut übergabefähig? (Wenn eine andere Fachkraft Stand Variablen und Tests nachvollziehen kann) (!Wenn nur der Ersteller das Projekt öffnen kann) (!Wenn alle Dateien denselben Zeitstempel haben) (!Wenn keine Testdokumentation vorhanden ist)





Memory

Quellcode Programmstand
Variablenliste Signalbeschreibung
Testnachweis Prüfergebnis
Commit gespeicherte Änderung
Release freigegebener Stand
Simulation virtuelle Prüfung
Signalverlauf zeitliche Zustände
Diagnose Fehlersuche





Drag and Drop

Ordne die richtigen Begriffe zu. Thema
Quellcode Programmlogik
Variablenliste Signale und Datentypen
Testfall Soll Ist Vergleich
Version eindeutiger Entwicklungsstand
Simulation gefahrloser virtueller Probelauf






Kreuzworträtsel

Version Wie heißt ein eindeutig gekennzeichneter Entwicklungsstand?
Variable Wie heißt ein benannter Speicherwert im SPS-Programm?
Simulation Wie heißt der virtuelle Probelauf einer Anlage?
Diagnose Wie heißt die systematische Fehlersuche?
Quellcode Wie heißt der programmierte Ursprung eines Softwarestands?
Freigabe Wie heißt die bewusste Bestätigung eines Übergabestands?





LearningApps


Lückentext

Vervollständige den Text.
Ein SPS-Projekt wird für die Übergabe mit einem eindeutigen

versehen.
Die

beschreibt Signale, Datentypen und Bedeutungen.
Ein

verbindet Testfall, erwartetes Ergebnis und tatsächliches Ergebnis.
Maschinenabläufe werden im Kurs zuerst in einer

geprüft.
Ein zeitlicher Wechsel zwischen Signalzuständen lässt sich als

darstellen.
Eine gespeicherte fachlich zusammengehörige Änderung kann als

dokumentiert werden.
Der freigegebene Übergabestand kann mit einem

gekennzeichnet werden.
Schutzeinrichtungen dürfen nicht

werden.
Reale Arbeiten benötigen geeignete Fachaufsicht und betriebliche

.
Eine gute Übergabe ermöglicht einer anderen Fachkraft die

des geprüften Standes.




Offene Aufgaben


Leicht

  1. Variablenliste: Erstelle für die virtuelle Förderstation eine Tabelle mit mindestens acht sinnvollen Variablen und begründe zwei Namensentscheidungen.
  2. Signalverlauf: Zeichne für Start, Prüfposition und Weiterfahrt einen einfachen Soll-Signalverlauf mit drei digitalen Signalen.
  3. Testfall: Formuliere zwei Testfälle mit Ausgangslage, Aktion, erwarteten Ergebnis und Prüfkriterium.
  4. Versionsnummer: Vergleiche zwei mögliche Bezeichnungen für einen freigegebenen Stand und entscheide, welche eindeutiger ist.


Standard

  1. Diagnose: Analysiere einen simulierten Fehler, bei dem der Sensor belegt bleibt und die Störmeldung nicht erscheint. Dokumentiere Deine Prüfreihenfolge.
  2. Änderungsprotokoll: Schreibe ein kurzes CHANGELOG für drei aufeinanderfolgende Änderungen am Ausbildungsprojekt.
  3. Projektstruktur: Entwickle eine übersichtliche Ordnerstruktur für Quellcode, Exporte, Variablenlisten und Testnachweise.
  4. Simulation: Führe fünf virtuelle Testfälle durch und ergänze zu jedem Fall Sollwert, beobachtetes Ergebnis und Bewertung.


Schwer

  1. Review: Prüfe ein fremdes SPS-Übergabepaket auf Widersprüche zwischen Quellstand, Variablenliste und Testnachweisen und erstelle eine Mängelliste.
  2. Regressionstest: Plane nach einer Änderung der Prüfzeit, welche bestehenden Tests erneut ausgeführt werden müssen und begründe Deine Auswahl.
  3. Traceability: Entwirf ein Schema, das Anforderungen, Variablen, Programmänderungen und Testfälle nachvollziehbar miteinander verknüpft.
  4. Projektübergabe: Erstelle ein vollständiges Release-Paket für die virtuelle Förderstation und lasse einen Mitschüler den Stand ausschließlich anhand Deiner Dokumentation reproduzieren.




Text bearbeiten Bild einfügen Video einbetten Interaktive Aufgaben erstellen



Lernkontrolle

  1. Fehleranalyse: Ein Test T04 wurde als bestanden dokumentiert, später wird aber ein anderer Programmstand geöffnet. Erkläre, warum dadurch die Aussagekraft des Tests sinkt und wie Du das Problem verhinderst.
  2. Versionsstrategie: Vergleiche eine Übergabe mit nur einer ZIP-Datei und eine Übergabe mit eindeutigem Release-Stand, Änderungsverlauf und Testreferenz. Beurteile die Wartbarkeit.
  3. Diagnosestrategie: Leite aus einem widersprüchlichen Signalverlauf eine sinnvolle Prüfreihenfolge ab und begründe, warum Du nicht direkt den Ausgang änderst.
  4. Änderungsfolgen: Eine Variable wird umbenannt. Zeige, welche Dokumente und Tests dadurch betroffen sein können und warum.
  5. Sicherheitsbewertung: Ein Team schlägt vor, für einen schnelleren Test eine Schutzeinrichtung softwareseitig zu deaktivieren. Beurteile diesen Vorschlag und nenne eine sichere Alternative für die Ausbildung.
  6. Transfer: Übertrage das Übergabekonzept auf eine virtuelle Pumpensteuerung oder Ampelsteuerung und nenne die drei wichtigsten Nachweise.




Lernnachweis

Für einen Lernnachweis zu diesem Thema ist wichtig, dass Du:

  1. einen SPS-Projektstand eindeutig kennzeichnen kannst,
  2. eine verständliche Variablenliste erstellst,
  3. Testfälle mit Soll- und Ist-Ergebnis dokumentierst,
  4. den getesteten Versionsstand im Nachweis referenzierst,
  5. einen Signalverlauf aus einer Simulation interpretierst,
  6. einen einfachen Diagnosefall systematisch bearbeitest,
  7. eine Änderung nachvollziehbar versionierst,
  8. ein Übergabepaket auf Vollständigkeit prüfst,
  9. Simulation und reale Inbetriebnahme sicher voneinander abgrenzt,
  10. begründen kannst, warum Schutzeinrichtungen nicht umgangen werden dürfen.




Fachliche Quellen und Medienrechte

Die fachlichen Kernaussagen wurden mit öffentlich zugänglichen Quellen abgeglichen.

  1. IEC 61131-3:2025: Programmiersprachen für programmierbare Steuerungen, darunter ST, LD und FBD sowie SFC-Strukturelemente.
  2. IEC 61131-10:2019: XML-basiertes Austauschformat für IEC-61131-3-Projekte.
  3. PLCopen Software Construction Guidelines: Regeln, Coding Patterns, Strukturierung und Softwarequalität.
  4. PLCopen Training Guidelines: Orientierung für qualitätsgesicherte SPS-Ausbildung.
  5. BGHM – Manipulation von Schutzeinrichtungen verhindern: Schutzeinrichtungen dürfen nicht unwirksam gemacht werden.
  6. DGUV Information 209-092: Maßnahmen gegen Manipulation von Schutzeinrichtungen.
  7. Wikipedia – Speicherprogrammierbare Steuerung: Überblick zu Aufbau, Funktion und Programmierung von SPS.

Verwendete Wikimedia-Commons-Medien wurden vor Einbindung auf Dateiname und Lizenz geprüft:

Medium Lizenz laut Commons-Dateiseite Lernfunktion
Simatic S7-1200.JPG CC BY-SA 3.0 SPS-Hardware einordnen
S71500.JPG CC BY 3.0 modularen Controller erkennen
Ladder diagram.png CC BY-SA 2.5 Programmlogik visualisieren
Digital Signal Square Wave.svg CC BY-SA 4.0 Signalflanken und Zeitverlauf
Git operations.svg CC BY 3.0 und GFDL Versionsoperationen visualisieren
Git data flow.png CC BY-SA 3.0 Datenfluss bei Versionierung
Conveyor belt moves material in a factory.jpg CC BY 2.0 Ausbildungsfall Fördertechnik

Die eingebetteten YouTube-Videos wurden über vorhandene YouTube-Seiten geprüft. Die Rechte verbleiben bei den jeweiligen Rechteinhabern; die Einbindung erfolgt über den YouTube-Player.


OERs zum Thema



Verknüpfte Lernbereiche


aiMOOC-Projekte

MOOCwiki · Deutsch

Nach dem Lernen ist vor dem Lernen

Entdecke direkt den nächsten Lernkurs. Weitere Inhalte erscheinen, wenn Du weiter nach unten scrollst.

Zur MOOCwiki-Hauptseite

Mediathek

Inhalte werden geladen ...

Mediathek wird aus dem Wiki geladen ...