Johannes Hofer. SCL und OOP. mit dem TIA Portal. Ein Leitfaden für eine objektorientierte Arbeitsweise. 2., neu bearbeitete Auflage VDE VERLAG GMBH

Ähnliche Dokumente
SCL und OOP mit dem TIA Portal V11

Abkürzungsverzeichnis... XIII

Abkürzungsverzeichnis... XIII

Einleitung. 1.1 Die Idee des Buchs. 1.2 Der Weg zur Anwendung

Schnittstellen. Mehr Informationen zum Titel. 4.1 Die Peripherie

Analyse und Design mituml2.1

Analyse und Design mituml2

Analyse und Design mit U ML 2.3

Einführung in die objektorientierte Programmierung

Vorwort zur zweiten Auflage 1. Vorwort zur ersten Auflage 2

Inhaltsverzeichnis Einleitung xi Kapitel 1: Die Vorbereitung aufs Abenteuer

2.1 Visual C Express installieren Visual C Express starten Visual C Express registrieren...

Java-Grundkurs für Wirtschaftsinformatiker

Inhaltsverzeichnis. 4.9 Aufgaben... 63

Auf einen Blick. 1 Einleitung Die Basis der Objektorientierung Die Prinzipien des objektorientierten Entwurfs...

Objektorientierte Programmierung mit Java

Objektorientiertes Programmieren

Inhalt. 1 Einführung 17. Strukturdiagramme. 2 Klassendiagramm 37

2 Grundsätzliches zur objektorientierten Programmierung.. 33

Grundkurs Software- Entwicklung mit C++

Inhaltsverzeichnis. Kurseinheit 1. Kurseinheit 2

Jason T. Roff UML. IT Tutorial. Übersetzung aus dem Amerikanischen von Reinhard Engel

Objektorientierte Programmierung (OOP)

UML 2 glasklar Praxiswissen für die UML-Modellierung

Richtig einsteigen: Access 2007 VBA-Programmierung

Christoph Kecher, Alexander Salvanos UML 2.5. Das umfassende Handbuch. Rheinwerk. Computing

Objektorientiertes Programmieren in C++

Inhaltsverzeichnis. Teil I Erste Schritte. 1 Einleitung Teil II Grundlagen von VBA. 2 Die ersten VBA-Prozeduren erstellen...

Inhaltsverzeichnis. Teil 1 Grundlagen der Objektorientierung 29

Automatisieren mitsimatic

Richtig einsteigen: Access 2010 VBA-Programmierung

Vorlesung Programmieren

Java als erste Programmiersprache

Peter Prinz Ulla Kirch-Prinz C+ + Lernen und professionell anwenden. ffl mitp

Inhaltsverzeichnis.

TEIL I Strukturdiagramme 1 Einführung Klassendiagramm Objektdiagramm Kompositionsstrukturdiagramm...

Das UML Benutzerhandbuch

Inhalt. Vorwort 13. Einleitung JavaScript-Grundlagen 17

Martin Fowler, Kendall Scott. UML konzentriert. Eine strukturierte Einführung in die Standard-Objektmodellierungssprache. 2., aktualisierte Auflage

Inhaltsverzeichnis. Grundlagen und Einführung (1. Band) 1

Software Engineering in der Praxis

Datenbanken. Teil 2: Informationen. Kapitel 7: Objektorientierte Sicht. UML-Diagramme. Vorstellung der unterschiedlichen UML-Diagramme

Wirtschaftsinformatik 6a: Modellierung. Hochschule für Wirtschaft und Recht SS 16 Dozent: R. Witte

2 Wegweiser Projektbeschreibung...69

UML (Unified Modelling Language) von Christian Bartl

Inhaltsverzeichnis 1 Der objektorientierte Ansatz 2 Elementare Objekte und Ausdrücke

Labor Datenverarbeitung SS 2006

Visual C#.NET. Bearbeitet von Patrick A. Lorenz

Software Engineering in der Praxis

Inhaltsverzeichnis. Teil I Einführung 13. Teil II Struktur 41. Vorwort 11

Objektorientiertes Design

Unified Modeling Language 2

Java-Grundkurs für rtschaftsinformatiker

Objektorientiert in C++

Manfred Schüttengruber. Objektorientierte Programmierung mit Visual Basic 2005

Werner Achte rt DATA BECKER

Das umfassende Handbuch

Gliederung der Folien

TEIL I: OBJEKTORIENTIERUNG UND GRUNDKURS JAVA GRUNDLAGEN DER PROGRAMMIERUNG... 4

UML 2.0 Das umfassende Handbuch

Java lernen mit BlueJ

SPS-Programmierung mit SCL

