Automatisierungstechnik I

Größe: px
Ab Seite anzeigen:

Download "Automatisierungstechnik I"

Transkript

1 Universität Stuttgart Institut für Automatisierungs- und Softwaretechnik Prof. Dr.-Ing. M. Weyrich Automatisierungstechnik I Sommersemester , IAS Universität Stuttgart 1

2 Ansprechpartner für Automatisierungstechnik I Bei organisatorischen Fragen zur oder bei Problemen mit dem Ablauf der Vorlesung Automatisierungstechnik I wenden Sie sich bitte an: Farzan Yazdi, M.Sc. Zimmer: (Pfaffenwaldring 47, 1. Stock am IAS) Tel.: , IAS Universität Stuttgart 2

3 Unterlagen Skript Automatisierungstechnik I Blaue Texte zum Mitschreiben (im Skript nicht enthalten) Live-Mitschriebe (leere Folien im Skript für Mitschrieb vorgesehen) Fragen am Ende jedes Unterkapitels - Antwort zum Mitschreiben Vorbereitungsfragen am Ende jedes Kapitels zur selbstständigen Rekapitulation des Stoffes Vorlesungsportal im Internet unter: Aktuelle Informationen zur Vorlesung Vollständige Vorlesungsunterlagen Übungsunterlagen Aufgaben mind. eine Woche vor Übungstermin Lösungen nach dem Übungstermin Prüfungsunterlagen Musterlösungen am Institut und auf der Vorlesungs-CD erhältlich Lecturnity-Aufzeichnungen von Vorlesungen und Übungen 2015, IAS Universität Stuttgart 3

4 MOFIAS: Mobiles Online-Feedback-System für Lehrveranstaltungen am IAS MOFIAS ist eine plattformunabhängige Web-App für Smartphones. IAS-Studierende können nun live während einer Vorlesung über das Smartphone mit dem Dozenten interagieren. Folgende Funktionen sind verfügbar: Fragen / Kommentare an Dozenten senden Geschwindigkeit der Vorlesung beeinflussen Fragen zum Kapitel beantworten Die Vorlesung bewerten Video: MOFIAS Zugriff über: 2015, IAS Universität Stuttgart 4

5 Live-Stream: Das Beamerbild und der Ton zu dieser Vorlesung werden, während die Vorlesung stattfindet, live ins Internet übertragen. Wir empfehlen den VLC-Player zur Wiedergabe des Streams. Fragen / Kommentare an Dozenten können von zu Hause versendet werden. Zugriff über: 2015, IAS Universität Stuttgart 5

6 Literatur Rudolf Lauber, Peter Göhner: Prozessautomatisierung I 3. Auflage Springer-Verlag Berlin Heidelberg 1999 ISBN X Preis: 49,95 EUR 2015, IAS Universität Stuttgart 6

7 Vorlesungstermine Nr. Termin Thema der Vorlesung Was heißt Automatisierungstechnik? 2* Was heißt Automatisierungstechnik? Was heißt Automatisierungstechnik? / Automatisierungsgerätesysteme und -strukturen 4* Automatisierungsgerätesysteme und -strukturen Prozessperipherie 6* Prozessperipherie Kommunikationssysteme 8* Kommunikationssysteme Echtzeit-Programmierung Echtzeit-Programmierung Echtzeit-Betriebssysteme 12* Echtzeit-Betriebssysteme 13* Programmiersprachen für die Automatisierungstechnik Programmiersprachen für die Automatisierungstechnik (*) Vorlesung anstatt Übung 2015, IAS Universität Stuttgart 7

8 Übungstermine Nr. Termin Thema Feldbussysteme (CAN-Bus) Feldbussysteme (PROFIBUS) 3* Prozesssignalerfassung 4* Scheduling 5* Scheduling Semaphoren 7* Schedulability-Test Mini-Betriebssystem 1 9* Mini-Betriebssystem Mini-Betriebssystem 3 11* SPS SPS 13* Prüfungsaufgaben (*) Übung anstatt Vorlesung 2015, IAS Universität Stuttgart 8

9 Schwerpunkte der Vorlesung 2015, IAS Universität Stuttgart 9

10 Bezug zu anderen Vorlesungen der Fakultät: Grundkenntnisse für Automatisierungstechnik II Automatisierungstechnik I Vertiefung einzelner Themen in Technische Informatik II Communication Networks I Networks and Processes Grundkenntnisse aus Informatik II Grundlagen der Softwaretechnik Höhere Mathematik I Softwaretechnik I Technische Informatik I Real Time Programming Introduction to Distributed Systems 2015, IAS Universität Stuttgart 10

11 Inhaltsverzeichnis (1) 1 Was heißt Automatisierungstechnik? 1.1 Definition einiger Grundbegriffe 1.2 Automatisierungsgrad und Rechner-Einsatzarten 1.3 Automatisierung technischer Produkte und technischer Anlagen 1.4 Bestandteile eines automatisierten Gesamtsystems 1.5 Ebenen der Prozessführung und Automatisierungsfunktionen 1.6 Technische Systeme 1.7 Auswirkungen der Automatisierungstechnik auf Mensch, Gesellschaft und Umwelt 2 Automatisierungsgerätesysteme und -strukturen 2.1 Automatisierungscomputer 2.2 Automatisierungs-Strukturen 2.3 Automatisierungs-Hierarchien 2.4 Verteilte Automatisierungssysteme 2.5 Automatisierungsstrukturen mit Redundanz 3 Prozessperipherie 3.1 Schnittstellen zwischen technischem Prozess und Automatisierungs-Computersystem 3.2 Sensoren und Aktoren 3.3 Eingabe von binären und digitalen Signalen 3.4 Ausgabe von binären und digitalen Signalen 3.5 Eingabe von analogen Signalen 3.6 Ausgabe von analogen Signalen , IAS Universität Stuttgart 11

12 Inhaltsverzeichnis (2) 4 Kommunikationssysteme 4.1 Kommunikationssysteme in der Automatisierungstechnik 4.2 Bedeutende Kommunikations- bzw. Feldbussysteme 4.3 Industrial Ethernet 4.4 Drahtlose Kommunikation 5 Echtzeit-Programmierung 5.1 Problemstellung 5.2 Echtzeit-Programmierverfahren 5.3 Rechenprozesse 5.4 Zeitliche Koordinierung von Rechenprozessen 5.5 Kommunikation zwischen Rechenprozessen 5.6 Scheduling-Verfahren 6 Echtzeit-Betriebssysteme 6.1 Begriffsbestimmung 6.2 Organisationsaufgaben eines Echtzeit-Betriebssystems 6.3 Entwicklung eines Mini-Echtzeit-Betriebssystems 6.4 Software-Systementwurf des Mini-Echtzeit-Betriebssystems 6.5 Beispiele für Echtzeit-Betriebssysteme 6.6 Prozessoren mit mehreren Kernen , IAS Universität Stuttgart 12

13 Inhaltsverzeichnis (3) 7 Programmiersprachen für die Automatisierungstechnik 7.1 Grundbegriffe 7.2 Programmierung von speicherprogrammierbaren Steuerungen (SPS) 7.3 Universelle Programmiersprachen für die Automatisierungstechnik 7.4 Konzepte der Parallelprogrammierung , IAS Universität Stuttgart 13

14 Kapitel 1: Was heißt Automatisierungstechnik? 1 Was heißt Automatisierungstechnik? Lernziele: Wissen, was Automatisierungstechnik ist Verstehen, was ein Echtzeitsystem ist Wissen, was man unter Automatisierungsgrad versteht und welche Bedeutung er besitzt Unterschiedliche Rechner-Einsatzarten unterscheiden können Zwischen Produktautomatisierung und Anlagenautomatisierung unterscheiden können Die Bestandteile eines Automatisierungssystems kennen Die unterschiedlichen Ebenen eines Automatisierungssystems und ihre Anforderungen kennen Vorgänge klassifizieren können Sich der Verantwortung als Automatisierungsingenieur bewusst werden 2015, IAS Universität Stuttgart 14

15 1 Was heißt Automatisierungstechnik? 1.1 Definition einiger Grundbegriffe 1.2 Automatisierungsgrad und Rechner-Einsatzarten 1.3 Automatisierung technischer Produkte und technischer Anlagen 1.4 Bestandteile eines automatisierten Gesamtsystems 1.5 Ebenen der Prozessführung und Automatisierungsfunktionen 1.6 Technische Systeme 1.7 Auswirkungen der Automatisierungstechnik auf Mensch, Gesellschaft und Umwelt 2015, IAS Universität Stuttgart 15

16 Quelle: VDI - Automation 2020 (Juni 2009) Kapitel 1: Was heißt Automatisierungstechnik? Wirtschaftliche Bedeutung der Automatisierung 228 Mrd. EUR Gesamtvolumen (2006) für die elektrische Automation in Energie-, Verfahrens- und Fertigungstechnik Herstellung Automatisierung (2006) Anwendung Automatisierung (2006) Deutschland hat den größten Anteil am Export von Automatisierungsprodukten 9% des Weltmarktes der Automation kommt in Deutschland zum Einsatz Exportquote beträgt 77% 2015, IAS Universität Stuttgart 16

17 1.1 Definition einiger Grundbegriffe Technischer Definition 1: Prozess Definition 1 Ein technischer Prozess ist ein Vorgang, durch den Materie, Energie oder Information in ihrem Zustand verändert wird. Diese Zustandsänderung kann beinhalten, dass ein Anfangszustand in einen Endzustand überführt wird. Anfangszustand von Materie, Energie oder Information TECHNISCHER PROZESS in einem technischen System Endzustand von Materie, Energie oder Information Technischer Prozess bedeutet Materie-, Energie- oder Informationsfluss. 2015, IAS Universität Stuttgart 17

18 1.1 Definition einiger Grundbegriffe Beispiele Anfangszustand Technischer Prozess Technisches System Endzustand niedrige Raumtemperatur Beheizung eines Wohnhauses Ölheizungsanlage erhöhte Raumtemperatur verschmutzte Wäsche Waschvorgang Waschmaschine saubere Wäsche unsortierte Pakete Transport- und Verteilvorgänge Paketverteilanlage nach Zielorten sortierte Pakete fossile oder Kernbrennstoffe Energie-Umwandlungs- und Erzeugungsvorgänge Kraftwerk elektrischer Strom einzulagernde Teile Lagervorgänge Hochregallager zu Kommissionen zusammengestellte Teile Zug in Ort A Verkehrsablauf Zug Zug in Ort B monomerer Stoff Chemische Reaktionen chemischer Reaktor polymerer Stoff ungeprüftes Gerät Prüfabläufe Prüffeld geprüftes Gerät Teile ohne Bohrung Bohrvorgang Bohrmaschine Teile mit Bohrung Schadstoffe in der Luft Schadstoffüberwachung System zur Schadstoffüberwachung der Luft Informationen über Schadstoffkonzentrationen werden in der Überwachungszentrale angezeigt 2015, IAS Universität Stuttgart 18

19 1.1 Definition einiger Grundbegriffe Definition Technischer 2: DIN Prozess Definition 2 Ein Prozess ist eine Gesamtheit von aufeinander einwirkenden Vorgängen in einem System, durch die Materie, Energie oder Information umgeformt oder gespeichert werden. Ein technischer Prozess ist ein Prozess, dessen physikalische Größen mit technischen Mitteln erfasst und beeinflusst werden. Einflussgrößen Ergebnisgrößen Materie-, Energie- oder Informationszufluss TECHNISCHER PROZESS in einem technischen System Materie-, Energie- oder Informationsabfluss einfach bis sehr komplex unterschiedliche Teilprozesse werden zu einem Gesamtprozess vereinigt 2015, IAS Universität Stuttgart 19

20 1.1 Definition einiger Grundbegriffe Technisches System mit technischem Prozess Stellsignale Mess- Signale Materie-, Energieoder Informationszufluss Technisches System ( Gerät, Maschine oder technische Anlage) Materie-, Energieoder Informationsabfluss Informationen zur Prozessbeeinflussung Prozessergebnis- Informationen Prozesseingangsgrößen Technischer Prozess Prozessausgangsgrößen 2015, IAS Universität Stuttgart 20

21 1.1 Definition einiger Grundbegriffe Beispiel Stellsignale Technische Anlage Mess-Signale Stoff A Stoff B Stoff C Technischer Prozess Zuführen Stoff A Zuführen Stoff B Füllen Reaktion Entleeren Abführen des Reaktionsprodukts Stoff C technische Anlage: chemischer Reaktor technischer Prozess: 3 Teilprozesse (Füllen, Reaktion, Entleeren) 2015, IAS Universität Stuttgart 21

22 1.1 Definition einiger Grundbegriffe Automatisierungstechnik = Automatisierung technischer Prozesse Automatisiertes Gesamtsystem = technisches System mit technischem Prozess + Automatisierungssystem + Bedienpersonal 2015, IAS Universität Stuttgart 22

23 1.1 Definition einiger Grundbegriffe Aufbau eines automatisierten Gesamtsystems Prozessbeeinflussung Menschen (Personal) zur Leitung und Bedienung des technischen Prozesses sowie zum Eingreifen in Ausnahmesituationen Prozessergebnis Automatisierungssystem (beinhaltet z. B. speicherprogrammierbare Steuerungen (SPS), Industrie-PCs, Mikrocontroller, Bussysteme) Signale zur Steuerung des technischen Prozesses Signale aus dem technischen Prozess Technisches System (technisches Produkt oder technische Anlage), in welchem ein technischer Prozess abläuft 2015, IAS Universität Stuttgart 23

24 1.1 Definition einiger Grundbegriffe Automatisierungssystem Zielvorstellung ist Automatisierung der Vorgänge des technischen Prozesses mit Hilfe von Informationsverarbeitungseinheiten Mensch gibt nur noch Wünsche an das Betriebsergebnis vor Prozessleitsystem Zielvorstellung ist Leitung des Ablaufs des technischen Prozesses durch den Menschen, wobei er durch den automatisierten Ablauf einzelner Vorgänge unterstützt wird Leiten bedeutet Steuern und Regeln Prozessinformatik Zielvorstellung ist Automatisierungssoftwaresystem Echtzeitsystem 2015, IAS Universität Stuttgart 24

25 1.1 Definition einiger Grundbegriffe Definition: Echtzeitbetrieb - (DIN 44300) Echtzeitbetrieb ist der Betrieb eines Rechnersystems, bei dem Programme zur Verarbeitung anfallender Daten ständig betriebsbereit sind, derart, dass die Verarbeitungsergebnisse innerhalb einer vorgegebenen Zeitspanne verfügbar sind. Die Daten können je nach Anwendungsfall nach einer zufälligen, zeitlichen Verteilung oder zu bestimmten Zeitpunkten auftreten. Eigenschaften eines Echtzeitsystems Hardware / Softwaresystem Datenempfang, Datenverarbeitung, Weitergabe der Daten innerhalb der definierten Zeitspanne externe Ereignisse Priorisierung der Bearbeitung 2015, IAS Universität Stuttgart 25

26 1.1 Definition einiger Grundbegriffe Anforderungen an Echtzeitsysteme Rechtzeitigkeit zur richtigen Zeit reagieren Gleichzeitigkeit auf mehrere Dinge gleichzeitig reagieren Verlässlichkeit zuverlässig, sicher, verfügbar Vorhersehbarkeit alle Reaktionen müssen planbar und deterministisch sein 2015, IAS Universität Stuttgart 26

27 1.1 Definition einiger Grundbegriffe Automatisiertes Gesamtsystem als Echtzeitsystem Uhrzeit Mensch Uhrzeit äußere Einflüsse Automati- sierungs- system Sensorsignale Steuersignale Technischer Prozess in einer technischen Anlage 2015, IAS Universität Stuttgart 27

28 1.1 Definition einiger Grundbegriffe Eigenschaften von Automatisierungscomputern In einem Automatisierungssystem einsetzbare Rechner sind frei programmierbare Digitalrechner (Computer), die vor allem 3 Eigenschaften aufweisen müssen: Erfüllung der Echtzeitbetrieb-Anforderungen, d.h. zeitgerechte Erfassung, Verarbeitung und Ausgabe von Prozessdaten Möglichkeiten zur Ein-/Ausgabe von Prozess-Signalen (direkt oder über Kommunikationssystem) zur Prozessankopplung effektive Verarbeitung von Zahlen, Zeichen und Bits Video: Automatisierungstechnik Was ist das? 2015, IAS Universität Stuttgart 28

29 1.1 Definition einiger Grundbegriffe Frage zu Kapitel 1.1 In der Automatisierungstechnik ist neben der Richtigkeit der Daten auch deren zeitliches Auftreten von größter Bedeutung. Welchen der nachfolgenden Aussagen stimmen Sie zu? Antwort Zu frühe Daten sind falsche Daten Zu späte Daten sind falsche Daten Schnellstmögliche Daten sind richtige Daten Rechtzeitige und exakte Daten sind falsche Daten Keine Daten sind so fatal wie falsche Daten 2015, IAS Universität Stuttgart 29

30 1 Was heißt Automatisierungstechnik? 1.1 Definition einiger Grundbegriffe 1.2 Automatisierungsgrad und Rechner-Einsatzarten 1.3 Automatisierung technischer Produkte und technischer Anlagen 1.4 Bestandteile eines automatisierten Gesamtsystems 1.5 Ebenen der Prozessführung und Automatisierungsfunktionen 1.6 Technische Systeme 1.7 Auswirkungen der Automatisierungstechnik auf Mensch, Gesellschaft und Umwelt 2015, IAS Universität Stuttgart 30

31 1.2 Automatisierungsgrad und Rechner-Einsatzarten Automatisierungsgrad Der Sinn und Nutzen einer Automatisierung hängt vom technischen Prozess (zugänglich / unzugänglich) und den Rahmenbedingungen (wirtschaftlich sinnvoll / unsinnig) ab. Der Automatisierungsgrad beschreibt den Umfang der in die Automatisierung einbezogenen Vorgänge. Bandbreite: Rechnereinsatzarten keine Automatisierung - vollautomatischer Betrieb Vorsicht! - Auch bei vollautomatischem Betrieb kann der Mensch Eingriffe vornehmen! off-line-betrieb (Betrieb mit indirekter Prozesskopplung) mit dem geringsten Automatisierungsgrad online-/open-loop-betrieb (offen prozessgekoppelter Betrieb) für einen mittleren Automatisierungsgrad online-/closed-loop-betrieb (geschlossener prozessgekoppelter Betrieb) für einen hohen Automatisierungsgrad 2015, IAS Universität Stuttgart 31

32 1.2 Automatisierungsgrad und Rechner-Einsatzarten Betrieb ohne Rechnereinsatz Betriebsleitung Aufträge Betriebsabrechnung Betriebsprotokoll Anwendungen für die Prozessführung 2015, IAS Universität Stuttgart 32

33 1.2 Automatisierungsgrad und Rechner-Einsatzarten Off-line-Betrieb (indirekt gekoppelt) Eingabe, Betriebsarten, Anweisungen Betriebsleitung Aufträge Eingaben des Betriebsprotokolls Off-line- Rechner Betriebsprotokoll Anweisungen für die Prozessführung 2015, IAS Universität Stuttgart 33

34 1.2 Automatisierungsgrad und Rechner-Einsatzarten On-line-/Open-loop-Betrieb eines Rechnersystems Betriebsüberwachung Betriebsleitung Aufträge Betriebsprotokoll Warte Anweisungen 2015, IAS Universität Stuttgart 34

35 1.2 Automatisierungsgrad und Rechner-Einsatzarten On-line-/closed-loop-Betrieb eines Rechnersystems Betriebsleitung und Überwachung Aufträge Betriebsprotokoll Automatisierungssystem Notinstrumente Notsteuerung Technische Anlage 2015, IAS Universität Stuttgart 35

36 1.2 Automatisierungsgrad und Rechner-Einsatzarten Frage zu Kapitel 1.2 Es können drei Arten des Rechnereinsatzes unterschieden werden. Welchen der nachfolgenden Aussagen stimmen Sie zu? Antwort Off-line-Betrieb hat den höchsten Automatisierungsgrad. On-line- / closed-loop-betrieb erfordert eine große Anzahl an Betriebspersonal. On-line- / open-loop-betrieb ist am Besten für einen mittleren Automatisierungsgrad geeignet. Im Fall des Off-line-Betriebs kann der Computer zur Unterstützung für Berechnungen und Analysen eingesetzt werden. 2015, IAS Universität Stuttgart 36

37 1 Was heißt Automatisierungstechnik? 1.1 Definition einiger Grundbegriffe 1.2 Automatisierungsgrad und Rechner-Einsatzarten 1.3 Automatisierung technischer Produkte und technischer Anlagen 1.4 Bestandteile eines automatisierten Gesamtsystems 1.5 Ebenen der Prozessführung und Automatisierungsfunktionen 1.6 Technische Systeme 1.7 Auswirkungen der Automatisierungstechnik auf Mensch, Gesellschaft und Umwelt 2015, IAS Universität Stuttgart 37

38 1.3 Automatisierung technischer Produkte und technischer Anlagen Produktautomatisierung Automatisierte Gesamtsysteme, bei denen der technische Prozess in einem Gerät oder einer einzelnen Maschine abläuft. Anlagenautomatisierung Automatisierte Gesamtsysteme, bei denen der technische Prozess aus einzelnen Teilvorgängen (Teilprozessen) besteht, die auf größeren, z.t. auch räumlich ausgedehnten technischen Anlagen ablaufen. 2015, IAS Universität Stuttgart 38

39 Anlagenautomatisierung Produktautomatisierung 1.3 Automatisierung technischer Produkte und technischer Anlagen Beispiele Photoapparate Navigationssysteme Telefon, Anrufbeantworter TV-, Radio-, CD/DVD-Geräte Küchengeräte (z.b. Geschirrspülmaschine, Mikrowellengerät) Waschmaschine Werkzeugmaschinen Messgeräte Kraftfahrzeug (mit den Sub-Systemen Motorsteuerung, ABS, ESP, Navigation) Bahnsysteme (Weitverkehrszüge, Lokomotiven, S-/U-Bahnzüge) Kraftwerke Energieverteilungsnetz, Gasversorgung Wasserreinigung und -Versorgung Chemische Reaktoren Verfahrenstechnische Anlagen Alarmanlagen Heizung Ampelanlagen Gebäudetechnische Anlagen Logistikanlagen (Hochregallager, Paket-, Gepäckförderanlagen) Fertigungstechnische Anlagen 2015, IAS Universität Stuttgart 39

40 1.3 Automatisierung technischer Produkte und technischer Anlagen Kennzeichnende Kriterien bei der Produktautomatisierung Technischer Prozess in einem Gerät oder einer Maschine Dedizierte Automatisierungsfunktionen Automatisierungscomputer in Form von Mikrocontrollern oder SPS Wenige Sensoren und Aktoren Automatisierungsgrad 100%, on-line/closed-loop Betrieb Sehr große Stückzahlen (Serien- oder Massenprodukte) Engineering- und Softwarekosten spielen eine untergeordnete Rolle, da sie durch die Stückzahl zu dividieren sind 2015, IAS Universität Stuttgart 40

41 Stellgrößen Prozessergebnisse Sollwerte Anzeigen 1.3 Automatisierung technischer Produkte und technischer Anlagen Struktur bei einer einfachen Produktautomatisierung Benutzer bzw. Bediener Mikrocontroller Technisches Produkt 2015, IAS Universität Stuttgart 41

42 1.3 Automatisierung technischer Produkte und technischer Anlagen Beispiel für die Produktautomatisierung Benutzer bzw. Bediener Waschprogramm, Schleuder-Drehzahl LCD (Waschzeit, Bedienhinweise) Motordrehzahl, Heizstabansteuerung Mikrocontroller (z.b. Infineon TriCore TC1130) Temperaturwert, Drehzahl Waschmaschine 2015, IAS Universität Stuttgart 42

43 1.3 Automatisierung technischer Produkte und technischer Anlagen Struktur bei einer komplexen Produktautomatisierung Benutzer bzw. Bediener Bus-System Mikrocontroller Mikrocontroller 1 Mikrocontroller 2 Mikrocontroller n Teilsystem 1 Teilsystem 2 Teilsystem n Technisches Produkt 2015, IAS Universität Stuttgart 43

44 1.3 Automatisierung technischer Produkte und technischer Anlagen Kennzeichnende Kriterien bei der Anlagenautomatisierung Technischer Prozess in einer -oft räumlich ausgedehnten- industriellen Anlage Umfangreiche und komplexe Automatisierungsfunktionen SPS-, PC- oder Prozessleitsysteme als Automatisierungs- Computersysteme Sehr viele Sensoren und Aktoren Mittlerer bis hoher Automatisierungsgrad Einmal-Systeme Die Engineering- und Softwarekosten sind für die Gesamtkosten entscheidend Video: Automatisierte Abfüllanlage 2015, IAS Universität Stuttgart 44

45 1.3 Automatisierung technischer Produkte und technischer Anlagen Struktur für eine größere technische Anlage Fabrik-Bus Leit- Rechner Beobachtung, Bedienung, Protokollierung PC PC Ebene 3 Anlagen-Bus Ebene 2 SPS SPS SPS Feldbus Feldbus Ebene 1 Technische Anlage Teilanlage Teilanlage Teilanlage 2015, IAS Universität Stuttgart 45

46 Bildquelle: Internet 1.3 Automatisierung technischer Produkte und technischer Anlagen Zukunft der Produktautomatisierung Ubiquitous Computing 1991 Mark Weiser UNIVERSITY OF MARYLAND The Computer For the 21st Century 2006 Edward Lee BERKELEY UNIVERSITY OF CALIFORNIA NSF Workshop Cyber-Physical Systems Mark Weiser 1991: (Personal) Computer werden als einzelne Geräte verschwinden und durch intelligente Gegenstände ersetzt werden Definition: Ein cyber-physisches System [...] bezeichnet den Verbund informatischer, softwaretechnischer Komponenten mit mechanischen und elektronischen Teilen, die über eine Dateninfrastruktur [...] kommunizieren. [...] Die Ausbildung von cyberphysischen Systemen entsteht aus der Vernetzung eingebetteter Systeme durch [...] Kommunikationsnetze. -- Wikipedia DE, , IAS Universität Stuttgart 46

47 1.3 Automatisierung technischer Produkte und technischer Anlagen Frage zu Kapitel 1.3 In einem Betrieb soll die Herstellung von Kühlschränken automatisiert werden. Dazu wird eine neue Montagestraße eingeführt. In dieser Montagestraße wird das Kühlmittel eingefüllt und die Rückwand verschraubt. Um welche Art von Automatisierung handelt es sich? Antwort 2015, IAS Universität Stuttgart 47

48 1 Was heißt Automatisierungstechnik? 1.1 Definition einiger Grundbegriffe 1.2 Automatisierungsgrad und Rechner-Einsatzarten 1.3 Automatisierung technischer Produkte und technischer Anlagen 1.4 Bestandteile eines automatisierten Gesamtsystems 1.5 Ebenen der Prozessführung und Automatisierungsfunktionen 1.6 Technische Systeme 1.7 Auswirkungen der Automatisierungstechnik auf Mensch, Gesellschaft und Umwelt 2015, IAS Universität Stuttgart 48

49 1.4 Bestandteile eines Automatisierungssystems Übersicht 2015, IAS Universität Stuttgart 49

50 1.4 Bestandteile eines automatisierten Gesamtsystems Sensoren Erfassung von Informationen über den Verlauf von Prozessgrößen Messwertgeber, Fühler Umformung in elektrische bzw. optische Signale Aktoren Umsetzung von Steuerungsinformationen zur Beeinflussung von Prozessgrößen Stellglieder 2015, IAS Universität Stuttgart 50

51 Stellgrößen Prozessergebnisse Sollwerte Anzeigen 1.4 Bestandteile eines automatisierten Gesamtsystems Kommunikationssystem bei der Produktautomatisierung einfache Produkte wenig Sensoren und Aktoren kurze Leitungen Benutzer bzw. Bediener Mikrocontroller Technisches Produkt komplexe Produkte Kommunikation zwischen Teilsystemen über Bus-System Beispiele: CAN-Bus, Interbus-S Benutzer bzw. Bediener Bus-System Mikrocontroller Mikrocontroller 1 Mikrocontroller 2 Mikrocontroller n Teilsystem 1 Teilsystem 2 Teilsystem n 2015, IAS Universität Stuttgart 51

52 1.4 Bestandteile eines automatisierten Gesamtsystems Kommunikationssystem bei der Anlagenautomatisierung viele Sensoren und Aktoren weit verteilt viele Automatisierungscomputer weit verteilt zusätzliche Anforderungen: z.b. Eigensicherheit bzgl. Explosionsschutz Kommunikationsaufgaben auf mehreren Ebenen Fabrik-Bus Fabrik-Bus Beobachtung, Bedienung, Leit- Protokollierung Rechner PC PC Ebene 3 Anlagen-Bus (Prozess-Bus) Anlagen-Bus Ebene 2 SPS SPS SPS Feldbussystem (prozessnah) Feldbus Feldbus Ebene 1 Technische Anlage Teilanlage Teilanlage Teilanlage 2015, IAS Universität Stuttgart 52

53 1.4 Bestandteile eines automatisierten Gesamtsystems Automatisierungs-Softwaresystem Menge aller Programme, die zur Ausführung der Automatisierungsaufgaben erforderlich sind, inklusive ihrer Dokumentation Trennung zwischen ausführenden und organisatorischen bzw. verwaltenden Aufgabenbereichen ausführende Programme (Anwendungssoftware) organisierende und verwaltende Programme (Betriebssoftware oder Systemsoftware) 2015, IAS Universität Stuttgart 53

54 B e t r i e b s s y s t e m 1.4 Bestandteile eines automatisierten Gesamtsystems Beispiele ANWENDERPROGRAMME Programme für Prozessgrößen- Erfassung SYSTEMPROGRAMME Programme zur Organisation des Ablaufs der Anwenderprogramme Programme für Prozessüberwachung Programme zur Steuerung der Peripheriegeräte Programme für Prozess- Steuerung Programme zur Organisation des Datenverkehrs mit Externspeichern Programme für Prozess- Regelung Programme für den Dialog Mensch- Rechner Programme für Prozess- Optimierung und -Führung Übersetzungs-Programme Programme für Prozess-Schutz und -Sicherung Laufzeit- Programme 2015, IAS Universität Stuttgart 54

55 1.4 Bestandteile eines automatisierten Gesamtsystems Frage zu Kapitel 1.4 Für den Steuerungsrechner der bereits beschriebenen Montagestraße für Kühlschränke liegen 2 Angebote vor: normaler PC: 3000,- Industrie PC mit gleicher Leistungsfähigkeit: 5000,- Für welchen Rechner würden Sie sich entscheiden? Begründen Sie Ihre Antwort und erklären Sie den preislichen Unterschied. Antwort 2015, IAS Universität Stuttgart 55

56 1 Was heißt Automatisierungstechnik? 1.1 Definition einiger Grundbegriffe 1.2 Automatisierungsgrad und Rechner-Einsatzarten 1.3 Automatisierung technischer Produkte und technischer Anlagen 1.4 Bestandteile eines automatisierten Gesamtsystems 1.5 Ebenen der Prozessführung und Automatisierungsfunktionen 1.6 Technische Systeme 1.7 Auswirkungen der Automatisierungstechnik auf Mensch, Gesellschaft und Umwelt 2015, IAS Universität Stuttgart 56

57 1.5 Ebenen der Prozessführung und Automatisierungsfunktionen Ebenenmodell bei der Führung technischer Prozesse Hierarchie-Ebene Strategische Ebene Dispositive Ebene Taktische Ebene Operative Ebene Ebenen im Vertrieb Langfristige Vertriebspolitik Vertriebs-Planung Vertriebs-Taktik Verkaufshandlungen Ebenen eines produzierenden Unternehmens Unternehmensführung - Ebene Produktions-/ Betriebsleitebene Prozessleitebene Ebene des Messens, Steuerns, Regelns von Prozessgrößen (Prozessgrößenebene) Aktionsfeld Markt Technischer Prozess in einem technischen System 2015, IAS Universität Stuttgart 57

58 1.5 Ebenen der Prozessführung und Automatisierungsfunktionen Anforderungen auf den verschiedenen Ebenen Auswirkungen Unternehmensführungsebene: min MByte Produktions-/Betriebsleitebene: s KByte Prozessleitebene: 0.1 s Byte Prozessgrößenebene: ms Abtast- (Zyklus-)zeit Bit Datenmenge 2015, IAS Universität Stuttgart 58

59 1.5 Ebenen der Prozessführung und Automatisierungsfunktionen Automatisierungsfunktionen Ebenen eines Unternehmens Unternehmensführungs-Ebene Automatisierungsfunktionen Kostenanalysen, statistische Auswertungen Produktions-/ Betriebsleitebene Prozessleitebene Prozessgrößen- Ebene Betriebsablaufplanung Kapazitäts-Optimierung Auswertung der Prozessergebnisse Prozess-Überwachung, An- und Abfahren, Störungsbehandlung, Prozessführung, Prozess-Sicherung Messen, Steuern, Stellen, Regeln, Verriegeln, Not- Bedienen, Abschalten, Schutz Feldebene Erfassung und Beeinflussung von Prozessgrößen mit Sensoren und Aktoren 2015, IAS Universität Stuttgart 59

60 1.5 Ebenen der Prozessführung und Automatisierungsfunktionen Frage zu Kapitel 1.5 Wie verhalten sich die Datenmengen und Zeitanforderungen auf den unterschiedlichen Ebenen der Führung technischer Prozesse? Antwort Kleine Datenmengen werden eher auf den oberen Ebenen ausgetauscht. Auf der Prozessgrößenebene dauert es Minuten, bis sich Eingriffe auswirken. Je tiefer die Ebene, desto kritischer werden die Zeitanforderungen. 2015, IAS Universität Stuttgart 60

61 1 Was heißt Automatisierungstechnik? 1.1 Definition einiger Grundbegriffe 1.2 Automatisierungsgrad und Rechner-Einsatzarten 1.3 Automatisierung technischer Produkte und technischer Anlagen 1.4 Bestandteile eines automatisierten Gesamtsystems 1.5 Ebenen der Prozessführung und Automatisierungsfunktionen 1.6 Technische Systeme 1.7 Auswirkungen der Automatisierungstechnik auf Mensch, Gesellschaft und Umwelt 2015, IAS Universität Stuttgart 61

62 1.6 Technische Systeme Arten von auftretenden Prozessgrößen (1) Prozessgrößen, die dem zeitlichen Verlauf physikalische Zustandsgrößen eines technischen Prozesses zugeordnet werden, kontinuierlicher oder stückweise kontinuierlicher Wertebereich Bsp.: Temperaturen in einem Heizungssystem Prozessgrößen, die einzelnen diskreten Prozesszuständen zugeordnet werden: physikalische Größen mit kontinuierlichem Wertebereich, die die Prozesszustände kennzeichnen, binäre Prozessgrößen, die den Zustandsübergängen, d.h den Ereignissen der Zustandswechsel zugeordnet werden Bsp.: Schalterstellung: 0/off - 1/on 2015, IAS Universität Stuttgart 62

63 1.6 Technische Systeme Arten von auftretenden Prozessgrößen (2) Prozessgrößen, die einzeln identifizierbaren Objekten zugeordnet werden: physikalische Größen mit kontinuierlichem Wertebereich Bsp.: Temperatur einer Bramme im Walzwerk, Abmessungen eines Ersatzteils im Lager nicht-physikalische Größen Bsp.: Typ, Bauart, Verwendungszweck, Lagernummer 2015, IAS Universität Stuttgart 63

64 1.6 Technische Systeme Mögliche Klassifizierungsarten für technische Systeme Klassifizierung nach Art... des dominierenden Vorgangs Dynamischer Prozesse (kontinuierlich, dynamisch), sequenzielle Prozess (ereignisdiskret), Stückgutprozesse (objektbezogen) des umgeformten oder transportierten Mediums Bsp.: Materialprozesse, Energieprozesse, Informationsprozesse der Einwirkung Bsp.: Erzeugungsprozesse, Verteilungsprozesse, Aufbewahrungsprozesse der stofflichen Wandlung Bsp.: verfahrenstechnische / fertigungstechnische Prozesse 2015, IAS Universität Stuttgart 64

65 1.6 Technische Systeme Zuordnung von Vorgangstypen zu Produktionsprozessen Technischer Prozess Typen von Vorgängen energietechnische Prozesse verfahrenstechnische Prozesse fertigungstechnische Prozesse fördertechnische Prozesse kontinuierliche Vorgänge, sequenzielle Vorgänge kontinuierliche Vorgänge, sequenzielle Vorgänge kontinuierliche Vorgänge, sequenzielle Vorgänge, objektbezogene Vorgänge kontinuierliche Vorgänge, sequenzielle Vorgänge, objektbezogene Vorgänge Technische Prozesse können mehrere Vorgänge umfassen, ein Vorgang kann ein technischer Prozess sein. 2015, IAS Universität Stuttgart 65

