Automatisieren mit SIMATIC S7-400 im TIA Portal...Automatisieren mit SIMATIC S7-400 im TIA Portal...

15

Transcript of Automatisieren mit SIMATIC S7-400 im TIA Portal...Automatisieren mit SIMATIC S7-400 im TIA Portal...

Page 1: Automatisieren mit SIMATIC S7-400 im TIA Portal...Automatisieren mit SIMATIC S7-400 im TIA Portal Projektieren, Programmieren und Testen mit STEP 7 Professional von Hans Berger Publicis
Dateianlage
covergif

Berger Automatisieren mit SIMATIC S7-400 im TIA Portal

Automatisieren mit SIMATIC S7-400 im TIA Portal

Projektieren Programmieren und Testen mit STEP 7 Professional

von Hans Berger

Publicis Publishing

Bibliografische Information der Deutschen Nationalbibliothek

Die Deutsche Nationalbibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie detaillierte bibliografische Daten sind im Internet uumlber httpdnbd-nbde abrufbar

Autor und Verlag haben alle Texte in diesem Buch mit groszliger Sorgfalt erarbeitet Dennoch koumlnnen Fehler nicht ausgeschlossen werden Eine Haftung des Verlags oder des Autors gleich aus welchem Rechtsgrund ist ausgeschlossen Die in diesem Buch wiedergegebenen Bezeichnungen koumlnnen Warenzeichen sein deren Benutzung durch Dritte fuumlr deren Zwecke die Rechte der Inhaber verletzen kann

wwwpublicis-booksde

ISBN 978-3-89578-372-2

Herausgeber Siemens Aktiengesellschaft Berlin und Muumlnchen Verlag Publicis Publishing Erlangen copy 2013 by Publicis Erlangen Zweigniederlassung der PWW GmbH

Das Werk einschlieszliglich aller seiner Teile ist urheberrechtlich geschuumltzt Jede Verwendung auszligerhalb der engen Grenzen des Urheberrechtsgesetzes ist ohne Zustimmung des Verlags unzulaumlssig und strafbar Das gilt insbesondere fuumlr Vervielfaumlltigungen Uumlbersetzungen Mikroverfilmungen Bearbeitungen sonstiger Art sowie fuumlr die Einspeicherung und Verarbeitung in elektronischen Systemen Dies gilt auch fuumlr die Entnahme von einzelnen Abbildungen und bei auszugsweiser Verwertung von Texten

Printed in Germany

Vorwort

5

Vorwort

Das Automatisierungssystem SIMATIC vereinigt alle Teilsysteme einer Automati-sierungsloumlsung unter einer einheitlichen Systemarchitektur zu einem homogenenGesamtsystem von der Feldebene bis zur Leittechnik

Das Konzept Totally Integrated Automation (TIA) bedeutet mit einer einzigen Sys-tembasis und Werkzeugen mit einheitlichen Bedienoberflaumlchen alle Automatisie-rungskomponenten einheitlich zu behandeln Diesen Anforderungen wird dasAutomatisierungssystem SIMATIC gerecht mit Durchgaumlngigkeit bei ProjektierungProgrammierung Datenhaltung und Kommunikation

Das vorliegende Buch beschreibt die Hardware-Komponenten des Automatisie-rungssystems SIMATIC S7-400 mit Standard-Controllern und die Moumlglichkeitenzum Aufbau eines dezentralen Steuerungskonzepts mit PROFIBUS und PROFINETFuumlr die Kommunikation mit anderen Automatisierungssystemen bieten die Con-troller integrierte Busschnittstellen fuumlr Multipoint Interface (MPI) PROFIBUS undIndustrial Ethernet

Die Engineeringsoftware STEP 7 Professional erschlieszligt die gesamte Funktionalitaumltder S7-400-Controller STEP 7 Professional ist das gemeinsame Werkzeug fuumlr dieKonfiguration des Hardware-Aufbaus und die Programmierung des Anwenderpro-gramms genauso wie fuumlr den Programmtest und die Diagnose

Fuumlr die Gestaltung des Anwenderprogramms stellt STEP 7 Professional fuumlnf Pro-grammiersprachen zur Verfuumlgung Kontaktplan (KOP) mit einer Stromlaufplan-aumlhnlichen grafischen Darstellung Funktionsplan (FUP) mit einer an elektronischeSchaltkreissysteme angelehnten grafischen Darstellung Anweisungsliste (AWL)mit der Formulierung der Steuerungsaufgabe als Auflistung von maschinennahenBefehlen Structured Control Language (SCL) mit einer Pascal-aumlhnlichen Hochspra-che und schlieszliglich mit GRAPH eine Ablaufsteuerung mit sequenzieller Bearbei-tung des Anwenderprogramms

Das Testen des Anwenderprogramms erleichtert STEP 7 Professional mit Beobach-tungstabellen fuumlr das Beobachten Steuern und Forcen von Variablenwerten mitder Darstellung des Programms mit den aktuellen Variablenwerten im laufendenBetrieb und mit einer Offline-Simulation des Automatisierungsgeraumlts

Das vorliegende Buch beschreibt das Projektieren Programmieren und Testen desAutomatisierungssystems S7-400 mit der Engineeringsoftware STEP 7 Professionalin der Version 11 mit Servicepack 2

Nuumlrnberg im Oktober 2012 Hans Berger

Der Inhalt des Buchs auf einen Blick

6

Der Inhalt des Buchs auf einen Blick

Start

Das Automatisierungssystem SIMATIC S7-400 in der Uumlbersicht

Eine Einfuumlhrung in die Engineeringsoftware SIMATIC STEP 7 Professional V11

Die Grundlage der Automatisierungsloumlsung Ein Projekt erstellen und bearbeiten

Automatisierungssystem SIMATIC S7-400

Die Baugruppen von SIMATIC S7-400 in der Uumlbersicht Aufbau eines Automatisierungs-systems CPU-Baugruppen Signal- Funktions- und Kommunikationsbaugruppen

Geraumltekonfiguration

Eine Station konfigurieren Baugruppen parametrieren und Stationen vernetzen

Variablen Adressierung und Datentypen

Die Eigenschaften der Operandenbereiche Eingaumlnge Ausgaumlnge Peripherie Merker Daten und temporaumlre Lokaldaten und wie sie adressiert werden absolut symbolisch und indirekt

Die Beschreibung der elementaren und zusammengesetzten Datentypen Datentypen fuumlr Bausteinparameter Zeiger und Anwenderdatentypen

Programmbearbeitung

Wie sich die CPU-Baugruppe in den Betriebszustaumlnden ANLAUF RUN und STOP verhaumllt

Wie das Anwenderprogramm durch Bausteine strukturiert wird welche Eigenschaften die Bausteine haben und wie sie aufgerufen werden

Wie das Anwenderprogramm bearbeitet wird Anlaufverhalten Hauptprogramm Alarmbe-arbeitung Fehlerbehandlung und Diagnose

Der Programmeditor

Arbeiten mit der PLC-Variablentabelle Codebausteine und Datenbausteine erstellen und bearbeiten Bausteine uumlbersetzen und Programminformationen auswerten

Die Programmiersprache Kontaktplan KOP

Das Charakteristische der KOP-Programmierung Reihen- und Parallelschaltung von Kontak-ten der Einsatz von Spulen Standard-Boxen Q-Boxen und ENENO-Boxen

Die Programmiersprache Funktionsplan FUP

Das Charakteristische der FUP-Programmierung Boxen fuumlr binaumlre Verknuumlpfungen der Ein-satz von Standard-Boxen Q-Boxen und ENENO-Boxen

Die Programmiersprache Anweisungsliste AWL

Das Charakteristische der AWL-Programmierung Programmierung von binaumlren Verknuumlp-fungen Anwendung von Digitalfunktionen und Steuern der Programmbearbeitung

Der Inhalt des Buchs auf einen Blick

7

Die Programmiersprache Structured Control Language SCL

Das Charakteristische der SCL-Programmierung Operatoren und Ausdruumlcke Arbeiten mit Binaumlr- und Digitalfunktionen Programmbearbeitung steuern mit Kontrollanweisungen

Die Ablaufsteuerung S7-GRAPH

Was eine Ablaufsteuerung ist und was ihre Elemente sind Ablaufketten Schritte Transitio-nen und Verzweigungen Wie eine Ablaufsteuerung mit S7-GRAPH projektiert wird

Die Beschreibung der Steuerungsfunktionen

Basisfunktionen Funktionen fuumlr Binaumlrsignale binaumlre Verknuumlpfungen Speicherfunktio-nen Flankenauswertungen SIMATIC- und IEC-Zeit- und Zaumlhlfunktionen

Digitalfunktionen Funktionen fuumlr Digitalvariablen Uumlbertragungs- Vergleichs- Arithme-tik- Mathematik- Konvertierungs- Schiebe- und Logikfunktionen

Programmfluss-Steuerung Mit Statusbits arbeiten Sprungfunktionen programmieren Bausteine aufrufen und beenden das Master Control Relay verwenden

Online-Betrieb und Programmtest

Ein Programmiergeraumlt an die PLC-Station anschlieszligen den Online-Betrieb einschalten die Projektdaten uumlbertragen und das Anwenderprogramm schuumltzen

Die Anwenderbausteine laden aumlndern loumlschen und vergleichen

Mit der Hardware-Diagnose arbeiten und das Anwenderprogramm testen

Dezentrale Peripherie

In der Uumlbersicht das dezentrale Peripheriesystem ET 200

Wie ein PROFINET IO System projektiert wird und welche Eigenschaften es hat

Wie ein PROFIBUS DP Mastersystem projektiert wird und welche Eigenschaften es hat

Kommunikation

Welche Eigenschaften die S7-Basis-Kommunikation und die S7-Kommunikation haben und mit welchen Kommunikationsfunktionen sie programmiert werden

Mit welchen Kommunikationsfunktionen die Open User Communication realisiert wird

Wie die PtP-Kommunikation realisiert wird

Anhang

Wie externe Quelldateien fuumlr AWL- und SCL-Bausteine erstellt und importiert werden

Wie ein mit STEP 7 V5x erstelltes Projekt in das TIA Portal migriert wird

Wie mit der Simulationssoftware S7-PLCSIM ein Anwenderprogramm offline getestet wird

Wie der Webserver in der CPU projektiert wird und welche Moumlglichkeiten er bietet

Wie Bausteinparameter und Lokalvariablen im Speicher abgelegt werden

Inhaltsverzeichnis

8

Inhaltsverzeichnis

1 Einfuumlhrung 22

11 Uumlbersicht Automatisierungssystem S7-400 22111 Automatisierungsgeraumlt SIMATIC S7-400 23112 Uumlbersicht STEP 7 Professional V11 24113 Fuumlnf Programmiersprachen 26114 Bearbeitung des Anwenderprogramms 28115 Datenhaltung im SIMATIC-Automatisierungssystem 30

12 Einfuumlhrung in STEP 7 Professional V11 31121 STEP 7 installieren 31122 Automation License Manager 32123 STEP 7 Professional starten 32124 Portalansicht 32125 Hilfe-Informationssystem 34126 Die Fenster der Projektansicht 34127 Bedienoberflaumlche anpassen 37

13 Ein SIMATIC-Projekt bearbeiten 37131 Strukturierte Darstellung der Projektdaten 38132 Projektdaten und Editoren fuumlr eine PLC-Station 39133 Ein Projekt erstellen und bearbeiten 42134 Bibliotheken anlegen und bearbeiten 45

2 Automatisierungssystem SIMATIC S7-400 46

21 Komponenten einer S7-400-Station 46

22 CPU-Baugruppen S7-400 50221 CPU-Varianten 50222 Bedien- und Anzeigeelemente 51223 SIMATIC Memory Card 53224 Speicherbereiche in einer S7-400-Station 54225 Busschnittstellen 55226 Schnittstellenmodul IF 964-DP 57

23 Signalbaugruppen 57231 Digitaleingabebaugruppen 57232 Digitalausgabebaugruppen 58233 Analogeingabebaugruppen 59234 Analogausgabebaugruppe 60

24 Funktionsbaugruppen 60

25 Kommunikationsbaugruppen 61

Inhaltsverzeichnis

9

26 Sonstige Baugruppen 62261 Anschaltungsbaugruppen 62262 Stromversorgungsbaugruppen 63

27 SIPLUS S7-400 64

3 Geraumltekonfiguration 66

31 Einfuumlhrung 66

32 Eine Station konfigurieren 69321 Eine PLC-Station hinzufuumlgen 69322 Eine Baugruppe hinzufuumlgen 70323 Ein Erweiterungsgeraumlt hinzufuumlgen 71

33 Baugruppen parametrieren 71331 Die CPU-Eigenschaften parametrieren 72332 Baugruppen adressieren 75333 Signalbaugruppen parametrieren 77

34 Netz projektieren 78341 Einfuumlhrung Uumlbersicht 78342 Stationen vernetzen 79343 Teilnehmeradressen in einem Subnetz 81344 Verbindungen 82345 Ein MPI-Subnetz projektieren 85346 Ein PROFIBUS-Subnetz projektieren 86347 Ein PROFINET-Subnetz projektieren 87348 Ein PtP-Subnetz projektieren 91

4 Variablen Adressierung und Datentypen 94

41 Operanden und Variablen 94411 Einfuumlhrung Uumlbersicht 94412 Operandenbereiche Eingaumlnge und Ausgaumlnge 96413 Operandenbereich Merker 98414 Operandenbereich Daten 99415 Operandenbereich temporaumlre Lokaldaten 99

42 Adressierung von Operanden und Variablen 101421 Signalweg 101422 Absolute Adressierung von Variablen 102423 Symbolische Adressierung von Variablen 107424 Adressierung von Konstanten 108

43 Indirekte Adressierung 109431 Speicherindirekte Adressierung mit AWL 110432 Registerindirekte Adressierung mit AWL 113433 Arbeiten mit den Adressregistern bei AWL 114434 Direkter Zugriff auf komplexe Lokalvariablen mit AWL 122435 Indirekte Adressierung bei SCL 124

44 Elementare Datentypen 126441 Einfuumlhrung 126

Inhaltsverzeichnis

10

442 Bitfolge-Datentypen BOOL BYTE WORD und DWORD 128443 BCD-Zahlen BCD16 und BCD32 129444 Festpunkt-Datentypen mit Vorzeichen INT und DINT 131445 Gleitpunkt-Datentyp REAL 131446 Datentyp CHAR 132447 Datentypen fuumlr Zeitdauern und Zeitpunkte 133

45 Zusammengesetzte Datentypen 135451 Zeichenkette STRING 135452 Datentyp ARRAY 137453 Datentyp STRUCT 139

46 Parametertypen und Zeiger 141461 Parametertypen 141462 Zeiger 143463 bdquoVariablerldquo ANY-Zeiger bei AWL 146464 bdquoVariablerldquo ANY-Zeiger bei SCL 148

47 PLC-Datentypen 148

48 Startinformation 150

5 Programmbearbeitung 151

51 Betriebszustaumlnde der CPU-Baugruppe 151511 Betriebszustand STOP 152512 Betriebszustand ANLAUF 153513 Betriebszustand RUN 157514 Betriebszustand HALT 157515 CPU urloumlschen 158516 Auslieferungszustand wiederherstellen 158517 Remanenzverhalten von Operanden 159

52 Anwenderprogramm erstellen 159521 Programmentwurf 159522 Programmbearbeitung 163523 Bausteinarten 165524 Bausteineigenschaften bearbeiten 167525 Bausteinschnittstelle 171526 Beispiel zur Verwendung von Bausteinparametern 172

53 Bausteine aufrufen 174531 Allgemeines zu Aufrufen von Codebausteinen 174532 Aufruf von Funktionen (FC) 175533 Aufruf von Funktionsbausteinen (FB) 176534 bdquoWeiterreichenldquo von Bausteinparametern 180

54 Anlaufprogramm 181541 Anlauf-Organisationsbausteine OB 100 OB 101 und OB 102 181542 Baugruppenadresse ermitteln 181543 Baugruppen parametrieren 183

55 Hauptprogramm 187551 Organisationsbaustein OB 1 187

Inhaltsverzeichnis

11

552 Prozessabbild 187553 Zykluszeit und Reaktionszeit 193554 Mindestzykluszeit und Hintergrundbearbeitung 195555 Programm komprimieren anhalten stoppen und schuumltzen 197556 Uhrzeit 199557 Systemzeit und OB-Laufzeit ermitteln 202558 Betriebsstundenzaumlhler 207

56 Alarmbearbeitung 208561 Einfuumlhrung zur Alarmbearbeitung 208562 Prioritaumltsklassen 210563 Uhrzeitalarme Organisationsbausteine OB 10 bis OB 17 210564 Verzoumlgerungsalarme Organisationsbausteine OB 20 bis 23 215565 Weckalarme Organisationsbausteine OB 30 bis 38 218566 Prozessalarme Organisationsbausteine OB 40 bis OB 47 220567 DPV1-Alarme Organisationsbausteine OB 55 bis 57 221568 Taktsynchronalarme Organisationsbausteine OB 61 bis OB 64 223569 Alarmzusatzinformation lesen 225

57 Fehlerbehandlung 226571 Fehlerursachen und Fehlerreaktion 226572 Synchronfehler 227573 Synchronfehlerbearbeitung sperren und freigeben 229574 Ersatzwert eintragen 232575 Asynchronfehler 232576 Alarme und Asynchronfehler sperren verzoumlgern und freigeben 238

58 Diagnose 240581 Diagnosealarm Organisationsbaustein OB 82 240582 Systemzustandsliste lesen 241583 Startinformation lesen 242584 Verbindungszustand ermitteln 243585 Systemdiagnose mit Report System Errors 245

59 Meldungen projektieren 247591 Einfuumlhrung 247592 Meldungen nach dem Meldenummerverfahren projektieren 251593 Meldebausteine fuumlr PLC-Meldungen mit Instanzdaten 256594 Meldebausteine fuumlr PLC-Meldungen ohne Instanzdaten 259595 Bausteine fuumlr das Arbeiten mit Meldungen 260596 Anwender-Diagnosemeldung projektieren 263597 CPU-Meldungsanzeige 265

6 Programmeditor 267

61 Einfuumlhrung 267

62 PLC-Variablentabelle 268621 PLC-Variablentabellen bearbeiten 268622 PLC-Variablen definieren 268623 PLC-Variablentabelle exportieren und importieren 270624 Konstantentabellen 271

Inhaltsverzeichnis

12

63 Codebaustein programmieren 271631 Einen neuen Codebaustein anlegen 271632 Arbeitsbereich des Programmeditors fuumlr Codebausteine 273633 Bausteineigenschaften fuumlr Codebausteine festlegen 274634 Bausteinschnittstelle programmieren 275635 Steuerungsfunktion programmieren 276636 Variablen editieren 281637 Mit Programmkommentaren arbeiten 284

64 Datenbaustein programmieren 285641 Einen neuen Datenbaustein anlegen 285642 Arbeitsbereich des Programmeditors fuumlr Datenbausteine 286643 Bausteineigenschaften fuumlr Datenbausteine festlegen 287644 Datenvariablen deklarieren 287645 Datenvariablen in Globaldatenbausteinen eingeben 288

65 Bausteine uumlbersetzen 289651 Uumlbersetzung starten 289652 SCL-Bausteine uumlbersetzen 290653 Fehler nach der Uumlbersetzung beheben 291

66 Programminformationen 292661 Querverweisliste 292662 Belegungsplan 294663 Aufrufstruktur 296664 Abhaumlngigkeitsstruktur 297665 Konsistenzpruumlfung 297666 Speicherauslastung der CPU 298

7 Kontaktplan KOP 300

71 Einfuumlhrung 300711 Programmieren mit KOP allgemein 300712 Programmelemente des Kontaktplans 302

72 Binaumlre Verknuumlpfungen mit KOP programmieren 302721 Schlieszligerkontakt und Oumlffnerkontakt 302722 Reihen- und Parallelschaltung von Kontakten 304723 T-Abzweig offener Parallelzweig 305724 Verknuumlpfungsergebnis negieren 306725 Flankenauswertung einer Binaumlrvariablen 307726 Vergleich-Kontakte 307

73 Speicherfunktionen mit KOP programmieren 308731 Einfache Spule Zuweisung 308732 Setzen- und Ruumlcksetzen-Spule 310733 Speicherndes Verhalten durch Selbsthaltung 310734 Spulen mit Zeitverhalten 311735 Spulen mit Zaumlhlerverhalten 312

74 Q-Boxen mit KOP programmieren 313741 Speicher-Boxen 314742 Flankenauswertung des Stromflusses 314

Inhaltsverzeichnis

13

743 SIMATIC-Zeitfunktionen 315744 SIMATIC-Zaumlhlfunktionen 316745 IEC-Zeitfunktionen 316746 IEC-Zaumlhlfunktionen 318

75 ENENO-Boxen mit KOP programmieren 319751 Uumlbertragungsfunktion MOVE 320752 Arithmetische Funktionen 320753 Mathematische Funktionen 321754 Konvertierungsfunktionen 322755 Schiebefunktionen 323756 Wortverknuumlpfungen 324

76 Programmfluss bei KOP steuern 326761 Mit Statusbits im Kontaktplan arbeiten 326762 ENENO-Mechanismus bei KOP 328763 Sprungfunktionen 329764 Bausteinfunktionen 330765 Master Control Relay (MCR) 332

8 Funktionsplan FUP 334

81 Einfuumlhrung 334811 Programmieren mit FUP allgemein 334812 Programmelemente des Funktionsplans 336

82 Binaumlre Verknuumlpfungen mit FUP programmieren 337821 Abfrage auf Signalzustand bdquo1ldquo und auf Signalzustand bdquo0ldquo 337822 Eine binaumlre Verknuumlpfung im Funktionsplan programmieren 338823 UND-Funktion 339824 ODER-Funktion 339825 Exklusiv-ODER-Funktion 339826 Kombinierte binaumlre Verknuumlpfungen Verknuumlpfungsergebnis negieren 340827 T-Abzweig 341828 Flankenauswertung von Binaumlrvariablen 342829 Vergleichsfunktionen 342

83 Standard-Boxen mit FUP programmieren 343831 Zuweisung-Box 343832 Setzen- und Ruumlcksetzen-Box 344833 Standard-Boxen mit Zeitverhalten 346834 Standard-Boxen mit Zaumlhlerverhalten 346

84 Q-Boxen mit FUP programmieren 347841 Speicher-Boxen 348842 Flankenauswertung des Verknuumlpfungsergebnisses 349843 SIMATIC-Zeitfunktionen 349844 SIMATIC-Zaumlhlfunktionen 350845 IEC-Zeitfunktionen 351846 IEC-Zaumlhlfunktionen 352

85 ENENO-Boxen mit FUP programmieren 353851 Uumlbertragungsfunktion MOVE 354

Inhaltsverzeichnis

14

852 Arithmetische Funktionen 355853 Mathematische Funktionen 356854 Konvertierungsfunktionen 356855 Schiebefunktionen 358856 Wortverknuumlpfungen 359

86 Programmfluss bei FUP steuern 360861 Mit Statusbits im Funktionsplan arbeiten 360862 ENENO-Mechanismus bei FUP 362863 Sprungfunktionen 364864 Bausteinfunktionen 364865 Master Control Relay (MCR) 366

9 Anweisungsliste AWL 369

91 Einfuumlhrung 369911 Programmieren mit AWL allgemein 369912 Aufbau einer AWL-Anweisung 370

92 Binaumlre Verknuumlpfungen mit AWL programmieren 371921 Bearbeitung einer binaumlren Verknuumlpfung Verknuumlpfungsschritt 371922 Abfrage auf Signalzustand bdquo1ldquo und auf Signalzustand bdquo0ldquo 373923 Eine binaumlre Verknuumlpfung in Anweisungsliste programmieren 375924 UND-Funktion 375925 ODER-Funktion 376926 Exklusiv-ODER-Funktion 376927 Kombinierte binaumlre Verknuumlpfungen 376928 Verknuumlpfungsergebnis steuern 379

93 Speicherfunktionen mit AWL programmieren 380931 Zuweisung 380932 Setzen und Ruumlcksetzen 381933 Flankenauswertung 381

94 Zeit- und Zaumlhlfunktionen mit AWL programmieren 382941 SIMATIC-Zeitfunktionen 382942 SIMATIC-Zaumlhlfunktionen 384943 IEC-Zeitfunktionen 385944 IEC-Zaumlhlfunktionen 386

95 Digitalfunktionen mit AWL programmieren 387951 Uumlbertragungsfunktionen 387952 Vergleichsfunktionen 389953 Arithmetische Funktionen 392954 Mathematische Funktionen 395955 Konvertierungsfunktionen 396956 Schiebefunktionen 397957 Wortverknuumlpfungen 399

96 Programmfluss bei AWL steuern 401961 Mit Statusbits in der Anweisungsliste arbeiten 402962 ENENO-Mechanismus bei AWL 404963 Sprungfunktionen 406

Page 2: Automatisieren mit SIMATIC S7-400 im TIA Portal...Automatisieren mit SIMATIC S7-400 im TIA Portal Projektieren, Programmieren und Testen mit STEP 7 Professional von Hans Berger Publicis

Berger Automatisieren mit SIMATIC S7-400 im TIA Portal

Automatisieren mit SIMATIC S7-400 im TIA Portal

Projektieren Programmieren und Testen mit STEP 7 Professional

von Hans Berger

Publicis Publishing

Bibliografische Information der Deutschen Nationalbibliothek

Die Deutsche Nationalbibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie detaillierte bibliografische Daten sind im Internet uumlber httpdnbd-nbde abrufbar

Autor und Verlag haben alle Texte in diesem Buch mit groszliger Sorgfalt erarbeitet Dennoch koumlnnen Fehler nicht ausgeschlossen werden Eine Haftung des Verlags oder des Autors gleich aus welchem Rechtsgrund ist ausgeschlossen Die in diesem Buch wiedergegebenen Bezeichnungen koumlnnen Warenzeichen sein deren Benutzung durch Dritte fuumlr deren Zwecke die Rechte der Inhaber verletzen kann

wwwpublicis-booksde

ISBN 978-3-89578-372-2

Herausgeber Siemens Aktiengesellschaft Berlin und Muumlnchen Verlag Publicis Publishing Erlangen copy 2013 by Publicis Erlangen Zweigniederlassung der PWW GmbH

Das Werk einschlieszliglich aller seiner Teile ist urheberrechtlich geschuumltzt Jede Verwendung auszligerhalb der engen Grenzen des Urheberrechtsgesetzes ist ohne Zustimmung des Verlags unzulaumlssig und strafbar Das gilt insbesondere fuumlr Vervielfaumlltigungen Uumlbersetzungen Mikroverfilmungen Bearbeitungen sonstiger Art sowie fuumlr die Einspeicherung und Verarbeitung in elektronischen Systemen Dies gilt auch fuumlr die Entnahme von einzelnen Abbildungen und bei auszugsweiser Verwertung von Texten

Printed in Germany

Vorwort

5

Vorwort

Das Automatisierungssystem SIMATIC vereinigt alle Teilsysteme einer Automati-sierungsloumlsung unter einer einheitlichen Systemarchitektur zu einem homogenenGesamtsystem von der Feldebene bis zur Leittechnik

Das Konzept Totally Integrated Automation (TIA) bedeutet mit einer einzigen Sys-tembasis und Werkzeugen mit einheitlichen Bedienoberflaumlchen alle Automatisie-rungskomponenten einheitlich zu behandeln Diesen Anforderungen wird dasAutomatisierungssystem SIMATIC gerecht mit Durchgaumlngigkeit bei ProjektierungProgrammierung Datenhaltung und Kommunikation