Harald Störrle UML 2 für Studenten

Inhaltsverzeichnis. Vorwort

Vorlesung Programmieren. Unified Modeling Language (UML) Unified Modeling Language (UML) Unified Modeling Language (UML)

Vorlesung Programmieren

Software Engineering in der Praxis

Service & Support. S7-Programm zur Erkennung von Änderungen in Anwenderprogramm und Hardware-Projektierung SIMATIC S7-300/400 CPU.

Analyse und Entwurf von Softwaresystemen mit der UML

Programmieren lernen mit Perl

Von der UML nach C++

Automatisieren mitsimatic

CARL HANSER VERLAG. Mario Jeckle, Chris Rupp, Jürgen Hahn, Barbara Zengler, Stefan Queins. UML 2 glasklar

Inhalt. Einleitung Liebe Leserin, lieber Leser, Wer dieses Buch aus welchem Grund lesen sollte Ihre Meinung ist uns sehr wichtig.

Java lernen mit BlueJ

UML - Unified Modeling Language

Die С ++-Programmiersprache

Das UML Benutzerhandbuch

Einleitung Grundlagen 23

Aufgabe spshaus Übung P1

Inhaltsverzeichnis. Teil 1 Grundlagen der Objektorientierung. Kapitel 1 Objekte und Klassen Objekte und Klassen Instanzen erzeugen Methoden aufrufen

OOP und Angewandte Mathematik. Eine Einführung in die Anwendung objektorientierter Konzepte in der angewandten Mathematik

Methoden des Software Engineering

Knasmüller.book Seite vii Mittwoch, 28. März : vii. Inhaltsverzeichnis

Peter Beater. Grundkurs der Steuerungstechnik. Mit einer Einführung in Speicherprogrammierbare Steuerungen und DIN EN

Unterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus:

PHP OOP, Design Patterns und UML. Marco Skulschus

Christoph Kecher UML2. Das umfassende Handbuch. Galileo Press

Praxisbuch Objektorientierung

Teil I Objekte und Klassen 31

Unternehmensmodellierung

1. Organisatorisches, Aufbau eines Computers, Erstellung eines Programmes, Algorithmen und Programme, Grundlagen der Zahlendarstellung

Effektiv Programmieren in С und C++

PHP Programmierung. Seminarunterlage. Version 1.07 vom

Modellierung - Wiederholung

Transkript:

Johannes Hofer SCL und OOP mit dem TIA Portal Ein Leitfaden für eine objektorientierte Arbeitsweise 2., neu bearbeitete Auflage VDE VERLAG GMBH

Inhaltsverzeichnis Abkürzungsverzeichnis XIII 1 EINLEITUNG 1 1.1 Die Idee des Buchs 1 1.2 Der Weg zur Anwendung 1 1.3 Voraussetzungen für den Leser 2 1.4 Beispiele und Übungen 2 1.5 Kapitelübersicht zu diesem Buch 3 Teil I - Einführung in das TIA Portal 3 Kapitel 2: Start mit dem TIA Portal 3 Kapitel 3: Erstellen der Bausteine FB und FC 3 Kapitel 4: Schnittstellen 3 Kapitel 5: Anwendungen mit Schnittstellen 3 Teil II - Einführung in SCL 4 Kapitel 6: SCL-Einstieg mit AWL und FUP 4 Kapitel 7: Datentypen und Deklarationen 4 Kapitel 8: Operatoren und Ausdrücke 4 Kapitel 9: Sprungbefehle und Unterprogramme 4 Kapitel 10: Kontrollstrukturen 5 Kapitel 11: Zeiten in SCL 5 Kapitel 12: Multiinstanzen 5 Kapitel 13: Übungen mit traditionellem Programmstil 5 Teil III - Einführung in UML 5 Kapitel 14: Einführung in das Framework Enterprise Architect 5 Kapitel 15: Erstellen der Klassendiagramme 6 Kapitel 16: Komponentendiagramme 6 Kapitel 17: Beispiel und Training mit dem EA-Framework 6 Teil IV-OOP mit SCL 6 Kapitel 18: Der FB/FC als Klasse 6 Kapitel 19: Beziehungen programmieren 6 Kapitel 20: Klassen ableiten 7 Kapitel 21: Die Polymorphie mit Objekten 7 Kapitel 22: Der Zustandsautomat / Statusmaschine 7 Kapitel 23: Entwurfsmuster / Design-Patterns 7