66 1.6 Technische Systeme Beispiele Erzeugung elektrischer Energie in einem Turbogenerator kontinuierliche Vorgänge Anfahren des Prozesses als sequenzieller Vorgang Chargenprozesse Einzelvorgänge sind kontinuierliche Prozesse Aufeinanderfolge der Einzelvorgänge ist ein sequenzieller Vorgang Herstellung eines Drehteils Transportvorgang eines Rohlings ist ein objektbezogener Vorgang Fertigungsablauf wie Rohling einspannen, Reitstock vorfahren, usw. ist ein sequenzieller Vorgang Zerspanungsvorgang beim Abdrehen ist ein kontinuierlicher Vorgang Video: Automatisierung einer Erdöl-Raffinerie 2015, IAS Universität Stuttgart 66

67 1.6 Technische Systeme Frage zu Kapitel 1.6 Unten abgebildet sehen Sie das Modulare Produktionssystem des IAS. Welche Arten von Vorgängen können Sie in diesem System identifizieren? Antwort 2015, IAS Universität Stuttgart 67

68 1 Was heißt Automatisierungstechnik? 1.1 Definition einiger Grundbegriffe 1.2 Automatisierungsgrad und Rechner-Einsatzarten 1.3 Automatisierung technischer Produkte und technischer Anlagen 1.4 Bestandteile eines automatisierten Gesamtsystems 1.5 Ebenen der Prozessführung und Automatisierungsfunktionen 1.6 Technische Systeme 1.7 Auswirkungen der Automatisierungstechnik auf Mensch, Gesellschaft und Umwelt 2015, IAS Universität Stuttgart 68

69 1.7 Auswirkungen der Automatisierungstechnik auf Mensch, Gesellschaft und Umwelt Beabsichtigte (positive) Auswirkungen einfachere und bequemere Handhabung Automatisierung einer Waschmaschine Automatisierung einer Heizungsanlage Erzeugung besserer, billigerer, gleichmäßiger Produkte mit weniger Arbeitseinsatz Automatisierung chemischer Verfahrensanlagen Verringerung der Gefährdung von Menschen ABS-System Automatisierung Verkehrssysteme, wie induktive Zugsicherung, automatische Schranken Humanisierung von Arbeitsbedingungen Automatisierung Lackiererei, Gießerei Sicherung von Arbeitsplätzen durch Verbesserung der Wettbewerbsfähigkeit Einsatz von Robotern in der Automobil-Fertigung 2015, IAS Universität Stuttgart 69

70 1.7 Auswirkungen der Automatisierungstechnik auf Mensch, Gesellschaft und Umwelt Unbeabsichtigte (negative) Auswirkungen Freisetzen von Arbeitskräften kann zu Arbeitslosigkeit führen Einsatz von Robotern in der Fertigung Berufliche Umstrukturierung von Arbeitsplätzen durch die Veränderung von Arbeitsabläufen und Arbeitsinhalten Niedriger-/Höherqualifizierung von Arbeitsplätzen Wegfall von Hilfsarbeiten Zunahme von Dienstleistungsberufen Verringerung der menschlichen Kontakte Einführung von Fahrkarten- und Auskunftsautomaten Erhöhung des Stresses und Verringerung von entspannenden Tätigkeiten Automatisierung von Prüffeldern Überforderung in schwierigen Situationen sicherheitskritische Entscheidungen in einem Kernkraftwerk 2015, IAS Universität Stuttgart 70

71 Bildquelle: Internet 1.7 Auswirkungen der Automatisierungstechnik auf Mensch, Gesellschaft und Umwelt Diskussion zu Kapitel 1.7 Diskutieren Sie die positiven und negativen Auswirkungen der Automatisierungstechnik auf Mensch, Umwelt und Gesellschaft. 2015, IAS Universität Stuttgart 71

72 Kapitel 1: Vorbereitungsfrage Vorbereitungsfrage zu Kapitel 1 Frage 1: Echtzeitanforderungen (SS 2004) In modernen Automobilen werden viele Funktionen elektronisch realisiert, beispielsweise die Lenkung oder das Bremssystem. Bei der Automatisierung dieser Funktionen treten alle Anforderungen von Echtzeit-Systemen auf, die in der Vorlesung behandelt wurden. Erläutern Sie diese Anforderungen an Hand von Szenarios am Beispiel der oben aufgeführten Funktionen. 2015, IAS Universität Stuttgart 72

73 Kapitel 2: Automatisierungsgerätesysteme und strukturen 2 Automatisierungsgerätesysteme und -strukturen Lernziele: Die unterschiedlichen Automatisierungscomputer kennen Wissen, was das Besondere an der Arbeitsweise einer SPS ist Zwischen zentralen und dezentralen Strukturen unterscheiden können Kombinationen von Automatisierungsstrukturen erkennen können Automatisierungshierarchien und deren Anforderungen kennen Verstehen, was dezentrale Automatisierungssysteme sind Wissen, was die Grundstrukturen der Kommunikation sind Wissen, was man unter Redundanz versteht Arten von Hardware-Redundanz kennen und charakterisieren können Erklären können, was Diversität ist 2015, IAS Universität Stuttgart 73

74 2 Automatisierungsgerätesysteme und -strukturen 2.1 Automatisierungscomputer 2.2 Automatisierungs-Strukturen 2.3 Automatisierungs-Hierarchien 2.4 Verteilte Automatisierungssysteme 2.5 Automatisierungsstrukturen mit Redundanz 2015, IAS Universität Stuttgart 74

75 Bildquellen: Siemens, Raspberry Pi Foundation, Beckhoff, ProLeiT 2.1 Automatisierungscomputer Arten von Automatisierungscomputer Speicherprogrammierbare Steuerungen (SPS) Mikrocontroller Personal Computer (PC) Industrial Personal Computer (IPC) Prozessleitsysteme 2015, IAS Universität Stuttgart 75

76 2.1 Automatisierungscomputer Ziele der Speicherprogrammierbaren Steuerungen (SPS) Zielgruppen Anwender ohne Informatik-Studium "Elektriker" Zielsetzung für den SPS-Einsatz Einsatz von Geräten mit Zertifizierungen (EMV etc.) Proprietärer Hardware mit oft langfristigen Zusagen für die Ersatzteillieferung Zielsetzung für die SPS-Sprachen Verknüpfung binärer Signale in einfachen Darstellungen beschreiben Kontaktplan (abgeleitet aus dem Stromlaufplan) Funktionsplan (abgeleitet aus dem Logikplan) Standardisierung der Entwicklung von SPS-Systemen 2015, IAS Universität Stuttgart 76

77 Quelle: Siemens, Moeller 2.1 Automatisierungscomputer Ausführungsbeispiel SPS Breites Angebot: Je nach Anwendungsfall werden unterschiedliche Konfigurationen von Kompaktgeräten zu modularen Plattformen angeboten SIMATIC S7-400 Moeller PS4-200 SIMATIC S Günstige Kompaktgeräte für kleine Anwendungen mit geringerem Planungsund Entwicklungsaufwand. Jedoch eingeschränkte Leistung mit kleiner Anzahl von Ein-/Ausgängen. Oder, leistungsfähige und modulare Systeme zur individuellen Konfiguration. Nr Baugruppe Typ (z.b.) 1 Netzteil PS A 2 Zentralbaugruppe CPU Analog Eingang 8 x 13 Bit 4 Analog Ausgang 8 x 13 Bit 5 Digital Eingang 32 x DC 24 V 6 Digital Ausgang 32xDC24V / 0,5 A 7 Rack 9 x Steckplatz 77

78 Sensorsignale Aktorsignale 2.1 Automatisierungscomputer Blockschaltbild der Hardwarestruktur einer SPS Steuer- und Rechenwerk Programmspeicher Digitalund Analog- Eingabe interner Bus Digitalund Analog- Ausgabe RAMspeicher Zeitgeber Schnittstelle zum Programmiergerät Der SPS-Hersteller übernimmt die Anpassungsarbeiten zwischen den Modulen der selben Gerätefamilie geheim gehaltenes internes Kommunikationsprotokoll 2015, IAS Universität Stuttgart 78

79 2.1 Automatisierungscomputer Zyklischer Betrieb beim Einsatz einer SPS SPS Prozess abbild im Ausgangsspeicher Automatisierungsprogramm Aktorsignale Technischer Prozess in einem technischen System Prozess abbild im Eingangsspeicher Sensorsignale 2015, IAS Universität Stuttgart 79

80 2.1 Automatisierungscomputer Zyklischer Programmbetriebes bei einer SPS Prozessabbild aus dem Ausgangsspeicher ausgeben Programm abarbeiten Prozessabbild in den Eingangsspeicher laden Reaktionszeit Prozess- Ereignis Reaktion auf das Prozess- Ereignis Beginn des 1. Zyklus Beginn des 2. Zyklus Beginn des 3. Zyklus Beginn des 4. Zyklus 2015, IAS Universität Stuttgart 80

81 2.1 Automatisierungscomputer Eigenschaften des zyklischen Programmbetriebs Vorteil: Nachteil: einfache Programmierung durch zyklische Betriebsweise Reaktionszeit auf Ereignisse im technischen Prozess maximal zwei Programm-Zyklen Programmabarbeitungszeit: 2015, IAS Universität Stuttgart 81

82 2.1 Automatisierungscomputer Ablauf des Programmbetriebes bei einer SPS Abarbeitung Initialisierungs- Programm Prozessabbild in den Eingangsspeicher laden Abarbeitung zyklisches Programm Prozessabbild aus dem Ausgangsspeicher ausgeben Warten auf Zykluszeit Abarbeitung zeitgesteuertes Programm Warten auf Ereignis Abarbeitung ereignisgesteuertes Programm 2015, IAS Universität Stuttgart 82

83 2.1 Automatisierungscomputer Soft- SPS Aufbau: SPS-Laufzeitumgebung auf PC-System Standard- oder Echtzeit-Betriebssystem Prozessankopplung über digitale und analoge Ein- / Ausgänge Prozessankopplung SPS-Programm 1 SPS-Programm n SPS- Laufzeitumgebung Betriebssystem PC-System Anwenderprogramm 2015, IAS Universität Stuttgart 83

84 2.1 Automatisierungscomputer Soft- SPS Vorteile: Integration von Visualisierung und SPS auf einem Gerät Parallele SPS-Tasks mit verschiedenen Zykluszeiten Größere Anzahl an Systemschnittstellen Nachteile: Geringere Zuverlässigkeit Sicherheitsproblematik beim Einsatz Bei Auslastung: Einschränkungen im Echtzeitverhalten 2015, IAS Universität Stuttgart 84

85 Bildquelle:Raspberry Pi Foundation 2.1 Automatisierungscomputer Mikrocontroller (Ein-Chip-Computer) Hochintegrierte Bausteine Einsatz für Massenprodukte Aufbau aus - Standard-Mikroprozessor - Datenspeicher/ Programmspeicher - Bus-Schnittstellen - Prozess-Signal-Schnittstellen Programmierung über Entwicklungssysteme kurze Wortlänge extrem niedriger Preis hohe Zuverlässigkeit und Lebensdauer hohe Anforderungen bezüglich Umgebungsbedingungen 2015, IAS Universität Stuttgart 85

86 2.1 Automatisierungscomputer Unterscheidung Mikroprozessor Prozessor auf einem Mikroelektronik-Chip Mikrocomputer Alle Komponenten auf einem Mikroelektronik-Chip, d.h. Prozessor, Speicher, Schnittstellen zur Peripherie Mikrocontroller Automatisierungscomputer bzw. ein Automatisierungs- Computersystem auf einem Chip 2015, IAS Universität Stuttgart 86

87 2.1 Automatisierungscomputer Glossar Mikroprozessor: CPU = Central Processing Unit Arbeitsspeicher: RAM = Random Access Memory Festwertspeicher: EPROM/PROM/ROM = Erasable Programmable Read Only Memory Prozess-/Datenperipherie: I/O = parallele bzw. serielle Ein/Ausgabe- Bausteine Counter/Timer = Taktgeber Interrupt Controller = Unterbrechungswerk 2015, IAS Universität Stuttgart 87

88 Bildquellen: Beckhoff 2.1 Automatisierungscomputer Industrie-PC (IPC) Programmierung in Hochsprache Einsatz von Echtzeit-BS als einziges Betriebssystem zusätzlich zu Standard- Betriebssystemen Einsatzgebiete von Industrie-PCs Prozess-Visualisierung Prozessauswertung und -überwachung übergeordnete Steuerungsaufgaben (Leitstandsaufgaben) 2015, IAS Universität Stuttgart 88

89 2.1 Automatisierungscomputer (Eigenschaften) Umgebungsbedingungen Raue Umgebungsbedingungen Temperaturschwankungen Stöße und Erschütterungen Staub und Feuchtigkeit elektrische oder elektromagnetische Störungen Schutzvorrichtungen von Industrie-PCs (IPC) schwingungsgedämpfte Laufwerke hohe Güte der integrierten Bausteine spezielles Schutzgehäuse Video: Automatisierungscomputer (IPC) 2015, IAS Universität Stuttgart 89

90 Bildquellen: Siemens 2.1 Automatisierungscomputer Anordnung eines reinen IPC-Systems Bedienfeld Fernwartung Modem / Ethernet Industrie PC Feldbus Drucker.... Module für die Signalein- und Ausgabe Sensoren und Aktoren 2015, IAS Universität Stuttgart 90

91 Bildquellen: Beckhoff 2.1 Automatisierungscomputer Anordnung eines SPS-IPC-Systems Fernwartung Industrie PC Modem / Ethernet Serielle Verbindung, LAN oder Feldbus SPS mit CPU-Baugruppe Kommunikationsbaugruppe Signal-Ein-/Ausgabebaugruppe Sensoren und Aktoren 2015, IAS Universität Stuttgart 91

92 2.1 Automatisierungscomputer Prozessleitsysteme (PLS) Verteilte, über Bus-Systeme verbundene Rechnersysteme Kopplung mit SPS-Rechnern Einsatz von vorkonfektionierten, vom Hersteller des PLS entwickelten Programmbausteinen Konfigurierung durch Anwender Komplettlösungen von einem Hersteller keine Kompatibilitätsprobleme einheitliche Bedienung und Beobachtung des Prozesses hohe Verfügbarkeit definierte Verantwortlichkeit lange Lebenszeit 2015, IAS Universität Stuttgart 92

93 2.1 Automatisierungscomputer Anwendungsgebiete von Prozessleitsystemen Kraftwerkstechnik Verfahrenstechnik Gebäudetechnik Fertigungstechnik Bestandteile eines PLS Anzeige- und Bedienkomponente (ABK) Prozessnahe Komponenten (PNK) Systemkommunikation Engineering-Tools 2015, IAS Universität Stuttgart 93

94 2.1 Automatisierungscomputer Schematischer Aufbau Betriebs- Leitrechner Anzeige- und Bedienkomponente ABK Anzeige- und Bedienkomponente ABK Engineeringstation ES Betriebsbus redundanter herstellerspezifischer Systembus Prozessnahe Komponente PNK Prozessnahe Komponente PNK Prozessnahe Komponente PNK Sensoren und Aktoren Feldbus Feldgeräte 2015, IAS Universität Stuttgart 94

95 Bildquelle: SIMATIC PCS 7, Siemens AG 2.1 Automatisierungscomputer Engineering-Tools Aufgaben Konfiguration Programmierung Wartung/Pflege Werkzeuge graphische Werkzeuge (IEC 61131) standardisierte Bibliotheken mit Komponenten mächtige Editoren 2015, IAS Universität Stuttgart 95

96 2.1 Automatisierungscomputer Leitsystemhersteller und deren Produkte Hersteller ABB Foxboro- Echardt Siemens Honeywell Yokogawa Produktname AdvantOCS AdvaSoft Procontrol P Symphony Contronic P I/A Series System SIMATIC PCS 7 Teleperm M Teleperm XP PlantScape TDC 3000 CENTUM CS 3000 Bemerkung Firmenspezifischer Feldbus für kleine Anlagen Kraftwerktechnik Unterstützt Anbindung an Betriebsebene, Remote I/O System Verfahrenstechnik, Ausdehnung bis zu 12km, ehemals Hartmann & Braun Verfahrenstechnik, PNK mit PCMCIA-Technologie Verfahrenstechnik, ABK auf Basis von Windows 2000, XP. Umfangreiches Hardwareangebot. Feldbus: Profibus. Anbindung an Betriebsebene möglich. Verfahrenstechnik, weitverbreitet, kein Einsatz in Neuanlagen Migration von Teleperm M nach SIMATIC PCS 7 möglich. Kraftwerkstechnik, offene Kommunikation, umfangreiches Handwareangebot. Verfahrenstechnik, offenes System, ABK auf Basis von Windows NT, unterstützt Remote I/O. Anbindung an Betriebsebene möglich. Verfahrenstechnik, besitzt mehrere Prozessbusse mit unterschiedlicher Datenübertragung. MODBUS wird unterstützt. Verfahrenstechnik, Kraftwerktechnik 2015, IAS Universität Stuttgart 96

97 2.1 Automatisierungscomputer Frage zu Kapitel 2.1 Was sind die Vorteile von IPCs als Automatisierungscomputer? Antwort Skalierbarkeit der Hardware Preis der Hardware Vielzahl an Programmiersprachen Größe und Formgebung des IPCs 2015, IAS Universität Stuttgart 97

98 2 Automatisierungsgerätesysteme und -strukturen 2.1 Automatisierungscomputer 2.2 Automatisierungs-Strukturen 2.3 Automatisierungs-Hierarchien 2.4 Verteilte Automatisierungssysteme 2.5 Automatisierungsstrukturen mit Redundanz 2015, IAS Universität Stuttgart 98

99 2.2 Automatisierungs-Strukturen Struktur des technischen Prozesses technischer Prozess als Einheit Bsp.: Bohrvorgang bei einer Bohrmaschine technischer Prozess, der aus Teilprozessen besteht Bsp.: Fertigung eines Getriebes Örtliche Struktur der Automatisierungsgeräte örtlich zentrale Anordnung örtlich dezentrale Anordnung Wirkungsmäßige Struktur des Automatisierungssystems (funktionelle Struktur) = Aufteilung der Automatisierungsfunktionen auf die Automatisierungsgeräte wirkungsmäßig zentrale Grundstruktur wirkungsmäßig dezentrale Grundstruktur 2015, IAS Universität Stuttgart 99

100 Warte Feld 2.2 Automatisierungs-Strukturen Örtlich zentrale Anordnung der Automatisierungsgeräte Anzeigetafel Wartesignale Rangierverteiler, galvan. Trenner, Automatisierungsgeräte Messwertumformer Stellglieder Unterverteiler Farbbildschirme für die Prozessführung 2015, IAS Universität Stuttgart 100

101 Warte Anlagenbus Feldbus Feld Feldbus 2.2 Automatisierungs-Strukturen Örtlich dezentrale Anordnung der Automatisierungsgeräte AM AM AM SPS AM SPS Anzeigetafel Farbbildschirme für die Prozessführung Leitrechner 2015, IAS Universität Stuttgart 101

102 2.2 Automatisierungs-Strukturen Wirkungsmäßig zentrale Automatisierungsstruktur Zentraler Automatisierungs- Computer Teilprozess 1 Teilprozess 2 Teilprozess n Technischer Prozess in einem technischen System 2015, IAS Universität Stuttgart 102

103 2.2 Automatisierungs-Strukturen Wirkungsmäßig dezentrale Automatisierungsstruktur Automatisierungs- Computer 1 Automatisierungs- Computer 2 Automatisierungs- Computer n Teilprozess 1 Teilprozess 2 Teilprozess n 2015, IAS Universität Stuttgart 103

104 2.2 Automatisierungs-Strukturen Vergleichskriterien für Automatisierungsstrukturen die Kosten für die Geräte, die Verkabelung, die Software, die Pflege und die Wartung die Teilverfügbarkeit bei Hardware-Ausfällen oder bei Software-Fehlern die Flexibilität bei Änderungen die Koordinierung der Teilprozesse und die Optimierung des Gesamtprozesses die Bedienbarkeit 2015, IAS Universität Stuttgart 104

105 2.2 Automatisierungs-Strukturen Dezentrale Struktur + Flexibilität bei Änderungen + Koordination der Teilprozesse + Optimierung des Gesamtprozesses 0 Störfall-Lokalisierung 0 höhere Transparenz 0 Bedienbarkeit und Benutzerfreundlichkeit - zusätzlicher Aufwand zur Kommunikation der einzelnen Automatisierungseinheiten 2015, IAS Universität Stuttgart 105

106 2.2 Automatisierungs-Strukturen Bewertung von Automatisierungsstrukturen Z = zentrale Struktur D = dezentrale Struktur ZZZ Typisch für Automatisierung kleiner Geräte ZDZ DZZ DDZ ZZD ZDD DZD DDD Geringere Verkabelungskosten als bei ZZZ Ungünstig bzgl. Verfügbarkeit, Wartbarkeit, Verkabelungskosten Ungünstig bzgl. Verfügbarkeit und Flexibilität Günstig Wartbarkeit und Flexibilität Ungünstig: Verkabelungskosten Günstig: Flexibilität, Verfügbarkeit, Verkabelung, Transparenz Günstig: Verfügbarkeit, Wartbarkeit Ungünstig: Verkabelungskosten Günstig: Flexibilität, Verfügbarkeit, Verkabelung, Transparenz wirkungsmäßige Struktur örtliche Struktur der Automatisierungsgeräte Struktur des technischen Prozesses 2015, IAS Universität Stuttgart 106

107 2.2 Automatisierungs-Strukturen Frage zu Kapitel 2.2 Was sind Vorteile einer dezentralen Automatisierungsstruktur? Antwort Höhere Flexibilität bei Änderungen Geringerer Aufwand zur Kommunikation der einzelnen Automatisierungseinheiten Einfachere Störfalllokalisierung Geringerer Aufwand bei der Softwareentwicklung für die Prozesssteuerung 2015, IAS Universität Stuttgart 107

108 2 Automatisierungsgerätesysteme und -strukturen 2.1 Automatisierungscomputer 2.2 Automatisierungs-Strukturen 2.3 Automatisierungs-Hierarchien 2.4 Verteilte Automatisierungssysteme 2.5 Automatisierungsstrukturen mit Redundanz 2015, IAS Universität Stuttgart 108

109 Anforderungen an die Verfügbarkeit Komplexität der Verarbeitungsaufgaben prozessnahe Ebene Koordinierungsebene zentrale Leitebene 2.3 Automatisierungs-Hierarchien Kombination von zentraler und dezentraler Struktur Einführung einer Hierarchie von Automatisierungseinheiten Leit- Einheit Koordinierungs Einheit 1 Koordinierungs Einheit 2 Koordinierungs Einheit m Dezentrale Automatisierungs- Einheit 1 Dezentrale Automatisierungs- Einheit 2 Dezentrale Automatisierungs- Einheit n Teilprozess 1 Teilprozess 2 Teilprozess n Technischer Prozess (Gesamtprozess) 2015, IAS Universität Stuttgart 109

110 2.3 Automatisierungs-Hierarchien Zuordnung von Automatisierungsfunktionen zu den Prozessführungsebenen Dezentrale Automatisierungseinheiten erfüllen die Aufgaben der prozessnahen Ebene, hohe Anforderungen an die Verfügbarkeit Koordinierungs-Einheiten realisieren die Automatisierungsfunktionen der Koordinierungsebene, wie Koordinierung der Teilprozesse, Optimierung, Prozessüberwachung und -sicherung Leiteinheit realisiert die Aufgaben der Leitebene 2015, IAS Universität Stuttgart 110

111 Anforderung an die Verfügbarkeit Regelungen Einzelsteuerungen Führungsregelung Führungssteuerung Kennwertberechnung Optimierung Schutz, Sicherung, Überwachung Verriegelung erforderliche Verarbeitungsleistung 2.3 Automatisierungs-Hierarchien Anforderungen an Verfügbarkeit und Verarbeitungsleistung Anforderungen an die Verfügbarkeit erforderliche Verarbeitungsleistung prozessnahe Ebene Koordinierungsebene Leitebene 2015, IAS Universität Stuttgart 111

112 2.3 Automatisierungs-Hierarchien Voraussetzung für die Realisierung Gliederung des technischen Prozesses in Teilprozesse Einsatz von intelligenten Automatisierungseinheiten Kommunikationssystem zwischen Automatisierungseinheiten Je nach Größe des Unternehmens und Umfang des technischen Prozesses können Zwischenebenen eingeführt werden bzw. Ebenen zusammengezogen werden. 2015, IAS Universität Stuttgart 112

113 2.3 Automatisierungs-Hierarchien Beispiel Koordinierungsrechner 1 Leitrechner Koordinierungsrechner 2 Prozessbus Bedien-Rechner Realisierung einer Automatisierungs-Hierarchie mit einem busorientierten verteilten Automatisierungscomputersystem. Leit- Ebene Koordinierungsebene Dezentraler Automati- sierungs- Computer 1 Dezentraler Automati- sierungs- Computer 2 Dezentraler Automati- sierungs- Computer n Prozessnahe Ebene AM Anschlussmodul AM AM AM AM AM AM AM Teilprozess 1 Teilprozess 2 Teilprozess n Technischer Prozess 2015, IAS Universität Stuttgart 113

114 2.3 Automatisierungs-Hierarchien Frage zu Kapitel 2.3 Welche Aufgaben werden in der prozessnahen Ebene durchgeführt? Antwort Kennwertberechnung Einzelsteuerungen Überwachung Optimierung 2015, IAS Universität Stuttgart 114

115 2 Automatisierungsgerätesysteme und -strukturen 2.1 Automatisierungscomputer 2.2 Automatisierungs-Strukturen 2.3 Automatisierungs-Hierarchien 2.4 Verteilte Automatisierungssysteme 2.5 Automatisierungsstrukturen mit Redundanz 2015, IAS Universität Stuttgart 115

116 2.4 Verteilte Automatisierungssysteme Zielsetzung bei verteilten Automatisierungssystemen Hohe Zuverlässigkeit durch Fehlertoleranz Ausfall eines dezentralen Computers führt nicht zu Gesamtausfall Eingrenzung des Fehlers durch Rekonfiguration Erhöhung der Verfügbarkeit durch schnelle Wartung und Instandsetzung gegenseitige Überwachung mit Fehlerdiagnose Gegenseitige Aushilfe bei hoher Belastung selbsttätige Anpassung der Aufgabenverteilung Reduzierung der Reserven der einzelnen Einheiten Einfache Erweiterungsfähigkeit 2015, IAS Universität Stuttgart 116

117 2.4 Verteilte Automatisierungssysteme Realisierung bei verteilten Automatisierungssystemen Verknüpfung von dezentralen Automatisierungseinheiten mit übergeordnetem Rechner über ein Kommunikationssystem Unterschied zu Automatisierungs-Hierarchie Einheiten kommunizieren dort nur mit nächst höherer Ebene Nur prozessnahe Informationsaufgaben werden dort dezentral wahrgenommen 2015, IAS Universität Stuttgart 117

118 2.4 Verteilte Automatisierungssysteme Kriterien für die Wahl eines Kommunikationssystems (1) niedrige Verkabelungskosten standardisierte Schnittstellen bezüglich Stecker, Leitungen (mechanisch) Spannungspegel (elektrisch) Übertragungsprotokoll (logisch) Flexibilität bei Änderungen geringe Anforderungen an die Kommunikationspartner Speicherplatzbedarf Rechenzeitaufwand hohe Verfügbarkeit und Zuverlässigkeit 2015, IAS Universität Stuttgart 118

119 2.4 Verteilte Automatisierungssysteme Kriterien für die Wahl eines Kommunikationssystems (2) sichere Übertragung der Informationen Verwendung von Prüfbits Bestätigung des korrekten Empfangs Realisierung hoher Datenübertragungsraten kurze Reaktionszeiten auf Übertragungsanforderungen Kopplung unterschiedlicher Kommunikationspartner Problem: Festlegung der Prioritäten bei der Realisierung der sich zum Teil widersprechenden Einzelkriterien? Bsp.: hohe Verfügbarkeit und Zuverlässigkeit durch redundantes Bus-System bedeutet hohe Verkabelungskosten 2015, IAS Universität Stuttgart 119

120 2 Automatisierungsgerätesysteme und -strukturen 2.1 Automatisierungscomputer 2.2 Automatisierungs-Strukturen 2.3 Automatisierungs-Hierarchien 2.4 Verteilte Automatisierungssysteme 2.5 Automatisierungsstrukturen mit Redundanz 2015, IAS Universität Stuttgart 120

121 2.5 Automatisierungsstrukturen mit Redundanz Formen der Redundanz Grundsatz: Prozessbedienpersonal überwacht parallel zu einem AT- Computer! Hardware-Redundanz redundante Hardware Software-Redundanz redundante Software Messwert-Redundanz redundante Messgrößen abhängige Messgrößen Zeit-Redundanz mehrfache Abfrage des gleichen Messwertes in bestimmten Zeitabständen Hardware- und Softwareredundanz bedeutet höherer Aufwand erhöhte Verfügbarkeit sicherheitsrelevante Systeme 2015, IAS Universität Stuttgart 121

122 2.5 Automatisierungsstrukturen mit Redundanz Ziel beim Einsatz fehlertoleranter Strukturen Systeme so zu konstruieren, dass sie nach dem Auftreten von Fehlern in einzelnen Komponenten als Ganzes funktionsfähig sind. Stufen der Fehlertoleranz volle Fehlertoleranz verringerte Leistungsfähigkeit Übergang in einen sicheren Zustand 2015, IAS Universität Stuttgart 122

123 2.5 Automatisierungsstrukturen mit Redundanz Prinzip der Fehlertoleranz Aufbau eines Systems aus redundanten Modulen (Hardware- und Software), um bei Auftreten eines Fehlers die Funktionsfähigkeit des Systems zu erhalten. Arten von Redundanz Statische Redundanz alle redundanten Module ständig im Einsatz Dynamische Redundanz: redundante Module werden erst nach einem Ausfall eingesetzt blinde Redundanz redundante Module sind im fehlerfreien Fall nicht tätig funktionsbeteiligte Redundanz redundante Module führen im fehlerfreien Fall Stand-by-Funktionen durch 2015, IAS Universität Stuttgart 123

124 2.5 Automatisierungsstrukturen mit Redundanz Hardware-Redundanz Ziel: Erkennung von Ausfällen der Hardware Einsatzprinzip: m-von-n-redundanz Mehrheitsentscheid Fehler erst bei Mehrfachdefekten Realisierung der Redundanz Doppel-Rechner-Strukturen Drei-Rechner-Strukturen 2015, IAS Universität Stuttgart 124

125 2.5 Automatisierungsstrukturen mit Redundanz Doppelrechner-Struktur mit statischer Redundanz Eingabesignale (z.b. Messwerte) Rechner 1 Rechner 2 Vergleicher 2 - aus - 2 Ausgabesignal (z.b. Stellgrößen) Alarmsignal 2015, IAS Universität Stuttgart 125

126 2.5 Automatisierungsstrukturen mit Redundanz Doppelrechner-Struktur mit dynamisch blinder Redundanz Eingabesignale Arbeitsrechner Ü Standby- Rechner Ü Alarm- Meldung Ausgabesignale 2015, IAS Universität Stuttgart 126

127 2.5 Automatisierungsstrukturen mit Redundanz Doppelrechner-Struktur mit dynamisch funktionsbeteiligter Redundanz Eingabesignale Rechner 1 Ü Rechner 2 Ü Alarm- Meldung notwendige Ausgabesignale weniger dringliche Ausgabewerte 2015, IAS Universität Stuttgart 127

128 2.5 Automatisierungsstrukturen mit Redundanz Drei-Rechner-Struktur mit statischer Redundanz Eingabesignale Rechner 1 Rechner 2 Rechner 3 Vergleicher 2 - aus - 3 Ausgabesignale 2015, IAS Universität Stuttgart 128

129 2.5 Automatisierungsstrukturen mit Redundanz Software-Redundanz Ziel: Erkennung von Fehlern in der Software Ausgangspunkt: Software ist fehlerhaft Redundanzmaßnahmen bei Software: Mehrfaches Vorhandensein der gleichen Software ist nicht sinnvoll, da nicht Ausfälle das Problem bei Software sind. verschiedenartiger Aufbau von Programmteilen gleiche Eingangsdaten müssen gleiche Ergebnisse liefern 2015, IAS Universität Stuttgart 129

130 2.5 Automatisierungsstrukturen mit Redundanz Diversitäre Software Diversität = Verschiedenartigkeit von Software bei gleicher Funktion Unabhängige Entwicklerteams lösen dieselbe Aufgabe Gezielte Entwicklung verschiedener Strategien, Algorithmen und Software-Strukturen Einsatz bzw. Ausführung diversitärer Software-Teile Redundante Software-Alternativen werden nacheinander ausgeführt und über Entscheider (Voter) verglichen, nicht für Echtzeitsysteme mit hohen Zeitanforderungen Parallele Ausführung redundanter Software-Teile auf redundantem Mehrrechnersystem Zyklische Abwechslung der diversitären Teile Vergleich schwierig Zwei Algorithmen mit unterschiedlichen Verarbeitungszeiten Beide Ergebnisse können korrekt sein, obwohl Werte unterschiedlich sind 2015, IAS Universität Stuttgart 130

131 2.5 Automatisierungsstrukturen mit Redundanz Frage zu Kapitel 2.5 In einem Flugzeug werden wichtige Systemgrößen mehrfach berechnet. Würden Sie dafür ein Doppelrechnersystem oder ein Dreifachrechnersystem mit statischer Redundanz verwenden? Eingabesignale (z.b. Messwerte) Eingangsignale Rechner 1 Rechner 2 Rechner 1 Rechner 2 Rechner 3 Vergleicher 2 - aus - 2 Vergleicher 2 - aus - 3 Antwort Ausgabesignale (z.b. Stellgrößen) Alarmsignal Ausgabesignale 2015, IAS Universität Stuttgart 131

132 Kapitel 2: Vorbereitungsfrage Vorbereitungsfragen zu Kapitel 2 Frage 1: Redundanz (SS 2006) Bei einer Anlagensteuerung werden ein Rechner zur Prozesssteuerung und ein weiterer zur Protokollierung eingesetzt. Ein zusätzliches Programm überwacht jeweils die Funktions tüchtigkeit des anderen Rechners. Im Fall des Ausfalls des Rechners zur Prozesssteuerung übernimmt der Protokollierungsrechner die Aufgabe der Prozesslenkung und beendet die Protokollierungsfunktion. Um welche Art von Redundanz handelt es sich? Nennen Sie eine weitere Art von Redundanz. Frage 2: SPS (WS 2003/2004) Bei der Programmierung von Speicherprogrammierbaren Steuerungen werden sog. Programmiergeräte eingesetzt. Was versteht man darunter und warum werden sie benötigt? 2015, IAS Universität Stuttgart 132

133 Kapitel 3: Prozessperipherie 3 Prozessperipherie Lernziele: Die Schnittstellen in einem Automatisierungssystem kennen Wissen, was Sensoren und Aktoren sind und wie sie aufgebaut werden Wissen, wie Daten in Automatisierungscomputern dargestellt werden Verstehen, wie eine Analog-Digital-Umsetzung und umgekehrt erfolgt Unterschiedliche Umsetzer-Realisierungsformen kennen Erklären können, wie eine digitale Eingabe und Ausgabe von Prozesssignalen erfolgt 2015, IAS Universität Stuttgart 133

134 3 Prozessperipherie 3.1 Schnittstellen zwischen dem technischen Prozess und dem Automatisierungs-Computersystem 3.2 Sensoren und Aktoren 3.3 Eingabe von binären und digitalen Signalen 3.4 Ausgabe von binären und digitalen Signalen 3.5 Eingabe von analogen Signalen 3.6 Ausgabe von analogen Signalen 2015, IAS Universität Stuttgart 134

135 3.1 Schnittstellen zwischen dem technischen Prozess und dem AT-Computersystem Ein-/Ausgabeschnittstellen Es existiert eine 2-Wege-Kommunikation bei der Übertragung von Prozess- Signalen zwischen technischem Prozess und Automatisierungs- Computersystem: Prozess-Signaleingabe: Prozessgrössenerfassung Prozess-Signalausgabe: Ansteuerung von Stellgliedern 2015, IAS Universität Stuttgart 135

136 3.1 Schnittstellen zwischen dem technischen Prozess und dem AT-Computersystem Realisierung der Prozess-Signaleingabe Direkter Anschluss über Leitungsbündel Einzelne Prozess-Signale sternförmig über Mehraderleitungen von den Sensoren zum Automatisierungscomputersystem Prozessdatenaufbereitung im Computersystem Anschluss über Feldbussystemen Verbindung über Buskoppler zum Automatisierungscomputersystem Prozessdatenaufbereitung in den Automatisierungscomputern Anschluss über Sensor / Aktor-Bus-System Direkter Anschluss des Sensors / Aktors an Bussystem Prozessdatenaufbereitung im Sensor Einsatz in Produktautomatisierung, da kurze Leitungen zum Mikrocontroller Einsatz in Anlagenautomatisierung zur Reduzierung der Verkabelung und Installationskosten 2015, IAS Universität Stuttgart 136

