SPS-Programmierung mit IEC

Ähnliche Dokumente
Inhaltsverzeichnis 1 Einleitung Bausteine der IEC

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

IEC Windows- Programmiersoftware für APS-Systeme

KOP / FBS - Programmierung

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

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

SPS-Workshop mit Programmierung nach IEC

4.Grundsätzliche Programmentwicklungsmethoden

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

Programmierung von speicherprogammierbaren

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.

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

Der Industrie-PC in der Automatisierungstechnik

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

Automatisierungstechnik nach internationaler Norm programmieren

Inhaltsverzeichnis. Inhaltsverzeichnis 1.1

Repetitorium Informatik (Java)

magnum C++ WALTER SAUMWEBER kompakt komplett kompetent

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

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

Anhang. Festo Didactic. TP301

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

2. Automatisierungsgeräte

4. Speicherprogrammierbare Steuerungen

Infoblatt. Die Norm IEC Programmierung des PS40-Systems

SPS-Grundkurs mit SIMATIC S7

Soft-SPS - Was ist eine SPS?

C++ - Operatoren. Eigene Klassen mit neuen Funktionen

Übung -- d001_7-segmentanzeige

Einführung in Automation Studio

Javaprogrammierung mit NetBeans. Variablen, Datentypen, Methoden

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

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

Einstieg in die Programmierung mit Visual Basic.NET

3. Auswahl eines geeigneten Programmiersystems

Programmierung mit C Zeiger

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

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

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

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

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

Kapitel 5: Abstrakte Algorithmen und Sprachkonzepte. Elementare Schritte

Objektorientierte Programmierung des Zulieferers mit CoDeSys V3

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

Grundkurs Programmieren in Java

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

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

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

SPS-FACHKRAFT Aufbaukurs I

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

6. ABLAUFSTEUERUNGEN MIT GRAPH 7

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

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

Automatisieren mit SIMATIC

Informationsverarbeitung im Bauwesen

II. Grundlagen der Programmierung. 9. Datenstrukturen. Daten zusammenfassen. In Java (Forts.): In Java:

STEP 7-Crashkurs Extended

Prof. W. Henrich Seite 1

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

SPS-Grundkurs mit SIMATIC S7

SPS-Grundkurs mit SIMATIC S7

Prinzipien der Softwareentwicklung S. Strahringer

Simatic* S5 Grundkurs

Informationsverarbeitung im Bauwesen

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

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

Kapitel 8. Programmierkurs. Methoden. 8.1 Methoden

Java Einführung Methoden. Kapitel 6

3 Objektorientierte Konzepte in Java

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

13 OOP MIT DELPHI. Records und Klassen Ein Vergleich

Technische Dokumentation. TopMessage / TopLab Hardware MessHaus Softwarekomponenten SPS

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

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

Die Programmiersprache C Eine Einführung

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

Praktikum Ingenieurinformatik. Termin 4. Funktionen, numerische Integration

Die Algorithmenbeschreibungssprache Jana

Primitive Datentypen und Felder (Arrays)

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

wenige Konzepte, keine Adressen, Anlehnung an C++ -Syntax Vererbung, Polymorphie/dynamisches Binden, umfangreiche Klassenbibliotheken

8 Baum in perfekter Komposition

Die Programmiersprache C

Tabellenkalkulation / Funktionen. VBA Visual Basic for Applications VBA auf einfache Art und Weise nutzen Der Makro-Recorder von EXCEL

Programmiertechnik Klassenmethoden

Klausurteilnehmer. Wichtige Hinweise. Note: Klausur Informatik Programmierung, Seite 1 von 8 HS OWL, FB 7, Malte Wattenberg.

Inhaltsverzeichnis. Was ist Informatik? 5. Programmierung 13. Einleitung. 1 Informatik Was ist Informatik? Teilgebiete der Informatik 8

Klassen mit Instanzmethoden