VIII Inhaltsverzeichnis 2 START MIT DEM TIA PORTAL 9 2.1 Einstellungen 9 2.2 Das erste Projekt erstellen 11 2.3 Der Test mit PLCSIM 13 3 ERSTELLEN DER BAUSTEINE FB UND FC 17 3.1 FC erstellen 17 3.2 FB 1 und DB 1 erstellen 20 3.3 FB2 als Multiinstanz erstellen 22 4 SCHNITTSTELLEN 25 4.1 Die Peripherie 25 4.2 Schnittstellenparameter mit Datentypen 28 4.3 Schnittstellenparameter mit UDT 31 4.4 Datenschnittstelle mit dem FC1 und Track&Trop 33 5 ANWENDUNGEN MIT SCHNITTSTELLEN 37 5.1 Programmbearbeitung mit Parametern 37 5.1.1 Die Betriebsart mit dem FB 1 39 5.1.2 Analog-Daten lesen mit dem FB2 41 5.1.3 Analog-Daten schreiben mit dem FC 1 44 5.2 Beobachtungstabelle und Bibliothek 47 5.3 Anwendung mit der S7-1500 49 6 SCL-EINSTIEG MIT AWL UND FUP 55 6.1 Eingänge und Ausgänge 55 6.1.1 Das SCL-UND 58 6.1.2 Das SCL-ODER 60 6.1.3 Der Vergleichsoperator in SCL 61 6.1.4 Die arithmetischen Operatoren 65 6.1.5 Mathematische Funktionen mit SCL 67 6.2 Kontrolle 69 6.2.1 Sprungverteiler 70 6.2.2 Schleifensprung 72 7 DATENTYPEN UND DEKLARATIONEN 75 7.1 Datentypen in Kurzform 75 7.1.1 Datentypen und Wertebereich 76 7.2 Deklarationen von Variablen und Konstanten 76 7.2.1 PLC-Variable und Konstante 77 7.2.2 PLC-Datentypen 78 7.3 Manipulation mit dem Cast 78 7.4 Sicht auf Variablen 80 7.4.1 Die Bit-Sicht 81 7.4.2 Die String-Sicht 82 7.4.3 Die Array-Sicht 84 7.4.4 Die Struct-Sicht mittels UDT 85

Inhaltsverzeichnis IX 7.5 Der anwenderdefinierte Datentyp UDT 86 7.6 ANY-Pointer 88 8 OPERATOREN UND AUSDRÜCKE 95 8.1 Arithmetische Operatoren 96 8.2 Vergleichsoperatoren 97 8.3 Bit-Operatoren 97 8.4 Logische Operatoren 98 8.5 Klammer- und Punkt-Operator 99 9 SPRUNGBEFEHLE UND UNTERPROGRAMME 105 9.1 Der interne Sprung 105 9.2 Der globale Sprung 106 9.3 Der externe Sprung 110 10 KONTROLLSTRUKTUREN 115 10.1 Die Verzweigung 115 10.2 Die CASE-Anweisung 117 10.3 Die Schleifen 124 10.3.1 Die zyklusgerechte Schleife 127 11 ZEITEN IN SCL 131 11.1 Die Zeit mit dem Takt und I EC-Timer 131 11.2 Die Zeit mit dem Zähler 126 11.3 Die Zeit mit TIME_TCK()... 138 12 MULTIINSTANZEN 145 12.1 Multiinstanzen mit einem IEC-Timer 145 12.1.1 Multiinstanz TON hinzufügen 147 12.2 Multiinstanzen mit FBs 149 12.3 Multiinstanzen über Eingangsparameter 151 13 ÜBUNGEN MIT TRADITIONELLEM PROGRAMMIERSTIL 157 13.1 Statusmaschine 157 13.1.1 Die Fehlerbehandlung zur Statusmaschine 161 13.1.2 Die Status-Auswertung im FB2 164 13.2 Erweiterte Statusmaschine 165 13.3 Die Statusmaschine als Automat... 169 13.3.1 Der Automat FBI 173 13.3.2 Die Bedingungen und Aktionen zum Automat 177 14 EINFÜHRUNG IN ENTERPRISE ARCHITECT 181 14.1 Installation EA 181 14.1.1 Start-Beispiel zum Kennenlernen 182 14.1.2 Einstellungen vornehmen 185 14.1.3 Mutterprojekt erzeugen 185