137 3.1 Schnittstellen zwischen dem technischen Prozess und dem AT-Computersystem Übersicht der Realisierungen Kopplung Automatisierungs- Computer mit technischem Prozess und zugehörige Schnittstellen Prozess- Signal- Ein/ Ausgabe Automatisierungs- Computer (z.b. SPS, PC) Bus-Koppler Prozessbus Bus-Koppler Schnittstelle zu den höheren Ebenen der Computer- Hierarchie Feldbus- Schnittstelle Rechner-Ein-/Ausgabe- Schnittstelle (Rechner- Systembus) Prozessperipherie- Schnittstelle (elektrische oder optische Signale) Feldbus... E/A- Knoten E/A- Knoten Sensor/Aktor- Schnittstelle (elektrische oder optische Signale) Sensoren und Aktoren Bk Technischer Prozess in einem technischen System Bk Bk Aktor/Sensor-Bus... Bk Prozessgrößenschnittstelle (physikalische Größen) 2015, IAS Universität Stuttgart 137

138 3.1 Schnittstellen zwischen dem technischen Prozess und dem AT-Computersystem Arten von elektrischen Prozess-Signalen analoge Prozess-Signale amplitudenanalog frequenzanalog phasenanalog binäre Prozess-Signale digitale Prozess-Signale Prozess-Signale in Form von Impulsen Prozess-Signale in Form von Impulsflanken 2015, IAS Universität Stuttgart 138

139 Entfällt bei der Erfassung binärer oder digitaler Prozess-Signale 3.1 Schnittstellen zwischen dem technischen Prozess und dem AT-Computersystem Informationsfluss bei der Prozess- Signaleingabe (i = 1, 2,...) Fertigwertliste 2015, IAS Universität Stuttgart Verstärkung y IPhys (t) Umwandlung y I (t) Durchschaltung y ID (t) A/D Umsetzung Transformation y IFa (kt) Filterung Plausibilitätsprüfung y IR (kt) y IFl (kt) y IF (kt) physikalische,im allgemeinen nicht elektrische Größen im technischen Prozess Sensoren, Messfühler, Messgeräte, Geber elektrische oder optische Prozess-Signale adressierbare Durchschalte-Elemente (Multiplexer) der Analog- bzw. Digital-Eingabe adressierbare und durchgeschaltete Prozess-Signale Verstärker Auf höheren Spannungspegel verstärkte Prozess-Signale Analog-Digital-Umsetzer Rohwert y IR (kt) Programme zur Umrechnung der Rohwerte in Fertigwerte angepasste Fertigwerte Programme zur Anwendung von Filterungsalgorithmen gefilterte Fertigwerte Programme zur Plausibilitätsprüfung Auf Plausibilität geprüfte Fertigwerte 139

140 3.1 Schnittstellen zwischen dem technischen Prozess und dem AT-Computersystem Frage zu Kapitel 3.1 Welche Aussagen in Bezug auf die Anforderungen an Schnittstellen zwischen dem technischen Prozess und dem AT-Computersystem treffen zu? Antwort Intelligente Sensoren und Aktoren werden häufig in automatisierten Systemen, wie Kaffeemaschinen, eingesetzt. E/A-Knoten sammeln Informationen über Sensoren und Aktoren und stellen diese dem Feldbus zur Verfügung. Der Informationsfluss bei der Prozess-Signaleingabe binärer Signale ist deutlich kürzer als der von analogen Signalen. Prozess-Signale in Form von Impulsen werden für Zustandsübergänge eingesetzt. 2015, IAS Universität Stuttgart 140

141 3 Prozessperipherie 3.1 Schnittstellen zwischen dem technischen Prozess und dem Automatisierungs-Computersystem 3.2 Sensoren und Aktoren 3.3 Eingabe von binären und digitalen Signalen 3.4 Ausgabe von binären und digitalen Signalen 3.5 Eingabe von analogen Signalen 3.6 Ausgabe von analogen Signalen 2015, IAS Universität Stuttgart 141

142 3.2 Sensoren und Aktoren Sensoren Aufgaben Erfassung physikalischer Prozessgrößen Umwandlung in eine zur Weiterverarbeitung geeignete Form Grenzwert-Überwachung Selbsttest Selbstkalibrierung Intelligente Sensoren Anpassung an ein Bussystem 2015, IAS Universität Stuttgart 142

143 3.2 Sensoren und Aktoren Sensorelement Aufgabe Wandlung einer nicht-elektrischen physikalischen Größe in eine elektrische oder optische Größe Ausnutzung physikalischer Effekte Widerstandsänderung Änderung der Induktivität Änderung der Kapazität Piezoelektrischer Effekt Thermoelektrischer Effekt Photoelektrischer Effekt Wirbelstrom-Effekt Strahlungsabsorption 2015, IAS Universität Stuttgart 143

144 3.2 Sensoren und Aktoren Beispiel: Intelligenter Sensor "Intelligenter" Sensor physikalische Eigangsgröße Umsetzelement Sensorelement Verstärker Analog- Digital- Umsetzer Mikroprozessor Bus-Anpassung Sensor- Bus Kalibrierung 2015, IAS Universität Stuttgart 144

145 3.2 Sensoren und Aktoren Klassifizierung nach der Art des Sensorausgangssignals binäre Sensoren digitale Sensoren amplitudenanaloge Sensoren frequenzanaloge Sensoren Sensorsystem Integration mehrerer Sensoren für verschiedene Prozessgrößen mit der Auswerteelektronik auf einem Bauelement 2015, IAS Universität Stuttgart 145

146 3.2 Sensoren und Aktoren Binäre Sensoren Ja/ Nein-Information Grenzwertgeber/ Schwellwertgeber Beispiel: Endschalter, berührungslos arbeitende Gabellichtschranke Digitale Sensoren Umwandlung der nichtelektrischen Messgröße in ein digitales Ausgangssignal Umsetzarten direkte Umsetzung Umwandlung des nichtelektrischen Signals mittels Codescheibe (Drehbewegung) oder Codelineal (Linearbewegung) in ein digitales Signal indirekte Umsetzung Umwandlung des nichtelektrischen Signals in amplitudenanaloges Signal, dann Analog-Digital-Wandlung 2015, IAS Universität Stuttgart 146

147 3.2 Sensoren und Aktoren Amplitudenanaloge Sensoren Umformung einer nichtelektrischen Messgröße in ein amplitudenanaloges Ausgangssignal, d.h. Amplitude des elektrischen Ausgangssignals ist proportional der zu messenden physikalischen Größe Oft mit Umformerstufe im selben Gehäuse Verstärkung Normierung Linearisierung Temperaturkompensation Für alle wichtigen Messgrößen verfügbar 2015, IAS Universität Stuttgart 147

148 3.2 Sensoren und Aktoren Frequenzanaloge Sensoren Liefern ein Wechselspannungssignal, dessen Frequenz der zu messenden physikalischen Größe proportional ist Vorteile: Unempfindlichkeit gegen Störbeeinflussung auf den Übertragungsleitungen einfache Frequenz-Digitalumsetzung durch Zähltechnik kein Genauigkeitsverlust bei Verstärkung und Übertragung einfache Potenzialtrennung mit Übertragern Selten im Vergleich zu amplitudenanalogen Sensoren t t 2015, IAS Universität Stuttgart 148

149 3.2 Sensoren und Aktoren Arten Physikalische Prozessgröße Sensorelement Ausgangsgröße Temperatur Druck Kraft Drehzahl Beschleunigung Durchfluss Druckdose mit Membran und Dehnungsmessstreifen Druckdose mit Silizium-Membran (piezoresistiver Effekt) Dehnungsmessstreifen Induktiver Kraftmessfühler Piezoelektr. Fühler Tachogenerator Impulszählung Silizium-Piezowiderstand Silizium-Kondensator Ringkolbenzähler Induktive Durchflussmesser Annäherung Hallelement aus Silizium mv Winkel Winkelkodierer Impulsgeber Feuchte Lithiumchlorid-Feuchtefühler mv Lichtintensität Thermoelement Metallische Widerstände Halbleiter-Widerstände (Heißleiter) Keramik-Widerstände (Kaltleiter) Photodiode Photowiderstand mv Widerstandsänderung Widerstandsänderung Widerstandsänderung Widerstandsänderung Widerstandsänderung Widerstandsänderung Induktivitätsänderung Ladung V Impulsfolge Widerstandsänderung Kapazitätsänderung Impulsfolge mv Digitalwert Impulsfolge µa Widerstandsänderung 2015, IAS Universität Stuttgart 149

150 3.2 Sensoren und Aktoren Aktoren Aufgabe von Aktoren ist die Umsetzung der vom Automatisierungs- Computersystem ausgegebenen Informationen in Stelleingriffe in dem technischen Prozess Aktor als Wandler von Information in einen Stelleingriff Information (z.b. auf einem Sensor/Aktor-Bus oder Feldbus) Aktor Hilfsenergie Stelleingriff (z.b. Weg, Kraft, Winkel, Drehmoment) Aktoren für unterschiedliche Stellgrößen optische Größen mechanische Größen thermische Größen Durchflüsse 2015, IAS Universität Stuttgart 150

151 3.2 Sensoren und Aktoren Aktoren mit mechanischer Ausgangsgröße Aktorprinzip Elektromechanische Bewegung Hydraulischer Stellzylinder Pneumatischer Stellzylinder Piezoelektischer Effekt Magnetostriktiver Effekt Elektrorheologischer Effekt Magnetorheologischer Effekt elektrisch erzeugter Gasdruck Bimetall-Effekt Memory-Metalle Silizium-Mikrotechnik Aktoren Elektromotor, Schrittmotor, Elektromagnet, Linearmotor Hydraulische Aktoren Pneumatische Aktoren Piezoelektrische Aktoren, Elektrostriktive Aktoren Magnetostriktive Aktoren Elektrorheologische Aktoren Magnetorheologischer Aktoren Chemische Aktoren Thermo-Bimetall-Aktoren Memory-Metalle-Aktoren Mikromechanische Aktoren Video: Automatisierter Tischkicker 2015, IAS Universität Stuttgart 151

152 3.2 Sensoren und Aktoren Frage zu Kapitel 3.2 Sie sollen einen Füllstandssensor für einen Wassertank entwerfen. Welche Größen können zur Füllstandbestimmung herangezogen werden? Welche Arten von Sensorelementen können Sie verwenden? Antwort 2015, IAS Universität Stuttgart 152

153 3 Prozessperipherie 3.1 Schnittstellen zwischen dem technischen Prozess und dem Automatisierungs-Computersystem 3.2 Sensoren und Aktoren 3.3 Eingabe von binären und digitalen Signalen 3.4 Ausgabe von binären und digitalen Signalen 3.5 Eingabe von analogen Signalen 3.6 Ausgabe von analogen Signalen 2015, IAS Universität Stuttgart 153

154 3.3 Eingabe von binären und digitalen Signalen Digital-Eingabe Eingabe von einzelnen binären Prozess-Signalen Bsp.: Endschalter, Maximalwertgeber Eingabe von Gruppen von binären Prozess-Signalen Bsp.: Stellung mehrstufiger Schalter Arten der binären Eingabesignale Binäre Spannungseingabe Binäre Stromeingabe Binäre Kontakteingabe Stromversorgung für Kontaktgeber Einrichtung zur Unterdrückung von Kontaktprellungen 2015, IAS Universität Stuttgart 154

155 3.3 Eingabe von binären und digitalen Signalen Unterscheidung bezüglich Signalparameter Statische Digital-Eingabe High and Low für binäres Signal entsprechen den zwei Zuständen Dynamische Digital-Eingabe (Impulseingabe) Flanken des Signals dienen als binäre Signalparameter Übergang von High auf Low und umgekehrt setzt zugeordnetes Speicherelement Spontane Digital-Eingabe falls Interrupt ausgelöst wird 2015, IAS Universität Stuttgart 155

156 3.3 Eingabe von binären und digitalen Signalen Signaldurchschaltung binärer bzw. digital codierter Prozessgrößen(1) Zyklische Erfassung Binäres Prozesssignal y I (t) 1 0 t Durchgeschaltetes binäres Prozesssignal Dauer für die Erkennung der Signaländerung y ID (t) 1 0 T Zyklische Aufrufe der Binärsignal-Eingabe t 2015, IAS Universität Stuttgart 156

157 3.3 Eingabe von binären und digitalen Signalen Signaldurchschaltung binärer bzw. digital codierter Prozessgrößen(2) Spontane (azyklische) Erfassung Binäres Prozesssignal y I (t) 1 0 t Durchgeschaltetes binäres Prozesssignal Dauer für die Erkennung der Signaländerung (Dauer für die Interrupt-Behandlung) y ID (t) 1 0 Interrupt t 2015, IAS Universität Stuttgart 157

158 3.3 Eingabe von binären und digitalen Signalen Darstellung binärer und impulsförmiger Prozessgrößen Zusammenfassung binärer/impulsförmiger Prozessgrößen zu einem Rechnerwort Einzelne Bits müssen zugreifbar und manipulierbar sein Bit-Stelle Für die Darstellung binärer Prozessgrössen und impulsförmiger Prozessgrössen reicht eine Wortlänge von 16 Bit im allgemeinen völlig aus 2015, IAS Universität Stuttgart 158

159 3.3 Eingabe von binären und digitalen Signalen Darstellung digitaler Prozessgrößen Digitale Prozessgrößen werden meist als Dual-, Oktal- oder Hexadezimalzahl angegeben. Umrechnung in die einzelnen Systeme: Bit-Nr.: Dualzahl: Oktalzahl: Hexadezimalzahl: 17DB D B Für die Darstellung digitaler Prozessgrößen reicht eine Wortlänge von 16 Bit in aller Regel aus 2015, IAS Universität Stuttgart 159

160 3.3 Eingabe von binären und digitalen Signalen Grundsätzlicher Aufbau einer statischen Digital-Eingabe Eingabeoperation erfolgt in zwei Schritten: 1. Bereitstellung der Adresse der Binärsignale, die zu einer Gruppe zusammengefasst sind, auf dem Adressbus. 2. Durchschalten der adressierten Binärsignale zum Datenbus n n Zuleitungen & n n n & n n n >1 n n n Daten Adressen Steuersignale & Adressen- Decodierung 1 m Rechnersystembus Prozessperipherieschnittstelle Sensor- Schnittstelle 2015, IAS Universität Stuttgart 160

161 3.3 Eingabe von binären und digitalen Signalen Frage zu Kapitel 3.3 Welche Aussagen treffen auf Eingaben von digitalen Signalen zu? Antwort Bei statischen digitalen Eingaben ändern sich die Werte im Betrieb nicht. Bei dynamischen digitalen Eingaben entsprechen die Signalparameter den Übergängen zwischen den Zuständen High Low und Low High. Bei statischen binären Eingaben entsprechen die Signalparameter den Zuständen High und Low. Bei dynamischen digitalen Eingaben entsprechen die Signalparameter der Frequenz der Änderung der Zustände. 2015, IAS Universität Stuttgart 161

162 3 Prozessperipherie 3.1 Schnittstellen zwischen dem technischen Prozess und dem Automatisierungs-Computersystem 3.2 Sensoren und Aktoren 3.3 Eingabe von binären und digitalen Signalen 3.4 Ausgabe von binären und digitalen Signalen 3.5 Eingabe von analogen Signalen 3.6 Ausgabe von analogen Signalen 2015, IAS Universität Stuttgart 162

163 3.4 Ausgabe von binären und digitalen Signalen Digital-Ausgabe Grundsätzlicher Aufbau eines Digital-Ausgabe-Moduls n Daten Adressen Steuersignale Rechnersystembus Ausgabe von einzelnen Binärsignalen Adressen- Decodierung 1 2 m Ausgabe einer Gruppe von Binärsignalen n & n & n & Durchschaltelement n n n Zwischenspeicher n n n n n n n n n n n n Ausgabestufen Zuleitungen Binärsignal- Aktoren Prozessperipherieschnittstelle Sensor-/ Aktor- Schnittstelle 2015, IAS Universität Stuttgart 163

164 3.4 Ausgabe von binären und digitalen Signalen Arten der binären Ausgabesignale Spannungsausgabe Stromausgabe Ausgabe potenzialfreier Kontaktstellungen Durchführung von Digital-Ausgaben Ausgabesignal vom Automatisierungscomputer ist nur dann gültig, wenn entsprechende Adresse an Adressbus anliegt Angesteuerte Geräte (Schütze, Relais, Lampen) benötigen Dauersignal als Eingangssignal Zwischenspeicher Ausgabeoperation in drei Schritten: 1. Bereitstellung der Adresse des auszugebenden Wortes 2. Ausgabe der angewählten Binärsignale in den Zwischenspeicher 3. Ausgabe des Dauersignals aus dem Zwischenspeicher 2015, IAS Universität Stuttgart 164

165 3.4 Ausgabe von binären und digitalen Signalen Frage zu Kapitel 3.4 Wie viele Binärsignal-Aktoren können mit einer SPS angesteuert werden, wenn der Adressraum von bis 00 FF für binäre Ausgabesignale reserviert ist? Antwort 2015, IAS Universität Stuttgart 165

166 3 Prozessperipherie 3.1 Schnittstellen zwischen dem technischen Prozess und dem Automatisierungs-Computersystem 3.2 Sensoren und Aktoren 3.3 Eingabe von binären und digitalen Signalen 3.4 Ausgabe von binären und digitalen Signalen 3.5 Eingabe von analogen Signalen 3.6 Ausgabe von analogen Signalen 2015, IAS Universität Stuttgart 166

167 3.5 Eingabe von analogen Signalen Signaldurchschaltung analoger Prozessgrößen zyklische Durchschaltung y I (t) analoge Prozessgröße y IR (kt) t zeitdiskrete Folge von Rohwerten k = t = kt 2015, IAS Universität Stuttgart 167

168 3.5 Eingabe von analogen Signalen Umsetzung und Darstellung analoger Prozessgrößen Analoge Prozessgrößen müssen vor ihrer Verarbeitung in einem Computersystem in eine digitale Größe umgesetzt werden. Darstellungsfehler (% vom Darstellungsintervall) Wertverschlüsselung des Analog-Digital-Umsetzers Bits Dezimalzahlen Erford. Wortlänge (Bytes) 0,39% 0,1% 0,025% 0,006% 0,0015% Für die Darstellung analoger Prozessgrößen reicht eine Wortlänge von 16 Bit aus Frage: Wozu 32-Bit-Rechner für Automatisierungsaufgaben? 2015, IAS Universität Stuttgart 168

169 3.5 Eingabe von analogen Signalen Formen analoger Prozess-Signale elektrische Spannungssignale elektrische Stromsignale elektrische analoge Widerstandswerte Formen der Signalwandlung Realisierung ergibt sich aus Anforderungen des Gesamtsystems schnelle A/D-Wandlung langsame A/D-Wandlung 2015, IAS Universität Stuttgart 169

170 3.5 Eingabe von analogen Signalen Grundsätzlicher Aufbau der Eingabe analoger Signale Daten Adressen Steuersignale Zuleitungen Rechnersystembus Durchschaltelemente Sensoren Busankopplung n Analog- Digital- Umsetzer n D A U Adressen- Decodierung 1 2 m Vorverstärker Prozessperipherie- Schnittstelle Sensoren-Schnittstelle 2015, IAS Universität Stuttgart 170

171 3.5 Eingabe von analogen Signalen Schnelle Analog-Digital-Umsetzung Schnelle Analog-Digital-Umsetzung ADU mit Umsetzzeit von µs, d.h. 1. Durchschaltung des Analogsignals zum ADU und Umsetzung 2. Eingabe des gewandelten Werts über den Datenbus Sensoren 2 2 Busankopplung n Analog- Digital- Umsetzer n 2 2 D A Daten Adressen Steuersignale U Adressen- Decodierung 1 2 m Vorverstärker Prozessperipherie- Schnittstelle Sensoren-Schnittstelle Durchschaltelemente 2 Zuleitungen Rechnersystembus 2015, IAS Universität Stuttgart 171

172 3.5 Eingabe von analogen Signalen Langsame Analog-Digital-Umsetzung Langsame Analog-Digital-Umsetzung ADU mit Umsetzzeit von > 100 µs, d.h. 1. Adresse des einzugebenden Analogsignals wird zur Durchschaltung ausgegeben 2. Umsetzung in Digitalwert wird gestartet 3. Anderes Programm wird zur Ausnutzung der relativ langen Umsetzzeit gestartet 4. Wenn Umsetzung beendet ist, wird Interruptsignal erzeugt 5. Entsprechendes Interruptprogramm liest gewandelte Informationen ein 2015, IAS Universität Stuttgart 172

173 3.5 Eingabe von analogen Signalen Arten von Analog-Digital-Umsetzern (ADU) Momentanwertumsetzer Einzelne Werte eines analogen Prozess-Signals werden abgetastet und in digitale Werte umgesetzt Integrierende Umsetzer (Mittelwertumsetzer) Analoges Prozess-Signal wird über eine Periode T der Netzfrequenz integriert und der Mittelwert gebildet Mittelwert wird in digitalen Wert umgesetzt 1 kt u( kt) u( t) dt T ( k 1) T Vorteil: hohe Mess-Sicherheit Vergleichsweise geringer Aufwand Ausschaltung von hochfrequenten, aperiodischen Störspitzen Unterdrückung von netzfrequenten Störspannungen Nur für relativ langsam veränderliche Prozess-Signale anwendbar 2015, IAS Universität Stuttgart 173

174 u (t) 3.5 Eingabe von analogen Signalen Prinzip des integrierenden ADU 1 kt u( kt) u( t) dt T ( k 1) T analoges Prozess-Signal, dem eine 50 Hz-Störspannung sowie hochfrequente Störspitzen überlagert sind T (k-1) T kt (k+1) T t 2015, IAS Universität Stuttgart 174

175 3.5 Eingabe von analogen Signalen Umsetzverfahren für ADU Momentanwertumsetzer Mittelwertumsetzer Vorteil Nachteil Umsetzverfahren hohe Umsetzgeschwindigkeit Werte/s Störimpulse bewirken Verfälschung der Digitalwerte Zählmethode, Stufenmethode, direkte Methode hohe Störunterdrückung Geringe Umsetzgeschwindigkeit Spannungszeit- oder Spannungsfrequenz- Umsetzer 2015, IAS Universität Stuttgart 175

176 3.5 Eingabe von analogen Signalen Anpassung bei Sensoren mit linearer Kennlinie Anpassung: Umrechnung von Rohwerten in Fertigwerte Umrechnung in technische Einheiten der erfassten Prozessgröße Nullpunktverschiebung falls erforderlich y ifa (kt) y ifamax y ifa (kt) = A + By ir (kt) y ifa o A arc tg B y ifamax - y ifa o y ir (kt) B = (y ifamax -y ifa0 )/y irmax : Steigung y irmax : max. Dualzahl aufgrund Bit-Breite ADU y ifamax : zugehöriger maximaler Fertigwert A = y ifa0 : Nullpunktverschiebung y ir max 2015, IAS Universität Stuttgart 176

177 3.5 Eingabe von analogen Signalen Anpassung bei Sensoren mit nicht-linearer Kennlinie Verfahren 1 Speicherung von Stützstellen der Funktion y ifaa (kt) = f[y ir (kt)] lineare Interpolation Verfahren 2 Approximation der nichtlinearen Funktion y ifaa (kt) = f[y ir (kt)] mit Polynom-Ansatz y ifaa = a 0 + a 1 y ir + a 2 y 2 ir +... Anwendungsregeln Polynome zweiter/dritter Ordnung sind i.d.r. ausreichend Stützstellenverfahren, wenn Polynomansatz nicht möglich 2015, IAS Universität Stuttgart 177

178 3.5 Eingabe von analogen Signalen Filterung Zielsetzung: Eliminierung von Störeinflüssen Anwendung integrierender ADU unterdrückt 50-Hertz-Störspannungen Tiefpassfilter in Netzzuleitungen und Analog-Eingabe-Leitungen unterdrücken hochfrequente Störspannungen Anwendung von Filterungsalgorithmen auf Roh- oder Fertigwerte zur Unterdrückung der übrigen Störsignale Ungefiltertes Signal Gefiltertes Signal (Whitening Filter) 2015, IAS Universität Stuttgart 178

179 3.5 Eingabe von analogen Signalen Filteralgorithmen Lineare "klassische" Filteralgorithmen (lineare Impulsfilter) gefilterter Ausgangswert durch lineare Kombination von aktuellen und vorausgegangenen Werten Voraussetzung: Beispiel: keine Überdeckung der Frequenzspektren von Stör- und Prozessgrößensignal Mittelwertbildung Lineare "optimale" Filteralgorithmen (Optimalfilter, Zustandsfilter) Schätzung der Prozess-Signale nach gegebenem Gütekriterium Beispiel: Kálmán-Filter Nichtlineare Filteralgorithmen Berechnung in Abhängigkeit vom Signalpegel und zeitlichem Verlauf Beispiel: Medianfilter 2015, IAS Universität Stuttgart 179

180 3.5 Eingabe von analogen Signalen Frage zu Kapitel 3.5 Der Mittelwert-Umsetzer ist ein Analog-Digital-Umsetzer. Welche der folgenden Aussagen trifft zu? Antwort Es werden immer die Werte in der Mitte eines Intervalls abgetastet. Netzfrequente Störspannung werden unterdrückt. Der Umsetzer ist nur bei sehr schnell veränderlichen Signalen anwendbar. Die Integration erfolgt über ein Vielfaches der Periode der Netzfrequenz. Es wird ein vergleichsweise geringer Aufwand zur Realisierung benötigt. Es handelt sich um ein zeitdiskretes Verfahren. 2015, IAS Universität Stuttgart 180

181 3 Prozessperipherie 3.1 Schnittstellen zwischen dem technischen Prozess und dem Automatisierungs-Computersystem 3.2 Sensoren und Aktoren 3.3 Eingabe von binären und digitalen Signalen 3.4 Ausgabe von binären und digitalen Signalen 3.5 Eingabe von analogen Signalen 3.6 Ausgabe von analogen Signalen 2015, IAS Universität Stuttgart 181

182 3.6 Ausgabe von analogen Signalen Analog-Ausgabe Umsetzung der vom Automatisierungs- Computer kommenden digitalen, zeitdiskreten Werte in kontinuierliche Signale n n n & n & n n n n n n n n n n & Daten Adressen Steuersignale Adressen- Decodierung 1 2 m Durchschaltelement Zwischenspeicher Pufferung um Informationen zu speichern D D D A A A D/A-Umsetzer Prinzipieller Aufbau eines Analog-Ausgabe- Moduls Ausgabestufen Zuleitungen Rechnersystembus Prozess- peripherie- Schnittstelle Sensor-/ Aktor- Schnittstelle Stellglied Regler 2015, IAS Universität Stuttgart 182

183 3.6 Ausgabe von analogen Signalen Direktverfahren mit Widerstandsnetzwerk (1) Realisierung eines DAU durch Summation gewichteter Ströme U REF MSB S 0 R 2R 4R R R + - U A Nachteile: LSB R 2 S n-1 n-1 stark unterschiedliche Potenziale an den Schaltern (= Transistoren) erforderliche Genauigkeit der stark unterschiedlichen Widerstandswerte sehr schwer einzuhalten 2015, IAS Universität Stuttgart 183

184 3.6 Ausgabe von analogen Signalen Direktverfahren mit Widerstandsnetzwerk (2) Realisierung eines DAU s mit Hilfe eines Leiternetzwerkes i REF U REF R U REF /2 R U REF /4 R U REF /8 U REF R = 2R 0 R = 2R 1 R = 2R 2 R = 2R 3 2R i 0 i 1 i i 2 3 S 0 S 1 S 2 S 3 R R + i ges i 0 U Ref 2R i 1 URef 4R i 2 U 8R Ref i 3 U Ref 16R - U A Ströme addieren sich je nach Schalterstellung (= Transistorzustand) zum Strom i ges Operationsverstärker erzeugt U A 2015, IAS Universität Stuttgart 184

185 3.6 Ausgabe von analogen Signalen DAU als 1-Bit-Umsetzer Pulsweitenmodulator Tiefpass Analoges Signal Pulsweitenmodulation mit nachgeschalteten Tiefpass zur Mittelwertbildung: Umsetzer arbeitet garantiert monoton (keine Sprünge) Benötigt größere Umsetzungszeit lässt sich mit Hilfe von Zählern / Vergelicherschaltungen gut als integrierte Schaltung realisieren Viele Mikrocontroller enthalten bereits Pulsweitenmodule 2015, IAS Universität Stuttgart 185

186 3.6 Ausgabe von analogen Signalen Frage zu Kapitel 3.6 In der Anlagenautomatisierung werden Antriebe nicht direkt vom Automatisierungscomputer geregelt, sondern zur Ansteuerung des Motors werden spezielle Antriebscontroller eingesetzt, die vom Automatisierungscomputer ein digitales Signal erhalten. Welche Vorteile birgt dieses Verfahren? Antwort Es erlaubt eine präzisiere Ansteuerung des Antriebs als eine Regelung direkt vom Automatisierungscomputer. Der Aufwand zur Entwicklung des Antriebssystems wird reduziert. Es werden Hardwarekosten gespart, da kein DAU nötig ist. 2015, IAS Universität Stuttgart 186

187 Kapitel 3: Vorbereitungsfrage Vorbereitungsfrage zu Kapitel 3 Frage 1: Analog-Digital-Umsetzer (SS 2007) In einem verfahrenstechnischen Prozess soll mittels eines Automatisierungssystems die Temperatur in einem Reaktor kontrolliert werden. Die zu überwachenden Temperaturen liegen zwischen 15 C und 125 C. Zur Regelung der Temperatur ist es erforderlich, dass der Istwert einmal pro Sekunde mit einer Genauigkeit von 0,1 C erfasst wird. Der Sensor ist dabei über eine 2 Meter lange Zweidrahtleitung an den Analog-Digital-Umsetzer angeschlossen. Ihre Aufgabe als Automatisierungsingenieur ist die Auswahl eines geeigneten Analog-Digital-Umsetzers: Modell Umsetzverfahren Wortlänge [Bit] Kosten in Euro ADC-DS 8 Dual-Slope-Verfahren 8 5,- ADC-DS 12 Dual-Slope-Verfahren 12 10,- ADC-DS 16 Dual-Slope-Verfahren 16 20,- ADC-PU 8 Parallelumsetzverfahren 8 15,- ADC-PU 12 Parallelumsetzverfahren 12 25,- ADC-PU 16 Parallelumsetzverfahren 16 40,- Wählen Sie einen geeigneten Analog-Digital-Umsetzer aus und begründen Sie Ihre Entscheidung. 2015, IAS Universität Stuttgart 187

188 Kapitel 4: Kommunikationssysteme 4 Kommunikationssysteme Lernziele: Wissen, was man unter Feldbussystemen versteht Die unterschiedlichen Bus-Zugriffsverfahren erklären können Grundlegende Eigenschaften bedeutender Kommunikations- bzw. Feldbussysteme kennen Verstehen, was das Besondere an der PROFIBUS-Kommunikation ist Die wichtigsten Eigenschaften von CAN kennen Verstehen, was die Spezifika verschiedener Industrial Ethernet Standards sind Drahtlose Kommunikationssysteme kennen 2015, IAS Universität Stuttgart 188

189 4 Kommunikationssysteme 4.1 Kommunikation in der Automatisierungstechnik 4.2 Bedeutende Kommunikations- bzw. Feldbussysteme 4.3 Industrial Ethernet 4.4 Drahtlose Kommunikation 2015, IAS Universität Stuttgart 189

190 4.1 Kommunikationssysteme in der Automatisierungstechnik Motivation für die Einführung von Kommunikations- bzw. Feldbussystemen Konventionelle Verbindungstechnik: Direktverdrahtung: Einsatz serieller Bussysteme für Kommunikation zwischen den Sensoren/Aktoren und dem Automatisierungs-Computersystem zur Senkung der Projektierungs- und Installationskosten Anwendungsbereiche: Gebäudeautomatisierung Produktionsautomatisierung Kfz-Elektronik (Steuerung + Überwachung) Anlagenautomatisierung 2015, IAS Universität Stuttgart 190

191 4.1 Kommunikationssysteme in der Automatisierungstechnik Anforderungen an Kommunikations- und Feldbus-Systeme in der Automatisierung Man unterscheidet zwischen allgemeinen Anforderungen wie Zuverlässige Kommunikation unter allen Umgebungsbedingungen, Einfache Handhabung durch Instandhaltungspersonal, Einfache und robuste Anschlusstechnik, Eigensicherheit in explosionsgefährdeten Bereichen, und anwendungsbezogenen Anforderungen wie Anzahl der Ein-/Ausgangssignale, Komplexität, Granularität, Anlagenausdehnung, Echtzeitanforderungen. 2015, IAS Universität Stuttgart 191

192 4.1 Kommunikationssysteme in der Automatisierungstechnik Terminologie Feldbereich: Jener Teil des Automatisierungssystems welcher in räumlicher Nähe oder direkter Verbindung zum technischen Prozess steht Feldgeräte: Mess-, Schalt- und Stellgeräte, Regeleinrichtungen und Bediengeräte, die direkt mit dem technischen Prozess in Interaktion treten Feldbussysteme: Serielle Datenkommunikationssysteme für den Datenaustausch im Feldbereich. Hier besonders Anforderungen an die Sicherheit der Datenübertragung: Datenintegrität, EMV-Resistenz 2015, IAS Universität Stuttgart 192

193 4.1 Kommunikationssysteme in der Automatisierungstechnik Klassifizierung von Feldbuskonzepten Vernetzung von dezentralen, im Feld untergebrachten AT- Computern Vernetzung von E/A-Knoten Vernetzung von Sensoren-/Aktoren mit Busschnittstelle Zentraler Computerbereich Feldbus- Schnittstelle "Feldbus" Automati- sierungs- Computer Automati- sierungs- Computer E/A- Knoten Feldbus E/A- Knoten Feldbus (Aktor/Sensor- Bus) Feldbereich Sensor/ Aktor- Schnittstelle 2015, IAS Universität Stuttgart 193

194 4.1 Kommunikationssysteme in der Automatisierungstechnik Grundstrukturen der Kommunikation a) Stern- Struktur DAE DAE DAE c) Netzstruktur ZAE DAE ZAE DAE DAE DAE DAE DAE DAE b) Ringstruktur DAE ZAE DAE d) Busstruktur ZAE (Datensammelleitung) DAE DAE DAE DAE DAE DAE ZAE = zentrale Automatisierungseinheit DAE = dezentrale Automatisierungseinheit 2015, IAS Universität Stuttgart 194

195 4.1 Kommunikationssysteme in der Automatisierungstechnik Eigenschaften Stern-Struktur Ausfall der Zentraleinheit bedeutet Ausfall der Kommunikation Ring-Struktur Jede Einheit kann nur an direkte Nachbarn übertragen Netz-Struktur Parallele Informationsübertragung, kurze Reaktionszeit, viele Schnittstellen, hohe Verkabelungskosten Bus-Struktur Nur jeweils ein Teilnehmer kann senden, gleichzeitige Informationsaufnahme von allen Teilnehmern 2015, IAS Universität Stuttgart 195

196 4.1 Kommunikationssysteme in der Automatisierungstechnik Parallele Busse Adressen, Daten und Steuersignale werden parallel übertragen Leitungsbündel mit aufwendigen Verbindungen (Klemmtechnik) Schwierigkeiten bei hohen Übertragungsraten bei unterschiedlichen Kabellängen (z.b. Quetschung) aufgrund Laufzeitunterschieden Serielle Busse Bits einer Nachricht zeitlich nacheinander niedrigere Leitungskosten Erhöhung der Zuverlässigkeit Flexibilität bezüglich Leitungsprotokollen 2015, IAS Universität Stuttgart 196

197 4.1 Kommunikationssysteme in der Automatisierungstechnik Buszugriffsverfahren - Übersicht Bussysteme lassen sich nach ihrem Zugriffskonzept klassifizieren. Nur bei den deterministischen Verfahren kann die max. Antwortzeit garantiert werden. Bei nicht-deterministischen Verfahren ist die Antwortzeit nur statistisch beschreibbar. Buszugriffsverfahren = Regeln für das Senden von Nachrichten Buszugriffsverfahren Kontrolliert (deterministisch) zufällig (nicht deterministisch) Zentrale Buszuteilung dezentrale Buszuteilung CSMA (Carrier Sense Multiple Access) Master/Slave Tokenring, TDMA CD CA Ethernet CAN 2015, IAS Universität Stuttgart 197

198 4.1 Kommunikationssysteme in der Automatisierungstechnik Verfahren: Kontrollierter Buszugriff Master-Slave Der Master fragt alle Slaves periodisch ab, ob sie senden wollen oder empfangen können (sog. Polling) Master Vorteile: Einfache Organisation Sichergestellte Maximalzeit Nachteile: Maximale Latenzzeit proportional zur Anzahl der Busteilnehmer Slave 1 Slave 2... Slave n die Slaves dürfen nur auf Anfrage des Masters Nachrichten übermitteln bei Ausfall des Masters keine Kommunikationsbeziehung mehr möglich 2015, IAS Universität Stuttgart 198

