System- und Programmentwurf für speicherprogrammierbare Steuerungen (SPS)

Die Automatisierung technischer Prozesse erfolgt heutzutage fast durchgängig rechnergestützt. Speicherprogrammierbare Steuerungen (SPS) sind spezielle Automatisierungsrechner, die das Einlesen von Sensordaten und das Ausgeben von Stellwerten an Aktoren, wie Motoren oder Ventile, unterstützen. SPSen werden vom PC aus programmiert. Ihre Daten können zur Bedienung und Beobachtung der automatisierten Anlage im PC visualisiert werden. Die Einsatzgebiete von speicherprogrammierbare Steuerungen liegen vor allem in der Fabrik- und Prozessautomatisierung.


Die Software für solch komplexe Anlagen wird meist objektorientiert strukturiert, indem wiederverwendbare Funktionsbausteine als Klassen für die wichtigsten Gerätetypen der Sensorik und Aktorik entwickelt werden. Die Verknüpfung der Funktionsbausteine erfolgt entweder durch eine kontinuierlich von der SPS abgearbeitete Verknüpfungslogik oder eine Ablaufkette, die die Sensoren und Aktoren gemäß dem gewünschten Prozessablauf schrittweise ansteuert. 


Heutzutage können auch die objektorientierten Programmiermöglichkeiten, wie Methoden und Eigenschaften, Interfaces, Vererbung und Polymorphismus, genutzt werden, um die SPS-Software noch anwenderfreundlicher zu gestalten.

1 Einführung
1.1 Entwicklung der Automatisierungstechnik
1.2 Automatisierungssysteme                           
1.3 Aufgaben in der Industrie 4.0                         
      1.3.1 Messen, Steuern, Regeln und Überwachen             
      1.3.2 Auswerten und Planen im Industrial Internet of Things
      1.3.3 Virtualisierung und Testen mit digitalem Zwilling

2 Aufbau von Steuerungen für die Industrie 4.0
2.1 SPS-Aufbau                           
      2.1.1 Zentralbaugruppe                          
      2.1.2 Peripheriebaugruppen                        
      2.1.3 Programmiergerät                         
      2.1.4 Human Machine Interface                      
      2.1.5 Vernetzte Automatisierungssysteme                
2.2 SPS-Arten und IoT-Geräte                     
      2.2.1 Hardware-SPS                            
      2.2.2 Slot-SPS                             
      2.2.3 Soft-SPS                                
      2.2.4 Vor- und Nachteile PC-basierter SPSen              
      2.2.5 Edge-Controller und IoT-Gateways                 
      2.2.6 Hochverfügbare und fehlersichere SPSen             
2.3 Informationsverarbeitung in der SPS                    
2.4 Ein- und Ausgangsbaugruppen der SPS                  
      2.4.1 Digitale Eingangsbaugruppen                    
      2.4.2 Digitale Ausgangsbaugruppen                    
      2.4.3 Analoge Eingangsbaugruppen                    
      2.4.4 Analoge Ausgangsbaugruppen                    
      2.4.5 Schnelle Zählerbaugruppen                     
      2.4.6 Pulsausgabe-Baugruppen                      
2.5 Ankopplung der Sensoren und Aktoren an die SPS            
      2.5.1 Zwei-/Vierleitertechnik                      
      2.5.2 Busankopplung der Feldgeräte                   
      2.5.3 Intelligenter Feldverteiler (Remote-I/O)             
2.6 Industrielle Feldbussysteme                         
      2.6.1 Übertragungsmedien                         
      2.6.2 Datenübertragung durch das Master-Slave-Verfahren      
      2.6.3 Ethernet-basierte Feldbusse                 
2.7 Bedienen und Beobachten                          
      2.7.1 Elemente der Prozessvisualisierung                 
      2.7.2 Datenaustausch zwischen HMI und SPS              
      2.7.3 Ankopplung der Prozessvisualisierung an SPSen         
      2.7.4 Prozessleitsysteme                          

3 Modulare SPS-Programmierung nach IEC 61131
3.1 Softwaremodell                                
      3.1.1 Steuerungskonfiguration und Ressourcen              
      3.1.2 Variablen                               
      3.1.3 Tasks                                 
      3.1.4 Programmorganisationseinheiten                  
      3.1.5 Funktionen        
      3.1.6 Funktionsbausteine                       
      3.1.7 Instanziierung von Funktionsbausteinen in Programmen     