X Inhaltsverzeichnis 14.2 Das Deployment für die CPU-314 186 14.2.1 Mischtechnik durch Montagebilder 188 14.2.2 Bilder verlinken 190 14.3 Komponentenplan 191 14.4 Diagrammtypen und Philosophie 192 15 ERSTELLEN DER KLASSENDIAGRAMME 195 15.1 Was ist eine Klasse 195 15.1.1 Ein besonderer FB. 196 15.1.2 Klassenphilosophie 198 15.2 Klassenerstellen 199 16 KOMPONENTENDIAGRAMME 203 16.1 Was ist eine Komponente 203 16.2 Verbindungen 205 16.2.1 Assoziationen 205 16.2.2 Aggregation und Komposition 208 16.3 Modulieren mit Komponenten 211 16.3.1 Komponenten vererben 212 17 BEISPIELE UND TRAINING MIT DEM EA -FRAMEWORK. 217 17.1 Ein Kranproj ekt 217 17.1.2 Das Kran-Deployment 219 17.1.3 Der Komponentenplan 219 17.2 Projektbeispiel Regler 221 17.2.1 Das Verteilungsdiagramm 222 17.2.2 Die Analyse mit Case-Diagrammen 223 17.2.2.1 Die Lernfahrt 224 17.2.2.2 Positionieren der Achse 225 17.2.3 Die Analyse mit dem Aktivitäts-Diagramm 226 17.2.4 Die Softwareplanung 228 17.2.4.1 Das Klassen-Diagramm 228 17.2.4.2 Im Sequenzdiagramm, Methoden den Klassen zuordnen 229 17.2.4.3 Das fertige Sequenzdiagramm 231 17.3 UML? Ja oder Nein? 235 18 DER FB / FC ALS KLASSE 237 18.1 Einleitung zur Basisklasse FB 1 237 18.1.1 Die Klasse ClassFBl" 239 18.1.2 Test der Klasse im OB 1 244 18.1.3 Die Klasse ClassFCl" 245 18.2 Erweiterte Klasse ClassFB2" 247 18.2.1 Die Anwendung der Klasse ClassFB2" im OB1 248 18.2.2 Die Schnittstelle und ClassFB2" 253 18.2.3 Das Listing zur ClassFB2" 255

Inhaltsverzeichnis XI 18.3 Schnittstellen-Klasse ClassFB3" :...261 18.3.1 Das Activity-Diagramm der ClassFB3" 264 18.3.2 Das Programm der ClassFB3" 265 18.3.3 Anwendung ClassFB3" im OB1 272 18.3.4 Erweiterte Schnittstelle ClassFB3" mit FC2 273 18.4 Dynamische Klassen ClassFB4" 276 18.4.1 Der New_FB4" im Quellcode 279 18.4.2 Der SizeOf_FC3" im Quellcode 283 18.4.3 Der Delete_FC4" im Quellcode 284 19 BEZIEHUNGEN PROGRAMMIEREN 287 19.1 Beziehungen zwischen Objekten 287 19.2 Assoziation / Aggregation 288 19.2.1 Das Klassendiagramm zur Assoziation / Aggregation 291 19.2.2 Das Projekt zur Assoziation / Aggregation 294 19.2.3 Die Prozessklasse ClassFB5 300 19.2.4 Die Assoziationsklasse ClassFBl 307 19.2.5 Die Aggregationsklasse ClassFCl 310 19.3 Komposition 310 20 KLASSEN ABLEITEN 315 20.1 Die Vererbung 315 20.2 Vererbung durch Multiinstanzen 316 20.2.1 Die Oberklasse ClassFB7 319 20.2.2 Die Ableitungsklassen und die Multiinstanz 324 20.3 Die Ableitung mit einer Komposition 325 20.4 Aufruf und Test im OB1 326 21 POLYMORPHIE MIT OBJEKTEN 329 21.1 Was ist Polymorphie / Vielgestaltigkeit? 329 21.2 Polymorphie mit Multiinstanzen 330 21.2.1 Die Schnittstelle ClassFB8 334 21.2.2 Die Basisklassen zur Schnittstelle ClassFB8 337 21.2.3 Test der Polymorphie im OB1 338 21.2.4 Abschlussbetrachtung 340 22 STATUSMASCHINE / ZUSTANDSAUTOMAT 341 22.1 Die abstrakte Klasse 341 22.1.1 Der Entwurf mit dem Design-Pattern Zustand/State" 343 22.1.2 Der Entwurf in UML für das TIA Portal 344 22.2 Die Umsetzung mit SCL 345 22.2.1 Das Interface ClassZustandsAutomat FBI 347 22.2.2 Die Basisklassen FBI 1, FBI 2 und FBI3 349 22.3 Erweiterter Zustandsautomat 354

XII Inhaltsverzeichnis 23 ENTWURFSMUSTER / DESIGN-PATTERNS 359 23.1 Was sind Entwurfsmuster 359 23.2 Design-Pattern PrototypFB 359 23.2.1 Das Klassendiagramm 360 23.2.2 Tier PrototypFB 361 23.2.3 Der TypManager 364 23.2.4 Der Test mit PLCSIM 370 Sachwörterverzeichnis 377