SPS-Programmierung mit IEC

Ähnliche Dokumente
Inhaltsverzeichnis 1 Einleitung Bausteine der IEC

IEC Windows- Programmiersoftware für APS-Systeme

- Speicherprogrammierte Steuerung: Realisierung durch ein Programm, welches auf einem SPS-Baustein ausgeführt wird. Regelungs- und Steuerungstechnik

Automatisierungstechnik nach internationaler Norm programmieren. Folge 2: Gestaltung einer ersten Programmorganisationseinheit

KOP / FBS - Programmierung

zu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme

Repetitorium Informatik (Java)

Programmierung von speicherprogammierbaren

Inhaltsverzeichnis. Inhaltsverzeichnis 1.1

4.Grundsätzliche Programmentwicklungsmethoden

Bezug 65B(Central Office)85. Projekt-Nr 65B Sekretariat Vereinigte Staaten Beendigung der Stimmabgabe am

SPS-Workshop mit Programmierung nach IEC

zu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme

Anhang. Festo Didactic. TP301

Der Industrie-PC in der Automatisierungstechnik

J. Prof. Dr.-Ing. Georg Frey Juniorprofessur Agentenbasierte Automatisierung. Laborunterlagen zum Themengebiet Steuerungstechnik. zusammengestellt von

Fachbeitrag zum Tutorial. Teil 3: Programmiersprache Anweisungsliste (AWL)

13. Einführung in die Programmiersprache Strukturierter Text (ST)

erstellt in Anlehnung an die Hilfe des Programms MULTIPROGwt U. Ohm, BBS4, Hannover,

magnum C++ WALTER SAUMWEBER kompakt komplett kompetent

Soft-SPS - Was ist eine SPS?

SPS-Grundkurs mit SIMATIC S7

Übung -- d001_7-segmentanzeige

Sucosoft S40 KOP/FBS KOP FBS

JMPCN Sprungbefehl nur ausführen, wenn VKE 0 ist. JMPC Sprungbefehl nur ausführen, wenn VKE 1 ist. JMP Ohne Bedingung zur Sprungmarke wechseln.

Ausbildungsunterlage für die durchgängige Automatisierungslösung Totally Integrated Automation (T I A) MODUL B5

S7_MICRO_ANL4a.doc, U. Ohm, , 16:35

lldeckblatt Migration von AWL-Programmen nach S STEP 7 (TIA Portal) V12 FAQ Januar 2013 Service & Support Answers for industry.

Prof. W. Henrich Seite 1

SIMATIC S7 Kurs A. Programmieren, Konfigurieren, Inbetriebnahme, Fehlersuche und Diagnose. 1. Totally Integrated Automation (TIA)

Javaprogrammierung mit NetBeans. Variablen, Datentypen, Methoden

2. Automatisierungsgeräte

9. SPS Programmiersprachen und Grundglieder: EN , Beispiele für Grundglieder

4. Speicherprogrammierbare Steuerungen

Simatic* S5 Grundkurs

STEP 7-Crashkurs Extended

Automatisierungstechnik nach internationaler Norm programmieren

Mod_com.lib. Inhalt. WAGO-I/O-PRO 32 Bibliothek

Programmierung von Steuerungen künftig objektorientiert?

Objektorientierte Programmierung des Zulieferers mit CoDeSys V3

SPS-Grundkurs mit SIMATIC S7

Inhaltsverzeichnis Teil I Digitaltechnik Grundlagen: Zahlensysteme, Dualzahlen und Codes Logische Funktionen und Boolesche Algebra

SPS-Grundkurs mit SIMATIC S7

3. Auswahl eines geeigneten Programmiersystems

Automatisieren mit SIMATIC

Infoblatt. Die Norm IEC Programmierung des PS40-Systems

Grundkurs Programmieren in Java

Einstieg in die Programmierung mit Visual Basic.NET

Einführung in Automation Studio

6. ABLAUFSTEUERUNGEN MIT GRAPH 7