Das vorliegende Buch beschreibt die Hardware-Komponenten des Automatisie-rungssystems SIMATIC S7-400 mit Standard-Controllern und die Moumlglichkeitenzum Aufbau eines dezentralen Steuerungskonzepts mit PROFIBUS und PROFINETFuumlr die Kommunikation mit anderen Automatisierungssystemen bieten die Con-troller integrierte Busschnittstellen fuumlr Multipoint Interface (MPI) PROFIBUS undIndustrial Ethernet

Die Engineeringsoftware STEP 7 Professional erschlieszligt die gesamte Funktionalitaumltder S7-400-Controller STEP 7 Professional ist das gemeinsame Werkzeug fuumlr dieKonfiguration des Hardware-Aufbaus und die Programmierung des Anwenderpro-gramms genauso wie fuumlr den Programmtest und die Diagnose

Fuumlr die Gestaltung des Anwenderprogramms stellt STEP 7 Professional fuumlnf Pro-grammiersprachen zur Verfuumlgung Kontaktplan (KOP) mit einer Stromlaufplan-aumlhnlichen grafischen Darstellung Funktionsplan (FUP) mit einer an elektronischeSchaltkreissysteme angelehnten grafischen Darstellung Anweisungsliste (AWL)mit der Formulierung der Steuerungsaufgabe als Auflistung von maschinennahenBefehlen Structured Control Language (SCL) mit einer Pascal-aumlhnlichen Hochspra-che und schlieszliglich mit GRAPH eine Ablaufsteuerung mit sequenzieller Bearbei-tung des Anwenderprogramms

Das Testen des Anwenderprogramms erleichtert STEP 7 Professional mit Beobach-tungstabellen fuumlr das Beobachten Steuern und Forcen von Variablenwerten mitder Darstellung des Programms mit den aktuellen Variablenwerten im laufendenBetrieb und mit einer Offline-Simulation des Automatisierungsgeraumlts

Das vorliegende Buch beschreibt das Projektieren Programmieren und Testen desAutomatisierungssystems S7-400 mit der Engineeringsoftware STEP 7 Professionalin der Version 11 mit Servicepack 2

Nuumlrnberg im Oktober 2012 Hans Berger

Der Inhalt des Buchs auf einen Blick

6

Der Inhalt des Buchs auf einen Blick

Start

Das Automatisierungssystem SIMATIC S7-400 in der Uumlbersicht

Eine Einfuumlhrung in die Engineeringsoftware SIMATIC STEP 7 Professional V11

Die Grundlage der Automatisierungsloumlsung Ein Projekt erstellen und bearbeiten

Automatisierungssystem SIMATIC S7-400

Die Baugruppen von SIMATIC S7-400 in der Uumlbersicht Aufbau eines Automatisierungs-systems CPU-Baugruppen Signal- Funktions- und Kommunikationsbaugruppen

Geraumltekonfiguration

Eine Station konfigurieren Baugruppen parametrieren und Stationen vernetzen

Variablen Adressierung und Datentypen

Die Eigenschaften der Operandenbereiche Eingaumlnge Ausgaumlnge Peripherie Merker Daten und temporaumlre Lokaldaten und wie sie adressiert werden absolut symbolisch und indirekt

Die Beschreibung der elementaren und zusammengesetzten Datentypen Datentypen fuumlr Bausteinparameter Zeiger und Anwenderdatentypen

Programmbearbeitung

Wie sich die CPU-Baugruppe in den Betriebszustaumlnden ANLAUF RUN und STOP verhaumllt

Wie das Anwenderprogramm durch Bausteine strukturiert wird welche Eigenschaften die Bausteine haben und wie sie aufgerufen werden

Wie das Anwenderprogramm bearbeitet wird Anlaufverhalten Hauptprogramm Alarmbe-arbeitung Fehlerbehandlung und Diagnose

Der Programmeditor

Arbeiten mit der PLC-Variablentabelle Codebausteine und Datenbausteine erstellen und bearbeiten Bausteine uumlbersetzen und Programminformationen auswerten

Die Programmiersprache Kontaktplan KOP

Das Charakteristische der KOP-Programmierung Reihen- und Parallelschaltung von Kontak-ten der Einsatz von Spulen Standard-Boxen Q-Boxen und ENENO-Boxen

Die Programmiersprache Funktionsplan FUP

Das Charakteristische der FUP-Programmierung Boxen fuumlr binaumlre Verknuumlpfungen der Ein-satz von Standard-Boxen Q-Boxen und ENENO-Boxen

Die Programmiersprache Anweisungsliste AWL

Das Charakteristische der AWL-Programmierung Programmierung von binaumlren Verknuumlp-fungen Anwendung von Digitalfunktionen und Steuern der Programmbearbeitung

Der Inhalt des Buchs auf einen Blick

7

Die Programmiersprache Structured Control Language SCL

Das Charakteristische der SCL-Programmierung Operatoren und Ausdruumlcke Arbeiten mit Binaumlr- und Digitalfunktionen Programmbearbeitung steuern mit Kontrollanweisungen

Die Ablaufsteuerung S7-GRAPH

Was eine Ablaufsteuerung ist und was ihre Elemente sind Ablaufketten Schritte Transitio-nen und Verzweigungen Wie eine Ablaufsteuerung mit S7-GRAPH projektiert wird

Die Beschreibung der Steuerungsfunktionen

Basisfunktionen Funktionen fuumlr Binaumlrsignale binaumlre Verknuumlpfungen Speicherfunktio-nen Flankenauswertungen SIMATIC- und IEC-Zeit- und Zaumlhlfunktionen

Digitalfunktionen Funktionen fuumlr Digitalvariablen Uumlbertragungs- Vergleichs- Arithme-tik- Mathematik- Konvertierungs- Schiebe- und Logikfunktionen

Programmfluss-Steuerung Mit Statusbits arbeiten Sprungfunktionen programmieren Bausteine aufrufen und beenden das Master Control Relay verwenden

Online-Betrieb und Programmtest

Ein Programmiergeraumlt an die PLC-Station anschlieszligen den Online-Betrieb einschalten die Projektdaten uumlbertragen und das Anwenderprogramm schuumltzen

Die Anwenderbausteine laden aumlndern loumlschen und vergleichen

Mit der Hardware-Diagnose arbeiten und das Anwenderprogramm testen

Dezentrale Peripherie

In der Uumlbersicht das dezentrale Peripheriesystem ET 200

Wie ein PROFINET IO System projektiert wird und welche Eigenschaften es hat

Wie ein PROFIBUS DP Mastersystem projektiert wird und welche Eigenschaften es hat

Kommunikation

Welche Eigenschaften die S7-Basis-Kommunikation und die S7-Kommunikation haben und mit welchen Kommunikationsfunktionen sie programmiert werden

Mit welchen Kommunikationsfunktionen die Open User Communication realisiert wird

Wie die PtP-Kommunikation realisiert wird

Anhang

Wie externe Quelldateien fuumlr AWL- und SCL-Bausteine erstellt und importiert werden

Wie ein mit STEP 7 V5x erstelltes Projekt in das TIA Portal migriert wird

Wie mit der Simulationssoftware S7-PLCSIM ein Anwenderprogramm offline getestet wird

Wie der Webserver in der CPU projektiert wird und welche Moumlglichkeiten er bietet

Wie Bausteinparameter und Lokalvariablen im Speicher abgelegt werden

Inhaltsverzeichnis

8

Inhaltsverzeichnis

1 Einfuumlhrung 22

11 Uumlbersicht Automatisierungssystem S7-400 22111 Automatisierungsgeraumlt SIMATIC S7-400 23112 Uumlbersicht STEP 7 Professional V11 24113 Fuumlnf Programmiersprachen 26114 Bearbeitung des Anwenderprogramms 28115 Datenhaltung im SIMATIC-Automatisierungssystem 30

12 Einfuumlhrung in STEP 7 Professional V11 31121 STEP 7 installieren 31122 Automation License Manager 32123 STEP 7 Professional starten 32124 Portalansicht 32125 Hilfe-Informationssystem 34126 Die Fenster der Projektansicht 34127 Bedienoberflaumlche anpassen 37

13 Ein SIMATIC-Projekt bearbeiten 37131 Strukturierte Darstellung der Projektdaten 38132 Projektdaten und Editoren fuumlr eine PLC-Station 39133 Ein Projekt erstellen und bearbeiten 42134 Bibliotheken anlegen und bearbeiten 45

2 Automatisierungssystem SIMATIC S7-400 46

21 Komponenten einer S7-400-Station 46

22 CPU-Baugruppen S7-400 50221 CPU-Varianten 50222 Bedien- und Anzeigeelemente 51223 SIMATIC Memory Card 53224 Speicherbereiche in einer S7-400-Station 54225 Busschnittstellen 55226 Schnittstellenmodul IF 964-DP 57

23 Signalbaugruppen 57231 Digitaleingabebaugruppen 57232 Digitalausgabebaugruppen 58233 Analogeingabebaugruppen 59234 Analogausgabebaugruppe 60

24 Funktionsbaugruppen 60

25 Kommunikationsbaugruppen 61

Inhaltsverzeichnis

9

26 Sonstige Baugruppen 62261 Anschaltungsbaugruppen 62262 Stromversorgungsbaugruppen 63

27 SIPLUS S7-400 64

3 Geraumltekonfiguration 66

31 Einfuumlhrung 66

32 Eine Station konfigurieren 69321 Eine PLC-Station hinzufuumlgen 69322 Eine Baugruppe hinzufuumlgen 70323 Ein Erweiterungsgeraumlt hinzufuumlgen 71

33 Baugruppen parametrieren 71331 Die CPU-Eigenschaften parametrieren 72332 Baugruppen adressieren 75333 Signalbaugruppen parametrieren 77

34 Netz projektieren 78341 Einfuumlhrung Uumlbersicht 78342 Stationen vernetzen 79343 Teilnehmeradressen in einem Subnetz 81344 Verbindungen 82345 Ein MPI-Subnetz projektieren 85346 Ein PROFIBUS-Subnetz projektieren 86347 Ein PROFINET-Subnetz projektieren 87348 Ein PtP-Subnetz projektieren 91

4 Variablen Adressierung und Datentypen 94

41 Operanden und Variablen 94411 Einfuumlhrung Uumlbersicht 94412 Operandenbereiche Eingaumlnge und Ausgaumlnge 96413 Operandenbereich Merker 98414 Operandenbereich Daten 99415 Operandenbereich temporaumlre Lokaldaten 99

42 Adressierung von Operanden und Variablen 101421 Signalweg 101422 Absolute Adressierung von Variablen 102423 Symbolische Adressierung von Variablen 107424 Adressierung von Konstanten 108

43 Indirekte Adressierung 109431 Speicherindirekte Adressierung mit AWL 110432 Registerindirekte Adressierung mit AWL 113433 Arbeiten mit den Adressregistern bei AWL 114434 Direkter Zugriff auf komplexe Lokalvariablen mit AWL 122435 Indirekte Adressierung bei SCL 124

44 Elementare Datentypen 126441 Einfuumlhrung 126

Inhaltsverzeichnis

10

442 Bitfolge-Datentypen BOOL BYTE WORD und DWORD 128443 BCD-Zahlen BCD16 und BCD32 129444 Festpunkt-Datentypen mit Vorzeichen INT und DINT 131445 Gleitpunkt-Datentyp REAL 131446 Datentyp CHAR 132447 Datentypen fuumlr Zeitdauern und Zeitpunkte 133

45 Zusammengesetzte Datentypen 135451 Zeichenkette STRING 135452 Datentyp ARRAY 137453 Datentyp STRUCT 139

46 Parametertypen und Zeiger 141461 Parametertypen 141462 Zeiger 143463 bdquoVariablerldquo ANY-Zeiger bei AWL 146464 bdquoVariablerldquo ANY-Zeiger bei SCL 148

47 PLC-Datentypen 148

48 Startinformation 150

5 Programmbearbeitung 151

51 Betriebszustaumlnde der CPU-Baugruppe 151511 Betriebszustand STOP 152512 Betriebszustand ANLAUF 153513 Betriebszustand RUN 157514 Betriebszustand HALT 157515 CPU urloumlschen 158516 Auslieferungszustand wiederherstellen 158517 Remanenzverhalten von Operanden 159

52 Anwenderprogramm erstellen 159521 Programmentwurf 159522 Programmbearbeitung 163523 Bausteinarten 165524 Bausteineigenschaften bearbeiten 167525 Bausteinschnittstelle 171526 Beispiel zur Verwendung von Bausteinparametern 172

53 Bausteine aufrufen 174531 Allgemeines zu Aufrufen von Codebausteinen 174532 Aufruf von Funktionen (FC) 175533 Aufruf von Funktionsbausteinen (FB) 176534 bdquoWeiterreichenldquo von Bausteinparametern 180

54 Anlaufprogramm 181541 Anlauf-Organisationsbausteine OB 100 OB 101 und OB 102 181542 Baugruppenadresse ermitteln 181543 Baugruppen parametrieren 183

55 Hauptprogramm 187551 Organisationsbaustein OB 1 187

Inhaltsverzeichnis

11

552 Prozessabbild 187553 Zykluszeit und Reaktionszeit 193554 Mindestzykluszeit und Hintergrundbearbeitung 195555 Programm komprimieren anhalten stoppen und schuumltzen 197556 Uhrzeit 199557 Systemzeit und OB-Laufzeit ermitteln 202558 Betriebsstundenzaumlhler 207

56 Alarmbearbeitung 208561 Einfuumlhrung zur Alarmbearbeitung 208562 Prioritaumltsklassen 210563 Uhrzeitalarme Organisationsbausteine OB 10 bis OB 17 210564 Verzoumlgerungsalarme Organisationsbausteine OB 20 bis 23 215565 Weckalarme Organisationsbausteine OB 30 bis 38 218566 Prozessalarme Organisationsbausteine OB 40 bis OB 47 220567 DPV1-Alarme Organisationsbausteine OB 55 bis 57 221568 Taktsynchronalarme Organisationsbausteine OB 61 bis OB 64 223569 Alarmzusatzinformation lesen 225

57 Fehlerbehandlung 226571 Fehlerursachen und Fehlerreaktion 226572 Synchronfehler 227573 Synchronfehlerbearbeitung sperren und freigeben 229574 Ersatzwert eintragen 232575 Asynchronfehler 232576 Alarme und Asynchronfehler sperren verzoumlgern und freigeben 238

58 Diagnose 240581 Diagnosealarm Organisationsbaustein OB 82 240582 Systemzustandsliste lesen 241583 Startinformation lesen 242584 Verbindungszustand ermitteln 243585 Systemdiagnose mit Report System Errors 245

59 Meldungen projektieren 247591 Einfuumlhrung 247592 Meldungen nach dem Meldenummerverfahren projektieren 251593 Meldebausteine fuumlr PLC-Meldungen mit Instanzdaten 256594 Meldebausteine fuumlr PLC-Meldungen ohne Instanzdaten 259595 Bausteine fuumlr das Arbeiten mit Meldungen 260596 Anwender-Diagnosemeldung projektieren 263597 CPU-Meldungsanzeige 265

6 Programmeditor 267

61 Einfuumlhrung 267

62 PLC-Variablentabelle 268621 PLC-Variablentabellen bearbeiten 268622 PLC-Variablen definieren 268623 PLC-Variablentabelle exportieren und importieren 270624 Konstantentabellen 271

Inhaltsverzeichnis

12

63 Codebaustein programmieren 271631 Einen neuen Codebaustein anlegen 271632 Arbeitsbereich des Programmeditors fuumlr Codebausteine 273633 Bausteineigenschaften fuumlr Codebausteine festlegen 274634 Bausteinschnittstelle programmieren 275635 Steuerungsfunktion programmieren 276636 Variablen editieren 281637 Mit Programmkommentaren arbeiten 284

64 Datenbaustein programmieren 285641 Einen neuen Datenbaustein anlegen 285642 Arbeitsbereich des Programmeditors fuumlr Datenbausteine 286643 Bausteineigenschaften fuumlr Datenbausteine festlegen 287644 Datenvariablen deklarieren 287645 Datenvariablen in Globaldatenbausteinen eingeben 288

65 Bausteine uumlbersetzen 289651 Uumlbersetzung starten 289652 SCL-Bausteine uumlbersetzen 290653 Fehler nach der Uumlbersetzung beheben 291

66 Programminformationen 292661 Querverweisliste 292662 Belegungsplan 294663 Aufrufstruktur 296664 Abhaumlngigkeitsstruktur 297665 Konsistenzpruumlfung 297666 Speicherauslastung der CPU 298

7 Kontaktplan KOP 300

71 Einfuumlhrung 300711 Programmieren mit KOP allgemein 300712 Programmelemente des Kontaktplans 302

72 Binaumlre Verknuumlpfungen mit KOP programmieren 302721 Schlieszligerkontakt und Oumlffnerkontakt 302722 Reihen- und Parallelschaltung von Kontakten 304723 T-Abzweig offener Parallelzweig 305724 Verknuumlpfungsergebnis negieren 306725 Flankenauswertung einer Binaumlrvariablen 307726 Vergleich-Kontakte 307

73 Speicherfunktionen mit KOP programmieren 308731 Einfache Spule Zuweisung 308732 Setzen- und Ruumlcksetzen-Spule 310733 Speicherndes Verhalten durch Selbsthaltung 310734 Spulen mit Zeitverhalten 311735 Spulen mit Zaumlhlerverhalten 312

74 Q-Boxen mit KOP programmieren 313741 Speicher-Boxen 314742 Flankenauswertung des Stromflusses 314

Inhaltsverzeichnis

13

743 SIMATIC-Zeitfunktionen 315744 SIMATIC-Zaumlhlfunktionen 316745 IEC-Zeitfunktionen 316746 IEC-Zaumlhlfunktionen 318

75 ENENO-Boxen mit KOP programmieren 319751 Uumlbertragungsfunktion MOVE 320752 Arithmetische Funktionen 320753 Mathematische Funktionen 321754 Konvertierungsfunktionen 322755 Schiebefunktionen 323756 Wortverknuumlpfungen 324

76 Programmfluss bei KOP steuern 326761 Mit Statusbits im Kontaktplan arbeiten 326762 ENENO-Mechanismus bei KOP 328763 Sprungfunktionen 329764 Bausteinfunktionen 330765 Master Control Relay (MCR) 332

8 Funktionsplan FUP 334

81 Einfuumlhrung 334811 Programmieren mit FUP allgemein 334812 Programmelemente des Funktionsplans 336

82 Binaumlre Verknuumlpfungen mit FUP programmieren 337821 Abfrage auf Signalzustand bdquo1ldquo und auf Signalzustand bdquo0ldquo 337822 Eine binaumlre Verknuumlpfung im Funktionsplan programmieren 338823 UND-Funktion 339824 ODER-Funktion 339825 Exklusiv-ODER-Funktion 339826 Kombinierte binaumlre Verknuumlpfungen Verknuumlpfungsergebnis negieren 340827 T-Abzweig 341828 Flankenauswertung von Binaumlrvariablen 342829 Vergleichsfunktionen 342

83 Standard-Boxen mit FUP programmieren 343831 Zuweisung-Box 343832 Setzen- und Ruumlcksetzen-Box 344833 Standard-Boxen mit Zeitverhalten 346834 Standard-Boxen mit Zaumlhlerverhalten 346

84 Q-Boxen mit FUP programmieren 347841 Speicher-Boxen 348842 Flankenauswertung des Verknuumlpfungsergebnisses 349843 SIMATIC-Zeitfunktionen 349844 SIMATIC-Zaumlhlfunktionen 350845 IEC-Zeitfunktionen 351846 IEC-Zaumlhlfunktionen 352

85 ENENO-Boxen mit FUP programmieren 353851 Uumlbertragungsfunktion MOVE 354

Inhaltsverzeichnis

14

852 Arithmetische Funktionen 355853 Mathematische Funktionen 356854 Konvertierungsfunktionen 356855 Schiebefunktionen 358856 Wortverknuumlpfungen 359

86 Programmfluss bei FUP steuern 360861 Mit Statusbits im Funktionsplan arbeiten 360862 ENENO-Mechanismus bei FUP 362863 Sprungfunktionen 364864 Bausteinfunktionen 364865 Master Control Relay (MCR) 366

9 Anweisungsliste AWL 369

91 Einfuumlhrung 369911 Programmieren mit AWL allgemein 369912 Aufbau einer AWL-Anweisung 370

92 Binaumlre Verknuumlpfungen mit AWL programmieren 371921 Bearbeitung einer binaumlren Verknuumlpfung Verknuumlpfungsschritt 371922 Abfrage auf Signalzustand bdquo1ldquo und auf Signalzustand bdquo0ldquo 373923 Eine binaumlre Verknuumlpfung in Anweisungsliste programmieren 375924 UND-Funktion 375925 ODER-Funktion 376926 Exklusiv-ODER-Funktion 376927 Kombinierte binaumlre Verknuumlpfungen 376928 Verknuumlpfungsergebnis steuern 379

93 Speicherfunktionen mit AWL programmieren 380931 Zuweisung 380932 Setzen und Ruumlcksetzen 381933 Flankenauswertung 381

94 Zeit- und Zaumlhlfunktionen mit AWL programmieren 382941 SIMATIC-Zeitfunktionen 382942 SIMATIC-Zaumlhlfunktionen 384943 IEC-Zeitfunktionen 385944 IEC-Zaumlhlfunktionen 386

95 Digitalfunktionen mit AWL programmieren 387951 Uumlbertragungsfunktionen 387952 Vergleichsfunktionen 389953 Arithmetische Funktionen 392954 Mathematische Funktionen 395955 Konvertierungsfunktionen 396956 Schiebefunktionen 397957 Wortverknuumlpfungen 399

96 Programmfluss bei AWL steuern 401961 Mit Statusbits in der Anweisungsliste arbeiten 402962 ENENO-Mechanismus bei AWL 404963 Sprungfunktionen 406

Page 3: Automatisieren mit SIMATIC S7-400 im TIA Portal...Automatisieren mit SIMATIC S7-400 im TIA Portal Projektieren, Programmieren und Testen mit STEP 7 Professional von Hans Berger Publicis

Automatisieren mit SIMATIC S7-400 im TIA Portal

Projektieren Programmieren und Testen mit STEP 7 Professional

von Hans Berger

Publicis Publishing

Bibliografische Information der Deutschen Nationalbibliothek

Die Deutsche Nationalbibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie detaillierte bibliografische Daten sind im Internet uumlber httpdnbd-nbde abrufbar

Autor und Verlag haben alle Texte in diesem Buch mit groszliger Sorgfalt erarbeitet Dennoch koumlnnen Fehler nicht ausgeschlossen werden Eine Haftung des Verlags oder des Autors gleich aus welchem Rechtsgrund ist ausgeschlossen Die in diesem Buch wiedergegebenen Bezeichnungen koumlnnen Warenzeichen sein deren Benutzung durch Dritte fuumlr deren Zwecke die Rechte der Inhaber verletzen kann

wwwpublicis-booksde

ISBN 978-3-89578-372-2

Herausgeber Siemens Aktiengesellschaft Berlin und Muumlnchen Verlag Publicis Publishing Erlangen copy 2013 by Publicis Erlangen Zweigniederlassung der PWW GmbH

Das Werk einschlieszliglich aller seiner Teile ist urheberrechtlich geschuumltzt Jede Verwendung auszligerhalb der engen Grenzen des Urheberrechtsgesetzes ist ohne Zustimmung des Verlags unzulaumlssig und strafbar Das gilt insbesondere fuumlr Vervielfaumlltigungen Uumlbersetzungen Mikroverfilmungen Bearbeitungen sonstiger Art sowie fuumlr die Einspeicherung und Verarbeitung in elektronischen Systemen Dies gilt auch fuumlr die Entnahme von einzelnen Abbildungen und bei auszugsweiser Verwertung von Texten

Printed in Germany

Vorwort

5

Vorwort

Das Automatisierungssystem SIMATIC vereinigt alle Teilsysteme einer Automati-sierungsloumlsung unter einer einheitlichen Systemarchitektur zu einem homogenenGesamtsystem von der Feldebene bis zur Leittechnik

Das Konzept Totally Integrated Automation (TIA) bedeutet mit einer einzigen Sys-tembasis und Werkzeugen mit einheitlichen Bedienoberflaumlchen alle Automatisie-rungskomponenten einheitlich zu behandeln Diesen Anforderungen wird dasAutomatisierungssystem SIMATIC gerecht mit Durchgaumlngigkeit bei ProjektierungProgrammierung Datenhaltung und Kommunikation

Das vorliegende Buch beschreibt die Hardware-Komponenten des Automatisie-rungssystems SIMATIC S7-400 mit Standard-Controllern und die Moumlglichkeitenzum Aufbau eines dezentralen Steuerungskonzepts mit PROFIBUS und PROFINETFuumlr die Kommunikation mit anderen Automatisierungssystemen bieten die Con-troller integrierte Busschnittstellen fuumlr Multipoint Interface (MPI) PROFIBUS undIndustrial Ethernet

Die Engineeringsoftware STEP 7 Professional erschlieszligt die gesamte Funktionalitaumltder S7-400-Controller STEP 7 Professional ist das gemeinsame Werkzeug fuumlr dieKonfiguration des Hardware-Aufbaus und die Programmierung des Anwenderpro-gramms genauso wie fuumlr den Programmtest und die Diagnose

Fuumlr die Gestaltung des Anwenderprogramms stellt STEP 7 Professional fuumlnf Pro-grammiersprachen zur Verfuumlgung Kontaktplan (KOP) mit einer Stromlaufplan-aumlhnlichen grafischen Darstellung Funktionsplan (FUP) mit einer an elektronischeSchaltkreissysteme angelehnten grafischen Darstellung Anweisungsliste (AWL)mit der Formulierung der Steuerungsaufgabe als Auflistung von maschinennahenBefehlen Structured Control Language (SCL) mit einer Pascal-aumlhnlichen Hochspra-che und schlieszliglich mit GRAPH eine Ablaufsteuerung mit sequenzieller Bearbei-tung des Anwenderprogramms

Das Testen des Anwenderprogramms erleichtert STEP 7 Professional mit Beobach-tungstabellen fuumlr das Beobachten Steuern und Forcen von Variablenwerten mitder Darstellung des Programms mit den aktuellen Variablenwerten im laufendenBetrieb und mit einer Offline-Simulation des Automatisierungsgeraumlts

Das vorliegende Buch beschreibt das Projektieren Programmieren und Testen desAutomatisierungssystems S7-400 mit der Engineeringsoftware STEP 7 Professionalin der Version 11 mit Servicepack 2

Nuumlrnberg im Oktober 2012 Hans Berger

Der Inhalt des Buchs auf einen Blick

6

Der Inhalt des Buchs auf einen Blick

Start

Das Automatisierungssystem SIMATIC S7-400 in der Uumlbersicht

Eine Einfuumlhrung in die Engineeringsoftware SIMATIC STEP 7 Professional V11

Die Grundlage der Automatisierungsloumlsung Ein Projekt erstellen und bearbeiten

Automatisierungssystem SIMATIC S7-400

Die Baugruppen von SIMATIC S7-400 in der Uumlbersicht Aufbau eines Automatisierungs-systems CPU-Baugruppen Signal- Funktions- und Kommunikationsbaugruppen

Geraumltekonfiguration

Eine Station konfigurieren Baugruppen parametrieren und Stationen vernetzen

Variablen Adressierung und Datentypen

Die Eigenschaften der Operandenbereiche Eingaumlnge Ausgaumlnge Peripherie Merker Daten und temporaumlre Lokaldaten und wie sie adressiert werden absolut symbolisch und indirekt