199 4.1 Kommunikationssysteme in der Automatisierungstechnik Verfahren: Kontrollierter Buszugriff Token-Passing Token wird von einer Station zur benachbarten Station in logischer Ringtopologie weitergeleitet B A Möchte Teilnehmer A Daten an Teilnehmer C übermitteln, wartet er bis das Token ihn passiert und hängt ihm, sofern es frei ist, das Datenpaket an und adressiert es an Teilnehmer C. C Vorteile + gutes, vorhersagbares Echtzeitverhalten + sehr gute Hochlasttauglichkeit Nachteile - lange Verzögerungszeiten im Fehlerfall - Überwachung der Tokenweitergabe - Reinitialisierung nach Tokenverlust 2015, IAS Universität Stuttgart 199

200 4.1 Kommunikationssysteme in der Automatisierungstechnik TDMA-Verfahren (1) Jeder Teilnehmer innerhalb einer Periode (TDMA-Zyklus) bekommt einen oder mehrere Zeitschlitze bestimmter Länge Prinzip des verteilten Schieberegisters Master-Schieberegister mit m * n Bit Takt Register in Teilnehmer 1 Register in Teilnehmer 2 Register in Teilnehmer n 2015, IAS Universität Stuttgart 200

201 4.1 Kommunikationssysteme in der Automatisierungstechnik TDMA- Verfahren (2) Vorteile kurze, konstante Zykluszeit geringer Protokoll Overhead Nachteile zeitliche Synchronisierung der Teilnehmer notwendig ungeeignet für autonome Teilnehmer wenig flexibel, keine dynamische Anpassung 2015, IAS Universität Stuttgart 201

202 4.1 Kommunikationssysteme in der Automatisierungstechnik Zugriffssteuerung Verfahren : Zufälliger Buszugriff CSMA Carrier Sense Multiple Access Prinzip des Telefons: Sendewille Carrier Sense (Leitung frei)? Ja Senden Nein Multiple Access (Warte, um später zu versuchen) Es wird bei Sendewille zuvor festgestellt, ob die Leitung frei ist, dann wird gesendet. Sonst wird gewartet und später versucht. Problematik Zeitverhalten, insbesondere für Automatisierungsanwendungen zufälliger Zugriff (d.h. nicht deterministisch), jeder kann beliebig zugreifen, es ist nicht sichergestellt, dass ein Sende-recht in bestimmter Zeit erteilt wird im Prinzip nicht echtzeitfähig Ausnahmen: a) zeitlich geringe Busbelastung (<10%) b) zeitunkritische Übertragungen 2015, IAS Universität Stuttgart 202

203 4.1 Kommunikationssysteme in der Automatisierungstechnik CSMA/CD-Verfahren (Collision Detection) Erkennung von Kollisionen durch Datenabgleich Sendewiederholung nach teilnehmerspezifischer Wartezeit Vorteile niedrige Busbelastung kurze Latenzzeit im Niederlastbereich Nachteile im Hochlastbereich lange Wartezeiten 2015, IAS Universität Stuttgart 203

204 4.1 Kommunikationssysteme in der Automatisierungstechnik CSMA/CA-Verfahren (Collision Avoidance) Vermeidung von Kollisionen durch Prioritätsregeln Prioritätsregeln Adress-Arbitrierung Teilnehmer mit niedrigster/ höchster Adresse setzt sich bei gleichzeitigem Sendeversuch durch. Zeitspanne-Zuordnung Nach Beendigung einer Sendung teilnehmerspezifische Wartezeitspanne 2015, IAS Universität Stuttgart 204

205 4.1 Kommunikationssysteme in der Automatisierungstechnik Frage zu Kapitel 4.1 Es gibt eine Reihe unterschiedlicher Strukturen für ein Kommunikationssystem. Welchen der folgenden Aussagen würden Sie zustimmen? Antwort Eine Busstruktur verursacht den geringsten Verkabelungsaufwand Eine Busstruktur ist schneller als eine Netzstruktur Eine Netzstruktur kann eine größerer Datenmenge parallel übertragen als eine Busstruktur Eine Busstruktur hat kürzere Reaktionszeiten als eine Netzstruktur Eine Netzstruktur ist einfacher zu erweitern als eine Sternstruktur Eine Busstruktur eignet sich nur für dezentrale Systeme 2015, IAS Universität Stuttgart 205

206 4.1 Kommunikationssysteme in der Automatisierungstechnik Frage zu Kapitel 4.1 Welche der folgenden Aussagen zum Thema deterministischer / zufälliger Buszugriff stimmen Sie zu? Antwort Beim deterministischen Buszugriff existiert ein festgelegtes Verfahren für den Zugriff eines Teilnehmers. Beim zufälligen Buszugriff kann jeder Teilnehmer zu jedem Zeitpunkt schreibend auf den Bus zugreifen. Es können beim deterministischen Buszugriff Aussagen zum Antwortverhalten gemacht werden. Der deterministische Buszugriff ermöglicht schnellere Antwortzeiten. Das Token-Passing-Verfahren gehört zu den Verfahren mit zufälligem Buszugriff. Bei Verfahren mit zufälligem Buszugriff bedeutet ein gleichzeitiger Schreibzugriff mehrerer Teilnehmer immer die Zerstörung der Nachricht. 2015, IAS Universität Stuttgart 206

207 4 Kommunikationssysteme 4.1 Kommunikation in der Automatisierungstechnik 4.2 Bedeutende Kommunikations- bzw. Feldbussysteme 4.3 Industrial Ethernet 4.4 Drahtlose Kommunikation 2015, IAS Universität Stuttgart 207

208 4.2 Bedeutende Kommunikations- bzw. Feldbussysteme Kommunikationssysteme Es existieren Kommunikationssystemen die für einfache Anforderungen alternativ zu Feldbussen der Automatisierung eingesetzt werden. UART (Universal Asynchronous Receiver Transmitter) realisiert eine digitale serielle Schnittstelle weit verbreitet in Mikrocontrollers und Chipsätzen Startbit, 5 bis 9 Datenbits, Optionales Parity Bit, Stopp-Bit Bitraten üblich bis 500K Bit/s USB Serielles Bussystem mit sehr hohen Datenraten (9,7 GBit / s bei USB 3.1) Anschluss mehrere Geräte über Verteiler (engl. Hubs) in Baumstrukturen Zentraler Master mit theoretisch bis zu 127 Slaves 2015, IAS Universität Stuttgart 208

209 4.2 Bedeutende Kommunikations- bzw. Feldbussysteme I²C (Inter-Integrated Circuit) Inter IC Bus) / auch TWI (Two Wire Interface) Von Philips entwickelt 2 Busleitungen erforderlich: serielle Datenleitung (SDA), serielle Taktleitung (SCL). Master gibt Takt vor (anpassbar), kein Taktgeber im Slave erforderlich Übertragungsraten Bidirektional: 100 kbit/s bis 3,4 Mbit/s Unidirektional: 5 Mbit/s Ablauf der Kommunikation Senden S Slave Address 0 A Daten A Daten A P Empfangen S Slave Address 1 A Daten A Daten A P Start 7 Bit R/W 8 Bit ACK NACK Stopp 2015, IAS Universität Stuttgart 209

210 4.2 Bedeutende Kommunikations- bzw. Feldbussysteme IO-Link / SDCI (Single-drop digital communication interface for small sensors and actuators) Anschluss mehrerer Geräte über Verteiler (Baumstruktur) Standardisierte elektrische Anschlussdaten und digitales Kommunikationsprotokoll 3 adriger Leiter; bis 20m Nach IEC genormt Master / Slave Zugriffsverfahren IO-Link Master 8 Anschlüsse Feldbus Industrial Ethernet IO-Link Sensorhub max.16 Sensoren / Aktoren pro Hub Max. 128 Sensoren /Aktoren pro Master 2015, IAS Universität Stuttgart 210

211 System management Physical Layer (PL) Data Link Layer (DL) System management Application layer (AL) 4.2 Bedeutende Kommunikations- bzw. Feldbussysteme Übersicht der IO-Link Kommunikation Master - Anwendungen Lesen auf Anfrage Schreiben Events Input zyklisch Output DL Port DL Port DL Port Kommunikationskanal Lesen Schreiben Events Input zyklisch Output auf Anfrage Feldgerät (Sensor oder Aktor) 2015, IAS Universität Stuttgart 211

212 4.2 Bedeutende Kommunikations- bzw. Feldbussysteme Feldbussysteme Beispiele Hersteller und Haupteinsatzgebiet AS-Interface 11 Aktor-/Sensorhersteller, Einfache Schnittstelle binärer Feldgeräte PROFIBUS (Process Field Bus) Verbundprojekt Feldbus europäischer Feldbusstandard Industrial Ethernet Ethernet-Erweiterungen für den Einsatz in der Automatisierungstechnik LIN kostengünstige Kommunikation in Kraftfahrzeugen (heute nach ISO 17987) CAN BOSCH Haupteinsatzgebiet im Kfz FlexRay FlexRay-Konsortium Kraftfahrzeug 2015, IAS Universität Stuttgart 212

213 4.2 Bedeutende Kommunikations- bzw. Feldbussysteme Vielzahl von Feldbussystemen in der Fertigungsautomatisierung Quelle: HMS Industrial Networks (Schätzung Stand 2014) 2015, IAS Universität Stuttgart 213

214 4.2 Bedeutende Kommunikations- bzw. Feldbussysteme Aktor-Sensor-Bussystem: Anforderungen Sensoren/Aktoren verschiedener Hersteller anschließbar Kurze Systemreaktionszeit Geringe Anschlusskosten Geringes Bauvolumen Einfache Handhabung bei Verkabelung und Inbetriebnahme Beispiel: Aktor-Sensor Interface (AS i) Ausrichtung auf Sensor-Aktor-Ebene Geringe Datenmenge pro Teilnehmer Kurze Reaktionszeiten Ersatz der parallelen Verkabelung von binären Aktoren/Sensoren Signale und Spannungsversorgung über die gleiche Leitung 2015, IAS Universität Stuttgart 214

215 4.2 Bedeutende Kommunikations- bzw. Feldbussysteme AS i - Prinzipaufbau 1 Masterknoten Variante 1: In Steuerung integrierter Knoten Variante 2: Separates Aufschaltmodul (z.b. für SPS) Überwacht Buskommunikation Slaveknoten Variante 1: Sensoren/Aktoren mit integriertem AS i - Slavechip Variante 2: Separates Aufschaltmodul AS i - Masterknoten Netzgerät Steuerung AS i - Masterchip AS i - Leitung Gemeinsame Leitung für Signale und Versorgung AS i -Slavechip Modulschaltung S/ A S/ A S/ A S/ A AS i -Slavechip Sensor/Aktuator AS i - SlaveKnoten 2015, IAS Universität Stuttgart 215

216 4.2 Bedeutende Kommunikations- bzw. Feldbussysteme PROFIBUS Feldbusfamilie: PROFIBUS DP PROFIBUS FMS PROFIBUS PA (Dezentrale Peripherie) (Field Message Specification) (Prozess-Automatisierung) Unterscheidung von Master- und Slave-Teilnehmern Master-Teilnehmer (aktive Teilnehmer) Sendung von Nachrichten ohne Aufforderung bei Tokenbesitz Slave-Teilnehmer (passive Teilnehmer) kein Tokenbesitz möglich Quittierung von Nachrichten auf Anfrage Nachrichtenübermittlung 2015, IAS Universität Stuttgart 216

217 4.2 Bedeutende Kommunikations- bzw. Feldbussysteme Hybrides Zugriffsverfahren beim PROFIBUS aktive Busteilnehmer (Master-Geräte) 2 SPS SPS 1 3 Profibus M M V Messwert- Sensor Sensor Antrieb Aktor Sensor Antrieb geber passive Busteilnehmer (Slave-Geräte) 2015, IAS Universität Stuttgart 217

218 4.2 Bedeutende Kommunikations- bzw. Feldbussysteme Interbus-S Zielsetzung: Zyklisch anfallende Daten im Sensor-Aktor-Bereich ohne großen Overhead zu übertragen. Topologie: aktiver Ring Master-Slave-Verfahren, feste Telegramm-Länge, deterministischer Ring Übertragungsrate: 500 kbit/s max E/A-Punkte Buslänge: bis zu 400 m (zwischen zwei benachbarten Feldbus-Teilnehmern) Gesamtlänge: 13 km Physikalische Adressierung: Zuweisung der Daten zu den einzelnen Teilnehmern nicht über die Vergabe einer Busadresse, sondern automatisch über die physikalische Lage der Teilnehmer im System. 2015, IAS Universität Stuttgart 218

219 4.2 Bedeutende Kommunikations- bzw. Feldbussysteme Beispiel einer Interbus-Anordnung 2015, IAS Universität Stuttgart 219

220 4.2 Bedeutende Kommunikations- bzw. Feldbussysteme Prinzip des Schieberegisters Der Interbus ist ein geschlossener Schieberegisterring. Die Informationen fließen nur in eine Richtung. Die Informationen werden nacheinander durch den gesamten Ring geschoben. Protokoll Im Senderegister liegen die Daten für die Teilnehmer bereit (TN1, TN2 und TN3). Am Anfang der Datenkette steht das Loopback, am Ende das FCS und Control. [Quelle: Interbus ONLINE-Seminar, 2015, IAS Universität Stuttgart 220

221 4.2 Bedeutende Kommunikations- bzw. Feldbussysteme Local Interconnect Network (LIN) Kostengünstiges Feldbussystem / genormt nach ISO Master / Slaver Buszugriffsverfahren sehr weit verbreitet Übertragungsraten bis zu 20 kbit/s Wenig Mechanismen zum Erkennen von Übertragungsfehler Plug & Play Funktionalität für autom. Konfiguration der Slaves CAN - BUS CAN / LIN Gateway Master Funktion Slave Funktion Slave Funktion Steuergeräte am LIN-BUS Slave Funktion LIN-BUS 2015, IAS Universität Stuttgart 221

222 4.2 Bedeutende Kommunikations- bzw. Feldbussysteme CAN (Controller Area Network) von Bosch/Intel für den Einsatz im Automobilbereich entwickelt Airbag ABS Motormanagement Klimaanlage Weitere Anwendungsfelder: Gebäudeleittechnik Aufzugsteuerung Überwachung Alarmanlagen Klima Industrie-Automatisierung Fertigungstechnik Werkzeugmaschinen 2015, IAS Universität Stuttgart 222

223 4.2 Bedeutende Kommunikations- bzw. Feldbussysteme Eigenschaften des CAN Nachrichtenorientierte Adressierung Auf einem Knoten können mehrere Objekte liegen, Objekt wird adressiert, nicht der Knoten. Multimaster-Buszugriffstechnik Busvergabe nach Prioritäten bei Zugriffskonflikt durch nichtzerstörende, bitweise Arbitrierung nach dem CSMA/CA-Verfahren Kurze Botschaftslänge (0...8 Byte) Übertragungsraten bis 1 Mbit/s (bei max. 40 m Buslänge) Verschiedene Fehlererkennungsmechanismen Selbsttest durch Fehlerzähler Verursacht ein Knoten zu viele Fehler, so koppelt er sich schrittweise vom Bus ab. 2015, IAS Universität Stuttgart 223

224 4.2 Bedeutende Kommunikations- bzw. Feldbussysteme CAN für elektromagnetisch stark gestörte Umgebungen Störungserkennungsmechanismen Bit stuffing und destuffing nach 5 Bits gleichen Logikzustands ein Bit des entgegengesetzten Logikzustands, stuffing durch den Sender destuffing durch den Empfänger 15 BIT CRC (Cyclic Redundancy Check) zyklischer Binärcode mit 64 Nachrichtenstellen 15 Kontrollstellen Hammingdistanz d = 6 Restfehlerwahrscheinlichkeit Buspegelüberprüfung simultanes Zurücklesen Botschaftsrahmensicherung Prüfung des Rahmens auf Richtigkeit 2015, IAS Universität Stuttgart 224

225 4.2 Bedeutende Kommunikations- bzw. Feldbussysteme Datenrahmen Interframe Space Data-Frame > Bytes > 3 End of Frame ACK Delimiter ACK Slot ACK-Field Start of Frame Identifier RTR Bit Data Field Control Field Arbitrations Field CRC Delimiter CRC Sequence CRC-Field Video: Automatisierte Pyrotechnik-Show 2015, IAS Universität Stuttgart 225

226 4.2 Bedeutende Kommunikations- bzw. Feldbussysteme Zeitgesteuerte Bussysteme Zeitsteuerung = Aktionen werden durch das Fortschreiten der Zeit ausgelöst Vorteile der Zeitsteuerung Determinismus: Sicherheitseigenschaften einfacher nachprüfbar Synchronisierung der Applikationen auf verschiedenen Knoten Kopplung von Redundanzen zur Realisierung von Fehlertoleranz Verteilung einer geschlossenen Wirkungskette zur Realisierung von verteilten Regelungsanwendungen Nachteile der Zeitsteuerung Unflexibel bzgl. unvorhergesehener Ereignisse Unflexibel bzgl. nachträglichen Erweiterungen und Veränderungen des Systems 2015, IAS Universität Stuttgart 226

227 4.2 Bedeutende Kommunikations- bzw. Feldbussysteme Aufbau einer zeitgesteuerten Architektur Redundante Einheit Knoten AC KC Knoten AC KC Redundante Einheit Knoten AC KC Knoten AC KC AC: Applikationscontroller KC: Kommunikationscontroller verteiltes System (Cluster): Menge von Knoten, die über ein Bussystem kommunizieren statische Hardware-Redundanz: zwei oder mehrere Knoten nehmen dieselbe Aufgabe wahr Bildung von redundanten Einheiten Bussystem ebenfalls redundant ausgelegt 2015, IAS Universität Stuttgart 227

228 4.2 Bedeutende Kommunikations- bzw. Feldbussysteme Eigenschaften des zeitgesteuerten Kommunikationssystems Synchronität: Beispiele: TTP: FlexRay: Alle Busteilnehmer beziehen sich auf eine globale Uhr Zeitschlitzverfahren: Jeder Busteilnehmer hat zu einem bestimmten vorher festgelegten Zeitintervall Zugriff auf den Bus Statisches Nachrichtenscheduling: Die Sendezeitschlitze (Nachrichtenfahrplan) werden vor der Laufzeit statisch festgelegt Integriertes Netzwerkmanagement: Erkennen eines Knotenausfalls, Integration von Knoten Redundanzmanagement: Jeder beliebige Einfachfehler wird toleriert TU Wien, TTTech FlexRay-Consortium (BMW, Daimler, Bosch, Motorola, Philips) 2015, IAS Universität Stuttgart 228

229 4.2 Bedeutende Kommunikations- bzw. Feldbussysteme Nachrichtenfahrplan Beispiel: Nachrichtenfahrplan für TTP TDMA-Runde 0 TDMA-Runde 1 TDMA-Runde 2 TDMA-Runde 3 FSU6 N I N N FSU5 N I N N FSU4 N I N N FSU3 N I N N FSU2 N I N N FSU1 N T Slot TDMA-Runde (T TDMA = 2ms) I N N Zeit kompletter Cluster-Zyklus (T Cluster = 8ms) Legende: N Normal-Frame I Initialization-Frame Ansätze wie z.b. FlexRay: Integration zusätzlicher Nachrichtenframes für dynamische Inhalte 2015, IAS Universität Stuttgart 229

230 4.2 Bedeutende Kommunikations- bzw. Feldbussysteme FlexRay Entwicklung durch Konsortium aus Daimler, BMW, Motorola, Philips für sicherheits- und zeitkritische Anwendungen im Automobil ESP Fahrassistenzsysteme Eigenschaften: Übertragungsrate bis 10 MBit/s Multi-Master-Struktur Redundanz des Kommunikationskanals 24 Bit CRC (Cyclic Redundancy Check) 2015, IAS Universität Stuttgart 230

231 4.2 Bedeutende Kommunikations- bzw. Feldbussysteme FlexRay - Kommunikationszyklus Definierte Zykluszeit T Unterteilung jedes Zykluses in statisches und dynamisches Segment fester Nachrichtenfahrplan für statisches Segment jedes FlexRay-Zykluses anhand Zuordnung von Busteilnehmer/Nachricht zu Slotnummer kollisionsfreier, dynamischer Buszugriff im dynamischen Segment nach festen Prioritäten Priorität durch Zuordnung von Minislot zu Busteilnehmer festgelegt FlexRay Zyklus 0 FlexRay Zyklus 1 FlexRay Zyklus 2 FlexRay Zyklus 3 FlexRay Zyklus 62 FlexRay Zyklus 63 FlexRay Zyklus 0 Zyklus t/t n statisches Segment Slot dynamisches Segment Minislot 2015, IAS Universität Stuttgart 231

232 4.2 Bedeutende Kommunikations- bzw. Feldbussysteme Frage zu Kapitel 4.2 Welche der folgenden Aussagen zum Profibus stimmen Sie zu? Antwort Der Profibus ist ein Bussystem mit hybrider Kommunikation. Der Profibus nutzt zwischen aktiven Busteilnehmern ein zeitgesteuertes Busprotokoll. Der Profibus nutzt ausschließlich deterministische Buszugriffs-Verfahren. Der Profibus muss eine Ringtopologie aufweisen. Die Übertragungsrate beim Profibus ist unabhängig von der Ausdehnung des Bussystems 2015, IAS Universität Stuttgart 232

233 4 Kommunikationssysteme 4.1 Kommunikation in der Automatisierungstechnik 4.2 Bedeutende Kommunikations- bzw. Feldbussysteme 4.3 Industrial Ethernet 4.4 Drahtlose Kommunikation 2015, IAS Universität Stuttgart 233

234 4.3 Industrial Ethernet Vernetzung mit Ethernet Durchgängiger Einsatz des Kommunikationssystems von strategischer bis operative Ebene in Produkt- und Anlagenautomatiserung Strategische Ebene Dispositive Ebene Taktische Ebene Operative Ebene technischer Prozess Anforderungen an Kommunikationssystem: hohe Übertragungsrate Echtzeitfähigkeit Zuverlässigkeit Robustheit gegenüber elektrostatischen, mechanischen, physikalischen und chemischen Einflüssen 2015, IAS Universität Stuttgart 234

235 4.3 Industrial Ethernet Industrial Ethernet für die Anlagenautomatisierung: Zielsetzung: Einsatz von Ethernet (IEEE 802.3) auf der Feldebene Herausforderungen: lange Latenzzeiten durch Netzwerktopologie nicht deterministischer Buszugriff geringe mechanische Robustheit 2015, IAS Universität Stuttgart 235

236 4.3 Industrial Ethernet Industrial Ethernet - Topologie zur Reduktion der Latenzzeiten: Einführung von Automatisierungszellen Innerhalb einer Zelle: Echtzeitbetrieb Zellübergreifend: kein Echtzeitbetrieb Ermöglichung einer Linientopologie innerhalb Automatisierungszellen kein Echtzeitverhalten Gateway Gateway AT-Computer AT-Computer AT-Computer AT-Computer AT-Zelle mit Sterntopologie AT-Computer AT-Zelle AT-Computer AT-Zelle AT-Zelle mit Linientopologie 2015, IAS Universität Stuttgart 236

237 4.3 Industrial Ethernet Industrial Ethernet - Protokollanpassungen (1/2): Möglichkeit 1: Einführung eines isochronen Sendebereichs: mit Master-Slave-Verfahren: Ablauf: 1. Master sendet Synchronisation 2. Master fordert Slaves auf, hochpriore Nachrichten zu senden 3. Master gibt einem Slave das Recht, asynchrone, niederpriore Daten zu senden mit synchronen Uhren (Zeitschlitzverfahren): isochrone Phase: TDMA: zeitgesteuerte Kommunikation mit Nachrichtenfahrplan asynchrone Phase: CSMA/CD 2015, IAS Universität Stuttgart 237

238 4.3 Industrial Ethernet Industrial Ethernet Protokollanpassungen (2/2): Möglichkeit 2: Implizite Adressierung von echtzeitkritischen Prozessdaten innerhalb eines Ethernetframes Ethernet Header HDR 1 HDR HDR Data 1 Data 2 Data n 2 n CRC Telegramm 1 Telegramm 2 Telegramm n Hardwaregestützte Verarbeitung der Daten ohne Pufferung spezieller Hardwaretreiber in jedem Gerät nötig Synchrone Uhren in einzelnen Geräten nötig 2015, IAS Universität Stuttgart 238

239 4.3 Industrial Ethernet Frage zu Kapitel 4.3 Welche Eigenschaften von Ethernet nach dem Standard IEEE sind für den Einsatz in der Automatisierungstechnik primär nachteilhaft? Antwort Günstige, kleine Steckverbindungen Das spezifizierte Buszugriffsverfahren CSMA-CD Große Freiheitsgrade bei der Gestaltung der Netzwerktopologie Die maximal möglichen Übertragungsraten 2015, IAS Universität Stuttgart 239

240 4 Kommunikationssysteme 4.1 Kommunikation in der Automatisierungstechnik 4.2 Bedeutende Kommunikations- bzw. Feldbussysteme 4.3 Industrial Ethernet 4.4 Drahtlose Kommunikation 2015, IAS Universität Stuttgart 240

241 usinenouvelle.com fml.mw.tum.de yitran.com chip-.de 4.4 Drahtlose Kommunikation Beispiele für drahtlose Kommunikation 2015, IAS Universität Stuttgart 241

242 4.4 Drahtlose Kommunikation Bluetooth Industriestandard (IEEE ) Verbindungslose und verbindungsbehaftete Übertragungen Punkt - zu - Punkt Übertragungen, Ad-hoc-Netze oder Pico-Netze. Übertragungsraten: Bluetooth 2.0: 2,1 Mbit/s Sicherheit: jeder Adapter hat eine eigene, einmalige ID und Verschlüsselung der Übertragung sowie Frequenz-Hopping mögliche Interferenzen zwischen Bluetooth und anderen, im 2,4- Gigahertz-Bereich arbeitenden Funktechniken 2015, IAS Universität Stuttgart 242

243 IEEE ZigBee 4.4 Drahtlose Kommunikation ZigBee Baut auf Industriestandard (IEEE IEEE ) auf Ist ein Framework Anwendungsgebiet Hausautomatisierung Waschmaschine (Miele) Kaffeemaschine Anlagensteuerung Sicherheitsmechanismen Authentifizierungscode Pakete nicht abfangbar (Counter) APL (Anwendung) SEC (Security) NWK (Vermittlung) MAC (Sicherung) PHY (Bitübertragung) 2015, IAS Universität Stuttgart 243

244 4.4 Drahtlose Kommunikation Near Field Communication Es handelt sich dabei um die Zusammenführung der beiden proprietären RFID-Systeme MIFARE (ISO/IEC Typ A) und FeliCa. Übertragungsrate: 424 kbit/s Die NFC-Architektur gliedert sich in drei Betriebsarten: Peer-to-Peer-Modus, Reader/Writer-Modus Card-Emulation-Modus Verschlüsselung und Authentifizierungsverfahren Anwendungsgebiete: Bargeldlose Zahlung kleinerer Beträge: Apple Pay, Google Wallet Studentenausweis / Zutrittskontrollen / DB Touch and Travel 2015, IAS Universität Stuttgart 244

245 Kapitel 4: Kommunikationssysteme Vorbereitungsfragen zu Kapitel 4 Frage 1: Bussysteme (SS 2004) Beim Aktor/Sensor Interface (ASi), erfolgt die Nutzdatenübertragung und die Stromversorgung über die gleiche Leitung. Welche Voraussetzung muss dazu erfüllt sein? Was passiert, wenn diese Voraussetzung nicht erfüllt ist? Frage 2: Buszugriff (SS 2004) Beim Entwurf eines Automatisierungssystems stehen als Buszugriffsverfahren zwei Möglichkeiten zur Auswahl: Das Token-Passing-Verfahren und das CSMA/CA-Verfahren. Eine wichtige Anforderung an das System ist die Vermeidung von Verzögerungszeiten auf Grund von Fehlern in einzelnen Busteilnehmern. Erläutern Sie, wie sich die beiden Verfahren jeweils auf diese Anforderung an das Automatisierungssystem auswirken. 2015, IAS Universität Stuttgart 245

246 Kapitel 5: Echtzeitprogrammierung 5 Echtzeit-Programmierung Lernziele: Wissen, was man unter Echtzeit-Programmierung versteht Die Forderungen bei der Echtzeit-Programmierung kennen Zwischen harter und weicher Echtzeit unterscheiden können Wissen, was man unter synchroner Programmierung versteht Die asynchrone Programmierung kennen Erklären können, was Rechenprozesse sind Wissen, welche Möglichkeiten zur zeitlichen Synchronisierung es gibt Semaphorvariablen anwenden können Verstanden haben, was Scheduling-Verfahren sind Die unterschiedlichen Scheduling-Verfahren anwenden können Wissen, was ein Schedulability-Test ist 2015, IAS Universität Stuttgart 246

247 5 Echtzeit-Programmierung 5.1 Problemstellung 5.2 Echtzeit-Programmierverfahren 5.3 Rechenprozesse 5.4 Zeitliche Koordinierung von Rechenprozessen 5.5 Kommunikation zwischen Rechenprozessen 5.6 Scheduling-Verfahren 2015, IAS Universität Stuttgart 247

248 5.1 Problemstellung Was heißt Echtzeit-Programmierung? Nicht-Echtzeit-Datenverarbeitung Richtigkeit des Ergebnisses Echtzeit-Datenverarbeitung Richtigkeit des Ergebnisses Rechtzeitigkeit des Ergebnisses 2015, IAS Universität Stuttgart 248

249 5.1 Problemstellung NICHT-ECHTZEIT-DATENVERARBEITUNG: Eingangsdaten Datenverarbeitung Ausgangsdaten ECHTZEIT-DATENVERARBEITUNG: Zeit Zeit Zeit Eingangsdaten Datenverarbeitung Ausgangsdaten 2015, IAS Universität Stuttgart 249

250 5.1 Problemstellung Echtzeitprogrammierung (Realzeit-Programmierung) Erstellung von Programmen so, dass bei der Datenverarbeitung im Computer die zeitlichen Anforderungen an die Erfassung der Eingabedaten, an die Verarbeitung im Computer und an die Ausgabe der Ausgabedaten erfüllt werden. Zeitliche Anforderungen abhängig von den zeitlichen Abläufen im technischen Prozess Echtzeit: den echten Zeitabläufen entsprechend, keine Zeitdehnung, keine Zeitraffung Arten von Anforderungen an das zeitliche Verhalten der Datenverarbeitung Forderungen nach Rechtzeitigkeit Forderungen nach Gleichzeitigkeit 2015, IAS Universität Stuttgart 250

251 5.1 Problemstellung Zusammenspiel technischer Prozess und AT-System zeitabhängige Ausgabedaten Technischer Prozess zeitabhängige Eingabedaten Automatisierungs- system Bsp: Automatisierungssystem Technischer Prozess Fehlfunktion bei zu früh/zu spät ankommenden Sensor-/ Aktorwerten! 2015, IAS Universität Stuttgart 251

252 5.1 Problemstellung Unterschiede zwischen Informations- und Echtzeitsystemen Informationssysteme datengesteuert komplexe Datenstrukturen große Menge an Eingabedaten I / O -intensiv hardwareunabhängig Echtzeitsysteme ereignis-/zeitgesteuert einfache Datenstrukturen kleine Menge an Eingabedaten rechenintensiv hardwareabhängig 2015, IAS Universität Stuttgart 252

253 5.1 Problemstellung Wichtige Begriffe (2) Harte Echtzeitsysteme Einhaltung von strengen Zeitschranken (Deadlines) ist unabdingbar Weiche Echtzeitsysteme Systeme bei denen eine Verletzung von Zeitschranken toleriert werden kann. Nutzen Deadline Harte Echtzeitsysteme Weiche Echtzeitsysteme Zeit 2015, IAS Universität Stuttgart 253

254 5.1 Problemstellung Forderung nach Rechtzeitigkeit rechtzeitiges Abrufen der Eingabedaten rechtzeitige Durchführung der Verarbeitung rechtzeitige Ausgabe der Ausgabedaten Zeitbedingungen im Zusammenhang mit Rechtzeitigkeit: Absolutzeitbedingungen Bsp.: 11:45 Signal zur Abfahrt Relativzeitbedingungen Bsp.: wenn ein Messwert einen Grenzwert überschreitet, nach 10 Sekunden Abschaltsignal 2015, IAS Universität Stuttgart 254

255 5.1 Problemstellung Klassifizierung von Zeitbedingungen (1) Ausführung einer Funktion zu festen Zeitpunkten t 1, t 2, t t 1 t 2 t 3 t 4 t Ausführung einer Funktion in einem zu jedem Zeitpunkt t 1 zugeordneten Toleranzintervall Toleranzbereich 1 0 t 1 t 2 t 2015, IAS Universität Stuttgart 255

256 5.1 Problemstellung Klassifizierung von Zeitbedingungen (2) Ausführung einer Funktion in einem Zeitintervall bis zu einem spätesten Zeitpunkt t t 1 t Ausführung einer Funktion in einem Zeitintervall von einem frühesten Zeitpunkt t 1 an 1 0 t 1 t 2015, IAS Universität Stuttgart 256

257 5.1 Problemstellung Typische Anwendungsbeispiele mit Zeitbedingungen Ausführung einer Funktion zu festen Zeitpunkten Ausführung einer Funktion in einem Toleranz-Zeitintervall Ausführung einer Funktion in einem Zeitintervall bis zu einem spätesten Zeitpunkt Ausführung einer Funktion in einem Zeitintervall von einem frühesten Zeitpunkt an Absolutzeit- Bedingungen Kennfeldaufnahme an Prüfständen Erfassung von Regelgrößen Erfassung von Datentelegrammen Folgesteuerung bei Chargenprozessen Relativzeit- Bedingungen Analyse von Stoffen in der Chemie Messwertüberwachung auf gleitende Grenzen Erfassung von Stückgut- Kennungen Erfassung von Signalen einer Lichtschranke 2015, IAS Universität Stuttgart 257

258 5.1 Problemstellung Forderung nach Gleichzeitigkeit Vorgänge in Umwelt laufen gleichzeitig ab Echtzeit-Systeme müssen darauf gleichzeitig reagieren mehrere Datenverarbeitungsaufgaben müssen gleichzeitig durchgeführt werden Bsp.: Reaktion auf gleichzeitige Fahrt mehrerer Züge Verarbeitung mehrerer gleichzeitig anfallender Messwerte bei einer Heizung Motorsteuerung und ABS-System gleichzeitig 2015, IAS Universität Stuttgart 258

259 5.1 Problemstellung Realisierung von Gleichzeitigkeit - jede Datenverarbeitungsaufgabe durch getrennte Computer - einen Computer für alle Datenverarbeitungsaufgaben Voraussetzung: Vorgänge in der Umwelt langsam im Vergleich zum Ablauf der Programme im Rechner 2015, IAS Universität Stuttgart 259

260 5.1 Problemstellung Forderung nach Determiniertheit Determiniertheit = Vorhersehbarkeit des Systemverhaltens Parallele bzw. quasi parallele Abläufe sind im allgemeinen nicht vorhersehbar, zeitliche Verschiebungen können zu unterschiedlichen Abläufen führen. das zeitliche Verhalten ist nicht determiniert keine absolute Garantie der Sicherheit von Automatisierungssystemen 2015, IAS Universität Stuttgart 260

261 5.1 Problemstellung Determiniertheit von Echtzeit-Systemen Ein Echtzeit-System heißt determiniert, wenn es für jeden möglichen Zustand und für jede Menge an Eingabeinformationen eine eindeutige Menge von Ausgabeinformationen und einen eindeutigen nächsten Zustand gibt. Zeitlich determiniertes System: Antwortzeit für alle Ausgabeinformationen ist bekannt! In einem determinierten System ist garantiert, dass das System zu jedem Zeitpunkt reagieren kann, in einem zeitlich determinierten System zusätzlich auch bis wann die Reaktion erfolgt sein wird. 2015, IAS Universität Stuttgart 261

262 5.1 Problemstellung Arten von Echtzeitsystemen Dialogsysteme Eingabedaten über entsprechende Eingabemedien Tastatur Lichtgriffe Maus Warten auf Antwort, d.h. Ausgabe von Ergebnissen auf einem Ausgabemedium Bildschirm Bsp: Drucker Platzbuchungssysteme Luftfahrtgesellschaften Kontoführungssysteme bei Banken Lagerhaltungssysteme Rechtzeitigkeit bei Dialogsystemen 2015, IAS Universität Stuttgart 262

263 5.1 Problemstellung Automatisierungssysteme Zeitliche Reaktion abhängig von den Vorgängen im technischen Prozess Rechtzeitigkeit bei Automatisierungssystemen Methoden der Echtzeit-Programmierung ähnlich für Automatisierungssysteme Dialogsysteme 2015, IAS Universität Stuttgart 263

264 5.1 Problemstellung Frage zu Kapitel 5.1 Um welche Art von Echtzeitsystem handelt es sich bei den nachfolgend aufgeführten Systemen jeweils? Antwort Zeitungsdruckwerk Steuerung eines elektrischen Fensterhebers Fahrgastinformation im Bahnverkehr Telefonvermittlung CNC-Fräskopfsteuerung Flugzeug-Triebwerkssteuerung Harte Echtzeitsysteme: Hartes Echtzeitsystem Weiches Echtzeitsystem Verletzung der Zeitschranken = Versagen des Automatisierungssystems Sach- / Personenschäden möglich 2015, IAS Universität Stuttgart 264

265 5 Echtzeit-Programmierung 5.1 Problemstellung 5.2 Echtzeit-Programmierverfahren 5.3 Rechenprozesse 5.4 Zeitliche Koordinierung von Rechenprozessen 5.5 Kommunikation zwischen Rechenprozessen 5.6 Scheduling-Verfahren 2015, IAS Universität Stuttgart 265

266 5.2 Echtzeit-Programmierverfahren Arten des Vorgehens Synchrone Programmierung: Planung des zeitlichen Ablaufs vor der Ausführung der Programme Asynchrone Programmierung (Parallelprogrammierung): Organisation des zeitlichen Ablaufs während der Ausführung der Programme 2015, IAS Universität Stuttgart 266

267 5.2 Echtzeit-Programmierverfahren Bsp.: Zahnarztpraxis als Realzeitsystem Patient Automatisierungsprogramm Ausführungsort Organisator Voraus- Planung Live- Planung 2015, IAS Universität Stuttgart 267

268 5.2 Echtzeit-Programmierverfahren Verfahren der synchronen Programmierung Synchrone Programmierung: Planung des zeitlichen Verhaltens zyklisch auszuführender Teilprogramme vor der Ausführung Synchronisierung der zyklisch auszuführenden Teilprogramme mit einem Zeitraster Zeitraster über Echtzeit-Uhr, Unterbrechungssignal zum Aufruf über Teilprogramme fest vorgegebene Reihenfolge des Ablaufs der Teilprogramme 2015, IAS Universität Stuttgart 268

269 5.2 Echtzeit-Programmierverfahren Bsp.: Heizungsregelung u 1 (t) u 2 (t) Regelstrecke 1 "Heizkreis Wohnung" Regelstrecke 2 "Heizkreis Büro" Raumtemperatur Wohnung y 1 (t) Bedienterminal Raumtemperatur Büro y 2 (t) u 3 (t) Regelstrecke 3 "Heizkessel" Vorlauftemperatur y 3 (t) Analog-Ausgabe Analog-Eingabe Prozess-Signal-Ein/Ausgabe Echtzeit- Uhr Automatisierungscomputer 2015, IAS Universität Stuttgart 269

270 5.2 Echtzeit-Programmierverfahren Fachtechnische (regelungstechnische) Konzeption Auslegung der Regelalgorithmen und Reglerparameter Festlegung der Abtastzeiten für die Regelkreise T = Echtzeituhr - Taktdauer T i = Abtastzeit für Regelkreis i T 1 = T T 2 = 2T T 3 = 5T 2015, IAS Universität Stuttgart 270

271 5.2 Echtzeit-Programmierverfahren Zuordnung von Bezeichnern und Abtastzeiten ein Teilprogramm für jeden Regelkreis Teilprogramm Temperatur-Regelung für die Regelstrecke Heizkreis Wohnung Temperatur-Regelung für die Regelstrecke Heizkreis Büro Temperatur-Regelung für die Regelstrecke Heizkessel Bezeichner (Name) REGELUNG 1 REGELUNG 2 REGELUNG 3 Abtastzeit (Zykluszeit) T 1 = T T 2 = 2T T 3 = 5T 2015, IAS Universität Stuttgart 271

272 5.2 Echtzeit-Programmierverfahren Grobentwurf bei synchroner Programmierung Unterbrechungssignale Von der Echtzeit-Uhr mit der Zykluszeit T ANFANG Alle T 1 = T REGELUNG1 aufrufen Alle T 2 = 2T REGELUNG2 aufrufen Alle T 3 = 5T REGELUNG3 aufrufen Warteschleife 2015, IAS Universität Stuttgart 272

273 5.2 Echtzeit-Programmierverfahren Feinentwurf bei synchroner Programmierung ANFANG Definition der Zählvariablen Z2 und Z3 Im Zeitabstand T aufeinanderfolgende Unterbrechungssignale bewirken Start an dieser Stelle Z2 := 1 Z3 := 1 REGELUNG1 abarbeiten Z2 und Z3 initialisieren nein Z2=2? Z2 := Z2 + 1 ja REGELUNG2 abarbeiten Z2 := 1 Z3 := Z3 + 1 nein Z3=5? ja REGELUNG3 abarbeiten Z3 := 1 Warteschleife 2015, IAS Universität Stuttgart 273

274 5.2 Echtzeit-Programmierverfahren Zeitlicher Ablauf synchroner Programmierung REGELUNG3 ca. 5T 2T T REGELUNG2 REGELUNG1 Steuerprogramm Unterbrechungssignale von der Echtzeit-Uhr 11 t Annahme: - Rechenzeit für Teilprogramme gleich groß - Summe der Rechenzeiten der drei Teilprogramme kleiner als Zykluszeit 2015, IAS Universität Stuttgart 274

275 5.2 Echtzeit-Programmierverfahren Eigenschaften der synchronen Programmierung (1) Forderung nach Rechtzeitigkeit wird näherungsweise erfüllt Forderung nach Gleichzeitigkeit wird erfüllt, wenn Zykluszeit T klein gegenüber den Zeitabläufen im technischen Prozess Synchrone Programmierung gut für Echtzeit-Systeme mit zyklischen Programmabläufen Synchrone Programmierung ungeeignet für die Reaktion auf zeitlich nicht vorhersehbare (asynchrone) Ereignisse Erhöhung der Rechenzeit durch ständiges Abfragen Verzögerung der Reaktion 2015, IAS Universität Stuttgart 275

276 5.2 Echtzeit-Programmierverfahren Eigenschaften der synchronen Programmierung (2) im Normalfall deterministisches Verhalten kein komplexes Organisationsprogramm etwas aufwendigere Planung (Entwicklung) Nachteil der synchronen Programmierung Änderung der Aufgabenstellung bedeutet Änderung der gesamten Programmstruktur! 2015, IAS Universität Stuttgart 276

277 5.2 Echtzeit-Programmierverfahren Verfahren der asynchronen Programmierung (Parallelprogrammierung) Organisationsprogramm (Echtzeitbetriebssystem) steuert während des Ablaufs der Teilprogramme den zeitlichen Aufruf Aufruf der Teilprogramme, wenn Zeitbedingungen erfüllt sind Gleichzeitige Ausführung wird nach bestimmter Strategie sequenzialisiert Zuordnung von Prioritätsnummern Priorität umso höher, je niedriger die Prioritätsnummer 2015, IAS Universität Stuttgart 277

278 Brenner- Störungssignal 5.2 Echtzeit-Programmierverfahren Bsp.: Heizungsanlage u 1 (t) Regelstrecke 1 y 1 (t) u 2 (t) Regelstrecke 2 y 2 (t) Warnlampe u 3 (t) Regelstrecke 3 y 3 (t) Analog-Ausgabe Analog-Eingabe Digital- Ausgabe Digital- Eingabe Prozesseinheit Echtzeit Uhr Automati- sierungs- Computer Bedienterminal Drucker 2015, IAS Universität Stuttgart 278

279 5.2 Echtzeit-Programmierverfahren Zuordnung von Bezeichnern, Abtastzeiten und Prioritäten Teilprogramm Bezeichner Abtastzeit Prioritätsnummer Priorität Reaktion auf Brennerstörung mit Alarmmeldung ALARM 1 höchste Temperatur- Regelung für Heizkreis 1 Temperatur- Regelung für Heizkreis 2 REGELUNG1 T 1 = T 2 REGELUNG2 T 2 = 2T 3 zweithöchste dritthöchste Temperatur- Regelung für Heizkreis 3 REGELUNG3 T 3 = 5T 4 niedrigste 2015, IAS Universität Stuttgart 279

280 5.2 Echtzeit-Programmierverfahren Zeitlicher Verlauf der Teilprogramme 2015, IAS Universität Stuttgart 280

281 5.2 Echtzeit-Programmierverfahren Eigenschaften der asynchronen Programmierung Forderung nach Rechtzeitigkeit nur näherungsweise erfüllt Zeitbedingungen um so besser erfüllt, je höher die Priorität des jeweiligen Teilprogramms Ist-Zeitablauf kann sich gegenüber Soll-Zeitablauf stark verschieben Aufeinanderfolge der Teilprogramme ist nicht deterministisch, sondern stellt sich dynamisch ein Bei Programmerstellung lässt sich nicht im Voraus angeben, welches Teilprogramm zu welchem Zeitpunkt ablaufen wird einfache Entwicklung Komplexität im Verwaltungsprogramm Programmablauf schwer durchschaubar 2015, IAS Universität Stuttgart 281

282 5.2 Echtzeit-Programmierverfahren Ereignisgesteuerte Architekturen Alle Aktivitäten als Folge von Ereignissen Aktivierung von Tasks Senden von Nachrichten Unterstützung durch Echtzeitbetriebssysteme nicht-deterministisches Verhalten flexibel bezüglich Veränderungen Zeitgesteuerte Architekturen Periodische Durchführung aller Tasks und Kommunikationsaktionen Abtastung von externen Zustandsgrößen zu festgelegten Zeitpunkten wenig flexibel bei Änderungen einfach analysierbar Video: Echtzeitsimulation mit ASCET-SD 2015, IAS Universität Stuttgart 282

283 5.2 Echtzeit-Programmierverfahren Frage zu Kapitel 5.2 Welchen der folgenden Aussagen zum Thema Echtzeitprogrammierung stimmen Sie zu? Antwort Bei der Echtzeit-Programmierung steht nur der Zeitpunkt eines Ergebnisses im Vordergrund. Echtzeit bedeutet so schnell wie möglich. Bei weichen Echtzeit-Systemen müssen die Zeitschranken nicht eingehalten werden. Eine asynchrone Programmierung ist flexibler bei äußeren Einflüssen als eine synchrone Programmierung. Eine synchrone Programmierung setzt zyklische Programmabläufe voraus. Die synchrone Programmierung erfüllt nicht die Forderung nach Gleichzeitigkeit. 2015, IAS Universität Stuttgart 283

284 5 Echtzeit-Programmierung 5.1 Problemstellung 5.2 Echtzeit-Programmierverfahren 5.3 Rechenprozesse 5.4 Zeitliche Koordinierung von Rechenprozessen 5.5 Kommunikation zwischen Rechenprozessen 5.6 Scheduling-Verfahren 2015, IAS Universität Stuttgart 284

285 5.3 Rechenprozesse Unterscheidung Unterprogramm Rechenprozess Aufruf von Unterprogrammen Ausführung des aufrufenden Programms wird unterbrochen Ausführung des Unterprogramms (einmalige Ausführung der Befehlsfolge) Fortsetzung des aufrufenden Programms Aufruf eines Rechenprozesses gleichzeitige Ausführung des aufrufenden Programms und des aufgerufenen Rechenprozesses 2015, IAS Universität Stuttgart 285

286 5.3 Rechenprozesse Rechenprozess Ein Rechenprozess ist ein von einem Echtzeit-Betriebssystem gesteuerter Vorgang der Abarbeitung eines sequenziellen Programms. Eigenschaften von Rechenprozessen Rechenprozess beginnt mit Eintrag in eine Liste des Echtzeit- Betriebssystems und endet mit dem Löschen aus dieser Liste Rechenprozess existiert nicht nur während der Ausführung der Befehle, sondern auch während geplanter oder erzwungener Wartezeiten 2015, IAS Universität Stuttgart 286

287 5.3 Rechenprozesse Unterschiede zwischen Task und Thread Task Besitzer von Betriebsmitteln Eigener Adressraum Thread Kann außer Prozessor selbst keine Betriebsmittel besitzen, verfügt über alle Betriebsmittel der Task, der er angehört Adressraum der Task, der er angehört Enthält einen oder mehrere Threads Kommunikation über die Taskgrenzen hinaus, bevorzugt über Botschaften Element einer Task Kommunikation zwischen den Threads, bevorzugt über gleiche Daten 2015, IAS Universität Stuttgart 287

288 5.3 Rechenprozesse Grundzustände Zustand laufend (running) das Teilprogramm ist in Bearbeitung Zustand bereit oder ablaufwillig (runnable) alle Zeitbedingungen für den Ablauf sind erfüllt es fehlt der Start durch das Betriebssystem Zustand blockiert (suspended) Rechenprozess wartet auf den Eintritt eines Ereignisses Wenn das Ereignis eingetreten ist, Übergang aus dem Zustand blockiert in den Zustand bereit Zustand ruhend (dormant) Rechenprozess ist nicht ablaufbereit, weil Zeitbedingungen oder sonstige Voraussetzungen nicht erfüllt sind. 2015, IAS Universität Stuttgart 288

289 5.3 Rechenprozesse Zustandsdiagramm eines Rechenprozesses ruhend - dormant Vereinbarung des Rechenprozesses Löschen des Rechenprozesses Unter Einplanung versteht man die Beauftragung eines Rechenprozesses zyklisch oder zu bestimmten Zeiten der Übergang vom Zustand ruhend in den Zustand bereit bereit - runnable blockiert - suspended laufend - running 2015, IAS Universität Stuttgart 289

290 5.3 Rechenprozesse Verlauf des Rechenprozesses Regelung3 beim Verfahren der asynchronen Programmierung Der Rechenprozess Regelung3 ist: ablaufend (aktiv) blockiert ablaufwillig (bereit) ruhend 0 T 2T 3T 4T 5T 6T 7T 2015, IAS Universität Stuttgart 290

291 5.3 Rechenprozesse Prioritätsvergabe für Rechenprozesse statische Prioritätsvergabe dynamische Prioritätsvergabe (z.b. durch Verwendung von Deadlines) Zeitparameter eines Rechenprozesses: A: Arrival time (Ankunftszeitpunkt) R: Request time (Einplanungszeitpunkt) S: Start time (Startzeit, Zuteilung eines Betriebsmittels) C: Completion time (Beendigungszeitpunkt) D: Deadline (Maximalzeit) E: Execution time (maximale Ausführungsdauer) P: Period time (maximale Antwortzeit) L: Laxity (Spielraum) F(t): Flow time (Antwortzeit) RF(t): Remaining flow time (Restantwortzeit) 2015, IAS Universität Stuttgart 291

292 5.3 Rechenprozesse Auftreten der Zeitparameter eines Rechenprozesses Antwortzeit F(t) Restantwortzeit RF(t) Zustände eines Rechenprozesses "laufend" maximale Antwortzeitdauer P maximale Ausführungsdauer E E alt (t) E neu (t) Spielraum L A: Arrival time R: Request time S: Start time C: Completion time D: Deadline "blockiert" "bereit" "ruhend" A R S C D Betrachtungszeitpunkt t 2015, IAS Universität Stuttgart 292

293 5.3 Rechenprozesse Zusammenhang zwischen den Zeitparametern A <= R <= S <= C - E <= D - E E = E alt (t) + E neu (t) E alt (t): E neu (t): bisherige Ausführungsdauer zum Betrachtungszeitpunkt verbleibende Ausführungsdauer für die Ausführung eines Rechenprozesses L = D - S - E 2015, IAS Universität Stuttgart 293

294 5.3 Rechenprozesse Frage zu Kapitel 5.3 Welchen der folgenden Aussagen über die vier Task-Zustände stimmen Sie zu? Antwort Eine Task im Zustand runnable wird momentan ausgeführt. Ein Task-Zustand kann direkt von running zu dormant wechseln. Eine Task im Zustand suspended kann direkt in den Zustand running wechseln. Eine Task im Zustand dormant ist nicht bereit, da Zeit- oder andere Bedingungen nicht erfüllt sind. Eine Task im Zustand suspended wartet auf das Auftreten eines Events. 2015, IAS Universität Stuttgart 294

295 5 Echtzeit-Programmierung 5.1 Problemstellung 5.2 Echtzeit-Programmierverfahren 5.3 Rechenprozesse 5.4 Zeitliche Koordinierung von Rechenprozessen 5.5 Kommunikation zwischen Rechenprozessen 5.6 Scheduling-Verfahren 2015, IAS Universität Stuttgart 295

296 5.4 Zeitliche Koordinierung von Rechenprozessen Klassifikation von Aktionen eines Rechenprozesses Zwei Aktionen in Rechenprozessen heißen parallel, wenn sie gleichzeitig ablaufen können Zwei Aktionen heißen sequenziell, wenn sie in einer bestimmten Reihenfolge angeordnet sind Zwei Aktionen aus zwei verschiedenen Rechenprozessen heißen nebenläufig, wenn sie gleichzeitig ablaufen können (äußere Parallelität) Zwei Aktionen eines Rechenprozesses heißen simultan, wenn sie gleichzeitig ausgeführt werden können (innere Parallelität) 2015, IAS Universität Stuttgart 296

297 5.4 Zeitliche Koordinierung von Rechenprozessen Anforderung bei der Durchführung von Rechenprozessen Synchronität zwischen Rechenprozessen und den Vorgängen im technischen Prozess. Abhängigkeiten zwischen Rechenprozessen Logische Abhängigkeiten aufgrund der Vorgänge im technischen Prozess Abhängigkeiten durch die gemeinsame Benutzung von Betriebsmitteln 2015, IAS Universität Stuttgart 297

298 5.4 Zeitliche Koordinierung von Rechenprozessen Beispiel Abhängigkeit von Rechenprozessen aufgrund gemeinsam benutzter Betriebsmittel Gemeinsame Betriebsmittel: Protokolldrucker Analog-Eingabe Rechenprozess BETRIEBSMESSWERTE Analog- Eingabe belegen Betriebsmess- werte einlesen und umrechnen Rechenprozess PROZESSÜBERWACHUNG Treiberprogramm für Protokoll- drucker belegen Störungsmeldung an Protokoll- drucker ausgeben Treiberprogramm für Protokoll- drucker belegen Analog- Eingabe belegen Ausdruck Betriebsmesswerte und Uhrzeit Prozessgrössen einlesen und überwachen 2015, IAS Universität Stuttgart 298

299 5.4 Zeitliche Koordinierung von Rechenprozessen Probleme durch Abhängigkeiten Verklemmung (deadlock): zwei oder mehrere Rechenprozesse blockieren sich gegenseitig Permanente Blockierung (livelock, starvation) Konspiration von Rechenprozessen blockiert einen Rechenprozess zeitliche Koordinierung der Rechenprozesse notwendig = Synchronisierung von Rechenprozessen = Einschränkung des freien parallelen Ablaufs 2015, IAS Universität Stuttgart 299

300 5.4 Zeitliche Koordinierung von Rechenprozessen Beispiel für einen Deadlock - Straßenkreuzung ohne Ampelsteuerung - Verkehrsregel rechts vor links Animation: Deadlock 2015, IAS Universität Stuttgart 300

301 5.4 Zeitliche Koordinierung von Rechenprozessen Beispiel für einen Livelock: The Dining Philosophers - jeder Philosoph benötigt 2 Stäbchen zum Essen - es kann kein Stäbchen reserviert werden Animation: Livelock 2015, IAS Universität Stuttgart 301

302 5.4 Zeitliche Koordinierung von Rechenprozessen Hauptformen der Synchronisierung Logische Synchronisierung (aufgaben-/oder prozessorientierte Synchronisierung) - Anpassung des Ablaufs der Rechenprozesse an den Ablauf der Vorgänge im technischen Prozess - Synchronisierung bedeutet Erfüllung von Anforderungen bezüglich der Reihenfolge von Aktionen Berücksichtigung vorgegebener Zeitpunkte bzw. Zeitabstände Reaktionen auf Unterbrechungsmeldungen aus dem technischen Prozess Betriebsmittelorientierte Synchronisierung - Einhaltung von Bedingungen bezüglich der Verwendung gemeinsam benutzter Betriebsmittel (Ressourcen) 2015, IAS Universität Stuttgart 302

303 5.4 Zeitliche Koordinierung von Rechenprozessen Synchronisierungsverfahren Semaphore kritische Regionen Rendez-Vous-Konzept Grundgedanke bei allen Synchronisierungsverfahren Rechenprozess muss warten, bis ein bestimmtes Signal bzw. Ereignis eintrifft Einfügen von Wartebedingungen an den kritischen Stellen 2015, IAS Universität Stuttgart 303

304 5.4 Zeitliche Koordinierung von Rechenprozessen Semaphorkonzept Synchronisierung von Rechenprozessen durch Signale (Dijkstra) Semaphorvariable: - positive, ganzzahlige Werte - Semaphoroperationen: V(S) und P(S) V(S i ): Operation V(S i ) erhöht den Wert der Semaphorvariable S i um 1 P(Si): Operation P(S i ) bestimmt Wert von S i - ist Wert von S i > 0 wird S i um 1 erniedrigt - ist S i = 0 wird gewartet, bis S i > 0 geworden ist 2015, IAS Universität Stuttgart 304

305 Fahrtrichtung der Züge Fahrtrichtung der Züge 5.4 Zeitliche Koordinierung von Rechenprozessen Beispiel 1: Zugverkehr über eine eingleisige Strecke Gleismagnet Zug A Zug A Zug B Zug B Gleismagnet P(S 1 ) P(S 1 ) Signal S 1 01 V(S 1 ) V(S 1 ) Gleismagnet Gleismagnet Zug A Zug A Zug B Zug B 2015, IAS Universität Stuttgart 305

306 Fahrtrichtung der Züge 5.4 Zeitliche Koordinierung von Rechenprozessen Beispiel 2: Zugverkehr über eine eingleisige Strecke Gleismagnet Zug A Zug B Gleismagnet P(S1) P(S2) 01 Signal S1 Signal S2 1 0 V(S2) V(S1) Gleismagnet Gleismagnet Zug A Zug B 2015, IAS Universität Stuttgart 306

307 Rechenprozess A Rechenprozess B 5.4 Zeitliche Koordinierung von Rechenprozessen Beispiel 2: S 1 = 1 S 2 = 0 Ablaufreihenfolge bei Rechenprozessen: P (S 1 ) S 1 = 0 Zwei Rechenprozesse sollen stets abwechselnd laufen. V(S 2 ) S 2 = 1 P (S 2 ) S 2 = 0 V(S 1 ) S 1 = 1 P (S 1 ) S 1 = 0 V(S 2 ) S 2 = 1 P (S 2 ) S 2 = 0 t t 2015, IAS Universität Stuttgart 307

308 5.4 Zeitliche Koordinierung von Rechenprozessen Frage zu Kapitel 5.4 Um welche Art der Synchronisierung handelt es sich bei den folgenden Beispielen? Wieviele Semaphorvariablen werden jeweils benötigt? a) In einem Automatisierungssystem greifen zwei Tasks auf den gleichen Temperatursensor zu. b) Ein Regelalgorithmus wird in die drei Tasks Istwert einlesen, Stellgröße berechnen und Stellgröße ausgeben aufgeteilt, die immer in dieser Reihenfolge ablaufen müssen. Antwort 2015, IAS Universität Stuttgart 308