Modul Entscheidungsunterstützung in der Logistik. Einführung in die Programmierung mit C++ Übung 2

SPS-FACHKRAFT Aufbaukurs I

Informationsverarbeitung im Bauwesen

Kompatibilität Integrated. Technology. Integrated system diagnosis. Safety. Integrated. V11/V12 Kompatibilität. Migration von STEP7 V5.

Entwicklung einer echtzeitfähigen CLI-Laufzeitumgebung für den Einsatz in der Automatisierungstechnik

Programmierung mit C Zeiger

Technische Dokumentation. TopMessage / TopLab Hardware MessHaus Softwarekomponenten SPS

C++ - Operatoren. Eigene Klassen mit neuen Funktionen

1. Erläutern Sie Aufbau und Wirkungsweise einer SPS! Durch welche Kenngrößen ist sie gekennzeichnet?

GRAFCET. GRAFCET Spezifikationssprache für f Funktionspläne ne der Ablaufsteuerung

11/2009 Bernhard Gangl. Steuerungen mit OOP entwickeln 11 / Themenübersicht. Übersicht und Begriffsklärung: Objektorientierte Programmierung

Ausbildungsunterlage für die durchgängige Automatisierungslösung Totally Integrated Automation (T I A) MODUL B4 Datenbausteine

Überschreiben von Methoden

Die Algorithmenbeschreibungssprache Jana

SIMATIC PCS 7 V8.2 Open OS. Integration von Package Units ohne Nebenwirkungen

ODK 1500S Standard Applikationen

13 OOP MIT DELPHI. Records und Klassen Ein Vergleich

Betriebsanleitung RS485 SPS SW. (für Siemens S7-300) Deutsch

Kapitel 8. Programmierkurs. Methoden. 8.1 Methoden

Kapitel 5: Abstrakte Algorithmen und Sprachkonzepte. Elementare Schritte

Klassen mit Instanzmethoden

Schiebe- und Füllregister. ST-Programmierung nach IEC

1 Einführung Ihre Arbeitsumgebung: Hochregal und Pneumatikpresse Funktionen des Modells im Gesamtprozess...12

SPS FRANZIS PC & ELEKTRONIK. Heinrich Lepers. 3. neu bearbeitete Auflage Programmierung nach IEC Mit Beispielen für CoDeSys und STEP 7

Tastaturbedienung für die Projektbearbeitung bei STEP 7 (TIA Portal) im Vergleich mit STEP 7 V5.5

STEP 7-Workbook. Einführung in die STEP 7-Programmiersprache mit TIA-Portal, STEP 7 V5.x und WinSPS-S7. Dipl.-Ing.

Informationsverarbeitung im Bauwesen

SPS-Programmierung einer Mischanlage

Technische Universität Braunschweig Institut für Programmierung und Reaktive Systeme

Primitive Datentypen und Felder (Arrays)

Refresh vom Vortag. Anlaufverhalten / Remanenz. Elementare Datentypen Datentyp / Datenbreite Typgerechte Verwendung

F-CPU Diagnose und Wartung

Einführung und Übersicht

JetSym. Programmierung in Hochsprache ST nach IEC We automate your success.

Prinzipien der Softwareentwicklung S. Strahringer

Die Programmiersprache C

TIA Portal V13 SP1 - Bildbausteine. Frei verwendbar / Siemens AG Alle Rechte vorbehalten.

C.3 Funktionen und Prozeduren

Grundlagenpraktikum: Versuch Nr. 27. Einführung in die SPS-Programmierung

Klassen und Objekte. Einführung in Java. Folie 1 von Mai Ivo Kronenberg

Operatoren für elementare Datentypen Bedingte Anweisungen Schleifen. Programmieren I. Martin Schultheiß. Hochschule Darmstadt Wintersemester 2010/2011

SPS-Programmierung. Identifizierungs- und Automatisierungstechnik. Prof. Dr. Michael ten Hompel. Sascha Feldhorst, Mojtaba Masoudinejad

Allgemeine Informationen

Michael Weigend. Python GE-PACKT. 5. Auflage