Die Beschreibung der elementaren und zusammengesetzten Datentypen Datentypen fuumlr Bausteinparameter Zeiger und Anwenderdatentypen

Programmbearbeitung

Wie sich die CPU-Baugruppe in den Betriebszustaumlnden ANLAUF RUN und STOP verhaumllt

Wie das Anwenderprogramm durch Bausteine strukturiert wird welche Eigenschaften die Bausteine haben und wie sie aufgerufen werden

Wie das Anwenderprogramm bearbeitet wird Anlaufverhalten Hauptprogramm Alarmbe-arbeitung Fehlerbehandlung und Diagnose

Der Programmeditor

Arbeiten mit der PLC-Variablentabelle Codebausteine und Datenbausteine erstellen und bearbeiten Bausteine uumlbersetzen und Programminformationen auswerten

Die Programmiersprache Kontaktplan KOP

Das Charakteristische der KOP-Programmierung Reihen- und Parallelschaltung von Kontak-ten der Einsatz von Spulen Standard-Boxen Q-Boxen und ENENO-Boxen

Die Programmiersprache Funktionsplan FUP

Das Charakteristische der FUP-Programmierung Boxen fuumlr binaumlre Verknuumlpfungen der Ein-satz von Standard-Boxen Q-Boxen und ENENO-Boxen

Die Programmiersprache Anweisungsliste AWL

Das Charakteristische der AWL-Programmierung Programmierung von binaumlren Verknuumlp-fungen Anwendung von Digitalfunktionen und Steuern der Programmbearbeitung

Der Inhalt des Buchs auf einen Blick

7

Die Programmiersprache Structured Control Language SCL

Das Charakteristische der SCL-Programmierung Operatoren und Ausdruumlcke Arbeiten mit Binaumlr- und Digitalfunktionen Programmbearbeitung steuern mit Kontrollanweisungen

Die Ablaufsteuerung S7-GRAPH

Was eine Ablaufsteuerung ist und was ihre Elemente sind Ablaufketten Schritte Transitio-nen und Verzweigungen Wie eine Ablaufsteuerung mit S7-GRAPH projektiert wird

Die Beschreibung der Steuerungsfunktionen

Basisfunktionen Funktionen fuumlr Binaumlrsignale binaumlre Verknuumlpfungen Speicherfunktio-nen Flankenauswertungen SIMATIC- und IEC-Zeit- und Zaumlhlfunktionen

Digitalfunktionen Funktionen fuumlr Digitalvariablen Uumlbertragungs- Vergleichs- Arithme-tik- Mathematik- Konvertierungs- Schiebe- und Logikfunktionen

Programmfluss-Steuerung Mit Statusbits arbeiten Sprungfunktionen programmieren Bausteine aufrufen und beenden das Master Control Relay verwenden

Online-Betrieb und Programmtest

Ein Programmiergeraumlt an die PLC-Station anschlieszligen den Online-Betrieb einschalten die Projektdaten uumlbertragen und das Anwenderprogramm schuumltzen

Die Anwenderbausteine laden aumlndern loumlschen und vergleichen

Mit der Hardware-Diagnose arbeiten und das Anwenderprogramm testen

Dezentrale Peripherie

In der Uumlbersicht das dezentrale Peripheriesystem ET 200

Wie ein PROFINET IO System projektiert wird und welche Eigenschaften es hat

Wie ein PROFIBUS DP Mastersystem projektiert wird und welche Eigenschaften es hat

Kommunikation

Welche Eigenschaften die S7-Basis-Kommunikation und die S7-Kommunikation haben und mit welchen Kommunikationsfunktionen sie programmiert werden

Mit welchen Kommunikationsfunktionen die Open User Communication realisiert wird

Wie die PtP-Kommunikation realisiert wird

Anhang

Wie externe Quelldateien fuumlr AWL- und SCL-Bausteine erstellt und importiert werden

Wie ein mit STEP 7 V5x erstelltes Projekt in das TIA Portal migriert wird

Wie mit der Simulationssoftware S7-PLCSIM ein Anwenderprogramm offline getestet wird

Wie der Webserver in der CPU projektiert wird und welche Moumlglichkeiten er bietet

Wie Bausteinparameter und Lokalvariablen im Speicher abgelegt werden

Inhaltsverzeichnis

8

Inhaltsverzeichnis

1 Einfuumlhrung 22

11 Uumlbersicht Automatisierungssystem S7-400 22111 Automatisierungsgeraumlt SIMATIC S7-400 23112 Uumlbersicht STEP 7 Professional V11 24113 Fuumlnf Programmiersprachen 26114 Bearbeitung des Anwenderprogramms 28115 Datenhaltung im SIMATIC-Automatisierungssystem 30

12 Einfuumlhrung in STEP 7 Professional V11 31121 STEP 7 installieren 31122 Automation License Manager 32123 STEP 7 Professional starten 32124 Portalansicht 32125 Hilfe-Informationssystem 34126 Die Fenster der Projektansicht 34127 Bedienoberflaumlche anpassen 37

13 Ein SIMATIC-Projekt bearbeiten 37131 Strukturierte Darstellung der Projektdaten 38132 Projektdaten und Editoren fuumlr eine PLC-Station 39133 Ein Projekt erstellen und bearbeiten 42134 Bibliotheken anlegen und bearbeiten 45

2 Automatisierungssystem SIMATIC S7-400 46

21 Komponenten einer S7-400-Station 46

22 CPU-Baugruppen S7-400 50221 CPU-Varianten 50222 Bedien- und Anzeigeelemente 51223 SIMATIC Memory Card 53224 Speicherbereiche in einer S7-400-Station 54225 Busschnittstellen 55226 Schnittstellenmodul IF 964-DP 57

23 Signalbaugruppen 57231 Digitaleingabebaugruppen 57232 Digitalausgabebaugruppen 58233 Analogeingabebaugruppen 59234 Analogausgabebaugruppe 60

24 Funktionsbaugruppen 60

25 Kommunikationsbaugruppen 61

Inhaltsverzeichnis

9

26 Sonstige Baugruppen 62261 Anschaltungsbaugruppen 62262 Stromversorgungsbaugruppen 63

27 SIPLUS S7-400 64

3 Geraumltekonfiguration 66

31 Einfuumlhrung 66

32 Eine Station konfigurieren 69321 Eine PLC-Station hinzufuumlgen 69322 Eine Baugruppe hinzufuumlgen 70323 Ein Erweiterungsgeraumlt hinzufuumlgen 71

33 Baugruppen parametrieren 71331 Die CPU-Eigenschaften parametrieren 72332 Baugruppen adressieren 75333 Signalbaugruppen parametrieren 77

34 Netz projektieren 78341 Einfuumlhrung Uumlbersicht 78342 Stationen vernetzen 79343 Teilnehmeradressen in einem Subnetz 81344 Verbindungen 82345 Ein MPI-Subnetz projektieren 85346 Ein PROFIBUS-Subnetz projektieren 86347 Ein PROFINET-Subnetz projektieren 87348 Ein PtP-Subnetz projektieren 91

4 Variablen Adressierung und Datentypen 94

41 Operanden und Variablen 94411 Einfuumlhrung Uumlbersicht 94412 Operandenbereiche Eingaumlnge und Ausgaumlnge 96413 Operandenbereich Merker 98414 Operandenbereich Daten 99415 Operandenbereich temporaumlre Lokaldaten 99

42 Adressierung von Operanden und Variablen 101421 Signalweg 101422 Absolute Adressierung von Variablen 102423 Symbolische Adressierung von Variablen 107424 Adressierung von Konstanten 108

43 Indirekte Adressierung 109431 Speicherindirekte Adressierung mit AWL 110432 Registerindirekte Adressierung mit AWL 113433 Arbeiten mit den Adressregistern bei AWL 114434 Direkter Zugriff auf komplexe Lokalvariablen mit AWL 122435 Indirekte Adressierung bei SCL 124

44 Elementare Datentypen 126441 Einfuumlhrung 126

Inhaltsverzeichnis

10

442 Bitfolge-Datentypen BOOL BYTE WORD und DWORD 128443 BCD-Zahlen BCD16 und BCD32 129444 Festpunkt-Datentypen mit Vorzeichen INT und DINT 131445 Gleitpunkt-Datentyp REAL 131446 Datentyp CHAR 132447 Datentypen fuumlr Zeitdauern und Zeitpunkte 133

45 Zusammengesetzte Datentypen 135451 Zeichenkette STRING 135452 Datentyp ARRAY 137453 Datentyp STRUCT 139

46 Parametertypen und Zeiger 141461 Parametertypen 141462 Zeiger 143463 bdquoVariablerldquo ANY-Zeiger bei AWL 146464 bdquoVariablerldquo ANY-Zeiger bei SCL 148

47 PLC-Datentypen 148

48 Startinformation 150

5 Programmbearbeitung 151

51 Betriebszustaumlnde der CPU-Baugruppe 151511 Betriebszustand STOP 152512 Betriebszustand ANLAUF 153513 Betriebszustand RUN 157514 Betriebszustand HALT 157515 CPU urloumlschen 158516 Auslieferungszustand wiederherstellen 158517 Remanenzverhalten von Operanden 159

52 Anwenderprogramm erstellen 159521 Programmentwurf 159522 Programmbearbeitung 163523 Bausteinarten 165524 Bausteineigenschaften bearbeiten 167525 Bausteinschnittstelle 171526 Beispiel zur Verwendung von Bausteinparametern 172

53 Bausteine aufrufen 174531 Allgemeines zu Aufrufen von Codebausteinen 174532 Aufruf von Funktionen (FC) 175533 Aufruf von Funktionsbausteinen (FB) 176534 bdquoWeiterreichenldquo von Bausteinparametern 180

54 Anlaufprogramm 181541 Anlauf-Organisationsbausteine OB 100 OB 101 und OB 102 181542 Baugruppenadresse ermitteln 181543 Baugruppen parametrieren 183

55 Hauptprogramm 187551 Organisationsbaustein OB 1 187

Inhaltsverzeichnis

11

552 Prozessabbild 187553 Zykluszeit und Reaktionszeit 193554 Mindestzykluszeit und Hintergrundbearbeitung 195555 Programm komprimieren anhalten stoppen und schuumltzen 197556 Uhrzeit 199557 Systemzeit und OB-Laufzeit ermitteln 202558 Betriebsstundenzaumlhler 207

56 Alarmbearbeitung 208561 Einfuumlhrung zur Alarmbearbeitung 208562 Prioritaumltsklassen 210563 Uhrzeitalarme Organisationsbausteine OB 10 bis OB 17 210564 Verzoumlgerungsalarme Organisationsbausteine OB 20 bis 23 215565 Weckalarme Organisationsbausteine OB 30 bis 38 218566 Prozessalarme Organisationsbausteine OB 40 bis OB 47 220567 DPV1-Alarme Organisationsbausteine OB 55 bis 57 221568 Taktsynchronalarme Organisationsbausteine OB 61 bis OB 64 223569 Alarmzusatzinformation lesen 225

57 Fehlerbehandlung 226571 Fehlerursachen und Fehlerreaktion 226572 Synchronfehler 227573 Synchronfehlerbearbeitung sperren und freigeben 229574 Ersatzwert eintragen 232575 Asynchronfehler 232576 Alarme und Asynchronfehler sperren verzoumlgern und freigeben 238

58 Diagnose 240581 Diagnosealarm Organisationsbaustein OB 82 240582 Systemzustandsliste lesen 241583 Startinformation lesen 242584 Verbindungszustand ermitteln 243585 Systemdiagnose mit Report System Errors 245

59 Meldungen projektieren 247591 Einfuumlhrung 247592 Meldungen nach dem Meldenummerverfahren projektieren 251593 Meldebausteine fuumlr PLC-Meldungen mit Instanzdaten 256594 Meldebausteine fuumlr PLC-Meldungen ohne Instanzdaten 259595 Bausteine fuumlr das Arbeiten mit Meldungen 260596 Anwender-Diagnosemeldung projektieren 263597 CPU-Meldungsanzeige 265

6 Programmeditor 267

61 Einfuumlhrung 267

62 PLC-Variablentabelle 268621 PLC-Variablentabellen bearbeiten 268622 PLC-Variablen definieren 268623 PLC-Variablentabelle exportieren und importieren 270624 Konstantentabellen 271

Inhaltsverzeichnis

12

63 Codebaustein programmieren 271631 Einen neuen Codebaustein anlegen 271632 Arbeitsbereich des Programmeditors fuumlr Codebausteine 273633 Bausteineigenschaften fuumlr Codebausteine festlegen 274634 Bausteinschnittstelle programmieren 275635 Steuerungsfunktion programmieren 276636 Variablen editieren 281637 Mit Programmkommentaren arbeiten 284

64 Datenbaustein programmieren 285641 Einen neuen Datenbaustein anlegen 285642 Arbeitsbereich des Programmeditors fuumlr Datenbausteine 286643 Bausteineigenschaften fuumlr Datenbausteine festlegen 287644 Datenvariablen deklarieren 287645 Datenvariablen in Globaldatenbausteinen eingeben 288

65 Bausteine uumlbersetzen 289651 Uumlbersetzung starten 289652 SCL-Bausteine uumlbersetzen 290653 Fehler nach der Uumlbersetzung beheben 291

66 Programminformationen 292661 Querverweisliste 292662 Belegungsplan 294663 Aufrufstruktur 296664 Abhaumlngigkeitsstruktur 297665 Konsistenzpruumlfung 297666 Speicherauslastung der CPU 298

7 Kontaktplan KOP 300

71 Einfuumlhrung 300711 Programmieren mit KOP allgemein 300712 Programmelemente des Kontaktplans 302

72 Binaumlre Verknuumlpfungen mit KOP programmieren 302721 Schlieszligerkontakt und Oumlffnerkontakt 302722 Reihen- und Parallelschaltung von Kontakten 304723 T-Abzweig offener Parallelzweig 305724 Verknuumlpfungsergebnis negieren 306725 Flankenauswertung einer Binaumlrvariablen 307726 Vergleich-Kontakte 307

73 Speicherfunktionen mit KOP programmieren 308731 Einfache Spule Zuweisung 308732 Setzen- und Ruumlcksetzen-Spule 310733 Speicherndes Verhalten durch Selbsthaltung 310734 Spulen mit Zeitverhalten 311735 Spulen mit Zaumlhlerverhalten 312

74 Q-Boxen mit KOP programmieren 313741 Speicher-Boxen 314742 Flankenauswertung des Stromflusses 314

Inhaltsverzeichnis

13

743 SIMATIC-Zeitfunktionen 315744 SIMATIC-Zaumlhlfunktionen 316745 IEC-Zeitfunktionen 316746 IEC-Zaumlhlfunktionen 318

75 ENENO-Boxen mit KOP programmieren 319751 Uumlbertragungsfunktion MOVE 320752 Arithmetische Funktionen 320753 Mathematische Funktionen 321754 Konvertierungsfunktionen 322755 Schiebefunktionen 323756 Wortverknuumlpfungen 324

76 Programmfluss bei KOP steuern 326761 Mit Statusbits im Kontaktplan arbeiten 326762 ENENO-Mechanismus bei KOP 328763 Sprungfunktionen 329764 Bausteinfunktionen 330765 Master Control Relay (MCR) 332

8 Funktionsplan FUP 334

81 Einfuumlhrung 334811 Programmieren mit FUP allgemein 334812 Programmelemente des Funktionsplans 336

82 Binaumlre Verknuumlpfungen mit FUP programmieren 337821 Abfrage auf Signalzustand bdquo1ldquo und auf Signalzustand bdquo0ldquo 337822 Eine binaumlre Verknuumlpfung im Funktionsplan programmieren 338823 UND-Funktion 339824 ODER-Funktion 339825 Exklusiv-ODER-Funktion 339826 Kombinierte binaumlre Verknuumlpfungen Verknuumlpfungsergebnis negieren 340827 T-Abzweig 341828 Flankenauswertung von Binaumlrvariablen 342829 Vergleichsfunktionen 342

83 Standard-Boxen mit FUP programmieren 343831 Zuweisung-Box 343832 Setzen- und Ruumlcksetzen-Box 344833 Standard-Boxen mit Zeitverhalten 346834 Standard-Boxen mit Zaumlhlerverhalten 346

84 Q-Boxen mit FUP programmieren 347841 Speicher-Boxen 348842 Flankenauswertung des Verknuumlpfungsergebnisses 349843 SIMATIC-Zeitfunktionen 349844 SIMATIC-Zaumlhlfunktionen 350845 IEC-Zeitfunktionen 351846 IEC-Zaumlhlfunktionen 352

85 ENENO-Boxen mit FUP programmieren 353851 Uumlbertragungsfunktion MOVE 354

Inhaltsverzeichnis

14

852 Arithmetische Funktionen 355853 Mathematische Funktionen 356854 Konvertierungsfunktionen 356855 Schiebefunktionen 358856 Wortverknuumlpfungen 359

86 Programmfluss bei FUP steuern 360861 Mit Statusbits im Funktionsplan arbeiten 360862 ENENO-Mechanismus bei FUP 362863 Sprungfunktionen 364864 Bausteinfunktionen 364865 Master Control Relay (MCR) 366

9 Anweisungsliste AWL 369

91 Einfuumlhrung 369911 Programmieren mit AWL allgemein 369912 Aufbau einer AWL-Anweisung 370

92 Binaumlre Verknuumlpfungen mit AWL programmieren 371921 Bearbeitung einer binaumlren Verknuumlpfung Verknuumlpfungsschritt 371922 Abfrage auf Signalzustand bdquo1ldquo und auf Signalzustand bdquo0ldquo 373923 Eine binaumlre Verknuumlpfung in Anweisungsliste programmieren 375924 UND-Funktion 375925 ODER-Funktion 376926 Exklusiv-ODER-Funktion 376927 Kombinierte binaumlre Verknuumlpfungen 376928 Verknuumlpfungsergebnis steuern 379

93 Speicherfunktionen mit AWL programmieren 380931 Zuweisung 380932 Setzen und Ruumlcksetzen 381933 Flankenauswertung 381

94 Zeit- und Zaumlhlfunktionen mit AWL programmieren 382941 SIMATIC-Zeitfunktionen 382942 SIMATIC-Zaumlhlfunktionen 384943 IEC-Zeitfunktionen 385944 IEC-Zaumlhlfunktionen 386

95 Digitalfunktionen mit AWL programmieren 387951 Uumlbertragungsfunktionen 387952 Vergleichsfunktionen 389953 Arithmetische Funktionen 392954 Mathematische Funktionen 395955 Konvertierungsfunktionen 396956 Schiebefunktionen 397957 Wortverknuumlpfungen 399

96 Programmfluss bei AWL steuern 401961 Mit Statusbits in der Anweisungsliste arbeiten 402962 ENENO-Mechanismus bei AWL 404963 Sprungfunktionen 406

Page 4: Automatisieren mit SIMATIC S7-400 im TIA Portal...Automatisieren mit SIMATIC S7-400 im TIA Portal Projektieren, Programmieren und Testen mit STEP 7 Professional von Hans Berger Publicis

Bibliografische Information der Deutschen Nationalbibliothek

Die Deutsche Nationalbibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie detaillierte bibliografische Daten sind im Internet uumlber httpdnbd-nbde abrufbar

Autor und Verlag haben alle Texte in diesem Buch mit groszliger Sorgfalt erarbeitet Dennoch koumlnnen Fehler nicht ausgeschlossen werden Eine Haftung des Verlags oder des Autors gleich aus welchem Rechtsgrund ist ausgeschlossen Die in diesem Buch wiedergegebenen Bezeichnungen koumlnnen Warenzeichen sein deren Benutzung durch Dritte fuumlr deren Zwecke die Rechte der Inhaber verletzen kann

wwwpublicis-booksde

ISBN 978-3-89578-372-2

Herausgeber Siemens Aktiengesellschaft Berlin und Muumlnchen Verlag Publicis Publishing Erlangen copy 2013 by Publicis Erlangen Zweigniederlassung der PWW GmbH

Das Werk einschlieszliglich aller seiner Teile ist urheberrechtlich geschuumltzt Jede Verwendung auszligerhalb der engen Grenzen des Urheberrechtsgesetzes ist ohne Zustimmung des Verlags unzulaumlssig und strafbar Das gilt insbesondere fuumlr Vervielfaumlltigungen Uumlbersetzungen Mikroverfilmungen Bearbeitungen sonstiger Art sowie fuumlr die Einspeicherung und Verarbeitung in elektronischen Systemen Dies gilt auch fuumlr die Entnahme von einzelnen Abbildungen und bei auszugsweiser Verwertung von Texten

Printed in Germany

Vorwort

5

Vorwort

Das Automatisierungssystem SIMATIC vereinigt alle Teilsysteme einer Automati-sierungsloumlsung unter einer einheitlichen Systemarchitektur zu einem homogenenGesamtsystem von der Feldebene bis zur Leittechnik

Das Konzept Totally Integrated Automation (TIA) bedeutet mit einer einzigen Sys-tembasis und Werkzeugen mit einheitlichen Bedienoberflaumlchen alle Automatisie-rungskomponenten einheitlich zu behandeln Diesen Anforderungen wird dasAutomatisierungssystem SIMATIC gerecht mit Durchgaumlngigkeit bei ProjektierungProgrammierung Datenhaltung und Kommunikation

Das vorliegende Buch beschreibt die Hardware-Komponenten des Automatisie-rungssystems SIMATIC S7-400 mit Standard-Controllern und die Moumlglichkeitenzum Aufbau eines dezentralen Steuerungskonzepts mit PROFIBUS und PROFINETFuumlr die Kommunikation mit anderen Automatisierungssystemen bieten die Con-troller integrierte Busschnittstellen fuumlr Multipoint Interface (MPI) PROFIBUS undIndustrial Ethernet

Die Engineeringsoftware STEP 7 Professional erschlieszligt die gesamte Funktionalitaumltder S7-400-Controller STEP 7 Professional ist das gemeinsame Werkzeug fuumlr dieKonfiguration des Hardware-Aufbaus und die Programmierung des Anwenderpro-gramms genauso wie fuumlr den Programmtest und die Diagnose

Fuumlr die Gestaltung des Anwenderprogramms stellt STEP 7 Professional fuumlnf Pro-grammiersprachen zur Verfuumlgung Kontaktplan (KOP) mit einer Stromlaufplan-aumlhnlichen grafischen Darstellung Funktionsplan (FUP) mit einer an elektronischeSchaltkreissysteme angelehnten grafischen Darstellung Anweisungsliste (AWL)mit der Formulierung der Steuerungsaufgabe als Auflistung von maschinennahenBefehlen Structured Control Language (SCL) mit einer Pascal-aumlhnlichen Hochspra-che und schlieszliglich mit GRAPH eine Ablaufsteuerung mit sequenzieller Bearbei-tung des Anwenderprogramms

Das Testen des Anwenderprogramms erleichtert STEP 7 Professional mit Beobach-tungstabellen fuumlr das Beobachten Steuern und Forcen von Variablenwerten mitder Darstellung des Programms mit den aktuellen Variablenwerten im laufendenBetrieb und mit einer Offline-Simulation des Automatisierungsgeraumlts

Das vorliegende Buch beschreibt das Projektieren Programmieren und Testen desAutomatisierungssystems S7-400 mit der Engineeringsoftware STEP 7 Professionalin der Version 11 mit Servicepack 2

Nuumlrnberg im Oktober 2012 Hans Berger

Der Inhalt des Buchs auf einen Blick

6

Der Inhalt des Buchs auf einen Blick

Start

Das Automatisierungssystem SIMATIC S7-400 in der Uumlbersicht

Eine Einfuumlhrung in die Engineeringsoftware SIMATIC STEP 7 Professional V11

Die Grundlage der Automatisierungsloumlsung Ein Projekt erstellen und bearbeiten

Automatisierungssystem SIMATIC S7-400

Die Baugruppen von SIMATIC S7-400 in der Uumlbersicht Aufbau eines Automatisierungs-systems CPU-Baugruppen Signal- Funktions- und Kommunikationsbaugruppen

Geraumltekonfiguration

Eine Station konfigurieren Baugruppen parametrieren und Stationen vernetzen

Variablen Adressierung und Datentypen

Die Eigenschaften der Operandenbereiche Eingaumlnge Ausgaumlnge Peripherie Merker Daten und temporaumlre Lokaldaten und wie sie adressiert werden absolut symbolisch und indirekt

Die Beschreibung der elementaren und zusammengesetzten Datentypen Datentypen fuumlr Bausteinparameter Zeiger und Anwenderdatentypen

Programmbearbeitung

Wie sich die CPU-Baugruppe in den Betriebszustaumlnden ANLAUF RUN und STOP verhaumllt

Wie das Anwenderprogramm durch Bausteine strukturiert wird welche Eigenschaften die Bausteine haben und wie sie aufgerufen werden

Wie das Anwenderprogramm bearbeitet wird Anlaufverhalten Hauptprogramm Alarmbe-arbeitung Fehlerbehandlung und Diagnose

Der Programmeditor

Arbeiten mit der PLC-Variablentabelle Codebausteine und Datenbausteine erstellen und bearbeiten Bausteine uumlbersetzen und Programminformationen auswerten

Die Programmiersprache Kontaktplan KOP

Das Charakteristische der KOP-Programmierung Reihen- und Parallelschaltung von Kontak-ten der Einsatz von Spulen Standard-Boxen Q-Boxen und ENENO-Boxen

Die Programmiersprache Funktionsplan FUP

Das Charakteristische der FUP-Programmierung Boxen fuumlr binaumlre Verknuumlpfungen der Ein-satz von Standard-Boxen Q-Boxen und ENENO-Boxen

Die Programmiersprache Anweisungsliste AWL

Das Charakteristische der AWL-Programmierung Programmierung von binaumlren Verknuumlp-fungen Anwendung von Digitalfunktionen und Steuern der Programmbearbeitung

Der Inhalt des Buchs auf einen Blick

7

Die Programmiersprache Structured Control Language SCL

Das Charakteristische der SCL-Programmierung Operatoren und Ausdruumlcke Arbeiten mit Binaumlr- und Digitalfunktionen Programmbearbeitung steuern mit Kontrollanweisungen

Die Ablaufsteuerung S7-GRAPH

Was eine Ablaufsteuerung ist und was ihre Elemente sind Ablaufketten Schritte Transitio-nen und Verzweigungen Wie eine Ablaufsteuerung mit S7-GRAPH projektiert wird

Die Beschreibung der Steuerungsfunktionen

Basisfunktionen Funktionen fuumlr Binaumlrsignale binaumlre Verknuumlpfungen Speicherfunktio-nen Flankenauswertungen SIMATIC- und IEC-Zeit- und Zaumlhlfunktionen

Digitalfunktionen Funktionen fuumlr Digitalvariablen Uumlbertragungs- Vergleichs- Arithme-tik- Mathematik- Konvertierungs- Schiebe- und Logikfunktionen

Programmfluss-Steuerung Mit Statusbits arbeiten Sprungfunktionen programmieren Bausteine aufrufen und beenden das Master Control Relay verwenden

Online-Betrieb und Programmtest

Ein Programmiergeraumlt an die PLC-Station anschlieszligen den Online-Betrieb einschalten die Projektdaten uumlbertragen und das Anwenderprogramm schuumltzen

Die Anwenderbausteine laden aumlndern loumlschen und vergleichen

Mit der Hardware-Diagnose arbeiten und das Anwenderprogramm testen

Dezentrale Peripherie

In der Uumlbersicht das dezentrale Peripheriesystem ET 200