3.2 Kommunikationsmodell                           
      3.2.1 Datenaustausch innerhalb eines Programms         
      3.2.2 Datenaustausch zwischen Programmen           
3.3 Programmiermodell                          
      3.3.1 SPS-Programmiersprachen                     
      3.3.2 Anweisungsliste (AWL)     
      3.3.3 Strukturierter Text (ST)                
      3.3.4 Funktionsbausteinsprache (FUP)         
      3.3.5 Kontaktplan (KOP)                      
      3.3.6 Ablaufsprache (AS)                 
      3.3.7 Anwender-Datentypen           

4 Entwurf von Verknüpfungssteuerungen
4.1 SPS-Software-Engineering                          
      4.1.1 Analyse der User-Requirements                 
      4.1.2 Objektorientierte Softwarestrukturierung          
      4.1.3 Entwurf der Feldgeräteklassen         
      4.1.4 Entwurf der Ansteuerprogramme            
      4.1.5 Implementierung in der SPS             
      4.1.6 Simulation und virtuelle Inbetriebnahme        
4.2 Entwurf der Verknüpfungslogik                 
      4.2.1 Entwurf von Schaltnetzen               
      4.2.2 Entwurf von Schaltwerken            
4.3 Ansteuerung der Sensorik und Aktorik             
      4.3.1 Funktionsbausteine zum Einlesen von Sensordaten      
      4.3.2 Funktionsbausteine zum Ansteuern von Motoren    
      4.3.3 Funktionsbausteine zum Ansteuern von Ventilen  
      4.3.4 Schutzfunktionen
      4.3.5 Betriebsarten   
4.4 Regelungen                                  
      4.4.1 Schaltende Regler                         
      4.4.2 Reglerbetriebsarten           
      4.4.3 Kontinuierliche Regler                   

5 Entwurf von Ablaufsteuerungen 
5.1 Entwurf aus Zustandsfolge
5.2 Entwurf aus zeitlicher Abfolge
5.3 Modellierung durch Fluss- oder Aktivitätsdiagramm  
5.4 Programmierung industrieller Abläufe    
      5.4.1 Verknüpfung von CFCs und SFCs       
      5.4.2 Schutzfunktionen und Betriebsarten
5.5 Modellierung durch anlagenneutrale Grundfunktionen    
      5.5.1 Prozessanalyse    
      5.5.2 Entwurf anlagenneutraler Grundfunktionen
      5.5.3 Zusammensetzung der Ablaufsteuerung   

6 Objektorientierte SPS-Programmierung
6.1 Klassen und Objekte                        
6.2 Interfaces als abstrakte Klassen         
6.3 Einsatz von Methoden und Eigenschaften      
6.4 Vererbung    
6.5 Objektorientierte Ansteuerung der Feldgeräte   
      6.5.1 Ablaufsteuerungen mit Methoden und Eigenschaften    
      6.5.2 Polymorphe Ansteuerung durch Schnittstellen    
      6.5.3 Anlagenneutrale Ablaufsteuerung                  

7. Zusammenfassung

Die Kapitel 1-6 sind ausführlich beschrieben in: M. Seitz: "Speicherprogrammierbare Steuerungen in der Industrie 4.0", Hanser Verlag, 2021.

Zentraler Bestandteil der Lehrveranstaltung ist die praktische Umsetzung der in der Vorlesung behandelten Themen durch folgende Laborübungen:

  1. Strukturierte Programmierung nach IEC 61131
    Programmierung eines fertigungstechnischen Anlagenmodells mit Simulation in CoDeSys (als Hausarbeit)
  2. Bedienen und Beobachten mit Einstieg in Step 7
    Programmierung einer Siemens S7 im TIA-Portal zur Steuerung eines Förderbandes und OPC-Kopplung des Prozessvisualisierungssystems Intouch von Wonderware
  3. Automatenentwurf für sequenzielle Steuerungen
    Programmierung eines verfahrenstechnischen Anlagenmodells mit Simulation in CoDeSys (als Hausarbeit)
  4. Betriebsarten, Analogwertverarbeitung und Regelungen
    Programmierung einer ABB AC500 mit CoDeSys zur Erweiterung der Förderbandautomatisierung
  5. Ablaufsteuerungen
    Programmierung einer Siemens S7-Steuerung im TIA-Portal mit WinCC zur Erweiterung der Förderbandautomatisierung