309 5 Echtzeit-Programmierung 5.1 Problemstellung 5.2 Echtzeit-Programmierverfahren 5.3 Rechenprozesse 5.4 Zeitliche Koordinierung von Rechenprozessen 5.5 Kommunikation zwischen Rechenprozessen 5.6 Scheduling-Verfahren 2015, IAS Universität Stuttgart 309

310 5.5 Kommunikation zwischen Rechenprozessen Begriffsbestimmung Synchronisierung = Erfüllung zeitlicher und logischer Randbedingungen beim parallelen Ablauf von Rechenprozessen Kommunikation = Austausch von Daten zwischen parallel ablaufenden Rechenprozessen 2015, IAS Universität Stuttgart 310

311 5.5 Kommunikation zwischen Rechenprozessen Möglichkeiten der Datenkommunikation Direkter Datenaustausch (Rendez-vous) Gemeinsam benutzter Speicher (shared memory) Gemeinsame Variable Gemeinsame komplexe Datenstruktur Versenden von Nachrichten (messages) Übertragung von Nachrichten von einem Rechenprozess zu einem anderen (message passing) Vor allem bei verteilten Systemen 2015, IAS Universität Stuttgart 311

312 5.5 Kommunikation zwischen Rechenprozessen Arten der Kommunikation Synchrone Kommunikation sendender und empfangender Rechenprozess kommunizieren an einer definierten Stelle im Programmablauf Asynchrone Kommunikation Daten werden gepuffert 2015, IAS Universität Stuttgart 312

313 5.5 Kommunikation zwischen Rechenprozessen Frage zu Kapitel 5.5 Welchen Aussagen zur asynchronen Kommunikation zwischen Tasks stimmen Sie zu? Antwort Gesendete Nachrichten können zwischengespeichert werden. Sendende Tasks werden nach Absenden einer Nachricht blockiert. Empfangende Tasks werden nach dem Empfang blockiert, bis sie auf die Nachricht geantwortet haben. Tasks müssen bei der Verwendung asynchroner Kommunikation nicht aufeinander warten. 2015, IAS Universität Stuttgart 313

314 5 Echtzeit-Programmierung 5.1 Problemstellung 5.2 Echtzeit-Programmierverfahren 5.3 Rechenprozesse 5.4 Zeitliche Koordinierung von Rechenprozessen 5.5 Kommunikation zwischen Rechenprozessen 5.6 Scheduling-Verfahren 2015, IAS Universität Stuttgart 314

315 5.6 Scheduling-Verfahren Scheduling-Problem Rechenprozesse benötigen Ressourcen (Prozessor, Ein-/Ausgabegeräte usw.) Ressourcen sind knapp Rechenprozesse konkurrieren um Ressourcen Zuteilung der Ressourcen muss verwaltet werden 2015, IAS Universität Stuttgart 315

316 5.6 Scheduling-Verfahren Scheduling Unter Scheduling versteht man die Vergabe des Prozessors an ablaufbereite Rechenprozesse nach einem festgelegten Algorithmus (Scheduling- Verfahren). Problem: 1. Gibt es für eine Menge von Tasks (Taskset) einen ausführbaren Plan (Schedule)? 2. Gibt es einen Algorithmus, der einen ausführbaren Schedule findet? 2015, IAS Universität Stuttgart 316

317 5.6 Scheduling-Verfahren Klassifizierung in Abhängigkeit vom Zeitpunkt der Planung Statisches Scheduling Planung des zeitlichen Ablaufs der Tasks erfolgt vor der Ausführung (dispatching table) Berücksichtigung von Informationen über Taskset, Deadlines, Ausführungszeiten, Reihenfolgebeziehungen, Ressourcen Dispatcher macht Zuteilung gemäß dispatching table Laufzeit- Overhead minimal determiniertes Verhalten Dynamisches Scheduling Organisation des zeitlichen Ablaufs während der Ausführung der Tasks erheblicher Laufzeit-Overhead 2015, IAS Universität Stuttgart 317

318 5.6 Scheduling-Verfahren Klassifizierung nach Art der Durchführung Preemptives Scheduling laufende Task kann unterbrochen werden höherpriore Task verdrängt niederpriore Task Nicht-preemptives Scheduling laufende Task kann nicht unterbrochen werden Prozessorfreigabe durch die Task selbst 2015, IAS Universität Stuttgart 318

319 5.6 Scheduling-Verfahren Scheduling-Verfahren FIFO-Scheduling (First-in-first-out) Zeitscheibenverfahren Scheduling mit festen (unveränderlichen) Prioritäten Ratenmonotones Scheduling Verfahren der kleinsten Restantwortzeit Verfahren des kleinsten Spielraums 2015, IAS Universität Stuttgart 319

320 5.6 Scheduling-Verfahren FIFO - Scheduling Nicht-preemptives Scheduling Task, deren Einplanung am weitesten zurückliegt bekommt Prozessor einfache Realisierung Beispiel: FIFO - Scheduling Task A bereit Task B bereit Task C bereit Task D bereit Tasks werden in der Reihenfolge ausgeführt, in der sie ablauffähig werden: t A B C D t 2015, IAS Universität Stuttgart 320

321 5.6 Scheduling-Verfahren Zeitscheibenverfahren (Round-Robin-Verfahren) Jede Task bekommt einen festgelegten Zeitschlitz, zu der sie den Prozessor bekommt Reihenfolge wird statisch festgelegt Abarbeitung einer Task Stück für Stück Verwendung bei Dialogsystemen (Multi-Tasking-Systeme) 2015, IAS Universität Stuttgart 321

322 5.6 Scheduling-Verfahren Beispiel: Round-Robin-Verfahren Jeder Zeitschlitz sei 10ms groß. Die Tasks werden in der zyklischen Reihenfolge A-B-C-D abgearbeitet. Zeitdauern der Tasks: Task A: 25ms Task B: 20ms Task C: 30ms Task D: 20ms A B C D A B C D A C t/ms 2015, IAS Universität Stuttgart 322

323 5.6 Scheduling-Verfahren Scheduling mit festen Prioritäten Prioritäten werden statisch vergeben Task mit höchster Priorität bekommt Prozessor preemptive und nicht-preemptive Strategie ist möglich einfache Implementierung 2015, IAS Universität Stuttgart 323

324 5.6 Scheduling-Verfahren Beispiel: Feste Prioritäten Task Prio A 1 höchste B 1 Prio C 2 D 3 E 3 Bei Tasks mit gleicher Priorität: Weitere unterlagerte Bedingung nötig. A* B C D E t 2015, IAS Universität Stuttgart 324

325 5.6 Scheduling-Verfahren Ratenmonotones Scheduling (Rate-Monotonic-Verfahren) Spezialfall des Verfahrens mit festen Prioritäten für zyklische Tasks Priorität um so höher, je kürzer die Zykluszeit (Periode) ist Task mit kleinster Zykluszeit erhält höchste Priorität preemptive Strategie 2015, IAS Universität Stuttgart 325

326 5.6 Scheduling-Verfahren Beispiel: Rate-Monotonic Scheduling Task Ausführungsdauer Zykluszeit Priorität A B C D 10 ms 20 ms 10 ms 20 ms 40 ms 50 ms 80 ms 100 ms Erste geplante Ausführung aller Tasks bei t = 0 ms. Danach werden die Tasks zyklisch wiederholt. A1 B1 C1 A2 B2 D1 a A3 C2 B3 A4 D1 b t / ms 2015, IAS Universität Stuttgart 326

327 5.6 Scheduling-Verfahren Verfahren der kleinsten Restantwortzeit Task mit kleinster Restantwortzeit bekommt den Prozessor preemptives Vorgehen hoher Rechenaufwand für das Scheduling Einhaltung von zeitlichen Anforderungen wird speziell unterstützt 2015, IAS Universität Stuttgart 327

328 5.6 Scheduling-Verfahren Beispiel: Earliest-Deadline-First-Verfahren Task Dauer T min T max A 10 ms 0 ms 40 ms B 10 ms 0 ms 30 ms C 30 ms 30 ms 100 ms D 40 ms 50 ms 200 ms E 10 ms 70 ms 90 ms t min : frühester Termin t max : spätester Termin = Deadline Ablauf: B A C D a E D b t/ms 2015, IAS Universität Stuttgart 328

329 5.6 Scheduling-Verfahren Verfahren des kleinsten Spielraums (least laxity) Task mit kleinstem Spielraum erhält Prozessor Berücksichtigung von Deadlines und Ausführungsdauern sehr aufwendiges Verfahren 2015, IAS Universität Stuttgart 329

330 5.6 Scheduling-Verfahren Beispiel: Least Laxity Verfahren Task Dauer Einplanung T D A 30 ms 0 ms 40 ms B 10 ms 0 ms 30 ms C 30 ms 30 ms 100 ms D 40 ms 50 ms 200 ms E 10 ms 70 ms 90 ms T D : Deadline Ablauf: A a B C E D A b t/ms 2015, IAS Universität Stuttgart 330

331 5.6 Scheduling-Verfahren Ausführbarkeitstest (schedulability test) Unter einem schedulability test versteht man die Prüfung, ob der zeitliche Ablauf für eine Menge von Tasks (Taskset) so geplant werden kann, dass jede Task ihre Deadline einhält. Nachdem es sich dabei um eine mathematische Beweisführung handelt, muss unterschieden werden zwischen notwendiger Bedingung hinreichender Bedingung notwendiger und hinreichender Bedingung 2015, IAS Universität Stuttgart 331

332 5.6 Scheduling-Verfahren Theorem von Liu und Layland (Teil I) Eine beliebige Menge periodischer Tasks (Deadline = Periode) kann durch das preemptive Earliest-Deadline-First-Verfahren ausgeführt werden, wenn gilt: i n 1 C T i i 1 Wobei: C i : Ausführungszeit der Task i T i : Zykluszeit der Task i n: Anzahl der Tasks 2015, IAS Universität Stuttgart 332

333 5.6 Scheduling-Verfahren Theorem von Liu und Layland (Teil II) Eine beliebige Menge periodischer Tasks (Deadline = Periode) kann durch das Rate-Monotonic Verfahren ausgeführt werden, wenn gilt: n i 1 C T i i U * n n 2 1 n 1, n 1, 2,... U U U U * 1 * 2 * 3 * 1,0 0,828 0,779 ln 2 0,693 Wobei: und: C i : Ausführungszeit der Task i T i : Zykluszeit der Task i U i : Utilization (Prozessorauslastung) n: Anzahl der Tasks U i C T i i 2015, IAS Universität Stuttgart 333

334 5.6 Scheduling-Verfahren Frage zu Kapitel 5.6 Beim sogenannten shortest-job-first Scheduling-Verfahren wird zur Laufzeit jeweils zuerst die Task bearbeitet, die die kürzeste Ausführungszeit hat. Laufende Tasks können dabei aber nicht von anderen unterbrochen werden. Um welche Art von Scheduling-Verfahren handelt es sich? Antwort Bemerkung: Das shortest-job-first Verfahren ermittelt immer einen Schedule, bei dem die mittlere Ausführungsdauer minimiert wird. 2015, IAS Universität Stuttgart 334

335 Kapitel 5: Vorbereitungsfrage Vorbereitungsfragen zu Kapitel 5 Frage 1: Deadlock (WS 2003/2004) Ein Programmierer behauptet, dass es in einem System mit gemeinsam genutzten Betriebsmitteln ohne entsprechende zusätzliche Sicherheitsmaßnahmen (z.b. Priority Ceiling Protocol) automatisch zu Deadlocks kommt. Stimmen Sie dieser Aussage zu? Begründen Sie Ihre Antwort. Frage 2: Gemeinsame Betriebsmittel (WS 2003/2004) Gegeben ist ein Taskset mit 5 Tasks (T1 bis T5). Die Tasks besitzen dabei feste Prioritäten entsprechend ihren Indizes, d.h. Task T1 besitzt die höchste Priorität und Task T5 die niedrigste. Das Scheduling erfolgt unter Verwendung des Priority Inheritance Protocol. Für ihre Ausführung benötigen die Tasks drei gemeinsam genutzte Betriebsmittel, wobei keine Task mehrere Betriebsmittel gleichzeitig halten kann. Die maximale Belegungsdauer für jedes Betriebsmittel beträgt 100ms. Wie groß sind die maximalen Blockierungsdauern, die auf Grund einer benötigten Ressource bei T1 und T5 auftreten können? Begründen Sie Ihre Antwort. 2015, IAS Universität Stuttgart 335

336 Kapitel 6: Echtzeit-Betriebssysteme 6 Echtzeit-Betriebssysteme Lernziele: Wissen, was ein Betriebssystem ist Erklären können, was man unter Betriebsmitteln versteht Die Aufgaben eines Echtzeit-Betriebssystems kennen Verstehen, was Interrupts sind Erklären können, wie die Speicherverwaltung arbeitet Das Vorgehen bei der Entwicklung eines Mini-Betriebssystems kennen Den Aufbau eines Beispiel-Mini-Betriebssystems verstanden haben Wissen, wie das Mini-Betriebssystem funktioniert Die Erweiterungen des Mini-Betriebssystems verstanden haben Die Abläufe im Mini-Betriebssystem nachvollziehen können Eine Übersicht über Echtzeit-Betriebssysteme erhalten 2015, IAS Universität Stuttgart 336

337 6 Echtzeit-Betriebssysteme 6.1 Begriffsbestimmung 6.2 Organisationsaufgaben eines Echtzeit-Betriebssystems 6.3 Entwicklung eines Mini-Echtzeit-Betriebssystems 6.4 Software-Systementwurf des Mini-Echtzeit-Betriebssystems 6.5 Beispiele für Echtzeit-Betriebssysteme 6.6 Prozessoren mit mehreren Kernen 2015, IAS Universität Stuttgart 337

338 6.1 Begriffsbestimmung Definition Definition DIN 44300: Betriebssysteme sind die Programme eines digitalen Rechensystems, die zusammen mit den Eigenschaften der Rechenanlage die Grundlage der möglichen Betriebsarten des digitalen Rechensystems bilden und insbesondere die Abwicklung von Programmen steuern und überwachen. Betriebssystem Systematisch aufgebaute Sammlung von Steuerungsund Hilfsprogrammen Zuteilung der vorhandenen Betriebsmittel zu den konkurrierenden Rechenprozessen Erleichterung der Bedienung und Programmierung des Rechners und der angeschlossenen Geräte für den Anwender 2015, IAS Universität Stuttgart 338

339 6.1 Begriffsbestimmung Eigenschaften von Betriebssystemen Realisierung der hardwareabhängigen Aufgaben häufig Mitlieferung vom Hersteller des Rechners Größe effizientes Betriebssystem setzt genaue Kenntnis der Hardwarestruktur voraus vielfach für ganze Rechnerlinie Amortisierung der hohen Entwicklungskosten eines Betriebssystems Integration klassischer Betriebssystembestandteile in Form von Halbleiterchips 2015, IAS Universität Stuttgart 339