INHALTSVERZEICHNIS 1 1. HARDWAREBESCHREIBUNG 2 2. HARDWAREKONFIGURATION 2 3. PROFIBUS-DP KONFIGURATION Teilnehmer einfügen 3

GEFAHR bedeutet, dass Tod oder schwere Körperverletzung eintreten wird, wenn die entsprechenden

Ausbildungsunterlage für die durchgängige Automatisierungslösung Totally Integrated Automation (T I A) MODUL A8 Test- und Online- Funktionen

Strukturierte Objekttypen

Steuerungstechnik. Das AG entspricht seinem inneren Aufbau nach einem Mikrorechner mit Prozessperipherie: * Rechenwerk, * Steuerwerk, * Speicher

Totally Integrated Automation Portal ein Engineering-Framework für alle Automatisierungsaufgaben

Transkript:

Karl Heinz John Michael Tiegelkamp SPS-Programmierung mit IEC 61131-3 Konzepte und Programmiersprachen, Anforderangen an Programmiersysteme, Entscheidungshilfen 4., neubearbeitete Auflage Sprin g er

Inhaltsverzeichnis 1 Einleitung 9 1.1 Gegenstand des Buchs 10 1.2 Die Norm IEC 61131 12 1.2.1 Ziele und Nutzen der Norm 13 Hersteller (SPS- Hardware und -Software) 13 Anwender 13 1.2.2 Geschichte und Bestandteile 14 1.3 OrganisationPLCopen 17 1.3.1 Ziele von PLCopen 17 1.3.2 Gremien und Arbeitsgebiete 18 1.3.3 Ergebnisse 18 2 Bausteine der IEC 61131-3 21 2.1 Einstieg in die neue Norm 21 2.1.1 Aufbau von Bausteinen 22 Deklarationen von Variablen 22 Anweisungsteil einer POE 23 2.1.2 Einfuhrungsbeispiel in AWL 25 2.1.3 SPS-Zuordnung 28 2.2 Die Programmorganisationseinheit (POE) 30 2.3 Elemente einer POE 32 2.3.1 Beispiel 33 2.3.2 Deklarationsteil 34 Variablenarten inpoe-typen 35 Merkmale der POE-Schnittstelle 36 Externerund interner Zugriff auf POE-Variablen 38 2.3.3 Anweisungsteil 40 2.4 Der Funktionsbaustein 42 2.4.1 Instanziierung von Funktionsbausteinen 42 Was ist eine Instanz? 42 Instanz bedeutet Struktur" 44 Instanz bedeutet Gedächtnis" 46 Zusammenhang zwischen FB-Instanz und Datenbaustein 47 2.4.2 Wiederverwendbarkeit und Objektorientierung von FB 48 2.4.3 Variablenarten in FBs 49

2 Inhaltsverzeichnis 2.5 Die Funktion 50 2.5.1 Variablenarten in Funktionen und ihr Funktionswert 50 2.6 Das Programm PROGRAM 53 2.7 Ausführungssteuerung mit EN und ENO 54 2.8 Aufrufe von Funktionen und Funktionsbausteinen 57 2.8.1 Gegenseitiger Aufruf zwischen POEs 57 2.8.2 Rekursive Aufrufe sind unzulässig 58 2.8.3 Erweiterbarkeit und Überladen 60 2.8.4 Aufruf mit Formalparametern 60 2.8.5 Aufrufe mit fehlenden oder vertauschten Eingangsparametern 63 2.8.6 FB-Instanzen als FB-Aktualparameter 64 Beispiel für indirekten FB-Aufruf. 65 FB-Instanznamen als Aktualparameter von Funktionen 67 Funktionswerte als Aktualparameter 67 Initialisierung von FB-Instanzen 67 2.9 POE-Merkmalsübersicht 68 3 Variablen, Datentypen und gemeinsame Elemente 69 3.1 Einfache Sprachelemente 69 3.1.1 Reservierte Schlüsselworte 71 3.2 Literale und Bezeichner 72 3.2.1 Literale 72 3.2.2 Bezeichner 74 3.2.3 Kommentare 76 3.2.4 Pragmas 76 3.3 Bedeutung von Datentypen und Variablen 77 3.3.1 Von direkten SPS-Adressen über Symbole zu Variablen 77 3.3.2 Der Datentyp bestimmt Eigenschaften der Variablen 79 3.3.3 Typgerechte Verwendung von Variablen 79 3.3.4 Automatische Abbildung von Variablen auf die SPS 80 3.4 Datentypen 81 3.4.1 Elementare Datentypen 81 3.4.2 Abgeleitete Datentypen (Typdefinition) 82 Zusätzliche Eigenschaften für Elementare Datentypen 83 Felder 86 Datenstrukturen 87 Anfangswerte bei Typdefinition 89 3.4.3 Allgemeine Datentypen 90 3.5 Variable 92 3.5.1 Eingänge, Ausgänge und Merker als besondere Variablen 93 3.5.2 Multielement-Variable: Felder und Strukturen 95 3.5.3 Zuweisung von Anfangswerten bei Programmstart 96 3.5.4 Attribute der Variablenarten 98 3.5.5 Grafische Darstellung von Variablen-Deklarationen 100