Handbuch zur SPS-Programmentwicklung mit. CoDeSys 2.1

Refresh vom Vortag. Topologiekonfigurator. Programmierung in: Kontaktplan Funktionsbausteinsprache Strukturierter Text

Einstieg in die Informatik mit Java

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

Benutzeroberfläche Sucosoft S 40 Programmiersoftware 06/99 AWB D

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

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

3 Kurzeinführung in Matlab

SPS-Programmierung mit Funktionsbausteinsprache

C.3 Funktionen und Prozeduren

PIWIN I. Praktische Informatik für Wirtschaftsmathematiker, Ingenieure und Naturwissenschaftler I. Vorlesung 3 SWS WS 2007/2008

Transkript:

\ Karl-Heinz John Michael Tiegelkamp SPS-Programmierung mit IEC 1131-3 Konzepte und Programmiersprachen Anforderungen an Programmiersysteme Entscheidungshilfen Springer-Verlag Berlin Heidelberg New York London Paris Tokyo HongKong Barcelona Budapest

Inhaltsverzeichnis 1 Einleitung 9 1.1 Gegenstand des Buchs 10 1.2 Die Norm IEC 1131 12 1.2.1 Ziele und Nutzen der Norm 12 Hersteller (SPS- Hardware und -Software) 13 Anwender 13 1.2.2 Geschichte und Bestandteile 14 1.3 Organisation PLCopen 16 1.3.1 Ziele 16 1.3.2 Gremien und Arbeitsgebiete 17 1.3.3 Ergebnisse 18 Zertifizierung 18 Austauschformat für Anwenderprogramme 19 2 Bausteine der IEC 1131-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 Einführungsbeispiel 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 in POE-Typen 35 Merkmale der POE-Schnittstelle 36 Formalparameter und Rückgabewerte einer POE 37 Externer und interner Zugriff auf POE- Variablen 38 2.3.3 Anweisungsteil 40

2 Inhaltsverzeichnis 2.4 Der Funktionsbaustein 42 2.4.1 Instanziierang von Funktionsbausteinen 42 Was ist eine Instanz? 42 Instanz bedeutet Struktur" 44 Instanz bedeutet Gedächtnis" 46 2.4.2 Wiederverwendbarkeit und Objektorientierung von FB 48 2.4.3 Variablenarten in FBs 49 2.5 Die Funktion 50 2.5.1 Variablenarten in Funktionen und ihr Funktionswert 50 2.5.2 Ausführungssteuerung mitenundeno 51 2.6 Das Programm PROGRAM 54 2.7 Aufrufe von Funktionen und Funktionsbausteinen 55 2.7.1 Gegenseitiger Aufruf zwischen POEs 55 2.7.2 Rekursive Aufrufe sind unzulässig 56 2.7.3 Aufruf mit Formalparametern 58 2.7.4 Aufrufe mit fehlenden oder vertauschten Eingangsparametern 61 2.7.5 FB-Instanzen als FB-Aktualparameter 62 Beispiel für indirekten FB-Aufruf 63 FB-Instanznamen als Aktualparameter von Funktionen 65 Funktionswerte als Aktualparameter 65 2.8 POE-Merkmalsübersicht 66 3 Variablen, Datentypen und gemeinsame Elemente 67 3.1 Einfache Sprachelemente 67 3.1.1 Reservierte Schlüsselworte 69 3.2 Literale und Bezeichner 70 3.2.1 Literale 70 3.2.2 Bezeichner 72 3.3 Bedeutung von Datentypen und Variablen 74 3.3.1 Von direkten SPS-Adressen über Symbole zu Variablen 74 3.3.2 Der Datentyp bestimmt Eigenschaften der Variablen 76 3.3.3 Typgerechte Verwendung von Variablen 76 3.3.4 Automatische Abbildung von Variablen auf die SPS 77 3.4 Datentypen 78 3.4.1 Elementare Datentypen 78 3.4.2 Abgeleitete Datentypen (Typdefinition) 79 Zusätzliche Eigenschaften für Elementare Datentypen 80 Felder 83 Datenstrukturen 84 Anfangswerte bei Typdefinition 86 3.4.3 Allgemeine Datentypen 87 3.5 Variable 89 3.5.1 Eingänge, Ausgänge und Merker als besondere Variablen 90 3.5.2 Multielement-Variable: Felder und Strukturen 92 3.5.3 Zuweisung von Anfangswerten bei Programmstart 93 3.5.4 Attribute der Variablenarten 95 3.5.5 Grafische Darstellung von Variablen-Deklarationen 97