Wie ein PROFINET IO System projektiert wird und welche Eigenschaften es hat

Wie ein PROFIBUS DP Mastersystem projektiert wird und welche Eigenschaften es hat

Kommunikation

Welche Eigenschaften die S7-Basis-Kommunikation und die S7-Kommunikation haben und mit welchen Kommunikationsfunktionen sie programmiert werden

Mit welchen Kommunikationsfunktionen die Open User Communication realisiert wird

Wie die PtP-Kommunikation realisiert wird

Anhang

Wie externe Quelldateien fuumlr AWL- und SCL-Bausteine erstellt und importiert werden

Wie ein mit STEP 7 V5x erstelltes Projekt in das TIA Portal migriert wird

Wie mit der Simulationssoftware S7-PLCSIM ein Anwenderprogramm offline getestet wird

Wie der Webserver in der CPU projektiert wird und welche Moumlglichkeiten er bietet

Wie Bausteinparameter und Lokalvariablen im Speicher abgelegt werden

Inhaltsverzeichnis

8

Inhaltsverzeichnis

1 Einfuumlhrung 22

11 Uumlbersicht Automatisierungssystem S7-400 22111 Automatisierungsgeraumlt SIMATIC S7-400 23112 Uumlbersicht STEP 7 Professional V11 24113 Fuumlnf Programmiersprachen 26114 Bearbeitung des Anwenderprogramms 28115 Datenhaltung im SIMATIC-Automatisierungssystem 30

12 Einfuumlhrung in STEP 7 Professional V11 31121 STEP 7 installieren 31122 Automation License Manager 32123 STEP 7 Professional starten 32124 Portalansicht 32125 Hilfe-Informationssystem 34126 Die Fenster der Projektansicht 34127 Bedienoberflaumlche anpassen 37

13 Ein SIMATIC-Projekt bearbeiten 37131 Strukturierte Darstellung der Projektdaten 38132 Projektdaten und Editoren fuumlr eine PLC-Station 39133 Ein Projekt erstellen und bearbeiten 42134 Bibliotheken anlegen und bearbeiten 45

2 Automatisierungssystem SIMATIC S7-400 46

21 Komponenten einer S7-400-Station 46

22 CPU-Baugruppen S7-400 50221 CPU-Varianten 50222 Bedien- und Anzeigeelemente 51223 SIMATIC Memory Card 53224 Speicherbereiche in einer S7-400-Station 54225 Busschnittstellen 55226 Schnittstellenmodul IF 964-DP 57

23 Signalbaugruppen 57231 Digitaleingabebaugruppen 57232 Digitalausgabebaugruppen 58233 Analogeingabebaugruppen 59234 Analogausgabebaugruppe 60

24 Funktionsbaugruppen 60

25 Kommunikationsbaugruppen 61

Inhaltsverzeichnis

9

26 Sonstige Baugruppen 62261 Anschaltungsbaugruppen 62262 Stromversorgungsbaugruppen 63

27 SIPLUS S7-400 64

3 Geraumltekonfiguration 66

31 Einfuumlhrung 66

32 Eine Station konfigurieren 69321 Eine PLC-Station hinzufuumlgen 69322 Eine Baugruppe hinzufuumlgen 70323 Ein Erweiterungsgeraumlt hinzufuumlgen 71

33 Baugruppen parametrieren 71331 Die CPU-Eigenschaften parametrieren 72332 Baugruppen adressieren 75333 Signalbaugruppen parametrieren 77

34 Netz projektieren 78341 Einfuumlhrung Uumlbersicht 78342 Stationen vernetzen 79343 Teilnehmeradressen in einem Subnetz 81344 Verbindungen 82345 Ein MPI-Subnetz projektieren 85346 Ein PROFIBUS-Subnetz projektieren 86347 Ein PROFINET-Subnetz projektieren 87348 Ein PtP-Subnetz projektieren 91

4 Variablen Adressierung und Datentypen 94

41 Operanden und Variablen 94411 Einfuumlhrung Uumlbersicht 94412 Operandenbereiche Eingaumlnge und Ausgaumlnge 96413 Operandenbereich Merker 98414 Operandenbereich Daten 99415 Operandenbereich temporaumlre Lokaldaten 99

42 Adressierung von Operanden und Variablen 101421 Signalweg 101422 Absolute Adressierung von Variablen 102423 Symbolische Adressierung von Variablen 107424 Adressierung von Konstanten 108

43 Indirekte Adressierung 109431 Speicherindirekte Adressierung mit AWL 110432 Registerindirekte Adressierung mit AWL 113433 Arbeiten mit den Adressregistern bei AWL 114434 Direkter Zugriff auf komplexe Lokalvariablen mit AWL 122435 Indirekte Adressierung bei SCL 124

44 Elementare Datentypen 126441 Einfuumlhrung 126

Inhaltsverzeichnis

10

442 Bitfolge-Datentypen BOOL BYTE WORD und DWORD 128443 BCD-Zahlen BCD16 und BCD32 129444 Festpunkt-Datentypen mit Vorzeichen INT und DINT 131445 Gleitpunkt-Datentyp REAL 131446 Datentyp CHAR 132447 Datentypen fuumlr Zeitdauern und Zeitpunkte 133

45 Zusammengesetzte Datentypen 135451 Zeichenkette STRING 135452 Datentyp ARRAY 137453 Datentyp STRUCT 139

46 Parametertypen und Zeiger 141461 Parametertypen 141462 Zeiger 143463 bdquoVariablerldquo ANY-Zeiger bei AWL 146464 bdquoVariablerldquo ANY-Zeiger bei SCL 148

47 PLC-Datentypen 148

48 Startinformation 150

5 Programmbearbeitung 151

51 Betriebszustaumlnde der CPU-Baugruppe 151511 Betriebszustand STOP 152512 Betriebszustand ANLAUF 153513 Betriebszustand RUN 157514 Betriebszustand HALT 157515 CPU urloumlschen 158516 Auslieferungszustand wiederherstellen 158517 Remanenzverhalten von Operanden 159

52 Anwenderprogramm erstellen 159521 Programmentwurf 159522 Programmbearbeitung 163523 Bausteinarten 165524 Bausteineigenschaften bearbeiten 167525 Bausteinschnittstelle 171526 Beispiel zur Verwendung von Bausteinparametern 172

53 Bausteine aufrufen 174531 Allgemeines zu Aufrufen von Codebausteinen 174532 Aufruf von Funktionen (FC) 175533 Aufruf von Funktionsbausteinen (FB) 176534 bdquoWeiterreichenldquo von Bausteinparametern 180

54 Anlaufprogramm 181541 Anlauf-Organisationsbausteine OB 100 OB 101 und OB 102 181542 Baugruppenadresse ermitteln 181543 Baugruppen parametrieren 183

55 Hauptprogramm 187551 Organisationsbaustein OB 1 187

Inhaltsverzeichnis

11

552 Prozessabbild 187553 Zykluszeit und Reaktionszeit 193554 Mindestzykluszeit und Hintergrundbearbeitung 195555 Programm komprimieren anhalten stoppen und schuumltzen 197556 Uhrzeit 199557 Systemzeit und OB-Laufzeit ermitteln 202558 Betriebsstundenzaumlhler 207

56 Alarmbearbeitung 208561 Einfuumlhrung zur Alarmbearbeitung 208562 Prioritaumltsklassen 210563 Uhrzeitalarme Organisationsbausteine OB 10 bis OB 17 210564 Verzoumlgerungsalarme Organisationsbausteine OB 20 bis 23 215565 Weckalarme Organisationsbausteine OB 30 bis 38 218566 Prozessalarme Organisationsbausteine OB 40 bis OB 47 220567 DPV1-Alarme Organisationsbausteine OB 55 bis 57 221568 Taktsynchronalarme Organisationsbausteine OB 61 bis OB 64 223569 Alarmzusatzinformation lesen 225

57 Fehlerbehandlung 226571 Fehlerursachen und Fehlerreaktion 226572 Synchronfehler 227573 Synchronfehlerbearbeitung sperren und freigeben 229574 Ersatzwert eintragen 232575 Asynchronfehler 232576 Alarme und Asynchronfehler sperren verzoumlgern und freigeben 238

58 Diagnose 240581 Diagnosealarm Organisationsbaustein OB 82 240582 Systemzustandsliste lesen 241583 Startinformation lesen 242584 Verbindungszustand ermitteln 243585 Systemdiagnose mit Report System Errors 245

59 Meldungen projektieren 247591 Einfuumlhrung 247592 Meldungen nach dem Meldenummerverfahren projektieren 251593 Meldebausteine fuumlr PLC-Meldungen mit Instanzdaten 256594 Meldebausteine fuumlr PLC-Meldungen ohne Instanzdaten 259595 Bausteine fuumlr das Arbeiten mit Meldungen 260596 Anwender-Diagnosemeldung projektieren 263597 CPU-Meldungsanzeige 265

6 Programmeditor 267

61 Einfuumlhrung 267

62 PLC-Variablentabelle 268621 PLC-Variablentabellen bearbeiten 268622 PLC-Variablen definieren 268623 PLC-Variablentabelle exportieren und importieren 270624 Konstantentabellen 271

Inhaltsverzeichnis

12

63 Codebaustein programmieren 271631 Einen neuen Codebaustein anlegen 271632 Arbeitsbereich des Programmeditors fuumlr Codebausteine 273633 Bausteineigenschaften fuumlr Codebausteine festlegen 274634 Bausteinschnittstelle programmieren 275635 Steuerungsfunktion programmieren 276636 Variablen editieren 281637 Mit Programmkommentaren arbeiten 284

64 Datenbaustein programmieren 285641 Einen neuen Datenbaustein anlegen 285642 Arbeitsbereich des Programmeditors fuumlr Datenbausteine 286643 Bausteineigenschaften fuumlr Datenbausteine festlegen 287644 Datenvariablen deklarieren 287645 Datenvariablen in Globaldatenbausteinen eingeben 288

65 Bausteine uumlbersetzen 289651 Uumlbersetzung starten 289652 SCL-Bausteine uumlbersetzen 290653 Fehler nach der Uumlbersetzung beheben 291

66 Programminformationen 292661 Querverweisliste 292662 Belegungsplan 294663 Aufrufstruktur 296664 Abhaumlngigkeitsstruktur 297665 Konsistenzpruumlfung 297666 Speicherauslastung der CPU 298

7 Kontaktplan KOP 300

71 Einfuumlhrung 300711 Programmieren mit KOP allgemein 300712 Programmelemente des Kontaktplans 302

72 Binaumlre Verknuumlpfungen mit KOP programmieren 302721 Schlieszligerkontakt und Oumlffnerkontakt 302722 Reihen- und Parallelschaltung von Kontakten 304723 T-Abzweig offener Parallelzweig 305724 Verknuumlpfungsergebnis negieren 306725 Flankenauswertung einer Binaumlrvariablen 307726 Vergleich-Kontakte 307

73 Speicherfunktionen mit KOP programmieren 308731 Einfache Spule Zuweisung 308732 Setzen- und Ruumlcksetzen-Spule 310733 Speicherndes Verhalten durch Selbsthaltung 310734 Spulen mit Zeitverhalten 311735 Spulen mit Zaumlhlerverhalten 312

74 Q-Boxen mit KOP programmieren 313741 Speicher-Boxen 314742 Flankenauswertung des Stromflusses 314

Inhaltsverzeichnis

13

743 SIMATIC-Zeitfunktionen 315744 SIMATIC-Zaumlhlfunktionen 316745 IEC-Zeitfunktionen 316746 IEC-Zaumlhlfunktionen 318

75 ENENO-Boxen mit KOP programmieren 319751 Uumlbertragungsfunktion MOVE 320752 Arithmetische Funktionen 320753 Mathematische Funktionen 321754 Konvertierungsfunktionen 322755 Schiebefunktionen 323756 Wortverknuumlpfungen 324

76 Programmfluss bei KOP steuern 326761 Mit Statusbits im Kontaktplan arbeiten 326762 ENENO-Mechanismus bei KOP 328763 Sprungfunktionen 329764 Bausteinfunktionen 330765 Master Control Relay (MCR) 332

8 Funktionsplan FUP 334

81 Einfuumlhrung 334811 Programmieren mit FUP allgemein 334812 Programmelemente des Funktionsplans 336

82 Binaumlre Verknuumlpfungen mit FUP programmieren 337821 Abfrage auf Signalzustand bdquo1ldquo und auf Signalzustand bdquo0ldquo 337822 Eine binaumlre Verknuumlpfung im Funktionsplan programmieren 338823 UND-Funktion 339824 ODER-Funktion 339825 Exklusiv-ODER-Funktion 339826 Kombinierte binaumlre Verknuumlpfungen Verknuumlpfungsergebnis negieren 340827 T-Abzweig 341828 Flankenauswertung von Binaumlrvariablen 342829 Vergleichsfunktionen 342

83 Standard-Boxen mit FUP programmieren 343831 Zuweisung-Box 343832 Setzen- und Ruumlcksetzen-Box 344833 Standard-Boxen mit Zeitverhalten 346834 Standard-Boxen mit Zaumlhlerverhalten 346

84 Q-Boxen mit FUP programmieren 347841 Speicher-Boxen 348842 Flankenauswertung des Verknuumlpfungsergebnisses 349843 SIMATIC-Zeitfunktionen 349844 SIMATIC-Zaumlhlfunktionen 350845 IEC-Zeitfunktionen 351846 IEC-Zaumlhlfunktionen 352

85 ENENO-Boxen mit FUP programmieren 353851 Uumlbertragungsfunktion MOVE 354

Inhaltsverzeichnis

14

852 Arithmetische Funktionen 355853 Mathematische Funktionen 356854 Konvertierungsfunktionen 356855 Schiebefunktionen 358856 Wortverknuumlpfungen 359

86 Programmfluss bei FUP steuern 360861 Mit Statusbits im Funktionsplan arbeiten 360862 ENENO-Mechanismus bei FUP 362863 Sprungfunktionen 364864 Bausteinfunktionen 364865 Master Control Relay (MCR) 366

9 Anweisungsliste AWL 369

91 Einfuumlhrung 369911 Programmieren mit AWL allgemein 369912 Aufbau einer AWL-Anweisung 370

92 Binaumlre Verknuumlpfungen mit AWL programmieren 371921 Bearbeitung einer binaumlren Verknuumlpfung Verknuumlpfungsschritt 371922 Abfrage auf Signalzustand bdquo1ldquo und auf Signalzustand bdquo0ldquo 373923 Eine binaumlre Verknuumlpfung in Anweisungsliste programmieren 375924 UND-Funktion 375925 ODER-Funktion 376926 Exklusiv-ODER-Funktion 376927 Kombinierte binaumlre Verknuumlpfungen 376928 Verknuumlpfungsergebnis steuern 379

93 Speicherfunktionen mit AWL programmieren 380931 Zuweisung 380932 Setzen und Ruumlcksetzen 381933 Flankenauswertung 381

94 Zeit- und Zaumlhlfunktionen mit AWL programmieren 382941 SIMATIC-Zeitfunktionen 382942 SIMATIC-Zaumlhlfunktionen 384943 IEC-Zeitfunktionen 385944 IEC-Zaumlhlfunktionen 386

95 Digitalfunktionen mit AWL programmieren 387951 Uumlbertragungsfunktionen 387952 Vergleichsfunktionen 389953 Arithmetische Funktionen 392954 Mathematische Funktionen 395955 Konvertierungsfunktionen 396956 Schiebefunktionen 397957 Wortverknuumlpfungen 399

96 Programmfluss bei AWL steuern 401961 Mit Statusbits in der Anweisungsliste arbeiten 402962 ENENO-Mechanismus bei AWL 404963 Sprungfunktionen 406

Page 5: Automatisieren mit SIMATIC S7-400 im TIA Portal...Automatisieren mit SIMATIC S7-400 im TIA Portal Projektieren, Programmieren und Testen mit STEP 7 Professional von Hans Berger Publicis

Vorwort

5

Vorwort

Das Automatisierungssystem SIMATIC vereinigt alle Teilsysteme einer Automati-sierungsloumlsung unter einer einheitlichen Systemarchitektur zu einem homogenenGesamtsystem von der Feldebene bis zur Leittechnik

Das Konzept Totally Integrated Automation (TIA) bedeutet mit einer einzigen Sys-tembasis und Werkzeugen mit einheitlichen Bedienoberflaumlchen alle Automatisie-rungskomponenten einheitlich zu behandeln Diesen Anforderungen wird dasAutomatisierungssystem SIMATIC gerecht mit Durchgaumlngigkeit bei ProjektierungProgrammierung Datenhaltung und Kommunikation

Das vorliegende Buch beschreibt die Hardware-Komponenten des Automatisie-rungssystems SIMATIC S7-400 mit Standard-Controllern und die Moumlglichkeitenzum Aufbau eines dezentralen Steuerungskonzepts mit PROFIBUS und PROFINETFuumlr die Kommunikation mit anderen Automatisierungssystemen bieten die Con-troller integrierte Busschnittstellen fuumlr Multipoint Interface (MPI) PROFIBUS undIndustrial Ethernet

Die Engineeringsoftware STEP 7 Professional erschlieszligt die gesamte Funktionalitaumltder S7-400-Controller STEP 7 Professional ist das gemeinsame Werkzeug fuumlr dieKonfiguration des Hardware-Aufbaus und die Programmierung des Anwenderpro-gramms genauso wie fuumlr den Programmtest und die Diagnose

Fuumlr die Gestaltung des Anwenderprogramms stellt STEP 7 Professional fuumlnf Pro-grammiersprachen zur Verfuumlgung Kontaktplan (KOP) mit einer Stromlaufplan-aumlhnlichen grafischen Darstellung Funktionsplan (FUP) mit einer an elektronischeSchaltkreissysteme angelehnten grafischen Darstellung Anweisungsliste (AWL)mit der Formulierung der Steuerungsaufgabe als Auflistung von maschinennahenBefehlen Structured Control Language (SCL) mit einer Pascal-aumlhnlichen Hochspra-che und schlieszliglich mit GRAPH eine Ablaufsteuerung mit sequenzieller Bearbei-tung des Anwenderprogramms

Das Testen des Anwenderprogramms erleichtert STEP 7 Professional mit Beobach-tungstabellen fuumlr das Beobachten Steuern und Forcen von Variablenwerten mitder Darstellung des Programms mit den aktuellen Variablenwerten im laufendenBetrieb und mit einer Offline-Simulation des Automatisierungsgeraumlts

Das vorliegende Buch beschreibt das Projektieren Programmieren und Testen desAutomatisierungssystems S7-400 mit der Engineeringsoftware STEP 7 Professionalin der Version 11 mit Servicepack 2

Nuumlrnberg im Oktober 2012 Hans Berger

Der Inhalt des Buchs auf einen Blick

6

Der Inhalt des Buchs auf einen Blick

Start

Das Automatisierungssystem SIMATIC S7-400 in der Uumlbersicht

Eine Einfuumlhrung in die Engineeringsoftware SIMATIC STEP 7 Professional V11

Die Grundlage der Automatisierungsloumlsung Ein Projekt erstellen und bearbeiten

Automatisierungssystem SIMATIC S7-400

Die Baugruppen von SIMATIC S7-400 in der Uumlbersicht Aufbau eines Automatisierungs-systems CPU-Baugruppen Signal- Funktions- und Kommunikationsbaugruppen

Geraumltekonfiguration

Eine Station konfigurieren Baugruppen parametrieren und Stationen vernetzen

Variablen Adressierung und Datentypen

Die Eigenschaften der Operandenbereiche Eingaumlnge Ausgaumlnge Peripherie Merker Daten und temporaumlre Lokaldaten und wie sie adressiert werden absolut symbolisch und indirekt

Die Beschreibung der elementaren und zusammengesetzten Datentypen Datentypen fuumlr Bausteinparameter Zeiger und Anwenderdatentypen

Programmbearbeitung

Wie sich die CPU-Baugruppe in den Betriebszustaumlnden ANLAUF RUN und STOP verhaumllt

Wie das Anwenderprogramm durch Bausteine strukturiert wird welche Eigenschaften die Bausteine haben und wie sie aufgerufen werden

Wie das Anwenderprogramm bearbeitet wird Anlaufverhalten Hauptprogramm Alarmbe-arbeitung Fehlerbehandlung und Diagnose

Der Programmeditor

Arbeiten mit der PLC-Variablentabelle Codebausteine und Datenbausteine erstellen und bearbeiten Bausteine uumlbersetzen und Programminformationen auswerten

Die Programmiersprache Kontaktplan KOP

Das Charakteristische der KOP-Programmierung Reihen- und Parallelschaltung von Kontak-ten der Einsatz von Spulen Standard-Boxen Q-Boxen und ENENO-Boxen

Die Programmiersprache Funktionsplan FUP

Das Charakteristische der FUP-Programmierung Boxen fuumlr binaumlre Verknuumlpfungen der Ein-satz von Standard-Boxen Q-Boxen und ENENO-Boxen

Die Programmiersprache Anweisungsliste AWL

Das Charakteristische der AWL-Programmierung Programmierung von binaumlren Verknuumlp-fungen Anwendung von Digitalfunktionen und Steuern der Programmbearbeitung

Der Inhalt des Buchs auf einen Blick

7

Die Programmiersprache Structured Control Language SCL

Das Charakteristische der SCL-Programmierung Operatoren und Ausdruumlcke Arbeiten mit Binaumlr- und Digitalfunktionen Programmbearbeitung steuern mit Kontrollanweisungen

Die Ablaufsteuerung S7-GRAPH

Was eine Ablaufsteuerung ist und was ihre Elemente sind Ablaufketten Schritte Transitio-nen und Verzweigungen Wie eine Ablaufsteuerung mit S7-GRAPH projektiert wird

Die Beschreibung der Steuerungsfunktionen

Basisfunktionen Funktionen fuumlr Binaumlrsignale binaumlre Verknuumlpfungen Speicherfunktio-nen Flankenauswertungen SIMATIC- und IEC-Zeit- und Zaumlhlfunktionen

Digitalfunktionen Funktionen fuumlr Digitalvariablen Uumlbertragungs- Vergleichs- Arithme-tik- Mathematik- Konvertierungs- Schiebe- und Logikfunktionen

Programmfluss-Steuerung Mit Statusbits arbeiten Sprungfunktionen programmieren Bausteine aufrufen und beenden das Master Control Relay verwenden

Online-Betrieb und Programmtest

Ein Programmiergeraumlt an die PLC-Station anschlieszligen den Online-Betrieb einschalten die Projektdaten uumlbertragen und das Anwenderprogramm schuumltzen

Die Anwenderbausteine laden aumlndern loumlschen und vergleichen

Mit der Hardware-Diagnose arbeiten und das Anwenderprogramm testen

Dezentrale Peripherie

In der Uumlbersicht das dezentrale Peripheriesystem ET 200

Wie ein PROFINET IO System projektiert wird und welche Eigenschaften es hat

Wie ein PROFIBUS DP Mastersystem projektiert wird und welche Eigenschaften es hat

Kommunikation

Welche Eigenschaften die S7-Basis-Kommunikation und die S7-Kommunikation haben und mit welchen Kommunikationsfunktionen sie programmiert werden

Mit welchen Kommunikationsfunktionen die Open User Communication realisiert wird

Wie die PtP-Kommunikation realisiert wird

Anhang

Wie externe Quelldateien fuumlr AWL- und SCL-Bausteine erstellt und importiert werden

Wie ein mit STEP 7 V5x erstelltes Projekt in das TIA Portal migriert wird

Wie mit der Simulationssoftware S7-PLCSIM ein Anwenderprogramm offline getestet wird

Wie der Webserver in der CPU projektiert wird und welche Moumlglichkeiten er bietet

Wie Bausteinparameter und Lokalvariablen im Speicher abgelegt werden

Inhaltsverzeichnis

8

Inhaltsverzeichnis

1 Einfuumlhrung 22

11 Uumlbersicht Automatisierungssystem S7-400 22111 Automatisierungsgeraumlt SIMATIC S7-400 23112 Uumlbersicht STEP 7 Professional V11 24113 Fuumlnf Programmiersprachen 26114 Bearbeitung des Anwenderprogramms 28115 Datenhaltung im SIMATIC-Automatisierungssystem 30

12 Einfuumlhrung in STEP 7 Professional V11 31121 STEP 7 installieren 31122 Automation License Manager 32123 STEP 7 Professional starten 32124 Portalansicht 32125 Hilfe-Informationssystem 34126 Die Fenster der Projektansicht 34127 Bedienoberflaumlche anpassen 37

13 Ein SIMATIC-Projekt bearbeiten 37131 Strukturierte Darstellung der Projektdaten 38132 Projektdaten und Editoren fuumlr eine PLC-Station 39133 Ein Projekt erstellen und bearbeiten 42134 Bibliotheken anlegen und bearbeiten 45

2 Automatisierungssystem SIMATIC S7-400 46

21 Komponenten einer S7-400-Station 46

22 CPU-Baugruppen S7-400 50221 CPU-Varianten 50222 Bedien- und Anzeigeelemente 51223 SIMATIC Memory Card 53224 Speicherbereiche in einer S7-400-Station 54225 Busschnittstellen 55226 Schnittstellenmodul IF 964-DP 57

23 Signalbaugruppen 57231 Digitaleingabebaugruppen 57232 Digitalausgabebaugruppen 58233 Analogeingabebaugruppen 59234 Analogausgabebaugruppe 60

24 Funktionsbaugruppen 60

25 Kommunikationsbaugruppen 61

Inhaltsverzeichnis

9

26 Sonstige Baugruppen 62261 Anschaltungsbaugruppen 62262 Stromversorgungsbaugruppen 63

27 SIPLUS S7-400 64

3 Geraumltekonfiguration 66

31 Einfuumlhrung 66

32 Eine Station konfigurieren 69321 Eine PLC-Station hinzufuumlgen 69322 Eine Baugruppe hinzufuumlgen 70323 Ein Erweiterungsgeraumlt hinzufuumlgen 71

33 Baugruppen parametrieren 71331 Die CPU-Eigenschaften parametrieren 72332 Baugruppen adressieren 75333 Signalbaugruppen parametrieren 77

34 Netz projektieren 78341 Einfuumlhrung Uumlbersicht 78342 Stationen vernetzen 79343 Teilnehmeradressen in einem Subnetz 81344 Verbindungen 82345 Ein MPI-Subnetz projektieren 85346 Ein PROFIBUS-Subnetz projektieren 86347 Ein PROFINET-Subnetz projektieren 87348 Ein PtP-Subnetz projektieren 91

4 Variablen Adressierung und Datentypen 94

41 Operanden und Variablen 94411 Einfuumlhrung Uumlbersicht 94412 Operandenbereiche Eingaumlnge und Ausgaumlnge 96413 Operandenbereich Merker 98414 Operandenbereich Daten 99415 Operandenbereich temporaumlre Lokaldaten 99

42 Adressierung von Operanden und Variablen 101421 Signalweg 101422 Absolute Adressierung von Variablen 102423 Symbolische Adressierung von Variablen 107424 Adressierung von Konstanten 108

43 Indirekte Adressierung 109431 Speicherindirekte Adressierung mit AWL 110432 Registerindirekte Adressierung mit AWL 113433 Arbeiten mit den Adressregistern bei AWL 114434 Direkter Zugriff auf komplexe Lokalvariablen mit AWL 122435 Indirekte Adressierung bei SCL 124

44 Elementare Datentypen 126441 Einfuumlhrung 126

Inhaltsverzeichnis

10