340 6.1 Begriffsbestimmung Betriebsmittel Objekte, die Rechenprozesse während des Ablaufs benötigen und auf deren Zuteilung sie warten müssen Geräteeinheiten Prozessoren Speicher Peripheriegeräte wie Drucker Systemprogramme 2015, IAS Universität Stuttgart 340

341 6.1 Begriffsbestimmung Kategorien von Echtzeit-Betriebssystemen (1) Echtzeit-UNIX/Linux-konforme Systeme Portable Operating System Interface: IEEE 1003 / IEC 9945-Standard für Schnittstelle zwischen Applikation und Betriebssystem Kompatibel zu UNIX-System Erweiterungen um Echtzeitfunktionalitäten in IEEE Einsatz bei Prozessleitsystemen Echtzeit-Kernel UNIX/Linux-kompatibler Mikro-Kernel mit - Speicherverwaltung - Interruptverarbeitung - Scheduler - Taskverwaltung - Schnittstellen auf der Basis von TCP/IP optimal an Anforderungen angepasst gut optimierter Code für unterschiedliche Plattformen 2015, IAS Universität Stuttgart 341

342 6.1 Begriffsbestimmung Kategorien von Echtzeit-Betriebssystemen (2) Echtzeit-Betriebssystemerweiterungen Erweiterung von Nicht-Echtzeit-Betriebssystemen Bibliothek zur Einhaltung der Echtzeitbedingungen Reine Echtzeit-Betriebssysteme sehr effizient flexibel konfigurierbar vom Aufbau/Erscheinungsbild her an UNIX/Linux orientiert oftmals spezifisch auf Problembereiche angepasst 2015, IAS Universität Stuttgart 342

343 6.1 Begriffsbestimmung Übergang von Echtzeit-Programmierung zu Echtzeit- Betriebssystem Erfassung der Prozessgrößen des technischen Systems Abbildung der Prozessgrößen des technischen Prozesses Verarbeitung und Ausgabe/Weitergabe mittels Echtzeit-Programmier- Methoden Prozessgrößen im Echtzeit-Betriebssystem Rechenzeit: Rechenzeitanforderung eines technischen Prozesses zur Verarbeitung in der Echtzeitsteuerung Releasetime: Zeitpunkt, zu dem eine Rechenzeitanforderung auftritt Prozesszeit: Zeitlicher Abstand zwischen zwei Rechenzeitanforderungen gleichen Typs Deadline: Frühester und spätester Zeitpunkt für eine Reaktion Ausführungszeit: Summe der CPU-Zyklen für die Abarbeitung 2015, IAS Universität Stuttgart 343

344 6.1 Begriffsbestimmung Frage zu Kapitel 6.1 Was sind die Aufgaben der Rechenprozess-Verwaltung eines Betriebssystems? Antwort Erzeugung von Prozessen auf Anforderung des Betriebssystems. Erzeugung von Prozessen auf Anforderung anderer Prozesse. Kommunikation zwischen Prozessen. Entfernung von Prozessen. 2015, IAS Universität Stuttgart 344

345 6 Echtzeit-Betriebssysteme 6.1 Begriffsbestimmung 6.2 Organisationsaufgaben eines Echtzeit-Betriebssystems 6.3 Entwicklung eines Mini-Echtzeit-Betriebssystems 6.4 Software-Systementwurf des Mini-Echtzeit-Betriebssystems 6.5 Beispiele für Echtzeit-Betriebssysteme 6.6 Prozessoren mit mehreren Kernen 2015, IAS Universität Stuttgart 345

346 6.2 Organisationsaufgaben eines Echtzeit-Betriebssystems Aufgaben eines Echtzeit-Betriebssystems Verwaltung von Rechenprozessen und Betriebsmitteln wie Geräten, Speicher, Prozessoren, Netzwerk unter Erfüllung der Forderungen nach Rechtzeitigkeit, Gleichzeitigkeit und Effizienz. Betriebssystemfunktionen Prozess- und Datenabstraktion Organisation des Ablaufs der Rechenprozesse (Scheduling) Organisation der Speicherverwaltung Organisation des Ablaufs bei Abstraktion der Hardware Organisation der Interruptverwaltung Organisation der Ein-/ Ausgabe Verwaltung von Peripheriegeräten bzw. Komponenten irregulären Betriebszuständen und des (Wieder-) Anlaufs 2015, IAS Universität Stuttgart 346

347 6.2 Organisationsaufgaben eines Echtzeit-Betriebssystems Grundsätzliche Bestandteile eines Betriebssystems Applikationsschicht Dienste Bibliotheken Systemaufruf-Schnittstelle E/A-Manager, Interrupts Prozess- Manager, Scheduler Speicher- Manager Betriebssystemkern (Kernel) organisiert Applikationszugriffe, Systembibliotheken und Hardwarezugriffe Treiber-Schicht Abstrahiert Zugriffe auf die Hardware (standardisierte Schnittstelle) Hardware Prozessoren und Chipsätze einer Hardwarearchitektur 2015, IAS Universität Stuttgart 347

348 6.2 Organisationsaufgaben eines Echtzeit-Betriebssystems Rechenprozess-Verwaltung Arten von Rechenprozessen Anwenderprozesse Systemprozesse Aufgaben bei der Rechenprozess-Verwaltung Koordinierung des Ablaufs von Anwender- und Systemprozessen Parallelbetrieb möglichst vieler Betriebsmittel Abarbeitung von Warteschlangen bei Betriebsmitteln Synchronisierung von Anwender-Systemprozessen Vermeidung, Entdeckung und Behebung von Deadlocks 2015, IAS Universität Stuttgart 348

349 6.2 Organisationsaufgaben eines Echtzeit-Betriebssystems Speicherverwaltung Preis von Speicherplatz proportional zur Zugriffsgeschwindigkeit Speicherhierarchie-Ebenen Cache-Speicher (besonders schneller Halbleiterspeicher) Arbeitsspeicher Plattenspeicher Diskette Aufgaben der Speicherverwaltung Optimale Ausnutzung der schnellen Speicher Koordinierung des gemeinsamen Zugriffs auf einen Speicherbereich Schutz des Speicherbereichs verschiedener Rechenprozesse gegen Fehlzugriffe Zuweisung von physikalischen Speicheradressen für die logischen Namen in Anwenderprogrammen 2015, IAS Universität Stuttgart 349

350 6.2 Organisationsaufgaben eines Echtzeit-Betriebssystems Behandlung irregulärer Betriebszustände Klassifizierung von Fehlern (1) fehlerhafte Benutzereingaben nicht zulässige Eingaben müssen mit Fehlerhinweisen abgelehnt werden fehlerhafte Anwenderprogramme Gewährleistung, dass ein fehlerhaftes Anwenderprogramm keine Auswirkungen auf andere Programme hat 2015, IAS Universität Stuttgart 350

351 6.2 Organisationsaufgaben eines Echtzeit-Betriebssystems Klassifizierung von Fehlern (2) Hardwarefehler/-ausfälle Erkennung von Hardwarefehlern bzw. -ausfällen Rekonfigurierung ohne die fehlerhaften Teile Abschaltsequenzen bei Stromausfällen Deadlocks aufgrund dynamischer Konstellationen sichere Vermeidung von Deadlocks ist nicht möglich 2015, IAS Universität Stuttgart 351

352 Steigende Prio 6.2 Organisationsaufgaben eines Echtzeit-Betriebssystems Interrupt-Verwaltung Unterbrechung des geplanten Programmablaufs Beauftragung einer Behandlungsroutine Geplanter Programmablauf: (ohne Interrput) Steuerungsprogramm t Tatsächlicher Ablauf: (mit Interrupt) Interrupt 1 ISR 1 Steuerungsprogramm Steuerungsprogramm t 2015, IAS Universität Stuttgart 352

353 6.2 Organisationsaufgaben eines Echtzeit-Betriebssystems Behandlung von Interrupts Erzeugung und Verarbeitung von Interrupts Anstoß einer Interrupt-Routine bei gleichzeitiger Unterbrechung des gerade laufenden Rechenprozesses Priorisierung von Interrupts Hardwarefunktionen für die Interrupt-Behandlung (Mikrosekunden-Bereich) 2015, IAS Universität Stuttgart 353

354 6.2 Organisationsaufgaben eines Echtzeit-Betriebssystems Ein-/Ausgabesteuerung Verschiedenartige Typen von Ein-/Ausgabegeräten Unterscheidung in Kommunikationsverhalten (z.b. Geschwindigkeit) Unterscheidung in Datenformaten Realisierung der Ein-/Ausgabesteuerung Hardwareabstraktionsschicht des Betriebssystems realisiert den Zugriff und isoliert die spezifische Hardware von Betriebssystemkern Hardwareunabhängige Ebene für die Datenverwaltung und den Datentransport Hardwareabhängige Ebene, die alle gerätespezifischen Eigenschaften berücksichtigt (Treiber-Programme) 2015, IAS Universität Stuttgart 354

355 6.2 Organisationsaufgaben eines Echtzeit-Betriebssystems Echtzeitbetriebssysteme (1) Echtzeitanwendung ohne spezielle Systemsoftware Direkter Zugriff der Applikation auf Hardware Verwaltung der Prozessorinitialisierung und Interrupts durch Applikation Parallelverarbeitung nur durch Realisierungsmaßnahmen möglich, ohne Echtzeit-Scheduling über Interupts Realisierung in Assembler oder C Echtzeitanwendung mit Standard-Betriebssystem Für diverse Hardware-Plattform verfügbar Bibliotheken mit vorgefertigten Routinen gut optimierter Code und System-Security Einsatz bei weicher o. harter Echtzeitanforderung zw. 100 ms ~ 1000 ms 2015, IAS Universität Stuttgart 355

356 6.2 Organisationsaufgaben eines Echtzeit-Betriebssystems Echtzeitbetriebssysteme (2) Echtzeiterweiterung für Standardbetriebssysteme Deterministisches Zeitverhalten durch prioritätsbasiertes Scheduling oder Vergabe von Echtzeitprioritäten Verwendung von speziellen Interrupt-Routinen, die Prioritäten bei der Bearbeitung (Primär- / Secondäranteile) zuweisen Unterschiede bei der Bearbeitung von Echtzeitbedingungen und Betriebssystem-internen Prozessen Anpassung des Betriebssystemkernel Verlagerung der zeitkritischen Prozesse der Echtzeitapplikation in den Kernel Kompensation der langsamen echtzeit-ungerechten Applikationsebene durch Kernel-basierte direkte Ausführung 2015, IAS Universität Stuttgart 356

357 6.2 Organisationsaufgaben eines Echtzeit-Betriebssystems Beispiel Echtzeitbetriebssystem VxWorks Plattformen Weit verbreitet, viele Einsatzgebiete Verschlüsselungsmöglichkeiten für Anwendersoftware (Security) Zertifiziertes Scheduling- und Speichermanagement schützt sicherheitskritische Prozesse (Safty) Geheime Applikation Partition / Middleware Nicht-klassifizierte Applikation Partition / Middleware Echtzeit-Systemkern mit Systemroutinen, Scheduler, Speichermanager und kryptografischer Verschlüsselung Hardware-spezifische Anpassung Hardware 2015, IAS Universität Stuttgart 357

358 6.2 Organisationsaufgaben eines Echtzeit-Betriebssystems Beispiel Echtzeitbetriebssystem Echtzeit-Linux Kleiner Echtzeitkern, der als eigenständige Task (Linux-Task) abläuft Linux-Task wird nur aufgerufen, wenn keine Echtzeit-Tasks lauffähig sind Echtzeitkern sorgt dafür, dass Interrupts die Linux-Task jederzeit unterbrechen können Echtzeitkern verwaltet die Linux Interrupts Linux-Tasks Echtzeit- Tasks Echtzeit- FIFOs Linux Echtzeitkern Interrupt-Control-Hardware 2015, IAS Universität Stuttgart 358

359 6.2 Organisationsaufgaben eines Echtzeit-Betriebssystems Echtzeitbetriebssysteme auf Multicore-Basis Zuordnung der (Nicht-) Echtzeitaufgaben zu Prozessoren / Prozessorkernen Dynamische Verteilung durch Scheduler Statische Verteilung durch Systemarchitekt Zuordnung von Interrupts zu den einzelnen Prozessoren / Prozessorkernen Control-Gruppe Nicht- Echtzeitaufgaben Nicht- Echtzeitfähig Kern 0 Kern 1 Kern n Echtzeitfähig Echtzeitfähig Kern 0 Kern 1 Kern 2 Kern n Hoch-priore Echtzeitaufgabe Echtzeitaufgaben 2015, IAS Universität Stuttgart 359

360 6.2 Organisationsaufgaben eines Echtzeit-Betriebssystems Frage zu Kapitel 6.2 Betrachten sie zwei unterschiedliche Automatisierungssysteme: Steuerung eines Kaffeeautomaten Bahnregelung eines Roboters Um was für einen Typ von System handelt es sich jeweils? Für welches System ist die Interrupt-Verwaltung eines Betriebssystems besonders wichtig? Antwort 2015, IAS Universität Stuttgart 360

361 6 Echtzeit-Betriebssysteme 6.1 Begriffsbestimmung 6.2 Organisationsaufgaben eines Echtzeit-Betriebssystems 6.3 Entwicklung eines Mini-Echtzeit-Betriebssystems 6.4 Software-Systementwurf des Mini-Echtzeit-Betriebssystems 6.5 Beispiele für Echtzeit-Betriebssysteme 6.6 Prozessoren mit mehreren Kernen 2015, IAS Universität Stuttgart 361

362 6.3 Entwicklung eines Mini-Echtzeit-Betriebssystems Zielsetzung Vorstellung des Aufbaus und der Arbeitsweise eines Echtzeit-Betriebssystems in stark vereinfachter Form Schrittweiser Verzicht der getroffenen Vereinfachungen Vorgehen bei der Entwicklung 1. Klärung der Aufgabenstellung, Festlegung der Anforderungen 2. Fachtechnische Lösungskonzeption 3. Software-Systementwurf 4. Implementierung 2015, IAS Universität Stuttgart 362

363 6.3 Entwicklung eines Mini-Echtzeit-Betriebssystems Entwicklungsschritte mit Entwicklungsdokumenten Software - Systementwurf Klärung und Festlegung der Anforderungen Fachtechnische Lösungskonzeption Grobentwurf des Programmsystems Feinentwurf des Programmsystems Implementierung Lastenheft Pflichtenheft Blockbilder Flussdiagramme Programm 2015, IAS Universität Stuttgart 363

364 6.3 Entwicklung eines Mini-Echtzeit-Betriebssystems Klärung und Festlegung der Anforderungen Verwaltung von maximal n Rechenprozessen (RPs) Zyklischer RP 1 Interruptbasierter RP 1 Zyklischer RP m Interruptbasierter RP k ein Prozessor zur Ausführung von Operationen keine Optimierung der Abläufe durch Simultanabarbeitung von Rechen- und E/A-Operationen Zeitsignal für zyklische Aktivierung durch internen Taktgeber Taktimpulse in festem Zeitabstand T (z.b. T = 20ms) unterschiedliche Zykluszeiten für die zyklischen Rechenprozesse 2015, IAS Universität Stuttgart 364

365 6.3 Entwicklung eines Mini-Echtzeit-Betriebssystems Vereinfachungen, die später stufenweise aufgehoben werden 1. Summe aller Rechenzeiten der Rechenprozesse kleiner als Zeitabstand T Sicherstellung, dass beim nächsten Uhrimpuls-Takt alle Rechenprozesse beendet sind 2. Keine Verwaltung von Rechenprozessen, die durch Interrupt angestoßen werden 3. Keine Betriebsmittelverwaltung E/A-Zeiten vernachlässigbar klein 2015, IAS Universität Stuttgart 365

366 6.3 Entwicklung eines Mini-Echtzeit-Betriebssystems Fachtechnische Lösungskonzeption Verfahren der asynchronen Programmierung asynchrone Beauftragung der einzelnen Rechenprozesse keine feste Reihenfolge der Tasks Konfliktstrategie nach Prioritätsnummern Teillösungen Zykluszeit-Bildung Ableitung der unterschiedlichen Zykluszeiten der Tasks aus dem Uhrimpuls-Takt Zustandsführung der Rechenprozesse Beauftragung der Tasks zu den jeweiligen Zykluszeiten und definierte Beendigung Start der Rechenprozesse Start der Task, die an der Reihe ist 2015, IAS Universität Stuttgart 366

367 6.3 Entwicklung eines Mini-Echtzeit-Betriebssystems Lösungskonzept des Mini-Betriebssystems Teillösung 1: Zykluszeit-Bildung Bilden der Zykluszeiten T 1, T 2,..., T m Teillösung 2: Beauftragung der Rechenprozesse zu den Zeiten T 1..., T m, und Beenden der Beauftragung Zustandsführung der Rechenprozesse Teillösung 3: Start der Rechenprozesse Starten der beauftragten Rechenprozesse nach Prioritäten 2015, IAS Universität Stuttgart 367

368 6.3 Entwicklung eines Mini-Echtzeit-Betriebssystems Zykluszeit-Bildung Aufgabe: 1. Bildung des Zusammenhangs zwischen den Zykluszeiten T i (i = 1,2,...,m) und der Zeitdauer T Annahme: T i >> T T i = a i T a i ganzzahlige Zykluszeitfaktoren (i=1,2,...,m) 2. Zeitdauervariable Z i (i=1,2,...,m) a) Eintreffen des Uhrimpuls-Takts verringert Z i um 1 b) Z i = 0 bedeutet: Zykluszeit T i ist abgelaufen Zurücksetzen von Z i auf den Anfangswert a i 2015, IAS Universität Stuttgart 368

369 6.3 Entwicklung eines Mini-Echtzeit-Betriebssystems Teillösung 1: Zykluszeit-Bildung Einführung dimensionsloser, ganzzahliger Zykluszeit-Faktoren T 1 = a 1 T a 1 = T 2 = a 2 T a 2 = T m = a m T a m = T 1 T T 2 T T m T Definition von (dimensionslosen) Zeitdauervariablen z 1, z 2,..., z m mit den Anfangswerten z 1 = a 1 z 2 = a 2 z m = a m Uhrimpulstakt Bei jedem Eintreffen des Uhrimpuls-Taktes im Zeitabstand T : => Dekrementieren der Variablen z i (vermindern um 1), d.h. Bildung von z 1 := z 1-1 z 2 := z 2-1 z m := z m , IAS Universität Stuttgart 369

370 6.3 Entwicklung eines Mini-Echtzeit-Betriebssystems Teillösung 1: Zykluszeit-Bildung (2) Sobald eine Variable z i = 0 geworden ist, ist die betreffende Zykluszeit T i erreicht. Daher wird dieses Ergebnis an die Lösungskomponente 2 gemeldet, die den Rechenprozess i beauftragt (in den Zustand "bereit" bringt). Zu/ von Teillösung 2 Rücksetzen der betreffenden Zeitdauervariablen auf den Anfangswert z i := a i, Fortsetzen mit Lösungskomponente 2. Zu Teillösung , IAS Universität Stuttgart 370

371 6.3 Entwicklung eines Mini-Echtzeit-Betriebssystems Teillösung 2: Zustandsführung der Rechenprozesse Aufgabe: Verwaltung der Zustände der Rechenprozesse ruhend bereit laufend Buchführung über die jeweiligen Zustände Durchführung von Zustandsänderungen 2015, IAS Universität Stuttgart 371

372 6.3 Entwicklung eines Mini-Echtzeit-Betriebssystems Teillösung 2: Zustandsführung der Rechenprozesse von Teillösung 1 zurück zu Teillösung 1 Bei Eintreffen einer Meldung, dass eine Zykluszeit T i abgelaufen ist: Beauftragung des betreffenden Rechenprozesses (in den Zustand "bereit" setzen). von Teillösung 1,wenn alle Zeitdauervariablen bearbeitet sind In der Liste denjenigen Rechenprozess ermitteln, der im Zustand "bereit" ist und dabei die höchste Priorität aufweist Liste der momentanen Zustände der Rechenprozesse Meldung an die Lösungskomponente 3 (dort wird der betreffende Rechenprozess gestartet). Start-Meldung zu Teillösung 3 Nach Ausführung eines Rechenprozesses: In der Zustands-Liste den Zustand "ruhend" eintragen. Ende-Meldung von Teillösung , IAS Universität Stuttgart 372

373 6.3 Entwicklung eines Mini-Echtzeit-Betriebssystems Start der Rechenprozesse Aufgabe: Ermittlung der Startadresse Start des Rechenprozesses Beendigung des Rechenprozesses überwachen 2015, IAS Universität Stuttgart 373

374 6.3 Entwicklung eines Mini-Echtzeit-Betriebssystems Teillösung 3: Start der Rechenprozesse Start-Meldung von Teillösung 2 Nach der Meldung von der Lösungskomponente 2: Startadresse des betreffenden Rechenprozesses ermitteln. Start des betreffenden Rechenprozesses (Unterprogramm-Sprung an die Startadresse) Ende-Meldung zu Teillösung 2 Meldung an Lösungskomponente 2, dass Rechenprozess beendet ist. 2015, IAS Universität Stuttgart 374

375 6.3 Entwicklung eines Mini-Echtzeit-Betriebssystems Frage zu Kapitel 6.3 Welche Aufgaben müssen beim Start eines Rechenprozesses durchgeführt werden? Antwort Ermittlung des derzeitigen Zustandes des Prozesses. Überprüfung, ob der Prozess der momentan höchstpriore Prozess ist. Ermittlung der Startadresse des Prozesses. 2015, IAS Universität Stuttgart 375

376 6 Echtzeit-Betriebssysteme 6.1 Begriffsbestimmung 6.2 Organisationsaufgaben eines Echtzeit-Betriebssystems 6.3 Entwicklung eines Mini-Echtzeit-Betriebssystems 6.4 Software-Systementwurf des Mini-Echtzeit-Betriebssystems 6.5 Beispiele für Echtzeit-Betriebssysteme 6.6 Prozessoren mit mehreren Kernen 2015, IAS Universität Stuttgart 376

377 6.4 Software-Systementwurf des Mini-Echtzeit-Betriebssystems Zerlegung des Mini-Echtzeit-Betriebssystemprogramms Teilprogramm ZEITVERWALTUNG zur Bildung der unterschiedlichen Zykluszeiten Teilprogramm TASKVERWALTUNG zur Verwaltung der Rechenprozesse Teilprogramm PROZESSORVERWALTUNG Zuteilung des Betriebsmittels Prozessor Start der Rechenprozesse MINI-ECHTZEIT- BETRIEBSSYSTEM Ebene 1 ZEIT- VERWALTUNG TASK- VERWALTUNG PROZESSOR- VERWALTUNG Ebene , IAS Universität Stuttgart 377

378 6.4 Software-Systementwurf des Mini-Echtzeit-Betriebssystems Zusammenwirken der Teilprogramme MINI-ECHTZEIT-BETRIEBSSYSTEM UHR- IMPULS- TAKT ZEIT- VERWALTUNG TASK- VERWALTUNG PROZESSOR- VERWALTUNG Start eines Rechenprozesses Ende eines Rechenprozesses Symbolik Anstoß (Kontrollfluss) Datenübergabe (Datenfluss) Programm bzw. Programmteil Liste von Daten bzw. einzelner Wert (Date) 2015, IAS Universität Stuttgart 378

379 6.4 Software-Systementwurf des Mini-Echtzeit-Betriebssystems Benötigte Listen für die ZEITVERWALTUNG (1) Zeitdauervariable Z i zur Zykluszeit-Bildung Liste ZEITZÄHLER Ablage der Zeitdauervariablen z i : z 1 z 2 m Plätze z 3 z m 2015, IAS Universität Stuttgart 379

380 6.4 Software-Systementwurf des Mini-Echtzeit-Betriebssystems Benötigte Listen für die ZEITVERWALTUNG (2) Zykluszeit T i für jeden Rechenprozess Liste ZYKLUS Bereitstellen der Zykluszeit-Faktoren a i : a 1 a 2 m Plätze a 3 a m 2015, IAS Universität Stuttgart 380

381 6.4 Software-Systementwurf des Mini-Echtzeit-Betriebssystems Blockdiagramm des Teilprogramms ZEITVERWALTUNG UHRIMPULS- TAKT ZEIT Anstoß TASKVERWALTUNG ZYKLUS ZEIT- ZÄHLER 2015, IAS Universität Stuttgart 381

382 6.4 Software-Systementwurf des Mini-Echtzeit-Betriebssystems Benötigte Liste für TASKVERWALTUNG und PROZESSORVERWALTUNG Zustände und Anfangsadressen der Rechenprozesse VERWALTUNGSBLOCK Listenstruktur zur Verwaltung der Rechenprozesse VERWALTUNGSBLOCK m Plätze B 1 B 2 B 3 B 4 Startadresse 1 Startadresse 2 Startadresse 3 Startadresse 4 B m Startadresse m Zustandsbits B i B i = 0: bereit B i = 1: ruhend Anfangsadresse des dem Rechenprozess i zugeordneten Codes (i = 1, 2,..., m) 2015, IAS Universität Stuttgart 382

383 6.4 Software-Systementwurf des Mini-Echtzeit-Betriebssystems Zerlegung des Programmteils TASKVERWALTUNG TASK- VERWALTUNG Ebene 2 AKTIVIERUNG SUCHE DEAKTIVIE- RUNG Ebene , IAS Universität Stuttgart 383

384 6.4 Software-Systementwurf des Mini-Echtzeit-Betriebssystems Blockdiagramm der TASKVERWALTUNG von/zur ZEITVER- WALTUNG AKTIVIERUNG SUCHE zur PROZESSOR- VERWALTUNG VERWALTUNGS- BLOCK Auslesen der Startadresse durch die PROZESSOR- VERWALTUNG DEAKTIVIERUNG Ende des betreffenden Rechenprozesses von der PROZESSOR- VERWALTUNG 2015, IAS Universität Stuttgart 384

385 6.4 Software-Systementwurf des Mini-Echtzeit-Betriebssystems Teilprogramme AKTIVIERUNG: DEAKTIVIERUNG: SUCHE: Verändern des Zustandsbits in bereit Verändern des Zustandsbits in ruhend Überprüfung, ob sich eine Task im Zustand bereit befindet Ordnung der Liste VERWALTUNGSBLOCK ermöglicht einfache Priorisierung Untergliederung PROZESSORVERWALTUNG ist nicht notwendig 2015, IAS Universität Stuttgart 385

386 PROZESSORVERWALTUNG Rechenprozesscode 6.4 Software-Systementwurf des Mini-Echtzeit-Betriebssystems Übersichtsblockdiagramm des Mini-Echtzeit-Betriebssystems UHR- IMPULS- TAKT ZEIT AKTIVIERUNG SUCHE VERWALTUNGS- BLOCK ZYKLUS ZEIT- ZÄHLER DEAKTIVIE- RUNG ZEITVERWALTUNG TASKVERWALTUNG 2015, IAS Universität Stuttgart 386

387 6.4 Software-Systementwurf des Mini-Echtzeit-Betriebssystems Frage zu Kapitel 6.4 In Echtzeit-Betriebssystemen spielen Prozessor-Zuteilungsstrategien (Scheduling-Verfahren) eine wichtige Rolle. a) Welche Aufgaben haben diese Strategien? b) In welchem Programmteil des in der Vorlesung vorgestellten Mini- Betriebssystems kommt eine Prozessorzuteilungsstrategie zum Einsatz und um welche handelt es sich? Antwort 2015, IAS Universität Stuttgart 387

388 6 Echtzeit-Betriebssysteme 6.1 Begriffsbestimmung 6.2 Organisationsaufgaben eines Echtzeit-Betriebssystems 6.3 Entwicklung eines Mini-Echtzeit-Betriebssystems 6.4 Software-Systementwurf des Mini-Echtzeit-Betriebssystems 6.5 Beispiele für Echtzeit-Betriebssysteme 6.6 Prozessoren mit mehreren Kernen 2015, IAS Universität Stuttgart 388

389 6.5 Beispiele für Echtzeit-Betriebssysteme Marktübersicht Kriterien bei der Auswahl von Echtzeit-Betriebssystemen Entwicklungs- und Zielumgebung Modularität und Kernelgröße Leistungsdaten Anzahl von Tasks Prioritätsstufen Taskwechselzeiten Interruptlatenzzeit Anpassung an spezielle Zielumgebungen Allgemeine Eigenschaften Schedulingverfahren Intertaskkommunikation Netzwerkkommunikation Gestaltung Benutzungsoberfläche 2015, IAS Universität Stuttgart 389

390 6.5 Beispiele für Echtzeit-Betriebssysteme Auswahl kommerzieller Echtzeit-Betriebssysteme Produktname Hersteller Ziel-System Einsatz-Domäne RTA-OSEK ETAS GmbH Diverse Mikrocontroller-Familien (8~32 Bit): Infineon, TI, Xilinx, Freescale, etc. und MS-Windows- PC Steuergeräteentwicklung in der Automobilindustrie VxWorks Wind River Systems Prozessorenfamilie ARM, Intel, MIPS, und PowerPC Luft- und Raumfahrt, Verteidigung, Maschinensteuerungen, medizintechnische Geräte und Netzwerk-Infrastruktur Windows CE QNX Neutrino EmbOS Microsoft MIPS, X86, ARM, SH Produktautomatisierung (z.b. Windows-Phone) Quantum Software Systems X86, PPC, ARM, SH Automobilsteuerungssysteme und Handys Segger Mikrocontroller-Plattformen 8~32 Bit Eingebettete Echtzeitapplikationen μitron Ken Sakamura & Tron association 8-bit or 16-bit ARM, MIPS, X86, FR- V Eingebettete Geräte, Produktautomatisierung 2015, IAS Universität Stuttgart 390

391 6.5 Beispiele für Echtzeit-Betriebssysteme Frage zu Kapitel 6.5 Welche Kriterien sind bei der Auswahl eines Echtzeitbetriebssystems relevant, das für die Mikrocontroller-Steuerung einer Waschmaschine verwendet werden soll? Antwort Zielsystem Dateisystem Netzwerkunterstützung ROM-Fähigkeit 2015, IAS Universität Stuttgart 391

392 6 Echtzeit-Betriebssysteme 6.1 Begriffsbestimmung 6.2 Organisationsaufgaben eines Echtzeit-Betriebssystems 6.3 Entwicklung eines Mini-Echtzeit-Betriebssystems 6.4 Software-Systementwurf des Mini-Echtzeit-Betriebssystems 6.5 Beispiele für Echtzeit-Betriebssysteme 6.6 Prozessoren mit mehreren Kernen 2015, IAS Universität Stuttgart 392

393 Programmausführung 6.6 Prozessoren mit mehreren Kernen Einsatz von Prozessoren mit mehreren Kernen Die Performance von Software kann durch Aufteilung von Programmen in Tasks erhöht werden. Diese können auf mehreren Kernen parallel ausgeführt werden. abwechselnde Ausführung auf einem Kern Nebenläufige oder parallele Ausführung auf mehreren Kernen Wie kann der Einsatz von Mehrkernprozessoren sinnvoll in der Automatisierungstechnik erfolgen, um die Programmausführung zu beschleunigen? 2015, IAS Universität Stuttgart 393

394 6.6 Prozessoren mit mehreren Kernen Mehrkernprozessoren Zitat: Definition: A multi-core processor is an integrated circuit to which two or more processors have been attached for enhanced performance, reduced power consumption, and more efficient simultaneous processing of multiple tasks. Vorteile Performanceerhöhung durch nebenläufige oder parallele Anwendungen Möglichkeit zur Weiterentwicklung von Hardware bei stagnierender Taktfrequenz, um die Performance der Software zu erhöhen Senkung der Stromverbrauchs (geringere Taktung) Nachteile Aufwendige Programmierung, Anpassung an Kernstruktur notwendig Anpassung der existierenden Hardware/Software notwendig Rechenleistung aufgrund kaskadierter Cache-Struktur nicht immer deterministisch 2015, IAS Universität Stuttgart 394

395 6.6 Prozessoren mit mehreren Kernen Amdahl sches Gesetz Modell für die Beschleunigung von Programmen durch parallelisierte Ausführung. Entwickelt von Gene Amdahl im Jahre Die Performanceerhöhung wird als die maximale Beschleunigung eines Threads definiert, den man durch den Einsatz von mehreren Kernen erreichen kann. 2015, IAS Universität Stuttgart 395

396 6.6 Prozessoren mit mehreren Kernen Beispiel zum Amdahl sches Gesetz 2015, IAS Universität Stuttgart 396

397 6.6 Prozessoren mit mehreren Kernen Grenzen des parallelen Rechnens Sind z.b. 10% eines Programms in seriellem Code geschrieben, so kann man maximal eine Reduzierung der Ausführungsdauer auf 10% der sequenziellen Dauer erreicht werden, unabhängig von der Anzahl der Kerne. Prozentueller Ausführungsdauer Anzahl der Kerne Paralleler Anteil: 2015, IAS Universität Stuttgart 397

398 6.6 Prozessoren mit mehreren Kernen Symmetrische Multiprozessorsysteme (SMP) Zwei oder mehr identische Prozessoren besitzen einen gemeinsamen Adressraum Ein zentrales Betriebssystem teilt die Kerne und weitere Ressourcen zu Speicher Task 1 Task 2 Task 3 Task 4 Betriebssystem T1 T1 T2 T3 T4 CPU 1 CPU 2 CPU 3 CPU 4 Ein-/Ausgänge Systemspeicher steht allen Kernen zur Verfügung. Tasks können auf mehrere Kerne dynamisch verteilt werden Scheduler sorgt dafür, dass die Prozesse möglichst gleichmäßig verteilt werden. Betriebssystem verwaltet Ein-/Ausgänge und Interrupts Cache *T1 = Task , IAS Universität Stuttgart 398

399 6.6 Prozessoren mit mehreren Kernen Echtzeit bei symmetrischen Multiprozessorsystemen Statische Zuordnung der Tasks von Hand auf einer SMP-Architektur für Anwendungsdomänen mit harten Echtzeitanforderungen Gleichmäßige Verteilung der Rechenprozesse auf mehrere Kerne hängt stark von der Anwendung und deren Parallelisierung ab Echtzeitanforderungen, wie zeitliche Vorhersagbarkeit, aufgrund von hierarchischen Cache-Speichern und Bandbreitenbegrenzung beim Speicher Zugriff in der Praxis schwierig Interprozesskommunikation und asynchrone Ereignisse machen das Scheduling und Debugging komplex Für Anwendungsdomänen mit harten Echtzeitanforderungen beschränkt einsetzbar 2015, IAS Universität Stuttgart 399

400 6.6 Prozessoren mit mehreren Kernen Asymmetrische Multiprozessorsysteme (AMP) Jeder Task (Verbund mehrerer Tasks) besitzt ein eigenes Betriebssystem und seine eigenen Ressourcen Ein-/Ausgänge und Interrupts sind direkt Anwendungen zugeordnet Speicher Task 1 Speicher Task 2 Speicher Speicher Task 3 Task 4 Feste Zuordnung der Tasks zu den Teilsystemen (z.b. Embedded Systems) BS 1 BS 2 BS 3 BS 4 T1 T2 T3 T4 CPU 1 CPU 2 CPU 3 CPU 4 E/A E/A E/A E/A Cache Cache Cache Cache *BS = Betriebssystem *T1 = Task 1 *E/A = Ein-/Ausgänge 2015, IAS Universität Stuttgart 400

401 6.6 Prozessoren mit mehreren Kernen Echtzeit bei asymmetrischen Multiprozessorsystemen Hat den Vorteil eine genau definierten Umgebung und eines vorhersagbaren Zeitverhaltens Stellt sicher, dass das Ergebnis eines Programms nicht vom zeitlichen Verhalten seiner Operationen abhängt Aufgrund einer direkte Zuordnung der Ein-/Ausgänge und Interrupts müssen andere Rechenprozesse nicht mehr unterbrochen werden Jedoch erfordern viele Anwendungen bei der Parallelisierung, dass eine Kommunikation der Rechenprozesse untereinander erfolgt Gute Methode für Echtzeitanwendungen aufgrund der eindeutigen Zuordnungen einzelnen Tasks 2015, IAS Universität Stuttgart 401

402 6.6 Prozessoren mit mehreren Kernen Homogene Multiprozessorsysteme Alle Kerne eines Prozessors sind identisch, takten gleich Verschiedene Cache-Speicher und gemeinsamer Speicher, der über eine Speichersteuerung verwaltet wird Heute weit verbreitet CPU kern LEVEL1-Cache LEVEL2-Cache Kern LEVEL1-Cache LEVEL2-Cache LEVEL3-Cache Speicher 2015, IAS Universität Stuttgart 402