Inhaltsverzeichnis 3 4 Die neuen Programmiersprachen der IEC 1131-3 101 4.1 Anweisungsliste AWL 102 4.1.1 Anweisung in AWL 102 4.1.2 Der universelle Akkumulator 103 4.1.3 Anweisungsteil: Operatoren 106 Negierung des Operanden 106 Schachtelungsebenen durch Klammerung 106 Bedingte Ausführung von Operatoren 107 4.1.4 Verwendung von Funktionen und Funktionsbausteinen 110 Aufruf von Funktionen 110 Aufruf von Funktionsbausteinen 111 4.1.5 Beispiel AWL: Bergbahn 113 4.2 Strukturierter Text ST 116 4.2.1 Anweisung in ST 116 4.2.2 Ausdruck als Teilanweisung in ST 118 Operanden 118 Operatoren 119 Funktionen als Operatoren 121 4.2.3 Anweisung: Zuweisung 121 4.2.4 Anweisung: Aufruf von Funktionsbausteinen 123 4.2.5 Anweisung: Rücksprung (RETURN) 123 4.2.6 Anweisung: Verzweigung, Multiauswahl 124 Alternativ-Verzweigung 124 Multiauswahl 125 4.2.7 Anweisung: Wiederholung 127 WHILE- und REPEAT-Anweisungen 127 FOR-Anweisung 128 EXIT- Anweisung 130 4.2.8 Beispiel Stereo-Rekorder 131 4.3 Funktionsbausteinsprache FBS 133 4.3.1 Netzwerke, grafische Elemente mit Verbindungen (KOP, FBS) 133 Netzwerkmarke 134 Netzwerkkommentar 134 Netzwerkgrafik 135 4.3.2 Netzwerkaufbau in FBS 136 4.3.3 Grafische Objekte in FBS 138 Verbindungen 139 Ausführungssteuerung (Sprünge) 139 Aufruf von Funktionen und Funktionsbausteinen 140 4.3.4 Programmiertechnik in FBS 141 Werteberechnung 141 Rückkopplungsvariable 142 4.3.5 Beispiel Stereo-Rekorder in FBS 143 Kommentierung der Netzwerke der Bsp. 4.31 und Bsp. 4.24 146 4.4 Kontaktplan KOP 147 4.4.1 Netzwerke, grafische Elemente mit Verbindungen (KOP) 147 4.4.2 Netzwerkaufbau in KOP 147