4 Die Programmiersprachen der IEC 61131-3 103 4.1 Anweisungsliste AWL 104 4.1.1 Anweisung in AWL 104 4.1.2 Der universelle Akkumulator 105 4.1.3 Anweisungsteil: Operatoren 108 Negierung des Operanden 108 Schachtelungsebenen durch Klammerung 108 Bedingte Ausführung von Operatoren 110 4.1.4 Verwendung von Funktionen und Funktionsbausteinen 112 Aufruf von Funktionen 112 Aufruf von Funktionsbausteinen 114 4.2.5 Beispiel AWL: Bergbahn 116 4.2 Strukturierter Text ST 119 4.2.1 Anweisung in ST 119 4.2.2 Ausdruck als Teilanweisung in ST 121 Operanden 121 Operatoren 122 Funktionen als Operatoren 124 4.2.3 Anweisung: Zuweisung 124 4.2.4 Anweisung: Aufruf von Funktionsbausteinen 126 4.2.5 Anweisung: Rücksprung (RETURN) 126 4.2.6 Anweisung: Verzweigung, Multiauswahl 127 Alternativ-Verzweigung 127 Multiauswahl 128 4.2.7 Anweisung: Wiederholung 130 WHILE-und REPEAT-Anweisungen 130 FOR-Anweisung 131 EXTT-Anweisung 133 4.2.8 Beispiel Stereo-Rekorder 134 4.3 Funktionsbausteinsprache FBS 137 4.3.1 Netzwerke, grafische Elemente mit Verbindungen (KOP, FBS) 137 Netzwerkmarke 137 Netzwerkkommentar 138 Netzwerkgrafik 138 4.3.2 Netzwerkaufbau in FBS 140 4.3.3 Grafische Objekte in FBS 142 Verbindungen 143 Ausfuhrungssteuerung (Sprünge) 143 Aufruf von Funktionen und Funktionsbausteinen 144 4.3.4 Programmiertechnik in FBS 146 Werteberechnung 146 Rückkopplungsvariable 148 4.3.5 Beispiel Stereo-Rekorder in FBS 148 Kommentierung der Netzwerke der Bsp. 4.25 und Bsp. 4.33 151 4.4 Kontaktplan KOP 152 4.4.1 Netzwerke, grafische Elemente mit Verbindungen (KOP) 152 4.4.2 Netzwerkaufbau in KOP 153 3