403 E/A Schaltbare Kommunikationskanäle RAM 6.6 Prozessoren mit mehreren Kernen Beispiel Echtzeitarchitektur für E/A intensive Anwendungen Beispiel xcore-xa-prozessorfamilie (XMOS) Mehrkern-Mikrocontroller mit 4 bis 32 Kernen und zusätzlichen logischen Kommunikation der Kerne über schaltbare Kanäle Zahlreiche Konfigurierbare E/A Ports für unterschiedliche Anwendungen im Bereich Sensordatenverarbeitung, mehrkanalige Steuerung, Audio etc. Spezielle Software-Entwicklungsumgebung Entwicklungsumgebung Digitale E/A UART, I2C, USB, DAU etc. logischer Kern logischer Kern logischer Kern logischer Kern logischer Kern logischer Kern logischer Kern 2015, IAS Universität Stuttgart 403

404 Quelle:.cis.upenn.edu 6.6 Prozessoren mit mehreren Kernen Heterogene Multiprozessorsysteme Unterschiedliche Kerne für unterschiedliche Tasks (z.b. Betriebssystem, Dekodierung, Verschlüsselung, Berechnung von Vektorgrafiken) Weitere Kerne sind für spezifische Anwendungen ausgelegt und führen immer wieder die gleichen Tasks aus. Beispiel: CELL Prozessor von Sony-Toshiba-IBM für Grafik Rendering / Games SPE SPU LS DMA SPE SPU LS DMA SPE SPU LS DMA SPE SPU LS DMA SPE SPU LS DMA SPE SPU LS DMA SPE SPU LS DMA SPE SPU LS DMA 1 Hauptkern (Steuerung) 8 Co-Kerne (Berechnungen und Datentransfers) PPE L 2 L 1 Power Core Speicher-Controller BUS-Schnittstellen- Controller SPE = Synergistic Processing Element, SPU = Synergistic Processing Unit (Arithmetisch-logische Einheit (ALU) mit SIMD (Single Instruction Multiple Data)), LS = Lokaler Speicher, DMA = Direct Memory Access (mittels eines Memory Flow Controller), L1/L2 = Caches 2015, IAS Universität Stuttgart 404

405 6.6 Prozessoren mit mehreren Kernen Heterogen-vernetzte Systeme am Beispiel des Kraftfahrzeugs Früher verteilte, autarke Automatisierungssysteme (ABS, Motorsteuerung, ) Netzwerke mit Steuergeräten als Knoten, um z.b. Messdaten auszutauschen Verteilung von Rechenprozessen im Netzwerk möglich Anz. Beispiel Daimler (E-Klasse) 92 Steuergeräte Bussysteme (W219) 2002 (W211) (W221) (W212 MOPF) 2015, IAS Universität Stuttgart 405

406 6.6 Prozessoren mit mehreren Kernen Ansätze für zukünftige Mehrprozessor-Systeme Grundprinzipien: Unterscheidung zwischen globalen und lokalen Ressourcen Das Scheduling der globalen Ressourcen wird vom Betriebssystem übernommen, das der lokalen Ressourcen von einer Softwarekomponente Aufgeteilte Ressourcen stehen Anwendungen entweder exklusiv zur Verfügung oder können geteilt werden Scheduling innerhalb einer Softwarekomponente mittels eines Scheduler 2015, IAS Universität Stuttgart 406

407 6.6 Prozessoren mit mehreren Kernen Ansätze für zukünftige Mehrprozessor-Systeme Beispiele: Parallelisierte Anwendung im Netzwerk Task A Task B Load-Balancing im Netz Infrastruktur, Betriebssystem und Methodik? Viele Forschungsfragen: - Wie koordiniert man Objekte und Services im Internet der Dinge und Dienste? - Welche Möglichkeiten zur Verteilung von Aufgaben gibt es? - Wie realisiert man den Test von massiv verteilten Systemen? 2015, IAS Universität Stuttgart 407

408 Kapitel 6: Vorbereitungsfrage Vorbereitungsfrage zu Kapitel 6 Frage 1: Mini-Betriebssystem (SS 2006) Warum kommt das in der Vorlesung vorgestellte Mini-Betriebssystem in seiner ersten Erweiterung mit weniger als 4 Zuständen aus? Welche Zustände des Zustandsmodells von Rechenprozessen werden nicht benötigt? Warum? 2015, IAS Universität Stuttgart 408

409 Kapitel 7: Programmiersprachen für die Automatisierungstechnik 7 Programmiersprachen für die Automatisierungstechnik Lernziele: Die Vorgehensweisen bei der Erstellung von Automatisierungsprogrammen kennen Die Programmiersprachen für SPSen kennen Die wichtigsten Echtzeit-Konzepte für Programmiersprachen kennen Wissen, wie Echtzeit-Konzepte in Ada 95 umgesetzt sind 2015, IAS Universität Stuttgart 409

410 7 Programmiersprachen für die Automatisierungstechnik 7.1 Grundbegriffe 7.2 Programmierung von speicherprogrammierbaren Steuerungen (SPS) 7.3 Universelle Programmiersprachen für die Automatisierungstechnik 7.4 Konzepte der Parallelprogrammierung 2015, IAS Universität Stuttgart 410

411 7.1 Grundbegriffe Vorgehensweisen bei der Erstellung der Programme Speicherprogrammierbare Steuerungen textuelle Programmiersprachen graphische Programmiersprachen Mikrocontroller Assembler niedere maschinenunabhängige Programmiersprachen PC und IPC Softwarepakete universelle Echtzeitprogrammiersprachen Prozessleitsysteme Funktionsbausteintechnologie 2015, IAS Universität Stuttgart 411

412 7.1 Grundbegriffe Arten von Programmiersprachen Klassifikation nach Art der Notation textuelle Programmiersprachen Ada, C, SPS-Anweisungsliste graphische Programmiersprache SPS-Kontaktplan Klassifikation nach dem Programmiersprachenparadigma prozedurale Programmiersprachen C, Ada 83 funktionale Programmiersprachen LISP logische Programmiersprachen PROLOG objektorientierte Programmiersprachen C++, Smalltalk, Ada 95 Klassifikation nach der Sprachhöhe hoch: an der Verstehbarkeit durch den Menschen orientiert nieder: an den Hardware-Eigenschaften eines Computers orientiert 2015, IAS Universität Stuttgart 412

413 Sprachhöhe 7.1 Grundbegriffe Klassifizierung nach der Sprachhöhe Programm-Generatoren Anwendungsspezifische Programmiersprachen Universelle Programmiersprachen Maschinenunabhängige Programmiersprachen Makroassemblersprachen Assemblersprachen Maschinenorientierte Programmiersprachen Maschinensprachen Mikroprogrammsprachen Maschinensprachen 2015, IAS Universität Stuttgart 413

414 7.1 Grundbegriffe Mikroprogrammsprachen Realisierung der Ablaufsteuerungen zur Ausführung der Maschinenbefehle fest verdrahtete Verknüpfungsglieder Mikroprogramme (Firmware) Maschinensprachen Befehle und Daten in Form von Bitmustern zur direkten Ausführung auf der Hardware des AT-Computers Assemblersprachen Ersetzung der Bitmuster des Operationsteils der Befehle der Maschinensprache durch symbolische Buchstabenabkürzungen Einführung eines symbolischen Namens anstelle der zahlenmäßigen Darstellung des Adressteils Abhängigkeit von gerätetechnischen Eigenschaften der jeweiligen Rechenanlage 2015, IAS Universität Stuttgart 414

415 7.1 Grundbegriffe Makroassemblersprachen (Makrosprachen) weiteres Hilfsmittel zur einfacheren Handhabung: Makros Unterscheidung Makrodefinition Makroaufruf Makroexpansion Eindeutige Zuordnung von Makroassemblerbefehlen zu Befehlen der Maschinensprache Einem Makrobefehl entsprechen mehrere Maschinenbefehle Makro wird an jeder Stelle, an der es aufgerufen wird, expandiert Klassifizierung von Makros Standardmakros: fest vorgegeben Anwendermakros: vom Anwender selbst definierbare Makros für häufig vorkommende Befehlsfolgen 2015, IAS Universität Stuttgart 415

416 7.1 Grundbegriffe Vor- und Nachteile der Assemblerprogrammierung + Speicher- und Rechenzeit-Effizienz - höhere Programm-Entwicklungskosten - geringe Wartbarkeit - Probleme mit der Zuverlässigkeit - schlechte Lesbarkeit, geringer Dokumentationswert - fehlende Portabilität Einsatz von Assemblersprachen ja: nein: - Automatisierung von Geräten oder Maschinen, wo es um Serienoder Massenanwendungen geht - kleinste Programme - direkter Zugriff auf sehr spezifische Hardware - langlebige, große zu automatisierende Prozesse - umfangreichere Programme 2015, IAS Universität Stuttgart 416

417 7.1 Grundbegriffe Universelle Programmiersprachen Universell nicht auf ein Anwendungsgebiet ausgerichtet universelle niedere Programmiersprachen Zweck: Erstellung von Systemprogrammen Compiler Editoren Betriebssysteme Treiberprogramme Ziel: 1. Ausnutzung der Hardwareeigenschaften 2. Portabilität Beispiel: C universelle höhere Programmiersprachen Zweck: Erstellung von allgemeinen Programmen Ziel: 1. einfache Formulierbarkeit 2. umfangreiche Compilerprüfungen 3. Portabilität Beispiel: Ada, Java, Smalltalk 2015, IAS Universität Stuttgart 417

418 7.1 Grundbegriffe Entwicklungslinien Eclipse 2005 Java 2 Ada C# 1995 Java Ada95 Python Ruby 1990 PEARL C++ Eiffel TKL/TK 1980 C Ada Small talk 80 Mehrrechner PEARL 1975 PEARL 1970 Pascal Simula ALGOL BASIC FORTRAN PL/1 COBOL CORAL 66 ALGOL60 Legende: Objektorientierte Programmiersprache Echtzeit Programmiersprache Höhere Programmiersprache 2015, IAS Universität Stuttgart 418

419 7.1 Grundbegriffe Anwendungsspezifische Sprachen Synonyme: Deskripitive Sprachen, nicht-prozedurale höhere Sprachen, very high level languages Unterscheidung zu prozeduralen Sprachen keine Beschreibung des Lösungsverfahrens, sondern Beschreibung der Problemstellung selbst Einschränkung auf bestimmtes Anwendungsgebiet Bsp.: FUP Funktionsplan KOP Kontaktplan AWL Anweisungsliste EXAPT für Werkzeugmaschinensteuerungen ATLAS für automatische Prüfsysteme Vorteile/Nachteile: 2015, IAS Universität Stuttgart 419

420 7.1 Grundbegriffe Programm-Generatoren (Fill-in-the-blanks-Sprachen) Formulierungsverfahren für Programme Beantwortung von Fragen in Form von Menüs am Bildschirm durch den Anwender (Konfigurierung) Umsetzung der Antworten durch den Programm-Generator in ein ausführbares Programm Vorteil: keine Programmierkenntnisse notwendig Nachteil: Einengung auf bestimmtes Anwendungsgebiet Abhängigkeit von einem bestimmten Hersteller Anwendung in Automatisierungstechnik Leitsysteme in der Energie-und Verfahrenstechnik 2015, IAS Universität Stuttgart 420

421 7.1 Grundbegriffe Problematik der Echtzeit-Programmierung Höhere Programmiersprachen wie FORTRAN, COBOL, PASCAL, Java, C# sind ohne Erweiterungen für Echtzeit-Programmierung ungeeignet keine Echtzeitsprachmittel keine Einzelbitoperationen keine Befehle für Prozess-Ein-/Ausgabe Einsatz von höheren Programmiersprachen im Vergleich zu Assemblersprachen bringt i.d.r. Erhöhung von Speicherbedarf und Rechenzeit mit sich Produktautomatisierung: Speicherplatz und Rechenzeit kritisch Anlagenautomatisierung: Rechenzeit unter Umständen kritisch Voraussetzung 2015, IAS Universität Stuttgart 421

422 Anteil der Anwendung höherer Programmiersprachen 7.1 Grundbegriffe Vergleich der Verwendung höherer Programmiersprachen 100% Höhere Programmiersprachen für technischwissenschaftliche und kommerzielle Anwendungen Höhere Programmiersprachen für die Prozessautomatisierung 0% t 2015, IAS Universität Stuttgart 422

423 7.1 Grundbegriffe Frage zu Kapitel 7.1 Mit welchen der folgenden Aussagen über die unterschiedlichen Sprachhöhen stimmen Sie überein? Antwort Maschinensprachen sind gut geeignet für die Anwendungsprogrammierung. Die Programmiersprache C ist eine universelle Programmiersprache. Der Kontaktplan (KOP) der SPS-Programmierung ist eine Maschinensprache. Programmgeneratoren verlangen ausgeprägte Programmierkenntnisse. Programmiersprachen mit niedriger Sprachhöhe fokussieren Hardware- Charakteristiken eines Computers. Mit universellen Programmiersprachen können maschinen-unabhängige Programme erstellt werden. 2015, IAS Universität Stuttgart 423

424 7 Programmiersprachen für die Automatisierungstechnik 7.1 Grundbegriffe 7.2 Programmierung von speicherprogrammierbaren Steuerungen (SPS) 7.3 Universelle Programmiersprachen für die Automatisierungstechnik 7.4 Konzepte der Parallelprogrammierung 2015, IAS Universität Stuttgart 424

425 7.2 Programmierung von speicherprogrammierbaren Steuerungen (SPS) Programmiersprachen für SPS-Systeme (1) Keine feste Programmiersprache für SPS-Systeme Unterschiedliche Arten der Programmierung, auch abhängig vom Hersteller IEC definiert grafische und textuelle Grundsprachen Eingabesprachen Speicherprogrammierbarer Steuerungen (IEC /3) alphanumerische Darstellung graphische Darstellung Zustands-orientierte Ablauf-orientiert Anweisungsliste AWL U E 5.3 U E 2.6 O A 2.1 ON M 23.1 = A 2.4 Strukturierter Text ST IF A&B = 1 THEN... ELSE... E5.3 Funktionsplan FUP E2.6 A2.1 M23.1 & >=1 A2.4 Kontaktplan KOP E5.3 E2.6 A2.4 ( ) A2.1 M23.1 Ablaufsprachen AS S1 T1 T2 S2 T8 T9 S8 IEC definiert keine Befehle! sowohl deutsche als auch englische Bezeichner für Operatoren 2015, IAS Universität Stuttgart 425

426 7.2 Programmierung von speicherprogrammierbaren Steuerungen (SPS) Programmiersprachen für SPS-Systeme (2) Basis aller Programmiersprachen sind Logikverknüpfungen Erweiterung um Möglichkeiten der Zeitverarbeitung Darstellungsart je nach Aufgabenstellung unterschiedlich geeignet Zustandsorientierte Programmteile besser in FUP oder KOP Ablauforientierte Programmteile besser in AWL oder AS Darstellungsarten lassen sich ineinander überführen ABER: Bestimmte Operationen nur in AWL programmierbar (Bit-Schiebeoperationen) Einführungsbeispiel: Ausgang 1( A1) und Ausgang 2 (A2) sind nur dann gesetzt, wenn entweder Eingang 3 (E3) gesetzt ist oder wenn die beiden Eingänge1 (E1) und 2 (E2) gleichzeitig gesetzt sind. 2015, IAS Universität Stuttgart 426

427 7.2 Programmierung von speicherprogrammierbaren Steuerungen (SPS) Anweisungsliste (AWL)/Instruction List (IL) Assemblerähnliche Programmiersprache Alle Funktionen einer SPS uneingeschränkt programmierbar Einheitlicher Aufbau einer Befehlszeile Marke(opt.): Operator Operand Kommentar(opt.) Programmierung durch Verknüpfung von Signalen Umsetzung des Beispiels in AWL 2015, IAS Universität Stuttgart 427

428 7.2 Programmierung von speicherprogrammierbaren Steuerungen (SPS) Strukturierter Text (ST) Höhere, Pascal-ähnliche Sprache Zuweisungen z.b.: alarm := ein AND aus; Unterprogrammaufrufe z.b.: alarmleuchte(s:=ein, R:=aus); Kontrollanweisungen z.b.: IF alarm THEN alarmleuchte(s:=ein, R:=aus); END_IF; Zusätzliche Sprachmittel für Zeitverarbeitung und Prozessdatenzugriff Für die Programmierung umfangreicher Systeme geeignet Umsetzung des Beispiels in ST 2015, IAS Universität Stuttgart 428

429 7.2 Programmierung von speicherprogrammierbaren Steuerungen (SPS) Kontaktplan (KOP) / Ladder Diagramm (LD) Einfache Darstellung Lehnt sich an Stromlaufplan der Relaistechnik an Symbole für Schließer, Öffner, und Relaisspule Schließer Öffner Verknüpfungsergebnis (Spule) Symbolisierter Stromfluss von links nach rechts I/O-Zustände werden auf Schalterzustände abgebildet Programm wird von oben nach unten gelesen Umsetzung des Beispiels in KOP 2015, IAS Universität Stuttgart 429

430 7.2 Programmierung von speicherprogrammierbaren Steuerungen (SPS) Funktionsbausteinsprache (FBS)/ Funktionsplan (FUP) Lehnt sich an bekannte Symbole für Funktionsbausteine (DIN40900) an Symbolumfang nicht auf logische Grundelemente beschränkt Merker, Zähler, Zeitgeber und frei definierbare Blöcke möglich I/O-Zustände werden direkt als Ein-/Ausgangssignale verwendet Übersichtliche Darstellung Umsetzung des Beispiels in FUP Video: SPS-Programmierung 2015, IAS Universität Stuttgart 430

431 7.2 Programmierung von speicherprogrammierbaren Steuerungen (SPS) GRAFCET Spezifikationssprache für Darstellung von Ablaufbeschreibungen Nachfolger des Funktionsplans (seit 1. April 2005) Gliederung in Struktur und Wirkungsteil Schritte und Transitionen Grundelemente von GRAFCET 0 1 Initialisierung Lampe bleibt aus Taster Taster Lampe :=1 Schritte 1 2 Lampe bleibt an Transitionen Aktionen Kommentare Lampe :=0 Lampe bleibt an 3 Taster Taster Lampe :=0 2015, IAS Universität Stuttgart 431

432 7.2 Programmierung von speicherprogrammierbaren Steuerungen (SPS) Frage zu Kapitel 7.2 Bei der Programmierung von Speicherprogrammierbaren Steuerungen (SPS) werden so genannte Programmiergeräte verwendet. Warum sind diese notwendig? Antwort 2015, IAS Universität Stuttgart 432

433 7 Programmiersprachen für die Automatisierungstechnik 7.1 Grundbegriffe 7.2 Programmierung von speicherprogrammierbaren Steuerungen (SPS) 7.3 Universelle Programmiersprachen für die Automatisierungstechnik 7.4 Konzepte der Parallelprogrammierung 2015, IAS Universität Stuttgart 433

434 7.3 Universelle Programmiersprachen für die Automatisierungstechnik C und C++ als universelle Programmiersprachen C: Maschinennahe effiziente Systemprogrammiersprache flexibel wie Assembler Kontrollflussmöglichkeiten höherer Programmiersprachen universelle Verwendbarkeit begrenzter Sprachumfang C++: Erweiterung von C um Objektorientierung Beibehaltung der Effizienz von C Verbesserung der Produktivität und Qualität Concurrent C: Erweiterung von C um Konzepte zur Echtzeitverarbeitung 2015, IAS Universität Stuttgart 434

435 7.3 Universelle Programmiersprachen für die Automatisierungstechnik Sprachkonzepte von C Vier Datentypen: char, int, float, double Zusammenfassung von Daten: Vektoren, Strukturen Kontrollstrukturen: if, switch, while, do-while, for, continue, break, exit, goto Ein-/Ausgabe: Bibliotheksfunktionen große Vielfalt an Bit-Manipulationsmöglichkeiten schwaches Typkonzept getrennte Kompilierbarkeit von Sourcefiles keine expliziten Möglichkeiten für Parallelverarbeitung 2015, IAS Universität Stuttgart 435

436 7.3 Universelle Programmiersprachen für die Automatisierungstechnik Sprachkonzepte von C++ Klasse (class) Datenstruktur mit Daten und Methoden (memberfunction) Konstruktor (constructor) Anlegen einer Instanz einer Klasse (Objekt) Destruktor (destructor) Freigabe von Klassenobjekten Überladen von Funktionen (overloading) Datenkapselung (encapsulation) Vererbung (inheritance) Polymorphismus Auslösung unterschiedlicher Verarbeitungsschritte durch Botschaften 2015, IAS Universität Stuttgart 436

437 7.3 Universelle Programmiersprachen für die Automatisierungstechnik Eignung von C und C++ für die Echtzeitprogrammierung (1) C und C++ enthalten keine Echtzeit-Sprachmittel Einsatz von Echtzeit-Betriebssystemen zur Realisierung von Echtzeitsystemen Bereitstellung von Bibliotheken 2015, IAS Universität Stuttgart 437

438 7.3 Universelle Programmiersprachen für die Automatisierungstechnik Eignung von C und C++ für die Echtzeitprogrammierung (2) Programmiersprachen C und C++ Am häufigsten verwendete Programmiersprache für Echtzeit-Anwendungen große Anzahl und Vielfalt an Unterstützungswerkzeugen gut ausgebaute Programmierumgebungen für die meisten Mikroprozessoren sind Compiler verfügbar Anschluss an Echtzeitbetriebssysteme wie QNX, OS9, RTS, VxWorks Vorsicht bei objektorientierten Sprachmitteln: 2015, IAS Universität Stuttgart 438

439 7.3 Universelle Programmiersprachen für die Automatisierungstechnik Java als universelle Programmiersprache Objektorientierte Konzepte Interpretierung des Codes schneller Entwicklungszyklus schlechtes Laufzeitverhalten und hoher Speicherplatzbedarf höhere Portabilität Bereitstellung eines Speichermanagers Verzicht auf herkömmliche Zeigertechnik Strikte Typprüfung zur Kompilier- und Laufzeit Leichtgewichtsprozesse GUI-Klassenbibliotheken 2015, IAS Universität Stuttgart 439

440 7.3 Universelle Programmiersprachen für die Automatisierungstechnik Unterschiede zu C++ Keine Preprozessoranweisungen wie #define oder #include keine typedef-klauseln Structures und Unions in Form von Klassen keine Funktionen keine Mehrfachvererbung kein goto kein Überladen von Operatoren umfangreiche Klassenbibliothek Basisklassen (Object, Float, Integer) GUI-Klassen Klassen für Ein-und Ausgabe Klassen für Netzwerkunterstützung 2015, IAS Universität Stuttgart 440

441 7.3 Universelle Programmiersprachen für die Automatisierungstechnik Ausführung von Java-Programmen (1) Java Quellcode Java Class Compiler Java C Compiler C Code Java Bytecode AOT Compiler C Compiler Objektcode Objektcode Applikation Applikation Applikation Java API JVM OS Zielsystem Java API JIT Compiler OS Zielsystem Java API Java OS Java Zielsystem Applikation inkl. Laufzeitumg. OS Zielsystem Applikation inkl. Laufzeitumg. OS Zielsystem JVM Java Virtual Machine JIT Just-In-Time-Compiler AOT Ahead-Of-Time-Compiler 2015, IAS Universität Stuttgart 441

442 7.3 Universelle Programmiersprachen für die Automatisierungstechnik Ausführung von Java-Programmen (2) Zweistufiges Übersetzungsverfahren: 1. Stufe: Auf Entwicklungssystem 2. Stufe Auf Zielsystem Auf Entwicklungssystem - Interpretation - Just-in-time Compilierung - direkte Ausführung auf Java Hardware - Ahead-of-time Compilierung - Übersetzung nach C Portabilität: Speicherbedarf: Laufzeitbedarf: auf Bytecode-Ebene Interpreter / JIT Compiler gesamte Klassenbibliotheken Interpretation / Just-in-time Compilierung auf Quellcodeebene Laufzeitumgebung benötigte Klassenbibliotheken direkte Ausführung 2015, IAS Universität Stuttgart 442

443 7.3 Universelle Programmiersprachen für die Automatisierungstechnik Eignung von Java für die Entwicklung von Echtzeitsystemen Anwendungsfelder rapid prototyping im Client/Server-Bereich multimediale Darstellungen (Video, Sound, Animation) Intranetapplikationen Echtzeitanwendungen 2015, IAS Universität Stuttgart 443

444 7.3 Universelle Programmiersprachen für die Automatisierungstechnik Echtzeitsprachmittel in Java Eingabe und Ausgabe von Prozesswerten vergleichbar mit C/ C++ Parallelität keine Prozessunterstützung Leichtgewichtsprozesse Zeitscheibenverfahren Synchronisierung Monitore Semaphorvariablen Interprozesskommunikation nur für Leichtgewichtsprozesse über gemeinsame Daten Bitoperationen vergleichbar mit C/ C , IAS Universität Stuttgart 444

445 7.3 Universelle Programmiersprachen für die Automatisierungstechnik Real-Time Java Erweiterungen der Sprache Java, um Echtzeiteigenschaften Echtzeitanforderungen realisieren zu können. Erweiterungen 1. Scheduling Sicherstellung, dass Sequenzen von eingeplanten Objekten rechtzeitig und berechenbar ausgeführt werden 2. Speichermanagement Erweiterung des Speichermodells um für Echtzeitanwendungen deterministisches Verhalten zu ermöglichen 3. Synchronisation Spezifikation der Zuteilungsalgorithmen mit Unterstützung der priority inheritance und priority ceiling -Methoden und unter Vermeidung des Problems der Prioritäteninversion 4. Asynchrone Ereignis-Behandlung Gewährleistung, dass das Programm mit einer großen Anzahl gleichzeitiger Ereignisse (bis zu mehreren 10000) umgehen kann. 2015, IAS Universität Stuttgart 445

446 7.3 Universelle Programmiersprachen für die Automatisierungstechnik Erweiterungen (2) 5. Asynchrone Ausführungsunterbrechung (ATC) Möglichkeit der Ausführungsunterbrechung eines Threads bei Eintreffen eines asynchronen Ereignisses (z.b. Timerablauf) 6. Asynchrone Thread-Terminierung Gewährleistung einer planmäßigen Terminierung und Speicherfreigabe von Threads ohne Deadlockgefahr 7. Physikalischer Speicherzugriff Spezielle API (Application Programming Interface) für einen direkten Speicherzugriff 8. Exceptions Definition von neuen Exceptions (Ausnahmen) und neuer Behandlung von Exceptions im Zusammenhang mit ATC und Speicherreservierung 2015, IAS Universität Stuttgart 446

447 7.3 Universelle Programmiersprachen für die Automatisierungstechnik Mobile Endgeräte in der Automatisierungstechnik Leistungsfähige Hardware Multicore CPU Hochauflösendes Multitouch-Display Sensoren Gestensensor Helligkeitssensor Beschleunigungssensor & Gyroskop Kameras & Mikrofon Kommunikationsschnittstellen Funkmodule für GSM, UMTS, LTE WLAN Bluetooth NFC Quellen: Apple, Samsung 2015, IAS Universität Stuttgart 447

448 Quelle: 7.3 Universelle Programmiersprachen für die Automatisierungstechnik Mobile Betriebssysteme Android ios Windows Phone ca. 99 % Marktanteil Stand: 2011 Stand: , IAS Universität Stuttgart 448

449 7.3 Universelle Programmiersprachen für die Automatisierungstechnik Beispiel Android Betriebssystem und Softwareplattform für mobile Endgeräte, seit 2008 offiziell als freie, quelloffene Software verfügbar Smartphones Open Handset Alliance (gegründet von Google) Auto Tablets TV Wearables Basiert auf einem Linux-Kernel Herstellerspezifische Modifikationen und Erweiterungen Keine Lizenzgebühren für Gerätehersteller, allerdings starke Vorgaben bei Einbindung von proprietären Google-Apps 2015, IAS Universität Stuttgart 449

450 7.3 Universelle Programmiersprachen für die Automatisierungstechnik Elementare Anwendungskomponenten von Android Apps für Android werden in Java programmiert. Das Android SDK (Software Development Kit) stellt hierfür Erweiterungen bereit, die die Besonderheiten von mobilen Endgeräten berücksichtigen. Hauptbestandteile einer Android-App: Stellt Oberfläche und Programmlogik eines Programm- Fensters dar Activity Service Übernimmt Aufgaben im Hintergrund, z.b. Kommunikation Android Kapselt Lese-/Schreibzugriffe auf Daten der App, z.b Datenbanken Content Provider Broadcast Receiver Empfängt und reagiert auf Systemmeldungen und Ereignisse 2015, IAS Universität Stuttgart 450

451 7.3 Universelle Programmiersprachen für die Automatisierungstechnik Intent-Konzept von Android zur Komponentenkommunikation Komponenten bzw. Apps kommunizieren in Android über Absichtserklärungen (Intents). Dabei können Funktionen aufgerufen und Daten ausgetauscht werden. Expliziter Intent Activity A Activity B App C Impliziter Intent Activity A OS 2015, IAS Universität Stuttgart 451

452 7.3 Universelle Programmiersprachen für die Automatisierungstechnik Erweiterung von Android für Echtzeitanwendungen Standard Android Basiert auf Linux Kein preemptives Scheduling implementiert Unvorhersagbare Verzögerungen durch Garbage Collection Keine manuelle Vorgabe von Prozessprioritäten Nicht für harte Echtzeitanforderungen geeignet * Quelle: RWTH Aachen, Igor Kalkov, Prof. Dr.-Ing. Stefan Kowalewski RTAndroid * Preemptives Scheduling durch RT_PREEMPT-Patch Anpassung der Virtual Machine und der Speicherverwaltung Garbage Collection ohne Blockierung kritischer Echtzeitprozesse Priorisierung von Services (Prozessen) Rückwärtskompatibel zu Nicht- Echtzeit-Apps Beispiel für Erweiterung von Android um Echtzeitkonzepte 2015, IAS Universität Stuttgart 452

453 7.3 Universelle Programmiersprachen für die Automatisierungstechnik Frage zu Kapitel 7.3 Welche C++-Sprachmittel sind problematisch für ein deterministisches Laufzeitverhalten eines Programms? Antwort Zeiger-Arithmetik Polymorphismus Exceptions Kapselung 2015, IAS Universität Stuttgart 453

454 7.3 Universelle Programmiersprachen für die Automatisierungstechnik Frage zu Kapitel 7.3 Welchen Aussagen bezüglich des Java-Garbage-Collector-Mechanismus stimmen Sie zu? Antwort Der Ausführungszeitpunkt des Garbage Collectors muss manuell festgelegt werden. Belegte Ressourcen sollten im Destruktor einer Klasse freigegeben werden. Durch den Garbage Collector führen identische Systembedingungen zu unterschiedlichem zeitlichem Verhalten. 2015, IAS Universität Stuttgart 454

455 7 Programmiersprachen für die Automatisierungstechnik 7.1 Grundbegriffe 7.2 Programmierung von speicherprogrammierbaren Steuerungen (SPS) 7.3 Universelle Programmiersprachen für die Automatisierungstechnik 7.4 Konzepte der Parallelprogrammierung 2015, IAS Universität Stuttgart 455

456 Quelle: am Konzepte der Parallelprogrammierung Last fall, contractor Lockheed Martin delivered an update to the Federal Aviation Administration's next-generation flight data air traffic control system ' ahead of schedule and under budget, which is something you don't often hear about in government circles. Military developers stuck with the venerable C programming language they knew well, or they moved to the up-and-coming C++. A few years later, Java took hold, as did Web application languages such as JavaScript. However, Ada never vanished completely. In fact, in certain communities, notably aviation software, it has remained the programming language of choice. 2015, IAS Universität Stuttgart 456

1 Was heißt Prozessautomatisierung?

1 Was heißt Prozessautomatisierung? 1 Was heißt Prozessautomatisierung? 1.1 Definition einiger Grundbegriffe 1.2 Automatisierungsgrad und Rechner-Einsatzarten 1.3 Automatisierung technischer Produkte und technischer Anlagen 1.4 Bestandteile

Mehr

2 Automatisierungsgerätesysteme und -strukturen

2 Automatisierungsgerätesysteme und -strukturen 2 Automatisierungsgerätesysteme und -strukturen 2.1 Automatisierungs-Computer 2.2 Automatisierungs-Strukturen 2.3 Automatisierungs-Hierarchien 2.4 Verteilte Automatisierungssysteme 2.5 Automatisierungsstrukturen

Mehr

Prozessautomatisierungstechnik

Prozessautomatisierungstechnik Mohieddine Jelali Prozessautomatisierungstechnik 2. Komponenten und Strukturen von Automatisierungssystemen WS 2013/14 Vorlesung: Prozessautomatisierungstechnik, Prof. Dr.-Ing. Mohieddine Jelali 1 Inhalt

Mehr

Die SPS in ihren besten Jahren. Hauptseminar Systemorientierte Informatik Thomas Hubrich 26.06.2008

Die SPS in ihren besten Jahren. Hauptseminar Systemorientierte Informatik Thomas Hubrich 26.06.2008 Hauptseminar Systemorientierte Informatik 26.06.2008 Gliederung Das Grundkonzept Geschichte der Automation mit SPSen Heutige Formen von SPSen Wie geht es weiter? in der Automation 2 / 27 Was ist eine SPS

Mehr

Embedded PCs / Embedded Systems. Stromversorgung / Power-Management. Embedded PC

Embedded PCs / Embedded Systems. Stromversorgung / Power-Management. Embedded PC Embedded PCs / Embedded Systems Stromversorgung / Power-Management Sensoren elektrisch optisch thermisch mechanisch magnetisch chemisch biologisch Aktoren Analog-/Digitalhardware Powerfail Speicher Watchdog

Mehr

Industrie 4.0 durchgängig vom Sensor bis zum ERP-System, ein neuer Ansatz

Industrie 4.0 durchgängig vom Sensor bis zum ERP-System, ein neuer Ansatz Industrie 4.0 durchgängig vom Sensor bis zum ERP-System, ein neuer Ansatz Ausgangslage: Der klassische Ansatz der Automatisierung-Pyramide hat bisher nicht zu einer standardisierten und durchgängigen Vernetzung

Mehr

Der Industrie-PC in der Automatisierungstechnik