442 Bitfolge-Datentypen BOOL BYTE WORD und DWORD 128443 BCD-Zahlen BCD16 und BCD32 129444 Festpunkt-Datentypen mit Vorzeichen INT und DINT 131445 Gleitpunkt-Datentyp REAL 131446 Datentyp CHAR 132447 Datentypen fuumlr Zeitdauern und Zeitpunkte 133

45 Zusammengesetzte Datentypen 135451 Zeichenkette STRING 135452 Datentyp ARRAY 137453 Datentyp STRUCT 139

46 Parametertypen und Zeiger 141461 Parametertypen 141462 Zeiger 143463 bdquoVariablerldquo ANY-Zeiger bei AWL 146464 bdquoVariablerldquo ANY-Zeiger bei SCL 148

47 PLC-Datentypen 148

48 Startinformation 150

5 Programmbearbeitung 151

51 Betriebszustaumlnde der CPU-Baugruppe 151511 Betriebszustand STOP 152512 Betriebszustand ANLAUF 153513 Betriebszustand RUN 157514 Betriebszustand HALT 157515 CPU urloumlschen 158516 Auslieferungszustand wiederherstellen 158517 Remanenzverhalten von Operanden 159

52 Anwenderprogramm erstellen 159521 Programmentwurf 159522 Programmbearbeitung 163523 Bausteinarten 165524 Bausteineigenschaften bearbeiten 167525 Bausteinschnittstelle 171526 Beispiel zur Verwendung von Bausteinparametern 172

53 Bausteine aufrufen 174531 Allgemeines zu Aufrufen von Codebausteinen 174532 Aufruf von Funktionen (FC) 175533 Aufruf von Funktionsbausteinen (FB) 176534 bdquoWeiterreichenldquo von Bausteinparametern 180

54 Anlaufprogramm 181541 Anlauf-Organisationsbausteine OB 100 OB 101 und OB 102 181542 Baugruppenadresse ermitteln 181543 Baugruppen parametrieren 183

55 Hauptprogramm 187551 Organisationsbaustein OB 1 187

Inhaltsverzeichnis

11

552 Prozessabbild 187553 Zykluszeit und Reaktionszeit 193554 Mindestzykluszeit und Hintergrundbearbeitung 195555 Programm komprimieren anhalten stoppen und schuumltzen 197556 Uhrzeit 199557 Systemzeit und OB-Laufzeit ermitteln 202558 Betriebsstundenzaumlhler 207

56 Alarmbearbeitung 208561 Einfuumlhrung zur Alarmbearbeitung 208562 Prioritaumltsklassen 210563 Uhrzeitalarme Organisationsbausteine OB 10 bis OB 17 210564 Verzoumlgerungsalarme Organisationsbausteine OB 20 bis 23 215565 Weckalarme Organisationsbausteine OB 30 bis 38 218566 Prozessalarme Organisationsbausteine OB 40 bis OB 47 220567 DPV1-Alarme Organisationsbausteine OB 55 bis 57 221568 Taktsynchronalarme Organisationsbausteine OB 61 bis OB 64 223569 Alarmzusatzinformation lesen 225

57 Fehlerbehandlung 226571 Fehlerursachen und Fehlerreaktion 226572 Synchronfehler 227573 Synchronfehlerbearbeitung sperren und freigeben 229574 Ersatzwert eintragen 232575 Asynchronfehler 232576 Alarme und Asynchronfehler sperren verzoumlgern und freigeben 238

58 Diagnose 240581 Diagnosealarm Organisationsbaustein OB 82 240582 Systemzustandsliste lesen 241583 Startinformation lesen 242584 Verbindungszustand ermitteln 243585 Systemdiagnose mit Report System Errors 245

59 Meldungen projektieren 247591 Einfuumlhrung 247592 Meldungen nach dem Meldenummerverfahren projektieren 251593 Meldebausteine fuumlr PLC-Meldungen mit Instanzdaten 256594 Meldebausteine fuumlr PLC-Meldungen ohne Instanzdaten 259595 Bausteine fuumlr das Arbeiten mit Meldungen 260596 Anwender-Diagnosemeldung projektieren 263597 CPU-Meldungsanzeige 265

6 Programmeditor 267

61 Einfuumlhrung 267

62 PLC-Variablentabelle 268621 PLC-Variablentabellen bearbeiten 268622 PLC-Variablen definieren 268623 PLC-Variablentabelle exportieren und importieren 270624 Konstantentabellen 271

Inhaltsverzeichnis

12

63 Codebaustein programmieren 271631 Einen neuen Codebaustein anlegen 271632 Arbeitsbereich des Programmeditors fuumlr Codebausteine 273633 Bausteineigenschaften fuumlr Codebausteine festlegen 274634 Bausteinschnittstelle programmieren 275635 Steuerungsfunktion programmieren 276636 Variablen editieren 281637 Mit Programmkommentaren arbeiten 284

64 Datenbaustein programmieren 285641 Einen neuen Datenbaustein anlegen 285642 Arbeitsbereich des Programmeditors fuumlr Datenbausteine 286643 Bausteineigenschaften fuumlr Datenbausteine festlegen 287644 Datenvariablen deklarieren 287645 Datenvariablen in Globaldatenbausteinen eingeben 288

65 Bausteine uumlbersetzen 289651 Uumlbersetzung starten 289652 SCL-Bausteine uumlbersetzen 290653 Fehler nach der Uumlbersetzung beheben 291

66 Programminformationen 292661 Querverweisliste 292662 Belegungsplan 294663 Aufrufstruktur 296664 Abhaumlngigkeitsstruktur 297665 Konsistenzpruumlfung 297666 Speicherauslastung der CPU 298

7 Kontaktplan KOP 300

71 Einfuumlhrung 300711 Programmieren mit KOP allgemein 300712 Programmelemente des Kontaktplans 302

72 Binaumlre Verknuumlpfungen mit KOP programmieren 302721 Schlieszligerkontakt und Oumlffnerkontakt 302722 Reihen- und Parallelschaltung von Kontakten 304723 T-Abzweig offener Parallelzweig 305724 Verknuumlpfungsergebnis negieren 306725 Flankenauswertung einer Binaumlrvariablen 307726 Vergleich-Kontakte 307

73 Speicherfunktionen mit KOP programmieren 308731 Einfache Spule Zuweisung 308732 Setzen- und Ruumlcksetzen-Spule 310733 Speicherndes Verhalten durch Selbsthaltung 310734 Spulen mit Zeitverhalten 311735 Spulen mit Zaumlhlerverhalten 312

74 Q-Boxen mit KOP programmieren 313741 Speicher-Boxen 314742 Flankenauswertung des Stromflusses 314

Inhaltsverzeichnis

13

743 SIMATIC-Zeitfunktionen 315744 SIMATIC-Zaumlhlfunktionen 316745 IEC-Zeitfunktionen 316746 IEC-Zaumlhlfunktionen 318

75 ENENO-Boxen mit KOP programmieren 319751 Uumlbertragungsfunktion MOVE 320752 Arithmetische Funktionen 320753 Mathematische Funktionen 321754 Konvertierungsfunktionen 322755 Schiebefunktionen 323756 Wortverknuumlpfungen 324

76 Programmfluss bei KOP steuern 326761 Mit Statusbits im Kontaktplan arbeiten 326762 ENENO-Mechanismus bei KOP 328763 Sprungfunktionen 329764 Bausteinfunktionen 330765 Master Control Relay (MCR) 332

8 Funktionsplan FUP 334

81 Einfuumlhrung 334811 Programmieren mit FUP allgemein 334812 Programmelemente des Funktionsplans 336

82 Binaumlre Verknuumlpfungen mit FUP programmieren 337821 Abfrage auf Signalzustand bdquo1ldquo und auf Signalzustand bdquo0ldquo 337822 Eine binaumlre Verknuumlpfung im Funktionsplan programmieren 338823 UND-Funktion 339824 ODER-Funktion 339825 Exklusiv-ODER-Funktion 339826 Kombinierte binaumlre Verknuumlpfungen Verknuumlpfungsergebnis negieren 340827 T-Abzweig 341828 Flankenauswertung von Binaumlrvariablen 342829 Vergleichsfunktionen 342

83 Standard-Boxen mit FUP programmieren 343831 Zuweisung-Box 343832 Setzen- und Ruumlcksetzen-Box 344833 Standard-Boxen mit Zeitverhalten 346834 Standard-Boxen mit Zaumlhlerverhalten 346

84 Q-Boxen mit FUP programmieren 347841 Speicher-Boxen 348842 Flankenauswertung des Verknuumlpfungsergebnisses 349843 SIMATIC-Zeitfunktionen 349844 SIMATIC-Zaumlhlfunktionen 350845 IEC-Zeitfunktionen 351846 IEC-Zaumlhlfunktionen 352

85 ENENO-Boxen mit FUP programmieren 353851 Uumlbertragungsfunktion MOVE 354

Inhaltsverzeichnis

14

852 Arithmetische Funktionen 355853 Mathematische Funktionen 356854 Konvertierungsfunktionen 356855 Schiebefunktionen 358856 Wortverknuumlpfungen 359

86 Programmfluss bei FUP steuern 360861 Mit Statusbits im Funktionsplan arbeiten 360862 ENENO-Mechanismus bei FUP 362863 Sprungfunktionen 364864 Bausteinfunktionen 364865 Master Control Relay (MCR) 366

9 Anweisungsliste AWL 369

91 Einfuumlhrung 369911 Programmieren mit AWL allgemein 369912 Aufbau einer AWL-Anweisung 370

92 Binaumlre Verknuumlpfungen mit AWL programmieren 371921 Bearbeitung einer binaumlren Verknuumlpfung Verknuumlpfungsschritt 371922 Abfrage auf Signalzustand bdquo1ldquo und auf Signalzustand bdquo0ldquo 373923 Eine binaumlre Verknuumlpfung in Anweisungsliste programmieren 375924 UND-Funktion 375925 ODER-Funktion 376926 Exklusiv-ODER-Funktion 376927 Kombinierte binaumlre Verknuumlpfungen 376928 Verknuumlpfungsergebnis steuern 379

93 Speicherfunktionen mit AWL programmieren 380931 Zuweisung 380932 Setzen und Ruumlcksetzen 381933 Flankenauswertung 381

94 Zeit- und Zaumlhlfunktionen mit AWL programmieren 382941 SIMATIC-Zeitfunktionen 382942 SIMATIC-Zaumlhlfunktionen 384943 IEC-Zeitfunktionen 385944 IEC-Zaumlhlfunktionen 386

95 Digitalfunktionen mit AWL programmieren 387951 Uumlbertragungsfunktionen 387952 Vergleichsfunktionen 389953 Arithmetische Funktionen 392954 Mathematische Funktionen 395955 Konvertierungsfunktionen 396956 Schiebefunktionen 397957 Wortverknuumlpfungen 399

96 Programmfluss bei AWL steuern 401961 Mit Statusbits in der Anweisungsliste arbeiten 402962 ENENO-Mechanismus bei AWL 404963 Sprungfunktionen 406

Page 6: Automatisieren mit SIMATIC S7-400 im TIA Portal...Automatisieren mit SIMATIC S7-400 im TIA Portal Projektieren, Programmieren und Testen mit STEP 7 Professional von Hans Berger Publicis

Der Inhalt des Buchs auf einen Blick

6

Der Inhalt des Buchs auf einen Blick

Start

Das Automatisierungssystem SIMATIC S7-400 in der Uumlbersicht

Eine Einfuumlhrung in die Engineeringsoftware SIMATIC STEP 7 Professional V11

Die Grundlage der Automatisierungsloumlsung Ein Projekt erstellen und bearbeiten

Automatisierungssystem SIMATIC S7-400

Die Baugruppen von SIMATIC S7-400 in der Uumlbersicht Aufbau eines Automatisierungs-systems CPU-Baugruppen Signal- Funktions- und Kommunikationsbaugruppen

Geraumltekonfiguration

Eine Station konfigurieren Baugruppen parametrieren und Stationen vernetzen

Variablen Adressierung und Datentypen

Die Eigenschaften der Operandenbereiche Eingaumlnge Ausgaumlnge Peripherie Merker Daten und temporaumlre Lokaldaten und wie sie adressiert werden absolut symbolisch und indirekt

Die Beschreibung der elementaren und zusammengesetzten Datentypen Datentypen fuumlr Bausteinparameter Zeiger und Anwenderdatentypen

Programmbearbeitung

Wie sich die CPU-Baugruppe in den Betriebszustaumlnden ANLAUF RUN und STOP verhaumllt

Wie das Anwenderprogramm durch Bausteine strukturiert wird welche Eigenschaften die Bausteine haben und wie sie aufgerufen werden

Wie das Anwenderprogramm bearbeitet wird Anlaufverhalten Hauptprogramm Alarmbe-arbeitung Fehlerbehandlung und Diagnose

Der Programmeditor

Arbeiten mit der PLC-Variablentabelle Codebausteine und Datenbausteine erstellen und bearbeiten Bausteine uumlbersetzen und Programminformationen auswerten

Die Programmiersprache Kontaktplan KOP

Das Charakteristische der KOP-Programmierung Reihen- und Parallelschaltung von Kontak-ten der Einsatz von Spulen Standard-Boxen Q-Boxen und ENENO-Boxen

Die Programmiersprache Funktionsplan FUP

Das Charakteristische der FUP-Programmierung Boxen fuumlr binaumlre Verknuumlpfungen der Ein-satz von Standard-Boxen Q-Boxen und ENENO-Boxen

Die Programmiersprache Anweisungsliste AWL

Das Charakteristische der AWL-Programmierung Programmierung von binaumlren Verknuumlp-fungen Anwendung von Digitalfunktionen und Steuern der Programmbearbeitung

Der Inhalt des Buchs auf einen Blick

7

Die Programmiersprache Structured Control Language SCL

Das Charakteristische der SCL-Programmierung Operatoren und Ausdruumlcke Arbeiten mit Binaumlr- und Digitalfunktionen Programmbearbeitung steuern mit Kontrollanweisungen

Die Ablaufsteuerung S7-GRAPH

Was eine Ablaufsteuerung ist und was ihre Elemente sind Ablaufketten Schritte Transitio-nen und Verzweigungen Wie eine Ablaufsteuerung mit S7-GRAPH projektiert wird

Die Beschreibung der Steuerungsfunktionen

Basisfunktionen Funktionen fuumlr Binaumlrsignale binaumlre Verknuumlpfungen Speicherfunktio-nen Flankenauswertungen SIMATIC- und IEC-Zeit- und Zaumlhlfunktionen

Digitalfunktionen Funktionen fuumlr Digitalvariablen Uumlbertragungs- Vergleichs- Arithme-tik- Mathematik- Konvertierungs- Schiebe- und Logikfunktionen

Programmfluss-Steuerung Mit Statusbits arbeiten Sprungfunktionen programmieren Bausteine aufrufen und beenden das Master Control Relay verwenden

Online-Betrieb und Programmtest

Ein Programmiergeraumlt an die PLC-Station anschlieszligen den Online-Betrieb einschalten die Projektdaten uumlbertragen und das Anwenderprogramm schuumltzen

Die Anwenderbausteine laden aumlndern loumlschen und vergleichen

Mit der Hardware-Diagnose arbeiten und das Anwenderprogramm testen

Dezentrale Peripherie

In der Uumlbersicht das dezentrale Peripheriesystem ET 200

Wie ein PROFINET IO System projektiert wird und welche Eigenschaften es hat

Wie ein PROFIBUS DP Mastersystem projektiert wird und welche Eigenschaften es hat

Kommunikation

Welche Eigenschaften die S7-Basis-Kommunikation und die S7-Kommunikation haben und mit welchen Kommunikationsfunktionen sie programmiert werden

Mit welchen Kommunikationsfunktionen die Open User Communication realisiert wird

Wie die PtP-Kommunikation realisiert wird

Anhang

Wie externe Quelldateien fuumlr AWL- und SCL-Bausteine erstellt und importiert werden

Wie ein mit STEP 7 V5x erstelltes Projekt in das TIA Portal migriert wird

Wie mit der Simulationssoftware S7-PLCSIM ein Anwenderprogramm offline getestet wird

Wie der Webserver in der CPU projektiert wird und welche Moumlglichkeiten er bietet

Wie Bausteinparameter und Lokalvariablen im Speicher abgelegt werden

Inhaltsverzeichnis

8

Inhaltsverzeichnis

1 Einfuumlhrung 22

11 Uumlbersicht Automatisierungssystem S7-400 22111 Automatisierungsgeraumlt SIMATIC S7-400 23112 Uumlbersicht STEP 7 Professional V11 24113 Fuumlnf Programmiersprachen 26114 Bearbeitung des Anwenderprogramms 28115 Datenhaltung im SIMATIC-Automatisierungssystem 30

12 Einfuumlhrung in STEP 7 Professional V11 31121 STEP 7 installieren 31122 Automation License Manager 32123 STEP 7 Professional starten 32124 Portalansicht 32125 Hilfe-Informationssystem 34126 Die Fenster der Projektansicht 34127 Bedienoberflaumlche anpassen 37

13 Ein SIMATIC-Projekt bearbeiten 37131 Strukturierte Darstellung der Projektdaten 38132 Projektdaten und Editoren fuumlr eine PLC-Station 39133 Ein Projekt erstellen und bearbeiten 42134 Bibliotheken anlegen und bearbeiten 45

2 Automatisierungssystem SIMATIC S7-400 46

21 Komponenten einer S7-400-Station 46

22 CPU-Baugruppen S7-400 50221 CPU-Varianten 50222 Bedien- und Anzeigeelemente 51223 SIMATIC Memory Card 53224 Speicherbereiche in einer S7-400-Station 54225 Busschnittstellen 55226 Schnittstellenmodul IF 964-DP 57

23 Signalbaugruppen 57231 Digitaleingabebaugruppen 57232 Digitalausgabebaugruppen 58233 Analogeingabebaugruppen 59234 Analogausgabebaugruppe 60

24 Funktionsbaugruppen 60

25 Kommunikationsbaugruppen 61

Inhaltsverzeichnis

9

26 Sonstige Baugruppen 62261 Anschaltungsbaugruppen 62262 Stromversorgungsbaugruppen 63

27 SIPLUS S7-400 64

3 Geraumltekonfiguration 66

31 Einfuumlhrung 66

32 Eine Station konfigurieren 69321 Eine PLC-Station hinzufuumlgen 69322 Eine Baugruppe hinzufuumlgen 70323 Ein Erweiterungsgeraumlt hinzufuumlgen 71

33 Baugruppen parametrieren 71331 Die CPU-Eigenschaften parametrieren 72332 Baugruppen adressieren 75333 Signalbaugruppen parametrieren 77

34 Netz projektieren 78341 Einfuumlhrung Uumlbersicht 78342 Stationen vernetzen 79343 Teilnehmeradressen in einem Subnetz 81344 Verbindungen 82345 Ein MPI-Subnetz projektieren 85346 Ein PROFIBUS-Subnetz projektieren 86347 Ein PROFINET-Subnetz projektieren 87348 Ein PtP-Subnetz projektieren 91

4 Variablen Adressierung und Datentypen 94

41 Operanden und Variablen 94411 Einfuumlhrung Uumlbersicht 94412 Operandenbereiche Eingaumlnge und Ausgaumlnge 96413 Operandenbereich Merker 98414 Operandenbereich Daten 99415 Operandenbereich temporaumlre Lokaldaten 99

42 Adressierung von Operanden und Variablen 101421 Signalweg 101422 Absolute Adressierung von Variablen 102423 Symbolische Adressierung von Variablen 107424 Adressierung von Konstanten 108

43 Indirekte Adressierung 109431 Speicherindirekte Adressierung mit AWL 110432 Registerindirekte Adressierung mit AWL 113433 Arbeiten mit den Adressregistern bei AWL 114434 Direkter Zugriff auf komplexe Lokalvariablen mit AWL 122435 Indirekte Adressierung bei SCL 124

44 Elementare Datentypen 126441 Einfuumlhrung 126

Inhaltsverzeichnis

10

442 Bitfolge-Datentypen BOOL BYTE WORD und DWORD 128443 BCD-Zahlen BCD16 und BCD32 129444 Festpunkt-Datentypen mit Vorzeichen INT und DINT 131445 Gleitpunkt-Datentyp REAL 131446 Datentyp CHAR 132447 Datentypen fuumlr Zeitdauern und Zeitpunkte 133

45 Zusammengesetzte Datentypen 135451 Zeichenkette STRING 135452 Datentyp ARRAY 137453 Datentyp STRUCT 139

46 Parametertypen und Zeiger 141461 Parametertypen 141462 Zeiger 143463 bdquoVariablerldquo ANY-Zeiger bei AWL 146464 bdquoVariablerldquo ANY-Zeiger bei SCL 148

47 PLC-Datentypen 148

48 Startinformation 150

5 Programmbearbeitung 151

51 Betriebszustaumlnde der CPU-Baugruppe 151511 Betriebszustand STOP 152512 Betriebszustand ANLAUF 153513 Betriebszustand RUN 157514 Betriebszustand HALT 157515 CPU urloumlschen 158516 Auslieferungszustand wiederherstellen 158517 Remanenzverhalten von Operanden 159

52 Anwenderprogramm erstellen 159521 Programmentwurf 159522 Programmbearbeitung 163523 Bausteinarten 165524 Bausteineigenschaften bearbeiten 167525 Bausteinschnittstelle 171526 Beispiel zur Verwendung von Bausteinparametern 172

53 Bausteine aufrufen 174531 Allgemeines zu Aufrufen von Codebausteinen 174532 Aufruf von Funktionen (FC) 175533 Aufruf von Funktionsbausteinen (FB) 176534 bdquoWeiterreichenldquo von Bausteinparametern 180

54 Anlaufprogramm 181541 Anlauf-Organisationsbausteine OB 100 OB 101 und OB 102 181542 Baugruppenadresse ermitteln 181543 Baugruppen parametrieren 183

55 Hauptprogramm 187551 Organisationsbaustein OB 1 187

Inhaltsverzeichnis

11

552 Prozessabbild 187553 Zykluszeit und Reaktionszeit 193554 Mindestzykluszeit und Hintergrundbearbeitung 195555 Programm komprimieren anhalten stoppen und schuumltzen 197556 Uhrzeit 199557 Systemzeit und OB-Laufzeit ermitteln 202558 Betriebsstundenzaumlhler 207

56 Alarmbearbeitung 208561 Einfuumlhrung zur Alarmbearbeitung 208562 Prioritaumltsklassen 210563 Uhrzeitalarme Organisationsbausteine OB 10 bis OB 17 210564 Verzoumlgerungsalarme Organisationsbausteine OB 20 bis 23 215565 Weckalarme Organisationsbausteine OB 30 bis 38 218566 Prozessalarme Organisationsbausteine OB 40 bis OB 47 220567 DPV1-Alarme Organisationsbausteine OB 55 bis 57 221568 Taktsynchronalarme Organisationsbausteine OB 61 bis OB 64 223569 Alarmzusatzinformation lesen 225

57 Fehlerbehandlung 226571 Fehlerursachen und Fehlerreaktion 226572 Synchronfehler 227573 Synchronfehlerbearbeitung sperren und freigeben 229574 Ersatzwert eintragen 232575 Asynchronfehler 232576 Alarme und Asynchronfehler sperren verzoumlgern und freigeben 238

58 Diagnose 240581 Diagnosealarm Organisationsbaustein OB 82 240582 Systemzustandsliste lesen 241583 Startinformation lesen 242584 Verbindungszustand ermitteln 243585 Systemdiagnose mit Report System Errors 245

59 Meldungen projektieren 247591 Einfuumlhrung 247592 Meldungen nach dem Meldenummerverfahren projektieren 251593 Meldebausteine fuumlr PLC-Meldungen mit Instanzdaten 256594 Meldebausteine fuumlr PLC-Meldungen ohne Instanzdaten 259595 Bausteine fuumlr das Arbeiten mit Meldungen 260596 Anwender-Diagnosemeldung projektieren 263597 CPU-Meldungsanzeige 265

6 Programmeditor 267

61 Einfuumlhrung 267

62 PLC-Variablentabelle 268621 PLC-Variablentabellen bearbeiten 268622 PLC-Variablen definieren 268623 PLC-Variablentabelle exportieren und importieren 270624 Konstantentabellen 271

Inhaltsverzeichnis

12

63 Codebaustein programmieren 271631 Einen neuen Codebaustein anlegen 271632 Arbeitsbereich des Programmeditors fuumlr Codebausteine 273633 Bausteineigenschaften fuumlr Codebausteine festlegen 274634 Bausteinschnittstelle programmieren 275635 Steuerungsfunktion programmieren 276636 Variablen editieren 281637 Mit Programmkommentaren arbeiten 284

64 Datenbaustein programmieren 285641 Einen neuen Datenbaustein anlegen 285642 Arbeitsbereich des Programmeditors fuumlr Datenbausteine 286643 Bausteineigenschaften fuumlr Datenbausteine festlegen 287644 Datenvariablen deklarieren 287645 Datenvariablen in Globaldatenbausteinen eingeben 288

65 Bausteine uumlbersetzen 289651 Uumlbersetzung starten 289652 SCL-Bausteine uumlbersetzen 290653 Fehler nach der Uumlbersetzung beheben 291

66 Programminformationen 292661 Querverweisliste 292662 Belegungsplan 294663 Aufrufstruktur 296664 Abhaumlngigkeitsstruktur 297665 Konsistenzpruumlfung 297666 Speicherauslastung der CPU 298

7 Kontaktplan KOP 300

71 Einfuumlhrung 300711 Programmieren mit KOP allgemein 300712 Programmelemente des Kontaktplans 302

72 Binaumlre Verknuumlpfungen mit KOP programmieren 302721 Schlieszligerkontakt und Oumlffnerkontakt 302722 Reihen- und Parallelschaltung von Kontakten 304723 T-Abzweig offener Parallelzweig 305724 Verknuumlpfungsergebnis negieren 306725 Flankenauswertung einer Binaumlrvariablen 307726 Vergleich-Kontakte 307

73 Speicherfunktionen mit KOP programmieren 308731 Einfache Spule Zuweisung 308732 Setzen- und Ruumlcksetzen-Spule 310733 Speicherndes Verhalten durch Selbsthaltung 310734 Spulen mit Zeitverhalten 311735 Spulen mit Zaumlhlerverhalten 312

74 Q-Boxen mit KOP programmieren 313741 Speicher-Boxen 314742 Flankenauswertung des Stromflusses 314

Inhaltsverzeichnis

13

743 SIMATIC-Zeitfunktionen 315744 SIMATIC-Zaumlhlfunktionen 316745 IEC-Zeitfunktionen 316746 IEC-Zaumlhlfunktionen 318

75 ENENO-Boxen mit KOP programmieren 319751 Uumlbertragungsfunktion MOVE 320752 Arithmetische Funktionen 320753 Mathematische Funktionen 321754 Konvertierungsfunktionen 322755 Schiebefunktionen 323756 Wortverknuumlpfungen 324

76 Programmfluss bei KOP steuern 326761 Mit Statusbits im Kontaktplan arbeiten 326762 ENENO-Mechanismus bei KOP 328763 Sprungfunktionen 329764 Bausteinfunktionen 330765 Master Control Relay (MCR) 332

8 Funktionsplan FUP 334

81 Einfuumlhrung 334811 Programmieren mit FUP allgemein 334812 Programmelemente des Funktionsplans 336

82 Binaumlre Verknuumlpfungen mit FUP programmieren 337821 Abfrage auf Signalzustand bdquo1ldquo und auf Signalzustand bdquo0ldquo 337822 Eine binaumlre Verknuumlpfung im Funktionsplan programmieren 338823 UND-Funktion 339824 ODER-Funktion 339825 Exklusiv-ODER-Funktion 339826 Kombinierte binaumlre Verknuumlpfungen Verknuumlpfungsergebnis negieren 340827 T-Abzweig 341828 Flankenauswertung von Binaumlrvariablen 342829 Vergleichsfunktionen 342