4 Inhaltsverzeichnis 4.4.3 Grafikobjekte in KOP 153 Verbindungen 154 Kontakte und Spulen 154 Ausführungssteuerung 158 Aufruf von Funktionen und Funktionsbausteinen 159 4.4.4 Programmiertechnik in KOP 161 Werteberechnung 161 Rückkopplungsvariable 162 4.4.5 Beispiel KOP: Bergbahn 163 Kommentierung der Bergbahn-Netzwerke 167 4.5 Ladder: eine Variante der KOP Programmierung 169 4.5.1 Netzwerkaufbau Ladder 170 4.5.2 Moduladressen und Speicherbereiche 171 4.6 Ablaufsprache AS 174 4.6.1 Aufbau durch Schritte und Transitionen 175 4.6.2 Ablaufketten 176 4.6.3 Detail-Beschreibung der Schritte und Transitionen 182 Schritt 182 Transition 184 4.6.4 Schrittbearbeitung durch Aktionsblöcke und Aktionen 189 4.6.5 Detailbeschreibung Aktionen und Aktionsblöcke 191 Aktionen 191 Aktionsblock 191 4.6.6 Zusammenhang von Schritt, Transition, Aktion und Aktionsblock 194 4.6.7 Bestimmungszeichen und Ablaufsteuerung 198 Bestimmungszeichen 198 Ablaufsteuerung 206 4.6.8 Beispiel Dino-Park 208 Kommentierung des Vergnügungspark-Netzwerks 211 5 Standardisierte SPS-Funktionalität 213 5.1 Standard-Funktionen 214 5.1.1 Überladen und Erweitern 218 Überladen von Funktionen 218 Erweiterbarkeit von Funktionen 220 5.1.2 Beispiele 221 Funktionen zur Typumwandlung 222 Numerische Funktionen 223 Arithmetische Funktionen 223 Schiebe-Funktionen 224 Bitfolge-Funktionen 224 Funktionen für Auswahl 225 Funktionen für Vergleich 226 Funktionen für Zeichenfolgen 227 Funktionen für Datentyp Zeit 228 Funktionen für Aufzählungstypen 229

5 5.2 Standard-Funktionsbausteine 230 5.2.1 Beispiele 232 Bistabile Elemente (Flip-Flops) 234 Flankenerkennung 234 Vorwärts/Rückwärts-Zähler 237 Zeitgeber (Zeiten) 238 6 Zeitgemäße SPS-Konfiguration 241 6.1 Projekt-Strukturierung durch Konfigurationselemente 242 6.2 Elemente einer realen SPS-Konfiguration 243 6.3 Die Konfigurationselemente 245 6.3.1 Aufgaben 245 6.3.2 Die CONFIGURATION 246 6.3.3 Die RESOURCE 247 6.3.4 Die TASK mit Laufzeitprogramm 248 6.3.5 Die ACCESS-Deklaration 251 6.4 Konfigurations-Beispiel 253 6.5 Kommunikation bei Konfigurationen und POEs 255 7 Innovative SPS-Programmiersysteme 259 7.1 Anforderangen an innovative Programmierwerkzeuge 259 7.2 Rückübersetzung (Rückdokumentation) 260 7.2.1 Keine Rückübersetzung 261 7.2.2 Rückübersetzung mit Symbolik und Kommentaren 261 7.2.3 Rückübersetzung inkl. Grafik-Information 262 7.2.4 Quellcode in der SPS 262 7.3 Sprachverträglichkeit 262 7.3.1 Querübersetzbarkeit 263 Motivation für Querübersetzbarkeit 263 Unterschiedlicher Ansatz der grafischen und textuellen Sprachen 264 Unterschiede in den Sprachen beeinflussen die Querübersetzbarkeit 265 Einschränkungen bei KOP /FBS 266 Einschränkungen bei AWL / ST 266 Querübersetzbarkeit AWL / ST 267 Volle Querübersetzbarkeit nur durch Zusatzinformation erreichbar 267 Gütekriterien für die Querübersetzbarkeit 268 7.3.2 Sprachunabhängigkeit aufgerufener POEs 269 7.4 Dokumentation 270 7.4.1 Querverweisliste 271 7.4.2 Zuordnungsliste (Verdrahtungsliste) 271 7.4.3 Kommentierbarkeit 272 7.5 Projektverwaltung 272 7.6 Test&Inbetriebnahme-Funktionen 276 7.6.1 Programmtransfer 277 7.6.2 Online-Änderung des Programms 277 7.6.3 Fernbedienung: Start und Stopp der SPS 278 7.6.4 Variablen-und Programm-Status 279 7.6.5 Forcing 283