Der Industrie-PC in der Automatisierungstechnik Manfred Holder Bernhard Plagemann Gerhard Weber Der Industrie-PC in der Automatisierungstechnik 2., überarbeitete und erweiterte Auflage l(d Hüthig Verlag Heidelberg Inhaltsverzeichnis Vorwort V 1 Was

Mehr

ROFINET PDer Industrial Ethernet Standard für die Automatisierung. Automation and Drives

ROFINET PDer Industrial Ethernet Standard für die Automatisierung. Automation and Drives ROFINET PDer Industrial Ethernet Standard für die Automatisierung Aktuelle technologische in der Automatisierungstechnik Thema in Kurzform 1 2 PROFIBUS / 3 4 5 Trend von zentralen Steuerungsstrukturen

Mehr

Steuerungen. 4 Typen verbindungsprogrammierte Steuerung (VPS), speicherprogrammierte Steuerung (SPS), Mikrokontroller (MC) und Industrie-PCs (IPC)

Steuerungen. 4 Typen verbindungsprogrammierte Steuerung (VPS), speicherprogrammierte Steuerung (SPS), Mikrokontroller (MC) und Industrie-PCs (IPC) Steuerungen 4 Typen verbindungsprogrammierte Steuerung (VPS), speicherprogrammierte Steuerung (SPS), Mikrokontroller (MC) und Industrie-PCs (IPC) VPS - Funktion der Steuerung in der Schaltungstopologie

Mehr

Grundlagen der LonWorks-Technologie. Einführung

Grundlagen der LonWorks-Technologie. Einführung Grundlagen der LonWorks-Technologie Einführung LonWorks wurde zu Beginn der 90er-Jahre von der Firma Echelon in den Vereinigten Staaten vonamerika entwickelt. Die Echelon Corporation entstand aus einem

Mehr

SIMATIC PCS 7 V8.1. Innovation Tour 2015 Field News

SIMATIC PCS 7 V8.1. Innovation Tour 2015 Field News SIMATIC PCS 7 V8.1 Innovation Tour 2015 Field News. Field News SIMATIC PCS 7 V8.1 Inhalte Management Console SIMATIC PDM Maintenance Station Feld-Hardware Seite 2 SIMATIC Management Console. SIMATIC Management

Mehr

Der offene Industrial Ethernet Standard. für die Automation. Antriebstechnik mit PROFINET. Dipl. Ing. Manfred Gaul

Der offene Industrial Ethernet Standard. für die Automation. Antriebstechnik mit PROFINET. Dipl. Ing. Manfred Gaul Antriebstechnik mit Der offene Industrial Ethernet Standard Dipl. Ing. Manfred Gaul Marketing and Engineering Manager Software Tools and Industrial Communication SEW-EURODRIVE GmbH & Co KG für die Automation

Mehr

Aufgaben und Strukturen der Prozessleittechnik - 2

Aufgaben und Strukturen der Prozessleittechnik - 2 Fakultät ETIT, Institut für Automatisierungstechnik, Professur für Prozessleittechnik Aufgaben und Strukturen der Prozessleittechnik - 2 VL Prozessleittechnik 1 SS 2013 Professur für Prozessleittechnik

Mehr

Vorlesungsziele. Mit gängigen Begriffen etwas anfangen können. In der Lage sein, die Architektur von Mikroprozessoren zu verstehen

Vorlesungsziele. Mit gängigen Begriffen etwas anfangen können. In der Lage sein, die Architektur von Mikroprozessoren zu verstehen Vorlesungsziele Mit gängigen Begriffen etwas anfangen können In der Lage sein, die Architektur von Mikroprozessoren zu verstehen Die Grundkomponenten eines Mikroprozessor - Systems und ihr Zusammenwirken

Mehr

Soft-SPS - Was ist eine SPS?

Soft-SPS - Was ist eine SPS? Soft-SPS - Was ist eine SPS? SPS = Speicherprogrammierbare Steuerung PLC = Programmable Logic Control Ursprünglich elektronischer Ersatz von Relaissteuerungen (Schützsteuerung) 1 Soft-SPS - Relais-Steuerung

Mehr

Einführung in Automation Studio

Einführung in Automation Studio Einführung in Automation Studio Übungsziel: Der links abgebildete Stromlaufplan soll mit einer SPS realisiert werden und mit Automation Studio programmiert werden. Es soll ein Softwareobjekt Logik_1 in

Mehr

DER CONTROLLER KNX IP. Bewährte Technik auf neuem Niveau

DER CONTROLLER KNX IP. Bewährte Technik auf neuem Niveau DER CONTROLLER KNX IP Bewährte Technik auf neuem Niveau DAS WAGO-KNX-PORTFOLIO KNX Controller KNX IP starke Performance Der frei programmierbare Controller KNX IP ist das Multitalent für die flexible Gebäudetechnik.

Mehr

Sensorik 4.0 auf dem Weg zu Industrie 4.0. www.pepperl-fuchs.com

Sensorik 4.0 auf dem Weg zu Industrie 4.0. www.pepperl-fuchs.com Sensorik 4.0 auf dem Weg zu Industrie 4.0 www.pepperl-fuchs.com Agenda Das Unternehmen Sensorik in der Welt der Industrieautomation Sensorik 4.0, auf dem Weg zu Industrie 4.0 www.pepperl-fuchs.com 2 Ein

Mehr

Echtzeitbetriebssysteme (am Beispiel QNX) Dr. Stefan Enderle HS Esslingen

Echtzeitbetriebssysteme (am Beispiel QNX) Dr. Stefan Enderle HS Esslingen Echtzeitbetriebssysteme (am Beispiel QNX) Dr. Stefan Enderle HS Esslingen 1. Einführung 1.1 Embedded Systeme Embedded Systeme besitzen / benutzen einen Mikrocontroller Embedded Systeme erfüllen meist eine

Mehr

für POSIDRIVE FDS 4000

für POSIDRIVE FDS 4000 AS-Interface Ankopplung für Frequenzumrichter POSIDRIVE FDS 4000 Dokumentation Vor der Inbetriebnahme unbedingt diese Dokumentation, sowie die Montage- und Inbetriebnahmeanleitung für POSIDRIVE FDS 4000

Mehr

Ingenieur- Informatik NTB. Interstaatliche Hochschule für Technik Buchs. Ingenieurstudium Systemtechnik. Studiendokumentation

Ingenieur- Informatik NTB. Interstaatliche Hochschule für Technik Buchs. Ingenieurstudium Systemtechnik. Studiendokumentation Ingenieurstudium Systemtechnik Studiendokumentation NTB Interstaatliche Hochschule für Technik Buchs FHO Fachhochschule Ostschweiz Studienrichtung Ingenieur- Informatik FASZINATION INGENIEURINFORMATIK

Mehr

DFI302. Modbus DI DO Impulse 4-20 ma HART. Das Angebot von Smar für ein SYSTEM302 setzt sich demnach aus den folgenden Komponenten zusammen:

DFI302. Modbus DI DO Impulse 4-20 ma HART. Das Angebot von Smar für ein SYSTEM302 setzt sich demnach aus den folgenden Komponenten zusammen: Systemaufbau smar Die Architektur des SYSTEM302 besteht aus Bedienstationen, Prozessanbindungseinheiten und Feldgeräten. Der grundsätzliche Aufbau kann der nachfolgenden Zeichnung entnommen werden: DFI302

Mehr

Anbindung LMS an Siemens S7. Information

Anbindung LMS an Siemens S7. Information Datum: 18.09.2003 Status: Autor: Datei: Lieferzustand Rödenbeck Dokument1 Versio n Änderung Name Datum 1.0 Erstellt TC 18.09.03 Seite 1 von 1 Inhalt 1 Allgemein...3 2 Komponenten...3 3 Visualisierung...4

Mehr

Mikrocontroller Grundlagen. Markus Koch April 2011

Mikrocontroller Grundlagen. Markus Koch April 2011 Mikrocontroller Grundlagen Markus Koch April 2011 Übersicht Was ist ein Mikrocontroller Aufbau (CPU/RAM/ROM/Takt/Peripherie) Unterschied zum Mikroprozessor Unterschiede der Controllerarten Unterschiede

Mehr

PARC. Eine virtuelle Echtzeit Entwicklungsumgebung für den Ausbildungsbereich

PARC. Eine virtuelle Echtzeit Entwicklungsumgebung für den Ausbildungsbereich PARC Eine virtuelle Echtzeit Entwicklungsumgebung für den Ausbildungsbereich Andre Köthur und Dr. Norbert Drescher Fachhochschule Südwestfalen 5095 Hagen Haldener Str. 12 Einleitung und Zielsetzung Die

Mehr

Angewandte Informatik

Angewandte Informatik Angewandte Informatik Teil 2.1 Was ist Hardware? Die Zentraleinheit! 1 von 24 Inhaltsverzeichnis 3... Was ist Hardware? 4... Teile des Computers 5... Zentraleinheit 6... Die Zentraleinheit 7... Netzteil

Mehr

Fach: Automatisierungstechnik (AUT) Berufsbezogener Lernbereich Schwerpunkt: Energie- und Anlagentechnik. Aufgaben und Ziele des Faches:

Fach: Automatisierungstechnik (AUT) Berufsbezogener Lernbereich Schwerpunkt: Energie- und Anlagentechnik. Aufgaben und Ziele des Faches: Fach: Automatisierungstechnik (AUT) Berufsbezogener Lernbereich Schwerpunkt: Energie- und Anlagentechnik Aufgaben und Ziele des Faches: Für den Schwerpunkt Informations- und Automatisierungstechnik ist

Mehr

1. Juli 2014. Hybrid Bus System: PCI-Bus, Feldbus und Punkt-Punktverbindungen mit GB Ethernet, SATA,

1. Juli 2014. Hybrid Bus System: PCI-Bus, Feldbus und Punkt-Punktverbindungen mit GB Ethernet, SATA, Hybrid Bus System: PCI-Bus, Feldbus und Punkt-Punktverbindungen mit GB Ethernet, SATA, USB sowie PCIe Trenew Electronic AG 5 unabhängige Bereiche mit viel Synergie-Potential: Distributor + Hersteller Embedded

Mehr

Automotive Software Engineering

Automotive Software Engineering Jorg Schauffele Thomas Zurawka Automotive Software Engineering Grundlagen, Prozesse, Methoden und Werkzeuge Mit 278 Abbildungen ATZ-MTZ-Fachbuch vieweg Inhaltsverzeichnis 1 Einfiihrung und Uberblick 1

Mehr

Big Data/ Industrie 4.0 Auswirkung auf die Messtechnik. 16.07.2015 Jochen Seidler

Big Data/ Industrie 4.0 Auswirkung auf die Messtechnik. 16.07.2015 Jochen Seidler Big Data/ Industrie 4.0 Auswirkung auf die Messtechnik 16.07.2015 Jochen Seidler Die Entwicklung zur Industrie 4.0 4. Industrielle Revolution auf Basis von Cyber-Physical Systems Industrie 4.0 2. Industrielle

Mehr

2 Echtzeitbetriebssysteme

2 Echtzeitbetriebssysteme 35 2 Echtzeitbetriebssysteme In den letzten Jahren hat sich die Automobilindustrie zu einem der wesentlichen Anwender von Echtzeitbetriebssystemen für eingebettete Systeme entwickelt. Relativ zeitig erkannten

Mehr

Studienvertiefungsrichtung Informationstechnik

Studienvertiefungsrichtung Informationstechnik Studienvertiefungsrichtung Informationstechnik Prof.Dr.-Ing. Ulrich Sauvagerd Lehrgebiet Informationstechnik Nov. 2006, Seite 1 www.etech.haw-hamburg.de/~sauvagerd Lehrgebiet Informationstechnik Nov. 2006,

Mehr

Industrie 4.0 richtig vernetzt

Industrie 4.0 richtig vernetzt Titelstory Industrie 4.0 richtig vernetzt Die Datenmengen, die auf Maschinen-, Anlagen- und Fabriksebene übertragen und verarbeitet werden nehmen im Zuge der 4. industriellen Revolution massiv zu. Herkömmliche

Mehr

Industrie 4.0 und der Mittelstand

Industrie 4.0 und der Mittelstand a.tent.o-zeltsysteme 16. September 2015 Classic Remise Düsseldorf Industrie 4.0 und der Mittelstand Fraunhofer Seite 1 INDUSTRIE 4.0 FÜR DEN MITTELSTAND Dipl.-Ing. H.-G. Pater Industrie 4.0 : ERP und KMU

Mehr

cosys9 die modularen Alleskönner zum Messen, Steuern und Regeln auch im Web.

cosys9 die modularen Alleskönner zum Messen, Steuern und Regeln auch im Web. cosys9 die modularen Alleskönner zum Messen, Steuern und Regeln auch im Web. Klein und vielseitig cosys9, die embedded PC Familie für Steuerungsaufgaben. Die cosys9 Gerätefamilie eignet sich überall dort,

Mehr

Bachmann Safety Control. Integrierte Sicherheit für Mensch und Maschine

Bachmann Safety Control. Integrierte Sicherheit für Mensch und Maschine Bachmann Safety Control Integrierte Sicherheit für Mensch und Maschine ISO 13849 IEC 62061 EN 61511 IEC 61508 Die Sicherheit von Maschinen wird neu definiert Ob einfacher Not-Halt am Maschinenpult oder

Mehr

Mit Integrated Engineering die Wettbewerbsfähigkeit sichern

Mit Integrated Engineering die Wettbewerbsfähigkeit sichern Anlagenbetrieb Prozessautomatisierung mit SIMATIC PCS 7 Mit Integrated Engineering die Wettbewerbsfähigkeit sichern siemens.com/answers Anlagenbetrieb Seite 2 Anlagenbetrieb Seite 3 Früher: Planungsmodelle

Mehr

SIMATIC S7-modular Embedded Controller

SIMATIC S7-modular Embedded Controller SIMATIC S7-modular Embedded Controller Leistungsfähiger Controller für Embedded Automation Jan Latzko Siemens AG Sector Industry IA AS FA PS4 Produktmanager SIMATIC S7-modular Embedded Controller Summar

Mehr

Klausur Kommunikationsprotokolle in der Automatisierungstechnik

Klausur Kommunikationsprotokolle in der Automatisierungstechnik Hochschule Darmstadt Fachbereich Informatik Klausur Kommunikationsprotokolle in der Automatisierungstechnik angefertigt von Jürgen Müller Proffessor: Prof. Dr. Klaus Frank Inhaltsverzeichnis 1 Klausur

Mehr

Funktionale Sicherheit

Funktionale Sicherheit Funktionale Sicherheit Praktische Umsetzung mit Für alle Anforderungen Systemübersicht Architekturen Das Konzept Beispielapplikation Projektierung Funktionstest Abnahme Dokumentation Safety Sicher und

Mehr

Virtualisierung in der Automatisierungstechnik

Virtualisierung in der Automatisierungstechnik Virtualisierung in der Automatisierungstechnik Ihr Referent Jürgen Flütter on/off engineering gmbh Niels-Bohr-Str. 6 31515 Wunstorf Tel.: 05031 9686-70 E-Mail: juergen.fluetter@onoff-group.de 2 Virtualisierung

Mehr

INES-Webserver. Damit gehen Ihre Geräte und Anlagen online. 1 Inhalt

INES-Webserver. Damit gehen Ihre Geräte und Anlagen online. 1 Inhalt Damit gehen Ihre Geräte und Anlagen online Mit dem Webbrowser bedienen, steuern und überwachen Sie INES und die daran angeschlossene Peripherie... ganz einfach übers Internet. 1 Inhalt 1 Inhalt 1 2 Anwendungen

Mehr

Aktuator-Sensor-interface (ASi) Dezentrale Automatisierungssysteme

Aktuator-Sensor-interface (ASi) Dezentrale Automatisierungssysteme Aktuator-Sensor-interface (ASi) Installationsbus ASi-Aufbau ASi-Funktionsweise CP242-8 Digital- und Analogmodul Programmierung Analogwertübertragung Wolfgang astner, EMail: k@auto.tuwien.ac.at Institut

Mehr

Bedienen und Beobachten

Bedienen und Beobachten Bedienen und Beobachten im Ex-Bereich Realisierung von Bildschirmarbeitsplätzen auf Basis unterschiedlicher Ex-Zündschutzarten Dr.-Ing. Christoph Gönnheimer Motivation Komplexität moderner Produktionsprozesse

Mehr

Welcome to PHOENIX CONTACT

Welcome to PHOENIX CONTACT Welcome to PHOENIX CONTACT Zukunftsforum Automation&Robotik Inspiring Innovations- Trends und Entwicklungen aktiv mitgestalten Roland Bent Geschäftsführer Phoenix Contact GmbH & Co. KG PHOENIX CONTACT

Mehr

examen.press Echtzeitsysteme Grundlagen, Funktionsweisen, Anwendungen Bearbeitet von Heinz Wörn

examen.press Echtzeitsysteme Grundlagen, Funktionsweisen, Anwendungen Bearbeitet von Heinz Wörn examen.press Echtzeitsysteme Grundlagen, Funktionsweisen, Anwendungen Bearbeitet von Heinz Wörn 1. Auflage 2005. Taschenbuch. xiv, 556 S. Paperback ISBN 978 3 540 20588 3 Format (B x L): 15,5 x 23,5 cm

Mehr

Sie automatisieren die Welt von morgen Wir sorgen für die optimale Verbindung Let s connect. Gerätehersteller

Sie automatisieren die Welt von morgen Wir sorgen für die optimale Verbindung Let s connect. Gerätehersteller Sie automatisieren die Welt von morgen Wir sorgen für die optimale Verbindung Let s connect. Gerätehersteller Wie verändert der Megatrend Urbanisierung die industrielle Welt? Maschinenbau 3,9 Industrie

Mehr

Industrie 4.0 Grundlagen und Überblick mainproject am 15.07.2014

Industrie 4.0 Grundlagen und Überblick mainproject am 15.07.2014 Grundlagen und Überblick mainproject am 15.07.2014 Gliederung 2 1. Vorstellung 2. Initiatoren und Ziel 3. Die Geschichte der Industrie 4. Technologische Grundlage 5. Folgen und Potenziale für die Industrie

Mehr

Getriebemotoren \ Industriegetriebe \ Antriebselektronik \ Antriebsautomatisierung \ Services. Ein Kabel viele Möglichkeiten. Industrial ETHERNET

Getriebemotoren \ Industriegetriebe \ Antriebselektronik \ Antriebsautomatisierung \ Services. Ein Kabel viele Möglichkeiten. Industrial ETHERNET Getriebemotoren \ Industriegetriebe \ Antriebselektronik \ Antriebsautomatisierung \ Services Ein Kabel viele Möglichkeiten Industrial ETHERNET 2 Industrial ETHERNET Vertikale und horizontale Integration

Mehr

Agentenunterstütztes IT-Sicherheitskonzept für Automatisierungssysteme

Agentenunterstütztes IT-Sicherheitskonzept für Automatisierungssysteme Universität Stuttgart Institut für Automatisierungs- und Softwaretechnik Prof. Dr.-Ing. Dr. h. c. P. Göhner Agentenunterstütztes IT-Sicherheitskonzept für Automatisierungssysteme Felix Gutbrodt GMA-Kongress

Mehr

pimoto - Ein System zum verteilten passiven Monitoring von Sensornetzen

pimoto - Ein System zum verteilten passiven Monitoring von Sensornetzen pimoto - Ein System zum verteilten passiven Monitoring von Sensornetzen Rodrigo Nebel Institut für Informatik Lehrstuhl für Rechnernetze und Kommunikationssysteme (Informatik 7) Friedrich-Alexander-Universität

Mehr

IMPRS course Scientific Toolbox : Data Acquisition

IMPRS course Scientific Toolbox : Data Acquisition IMPRS course Scientific Toolbox : Data Acquisition Template: Vorlesungsbegleitendes Skript, PDV1, Technische Fachhochschule Berlin vom 19.4.06 Fritz-Haber-Institut der Max-Planck-Gesellschaft Heinz Junkes

Mehr

1 2. BME - Thementag

1 2. BME - Thementag 1 2. BME - Thementag Die Profis für Automatisierung und Informationstechnologie 25 Jahre Erfahrung national und international tätig mehr als 150 qualifizierte Mitarbeiter Umsatz von 20 Millionen jährlich

Mehr

PIWIN II. Praktische Informatik für Wirtschaftsmathematiker, Ingenieure und Naturwissenschaftler II. Vorlesung 2 SWS SS 08

PIWIN II. Praktische Informatik für Wirtschaftsmathematiker, Ingenieure und Naturwissenschaftler II. Vorlesung 2 SWS SS 08 PIWIN II Kap. 3: Verteilte Systeme & Rechnernetze 1 PIWIN II Praktische Informatik für Wirtschaftsmathematiker, Ingenieure und Naturwissenschaftler II Vorlesung 2 SWS SS 08 Fakultät für Informatik Technische

Mehr

ELEKTRO-ELEKTRONIK PRANJIC Effizienz auf höchstem Niveau. Automatisierung und Hydraulik Lösungen mit System

ELEKTRO-ELEKTRONIK PRANJIC Effizienz auf höchstem Niveau. Automatisierung und Hydraulik Lösungen mit System ELEKTRO-ELEKTRONIK PRANJIC Effizienz auf höchstem Niveau Automatisierung und Hydraulik Lösungen mit System Automatisierung Hydraulik & Bergbautechnik Datenübertragung & Kommunikation Software & Visualisierung

Mehr

IMATIC PCS 7. anlagennahes Asset Management

IMATIC PCS 7. anlagennahes Asset Management IMATIC PCS 7 anlagennahes Asset Management Setting a New Informationsfluss das Problem SIMATIC PCS 7 - Anlagennahes Asset-Management 2 Die Aufgabenstellung Setting a New Betriebsleitebene (MES-Ebene) Bedienebene

Mehr

Gezielte Wartung von automatisierten Systemen mit Hilfe von Fehlerprävention

Gezielte Wartung von automatisierten Systemen mit Hilfe von Fehlerprävention University of Stuttgart Institute of Industrial Automation and Software Engineering Prof. Dr.-Ing. Dr. h. c. P. Göhner Gezielte Wartung von automatisierten Systemen mit Hilfe von Fehlerprävention Manuel

Mehr

Reaktive Systeme und synchrones Paradigma

Reaktive Systeme und synchrones Paradigma Sascha Kretzschmann Freie Universität Berlin Reaktive Systeme und synchrones Paradigma Einführung in das Seminar über synchrone Programmiersprachen Worum geht es? INHALT 2 Inhalt 1. Einleitung - Wo befinden

Mehr

20 Eingebettete Software

20 Eingebettete Software 20 Eingebettete Software 20.0 Einführung Lernziele Echtzeitsysteme Eingebettete Systeme 20.1 Entwurf eingebetteter Systeme Modellierung von Echtzeitsystemen Programmierung von Echtzeitsystemen 20.2 Architekturmuster

Mehr

Military Air Systems

Military Air Systems Trennung von Applikationen unterschiedlicher Kritikalität in der Luftfahrt durch Software en am Beispiel des Real-time Operating Systems PikeOS Dr. Bert Feldmann DGLR Workshop Garching, 09.10.2007 Seite

Mehr

Norbert Becker. Automatisierungstechnik

Norbert Becker. Automatisierungstechnik Norbert Becker Automatisierungstechnik Professor Dr.-Ing. Norbert Becker Automatisierungstechnik 2., völlig neu bearbeitete Auflage Vogel Buchverlag Prof. Dr.-Ing. Norbert Becker studierte bis zum Vordiplom

Mehr

abaconnect Produktbeschreibung

abaconnect Produktbeschreibung abaconnect Produktbeschreibung abaconnect erfasst, verwaltet und archiviert Ihre Prozessdaten und stellt diese nach Ihren Bedürfnissen übersichtlich dar; Verwendung für Chargenprotokollierung, individuelles

Mehr

Intrusion-Detection für Automatisierungstechnik

Intrusion-Detection für Automatisierungstechnik Intrusion-Detection für Automatisierungstechnik Franka Schuster Lehrstuhl Rechnernetze und Kommunikationssysteme Brandenburgische Technische Universität, Cottbus SPRING 7 GI SIDAR Graduierten-Workshop

Mehr

Informatik im Studiengang Allgemeiner Maschinenbau Sommersemester 2014

Informatik im Studiengang Allgemeiner Maschinenbau Sommersemester 2014 Informatik im Studiengang Allgemeiner Maschinenbau Sommersemester 2014 Prof. Dr.-Ing. habil. Peter Sobe Fakultät Informatik / Mathematik Zur Person: Prof. Dr.-Ing. habil. Peter Sobe Fakultät Informatik/Mathematik

Mehr

Die Übertragungsraten reichen von 10 MBit/s und 100 MBit/s über 1 Gigabit/s bis zu 10 Gigabit/s.

Die Übertragungsraten reichen von 10 MBit/s und 100 MBit/s über 1 Gigabit/s bis zu 10 Gigabit/s. Modul: Industrial Ethernet Industrial Ethernet und seine besonderen Anforderungen Ethernet ist heute die am meisten verbreitete Kommunikationstechnology bei EDV-Systemen. In dieser so genannten Büroumgebung

Mehr

1Computergrundlagen = 1*16 + 0*8 + 1*4 + 1*2 + 0*1

1Computergrundlagen = 1*16 + 0*8 + 1*4 + 1*2 + 0*1 Kapitel 1 1Computergrundlagen Zusammenfassung des Stoffes In diesem Kapitel haben Sie die Komponenten eines Computers und die Rolle von Computern in Netzwerken kennen gelernt. Wir stellten insbesondere

Mehr

FDT Stand. FDT Standard FDT/DTM. Gerätemanagement-Technologie nach dem FDT Standard

FDT Stand. FDT Standard FDT/DTM. Gerätemanagement-Technologie nach dem FDT Standard Gerätemanagement-Technologie nach dem FDT Standard FDT Standard FDT/DTM FDT Stand NEU: Intelligentes und effizientes Gerätemanagement nach FDT/DTM für Hirschmann Geräte wie Switches, Router, Firewalls

Mehr

Virtualisierung in der Automatisierungstechnik

Virtualisierung in der Automatisierungstechnik Virtualisierung in der Automatisierungstechnik Ihr Referent Jürgen Flütter on/off engineering gmbh Niels-Bohr-Str. 6 31515 Wunstorf Tel.: 05031 9686-70 E-Mail: juergen.fluetter@onoff-group.de 2 Virtualisierung

Mehr

B.4. B.4 Betriebssysteme. 2002 Prof. Dr. Rainer Manthey Informatik II 1

B.4. B.4 Betriebssysteme. 2002 Prof. Dr. Rainer Manthey Informatik II 1 Betriebssysteme Betriebssysteme 2002 Prof. Dr. Rainer Manthey Informatik II 1 Bekannte Betriebssysteme Windows 2000 CMS UNIX MS-DOS OS/2 VM/SP BS 2000 MVS Windows NT Solaris Linux 2002 Prof. Dr. Rainer

Mehr

StarterKit Embedded Control SC13 + DK51. From the electronic to the automation

StarterKit Embedded Control SC13 + DK51. From the electronic to the automation SC13 + DK51 From the electronic to the automation 21.10.2005 No. 1 /14 Entwicklungssystem für Embedded Controller Applikationsspezifische Komponenten ergänzen. Ethernet-Anbindungen seriellen Schnittstellen

Mehr

Verteilte Systeme CS5001

Verteilte Systeme CS5001 CS5001 Th. Letschert TH Mittelhessen Gießen University of Applied Sciences Einführung Administratives Unterlagen Verwendbar: Master of Science (Informatik) Wahlpflichtfach (Theorie-Pool) Unterlagen Folien:

Mehr

Daten. Wichtige Informatik-Prinzipien. Informatik-Prinzipien Analoge & digitale Daten Zahlensysteme Zeichen-Codes Datensicherheit

Daten. Wichtige Informatik-Prinzipien. Informatik-Prinzipien Analoge & digitale Daten Zahlensysteme Zeichen-Codes Datensicherheit Daten Informatik-Prinzipien Analoge & digitale Daten Zahlensysteme Zeichen-Codes Datensicherheit Datenschutz www.allgemeinbildung.ch - 2.03.2009 Wichtige Informatik-Prinzipien () Digital-Prinzip Daten

Mehr

Prozess-rechner. auch im Büro. Automation und Prozessrechentechnik. Prozessrechner. Sommersemester 2011. Prozess I/O. zu und von anderen Rechnern

Prozess-rechner. auch im Büro. Automation und Prozessrechentechnik. Prozessrechner. Sommersemester 2011. Prozess I/O. zu und von anderen Rechnern Automation und Prozessrechentechnik Sommersemester 20 Prozess I/O Prozessrechner Selbstüberwachung zu und von anderen Rechnern Prozessrechner speziell Prozessrechner auch im Büro D A D A binäre I/O (Kontakte,

Mehr

Entwurf!!!!! Erweiterung der Rahmenrichtlinien. Technik. für das Fach. im Berufliches Gymnasium Technik. Stand: Mai 2008

Entwurf!!!!! Erweiterung der Rahmenrichtlinien. Technik. für das Fach. im Berufliches Gymnasium Technik. Stand: Mai 2008 Rahmenrichtlinien für das Fach Technik im Beruflichen Gymnasium Technik Stand 01.06.2012 Entwurf!!!!! Erweiterung der Rahmenrichtlinien für das Fach Technik im Berufliches Gymnasium Technik Stand: Mai

Mehr

Embedded Software Engeneering mit dem Raspberry Pi

Embedded Software Engeneering mit dem Raspberry Pi Embedded Software Engeneering mit dem Raspberry Pi Übersicht Rasperry Pi Betriebssystem Hardware ARM Μ-Controller vs. Μ-Prozessor vs. SoC Embedded Software Engineering vs. Software Engineering Fazit Raspberry

Mehr

Wir machen Flüssigkeiten transparent. Systemelektronik GmbH Faluner Weg 1 D-24109 Kiel Tel: + 49-(0)431 /5 80 80-0 www.go-sys.de bluebox@go-sys.

Wir machen Flüssigkeiten transparent. Systemelektronik GmbH Faluner Weg 1 D-24109 Kiel Tel: + 49-(0)431 /5 80 80-0 www.go-sys.de bluebox@go-sys. Wir machen Flüssigkeiten transparent Systemelektronik GmbH Faluner Weg 1 D-24109 Kiel Tel: + 49-(0)431 /5 80 80-0 www.go-sys.de bluebox@go-sys.de BlueBox BlueBox ist ein ideales Mess- und Steuerungssystem.

Mehr

Integrierte modellgestützte Risikoanalyse komplexer Automatisierungssysteme

Integrierte modellgestützte Risikoanalyse komplexer Automatisierungssysteme Universität Stuttgart Institut für Automatisierungs- und Softwaretechnik Prof. Dr.-Ing. Dr. h. c. P. Göhner Integrierte modellgestützte Risikoanalyse komplexer Automatisierungssysteme Dipl.-Ing. Michael

Mehr

Tier-Konzepte. Vertiefungsarbeit von Karin Schäuble

Tier-Konzepte. Vertiefungsarbeit von Karin Schäuble Vertiefungsarbeit von Karin Schäuble Gliederung 1. Einführung 3. Rahmenbedingungen in der heutigen Marktwirtschaft 3.1 Situation für Unternehmen 3.2 Situation für Applikationsentwickler 4. Lösungskonzepte

Mehr

PROCONTROL P. Geräte- und Anwendungsbeschreibung. Universelles Eingabegerät für Binär- und Analoggeber 81EU01-- E/R1210

PROCONTROL P. Geräte- und Anwendungsbeschreibung. Universelles Eingabegerät für Binär- und Analoggeber 81EU01-- E/R1210 Geräte- und Anwendungsbeschreibung Ergänzung für den redundanten Einsatz Druckschrift---Nr. D KWL 8 94 D, Ausgabe 1/94 PROCONTROL P Ein-/Ausgabe, Meßwertaufbereitung Universelles Eingabegerät für Binär-

Mehr

FLEXIBLE SOFTWAREPLATTFORM FÜR ENERGIEMANAGEMENT

FLEXIBLE SOFTWAREPLATTFORM FÜR ENERGIEMANAGEMENT FLEXIBLE SOFTWAREPLATTFORM FÜR ENERGIEMANAGEMENT Energiesymposium Energietechnik im Wandel 27. Oktober 2014 Peter Heusinger, Fraunhofer IIS Fraunhofer IIS Einführung Gründe für Energiemanagement Energiebewusst

Mehr

Analyze IT Explorer Asset-Management für die Analysentechnik

Analyze IT Explorer Asset-Management für die Analysentechnik Analyze IT Explorer Asset-Management für die Analysentechnik Standortübergreifendes Asset-Management Die Verfügbarkeit Ihrer Analysengeräte und -systeme hat für Sie höchste Priorität und Sie wünschen sich

Mehr

Personenschutz durch optische Raumerfassung

Personenschutz durch optische Raumerfassung Personenschutz durch optische Raumerfassung Für gefährliche Arbeitsumgebungen im klinischen Alltag wie Strahlenschutzbereiche in der Radiologie muss sichergestellt werden, dass das Bedien- und Wartungspersonal

Mehr

Die Verbindung für Ihre Produkte zum Internet mit dem LAING CLOUD INTERFACE. Bedienen Überwachen Konfigurieren über das Internet

Die Verbindung für Ihre Produkte zum Internet mit dem LAING CLOUD INTERFACE. Bedienen Überwachen Konfigurieren über das Internet Die Verbindung für Ihre Produkte zum Internet mit dem LAING CLOUD INTERFACE. Bedienen Überwachen Konfigurieren über das Internet Laing Cloud Interface Verbindungen zum Internet gibt es viele, aber vermutlich

Mehr

Teil VIII Von Neumann Rechner 1

Teil VIII Von Neumann Rechner 1 Teil VIII Von Neumann Rechner 1 Grundlegende Architektur Zentraleinheit: Central Processing Unit (CPU) Ausführen von Befehlen und Ablaufsteuerung Speicher: Memory Ablage von Daten und Programmen Read Only

Mehr

B&R Sommerworkshop 2014

B&R Sommerworkshop 2014 SWS2014-GER 2014/03/20 SWS2014 B&R Sommerworkshop 2014 2 Inhaltsverzeichnis INHALTSVERZEICHNIS 1 SPE9210.314 - BASISSEMINAR - GRUNDSTEINE DER MECHATRONIK... 4 2 SPE9250.314 - AUFBAUSEMINAR - DATENVERARBEITUNG

Mehr

Anforderungen und "state-of-the-art" bei embedded Web-Lösungen für Automatisierungsgeräte. André Hösel

Anforderungen und state-of-the-art bei embedded Web-Lösungen für Automatisierungsgeräte. André Hösel Anforderungen und "state-of-the-art" bei embedded Web-Lösungen für Automatisierungsgeräte André Hösel Gliederung I. Motivation II. embedded Webserver III. Möglichkeiten der Prozesskopplung IV. Beispiel

Mehr

Pharma Forum 2012 Trends und Visionen in der Pharmaindustrie Standardisierte Schnittstellen zu Package Units

Pharma Forum 2012 Trends und Visionen in der Pharmaindustrie Standardisierte Schnittstellen zu Package Units Pharma Forum 2012 Trends und Visionen in der Pharmaindustrie Standardisierte Schnittstellen zu Package Units Peter Bürgin, Geschäftsleiter CTE Präsentation CTE Name: Ingenieurbüro für Automation AG Standort:

Mehr

Simulation der SW-Systemzuverlässigkeit in Automatisierungssystemen auf Grundlage von SW-Komponenten

Simulation der SW-Systemzuverlässigkeit in Automatisierungssystemen auf Grundlage von SW-Komponenten Universität Stuttgart Institut für Automatisierungs- und Softwaretechnik Prof. Dr.-Ing. Dr. h. c. P. Göhner Simulation der SW-Systemzuverlässigkeit in Automatisierungssystemen auf Grundlage von SW-Komponenten

Mehr

Halbleiterspeicher. Halbleiterspeicher. 30.09.2008 Michael Kuhfahl 1

Halbleiterspeicher. Halbleiterspeicher. 30.09.2008 Michael Kuhfahl 1 Halbleiterspeicher 30.09.2008 Michael Kuhfahl 1 Gliederung I. FF als Speicher (1 Bit) II. Register als Speicher (n Bit) III. Anordnung der Speicherzellen IV. SRAM V. DRAM VI. ROM VII. PROM VIII. EPROM

Mehr

Sicherheit & Zuverlässigkeit

Sicherheit & Zuverlässigkeit Fakultät Elektrotechnik & Informationstechnik Institut für Automatisierungstechnik, Professur für Prozessleittechnik Sicherheit & Zuverlässigkeit Einführung VL PLT-2 Professur für Prozessleittechnik Übersicht

Mehr

Zentrales Energiemanagement für Virtuelle Kraftwerke

Zentrales Energiemanagement für Virtuelle Kraftwerke Zentrales Energiemanagement für Virtuelle Kraftwerke dataprofit Lösung Virtuelles Kraftwerk A 3 Wissenschaftsdialog Energie Reinhard Dietrich Dipl. Inf. Univ. Leiter Technik & Entwicklung dataprofit GmbH

Mehr

Computer: PC. Informationstechnik für Luft-und Raumfahrt Aerospace Information Technology

Computer: PC. Informationstechnik für Luft-und Raumfahrt Aerospace Information Technology Computer: PC Informationstechnik für Luft-und Raumfahrt Ab Morgen nur eingebete Systeme Aber es gibt auch PCs Na gut... dann Heute. dann haben wir es hinter uns Und nicht wenige! PCs in N Jahren Industrie

Mehr

Migrationsstrategien für Industrie 4.0

Migrationsstrategien für Industrie 4.0 Industrie 4.0 IT als Innovationstreiber von Maschinenbau und Automatisierung Migrationsstrategien für Industrie 4.0 Dr.-Ing. Gunther Kegel Vorsitzender der Geschäftsführung Pepperl+Fuchs, Mannheim Mittelständisches

Mehr

Industrie 4.0 - Intelligente Vernetzung für die Produktion von morgen. Jörg Nolte Robotation Academy Hannover PHOENIX CONTACT Deutschland GmbH

Industrie 4.0 - Intelligente Vernetzung für die Produktion von morgen. Jörg Nolte Robotation Academy Hannover PHOENIX CONTACT Deutschland GmbH Industrie 4.0 - Intelligente Vernetzung für die Produktion von morgen Jörg Nolte Robotation Academy Hannover PHOENIX CONTACT Deutschland GmbH PHOENIX CONTACT Stammsitz Blomberg Bad Pyrmont 2 / Jörg Nolte

Mehr

Einfache Computersteuerung für Modellbahnen

Einfache Computersteuerung für Modellbahnen Einfache Computersteuerung für Modellbahnen Was soll eigentlich mit einem Computer gesteuert werden? Diese Frage muss man sich als erstes stellen: - Man braucht für Ausstellungen einen kompletten automatischen

Mehr

Stuxnet zum Frühstück Industrielle Netzwerksicherheit 2.0 Stuttgart und München

Stuxnet zum Frühstück Industrielle Netzwerksicherheit 2.0 Stuttgart und München Stuxnet zum Frühstück Industrielle Netzwerksicherheit 2.0 Stuttgart und München 2 Gefahrenpotentiale Ist die totale IT-Sicherheit möglich? Verfügbarkeit Sicherheit Erreichbarkeit Performance Einfachheit

Mehr

GraphPic. Die Prozessvisualisierung 2015 GEFASOFT AG

GraphPic. Die Prozessvisualisierung 2015 GEFASOFT AG GraphPic Die Prozessvisualisierung Anforderungen und Merkmale Eine Visualisierungssoftware sollte nicht nur die üblichen Funktionen anbieten, sondern generell ein effizientes Arbeiten ermöglichen. Hohe

Mehr

Einführung in die OPC-Technik

Einführung in die OPC-Technik Einführung in die OPC-Technik Was ist OPC? OPC, als Standartschnittstelle der Zukunft, steht für OLE for Process Control,und basiert auf dem Komponentenmodel der Firma Microsoft,dem Hersteller des Betriebssystems

Mehr

1-Sekunden-USV: Wichtige Daten bei Spannungsausfall sichern

1-Sekunden-USV: Wichtige Daten bei Spannungsausfall sichern Keywords 1-Sekunden-USV USV unterbrechungsfrei Spannungsversorgung Spannungsausfall Daten sichern C6915 CX5000 CP77xx CP62xx 1-Sekunden-USV: Wichtige Daten bei Spannungsausfall sichern Dieses Application

Mehr