4 Inhaltsverzeichnis 4.4.3 Grafische Objekte in KOP 148 Verbindungen 148 Kontakte und Spulen 149 Ausführungssteuerung 153 Aufruf von Funktionen und Funktionsbausteinen 154 4.4.4 Programmiertechnik in KOP 155 Werteberechnung 155 Rückkopplungsvariable 157 4.4.5 Beispiel KOP: Bergbahn 159 Kommentierung der Bergbahn- Netzwerke 162 4.5 Ablaufsprache AS 164 4.5.1 Aufbau durch Schritte und Transitionen 165 4.5.2 Ablaufketten 167 4.5.3 Detail-Beschreibung Schritte und Transitionen 173 Schritt 173 Transition 175 4.5.4 Schrittbearbeitung durch Aktionsblöcke und Aktionen 180 4.5.5 Detailbeschreibung Aktionen und Aktionsblöcke 182 Aktionen 182 Aktionsblock 183 4.5.6 Zusammenhang von Schritt, Transition, Aktion und Aktionsblock 186 4.5.7 Bestimmungszeichen und Ablaufsteuerung 190 Bestimmungszeichen 190 Ablaufsteuerung 197 4.5.8 Beispiel Dino-Park 198 Kommentierung des Vergnügungspark-Netzwerks 202 5 Standardisierte SPS-Funktionalität 203 5.1 Standard-Funktionen 204 5.1.1 Überladen und Erweitern 208 Überladen von Funktionen 208 Erweiterbarkeit von Funktionen 210 5.1.1 Beispiele 211 Funktionen zur Typumwandlung 213 Numerische Funktionen 213 Arithmetische Funktionen 214 Schiebe-Funktionen 214 Bitfolge-Funktionen 215 Funktionen für Auswahl 216 Funktionen für Vergleich 217 Funktionen für Zeichenfolgen 218 Funktionen für Datentyp Zeit 219 Funktionen für Auf Zählungstypen 220 5.2 Standard-Funktionsbausteine 221 5.2.2 Beispiele 223 Bistabile Elemente (Flip-Flop und Semaphore) 225 Hankenerkennung 227 Vorwärts/Rückwärts-Zähler 229 Zeitgeber (Zeiten) 230

Inhaltsverzeichnis 5 6 Moderne SPS-Konfiguration 233 6.1 Projekt-Strukturierung durch Konfigurationselemente 234 6.2 Elemente einer realen SPS-Konfiguration 235 6.3 Die Konfigurationselemente 237 6.3.1 Aufgaben 237 6.3.2 Die CONFIGURATION 238 6.3.3 Die RESOURCE 239 6.3.4 Die TASK mit Laufzeitprogramm 240 6.3.5 Die ACCESS-Deklaration 243 6.4 Konfigurations-Beispiel 245 6.5 Kommunikation bei Konfigurationen und POEs 247 7 Innovative SPS-Programmiersysteme 251 7.1 Anforderungen an innovative Programmierwerkzeuge 251 7.2 Technologischer Wandel 252 7.2.1 Prozessorleistung 252 7.2.2 Vollgrafische Bildschirm- und Druckausgaben 252 7.2.3 Betriebssysteme 252 7.2.4 Einheitliche Mensch-/Maschinen- Schnittstelle 253 7.3 Rückübersetzung (Rückdokumentation) 253 7.3.1 Keine Rückübersetzung 254 7.3.2 Rückübersetzung mit Symbolik und Kommentaren 255 7.3.3 Rückübersetzung inkl. Grafik- Information 255 7.3.4 Quellcode in der SPS 255 7.4 Sprachverträglichkeit 255 7.4.1 Querübersetzbarkeit 256 Motivation für Querübersetzbarkeit 256 Unterschiedlicher Ansatz der grafischen und textuellen Sprachen 257 Unterschiede in den Sprachen beeinflussen die Querübersetzbarkeit 258 Einschränkungen bei KOP / FBS 259 Einschränkungen bei AWL /ST 259 Querübersetzbarkeit AWL / ST 260 Volle Querübersetzbarkeit nur durch Zusatzinformation erreichbar 260 Gütekriterien für die Querübersetzbarkeit 261 7.4.2 Sprachunabhängigkeit aufgerufener POEs 262 7.5 Dokumentation 263 7.5.1 Querverweisliste 264 7.5.2 Zuordnungsliste (Verdrahtungsliste) 264 7.5.3 Kommentierbarkeit 265 7.6 Projektverwaltung 266 7.7 Test&Inbetriebnahme-Funktionen 270 7.7.1 Programmtransfer 270 7.7.2 Online-Änderung des Programms 271 7.7.3 Fernbedienung 272 7.7.4 Variablen- und Programm- Status 272 7.7.5 Forcing 277