83 Standard-Boxen mit FUP programmieren 343831 Zuweisung-Box 343832 Setzen- und Ruumlcksetzen-Box 344833 Standard-Boxen mit Zeitverhalten 346834 Standard-Boxen mit Zaumlhlerverhalten 346

84 Q-Boxen mit FUP programmieren 347841 Speicher-Boxen 348842 Flankenauswertung des Verknuumlpfungsergebnisses 349843 SIMATIC-Zeitfunktionen 349844 SIMATIC-Zaumlhlfunktionen 350845 IEC-Zeitfunktionen 351846 IEC-Zaumlhlfunktionen 352

85 ENENO-Boxen mit FUP programmieren 353851 Uumlbertragungsfunktion MOVE 354

Inhaltsverzeichnis

14

852 Arithmetische Funktionen 355853 Mathematische Funktionen 356854 Konvertierungsfunktionen 356855 Schiebefunktionen 358856 Wortverknuumlpfungen 359

86 Programmfluss bei FUP steuern 360861 Mit Statusbits im Funktionsplan arbeiten 360862 ENENO-Mechanismus bei FUP 362863 Sprungfunktionen 364864 Bausteinfunktionen 364865 Master Control Relay (MCR) 366

9 Anweisungsliste AWL 369

91 Einfuumlhrung 369911 Programmieren mit AWL allgemein 369912 Aufbau einer AWL-Anweisung 370

92 Binaumlre Verknuumlpfungen mit AWL programmieren 371921 Bearbeitung einer binaumlren Verknuumlpfung Verknuumlpfungsschritt 371922 Abfrage auf Signalzustand bdquo1ldquo und auf Signalzustand bdquo0ldquo 373923 Eine binaumlre Verknuumlpfung in Anweisungsliste programmieren 375924 UND-Funktion 375925 ODER-Funktion 376926 Exklusiv-ODER-Funktion 376927 Kombinierte binaumlre Verknuumlpfungen 376928 Verknuumlpfungsergebnis steuern 379

93 Speicherfunktionen mit AWL programmieren 380931 Zuweisung 380932 Setzen und Ruumlcksetzen 381933 Flankenauswertung 381

94 Zeit- und Zaumlhlfunktionen mit AWL programmieren 382941 SIMATIC-Zeitfunktionen 382942 SIMATIC-Zaumlhlfunktionen 384943 IEC-Zeitfunktionen 385944 IEC-Zaumlhlfunktionen 386

95 Digitalfunktionen mit AWL programmieren 387951 Uumlbertragungsfunktionen 387952 Vergleichsfunktionen 389953 Arithmetische Funktionen 392954 Mathematische Funktionen 395955 Konvertierungsfunktionen 396956 Schiebefunktionen 397957 Wortverknuumlpfungen 399

96 Programmfluss bei AWL steuern 401961 Mit Statusbits in der Anweisungsliste arbeiten 402962 ENENO-Mechanismus bei AWL 404963 Sprungfunktionen 406

Page 7: Automatisieren mit SIMATIC S7-400 im TIA Portal...Automatisieren mit SIMATIC S7-400 im TIA Portal Projektieren, Programmieren und Testen mit STEP 7 Professional von Hans Berger Publicis

Der Inhalt des Buchs auf einen Blick

7

Die Programmiersprache Structured Control Language SCL

Das Charakteristische der SCL-Programmierung Operatoren und Ausdruumlcke Arbeiten mit Binaumlr- und Digitalfunktionen Programmbearbeitung steuern mit Kontrollanweisungen

Die Ablaufsteuerung S7-GRAPH

Was eine Ablaufsteuerung ist und was ihre Elemente sind Ablaufketten Schritte Transitio-nen und Verzweigungen Wie eine Ablaufsteuerung mit S7-GRAPH projektiert wird

Die Beschreibung der Steuerungsfunktionen

Basisfunktionen Funktionen fuumlr Binaumlrsignale binaumlre Verknuumlpfungen Speicherfunktio-nen Flankenauswertungen SIMATIC- und IEC-Zeit- und Zaumlhlfunktionen

Digitalfunktionen Funktionen fuumlr Digitalvariablen Uumlbertragungs- Vergleichs- Arithme-tik- Mathematik- Konvertierungs- Schiebe- und Logikfunktionen

Programmfluss-Steuerung Mit Statusbits arbeiten Sprungfunktionen programmieren Bausteine aufrufen und beenden das Master Control Relay verwenden

Online-Betrieb und Programmtest

Ein Programmiergeraumlt an die PLC-Station anschlieszligen den Online-Betrieb einschalten die Projektdaten uumlbertragen und das Anwenderprogramm schuumltzen

Die Anwenderbausteine laden aumlndern loumlschen und vergleichen

Mit der Hardware-Diagnose arbeiten und das Anwenderprogramm testen

Dezentrale Peripherie

In der Uumlbersicht das dezentrale Peripheriesystem ET 200

Wie ein PROFINET IO System projektiert wird und welche Eigenschaften es hat

Wie ein PROFIBUS DP Mastersystem projektiert wird und welche Eigenschaften es hat

Kommunikation

Welche Eigenschaften die S7-Basis-Kommunikation und die S7-Kommunikation haben und mit welchen Kommunikationsfunktionen sie programmiert werden

Mit welchen Kommunikationsfunktionen die Open User Communication realisiert wird

Wie die PtP-Kommunikation realisiert wird

Anhang

Wie externe Quelldateien fuumlr AWL- und SCL-Bausteine erstellt und importiert werden

Wie ein mit STEP 7 V5x erstelltes Projekt in das TIA Portal migriert wird

Wie mit der Simulationssoftware S7-PLCSIM ein Anwenderprogramm offline getestet wird

Wie der Webserver in der CPU projektiert wird und welche Moumlglichkeiten er bietet

Wie Bausteinparameter und Lokalvariablen im Speicher abgelegt werden

Inhaltsverzeichnis

8

Inhaltsverzeichnis

1 Einfuumlhrung 22

11 Uumlbersicht Automatisierungssystem S7-400 22111 Automatisierungsgeraumlt SIMATIC S7-400 23112 Uumlbersicht STEP 7 Professional V11 24113 Fuumlnf Programmiersprachen 26114 Bearbeitung des Anwenderprogramms 28115 Datenhaltung im SIMATIC-Automatisierungssystem 30

12 Einfuumlhrung in STEP 7 Professional V11 31121 STEP 7 installieren 31122 Automation License Manager 32123 STEP 7 Professional starten 32124 Portalansicht 32125 Hilfe-Informationssystem 34126 Die Fenster der Projektansicht 34127 Bedienoberflaumlche anpassen 37

13 Ein SIMATIC-Projekt bearbeiten 37131 Strukturierte Darstellung der Projektdaten 38132 Projektdaten und Editoren fuumlr eine PLC-Station 39133 Ein Projekt erstellen und bearbeiten 42134 Bibliotheken anlegen und bearbeiten 45

2 Automatisierungssystem SIMATIC S7-400 46

21 Komponenten einer S7-400-Station 46

22 CPU-Baugruppen S7-400 50221 CPU-Varianten 50222 Bedien- und Anzeigeelemente 51223 SIMATIC Memory Card 53224 Speicherbereiche in einer S7-400-Station 54225 Busschnittstellen 55226 Schnittstellenmodul IF 964-DP 57

23 Signalbaugruppen 57231 Digitaleingabebaugruppen 57232 Digitalausgabebaugruppen 58233 Analogeingabebaugruppen 59234 Analogausgabebaugruppe 60

24 Funktionsbaugruppen 60

25 Kommunikationsbaugruppen 61

Inhaltsverzeichnis

9

26 Sonstige Baugruppen 62261 Anschaltungsbaugruppen 62262 Stromversorgungsbaugruppen 63

27 SIPLUS S7-400 64

3 Geraumltekonfiguration 66

31 Einfuumlhrung 66

32 Eine Station konfigurieren 69321 Eine PLC-Station hinzufuumlgen 69322 Eine Baugruppe hinzufuumlgen 70323 Ein Erweiterungsgeraumlt hinzufuumlgen 71

33 Baugruppen parametrieren 71331 Die CPU-Eigenschaften parametrieren 72332 Baugruppen adressieren 75333 Signalbaugruppen parametrieren 77

34 Netz projektieren 78341 Einfuumlhrung Uumlbersicht 78342 Stationen vernetzen 79343 Teilnehmeradressen in einem Subnetz 81344 Verbindungen 82345 Ein MPI-Subnetz projektieren 85346 Ein PROFIBUS-Subnetz projektieren 86347 Ein PROFINET-Subnetz projektieren 87348 Ein PtP-Subnetz projektieren 91

4 Variablen Adressierung und Datentypen 94

41 Operanden und Variablen 94411 Einfuumlhrung Uumlbersicht 94412 Operandenbereiche Eingaumlnge und Ausgaumlnge 96413 Operandenbereich Merker 98414 Operandenbereich Daten 99415 Operandenbereich temporaumlre Lokaldaten 99

42 Adressierung von Operanden und Variablen 101421 Signalweg 101422 Absolute Adressierung von Variablen 102423 Symbolische Adressierung von Variablen 107424 Adressierung von Konstanten 108

43 Indirekte Adressierung 109431 Speicherindirekte Adressierung mit AWL 110432 Registerindirekte Adressierung mit AWL 113433 Arbeiten mit den Adressregistern bei AWL 114434 Direkter Zugriff auf komplexe Lokalvariablen mit AWL 122435 Indirekte Adressierung bei SCL 124

44 Elementare Datentypen 126441 Einfuumlhrung 126

Inhaltsverzeichnis

10

442 Bitfolge-Datentypen BOOL BYTE WORD und DWORD 128443 BCD-Zahlen BCD16 und BCD32 129444 Festpunkt-Datentypen mit Vorzeichen INT und DINT 131445 Gleitpunkt-Datentyp REAL 131446 Datentyp CHAR 132447 Datentypen fuumlr Zeitdauern und Zeitpunkte 133

45 Zusammengesetzte Datentypen 135451 Zeichenkette STRING 135452 Datentyp ARRAY 137453 Datentyp STRUCT 139

46 Parametertypen und Zeiger 141461 Parametertypen 141462 Zeiger 143463 bdquoVariablerldquo ANY-Zeiger bei AWL 146464 bdquoVariablerldquo ANY-Zeiger bei SCL 148

47 PLC-Datentypen 148

48 Startinformation 150

5 Programmbearbeitung 151

51 Betriebszustaumlnde der CPU-Baugruppe 151511 Betriebszustand STOP 152512 Betriebszustand ANLAUF 153513 Betriebszustand RUN 157514 Betriebszustand HALT 157515 CPU urloumlschen 158516 Auslieferungszustand wiederherstellen 158517 Remanenzverhalten von Operanden 159

52 Anwenderprogramm erstellen 159521 Programmentwurf 159522 Programmbearbeitung 163523 Bausteinarten 165524 Bausteineigenschaften bearbeiten 167525 Bausteinschnittstelle 171526 Beispiel zur Verwendung von Bausteinparametern 172

53 Bausteine aufrufen 174531 Allgemeines zu Aufrufen von Codebausteinen 174532 Aufruf von Funktionen (FC) 175533 Aufruf von Funktionsbausteinen (FB) 176534 bdquoWeiterreichenldquo von Bausteinparametern 180

54 Anlaufprogramm 181541 Anlauf-Organisationsbausteine OB 100 OB 101 und OB 102 181542 Baugruppenadresse ermitteln 181543 Baugruppen parametrieren 183

55 Hauptprogramm 187551 Organisationsbaustein OB 1 187

Inhaltsverzeichnis

11

552 Prozessabbild 187553 Zykluszeit und Reaktionszeit 193554 Mindestzykluszeit und Hintergrundbearbeitung 195555 Programm komprimieren anhalten stoppen und schuumltzen 197556 Uhrzeit 199557 Systemzeit und OB-Laufzeit ermitteln 202558 Betriebsstundenzaumlhler 207

56 Alarmbearbeitung 208561 Einfuumlhrung zur Alarmbearbeitung 208562 Prioritaumltsklassen 210563 Uhrzeitalarme Organisationsbausteine OB 10 bis OB 17 210564 Verzoumlgerungsalarme Organisationsbausteine OB 20 bis 23 215565 Weckalarme Organisationsbausteine OB 30 bis 38 218566 Prozessalarme Organisationsbausteine OB 40 bis OB 47 220567 DPV1-Alarme Organisationsbausteine OB 55 bis 57 221568 Taktsynchronalarme Organisationsbausteine OB 61 bis OB 64 223569 Alarmzusatzinformation lesen 225

57 Fehlerbehandlung 226571 Fehlerursachen und Fehlerreaktion 226572 Synchronfehler 227573 Synchronfehlerbearbeitung sperren und freigeben 229574 Ersatzwert eintragen 232575 Asynchronfehler 232576 Alarme und Asynchronfehler sperren verzoumlgern und freigeben 238

58 Diagnose 240581 Diagnosealarm Organisationsbaustein OB 82 240582 Systemzustandsliste lesen 241583 Startinformation lesen 242584 Verbindungszustand ermitteln 243585 Systemdiagnose mit Report System Errors 245

59 Meldungen projektieren 247591 Einfuumlhrung 247592 Meldungen nach dem Meldenummerverfahren projektieren 251593 Meldebausteine fuumlr PLC-Meldungen mit Instanzdaten 256594 Meldebausteine fuumlr PLC-Meldungen ohne Instanzdaten 259595 Bausteine fuumlr das Arbeiten mit Meldungen 260596 Anwender-Diagnosemeldung projektieren 263597 CPU-Meldungsanzeige 265

6 Programmeditor 267

61 Einfuumlhrung 267

62 PLC-Variablentabelle 268621 PLC-Variablentabellen bearbeiten 268622 PLC-Variablen definieren 268623 PLC-Variablentabelle exportieren und importieren 270624 Konstantentabellen 271

Inhaltsverzeichnis

12

63 Codebaustein programmieren 271631 Einen neuen Codebaustein anlegen 271632 Arbeitsbereich des Programmeditors fuumlr Codebausteine 273633 Bausteineigenschaften fuumlr Codebausteine festlegen 274634 Bausteinschnittstelle programmieren 275635 Steuerungsfunktion programmieren 276636 Variablen editieren 281637 Mit Programmkommentaren arbeiten 284

64 Datenbaustein programmieren 285641 Einen neuen Datenbaustein anlegen 285642 Arbeitsbereich des Programmeditors fuumlr Datenbausteine 286643 Bausteineigenschaften fuumlr Datenbausteine festlegen 287644 Datenvariablen deklarieren 287645 Datenvariablen in Globaldatenbausteinen eingeben 288

65 Bausteine uumlbersetzen 289651 Uumlbersetzung starten 289652 SCL-Bausteine uumlbersetzen 290653 Fehler nach der Uumlbersetzung beheben 291

66 Programminformationen 292661 Querverweisliste 292662 Belegungsplan 294663 Aufrufstruktur 296664 Abhaumlngigkeitsstruktur 297665 Konsistenzpruumlfung 297666 Speicherauslastung der CPU 298

7 Kontaktplan KOP 300

71 Einfuumlhrung 300711 Programmieren mit KOP allgemein 300712 Programmelemente des Kontaktplans 302

72 Binaumlre Verknuumlpfungen mit KOP programmieren 302721 Schlieszligerkontakt und Oumlffnerkontakt 302722 Reihen- und Parallelschaltung von Kontakten 304723 T-Abzweig offener Parallelzweig 305724 Verknuumlpfungsergebnis negieren 306725 Flankenauswertung einer Binaumlrvariablen 307726 Vergleich-Kontakte 307

73 Speicherfunktionen mit KOP programmieren 308731 Einfache Spule Zuweisung 308732 Setzen- und Ruumlcksetzen-Spule 310733 Speicherndes Verhalten durch Selbsthaltung 310734 Spulen mit Zeitverhalten 311735 Spulen mit Zaumlhlerverhalten 312

74 Q-Boxen mit KOP programmieren 313741 Speicher-Boxen 314742 Flankenauswertung des Stromflusses 314

Inhaltsverzeichnis

13

743 SIMATIC-Zeitfunktionen 315744 SIMATIC-Zaumlhlfunktionen 316745 IEC-Zeitfunktionen 316746 IEC-Zaumlhlfunktionen 318

75 ENENO-Boxen mit KOP programmieren 319751 Uumlbertragungsfunktion MOVE 320752 Arithmetische Funktionen 320753 Mathematische Funktionen 321754 Konvertierungsfunktionen 322755 Schiebefunktionen 323756 Wortverknuumlpfungen 324

76 Programmfluss bei KOP steuern 326761 Mit Statusbits im Kontaktplan arbeiten 326762 ENENO-Mechanismus bei KOP 328763 Sprungfunktionen 329764 Bausteinfunktionen 330765 Master Control Relay (MCR) 332

8 Funktionsplan FUP 334

81 Einfuumlhrung 334811 Programmieren mit FUP allgemein 334812 Programmelemente des Funktionsplans 336

82 Binaumlre Verknuumlpfungen mit FUP programmieren 337821 Abfrage auf Signalzustand bdquo1ldquo und auf Signalzustand bdquo0ldquo 337822 Eine binaumlre Verknuumlpfung im Funktionsplan programmieren 338823 UND-Funktion 339824 ODER-Funktion 339825 Exklusiv-ODER-Funktion 339826 Kombinierte binaumlre Verknuumlpfungen Verknuumlpfungsergebnis negieren 340827 T-Abzweig 341828 Flankenauswertung von Binaumlrvariablen 342829 Vergleichsfunktionen 342

83 Standard-Boxen mit FUP programmieren 343831 Zuweisung-Box 343832 Setzen- und Ruumlcksetzen-Box 344833 Standard-Boxen mit Zeitverhalten 346834 Standard-Boxen mit Zaumlhlerverhalten 346

84 Q-Boxen mit FUP programmieren 347841 Speicher-Boxen 348842 Flankenauswertung des Verknuumlpfungsergebnisses 349843 SIMATIC-Zeitfunktionen 349844 SIMATIC-Zaumlhlfunktionen 350845 IEC-Zeitfunktionen 351846 IEC-Zaumlhlfunktionen 352

85 ENENO-Boxen mit FUP programmieren 353851 Uumlbertragungsfunktion MOVE 354

Inhaltsverzeichnis

14

852 Arithmetische Funktionen 355853 Mathematische Funktionen 356854 Konvertierungsfunktionen 356855 Schiebefunktionen 358856 Wortverknuumlpfungen 359

86 Programmfluss bei FUP steuern 360861 Mit Statusbits im Funktionsplan arbeiten 360862 ENENO-Mechanismus bei FUP 362863 Sprungfunktionen 364864 Bausteinfunktionen 364865 Master Control Relay (MCR) 366

9 Anweisungsliste AWL 369

91 Einfuumlhrung 369911 Programmieren mit AWL allgemein 369912 Aufbau einer AWL-Anweisung 370

92 Binaumlre Verknuumlpfungen mit AWL programmieren 371921 Bearbeitung einer binaumlren Verknuumlpfung Verknuumlpfungsschritt 371922 Abfrage auf Signalzustand bdquo1ldquo und auf Signalzustand bdquo0ldquo 373923 Eine binaumlre Verknuumlpfung in Anweisungsliste programmieren 375924 UND-Funktion 375925 ODER-Funktion 376926 Exklusiv-ODER-Funktion 376927 Kombinierte binaumlre Verknuumlpfungen 376928 Verknuumlpfungsergebnis steuern 379

93 Speicherfunktionen mit AWL programmieren 380931 Zuweisung 380932 Setzen und Ruumlcksetzen 381933 Flankenauswertung 381

94 Zeit- und Zaumlhlfunktionen mit AWL programmieren 382941 SIMATIC-Zeitfunktionen 382942 SIMATIC-Zaumlhlfunktionen 384943 IEC-Zeitfunktionen 385944 IEC-Zaumlhlfunktionen 386

95 Digitalfunktionen mit AWL programmieren 387951 Uumlbertragungsfunktionen 387952 Vergleichsfunktionen 389953 Arithmetische Funktionen 392954 Mathematische Funktionen 395955 Konvertierungsfunktionen 396956 Schiebefunktionen 397957 Wortverknuumlpfungen 399

96 Programmfluss bei AWL steuern 401961 Mit Statusbits in der Anweisungsliste arbeiten 402962 ENENO-Mechanismus bei AWL 404963 Sprungfunktionen 406

Page 8: Automatisieren mit SIMATIC S7-400 im TIA Portal...Automatisieren mit SIMATIC S7-400 im TIA Portal Projektieren, Programmieren und Testen mit STEP 7 Professional von Hans Berger Publicis

Inhaltsverzeichnis

8

Inhaltsverzeichnis

1 Einfuumlhrung 22

11 Uumlbersicht Automatisierungssystem S7-400 22111 Automatisierungsgeraumlt SIMATIC S7-400 23112 Uumlbersicht STEP 7 Professional V11 24113 Fuumlnf Programmiersprachen 26114 Bearbeitung des Anwenderprogramms 28115 Datenhaltung im SIMATIC-Automatisierungssystem 30

12 Einfuumlhrung in STEP 7 Professional V11 31121 STEP 7 installieren 31122 Automation License Manager 32123 STEP 7 Professional starten 32124 Portalansicht 32125 Hilfe-Informationssystem 34126 Die Fenster der Projektansicht 34127 Bedienoberflaumlche anpassen 37

13 Ein SIMATIC-Projekt bearbeiten 37131 Strukturierte Darstellung der Projektdaten 38132 Projektdaten und Editoren fuumlr eine PLC-Station 39133 Ein Projekt erstellen und bearbeiten 42134 Bibliotheken anlegen und bearbeiten 45

2 Automatisierungssystem SIMATIC S7-400 46

21 Komponenten einer S7-400-Station 46

22 CPU-Baugruppen S7-400 50221 CPU-Varianten 50222 Bedien- und Anzeigeelemente 51223 SIMATIC Memory Card 53224 Speicherbereiche in einer S7-400-Station 54225 Busschnittstellen 55226 Schnittstellenmodul IF 964-DP 57

23 Signalbaugruppen 57231 Digitaleingabebaugruppen 57232 Digitalausgabebaugruppen 58233 Analogeingabebaugruppen 59234 Analogausgabebaugruppe 60

24 Funktionsbaugruppen 60

25 Kommunikationsbaugruppen 61

Inhaltsverzeichnis

9

26 Sonstige Baugruppen 62261 Anschaltungsbaugruppen 62262 Stromversorgungsbaugruppen 63

27 SIPLUS S7-400 64

3 Geraumltekonfiguration 66

31 Einfuumlhrung 66

32 Eine Station konfigurieren 69321 Eine PLC-Station hinzufuumlgen 69322 Eine Baugruppe hinzufuumlgen 70323 Ein Erweiterungsgeraumlt hinzufuumlgen 71

33 Baugruppen parametrieren 71331 Die CPU-Eigenschaften parametrieren 72332 Baugruppen adressieren 75333 Signalbaugruppen parametrieren 77

34 Netz projektieren 78341 Einfuumlhrung Uumlbersicht 78342 Stationen vernetzen 79343 Teilnehmeradressen in einem Subnetz 81344 Verbindungen 82345 Ein MPI-Subnetz projektieren 85346 Ein PROFIBUS-Subnetz projektieren 86347 Ein PROFINET-Subnetz projektieren 87348 Ein PtP-Subnetz projektieren 91

4 Variablen Adressierung und Datentypen 94

41 Operanden und Variablen 94411 Einfuumlhrung Uumlbersicht 94412 Operandenbereiche Eingaumlnge und Ausgaumlnge 96413 Operandenbereich Merker 98414 Operandenbereich Daten 99415 Operandenbereich temporaumlre Lokaldaten 99

42 Adressierung von Operanden und Variablen 101421 Signalweg 101422 Absolute Adressierung von Variablen 102423 Symbolische Adressierung von Variablen 107424 Adressierung von Konstanten 108

43 Indirekte Adressierung 109431 Speicherindirekte Adressierung mit AWL 110432 Registerindirekte Adressierung mit AWL 113433 Arbeiten mit den Adressregistern bei AWL 114434 Direkter Zugriff auf komplexe Lokalvariablen mit AWL 122435 Indirekte Adressierung bei SCL 124

44 Elementare Datentypen 126441 Einfuumlhrung 126

Inhaltsverzeichnis

10

442 Bitfolge-Datentypen BOOL BYTE WORD und DWORD 128443 BCD-Zahlen BCD16 und BCD32 129444 Festpunkt-Datentypen mit Vorzeichen INT und DINT 131445 Gleitpunkt-Datentyp REAL 131446 Datentyp CHAR 132447 Datentypen fuumlr Zeitdauern und Zeitpunkte 133

45 Zusammengesetzte Datentypen 135451 Zeichenkette STRING 135452 Datentyp ARRAY 137453 Datentyp STRUCT 139

46 Parametertypen und Zeiger 141461 Parametertypen 141462 Zeiger 143463 bdquoVariablerldquo ANY-Zeiger bei AWL 146464 bdquoVariablerldquo ANY-Zeiger bei SCL 148

47 PLC-Datentypen 148

48 Startinformation 150

5 Programmbearbeitung 151

51 Betriebszustaumlnde der CPU-Baugruppe 151511 Betriebszustand STOP 152512 Betriebszustand ANLAUF 153513 Betriebszustand RUN 157514 Betriebszustand HALT 157515 CPU urloumlschen 158516 Auslieferungszustand wiederherstellen 158517 Remanenzverhalten von Operanden 159

52 Anwenderprogramm erstellen 159521 Programmentwurf 159522 Programmbearbeitung 163523 Bausteinarten 165524 Bausteineigenschaften bearbeiten 167525 Bausteinschnittstelle 171526 Beispiel zur Verwendung von Bausteinparametern 172

53 Bausteine aufrufen 174531 Allgemeines zu Aufrufen von Codebausteinen 174532 Aufruf von Funktionen (FC) 175533 Aufruf von Funktionsbausteinen (FB) 176534 bdquoWeiterreichenldquo von Bausteinparametern 180

54 Anlaufprogramm 181541 Anlauf-Organisationsbausteine OB 100 OB 101 und OB 102 181542 Baugruppenadresse ermitteln 181543 Baugruppen parametrieren 183

55 Hauptprogramm 187551 Organisationsbaustein OB 1 187

Inhaltsverzeichnis

11

552 Prozessabbild 187553 Zykluszeit und Reaktionszeit 193554 Mindestzykluszeit und Hintergrundbearbeitung 195555 Programm komprimieren anhalten stoppen und schuumltzen 197556 Uhrzeit 199557 Systemzeit und OB-Laufzeit ermitteln 202558 Betriebsstundenzaumlhler 207

56 Alarmbearbeitung 208561 Einfuumlhrung zur Alarmbearbeitung 208562 Prioritaumltsklassen 210563 Uhrzeitalarme Organisationsbausteine OB 10 bis OB 17 210564 Verzoumlgerungsalarme Organisationsbausteine OB 20 bis 23 215565 Weckalarme Organisationsbausteine OB 30 bis 38 218566 Prozessalarme Organisationsbausteine OB 40 bis OB 47 220567 DPV1-Alarme Organisationsbausteine OB 55 bis 57 221568 Taktsynchronalarme Organisationsbausteine OB 61 bis OB 64 223569 Alarmzusatzinformation lesen 225