6 Inhaltsverzeichnis 7.6.6 Programmtest 284 7.6.7 Programmtest in Ablaufsprache 284 7.7 Datenbausteine und Rezepturen 284 7.8 FB-Verschaltung 288 7.8.1 Datenaustausch und Koordination von Bausteinen in verteilten Systemen.288 7.8.2 Makrotechnik bei FB-Verschaltung 291 7.9 Diagnose, Fehlererkennung und -Reaktion 292 Allgemeines Fehlerkonzept der IEC 61131-3 293 Erweitertes Fehlermodell (nicht IEC) 294 7.10 Hardware-Abhängigkeiten 295 8 Stärken der IEC 61131-3 297 8.1 Komfort und Sicherheit durch Variablen und Datentypen 297 8.2 Bausteine mit erweiterten Möglichkeiten 298 8.3 SPS-Konfiguration mit Laufzeitverhalten 299 8.4 Einheitliche Sprachen 300 8.5 Strukturierte SPS-Programme 300 8.6 Trend zu offeneren SPS-Programmiersystemen 301 8.7 Fazit 302 9 Programmierung durch Konfigurierung nach IEC 61499 303 9.1 Programmierung durch FB-Verschaltung mit IEC 61131-3 304 9.2 IEC 61499 - die Norm für verteilte Systeme 304 9.2.1 System-Modell 305 9.2.2 Geräte-Modell 306 9.2.3 Ressource-Modell 307 9.2.4 Anwendungs-Modell 308 9.2.5 Funktionsbaustein-Modell 309 Zusammengesetzte Funktionsbausteine 312 9.2.6 Erstellung einer Anwendung 313 9.3 Überblick über die Teile der IEC 61499 314 10 Inhalt der beiliegenden CD und DVD 315 10.1 IEC-Programmiersysteme STEP 7 und OpenPCS 315 Demo-Versionen STEP 7 (Siemens) und Open PCS (infoteam) 316 AWL - Beispiele 316 10.2 Einkaufsberater für SPS-Programmiersysteme nach IEC 61131-3 317

7 A Standard-Funktionen 319 A.I Funktionen zur Typwandlung 320 A.2 Numerische Funktionen 321 A.3 Arithmetische Funktionen 322 A.4 Bitschiebe-Funktionen 323 A.5 Bitweise Boolesche Funktionen 324 A.6 Auswahl-Funktionen für Max., Min. und Grenzwert 325 A.7 Auswahl-Funktionen für Binäre Auswahl und Multiplexer 327 A.8 Vergleichs-Funktionen 328 A.9 Funktionen für Zeichenfolgen 330 A.10 Funktionen für Datentypen der Zeit 333 A.l 1 Funktionen für Datentypen der Aufzählung 334 В Standard-Funktionsbausteine 335 B.l Bistabile Elemente (Flip-Flops) 336 B.2 Flankenerkennung 337 B.3 Zähler 338 B.4 Zeitgeber (Zeiten) 340 С AWL-Beispiele 343 C.l Beispiel für FUNCTION 343 C.2 Beispiel für FUNCTION_BLOCK 345 C.3 Beispiel für PROGRAM 347 D Standard-Datentypen 351 E Fehlerursachen 353 F Implementierungsabhängige Parameter 355 G Beispiel einer AWL-Syntax 359 G.l Syntaxgraphen für AWL 360 G.2 AWL-Beispiel zu Syntaxgraphen 370 H Reservierte Schlüsselworte und Begrenzungszeichen 373 H.l Reservierte Schlüsselworte 373 H.2 Begrenzungszeichen 377

8 Inhaltsverzeichnis I Glossar 381 J Literaturverzeichnis 387 К Index 393 Autorenbiographien 401 Karl-Heinz John 401 Michael Tiegelkamp 401