6 Inhaltsverzeichnis 7.7.6 Programmtest 278 7.7.7 Programmtest in Ablaufsprache 278 7.8 Datenbausteine und Rezepturen 279 7.9 FB-Verteilung in einem SPS-Netzwerk 283 7.10 Diagnose, Fehlererkennung und - Reaktion 286 Allgemeines Fehlerkonzept der IEC 1131-3 286 Erweitertes Fehlermodell (nicht IEC) 287 7.11 Hardware-Abhängigkeiten 288 7.12 Offenheit für neue Funktionalität 289 7.12.1 Austausch von Programmen und Daten 289 7.12.2 Ergänzung durch weitere Softwarepakete 291 8 Stärken der IEC 1131-3 293 8.1 Komfort und Sicherheit durch Variablen und Datentypen 293 8.2 Bausteine mit erweiterten Möglichkeiten 294 8.3 SPS-Konfiguration mit Laufzeitverhalten 295 8.4 Einheitliche Sprachen 296 8.5 Strukturierte SPS-Programme 296 8.6 Trend zu offeneren SPS-Programmiersystemen 297 8.7 Fazit 298 9 Einkaufsberater für SPS-Programmiersysteme: Checklisten 299 9.1 Checklisten zur Bewertung von SPS-Programmiersystemen 300 9.2 Benutzung der Checklisten 300 Auswahl aller wichtigen Tabellen 301 Gewichtung der einzelnen Tabellen 301 Bewertung der Wichtigkeit einzelner Tabelleneinträge 301 Erfüllungsgrad dieser Einträge für das einzelne Programmiersystem 301 Korrellierung von Wichtigkeit und Erfüllung; Normierung 302 Berechnung der Eignungszahl für das jeweilige Programmiersystem 302 9.3 Checklisten für SPS-Programmiersysteme 302 9.3.1 Konformität zur IEC 1131-3 303 9.3.2 Sprachumfang, Rück- und Querübersetzbarkeit 306 9.3.3 Werkzeuge 308 9.3.4 Arbeitsumgebung, Offenheit und Dokumentation 314 9.3.5 Allgemeines, Kosten 316 10 Disketten-Inhalt 317 Demo-Version SUCOsoft S40 317 AWL- Beispiele 318 Einkaufsberater IEC Programmiersysteme 318 11 Glossar 319 12 Literaturverzeichnis 325

Inhaltsverzeichnis 7 A Standard-Funktionen 329 A.l Funktionen zur Typwandlung 330 A.2 Numerische Funktionen 331 A.3 Arithmetische Funktionen 332 A.4 Bitschiebe-Funktionen 333 A.5 Bitweise Boolesche Funktionen 334 A.6 Auswahl-Funktionen für Max., Min. und Grenzwert 335 A.7 Auswahl-Funktionen für Binäre Auswahl und Multiplexer 336 A.8 Vergleichs-Funktionen 338 A.9 Funktionen für Zeichenfolgen 339 АЛО Funktionen für Datentypen der Zeit 341 A.ll Funktionen für Datentypen der Aufzählung 342 В Standard-Funktionsbausteine 343 B.l Bistabile Elemente (Flip-Flops) und Semaphore 344 В.2 Flankenerkennung 346 B.3 Zähler 347 B.4 Zeitgeber (Zeiten) 349 С AWL-Beispiele 353 C.l Beispiel für FUNCTION 353 C.2 Beispiel für FUNCTION_BLOCK 355 C.3 Beispiel für PROGRAM 357 D Standard-Datentypen 363 E Fehlerursachen 363 F Implementierungsabhängige Parameter 365 G Beispiel einer AWL-Syntax 369 G.l Syntaxgraphen für AWL 370 G.2 AWL-Beispiel zu Syntaxgraphen 378 H Reservierte Schlüsselworte und Begrenzungszeichen 381 H.l Reservierte Schlüsselworte 381 H.2 Begrenzungszeichen 385