57 Fehlerbehandlung 226571 Fehlerursachen und Fehlerreaktion 226572 Synchronfehler 227573 Synchronfehlerbearbeitung sperren und freigeben 229574 Ersatzwert eintragen 232575 Asynchronfehler 232576 Alarme und Asynchronfehler sperren verzoumlgern und freigeben 238

58 Diagnose 240581 Diagnosealarm Organisationsbaustein OB 82 240582 Systemzustandsliste lesen 241583 Startinformation lesen 242584 Verbindungszustand ermitteln 243585 Systemdiagnose mit Report System Errors 245

59 Meldungen projektieren 247591 Einfuumlhrung 247592 Meldungen nach dem Meldenummerverfahren projektieren 251593 Meldebausteine fuumlr PLC-Meldungen mit Instanzdaten 256594 Meldebausteine fuumlr PLC-Meldungen ohne Instanzdaten 259595 Bausteine fuumlr das Arbeiten mit Meldungen 260596 Anwender-Diagnosemeldung projektieren 263597 CPU-Meldungsanzeige 265

6 Programmeditor 267

61 Einfuumlhrung 267

62 PLC-Variablentabelle 268621 PLC-Variablentabellen bearbeiten 268622 PLC-Variablen definieren 268623 PLC-Variablentabelle exportieren und importieren 270624 Konstantentabellen 271

Inhaltsverzeichnis

12

63 Codebaustein programmieren 271631 Einen neuen Codebaustein anlegen 271632 Arbeitsbereich des Programmeditors fuumlr Codebausteine 273633 Bausteineigenschaften fuumlr Codebausteine festlegen 274634 Bausteinschnittstelle programmieren 275635 Steuerungsfunktion programmieren 276636 Variablen editieren 281637 Mit Programmkommentaren arbeiten 284

64 Datenbaustein programmieren 285641 Einen neuen Datenbaustein anlegen 285642 Arbeitsbereich des Programmeditors fuumlr Datenbausteine 286643 Bausteineigenschaften fuumlr Datenbausteine festlegen 287644 Datenvariablen deklarieren 287645 Datenvariablen in Globaldatenbausteinen eingeben 288

65 Bausteine uumlbersetzen 289651 Uumlbersetzung starten 289652 SCL-Bausteine uumlbersetzen 290653 Fehler nach der Uumlbersetzung beheben 291

66 Programminformationen 292661 Querverweisliste 292662 Belegungsplan 294663 Aufrufstruktur 296664 Abhaumlngigkeitsstruktur 297665 Konsistenzpruumlfung 297666 Speicherauslastung der CPU 298

7 Kontaktplan KOP 300

71 Einfuumlhrung 300711 Programmieren mit KOP allgemein 300712 Programmelemente des Kontaktplans 302

72 Binaumlre Verknuumlpfungen mit KOP programmieren 302721 Schlieszligerkontakt und Oumlffnerkontakt 302722 Reihen- und Parallelschaltung von Kontakten 304723 T-Abzweig offener Parallelzweig 305724 Verknuumlpfungsergebnis negieren 306725 Flankenauswertung einer Binaumlrvariablen 307726 Vergleich-Kontakte 307

73 Speicherfunktionen mit KOP programmieren 308731 Einfache Spule Zuweisung 308732 Setzen- und Ruumlcksetzen-Spule 310733 Speicherndes Verhalten durch Selbsthaltung 310734 Spulen mit Zeitverhalten 311735 Spulen mit Zaumlhlerverhalten 312

74 Q-Boxen mit KOP programmieren 313741 Speicher-Boxen 314742 Flankenauswertung des Stromflusses 314

Inhaltsverzeichnis

13

743 SIMATIC-Zeitfunktionen 315744 SIMATIC-Zaumlhlfunktionen 316745 IEC-Zeitfunktionen 316746 IEC-Zaumlhlfunktionen 318

75 ENENO-Boxen mit KOP programmieren 319751 Uumlbertragungsfunktion MOVE 320752 Arithmetische Funktionen 320753 Mathematische Funktionen 321754 Konvertierungsfunktionen 322755 Schiebefunktionen 323756 Wortverknuumlpfungen 324

76 Programmfluss bei KOP steuern 326761 Mit Statusbits im Kontaktplan arbeiten 326762 ENENO-Mechanismus bei KOP 328763 Sprungfunktionen 329764 Bausteinfunktionen 330765 Master Control Relay (MCR) 332

8 Funktionsplan FUP 334

81 Einfuumlhrung 334811 Programmieren mit FUP allgemein 334812 Programmelemente des Funktionsplans 336

82 Binaumlre Verknuumlpfungen mit FUP programmieren 337821 Abfrage auf Signalzustand bdquo1ldquo und auf Signalzustand bdquo0ldquo 337822 Eine binaumlre Verknuumlpfung im Funktionsplan programmieren 338823 UND-Funktion 339824 ODER-Funktion 339825 Exklusiv-ODER-Funktion 339826 Kombinierte binaumlre Verknuumlpfungen Verknuumlpfungsergebnis negieren 340827 T-Abzweig 341828 Flankenauswertung von Binaumlrvariablen 342829 Vergleichsfunktionen 342

83 Standard-Boxen mit FUP programmieren 343831 Zuweisung-Box 343832 Setzen- und Ruumlcksetzen-Box 344833 Standard-Boxen mit Zeitverhalten 346834 Standard-Boxen mit Zaumlhlerverhalten 346

84 Q-Boxen mit FUP programmieren 347841 Speicher-Boxen 348842 Flankenauswertung des Verknuumlpfungsergebnisses 349843 SIMATIC-Zeitfunktionen 349844 SIMATIC-Zaumlhlfunktionen 350845 IEC-Zeitfunktionen 351846 IEC-Zaumlhlfunktionen 352

85 ENENO-Boxen mit FUP programmieren 353851 Uumlbertragungsfunktion MOVE 354

Inhaltsverzeichnis

14

852 Arithmetische Funktionen 355853 Mathematische Funktionen 356854 Konvertierungsfunktionen 356855 Schiebefunktionen 358856 Wortverknuumlpfungen 359

86 Programmfluss bei FUP steuern 360861 Mit Statusbits im Funktionsplan arbeiten 360862 ENENO-Mechanismus bei FUP 362863 Sprungfunktionen 364864 Bausteinfunktionen 364865 Master Control Relay (MCR) 366

9 Anweisungsliste AWL 369

91 Einfuumlhrung 369911 Programmieren mit AWL allgemein 369912 Aufbau einer AWL-Anweisung 370

92 Binaumlre Verknuumlpfungen mit AWL programmieren 371921 Bearbeitung einer binaumlren Verknuumlpfung Verknuumlpfungsschritt 371922 Abfrage auf Signalzustand bdquo1ldquo und auf Signalzustand bdquo0ldquo 373923 Eine binaumlre Verknuumlpfung in Anweisungsliste programmieren 375924 UND-Funktion 375925 ODER-Funktion 376926 Exklusiv-ODER-Funktion 376927 Kombinierte binaumlre Verknuumlpfungen 376928 Verknuumlpfungsergebnis steuern 379

93 Speicherfunktionen mit AWL programmieren 380931 Zuweisung 380932 Setzen und Ruumlcksetzen 381933 Flankenauswertung 381

94 Zeit- und Zaumlhlfunktionen mit AWL programmieren 382941 SIMATIC-Zeitfunktionen 382942 SIMATIC-Zaumlhlfunktionen 384943 IEC-Zeitfunktionen 385944 IEC-Zaumlhlfunktionen 386

95 Digitalfunktionen mit AWL programmieren 387951 Uumlbertragungsfunktionen 387952 Vergleichsfunktionen 389953 Arithmetische Funktionen 392954 Mathematische Funktionen 395955 Konvertierungsfunktionen 396956 Schiebefunktionen 397957 Wortverknuumlpfungen 399

96 Programmfluss bei AWL steuern 401961 Mit Statusbits in der Anweisungsliste arbeiten 402962 ENENO-Mechanismus bei AWL 404963 Sprungfunktionen 406

Page 9: Automatisieren mit SIMATIC S7-400 im TIA Portal...Automatisieren mit SIMATIC S7-400 im TIA Portal Projektieren, Programmieren und Testen mit STEP 7 Professional von Hans Berger Publicis

Inhaltsverzeichnis

9

26 Sonstige Baugruppen 62261 Anschaltungsbaugruppen 62262 Stromversorgungsbaugruppen 63

27 SIPLUS S7-400 64

3 Geraumltekonfiguration 66

31 Einfuumlhrung 66

32 Eine Station konfigurieren 69321 Eine PLC-Station hinzufuumlgen 69322 Eine Baugruppe hinzufuumlgen 70323 Ein Erweiterungsgeraumlt hinzufuumlgen 71

33 Baugruppen parametrieren 71331 Die CPU-Eigenschaften parametrieren 72332 Baugruppen adressieren 75333 Signalbaugruppen parametrieren 77

34 Netz projektieren 78341 Einfuumlhrung Uumlbersicht 78342 Stationen vernetzen 79343 Teilnehmeradressen in einem Subnetz 81344 Verbindungen 82345 Ein MPI-Subnetz projektieren 85346 Ein PROFIBUS-Subnetz projektieren 86347 Ein PROFINET-Subnetz projektieren 87348 Ein PtP-Subnetz projektieren 91

4 Variablen Adressierung und Datentypen 94

41 Operanden und Variablen 94411 Einfuumlhrung Uumlbersicht 94412 Operandenbereiche Eingaumlnge und Ausgaumlnge 96413 Operandenbereich Merker 98414 Operandenbereich Daten 99415 Operandenbereich temporaumlre Lokaldaten 99

42 Adressierung von Operanden und Variablen 101421 Signalweg 101422 Absolute Adressierung von Variablen 102423 Symbolische Adressierung von Variablen 107424 Adressierung von Konstanten 108

43 Indirekte Adressierung 109431 Speicherindirekte Adressierung mit AWL 110432 Registerindirekte Adressierung mit AWL 113433 Arbeiten mit den Adressregistern bei AWL 114434 Direkter Zugriff auf komplexe Lokalvariablen mit AWL 122435 Indirekte Adressierung bei SCL 124

44 Elementare Datentypen 126441 Einfuumlhrung 126

Inhaltsverzeichnis

10

442 Bitfolge-Datentypen BOOL BYTE WORD und DWORD 128443 BCD-Zahlen BCD16 und BCD32 129444 Festpunkt-Datentypen mit Vorzeichen INT und DINT 131445 Gleitpunkt-Datentyp REAL 131446 Datentyp CHAR 132447 Datentypen fuumlr Zeitdauern und Zeitpunkte 133

45 Zusammengesetzte Datentypen 135451 Zeichenkette STRING 135452 Datentyp ARRAY 137453 Datentyp STRUCT 139

46 Parametertypen und Zeiger 141461 Parametertypen 141462 Zeiger 143463 bdquoVariablerldquo ANY-Zeiger bei AWL 146464 bdquoVariablerldquo ANY-Zeiger bei SCL 148

47 PLC-Datentypen 148

48 Startinformation 150

5 Programmbearbeitung 151

51 Betriebszustaumlnde der CPU-Baugruppe 151511 Betriebszustand STOP 152512 Betriebszustand ANLAUF 153513 Betriebszustand RUN 157514 Betriebszustand HALT 157515 CPU urloumlschen 158516 Auslieferungszustand wiederherstellen 158517 Remanenzverhalten von Operanden 159

52 Anwenderprogramm erstellen 159521 Programmentwurf 159522 Programmbearbeitung 163523 Bausteinarten 165524 Bausteineigenschaften bearbeiten 167525 Bausteinschnittstelle 171526 Beispiel zur Verwendung von Bausteinparametern 172

53 Bausteine aufrufen 174531 Allgemeines zu Aufrufen von Codebausteinen 174532 Aufruf von Funktionen (FC) 175533 Aufruf von Funktionsbausteinen (FB) 176534 bdquoWeiterreichenldquo von Bausteinparametern 180

54 Anlaufprogramm 181541 Anlauf-Organisationsbausteine OB 100 OB 101 und OB 102 181542 Baugruppenadresse ermitteln 181543 Baugruppen parametrieren 183

55 Hauptprogramm 187551 Organisationsbaustein OB 1 187

Inhaltsverzeichnis

11

552 Prozessabbild 187553 Zykluszeit und Reaktionszeit 193554 Mindestzykluszeit und Hintergrundbearbeitung 195555 Programm komprimieren anhalten stoppen und schuumltzen 197556 Uhrzeit 199557 Systemzeit und OB-Laufzeit ermitteln 202558 Betriebsstundenzaumlhler 207

56 Alarmbearbeitung 208561 Einfuumlhrung zur Alarmbearbeitung 208562 Prioritaumltsklassen 210563 Uhrzeitalarme Organisationsbausteine OB 10 bis OB 17 210564 Verzoumlgerungsalarme Organisationsbausteine OB 20 bis 23 215565 Weckalarme Organisationsbausteine OB 30 bis 38 218566 Prozessalarme Organisationsbausteine OB 40 bis OB 47 220567 DPV1-Alarme Organisationsbausteine OB 55 bis 57 221568 Taktsynchronalarme Organisationsbausteine OB 61 bis OB 64 223569 Alarmzusatzinformation lesen 225

57 Fehlerbehandlung 226571 Fehlerursachen und Fehlerreaktion 226572 Synchronfehler 227573 Synchronfehlerbearbeitung sperren und freigeben 229574 Ersatzwert eintragen 232575 Asynchronfehler 232576 Alarme und Asynchronfehler sperren verzoumlgern und freigeben 238

58 Diagnose 240581 Diagnosealarm Organisationsbaustein OB 82 240582 Systemzustandsliste lesen 241583 Startinformation lesen 242584 Verbindungszustand ermitteln 243585 Systemdiagnose mit Report System Errors 245

59 Meldungen projektieren 247591 Einfuumlhrung 247592 Meldungen nach dem Meldenummerverfahren projektieren 251593 Meldebausteine fuumlr PLC-Meldungen mit Instanzdaten 256594 Meldebausteine fuumlr PLC-Meldungen ohne Instanzdaten 259595 Bausteine fuumlr das Arbeiten mit Meldungen 260596 Anwender-Diagnosemeldung projektieren 263597 CPU-Meldungsanzeige 265

6 Programmeditor 267

61 Einfuumlhrung 267

62 PLC-Variablentabelle 268621 PLC-Variablentabellen bearbeiten 268622 PLC-Variablen definieren 268623 PLC-Variablentabelle exportieren und importieren 270624 Konstantentabellen 271

Inhaltsverzeichnis

12

63 Codebaustein programmieren 271631 Einen neuen Codebaustein anlegen 271632 Arbeitsbereich des Programmeditors fuumlr Codebausteine 273633 Bausteineigenschaften fuumlr Codebausteine festlegen 274634 Bausteinschnittstelle programmieren 275635 Steuerungsfunktion programmieren 276636 Variablen editieren 281637 Mit Programmkommentaren arbeiten 284

64 Datenbaustein programmieren 285641 Einen neuen Datenbaustein anlegen 285642 Arbeitsbereich des Programmeditors fuumlr Datenbausteine 286643 Bausteineigenschaften fuumlr Datenbausteine festlegen 287644 Datenvariablen deklarieren 287645 Datenvariablen in Globaldatenbausteinen eingeben 288

65 Bausteine uumlbersetzen 289651 Uumlbersetzung starten 289652 SCL-Bausteine uumlbersetzen 290653 Fehler nach der Uumlbersetzung beheben 291

66 Programminformationen 292661 Querverweisliste 292662 Belegungsplan 294663 Aufrufstruktur 296664 Abhaumlngigkeitsstruktur 297665 Konsistenzpruumlfung 297666 Speicherauslastung der CPU 298

7 Kontaktplan KOP 300

71 Einfuumlhrung 300711 Programmieren mit KOP allgemein 300712 Programmelemente des Kontaktplans 302

72 Binaumlre Verknuumlpfungen mit KOP programmieren 302721 Schlieszligerkontakt und Oumlffnerkontakt 302722 Reihen- und Parallelschaltung von Kontakten 304723 T-Abzweig offener Parallelzweig 305724 Verknuumlpfungsergebnis negieren 306725 Flankenauswertung einer Binaumlrvariablen 307726 Vergleich-Kontakte 307

73 Speicherfunktionen mit KOP programmieren 308731 Einfache Spule Zuweisung 308732 Setzen- und Ruumlcksetzen-Spule 310733 Speicherndes Verhalten durch Selbsthaltung 310734 Spulen mit Zeitverhalten 311735 Spulen mit Zaumlhlerverhalten 312

74 Q-Boxen mit KOP programmieren 313741 Speicher-Boxen 314742 Flankenauswertung des Stromflusses 314

Inhaltsverzeichnis

13

743 SIMATIC-Zeitfunktionen 315744 SIMATIC-Zaumlhlfunktionen 316745 IEC-Zeitfunktionen 316746 IEC-Zaumlhlfunktionen 318

75 ENENO-Boxen mit KOP programmieren 319751 Uumlbertragungsfunktion MOVE 320752 Arithmetische Funktionen 320753 Mathematische Funktionen 321754 Konvertierungsfunktionen 322755 Schiebefunktionen 323756 Wortverknuumlpfungen 324

76 Programmfluss bei KOP steuern 326761 Mit Statusbits im Kontaktplan arbeiten 326762 ENENO-Mechanismus bei KOP 328763 Sprungfunktionen 329764 Bausteinfunktionen 330765 Master Control Relay (MCR) 332

8 Funktionsplan FUP 334

81 Einfuumlhrung 334811 Programmieren mit FUP allgemein 334812 Programmelemente des Funktionsplans 336

82 Binaumlre Verknuumlpfungen mit FUP programmieren 337821 Abfrage auf Signalzustand bdquo1ldquo und auf Signalzustand bdquo0ldquo 337822 Eine binaumlre Verknuumlpfung im Funktionsplan programmieren 338823 UND-Funktion 339824 ODER-Funktion 339825 Exklusiv-ODER-Funktion 339826 Kombinierte binaumlre Verknuumlpfungen Verknuumlpfungsergebnis negieren 340827 T-Abzweig 341828 Flankenauswertung von Binaumlrvariablen 342829 Vergleichsfunktionen 342

83 Standard-Boxen mit FUP programmieren 343831 Zuweisung-Box 343832 Setzen- und Ruumlcksetzen-Box 344833 Standard-Boxen mit Zeitverhalten 346834 Standard-Boxen mit Zaumlhlerverhalten 346

84 Q-Boxen mit FUP programmieren 347841 Speicher-Boxen 348842 Flankenauswertung des Verknuumlpfungsergebnisses 349843 SIMATIC-Zeitfunktionen 349844 SIMATIC-Zaumlhlfunktionen 350845 IEC-Zeitfunktionen 351846 IEC-Zaumlhlfunktionen 352

85 ENENO-Boxen mit FUP programmieren 353851 Uumlbertragungsfunktion MOVE 354

Inhaltsverzeichnis

14

852 Arithmetische Funktionen 355853 Mathematische Funktionen 356854 Konvertierungsfunktionen 356855 Schiebefunktionen 358856 Wortverknuumlpfungen 359

86 Programmfluss bei FUP steuern 360861 Mit Statusbits im Funktionsplan arbeiten 360862 ENENO-Mechanismus bei FUP 362863 Sprungfunktionen 364864 Bausteinfunktionen 364865 Master Control Relay (MCR) 366

9 Anweisungsliste AWL 369

91 Einfuumlhrung 369911 Programmieren mit AWL allgemein 369912 Aufbau einer AWL-Anweisung 370

92 Binaumlre Verknuumlpfungen mit AWL programmieren 371921 Bearbeitung einer binaumlren Verknuumlpfung Verknuumlpfungsschritt 371922 Abfrage auf Signalzustand bdquo1ldquo und auf Signalzustand bdquo0ldquo 373923 Eine binaumlre Verknuumlpfung in Anweisungsliste programmieren 375924 UND-Funktion 375925 ODER-Funktion 376926 Exklusiv-ODER-Funktion 376927 Kombinierte binaumlre Verknuumlpfungen 376928 Verknuumlpfungsergebnis steuern 379

93 Speicherfunktionen mit AWL programmieren 380931 Zuweisung 380932 Setzen und Ruumlcksetzen 381933 Flankenauswertung 381

94 Zeit- und Zaumlhlfunktionen mit AWL programmieren 382941 SIMATIC-Zeitfunktionen 382942 SIMATIC-Zaumlhlfunktionen 384943 IEC-Zeitfunktionen 385944 IEC-Zaumlhlfunktionen 386

95 Digitalfunktionen mit AWL programmieren 387951 Uumlbertragungsfunktionen 387952 Vergleichsfunktionen 389953 Arithmetische Funktionen 392954 Mathematische Funktionen 395955 Konvertierungsfunktionen 396956 Schiebefunktionen 397957 Wortverknuumlpfungen 399

96 Programmfluss bei AWL steuern 401961 Mit Statusbits in der Anweisungsliste arbeiten 402962 ENENO-Mechanismus bei AWL 404963 Sprungfunktionen 406

Page 10: Automatisieren mit SIMATIC S7-400 im TIA Portal...Automatisieren mit SIMATIC S7-400 im TIA Portal Projektieren, Programmieren und Testen mit STEP 7 Professional von Hans Berger Publicis

Inhaltsverzeichnis

10

442 Bitfolge-Datentypen BOOL BYTE WORD und DWORD 128443 BCD-Zahlen BCD16 und BCD32 129444 Festpunkt-Datentypen mit Vorzeichen INT und DINT 131445 Gleitpunkt-Datentyp REAL 131446 Datentyp CHAR 132447 Datentypen fuumlr Zeitdauern und Zeitpunkte 133

45 Zusammengesetzte Datentypen 135451 Zeichenkette STRING 135452 Datentyp ARRAY 137453 Datentyp STRUCT 139

46 Parametertypen und Zeiger 141461 Parametertypen 141462 Zeiger 143463 bdquoVariablerldquo ANY-Zeiger bei AWL 146464 bdquoVariablerldquo ANY-Zeiger bei SCL 148

47 PLC-Datentypen 148

48 Startinformation 150

5 Programmbearbeitung 151

51 Betriebszustaumlnde der CPU-Baugruppe 151511 Betriebszustand STOP 152512 Betriebszustand ANLAUF 153513 Betriebszustand RUN 157514 Betriebszustand HALT 157515 CPU urloumlschen 158516 Auslieferungszustand wiederherstellen 158517 Remanenzverhalten von Operanden 159

52 Anwenderprogramm erstellen 159521 Programmentwurf 159522 Programmbearbeitung 163523 Bausteinarten 165524 Bausteineigenschaften bearbeiten 167525 Bausteinschnittstelle 171526 Beispiel zur Verwendung von Bausteinparametern 172

53 Bausteine aufrufen 174531 Allgemeines zu Aufrufen von Codebausteinen 174532 Aufruf von Funktionen (FC) 175533 Aufruf von Funktionsbausteinen (FB) 176534 bdquoWeiterreichenldquo von Bausteinparametern 180

54 Anlaufprogramm 181541 Anlauf-Organisationsbausteine OB 100 OB 101 und OB 102 181542 Baugruppenadresse ermitteln 181543 Baugruppen parametrieren 183

55 Hauptprogramm 187551 Organisationsbaustein OB 1 187

Inhaltsverzeichnis

11

552 Prozessabbild 187553 Zykluszeit und Reaktionszeit 193554 Mindestzykluszeit und Hintergrundbearbeitung 195555 Programm komprimieren anhalten stoppen und schuumltzen 197556 Uhrzeit 199557 Systemzeit und OB-Laufzeit ermitteln 202558 Betriebsstundenzaumlhler 207

56 Alarmbearbeitung 208561 Einfuumlhrung zur Alarmbearbeitung 208562 Prioritaumltsklassen 210563 Uhrzeitalarme Organisationsbausteine OB 10 bis OB 17 210564 Verzoumlgerungsalarme Organisationsbausteine OB 20 bis 23 215565 Weckalarme Organisationsbausteine OB 30 bis 38 218566 Prozessalarme Organisationsbausteine OB 40 bis OB 47 220567 DPV1-Alarme Organisationsbausteine OB 55 bis 57 221568 Taktsynchronalarme Organisationsbausteine OB 61 bis OB 64 223569 Alarmzusatzinformation lesen 225

57 Fehlerbehandlung 226571 Fehlerursachen und Fehlerreaktion 226572 Synchronfehler 227573 Synchronfehlerbearbeitung sperren und freigeben 229574 Ersatzwert eintragen 232575 Asynchronfehler 232576 Alarme und Asynchronfehler sperren verzoumlgern und freigeben 238

58 Diagnose 240581 Diagnosealarm Organisationsbaustein OB 82 240582 Systemzustandsliste lesen 241583 Startinformation lesen 242584 Verbindungszustand ermitteln 243585 Systemdiagnose mit Report System Errors 245

59 Meldungen projektieren 247591 Einfuumlhrung 247592 Meldungen nach dem Meldenummerverfahren projektieren 251593 Meldebausteine fuumlr PLC-Meldungen mit Instanzdaten 256594 Meldebausteine fuumlr PLC-Meldungen ohne Instanzdaten 259595 Bausteine fuumlr das Arbeiten mit Meldungen 260596 Anwender-Diagnosemeldung projektieren 263597 CPU-Meldungsanzeige 265

6 Programmeditor 267

61 Einfuumlhrung 267

62 PLC-Variablentabelle 268621 PLC-Variablentabellen bearbeiten 268622 PLC-Variablen definieren 268623 PLC-Variablentabelle exportieren und importieren 270624 Konstantentabellen 271

Inhaltsverzeichnis

12

63 Codebaustein programmieren 271631 Einen neuen Codebaustein anlegen 271632 Arbeitsbereich des Programmeditors fuumlr Codebausteine 273633 Bausteineigenschaften fuumlr Codebausteine festlegen 274634 Bausteinschnittstelle programmieren 275635 Steuerungsfunktion programmieren 276636 Variablen editieren 281637 Mit Programmkommentaren arbeiten 284

64 Datenbaustein programmieren 285641 Einen neuen Datenbaustein anlegen 285642 Arbeitsbereich des Programmeditors fuumlr Datenbausteine 286643 Bausteineigenschaften fuumlr Datenbausteine festlegen 287644 Datenvariablen deklarieren 287645 Datenvariablen in Globaldatenbausteinen eingeben 288

65 Bausteine uumlbersetzen 289651 Uumlbersetzung starten 289652 SCL-Bausteine uumlbersetzen 290653 Fehler nach der Uumlbersetzung beheben 291

66 Programminformationen 292661 Querverweisliste 292662 Belegungsplan 294663 Aufrufstruktur 296664 Abhaumlngigkeitsstruktur 297665 Konsistenzpruumlfung 297666 Speicherauslastung der CPU 298

7 Kontaktplan KOP 300

71 Einfuumlhrung 300711 Programmieren mit KOP allgemein 300712 Programmelemente des Kontaktplans 302

72 Binaumlre Verknuumlpfungen mit KOP programmieren 302721 Schlieszligerkontakt und Oumlffnerkontakt 302722 Reihen- und Parallelschaltung von Kontakten 304723 T-Abzweig offener Parallelzweig 305724 Verknuumlpfungsergebnis negieren 306725 Flankenauswertung einer Binaumlrvariablen 307726 Vergleich-Kontakte 307

73 Speicherfunktionen mit KOP programmieren 308731 Einfache Spule Zuweisung 308732 Setzen- und Ruumlcksetzen-Spule 310733 Speicherndes Verhalten durch Selbsthaltung 310734 Spulen mit Zeitverhalten 311735 Spulen mit Zaumlhlerverhalten 312

74 Q-Boxen mit KOP programmieren 313741 Speicher-Boxen 314742 Flankenauswertung des Stromflusses 314

Inhaltsverzeichnis

13

743 SIMATIC-Zeitfunktionen 315744 SIMATIC-Zaumlhlfunktionen 316745 IEC-Zeitfunktionen 316746 IEC-Zaumlhlfunktionen 318

75 ENENO-Boxen mit KOP programmieren 319751 Uumlbertragungsfunktion MOVE 320752 Arithmetische Funktionen 320753 Mathematische Funktionen 321754 Konvertierungsfunktionen 322755 Schiebefunktionen 323756 Wortverknuumlpfungen 324

76 Programmfluss bei KOP steuern 326761 Mit Statusbits im Kontaktplan arbeiten 326762 ENENO-Mechanismus bei KOP 328763 Sprungfunktionen 329764 Bausteinfunktionen 330765 Master Control Relay (MCR) 332

8 Funktionsplan FUP 334

81 Einfuumlhrung 334811 Programmieren mit FUP allgemein 334812 Programmelemente des Funktionsplans 336

82 Binaumlre Verknuumlpfungen mit FUP programmieren 337821 Abfrage auf Signalzustand bdquo1ldquo und auf Signalzustand bdquo0ldquo 337822 Eine binaumlre Verknuumlpfung im Funktionsplan programmieren 338823 UND-Funktion 339824 ODER-Funktion 339825 Exklusiv-ODER-Funktion 339826 Kombinierte binaumlre Verknuumlpfungen Verknuumlpfungsergebnis negieren 340827 T-Abzweig 341828 Flankenauswertung von Binaumlrvariablen 342829 Vergleichsfunktionen 342

83 Standard-Boxen mit FUP programmieren 343831 Zuweisung-Box 343832 Setzen- und Ruumlcksetzen-Box 344833 Standard-Boxen mit Zeitverhalten 346834 Standard-Boxen mit Zaumlhlerverhalten 346

84 Q-Boxen mit FUP programmieren 347841 Speicher-Boxen 348842 Flankenauswertung des Verknuumlpfungsergebnisses 349843 SIMATIC-Zeitfunktionen 349844 SIMATIC-Zaumlhlfunktionen 350845 IEC-Zeitfunktionen 351846 IEC-Zaumlhlfunktionen 352

85 ENENO-Boxen mit FUP programmieren 353851 Uumlbertragungsfunktion MOVE 354

Inhaltsverzeichnis

14

852 Arithmetische Funktionen 355853 Mathematische Funktionen 356854 Konvertierungsfunktionen 356855 Schiebefunktionen 358856 Wortverknuumlpfungen 359

86 Programmfluss bei FUP steuern 360861 Mit Statusbits im Funktionsplan arbeiten 360862 ENENO-Mechanismus bei FUP 362863 Sprungfunktionen 364864 Bausteinfunktionen 364865 Master Control Relay (MCR) 366

9 Anweisungsliste AWL 369

91 Einfuumlhrung 369911 Programmieren mit AWL allgemein 369912 Aufbau einer AWL-Anweisung 370

92 Binaumlre Verknuumlpfungen mit AWL programmieren 371921 Bearbeitung einer binaumlren Verknuumlpfung Verknuumlpfungsschritt 371922 Abfrage auf Signalzustand bdquo1ldquo und auf Signalzustand bdquo0ldquo 373923 Eine binaumlre Verknuumlpfung in Anweisungsliste programmieren 375924 UND-Funktion 375925 ODER-Funktion 376926 Exklusiv-ODER-Funktion 376927 Kombinierte binaumlre Verknuumlpfungen 376928 Verknuumlpfungsergebnis steuern 379

93 Speicherfunktionen mit AWL programmieren 380931 Zuweisung 380932 Setzen und Ruumlcksetzen 381933 Flankenauswertung 381

94 Zeit- und Zaumlhlfunktionen mit AWL programmieren 382941 SIMATIC-Zeitfunktionen 382942 SIMATIC-Zaumlhlfunktionen 384943 IEC-Zeitfunktionen 385944 IEC-Zaumlhlfunktionen 386

95 Digitalfunktionen mit AWL programmieren 387951 Uumlbertragungsfunktionen 387952 Vergleichsfunktionen 389953 Arithmetische Funktionen 392954 Mathematische Funktionen 395955 Konvertierungsfunktionen 396956 Schiebefunktionen 397957 Wortverknuumlpfungen 399

96 Programmfluss bei AWL steuern 401961 Mit Statusbits in der Anweisungsliste arbeiten 402962 ENENO-Mechanismus bei AWL 404963 Sprungfunktionen 406

Page 11: Automatisieren mit SIMATIC S7-400 im TIA Portal...Automatisieren mit SIMATIC S7-400 im TIA Portal Projektieren, Programmieren und Testen mit STEP 7 Professional von Hans Berger Publicis

Inhaltsverzeichnis

11

552 Prozessabbild 187553 Zykluszeit und Reaktionszeit 193554 Mindestzykluszeit und Hintergrundbearbeitung 195555 Programm komprimieren anhalten stoppen und schuumltzen 197556 Uhrzeit 199557 Systemzeit und OB-Laufzeit ermitteln 202558 Betriebsstundenzaumlhler 207

56 Alarmbearbeitung 208561 Einfuumlhrung zur Alarmbearbeitung 208562 Prioritaumltsklassen 210563 Uhrzeitalarme Organisationsbausteine OB 10 bis OB 17 210564 Verzoumlgerungsalarme Organisationsbausteine OB 20 bis 23 215565 Weckalarme Organisationsbausteine OB 30 bis 38 218566 Prozessalarme Organisationsbausteine OB 40 bis OB 47 220567 DPV1-Alarme Organisationsbausteine OB 55 bis 57 221568 Taktsynchronalarme Organisationsbausteine OB 61 bis OB 64 223569 Alarmzusatzinformation lesen 225

57 Fehlerbehandlung 226571 Fehlerursachen und Fehlerreaktion 226572 Synchronfehler 227573 Synchronfehlerbearbeitung sperren und freigeben 229574 Ersatzwert eintragen 232575 Asynchronfehler 232576 Alarme und Asynchronfehler sperren verzoumlgern und freigeben 238

58 Diagnose 240581 Diagnosealarm Organisationsbaustein OB 82 240582 Systemzustandsliste lesen 241583 Startinformation lesen 242584 Verbindungszustand ermitteln 243585 Systemdiagnose mit Report System Errors 245

59 Meldungen projektieren 247591 Einfuumlhrung 247592 Meldungen nach dem Meldenummerverfahren projektieren 251593 Meldebausteine fuumlr PLC-Meldungen mit Instanzdaten 256594 Meldebausteine fuumlr PLC-Meldungen ohne Instanzdaten 259595 Bausteine fuumlr das Arbeiten mit Meldungen 260596 Anwender-Diagnosemeldung projektieren 263597 CPU-Meldungsanzeige 265

6 Programmeditor 267

61 Einfuumlhrung 267

62 PLC-Variablentabelle 268621 PLC-Variablentabellen bearbeiten 268622 PLC-Variablen definieren 268623 PLC-Variablentabelle exportieren und importieren 270624 Konstantentabellen 271

Inhaltsverzeichnis

12

63 Codebaustein programmieren 271631 Einen neuen Codebaustein anlegen 271632 Arbeitsbereich des Programmeditors fuumlr Codebausteine 273633 Bausteineigenschaften fuumlr Codebausteine festlegen 274634 Bausteinschnittstelle programmieren 275635 Steuerungsfunktion programmieren 276636 Variablen editieren 281637 Mit Programmkommentaren arbeiten 284

64 Datenbaustein programmieren 285641 Einen neuen Datenbaustein anlegen 285642 Arbeitsbereich des Programmeditors fuumlr Datenbausteine 286643 Bausteineigenschaften fuumlr Datenbausteine festlegen 287644 Datenvariablen deklarieren 287645 Datenvariablen in Globaldatenbausteinen eingeben 288

65 Bausteine uumlbersetzen 289651 Uumlbersetzung starten 289652 SCL-Bausteine uumlbersetzen 290653 Fehler nach der Uumlbersetzung beheben 291

66 Programminformationen 292661 Querverweisliste 292662 Belegungsplan 294663 Aufrufstruktur 296664 Abhaumlngigkeitsstruktur 297665 Konsistenzpruumlfung 297666 Speicherauslastung der CPU 298

7 Kontaktplan KOP 300

71 Einfuumlhrung 300711 Programmieren mit KOP allgemein 300712 Programmelemente des Kontaktplans 302

72 Binaumlre Verknuumlpfungen mit KOP programmieren 302721 Schlieszligerkontakt und Oumlffnerkontakt 302722 Reihen- und Parallelschaltung von Kontakten 304723 T-Abzweig offener Parallelzweig 305724 Verknuumlpfungsergebnis negieren 306725 Flankenauswertung einer Binaumlrvariablen 307726 Vergleich-Kontakte 307

73 Speicherfunktionen mit KOP programmieren 308731 Einfache Spule Zuweisung 308732 Setzen- und Ruumlcksetzen-Spule 310733 Speicherndes Verhalten durch Selbsthaltung 310734 Spulen mit Zeitverhalten 311735 Spulen mit Zaumlhlerverhalten 312

74 Q-Boxen mit KOP programmieren 313741 Speicher-Boxen 314742 Flankenauswertung des Stromflusses 314

Inhaltsverzeichnis

13

743 SIMATIC-Zeitfunktionen 315744 SIMATIC-Zaumlhlfunktionen 316745 IEC-Zeitfunktionen 316746 IEC-Zaumlhlfunktionen 318

75 ENENO-Boxen mit KOP programmieren 319751 Uumlbertragungsfunktion MOVE 320752 Arithmetische Funktionen 320753 Mathematische Funktionen 321754 Konvertierungsfunktionen 322755 Schiebefunktionen 323756 Wortverknuumlpfungen 324

76 Programmfluss bei KOP steuern 326761 Mit Statusbits im Kontaktplan arbeiten 326762 ENENO-Mechanismus bei KOP 328763 Sprungfunktionen 329764 Bausteinfunktionen 330765 Master Control Relay (MCR) 332

8 Funktionsplan FUP 334

81 Einfuumlhrung 334811 Programmieren mit FUP allgemein 334812 Programmelemente des Funktionsplans 336

82 Binaumlre Verknuumlpfungen mit FUP programmieren 337821 Abfrage auf Signalzustand bdquo1ldquo und auf Signalzustand bdquo0ldquo 337822 Eine binaumlre Verknuumlpfung im Funktionsplan programmieren 338823 UND-Funktion 339824 ODER-Funktion 339825 Exklusiv-ODER-Funktion 339826 Kombinierte binaumlre Verknuumlpfungen Verknuumlpfungsergebnis negieren 340827 T-Abzweig 341828 Flankenauswertung von Binaumlrvariablen 342829 Vergleichsfunktionen 342

83 Standard-Boxen mit FUP programmieren 343831 Zuweisung-Box 343832 Setzen- und Ruumlcksetzen-Box 344833 Standard-Boxen mit Zeitverhalten 346834 Standard-Boxen mit Zaumlhlerverhalten 346

84 Q-Boxen mit FUP programmieren 347841 Speicher-Boxen 348842 Flankenauswertung des Verknuumlpfungsergebnisses 349843 SIMATIC-Zeitfunktionen 349844 SIMATIC-Zaumlhlfunktionen 350845 IEC-Zeitfunktionen 351846 IEC-Zaumlhlfunktionen 352

85 ENENO-Boxen mit FUP programmieren 353851 Uumlbertragungsfunktion MOVE 354

Inhaltsverzeichnis

14

852 Arithmetische Funktionen 355853 Mathematische Funktionen 356854 Konvertierungsfunktionen 356855 Schiebefunktionen 358856 Wortverknuumlpfungen 359

86 Programmfluss bei FUP steuern 360861 Mit Statusbits im Funktionsplan arbeiten 360862 ENENO-Mechanismus bei FUP 362863 Sprungfunktionen 364864 Bausteinfunktionen 364865 Master Control Relay (MCR) 366

9 Anweisungsliste AWL 369

91 Einfuumlhrung 369911 Programmieren mit AWL allgemein 369912 Aufbau einer AWL-Anweisung 370

92 Binaumlre Verknuumlpfungen mit AWL programmieren 371921 Bearbeitung einer binaumlren Verknuumlpfung Verknuumlpfungsschritt 371922 Abfrage auf Signalzustand bdquo1ldquo und auf Signalzustand bdquo0ldquo 373923 Eine binaumlre Verknuumlpfung in Anweisungsliste programmieren 375924 UND-Funktion 375925 ODER-Funktion 376926 Exklusiv-ODER-Funktion 376927 Kombinierte binaumlre Verknuumlpfungen 376928 Verknuumlpfungsergebnis steuern 379

93 Speicherfunktionen mit AWL programmieren 380931 Zuweisung 380932 Setzen und Ruumlcksetzen 381933 Flankenauswertung 381

94 Zeit- und Zaumlhlfunktionen mit AWL programmieren 382941 SIMATIC-Zeitfunktionen 382942 SIMATIC-Zaumlhlfunktionen 384943 IEC-Zeitfunktionen 385944 IEC-Zaumlhlfunktionen 386

95 Digitalfunktionen mit AWL programmieren 387951 Uumlbertragungsfunktionen 387952 Vergleichsfunktionen 389953 Arithmetische Funktionen 392954 Mathematische Funktionen 395955 Konvertierungsfunktionen 396956 Schiebefunktionen 397957 Wortverknuumlpfungen 399

96 Programmfluss bei AWL steuern 401961 Mit Statusbits in der Anweisungsliste arbeiten 402962 ENENO-Mechanismus bei AWL 404963 Sprungfunktionen 406

Page 12: Automatisieren mit SIMATIC S7-400 im TIA Portal...Automatisieren mit SIMATIC S7-400 im TIA Portal Projektieren, Programmieren und Testen mit STEP 7 Professional von Hans Berger Publicis

Inhaltsverzeichnis

12

63 Codebaustein programmieren 271631 Einen neuen Codebaustein anlegen 271632 Arbeitsbereich des Programmeditors fuumlr Codebausteine 273633 Bausteineigenschaften fuumlr Codebausteine festlegen 274634 Bausteinschnittstelle programmieren 275635 Steuerungsfunktion programmieren 276636 Variablen editieren 281637 Mit Programmkommentaren arbeiten 284

64 Datenbaustein programmieren 285641 Einen neuen Datenbaustein anlegen 285642 Arbeitsbereich des Programmeditors fuumlr Datenbausteine 286643 Bausteineigenschaften fuumlr Datenbausteine festlegen 287644 Datenvariablen deklarieren 287645 Datenvariablen in Globaldatenbausteinen eingeben 288

65 Bausteine uumlbersetzen 289651 Uumlbersetzung starten 289652 SCL-Bausteine uumlbersetzen 290653 Fehler nach der Uumlbersetzung beheben 291

66 Programminformationen 292661 Querverweisliste 292662 Belegungsplan 294663 Aufrufstruktur 296664 Abhaumlngigkeitsstruktur 297665 Konsistenzpruumlfung 297666 Speicherauslastung der CPU 298

7 Kontaktplan KOP 300

71 Einfuumlhrung 300711 Programmieren mit KOP allgemein 300712 Programmelemente des Kontaktplans 302

72 Binaumlre Verknuumlpfungen mit KOP programmieren 302721 Schlieszligerkontakt und Oumlffnerkontakt 302722 Reihen- und Parallelschaltung von Kontakten 304723 T-Abzweig offener Parallelzweig 305724 Verknuumlpfungsergebnis negieren 306725 Flankenauswertung einer Binaumlrvariablen 307726 Vergleich-Kontakte 307

73 Speicherfunktionen mit KOP programmieren 308731 Einfache Spule Zuweisung 308732 Setzen- und Ruumlcksetzen-Spule 310733 Speicherndes Verhalten durch Selbsthaltung 310734 Spulen mit Zeitverhalten 311735 Spulen mit Zaumlhlerverhalten 312

74 Q-Boxen mit KOP programmieren 313741 Speicher-Boxen 314742 Flankenauswertung des Stromflusses 314

Inhaltsverzeichnis

13

743 SIMATIC-Zeitfunktionen 315744 SIMATIC-Zaumlhlfunktionen 316745 IEC-Zeitfunktionen 316746 IEC-Zaumlhlfunktionen 318

75 ENENO-Boxen mit KOP programmieren 319751 Uumlbertragungsfunktion MOVE 320752 Arithmetische Funktionen 320753 Mathematische Funktionen 321754 Konvertierungsfunktionen 322755 Schiebefunktionen 323756 Wortverknuumlpfungen 324

76 Programmfluss bei KOP steuern 326761 Mit Statusbits im Kontaktplan arbeiten 326762 ENENO-Mechanismus bei KOP 328763 Sprungfunktionen 329764 Bausteinfunktionen 330765 Master Control Relay (MCR) 332

8 Funktionsplan FUP 334

81 Einfuumlhrung 334811 Programmieren mit FUP allgemein 334812 Programmelemente des Funktionsplans 336

82 Binaumlre Verknuumlpfungen mit FUP programmieren 337821 Abfrage auf Signalzustand bdquo1ldquo und auf Signalzustand bdquo0ldquo 337822 Eine binaumlre Verknuumlpfung im Funktionsplan programmieren 338823 UND-Funktion 339824 ODER-Funktion 339825 Exklusiv-ODER-Funktion 339826 Kombinierte binaumlre Verknuumlpfungen Verknuumlpfungsergebnis negieren 340827 T-Abzweig 341828 Flankenauswertung von Binaumlrvariablen 342829 Vergleichsfunktionen 342

83 Standard-Boxen mit FUP programmieren 343831 Zuweisung-Box 343832 Setzen- und Ruumlcksetzen-Box 344833 Standard-Boxen mit Zeitverhalten 346834 Standard-Boxen mit Zaumlhlerverhalten 346

84 Q-Boxen mit FUP programmieren 347841 Speicher-Boxen 348842 Flankenauswertung des Verknuumlpfungsergebnisses 349843 SIMATIC-Zeitfunktionen 349844 SIMATIC-Zaumlhlfunktionen 350845 IEC-Zeitfunktionen 351846 IEC-Zaumlhlfunktionen 352

85 ENENO-Boxen mit FUP programmieren 353851 Uumlbertragungsfunktion MOVE 354

Inhaltsverzeichnis

14

852 Arithmetische Funktionen 355853 Mathematische Funktionen 356854 Konvertierungsfunktionen 356855 Schiebefunktionen 358856 Wortverknuumlpfungen 359

86 Programmfluss bei FUP steuern 360861 Mit Statusbits im Funktionsplan arbeiten 360862 ENENO-Mechanismus bei FUP 362863 Sprungfunktionen 364864 Bausteinfunktionen 364865 Master Control Relay (MCR) 366

9 Anweisungsliste AWL 369

91 Einfuumlhrung 369911 Programmieren mit AWL allgemein 369912 Aufbau einer AWL-Anweisung 370

92 Binaumlre Verknuumlpfungen mit AWL programmieren 371921 Bearbeitung einer binaumlren Verknuumlpfung Verknuumlpfungsschritt 371922 Abfrage auf Signalzustand bdquo1ldquo und auf Signalzustand bdquo0ldquo 373923 Eine binaumlre Verknuumlpfung in Anweisungsliste programmieren 375924 UND-Funktion 375925 ODER-Funktion 376926 Exklusiv-ODER-Funktion 376927 Kombinierte binaumlre Verknuumlpfungen 376928 Verknuumlpfungsergebnis steuern 379

93 Speicherfunktionen mit AWL programmieren 380931 Zuweisung 380932 Setzen und Ruumlcksetzen 381933 Flankenauswertung 381

94 Zeit- und Zaumlhlfunktionen mit AWL programmieren 382941 SIMATIC-Zeitfunktionen 382942 SIMATIC-Zaumlhlfunktionen 384943 IEC-Zeitfunktionen 385944 IEC-Zaumlhlfunktionen 386

95 Digitalfunktionen mit AWL programmieren 387951 Uumlbertragungsfunktionen 387952 Vergleichsfunktionen 389953 Arithmetische Funktionen 392954 Mathematische Funktionen 395955 Konvertierungsfunktionen 396956 Schiebefunktionen 397957 Wortverknuumlpfungen 399

96 Programmfluss bei AWL steuern 401961 Mit Statusbits in der Anweisungsliste arbeiten 402962 ENENO-Mechanismus bei AWL 404963 Sprungfunktionen 406

Page 13: Automatisieren mit SIMATIC S7-400 im TIA Portal...Automatisieren mit SIMATIC S7-400 im TIA Portal Projektieren, Programmieren und Testen mit STEP 7 Professional von Hans Berger Publicis

Inhaltsverzeichnis

13

743 SIMATIC-Zeitfunktionen 315744 SIMATIC-Zaumlhlfunktionen 316745 IEC-Zeitfunktionen 316746 IEC-Zaumlhlfunktionen 318

75 ENENO-Boxen mit KOP programmieren 319751 Uumlbertragungsfunktion MOVE 320752 Arithmetische Funktionen 320753 Mathematische Funktionen 321754 Konvertierungsfunktionen 322755 Schiebefunktionen 323756 Wortverknuumlpfungen 324

76 Programmfluss bei KOP steuern 326761 Mit Statusbits im Kontaktplan arbeiten 326762 ENENO-Mechanismus bei KOP 328763 Sprungfunktionen 329764 Bausteinfunktionen 330765 Master Control Relay (MCR) 332

8 Funktionsplan FUP 334

81 Einfuumlhrung 334811 Programmieren mit FUP allgemein 334812 Programmelemente des Funktionsplans 336

82 Binaumlre Verknuumlpfungen mit FUP programmieren 337821 Abfrage auf Signalzustand bdquo1ldquo und auf Signalzustand bdquo0ldquo 337822 Eine binaumlre Verknuumlpfung im Funktionsplan programmieren 338823 UND-Funktion 339824 ODER-Funktion 339825 Exklusiv-ODER-Funktion 339826 Kombinierte binaumlre Verknuumlpfungen Verknuumlpfungsergebnis negieren 340827 T-Abzweig 341828 Flankenauswertung von Binaumlrvariablen 342829 Vergleichsfunktionen 342

83 Standard-Boxen mit FUP programmieren 343831 Zuweisung-Box 343832 Setzen- und Ruumlcksetzen-Box 344833 Standard-Boxen mit Zeitverhalten 346834 Standard-Boxen mit Zaumlhlerverhalten 346

84 Q-Boxen mit FUP programmieren 347841 Speicher-Boxen 348842 Flankenauswertung des Verknuumlpfungsergebnisses 349843 SIMATIC-Zeitfunktionen 349844 SIMATIC-Zaumlhlfunktionen 350845 IEC-Zeitfunktionen 351846 IEC-Zaumlhlfunktionen 352

85 ENENO-Boxen mit FUP programmieren 353851 Uumlbertragungsfunktion MOVE 354

Inhaltsverzeichnis

14

852 Arithmetische Funktionen 355853 Mathematische Funktionen 356854 Konvertierungsfunktionen 356855 Schiebefunktionen 358856 Wortverknuumlpfungen 359

86 Programmfluss bei FUP steuern 360861 Mit Statusbits im Funktionsplan arbeiten 360862 ENENO-Mechanismus bei FUP 362863 Sprungfunktionen 364864 Bausteinfunktionen 364865 Master Control Relay (MCR) 366

9 Anweisungsliste AWL 369

91 Einfuumlhrung 369911 Programmieren mit AWL allgemein 369912 Aufbau einer AWL-Anweisung 370

92 Binaumlre Verknuumlpfungen mit AWL programmieren 371921 Bearbeitung einer binaumlren Verknuumlpfung Verknuumlpfungsschritt 371922 Abfrage auf Signalzustand bdquo1ldquo und auf Signalzustand bdquo0ldquo 373923 Eine binaumlre Verknuumlpfung in Anweisungsliste programmieren 375924 UND-Funktion 375925 ODER-Funktion 376926 Exklusiv-ODER-Funktion 376927 Kombinierte binaumlre Verknuumlpfungen 376928 Verknuumlpfungsergebnis steuern 379

93 Speicherfunktionen mit AWL programmieren 380931 Zuweisung 380932 Setzen und Ruumlcksetzen 381933 Flankenauswertung 381

94 Zeit- und Zaumlhlfunktionen mit AWL programmieren 382941 SIMATIC-Zeitfunktionen 382942 SIMATIC-Zaumlhlfunktionen 384943 IEC-Zeitfunktionen 385944 IEC-Zaumlhlfunktionen 386

95 Digitalfunktionen mit AWL programmieren 387951 Uumlbertragungsfunktionen 387952 Vergleichsfunktionen 389953 Arithmetische Funktionen 392954 Mathematische Funktionen 395955 Konvertierungsfunktionen 396956 Schiebefunktionen 397957 Wortverknuumlpfungen 399

96 Programmfluss bei AWL steuern 401961 Mit Statusbits in der Anweisungsliste arbeiten 402962 ENENO-Mechanismus bei AWL 404963 Sprungfunktionen 406

Page 14: Automatisieren mit SIMATIC S7-400 im TIA Portal...Automatisieren mit SIMATIC S7-400 im TIA Portal Projektieren, Programmieren und Testen mit STEP 7 Professional von Hans Berger Publicis

Inhaltsverzeichnis

14

852 Arithmetische Funktionen 355853 Mathematische Funktionen 356854 Konvertierungsfunktionen 356855 Schiebefunktionen 358856 Wortverknuumlpfungen 359

86 Programmfluss bei FUP steuern 360861 Mit Statusbits im Funktionsplan arbeiten 360862 ENENO-Mechanismus bei FUP 362863 Sprungfunktionen 364864 Bausteinfunktionen 364865 Master Control Relay (MCR) 366

9 Anweisungsliste AWL 369

91 Einfuumlhrung 369911 Programmieren mit AWL allgemein 369912 Aufbau einer AWL-Anweisung 370

92 Binaumlre Verknuumlpfungen mit AWL programmieren 371921 Bearbeitung einer binaumlren Verknuumlpfung Verknuumlpfungsschritt 371922 Abfrage auf Signalzustand bdquo1ldquo und auf Signalzustand bdquo0ldquo 373923 Eine binaumlre Verknuumlpfung in Anweisungsliste programmieren 375924 UND-Funktion 375925 ODER-Funktion 376926 Exklusiv-ODER-Funktion 376927 Kombinierte binaumlre Verknuumlpfungen 376928 Verknuumlpfungsergebnis steuern 379

93 Speicherfunktionen mit AWL programmieren 380931 Zuweisung 380932 Setzen und Ruumlcksetzen 381933 Flankenauswertung 381

94 Zeit- und Zaumlhlfunktionen mit AWL programmieren 382941 SIMATIC-Zeitfunktionen 382942 SIMATIC-Zaumlhlfunktionen 384943 IEC-Zeitfunktionen 385944 IEC-Zaumlhlfunktionen 386

95 Digitalfunktionen mit AWL programmieren 387951 Uumlbertragungsfunktionen 387952 Vergleichsfunktionen 389953 Arithmetische Funktionen 392954 Mathematische Funktionen 395955 Konvertierungsfunktionen 396956 Schiebefunktionen 397957 Wortverknuumlpfungen 399

96 Programmfluss bei AWL steuern 401961 Mit Statusbits in der Anweisungsliste arbeiten 402962 ENENO-Mechanismus bei AWL 404963 Sprungfunktionen 406