30

Berger Automatisieren mit SIMATIC S7-300 im TIA Portal · Automatisieren mit SIMATIC S7-300 im TIA Portal Projektieren, Programmieren und Testen mit STEP 7 Professional von Hans Berger

  • Upload
    others

  • View
    40

  • Download
    0

Embed Size (px)

Citation preview

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

Berger Automatisieren mit SIMATIC S7-300 im TIA Portal

Automatisieren mit SIMATIC S7-300 im TIA PortalProjektieren Programmieren und Testen mit STEP 7 Professional

von Hans Berger

2 uumlberarbeitete und erweiterte Auflage 2014(korrigierter Nachdruck)

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 und Abbildungen in diesem Buch mit groszliger Sorgfalt erarbeitet Dennoch koumlnnen Fehler nicht ausgeschlossen werden Eine Haftung des Verlags oder des Autors gleich aus welchem Rechtsgrund fuumlr durch die Verwendung der Programmierbeispiele verursachte Schaumlden ist ausgeschlossen

wwwpublicis-booksde

Print ISBN 978-3-89578-432-3 ePDF ISBN 978-3-89578-902-1

2 Auflage 2014

Herausgeber Siemens Aktiengesellschaft Berlin und Muumlnchen Verlag Publicis Publishing Erlangen copy 2014 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-300 mit Standard-Controllern und die Moumlglichkeitenzum Aufbau eines dezentralen Steuerungskonzepts mit PROFIBUS und PROFINETFuumlr die Kommunikation mit anderen Automatisierungssystemen bieten die Cont-roller integrierte Busschnittstellen fuumlr Multipoint Interface (MPI) PROFIBUS undIndustrial Ethernet

Die Engineeringsoftware STEP 7 Professional im TIA Portal erschlieszligt die gesamteFunktionalitaumlt der S7-300-Controller STEP 7 Professional ist das gemeinsameWerkzeug fuumlr die Konfiguration des Hardware-Aufbaus und die Programmierungdes Anwenderprogramms 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-300 mit der Engineeringsoftware STEP 7 Professionalin der Version 12 mit Service Pack 1 Update 2

Erlangen im Dezember 2013 Hans Berger

Der Inhalt des Buchs auf einen Blick

6

Der Inhalt des Buchs auf einen Blick

Start

Das Automatisierungssystem SIMATIC S7-300 in der Uumlbersicht

Eine Einfuumlhrung in die Engineeringsoftware SIMATIC STEP 7 Professional V12

Die Grundlage der Automatisierungsloumlsung Ein Projekt erstellen und bearbeiten

Automatisierungssystem SIMATIC S7-300

Die Baugruppen von SIMATIC S7-300 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

Wie ein AktorSensor-Interface System 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

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-300 22111 Automatisierungsgeraumlt SIMATIC S7-300 23112 Uumlbersicht STEP 7 Professional V12 24113 Fuumlnf Programmiersprachen 26114 Bearbeitung des Anwenderprogramms 27115 Datenhaltung im SIMATIC-Automatisierungssystem 30

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

13 Ein SIMATIC-Projekt bearbeiten 37131 Strukturierte Darstellung der Projektdaten 38132 Projektdaten und Editoren fuumlr eine PLC-Station 38133 Ein Projekt erstellen und bearbeiten 42134 Mit Referenzprojekten arbeiten 45135 Bibliotheken anlegen und bearbeiten 46

2 Automatisierungssystem SIMATIC S7-300 47

21 Komponenten einer S7-300-Station 47

22 CPU-Baugruppen S7-300 49221 CPU-Varianten 49222 Bedien- und Anzeigeelemente 51223 SIMATIC Micro Memory Card 52224 Speicherbereiche in einer S7-300-Station 52225 Busschnittstellen 54

23 Signalbaugruppen 56231 Digitaleingabebaugruppen 56232 Digitalausgabebaugruppen 57233 Digitalein-ausgabebaugruppen 57234 Analogeingabebaugruppen 58235 Analogausgabebaugruppen 58236 Analogein-ausgabebaugruppen 59

24 Funktionsbaugruppen 60

25 Kommunikationsbaugruppen 61

Inhaltsverzeichnis

9

26 Sonstige Baugruppen 63261 Anschaltungsbaugruppen (IM) 63262 Stromversorgungsbaugruppen (PS) 63263 Simulatorbaugruppe 64264 Platzhalterbaugruppe 64

27 SIPLUS S7-300 65

3 Geraumltekonfiguration 66

31 Einfuumlhrung 66

32 Eine Station konfigurieren 69321 Eine PLC-Station hinzufuumlgen 69322 Eine Baugruppe hinzufuumlgen 69323 Einen Erweiterungsbaugruppentraumlger hinzufuumlgen 70

33 Baugruppen parametrieren 71331 Die CPU-Eigenschaften parametrieren 71332 Baugruppen adressieren 74333 Signalbaugruppen parametrieren 77

34 Netz projektieren 78341 Einfuumlhrung Uumlbersicht 78342 Stationen vernetzen 79343 Teilnehmeradressen in einem Subnetz 80344 Verbindungen 81345 Ein MPI-Subnetz projektieren 84346 Ein PROFIBUS-Subnetz projektieren 85347 Ein PROFINET-Subnetz projektieren 87348 Ein AS-i-Subnetz projektieren 90

4 Variablen Adressierung und Datentypen 92

41 Operanden und Variablen 92411 Einfuumlhrung Uumlbersicht 92412 Operandenbereiche Eingaumlnge und Ausgaumlnge 93413 Operandenbereich Merker 96414 Operandenbereich Daten 97415 Operandenbereich temporaumlre Lokaldaten 97

42 Adressierung von Operanden und Variablen 98421 Signalweg 98422 Absolute Adressierung von Variablen 99423 Symbolische Adressierung von Variablen 104424 Adressierung von Konstanten 105

43 Indirekte Adressierung 106431 Speicherindirekte Adressierung mit AWL 107432 Registerindirekte Adressierung mit AWL 110433 Arbeiten mit den Adressregistern bei AWL 111434 Direkter Zugriff auf komplexe Lokalvariablen mit AWL 119435 Indirekte Adressierung bei SCL 121

Inhaltsverzeichnis

10

44 Elementare Datentypen 123441 Einfuumlhrung 123442 Bitfolge-Datentypen BOOL BYTE WORD und DWORD 126443 BCD-Zahlen BCD16 und BCD32 126444 Festpunkt-Datentypen mit Vorzeichen INT und DINT 128445 Gleitpunkt-Datentyp REAL 128446 Datentyp CHAR 129447 Datentypen fuumlr Zeitdauern und Zeitpunkte 130

45 Zusammengesetzte Datentypen 132451 Zeichenkette STRING 132452 Datentyp ARRAY 134453 Datentyp STRUCT 136

46 Parametertypen und Zeiger 138461 Parametertypen 138462 Zeiger 139463 bdquoVariablerldquo ANY-Zeiger bei AWL 143464 bdquoVariablerldquo ANY-Zeiger bei SCL 143

47 PLC-Datentypen 146

48 Startinformation 147

5 Programmbearbeitung 148

51 Betriebszustaumlnde der CPU-Baugruppe 148511 Betriebszustand STOP 149512 Betriebszustand ANLAUF 150513 Betriebszustand RUN 152514 Betriebszustand HALT 152515 CPU urloumlschen 153516 Auslieferungszustand wiederherstellen 153517 Remanenzverhalten von Operanden 154

52 Anwenderprogramm erstellen 154521 Programmentwurf 154522 Programmbearbeitung 158523 Bausteinarten 160524 Bausteineigenschaften bearbeiten 161525 Bausteinschnittstelle 165526 Beispiel zur Verwendung von Bausteinparametern 167

53 Bausteine aufrufen 169531 Allgemeines zu Aufrufen von Codebausteinen 169532 Aufruf von Funktionen (FC) 169533 Aufruf von Funktionsbausteinen (FB) 171534 bdquoWeiterreichenldquo von Bausteinparametern 174

54 Anlaufprogramm 175541 Organisationsbaustein OB 100 175542 Baugruppenadresse ermitteln 176543 Baugruppen parametrieren 178

Inhaltsverzeichnis

11

55 Hauptprogramm 181551 Organisationsbaustein OB 1 181552 Prozessabbild-Aktualisierung 182553 Zykluszeit und Reaktionszeit 183554 Programm anhalten stoppen und schuumltzen 185555 Uhrzeit 187556 Systemzeit lesen 189557 Betriebsstundenzaumlhler 190

56 Alarmbearbeitung 191561 Einfuumlhrung zur Alarmbearbeitung 191562 Prioritaumltsklassen 192563 Uhrzeitalarm Organisationsbaustein OB 10 192564 Verzoumlgerungsalarme Organisationsbausteine OB 20 und OB 21 196565 Weckalarme Organisationsbausteine OB 32 bis OB 35 198566 Prozessalarm Organisationsbaustein OB 40 200567 DPV1-Alarme Organisationsbausteine OB 55 bis OB 57 202568 Taktsynchronalarm Organisationsbaustein OB 61 202569 Alarmzusatzinformation lesen 205

57 Fehlerbehandlung 206571 Fehlerursachen und Fehlerreaktion 206572 Synchronfehler 206573 Synchronfehlerbearbeitung sperren und freigeben 208574 Ersatzwert eintragen 211575 Asynchronfehler 212576 Alarme und Asynchronfehler sperren verzoumlgern und freigeben 215

58 Diagnose 217581 Diagnosealarm Organisationsbaustein OB 82 217582 Systemzustandsliste lesen 219583 Startinformation lesen 220584 Anwender-Diagnoseereignis in den Diagnosepuffer schreiben 221585 Systemdiagnose mit Report System Errors 222

6 Programmeditor 225

61 Einfuumlhrung 225

62 PLC-Variablentabelle 226621 Mit PLC-Variablentabellen arbeiten 226622 PLC-Variablen definieren und bearbeiten 226623 PLC-Variablen vergleichen 228624 PLC-Variablentabelle exportieren und importieren 229625 Konstantentabellen 230

63 Einen Codebaustein programmieren 230631 Einen neuen Codebaustein anlegen 230632 Arbeitsbereich des Programmeditors fuumlr Codebausteine 232633 Bausteineigenschaften fuumlr Codebausteine festlegen 233634 Bausteinschnittstelle programmieren 234635 Steuerungsfunktion programmieren 236

Inhaltsverzeichnis

12

636 Variablen editieren 240637 Mit Programmkommentaren arbeiten 242

64 Einen Datenbaustein programmieren 244641 Einen neuen Datenbaustein anlegen 244642 Arbeitsbereich des Programmeditors fuumlr Datenbausteine 244643 Bausteineigenschaften fuumlr Datenbausteine festlegen 246644 Datenvariablen deklarieren 246645 Datenvariablen in Globaldatenbausteinen eingeben 247

65 Bausteine uumlbersetzen 248651 Uumlbersetzung starten 248652 SCL-Bausteine uumlbersetzen 249653 Fehler nach der Uumlbersetzung beheben 249

66 Programminformationen 250661 Querverweisliste 251662 Belegungsplan 253663 Aufrufstruktur 254664 Abhaumlngigkeitsstruktur 255665 Konsistenzpruumlfung 255666 Speicherauslastung der CPU 256

7 Kontaktplan KOP 258

71 Einfuumlhrung 258711 Programmieren mit KOP allgemein 258712 Programmelemente des Kontaktplans 260

72 Binaumlre Verknuumlpfungen mit KOP programmieren 260721 Schlieszligerkontakt und Oumlffnerkontakt 260722 Reihen- und Parallelschaltung von Kontakten 262723 T-Abzweig offener Parallelzweig 263724 Verknuumlpfungsergebnis negieren 264725 Flankenauswertung einer Binaumlrvariablen 265726 Vergleich-Kontakte 265

73 Speicherfunktionen mit KOP programmieren 266731 Einfache Spule Zuweisung 266732 Setzen- und Ruumlcksetzen-Spule 268733 Speicherndes Verhalten durch Selbsthaltung 268734 Spulen mit Zeitverhalten 269735 Spulen mit Zaumlhlerverhalten 270

74 Q-Boxen mit KOP programmieren 271741 Speicher-Boxen 272742 Flankenauswertung des Stromflusses 272743 SIMATIC-Zeitfunktionen 273744 SIMATIC-Zaumlhlfunktionen 274745 IEC-Zeitfunktionen 274746 IEC-Zaumlhlfunktionen 276

75 ENENO-Boxen mit KOP programmieren 277751 Uumlbertragungsfunktion MOVE 277

Inhaltsverzeichnis

13

752 Arithmetische Funktionen 278753 Mathematische Funktionen 279754 Konvertierungsfunktionen 280755 Schiebefunktionen 281756 Wortverknuumlpfungen 282

76 Programmfluss bei KOP steuern 284761 Mit Statusbits im Kontaktplan arbeiten 284762 ENENO-Mechanismus bei KOP 286763 Sprungfunktionen 287764 Bausteinfunktionen 288765 Master Control Relay (MCR) 290

8 Funktionsplan FUP 292

81 Einfuumlhrung 292811 Programmieren mit FUP allgemein 292812 Programmelemente des Funktionsplans 294

82 Binaumlre Verknuumlpfungen mit FUP programmieren 295821 Abfrage auf Signalzustand bdquo1ldquo und auf Signalzustand bdquo0ldquo 295822 Eine binaumlre Verknuumlpfung im Funktionsplan programmieren 296823 UND-Funktion 297824 ODER-Funktion 297825 Exklusiv-ODER-Funktion 297826 Kombinierte binaumlre Verknuumlpfungen Verknuumlpfungsergebnis negieren 298827 T-Abzweig 299828 Flankenauswertung von Binaumlrvariablen 299829 Vergleichsfunktionen 300

83 Standard-Boxen mit FUP programmieren 301831 Zuweisung-Box 302832 Setzen- und Ruumlcksetzen-Box 302833 Standard-Boxen mit Zeitverhalten 303834 Standard-Boxen mit Zaumlhlerverhalten 304

84 Q-Boxen mit FUP programmieren 305841 Speicher-Boxen 305842 Flankenauswertung des Verknuumlpfungsergebnisses 307843 SIMATIC-Zeitfunktionen 308844 SIMATIC-Zaumlhlfunktionen 308845 IEC-Zeitfunktionen 309846 IEC-Zaumlhlfunktionen 309

85 ENENO-Boxen mit FUP programmieren 310851 Uumlbertragungsfunktion MOVE 312852 Arithmetische Funktionen 312853 Mathematische Funktionen 313854 Konvertierungsfunktionen 313855 Schiebefunktionen 315856 Wortverknuumlpfungen 316

Inhaltsverzeichnis

14

86 Programmfluss bei FUP steuern 318861 Mit Statusbits im Funktionsplan arbeiten 318862 ENENO-Mechanismus bei FUP 320863 Sprungfunktionen 321864 Bausteinfunktionen 322865 Master Control Relay (MCR) 324

9 Anweisungsliste AWL 326

91 Einfuumlhrung 326911 Programmieren mit AWL allgemein 326912 Aufbau einer AWL-Anweisung 327

92 Binaumlre Verknuumlpfungen mit AWL programmieren 328921 Bearbeitung einer binaumlren Verknuumlpfung Verknuumlpfungsschritt 328922 Abfrage auf Signalzustand bdquo1ldquo und auf Signalzustand bdquo0ldquo 330923 Eine binaumlre Verknuumlpfung in Anweisungsliste programmieren 331924 UND-Funktion 332925 ODER-Funktion 332926 Exklusiv-ODER-Funktion 333927 Kombinierte binaumlre Verknuumlpfungen 333928 Verknuumlpfungsergebnis steuern 336

93 Speicherfunktionen mit AWL programmieren 337931 Zuweisung 337932 Setzen und Ruumlcksetzen 338933 Flankenauswertung 338

94 Zeit- und Zaumlhlfunktionen mit AWL programmieren 339941 SIMATIC-Zeitfunktionen 339942 SIMATIC-Zaumlhlfunktionen 341943 IEC-Zeitfunktionen 342944 IEC-Zaumlhlfunktionen 343

95 Digitalfunktionen mit AWL programmieren 344951 Uumlbertragungsfunktionen 344952 Vergleichsfunktionen 346953 Arithmetische Funktionen 349954 Mathematische Funktionen 352955 Konvertierungsfunktionen 353956 Schiebefunktionen 354957 Wortverknuumlpfungen 356

96 Programmfluss bei AWL steuern 358961 Mit Statusbits in der Anweisungsliste arbeiten 359962 ENENO-Mechanismus bei AWL 361963 Sprungfunktionen 363964 Sprungverteiler 364965 Schleifensprung 364966 Bausteinfunktionen 365967 Master Control Relay (MCR) 368

97 Weitere AWL-Funktionen 369

Inhaltsverzeichnis

15

971 Akkumulatorfunktionen 369972 Addieren von Konstanten zum Akkumulator 1 371973 Dekrementieren Inkrementieren 372974 Nullanweisungen 373

10 Structured Control Language SCL 374

101 Einfuumlhrung in die Programmierung mit SCL 3741011 Programmieren mit SCL allgemein 3741012 SCL-Anweisungen und Operatoren 376

102 Binaumlre Verknuumlpfungen mit SCL programmieren 3781021 Abfrage auf Signalzustand bdquo1ldquo und auf Signalzustand bdquo0ldquo 3781022 UND-Funktion 3791023 ODER-Funktion 3791024 Exklusiv-ODER-Funktion 3801025 Kombinierte binaumlre Verknuumlpfungen 3801026 Verknuumlpfungsergebnis negieren 381

103 Speicherfunktionen mit SCL programmieren 3821031 Wertzuweisung einer Binaumlrvariablen 3821032 Setzen und Ruumlcksetzen 3821033 Flankenauswertung 382

104 Zeit- und Zaumlhlfunktionen mit SCL programmieren 3831041 SIMATIC-Zeitfunktionen 3831042 SIMATIC-Zaumlhlfunktionen 3841043 IEC-Zeitfunktionen 3851044 IEC-Zaumlhlfunktionen 386

105 Digitalfunktionen mit SCL programmieren 3871051 Uumlbertragungsfunktion Wertzuweisung einer Digitalvariablen 3871052 Vergleichsfunktionen 3871053 Arithmetische Funktionen 3881054 Mathematische Funktionen 3891055 Konvertierungsfunktionen 3901056 Schiebefunktionen 3911057 Wortverknuumlpfungen logischer Ausdruck 392

106 Programmfluss mit SCL steuern 3931061 Mit der Variablen ENO arbeiten 3931062 ENENO-Mechanismus bei SCL 3951063 Kontrollanweisungen 3961064 Bausteinfunktionen 404

11 Ablaufsteuerung S7-GRAPH 408

111 Einfuumlhrung 4081111 Was ist eine Ablaufsteuerung 4081112 Eigenschaften einer Ablaufsteuerung 4091113 Programm fuumlr eine Ablaufsteuerung Mengengeruumlst 4101114 Betriebsarten 4101115 Vorgehen bei der Projektierung 411

Inhaltsverzeichnis

16

112 Elemente einer Ablaufsteuerung 4121121 Schritte und Transitionen 4121122 Spruumlnge in einer Ablaufsteuerung 4131123 Verzweigungen einer Ablaufkette 4131124 GRAPH-spezifische Variablen 4151125 Permanente Anweisungen 4161126 Schritt- und Transitionsfunktionen 4161127 Bearbeitung von Aktionen 420

113 Eine Ablaufsteuerung projektieren 4261131 Den GRAPH-Funktionsbaustein programmieren 4271132 Projektieren der Kettenstruktur 4281133 Schritte und Transitionen programmieren 4291134 Permanente Anweisungen programmieren 4311135 Bausteinuumlbergreifende Meldungen projektieren 4311136 Attribute des GRAPH-Funktionsbausteins 4321137 GRAPH-Funktionsbaustein anwenden 433

114 Ablaufsteuerung testen 4341141 GRAPH-Funktionsbaustein laden 4351142 Einstellungen zum Programmtest 4351143 Betriebsarten verwenden 4361144 Ablaufkette synchronisieren 4371145 Mit Programmstatus testen 438

12 Basisfunktionen 440

121 Binaumlre Verknuumlpfungen 4401211 Einfuumlhrung 4401212 Arbeiten mit Binaumlrsignalen 4411213 UND-Funktion Reihenschaltung 4441214 ODER-Funktion Parallelschaltung 4451215 Exklusiv-ODER-Funktion Antivalenzfunktion 4451216 Verknuumlpfungsergebnis negieren NOT-Kontakt 446

122 Speicherfunktionen 4481221 Einfuumlhrung 4481222 Standardspule Zuweisung 4481223 Einzelnes Setzen und Ruumlcksetzen 4481224 Vorrangiges Setzen und Ruumlcksetzen Speicherfunktion 4501225 Flankenauswertung 452

123 SIMATIC-Zeitfunktionen 4571231 Uumlbersicht 4571232 Programmieren einer Zeitfunktion 4601233 Zeitverhalten als Impuls 4621234 Zeitverhalten als verlaumlngerter Impuls 4641235 Zeitverhalten als Einschaltverzoumlgerung 4661236 Zeitverhalten als speichernde Einschaltverzoumlgerung 4681237 Zeitverhalten als Ausschaltverzoumlgerung 470

124 IEC-Zeitfunktionen 472

Inhaltsverzeichnis

17

1241 Einfuumlhrung 4721242 Impulsbildung TP 4731243 Einschaltverzoumlgerung TON 4741244 Ausschaltverzoumlgerung TOF 475

125 SIMATIC-Zaumlhlfunktionen 4761251 Uumlbersicht 4761252 Programmieren einer Zaumlhlfunktion 4781253 Funktionsweise einer Zaumlhlfunktion 4801254 Freigeben einer Zaumlhlfunktion bei AWL 482

126 IEC-Zaumlhlfunktionen 4831261 Einfuumlhrung 4831262 Vorwaumlrtszaumlhler CTU 4841263 Ruumlckwaumlrtszaumlhler CTD 4851264 VorwaumlrtsRuumlckwaumlrtszaumlhler CTUD 487

13 Digitalfunktionen 488

131 Allgemeines 488

132 Uumlbertragungsfunktionen 4891321 Allgemeines zur bdquoeinfachenldquo Uumlbertragungsfunktion 4891322 MOVE-Box bei KOP und FUP 4891323 Laden und Transferieren bei AWL 4911324 Wertzuweisungen bei SCL 4921325 Datenbereich im Arbeitsspeicher kopieren und fuumlllen 4941326 Datenbereich vom und zum Ladespeicher uumlbertragen 4971327 Speicherbereich steuern bei MCR-Abhaumlngigkeit 498

133 Vergleichsfunktionen 5011331 Ausfuumlhrung der bdquoeinfachenldquo Vergleichsfunktion 5011332 Vergleichsfunktion T_COMP 5031333 Vergleichsfunktion S_COMP 503

134 Arithmetische Funktionen 5041341 Allgemeine Funktionsbeschreibung 5041342 Datentypen und Statusbits bei einer arithmetischen Funktion 5051343 Ausfuumlhrung der arithmetischen Funktion 5071344 Arithmetische Funktionen fuumlr Datum und Uhrzeit 508

135 Mathematische Funktionen 5101351 Allgemeine Funktionsbeschreibung 5101352 Allgemeine Ausfuumlhrung einer mathematischen Funktion 5111353 Winkelfunktionen SIN COS TAN 5111354 Arcusfunktionen ASIN ACOS ATAN 5121355 Sonstige mathematische Funktionen 512

136 Konvertierungsfunktionen 5141361 Implizite Datentypwandlung 5141362 Datentypwandlung von Festpunktzahlen 5151363 Datentypwandlung von Gleitpunktzahlen 5181364 Datentypwandlung fuumlr DatumUhrzeit mit T_CONV 5211365 Datentypwandlung fuumlr Datentyp STRING mit S_CONV 522

Inhaltsverzeichnis

18

1366 Datentypwandlung von Hexadezimalzahlen 5241367 Skalieren und Deskalieren 5251368 Sonstige Konvertierungsfunktionen 526

137 Schiebefunktionen 5271371 Allgemeine Funktionsbeschreibung 5271372 Allgemeine Ausfuumlhrung einer Schiebefunktion 5291373 Rechts schieben 5301374 Links schieben 5301375 Rechts rotieren 5311376 Links rotieren 5321377 Rotieren durch das Anzeigenbit A1 (AWL) 532

138 Logikfunktionen 5321381 Wortverknuumlpfungen 5331382 Invertieren 5351383 Bit codieren und Bitnummer setzen 5361384 Auswahl- und Begrenzerfunktionen 537

139 Funktionen fuumlr Zeichenketten 540

14 Programmfluss-Steuerung 544

141 Statusbits 5451411 Beschreibung der Statusbits 5451412 Steuern der Statusbits 5471413 Verknuumlpfungsergebnis setzen und ruumlcksetzen 5481414 Binaumlrergebnis steuern 5491415 Auswertung der Statusbits 552

142 Sprungfunktionen 5531421 Einfuumlhrung 5531422 Absoluter Sprung 5531423 Bedingte Sprungfunktionen 5551424 Von den Statusbits abhaumlngige Sprungfunktionen 556

143 Bausteinende-Funktionen 5591431 Bausteinende-Funktion RET (KOP und FUP) 5601432 Bausteinende-Funktionen BEB BEA und BE (AWL) 5601433 RETURN-Anweisung (SCL) 561

144 Aufruf von Codebausteinen 5611441 Allgemeines zu Bausteinaufrufen 5611442 Aufruf einer Funktion (FC) 5621443 Aufruf eines Funktionsbausteins (FB) 5641444 Wechsel zu einem Baustein ohne Bausteinparameter 566

145 Datenbausteinfunktionen 5681451 Datenbaustein aufschlagen 5691452 Zusaumltzliche Datenbausteinfunktionen bei AWL 5701453 Datenbaustein erzeugen loumlschen und testen 571

146 Master Control Relay 5741461 Einfuumlhrung 5741462 MCR-Abhaumlngigkeit 575

Inhaltsverzeichnis

19

1463 MCR-Bereich und MCR-Zone 5751464 MCR-Bereich und MCR-Zone bei einem Bausteinwechsel 5781465 Anweisungen fuumlr das Master Control Relay 578

15 Online-Betrieb und Programmtest 580

151 Programmiergeraumlt an die PLC-Station anschlieszligen 5811511 Einstellungen am Programmiergeraumlt 5811512 Das Programmiergeraumlt mit der PLC-Station verbinden 5821513 Den Online-Betrieb einschalten 583

152 Projektdaten uumlbertragen 5841521 Die Projektdaten erstmalig laden 5841522 Die Projektdaten nachladen 5871523 Schutz des Anwenderprogramms 5881524 Online-Projekt ohne Offline-Projekt bearbeiten 5891525 Mit der Micro Memory Card arbeiten 590

153 Mit Bausteinen im Online-Betrieb arbeiten 5901531 Einfuumlhrung 5901532 Die Online-Version eines Bausteins bearbeiten 5911533 Einen Baustein in die CPU-Baugruppe laden 5921534 Den Arbeitsspeicher komprimieren 5941535 Bausteine aus der CPU zuruumlckladen 5941536 Mit Einstellwerten arbeiten 5961537 Bausteine vergleichen 598

154 Hardware-Diagnose 6011541 Status-Anzeigen an den Baugruppen 6011542 Diagnose-Informationen 6021543 Diagnosepuffer 6021544 Diagnose-Funktionen 6041545 Online-Tools 6041546 Weitere Diagnose-Informationen uumlber das Programmiergeraumlt 605

155 Anwenderprogramm testen 6061551 Aufrufumgebung definieren 6061552 Testen mit Programmstatus 6071553 Testen im Einzelschrittmodus 6111554 PLC-Variablen beobachten 6141555 Datenvariablen beobachten 6141556 Testen mit Beobachtungstabellen 6151557 Beobachten und Steuern im Betriebszustand STOP 6201558 Testen mit der Force-Tabelle 622

16 Dezentrale Peripherie 626

161 Einfuumlhrung Uumlbersicht 626

162 Dezentrales Peripheriesystem ET 200 6271621 ET 200M 6271622 ET 200MP 6281623 ET 200S 628

Inhaltsverzeichnis

20

1624 ET 200SP 6291625 ET 200iSP 6301626 ET 200pro 6311627 ET 200eco 631

163 PROFINET IO 6321631 Komponenten von PROFINET IO 6321632 Adressen bei PROFINET IO 6351633 Spezielle PROFINET-Konfigurationen 6381634 PROFINET IO projektieren 6391635 Kopplungsbaugruppen fuumlr PROFINET IO 6431636 Echtzeit-Kommunikation bei PROFINET 644

164 PROFIBUS DP 6491641 Komponenten von PROFIBUS DP 6491642 Adressen bei PROFIBUS DP 6521643 PROFIBUS DP projektieren 6561644 Kopplungsbaugruppen fuumlr PROFIBUS DP 6591645 Sonderfunktionen fuumlr PROFIBUS DP 661

165 Taktsynchronitaumlt 6621651 Einfuumlhrung 6621652 Taktsynchronitaumlt bei PROFINET 6631653 Taktsynchronitaumlt bei PROFIBUS 666

166 Systembausteine fuumlr dezentrale Peripherie 6691661 Systembausteine fuumlr PROFIBUS DP 6691662 Systembausteine fuumlr PROFIBUS DP und PROFINET IO 6731663 Systembausteine fuumlr PROFINET IO 676

167 AktorSensor-Interface 6791671 Komponenten von AktorSensor-Interface 6791672 Adressen am AktorSensor-Interface 6811673 AktorSensor-Interface mit CP 343-2P projektieren 6811674 Systemfunktionen fuumlr AS-i 683

17 Kommunikation 684

171 Uumlbersicht 684

172 S7-Basiskommunikation 6851721 Grundlagen der stationsinternen S7-Basiskommunikation 6851722 Stationsinterne S7-Basiskommunikation projektieren 6861723 Systembausteine fuumlr stationsinterne S7-Basiskommunikation 6861724 Grundlagen der stationsexternen S7-Basiskommunikation 6881725 Stationsexterne S7-Basiskommunikation projektieren 6891726 Systembausteine fuumlr stationsexterne S7-Basiskommunikation 689

173 S7-Kommunikation 6921731 Grundlagen 6921732 S7-Kommunikation projektieren 6931733 Einseitiger Datenaustausch 6951734 Zweiseitiger Datenaustausch 6961735 Uumlberwachungsfunktionen 699

Inhaltsverzeichnis

21

174 Open User Communication 700

1741 Grundlagen 700

1742 Verbindungen auf- und abbauen 702

1743 Datenuumlbertragung mit TCP native oder ISO-on-TCP 704

1744 Datenuumlbertragung mit UDP 707

18 Anhang 710

181 Arbeiten mit Quelldateien 710

1811 Allgemeines Vorgehen 710

1812 Einen Codebaustein in der Quelldatei programmieren 712

1813 Einen Datenbaustein in der Quelldatei programmieren 715

1814 Einen PLC-Datentyp in der Quelldatei programmieren 719

182 Projekte migrieren 720

183 Simulation mit dem TIA Portal 724

1831 Unterschiede zu einer realen CPU-Baugruppe 724

1832 Simulation starten und speichern 725

1833 Die Simulation bedienen 726

1834 Programm mit der Simulation testen 728

1835 Weitere Funktionen von PLCSIM 730

184 Webserver 731

1841 Webserver aktivieren 731

1842 Web-Informationen auslesen 732

1843 Standard-Webseiten 733

185 Ablage von lokalen Variablen 736

1851 Ablage in Global-Datenbausteinen 736

1852 Ablage in Instanz-Datenbausteinen 737

1853 Ablage in den temporaumlren Lokaldaten 738

1854 Datenablage der Bausteinparameter einer Funktion (FC) 739

1855 Datenablage der Bausteinparameter eines Funktionsbausteins (FB) 742

1856 Datenablage einer Lokalinstanz in einer Multiinstanz 744

Stichwortverzeichnis 746

1 Einfuumlhrung

22

1 Einfuumlhrung

11 Uumlbersicht Automatisierungssystem S7-300

SIMATIC S7-300 ist das modulare Kleinsteuersystem fuumlr den unteren und mittlerenLeistungsbereich (Bild 11) Verschiedene Varianten der Controller passen die Leis-tungsfaumlhigkeit an den jeweiligen Einsatzfall an Je nach Bedarf kann das Automati-sierungsgeraumlt mit Ein-Ausgabebaugruppen fuumlr Digital- und Analogsignale in biszu vier Baugruppentraumlgern mit je acht Baugruppen modular erweitert werden

Eine zusaumltzliche Erweiterung mit Ein-Ausgabebaugruppen bietet die dezentralePeripherie uumlber PROFIBUS oder PROFINET Mit besonderen Bauformen fuumlr erhoumlhtemechanische Anforderungen ausgestattet koumlnnen diese Baugruppen vor Ort ander Maschine oder Anlage installiert werden Die Steuerungsgeraumlte SIMATIC S7-300werden mit STEP 7 konfiguriert projektiert und programmiert Der Datenaus-tausch zwischen den Steuerungsgeraumlten der dezentralen Peripherie und dem Pro-grammiergeraumlt geschieht mit SIMATIC NET

Bild 11 Bestandteile des Automatisierungssystems SIMATIC S7-300

SIMATIC Controller steuern dieMaschine oder Anlage

Die dezentrale Peripherie erweitert dieSchnittstelle zur Maschine oder Anlage

SIMATIC NET

SIMATIC DP STEP 7Professional V12

SIMATIC S7-300

Die Vernetzung ermoumlglicht denDatenaustausch und den zentralenOnline-Zugriff

Mehrere Varianten der Controllererweitern das Einsatzspektrum

STEP 7 ist die Engineeringsoftware zumKonfigurieren undProgrammieren

Projektieren

Automatisierungssystem SIMATIC S7-300

11 Uumlbersicht Automatisierungssystem S7-300

23

111 Automatisierungsgeraumlt SIMATIC S7-300

Die wesentlichen Bestandteile eines S7-300-Automatisierungsgeraumlts sind im Bild12 dargestellt

Die CPU-Baugruppe enthaumllt das Betriebssystem und das AnwenderprogrammDas Anwenderprogramm steht spannungsausfallsicher auf der in der CPU-Bau-gruppe steckenden Micro Memory Card (MMC) Die Bearbeitung des Anwenderpro-gramms findet im Arbeitsspeicher in der CPU statt Die auf der CPU-Baugruppe vor-handenen Busschnittstellen stellen die Verbindung zu anderen Automatisierungs-geraumlten her

Die Verbindung zur gesteuerten Anlage uumlbernehmen SM-Baugruppen Diese Ein-und Ausgabebaugruppen gibt es fuumlr Digital- und Analogsignale

Die FM-Baugruppen sind signalvorverarbeitende bdquointelligenteldquo Peripheriebau-gruppen die vom Prozess kommende Signale unabhaumlngig von der CPU aufberei-ten verarbeiten und entweder wieder direkt an den Prozess zuruumlckgeben oder ander internen Schnittstelle der CPU zur Verfuumlgung stellen FM-Baugruppen uumlber-nehmen Funktionen die die CPU meist nicht schnell genug ausfuumlhren kann wiez B Impulse zaumlhlen positionieren oder Antriebe regeln

Die CP-Baugruppen gestatten einen Datenverkehr der die Moumlglichkeiten derStandard-Schnittstellen bezuumlglich Protokolle und Kommunikationsfunktionenuumlberschreitet

Die IM-Baugruppen verbinden bei einer Erweiterung den Zentralbaugruppentrauml-ger mit bis zu drei Erweiterungsbaugruppentraumlgern

Eine Stromversorgungsbaugruppe sorgt schlieszliglich fuumlr die benoumltigte Spannungim Automatisierungsgeraumlt

Bild 12 Bestandteile einer S7-300-Steuerung

Erweiterungsbaugruppentraumlger

Zentralbaugruppentraumlger SM-Baugruppen(Signal Modules)

Auf den Baugruppen-traumlgern sind steckbar

FM-Baugruppen(Function Modules)

CP-Baugruppen(CommunicationProcessors)

IM-Baugruppe(Interface Module)

IM-Baugruppe(Interface Module)

CPU-Baugruppe(Central Processor Unit)

PS-Baugruppe(Power Supply)

Baugruppen-traumlger (Rack)

Bestandteile einer S7-300-Steuerung

S

1 Einfuumlhrung

24

112 Uumlbersicht STEP 7 Professional V12

STEP 7 ist das zentrale Automatisierungswerkzeug fuumlr SIMATIC STEP 7 benoumltigtzum Betrieb eine Autorisierung (Lizenz) und laumluft auf den jeweils aktuellen Be-triebssystemen unter Microsoft Windows Die Projektierung eines S7-300-Control-lers geschieht mit zwei Ansichten der Portalansicht und der Projektansicht

Die Portalansicht ist aufgabenorientiert angelegt

Im Startportal oumlffnen Sie ein bestehendes Projekt erstellen ein neues Projekt odermigrieren ein Projekt Ein bdquoProjektldquo ist eine Datenstruktur die alle erforderlichenProgramme und Daten fuumlr Ihr Automatisierungsvorhaben enthaumllt Von hier aussind die wichtigsten Werkzeuge und Funktionen von STEP 7 uumlber weitere Portale er-reichbar (Bild 13)

b Im Portal Geraumlte amp Netze konfigurieren Sie die Automatisierungsgeraumlte d h Sieplatzieren die Baugruppen in einem Baugruppentraumlger und parametrieren sie

b Im Portal PLC-Programmierung erstellen Sie das Anwenderprogramm in Formvon einzelnen Abschnitten die man bdquoBausteineldquo nennt

b Das Portal Visualisierung bietet die wichtigsten Werkzeuge fuumlr die Projektierungund Simulation von HMI-Systemen mit SIMATIC WinCC an

Bild 13 Werkzeuge im Startportal von STEP 7 Professional V12

11 Uumlbersicht Automatisierungssystem S7-300

25

b Mit dem Portal Motion amp Technology fuumlgen Sie ein Technologie-Objekt fuumlr PIDControl ein und bearbeiten es

b Mit dem Portal Online amp Diagnose schalten Sie das Programmiergeraumlt online aneine CPU-Baugruppe Sie koumlnnen die Betriebsarten der CPU steuern und das An-wenderprogramm uumlbertragen und testen

Die Projektansicht bietet eine objektorientierte Ansicht mit mehreren Fensternderen Inhalt je nach ausgefuumlhrter Taumltigkeit wechselt In der Geraumltekonfigurationsteht der Arbeitsbereich mit dem zu konfigurierenden Geraumlt im Mittelpunkt In derGeraumltesicht wird der Baugruppentraumlger mit den bereits platzierten Baugruppen ge-zeigt (Bild 14) Ein weiteres Fenster ndash das Inspektorfenster ndash enthaumllt die Eigen-schaften der selektierten Baugruppe das Aufgaben-Fenster (Task Card) gibt Unter-stuumltzung durch den Hardware-Katalog mit den zur Verfuumlgung stehenden Baugrup-pen Die Netzsicht gestattet die Vernetzung zwischen PLC- und HMI-Stationen

Bei der PLC-Programmierung bearbeiten Sie im Arbeitsbereich den ausgewaumlhltenBaustein Wiederum sehen Sie im Inspektorfenster die Eigenschaften des markier-ten Objekts und koumlnnen diese einstellen Das Aufgabenfenster enthaumllt diesmal denProgrammelemente-Katalog mit den zur Verfuumlgung stehenden Programmelemen-ten und Anweisungen Aumlhnliches gilt fuumlr die Bearbeitung der PLC-Variablen oderbeim Online-Programmtest durch Beobachtungstabellen

Bild 14 Beispiel fuumlr die Projektansicht Arbeitsbereich der Geraumltekonfiguration

1 Einfuumlhrung

26

Und stets haben Sie die Projektnavigation im Blickfeld Sie enthaumllt alle Objekte desSTEP-7-Projekts So koumlnnen Sie jederzeit ein Objekt beispielsweise einen Pro-grammbaustein oder eine Beobachtungstabelle auswaumlhlen und dieses Objekt mitden entsprechenden Editoren die beim Oumlffnen des Objekts automatisch startenbearbeiten

113 Fuumlnf Programmiersprachen

Als Programmiersprache fuumlr das Anwenderprogramm koumlnnen Sie zwischen Kon-taktplan (KOP) Funktionsplan (FUP) Anweisungsliste (AWL) Structured ControlLanguage (SCL) und Ablaufsteuerung (GRAPH) waumlhlen

Mit Kontaktplan programmieren Sie die Steuerungsaufgabe angelehnt an denStromlaufplan Die Verknuumlpfung der binaumlren Signalzustaumlnde wird durch die seriel-le oder parallele Anordnung von Kontakten und Spulen dargestellt (Bild 15) Kom-plexe Funktionen wie beispielsweise die arithmetischen Funktionen werden mitBoxen dargestellt die Sie wie Kontakte oder Spulen im Kontaktplan anordnen

Mit Funktionsplan programmieren Sie die Steuerungsaufgabe angelehnt an elektro-nische Schaltkreissysteme Binaumlre Verknuumlpfungen werden durch Verschaltung vonUND- und ODER-Funktionen realisiert und mit Speicher-Boxen abgeschlossen (Bild16) Komplexe Boxen uumlbernehmen die Verknuumlpfung digitaler Variablen beispiels-weise bei den arithmetischen Funktionen

Bild 15 Beispiel fuumlr die Darstellung in Kontaktplan

Bild 16 Beispiel fuumlr die Darstellung in Funktionsplan

11 Uumlbersicht Automatisierungssystem S7-300

27

Mit Anweisungsliste programmieren Sie die Steuerungsaufgabe durch eine Folgevon Anweisungen Jede AWL-Anweisung enthaumllt eine Vorschrift was zu tun ist undeventuell einen Operand mit dem die Operation ausgefuumlhrt wird AWL ist gleicher-maszligen geeignet fuumlr binaumlre und digitale Verknuumlpfungen wie fuumlr die Programmierungkomplexer Steuerungsaufgaben (Bild 17)

Structured Control Language eignet sich besonders fuumlr die Programmierung vonkomplexen Algorithmen oder fuumlr Aufgabenstellungen aus dem Bereich der Datenver-waltung Das Programm besteht aus SCL-Anweisungen die beispielsweise Wertzuwei-sungen Vergleiche oder Kontrollanweisungen sein koumlnnen (Bild 18)

Mit GRAPH programmieren Sie eine Steuerungsaufgabe als Ablaufsteuerung in derdie sequenzielle Folge von Aktionen vorherrscht Die einzelnen Schritte und Verzwei-gungen werden durch Weiterschaltbedingungen freigegeben die mit KOP oder FUPprogrammiert werden koumlnnen (Bild 19)

114 Bearbeitung des Anwenderprogramms

Nach dem Einschalten der Versorgungsspannung pruumlft der Steuerungsprozessordie Konsistenz der Hardware und parametriert die Baugruppen Anschlieszligend wirdeinmalig ndash falls vorhanden ndash ein Anlaufprogramm bearbeitet Das Anlaufpro-

Bild 17 Beispiel fuumlr AWL-Anweisungen

Bild 18 Beispiel fuumlr SCL-Anweisungen

1 Einfuumlhrung

28

gramm gehoumlrt zum Anwenderprogramm das Sie programmieren Im Anlaufpro-gramm koumlnnen beispielsweise Baugruppen initialisiert werden

Das Anwenderprogramm ist in der Regel in einzelne Abschnitte ndash bdquoBausteineldquo ge-nannt ndash eingeteilt Die Organisationsbausteine (OB) sind die Schnittstelle zwischenBetriebssystem und Anwenderprogramm Das Betriebssystem ruft zu bestimmtenEreignissen einen Organisationsbaustein auf in dem dann das Anwenderpro-gramm bearbeitet wird (Bild 110)

Bild 19 Beispiel fuumlr eine GRAPH-Ablaufkette und eine Schrittprojektierung

Bild 110 Bearbeitung des Anwenderprogramms

Anlauf-programm

Alarm- undFehlerprogramm

Haupt-programm

Bearbeitung des Anwenderprogramms

Einschalten

Aktualisierung derEin- und Ausgaumlnge

Unterbrechung(Alarm oder Fehler)

BetriebszustandANLAUF

Betriebssystem Anwenderprogramm

BetriebszustandRUN

OB

OB

FBFC

FBFC

FBFC

FBFC

FBFC

FBFC

OB

Unterbrechung

11 Uumlbersicht Automatisierungssystem S7-300

29

Zur Strukturierung das Programms stehen Funktionsbausteine (FB) und Funktio-nen (FC) zur Verfuumlgung Funktionsbausteine haben einen Speicher in dem lokaleVariablen dauerhaft abgelegt sind Funktionen haben diesen Speicher nicht

Fuumlr den Aufruf (das Starten der Bearbeitung) von Funktionsbausteinen und Funk-tionen gibt es Programmanweisungen Jeder Bausteinaufruf kann mit Ein- undAusgaumlngen ndash bdquoBausteinparameterldquo genannt ndash versehen werden Beim Aufruf koumln-nen Variablen uumlbergeben werden mit denen das Programm im Baustein arbeitensoll Auf diese Weise kann ein Baustein mit einer gewissen Funktion (z B der Addi-tion von drei Variablen) mehrfach mit unterschiedlichen Parametersaumltzen (z B fuumlrunterschiedliche Berechnungen) aufgerufen werden (Bild 111)

Die Daten des Anwenderprogramms werden in Datenbausteinen (DB) abgelegtInstanz-Datenbausteine sind einem Aufruf eines Funktionsbausteins fest zugeord-net und bilden den Variablenspeicher des Funktionsbausteins Global-Datenbau-steine enthalten Daten die keinem Baustein zugeordnet sind

Nach einem Anlauf aktualisiert der Steuerungsprozessor die Ein- und Ausgangs-signale in den Prozessabbildern und ruft den Organisationsbaustein OB 1 auf Hiersteht das Hauptprogramm Auch im Hauptprogramm ist eine Strukturierung moumlg-lich und zu empfehlen Ist das Hauptprogramm bearbeitet wechselt der Steue-rungsprozessor zuruumlck ins Betriebssystem haumllt beispielsweise die Kommunikati-on mit dem Programmiergeraumlt aufrecht aktualisiert die Ein- und Ausgangssignaleund beginnt dann erneut mit der Bearbeitung des Hauptprogramms

Die zyklische Programmbearbeitung ist ein Merkmal speicherprogrammierbarerSteuerungen Das Anwenderprogramm wird auch dann bearbeitet wenn bdquovon au-szligenldquo keine Aktionen gefordert sind wenn also z B die gesteuerte Maschine stehtDies hat Vorteile bei der Programmierung Sie programmieren beispielsweise den

Bild 111 Beispiel fuumlr zwei Aufrufe eines Bausteins mit jeweils verschiedenen Variablen

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

Berger Automatisieren mit SIMATIC S7-300 im TIA Portal

Automatisieren mit SIMATIC S7-300 im TIA PortalProjektieren Programmieren und Testen mit STEP 7 Professional

von Hans Berger

2 uumlberarbeitete und erweiterte Auflage 2014(korrigierter Nachdruck)

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 und Abbildungen in diesem Buch mit groszliger Sorgfalt erarbeitet Dennoch koumlnnen Fehler nicht ausgeschlossen werden Eine Haftung des Verlags oder des Autors gleich aus welchem Rechtsgrund fuumlr durch die Verwendung der Programmierbeispiele verursachte Schaumlden ist ausgeschlossen

wwwpublicis-booksde

Print ISBN 978-3-89578-432-3 ePDF ISBN 978-3-89578-902-1

2 Auflage 2014

Herausgeber Siemens Aktiengesellschaft Berlin und Muumlnchen Verlag Publicis Publishing Erlangen copy 2014 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-300 mit Standard-Controllern und die Moumlglichkeitenzum Aufbau eines dezentralen Steuerungskonzepts mit PROFIBUS und PROFINETFuumlr die Kommunikation mit anderen Automatisierungssystemen bieten die Cont-roller integrierte Busschnittstellen fuumlr Multipoint Interface (MPI) PROFIBUS undIndustrial Ethernet

Die Engineeringsoftware STEP 7 Professional im TIA Portal erschlieszligt die gesamteFunktionalitaumlt der S7-300-Controller STEP 7 Professional ist das gemeinsameWerkzeug fuumlr die Konfiguration des Hardware-Aufbaus und die Programmierungdes Anwenderprogramms 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-300 mit der Engineeringsoftware STEP 7 Professionalin der Version 12 mit Service Pack 1 Update 2

Erlangen im Dezember 2013 Hans Berger

Der Inhalt des Buchs auf einen Blick

6

Der Inhalt des Buchs auf einen Blick

Start

Das Automatisierungssystem SIMATIC S7-300 in der Uumlbersicht

Eine Einfuumlhrung in die Engineeringsoftware SIMATIC STEP 7 Professional V12

Die Grundlage der Automatisierungsloumlsung Ein Projekt erstellen und bearbeiten

Automatisierungssystem SIMATIC S7-300

Die Baugruppen von SIMATIC S7-300 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

Wie ein AktorSensor-Interface System 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

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-300 22111 Automatisierungsgeraumlt SIMATIC S7-300 23112 Uumlbersicht STEP 7 Professional V12 24113 Fuumlnf Programmiersprachen 26114 Bearbeitung des Anwenderprogramms 27115 Datenhaltung im SIMATIC-Automatisierungssystem 30

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

13 Ein SIMATIC-Projekt bearbeiten 37131 Strukturierte Darstellung der Projektdaten 38132 Projektdaten und Editoren fuumlr eine PLC-Station 38133 Ein Projekt erstellen und bearbeiten 42134 Mit Referenzprojekten arbeiten 45135 Bibliotheken anlegen und bearbeiten 46

2 Automatisierungssystem SIMATIC S7-300 47

21 Komponenten einer S7-300-Station 47

22 CPU-Baugruppen S7-300 49221 CPU-Varianten 49222 Bedien- und Anzeigeelemente 51223 SIMATIC Micro Memory Card 52224 Speicherbereiche in einer S7-300-Station 52225 Busschnittstellen 54

23 Signalbaugruppen 56231 Digitaleingabebaugruppen 56232 Digitalausgabebaugruppen 57233 Digitalein-ausgabebaugruppen 57234 Analogeingabebaugruppen 58235 Analogausgabebaugruppen 58236 Analogein-ausgabebaugruppen 59

24 Funktionsbaugruppen 60

25 Kommunikationsbaugruppen 61

Inhaltsverzeichnis

9

26 Sonstige Baugruppen 63261 Anschaltungsbaugruppen (IM) 63262 Stromversorgungsbaugruppen (PS) 63263 Simulatorbaugruppe 64264 Platzhalterbaugruppe 64

27 SIPLUS S7-300 65

3 Geraumltekonfiguration 66

31 Einfuumlhrung 66

32 Eine Station konfigurieren 69321 Eine PLC-Station hinzufuumlgen 69322 Eine Baugruppe hinzufuumlgen 69323 Einen Erweiterungsbaugruppentraumlger hinzufuumlgen 70

33 Baugruppen parametrieren 71331 Die CPU-Eigenschaften parametrieren 71332 Baugruppen adressieren 74333 Signalbaugruppen parametrieren 77

34 Netz projektieren 78341 Einfuumlhrung Uumlbersicht 78342 Stationen vernetzen 79343 Teilnehmeradressen in einem Subnetz 80344 Verbindungen 81345 Ein MPI-Subnetz projektieren 84346 Ein PROFIBUS-Subnetz projektieren 85347 Ein PROFINET-Subnetz projektieren 87348 Ein AS-i-Subnetz projektieren 90

4 Variablen Adressierung und Datentypen 92

41 Operanden und Variablen 92411 Einfuumlhrung Uumlbersicht 92412 Operandenbereiche Eingaumlnge und Ausgaumlnge 93413 Operandenbereich Merker 96414 Operandenbereich Daten 97415 Operandenbereich temporaumlre Lokaldaten 97

42 Adressierung von Operanden und Variablen 98421 Signalweg 98422 Absolute Adressierung von Variablen 99423 Symbolische Adressierung von Variablen 104424 Adressierung von Konstanten 105

43 Indirekte Adressierung 106431 Speicherindirekte Adressierung mit AWL 107432 Registerindirekte Adressierung mit AWL 110433 Arbeiten mit den Adressregistern bei AWL 111434 Direkter Zugriff auf komplexe Lokalvariablen mit AWL 119435 Indirekte Adressierung bei SCL 121

Inhaltsverzeichnis

10

44 Elementare Datentypen 123441 Einfuumlhrung 123442 Bitfolge-Datentypen BOOL BYTE WORD und DWORD 126443 BCD-Zahlen BCD16 und BCD32 126444 Festpunkt-Datentypen mit Vorzeichen INT und DINT 128445 Gleitpunkt-Datentyp REAL 128446 Datentyp CHAR 129447 Datentypen fuumlr Zeitdauern und Zeitpunkte 130

45 Zusammengesetzte Datentypen 132451 Zeichenkette STRING 132452 Datentyp ARRAY 134453 Datentyp STRUCT 136

46 Parametertypen und Zeiger 138461 Parametertypen 138462 Zeiger 139463 bdquoVariablerldquo ANY-Zeiger bei AWL 143464 bdquoVariablerldquo ANY-Zeiger bei SCL 143

47 PLC-Datentypen 146

48 Startinformation 147

5 Programmbearbeitung 148

51 Betriebszustaumlnde der CPU-Baugruppe 148511 Betriebszustand STOP 149512 Betriebszustand ANLAUF 150513 Betriebszustand RUN 152514 Betriebszustand HALT 152515 CPU urloumlschen 153516 Auslieferungszustand wiederherstellen 153517 Remanenzverhalten von Operanden 154

52 Anwenderprogramm erstellen 154521 Programmentwurf 154522 Programmbearbeitung 158523 Bausteinarten 160524 Bausteineigenschaften bearbeiten 161525 Bausteinschnittstelle 165526 Beispiel zur Verwendung von Bausteinparametern 167

53 Bausteine aufrufen 169531 Allgemeines zu Aufrufen von Codebausteinen 169532 Aufruf von Funktionen (FC) 169533 Aufruf von Funktionsbausteinen (FB) 171534 bdquoWeiterreichenldquo von Bausteinparametern 174

54 Anlaufprogramm 175541 Organisationsbaustein OB 100 175542 Baugruppenadresse ermitteln 176543 Baugruppen parametrieren 178

Inhaltsverzeichnis

11

55 Hauptprogramm 181551 Organisationsbaustein OB 1 181552 Prozessabbild-Aktualisierung 182553 Zykluszeit und Reaktionszeit 183554 Programm anhalten stoppen und schuumltzen 185555 Uhrzeit 187556 Systemzeit lesen 189557 Betriebsstundenzaumlhler 190

56 Alarmbearbeitung 191561 Einfuumlhrung zur Alarmbearbeitung 191562 Prioritaumltsklassen 192563 Uhrzeitalarm Organisationsbaustein OB 10 192564 Verzoumlgerungsalarme Organisationsbausteine OB 20 und OB 21 196565 Weckalarme Organisationsbausteine OB 32 bis OB 35 198566 Prozessalarm Organisationsbaustein OB 40 200567 DPV1-Alarme Organisationsbausteine OB 55 bis OB 57 202568 Taktsynchronalarm Organisationsbaustein OB 61 202569 Alarmzusatzinformation lesen 205

57 Fehlerbehandlung 206571 Fehlerursachen und Fehlerreaktion 206572 Synchronfehler 206573 Synchronfehlerbearbeitung sperren und freigeben 208574 Ersatzwert eintragen 211575 Asynchronfehler 212576 Alarme und Asynchronfehler sperren verzoumlgern und freigeben 215

58 Diagnose 217581 Diagnosealarm Organisationsbaustein OB 82 217582 Systemzustandsliste lesen 219583 Startinformation lesen 220584 Anwender-Diagnoseereignis in den Diagnosepuffer schreiben 221585 Systemdiagnose mit Report System Errors 222

6 Programmeditor 225

61 Einfuumlhrung 225

62 PLC-Variablentabelle 226621 Mit PLC-Variablentabellen arbeiten 226622 PLC-Variablen definieren und bearbeiten 226623 PLC-Variablen vergleichen 228624 PLC-Variablentabelle exportieren und importieren 229625 Konstantentabellen 230

63 Einen Codebaustein programmieren 230631 Einen neuen Codebaustein anlegen 230632 Arbeitsbereich des Programmeditors fuumlr Codebausteine 232633 Bausteineigenschaften fuumlr Codebausteine festlegen 233634 Bausteinschnittstelle programmieren 234635 Steuerungsfunktion programmieren 236

Inhaltsverzeichnis

12

636 Variablen editieren 240637 Mit Programmkommentaren arbeiten 242

64 Einen Datenbaustein programmieren 244641 Einen neuen Datenbaustein anlegen 244642 Arbeitsbereich des Programmeditors fuumlr Datenbausteine 244643 Bausteineigenschaften fuumlr Datenbausteine festlegen 246644 Datenvariablen deklarieren 246645 Datenvariablen in Globaldatenbausteinen eingeben 247

65 Bausteine uumlbersetzen 248651 Uumlbersetzung starten 248652 SCL-Bausteine uumlbersetzen 249653 Fehler nach der Uumlbersetzung beheben 249

66 Programminformationen 250661 Querverweisliste 251662 Belegungsplan 253663 Aufrufstruktur 254664 Abhaumlngigkeitsstruktur 255665 Konsistenzpruumlfung 255666 Speicherauslastung der CPU 256

7 Kontaktplan KOP 258

71 Einfuumlhrung 258711 Programmieren mit KOP allgemein 258712 Programmelemente des Kontaktplans 260

72 Binaumlre Verknuumlpfungen mit KOP programmieren 260721 Schlieszligerkontakt und Oumlffnerkontakt 260722 Reihen- und Parallelschaltung von Kontakten 262723 T-Abzweig offener Parallelzweig 263724 Verknuumlpfungsergebnis negieren 264725 Flankenauswertung einer Binaumlrvariablen 265726 Vergleich-Kontakte 265

73 Speicherfunktionen mit KOP programmieren 266731 Einfache Spule Zuweisung 266732 Setzen- und Ruumlcksetzen-Spule 268733 Speicherndes Verhalten durch Selbsthaltung 268734 Spulen mit Zeitverhalten 269735 Spulen mit Zaumlhlerverhalten 270

74 Q-Boxen mit KOP programmieren 271741 Speicher-Boxen 272742 Flankenauswertung des Stromflusses 272743 SIMATIC-Zeitfunktionen 273744 SIMATIC-Zaumlhlfunktionen 274745 IEC-Zeitfunktionen 274746 IEC-Zaumlhlfunktionen 276

75 ENENO-Boxen mit KOP programmieren 277751 Uumlbertragungsfunktion MOVE 277

Inhaltsverzeichnis

13

752 Arithmetische Funktionen 278753 Mathematische Funktionen 279754 Konvertierungsfunktionen 280755 Schiebefunktionen 281756 Wortverknuumlpfungen 282

76 Programmfluss bei KOP steuern 284761 Mit Statusbits im Kontaktplan arbeiten 284762 ENENO-Mechanismus bei KOP 286763 Sprungfunktionen 287764 Bausteinfunktionen 288765 Master Control Relay (MCR) 290

8 Funktionsplan FUP 292

81 Einfuumlhrung 292811 Programmieren mit FUP allgemein 292812 Programmelemente des Funktionsplans 294

82 Binaumlre Verknuumlpfungen mit FUP programmieren 295821 Abfrage auf Signalzustand bdquo1ldquo und auf Signalzustand bdquo0ldquo 295822 Eine binaumlre Verknuumlpfung im Funktionsplan programmieren 296823 UND-Funktion 297824 ODER-Funktion 297825 Exklusiv-ODER-Funktion 297826 Kombinierte binaumlre Verknuumlpfungen Verknuumlpfungsergebnis negieren 298827 T-Abzweig 299828 Flankenauswertung von Binaumlrvariablen 299829 Vergleichsfunktionen 300

83 Standard-Boxen mit FUP programmieren 301831 Zuweisung-Box 302832 Setzen- und Ruumlcksetzen-Box 302833 Standard-Boxen mit Zeitverhalten 303834 Standard-Boxen mit Zaumlhlerverhalten 304

84 Q-Boxen mit FUP programmieren 305841 Speicher-Boxen 305842 Flankenauswertung des Verknuumlpfungsergebnisses 307843 SIMATIC-Zeitfunktionen 308844 SIMATIC-Zaumlhlfunktionen 308845 IEC-Zeitfunktionen 309846 IEC-Zaumlhlfunktionen 309

85 ENENO-Boxen mit FUP programmieren 310851 Uumlbertragungsfunktion MOVE 312852 Arithmetische Funktionen 312853 Mathematische Funktionen 313854 Konvertierungsfunktionen 313855 Schiebefunktionen 315856 Wortverknuumlpfungen 316

Inhaltsverzeichnis

14

86 Programmfluss bei FUP steuern 318861 Mit Statusbits im Funktionsplan arbeiten 318862 ENENO-Mechanismus bei FUP 320863 Sprungfunktionen 321864 Bausteinfunktionen 322865 Master Control Relay (MCR) 324

9 Anweisungsliste AWL 326

91 Einfuumlhrung 326911 Programmieren mit AWL allgemein 326912 Aufbau einer AWL-Anweisung 327

92 Binaumlre Verknuumlpfungen mit AWL programmieren 328921 Bearbeitung einer binaumlren Verknuumlpfung Verknuumlpfungsschritt 328922 Abfrage auf Signalzustand bdquo1ldquo und auf Signalzustand bdquo0ldquo 330923 Eine binaumlre Verknuumlpfung in Anweisungsliste programmieren 331924 UND-Funktion 332925 ODER-Funktion 332926 Exklusiv-ODER-Funktion 333927 Kombinierte binaumlre Verknuumlpfungen 333928 Verknuumlpfungsergebnis steuern 336

93 Speicherfunktionen mit AWL programmieren 337931 Zuweisung 337932 Setzen und Ruumlcksetzen 338933 Flankenauswertung 338

94 Zeit- und Zaumlhlfunktionen mit AWL programmieren 339941 SIMATIC-Zeitfunktionen 339942 SIMATIC-Zaumlhlfunktionen 341943 IEC-Zeitfunktionen 342944 IEC-Zaumlhlfunktionen 343

95 Digitalfunktionen mit AWL programmieren 344951 Uumlbertragungsfunktionen 344952 Vergleichsfunktionen 346953 Arithmetische Funktionen 349954 Mathematische Funktionen 352955 Konvertierungsfunktionen 353956 Schiebefunktionen 354957 Wortverknuumlpfungen 356

96 Programmfluss bei AWL steuern 358961 Mit Statusbits in der Anweisungsliste arbeiten 359962 ENENO-Mechanismus bei AWL 361963 Sprungfunktionen 363964 Sprungverteiler 364965 Schleifensprung 364966 Bausteinfunktionen 365967 Master Control Relay (MCR) 368

97 Weitere AWL-Funktionen 369

Inhaltsverzeichnis

15

971 Akkumulatorfunktionen 369972 Addieren von Konstanten zum Akkumulator 1 371973 Dekrementieren Inkrementieren 372974 Nullanweisungen 373

10 Structured Control Language SCL 374

101 Einfuumlhrung in die Programmierung mit SCL 3741011 Programmieren mit SCL allgemein 3741012 SCL-Anweisungen und Operatoren 376

102 Binaumlre Verknuumlpfungen mit SCL programmieren 3781021 Abfrage auf Signalzustand bdquo1ldquo und auf Signalzustand bdquo0ldquo 3781022 UND-Funktion 3791023 ODER-Funktion 3791024 Exklusiv-ODER-Funktion 3801025 Kombinierte binaumlre Verknuumlpfungen 3801026 Verknuumlpfungsergebnis negieren 381

103 Speicherfunktionen mit SCL programmieren 3821031 Wertzuweisung einer Binaumlrvariablen 3821032 Setzen und Ruumlcksetzen 3821033 Flankenauswertung 382

104 Zeit- und Zaumlhlfunktionen mit SCL programmieren 3831041 SIMATIC-Zeitfunktionen 3831042 SIMATIC-Zaumlhlfunktionen 3841043 IEC-Zeitfunktionen 3851044 IEC-Zaumlhlfunktionen 386

105 Digitalfunktionen mit SCL programmieren 3871051 Uumlbertragungsfunktion Wertzuweisung einer Digitalvariablen 3871052 Vergleichsfunktionen 3871053 Arithmetische Funktionen 3881054 Mathematische Funktionen 3891055 Konvertierungsfunktionen 3901056 Schiebefunktionen 3911057 Wortverknuumlpfungen logischer Ausdruck 392

106 Programmfluss mit SCL steuern 3931061 Mit der Variablen ENO arbeiten 3931062 ENENO-Mechanismus bei SCL 3951063 Kontrollanweisungen 3961064 Bausteinfunktionen 404

11 Ablaufsteuerung S7-GRAPH 408

111 Einfuumlhrung 4081111 Was ist eine Ablaufsteuerung 4081112 Eigenschaften einer Ablaufsteuerung 4091113 Programm fuumlr eine Ablaufsteuerung Mengengeruumlst 4101114 Betriebsarten 4101115 Vorgehen bei der Projektierung 411

Inhaltsverzeichnis

16

112 Elemente einer Ablaufsteuerung 4121121 Schritte und Transitionen 4121122 Spruumlnge in einer Ablaufsteuerung 4131123 Verzweigungen einer Ablaufkette 4131124 GRAPH-spezifische Variablen 4151125 Permanente Anweisungen 4161126 Schritt- und Transitionsfunktionen 4161127 Bearbeitung von Aktionen 420

113 Eine Ablaufsteuerung projektieren 4261131 Den GRAPH-Funktionsbaustein programmieren 4271132 Projektieren der Kettenstruktur 4281133 Schritte und Transitionen programmieren 4291134 Permanente Anweisungen programmieren 4311135 Bausteinuumlbergreifende Meldungen projektieren 4311136 Attribute des GRAPH-Funktionsbausteins 4321137 GRAPH-Funktionsbaustein anwenden 433

114 Ablaufsteuerung testen 4341141 GRAPH-Funktionsbaustein laden 4351142 Einstellungen zum Programmtest 4351143 Betriebsarten verwenden 4361144 Ablaufkette synchronisieren 4371145 Mit Programmstatus testen 438

12 Basisfunktionen 440

121 Binaumlre Verknuumlpfungen 4401211 Einfuumlhrung 4401212 Arbeiten mit Binaumlrsignalen 4411213 UND-Funktion Reihenschaltung 4441214 ODER-Funktion Parallelschaltung 4451215 Exklusiv-ODER-Funktion Antivalenzfunktion 4451216 Verknuumlpfungsergebnis negieren NOT-Kontakt 446

122 Speicherfunktionen 4481221 Einfuumlhrung 4481222 Standardspule Zuweisung 4481223 Einzelnes Setzen und Ruumlcksetzen 4481224 Vorrangiges Setzen und Ruumlcksetzen Speicherfunktion 4501225 Flankenauswertung 452

123 SIMATIC-Zeitfunktionen 4571231 Uumlbersicht 4571232 Programmieren einer Zeitfunktion 4601233 Zeitverhalten als Impuls 4621234 Zeitverhalten als verlaumlngerter Impuls 4641235 Zeitverhalten als Einschaltverzoumlgerung 4661236 Zeitverhalten als speichernde Einschaltverzoumlgerung 4681237 Zeitverhalten als Ausschaltverzoumlgerung 470

124 IEC-Zeitfunktionen 472

Inhaltsverzeichnis

17

1241 Einfuumlhrung 4721242 Impulsbildung TP 4731243 Einschaltverzoumlgerung TON 4741244 Ausschaltverzoumlgerung TOF 475

125 SIMATIC-Zaumlhlfunktionen 4761251 Uumlbersicht 4761252 Programmieren einer Zaumlhlfunktion 4781253 Funktionsweise einer Zaumlhlfunktion 4801254 Freigeben einer Zaumlhlfunktion bei AWL 482

126 IEC-Zaumlhlfunktionen 4831261 Einfuumlhrung 4831262 Vorwaumlrtszaumlhler CTU 4841263 Ruumlckwaumlrtszaumlhler CTD 4851264 VorwaumlrtsRuumlckwaumlrtszaumlhler CTUD 487

13 Digitalfunktionen 488

131 Allgemeines 488

132 Uumlbertragungsfunktionen 4891321 Allgemeines zur bdquoeinfachenldquo Uumlbertragungsfunktion 4891322 MOVE-Box bei KOP und FUP 4891323 Laden und Transferieren bei AWL 4911324 Wertzuweisungen bei SCL 4921325 Datenbereich im Arbeitsspeicher kopieren und fuumlllen 4941326 Datenbereich vom und zum Ladespeicher uumlbertragen 4971327 Speicherbereich steuern bei MCR-Abhaumlngigkeit 498

133 Vergleichsfunktionen 5011331 Ausfuumlhrung der bdquoeinfachenldquo Vergleichsfunktion 5011332 Vergleichsfunktion T_COMP 5031333 Vergleichsfunktion S_COMP 503

134 Arithmetische Funktionen 5041341 Allgemeine Funktionsbeschreibung 5041342 Datentypen und Statusbits bei einer arithmetischen Funktion 5051343 Ausfuumlhrung der arithmetischen Funktion 5071344 Arithmetische Funktionen fuumlr Datum und Uhrzeit 508

135 Mathematische Funktionen 5101351 Allgemeine Funktionsbeschreibung 5101352 Allgemeine Ausfuumlhrung einer mathematischen Funktion 5111353 Winkelfunktionen SIN COS TAN 5111354 Arcusfunktionen ASIN ACOS ATAN 5121355 Sonstige mathematische Funktionen 512

136 Konvertierungsfunktionen 5141361 Implizite Datentypwandlung 5141362 Datentypwandlung von Festpunktzahlen 5151363 Datentypwandlung von Gleitpunktzahlen 5181364 Datentypwandlung fuumlr DatumUhrzeit mit T_CONV 5211365 Datentypwandlung fuumlr Datentyp STRING mit S_CONV 522

Inhaltsverzeichnis

18

1366 Datentypwandlung von Hexadezimalzahlen 5241367 Skalieren und Deskalieren 5251368 Sonstige Konvertierungsfunktionen 526

137 Schiebefunktionen 5271371 Allgemeine Funktionsbeschreibung 5271372 Allgemeine Ausfuumlhrung einer Schiebefunktion 5291373 Rechts schieben 5301374 Links schieben 5301375 Rechts rotieren 5311376 Links rotieren 5321377 Rotieren durch das Anzeigenbit A1 (AWL) 532

138 Logikfunktionen 5321381 Wortverknuumlpfungen 5331382 Invertieren 5351383 Bit codieren und Bitnummer setzen 5361384 Auswahl- und Begrenzerfunktionen 537

139 Funktionen fuumlr Zeichenketten 540

14 Programmfluss-Steuerung 544

141 Statusbits 5451411 Beschreibung der Statusbits 5451412 Steuern der Statusbits 5471413 Verknuumlpfungsergebnis setzen und ruumlcksetzen 5481414 Binaumlrergebnis steuern 5491415 Auswertung der Statusbits 552

142 Sprungfunktionen 5531421 Einfuumlhrung 5531422 Absoluter Sprung 5531423 Bedingte Sprungfunktionen 5551424 Von den Statusbits abhaumlngige Sprungfunktionen 556

143 Bausteinende-Funktionen 5591431 Bausteinende-Funktion RET (KOP und FUP) 5601432 Bausteinende-Funktionen BEB BEA und BE (AWL) 5601433 RETURN-Anweisung (SCL) 561

144 Aufruf von Codebausteinen 5611441 Allgemeines zu Bausteinaufrufen 5611442 Aufruf einer Funktion (FC) 5621443 Aufruf eines Funktionsbausteins (FB) 5641444 Wechsel zu einem Baustein ohne Bausteinparameter 566

145 Datenbausteinfunktionen 5681451 Datenbaustein aufschlagen 5691452 Zusaumltzliche Datenbausteinfunktionen bei AWL 5701453 Datenbaustein erzeugen loumlschen und testen 571

146 Master Control Relay 5741461 Einfuumlhrung 5741462 MCR-Abhaumlngigkeit 575

Inhaltsverzeichnis

19

1463 MCR-Bereich und MCR-Zone 5751464 MCR-Bereich und MCR-Zone bei einem Bausteinwechsel 5781465 Anweisungen fuumlr das Master Control Relay 578

15 Online-Betrieb und Programmtest 580

151 Programmiergeraumlt an die PLC-Station anschlieszligen 5811511 Einstellungen am Programmiergeraumlt 5811512 Das Programmiergeraumlt mit der PLC-Station verbinden 5821513 Den Online-Betrieb einschalten 583

152 Projektdaten uumlbertragen 5841521 Die Projektdaten erstmalig laden 5841522 Die Projektdaten nachladen 5871523 Schutz des Anwenderprogramms 5881524 Online-Projekt ohne Offline-Projekt bearbeiten 5891525 Mit der Micro Memory Card arbeiten 590

153 Mit Bausteinen im Online-Betrieb arbeiten 5901531 Einfuumlhrung 5901532 Die Online-Version eines Bausteins bearbeiten 5911533 Einen Baustein in die CPU-Baugruppe laden 5921534 Den Arbeitsspeicher komprimieren 5941535 Bausteine aus der CPU zuruumlckladen 5941536 Mit Einstellwerten arbeiten 5961537 Bausteine vergleichen 598

154 Hardware-Diagnose 6011541 Status-Anzeigen an den Baugruppen 6011542 Diagnose-Informationen 6021543 Diagnosepuffer 6021544 Diagnose-Funktionen 6041545 Online-Tools 6041546 Weitere Diagnose-Informationen uumlber das Programmiergeraumlt 605

155 Anwenderprogramm testen 6061551 Aufrufumgebung definieren 6061552 Testen mit Programmstatus 6071553 Testen im Einzelschrittmodus 6111554 PLC-Variablen beobachten 6141555 Datenvariablen beobachten 6141556 Testen mit Beobachtungstabellen 6151557 Beobachten und Steuern im Betriebszustand STOP 6201558 Testen mit der Force-Tabelle 622

16 Dezentrale Peripherie 626

161 Einfuumlhrung Uumlbersicht 626

162 Dezentrales Peripheriesystem ET 200 6271621 ET 200M 6271622 ET 200MP 6281623 ET 200S 628

Inhaltsverzeichnis

20

1624 ET 200SP 6291625 ET 200iSP 6301626 ET 200pro 6311627 ET 200eco 631

163 PROFINET IO 6321631 Komponenten von PROFINET IO 6321632 Adressen bei PROFINET IO 6351633 Spezielle PROFINET-Konfigurationen 6381634 PROFINET IO projektieren 6391635 Kopplungsbaugruppen fuumlr PROFINET IO 6431636 Echtzeit-Kommunikation bei PROFINET 644

164 PROFIBUS DP 6491641 Komponenten von PROFIBUS DP 6491642 Adressen bei PROFIBUS DP 6521643 PROFIBUS DP projektieren 6561644 Kopplungsbaugruppen fuumlr PROFIBUS DP 6591645 Sonderfunktionen fuumlr PROFIBUS DP 661

165 Taktsynchronitaumlt 6621651 Einfuumlhrung 6621652 Taktsynchronitaumlt bei PROFINET 6631653 Taktsynchronitaumlt bei PROFIBUS 666

166 Systembausteine fuumlr dezentrale Peripherie 6691661 Systembausteine fuumlr PROFIBUS DP 6691662 Systembausteine fuumlr PROFIBUS DP und PROFINET IO 6731663 Systembausteine fuumlr PROFINET IO 676

167 AktorSensor-Interface 6791671 Komponenten von AktorSensor-Interface 6791672 Adressen am AktorSensor-Interface 6811673 AktorSensor-Interface mit CP 343-2P projektieren 6811674 Systemfunktionen fuumlr AS-i 683

17 Kommunikation 684

171 Uumlbersicht 684

172 S7-Basiskommunikation 6851721 Grundlagen der stationsinternen S7-Basiskommunikation 6851722 Stationsinterne S7-Basiskommunikation projektieren 6861723 Systembausteine fuumlr stationsinterne S7-Basiskommunikation 6861724 Grundlagen der stationsexternen S7-Basiskommunikation 6881725 Stationsexterne S7-Basiskommunikation projektieren 6891726 Systembausteine fuumlr stationsexterne S7-Basiskommunikation 689

173 S7-Kommunikation 6921731 Grundlagen 6921732 S7-Kommunikation projektieren 6931733 Einseitiger Datenaustausch 6951734 Zweiseitiger Datenaustausch 6961735 Uumlberwachungsfunktionen 699

Inhaltsverzeichnis

21

174 Open User Communication 700

1741 Grundlagen 700

1742 Verbindungen auf- und abbauen 702

1743 Datenuumlbertragung mit TCP native oder ISO-on-TCP 704

1744 Datenuumlbertragung mit UDP 707

18 Anhang 710

181 Arbeiten mit Quelldateien 710

1811 Allgemeines Vorgehen 710

1812 Einen Codebaustein in der Quelldatei programmieren 712

1813 Einen Datenbaustein in der Quelldatei programmieren 715

1814 Einen PLC-Datentyp in der Quelldatei programmieren 719

182 Projekte migrieren 720

183 Simulation mit dem TIA Portal 724

1831 Unterschiede zu einer realen CPU-Baugruppe 724

1832 Simulation starten und speichern 725

1833 Die Simulation bedienen 726

1834 Programm mit der Simulation testen 728

1835 Weitere Funktionen von PLCSIM 730

184 Webserver 731

1841 Webserver aktivieren 731

1842 Web-Informationen auslesen 732

1843 Standard-Webseiten 733

185 Ablage von lokalen Variablen 736

1851 Ablage in Global-Datenbausteinen 736

1852 Ablage in Instanz-Datenbausteinen 737

1853 Ablage in den temporaumlren Lokaldaten 738

1854 Datenablage der Bausteinparameter einer Funktion (FC) 739

1855 Datenablage der Bausteinparameter eines Funktionsbausteins (FB) 742

1856 Datenablage einer Lokalinstanz in einer Multiinstanz 744

Stichwortverzeichnis 746

1 Einfuumlhrung

22

1 Einfuumlhrung

11 Uumlbersicht Automatisierungssystem S7-300

SIMATIC S7-300 ist das modulare Kleinsteuersystem fuumlr den unteren und mittlerenLeistungsbereich (Bild 11) Verschiedene Varianten der Controller passen die Leis-tungsfaumlhigkeit an den jeweiligen Einsatzfall an Je nach Bedarf kann das Automati-sierungsgeraumlt mit Ein-Ausgabebaugruppen fuumlr Digital- und Analogsignale in biszu vier Baugruppentraumlgern mit je acht Baugruppen modular erweitert werden

Eine zusaumltzliche Erweiterung mit Ein-Ausgabebaugruppen bietet die dezentralePeripherie uumlber PROFIBUS oder PROFINET Mit besonderen Bauformen fuumlr erhoumlhtemechanische Anforderungen ausgestattet koumlnnen diese Baugruppen vor Ort ander Maschine oder Anlage installiert werden Die Steuerungsgeraumlte SIMATIC S7-300werden mit STEP 7 konfiguriert projektiert und programmiert Der Datenaus-tausch zwischen den Steuerungsgeraumlten der dezentralen Peripherie und dem Pro-grammiergeraumlt geschieht mit SIMATIC NET

Bild 11 Bestandteile des Automatisierungssystems SIMATIC S7-300

SIMATIC Controller steuern dieMaschine oder Anlage

Die dezentrale Peripherie erweitert dieSchnittstelle zur Maschine oder Anlage

SIMATIC NET

SIMATIC DP STEP 7Professional V12

SIMATIC S7-300

Die Vernetzung ermoumlglicht denDatenaustausch und den zentralenOnline-Zugriff

Mehrere Varianten der Controllererweitern das Einsatzspektrum

STEP 7 ist die Engineeringsoftware zumKonfigurieren undProgrammieren

Projektieren

Automatisierungssystem SIMATIC S7-300

11 Uumlbersicht Automatisierungssystem S7-300

23

111 Automatisierungsgeraumlt SIMATIC S7-300

Die wesentlichen Bestandteile eines S7-300-Automatisierungsgeraumlts sind im Bild12 dargestellt

Die CPU-Baugruppe enthaumllt das Betriebssystem und das AnwenderprogrammDas Anwenderprogramm steht spannungsausfallsicher auf der in der CPU-Bau-gruppe steckenden Micro Memory Card (MMC) Die Bearbeitung des Anwenderpro-gramms findet im Arbeitsspeicher in der CPU statt Die auf der CPU-Baugruppe vor-handenen Busschnittstellen stellen die Verbindung zu anderen Automatisierungs-geraumlten her

Die Verbindung zur gesteuerten Anlage uumlbernehmen SM-Baugruppen Diese Ein-und Ausgabebaugruppen gibt es fuumlr Digital- und Analogsignale

Die FM-Baugruppen sind signalvorverarbeitende bdquointelligenteldquo Peripheriebau-gruppen die vom Prozess kommende Signale unabhaumlngig von der CPU aufberei-ten verarbeiten und entweder wieder direkt an den Prozess zuruumlckgeben oder ander internen Schnittstelle der CPU zur Verfuumlgung stellen FM-Baugruppen uumlber-nehmen Funktionen die die CPU meist nicht schnell genug ausfuumlhren kann wiez B Impulse zaumlhlen positionieren oder Antriebe regeln

Die CP-Baugruppen gestatten einen Datenverkehr der die Moumlglichkeiten derStandard-Schnittstellen bezuumlglich Protokolle und Kommunikationsfunktionenuumlberschreitet

Die IM-Baugruppen verbinden bei einer Erweiterung den Zentralbaugruppentrauml-ger mit bis zu drei Erweiterungsbaugruppentraumlgern

Eine Stromversorgungsbaugruppe sorgt schlieszliglich fuumlr die benoumltigte Spannungim Automatisierungsgeraumlt

Bild 12 Bestandteile einer S7-300-Steuerung

Erweiterungsbaugruppentraumlger

Zentralbaugruppentraumlger SM-Baugruppen(Signal Modules)

Auf den Baugruppen-traumlgern sind steckbar

FM-Baugruppen(Function Modules)

CP-Baugruppen(CommunicationProcessors)

IM-Baugruppe(Interface Module)

IM-Baugruppe(Interface Module)

CPU-Baugruppe(Central Processor Unit)

PS-Baugruppe(Power Supply)

Baugruppen-traumlger (Rack)

Bestandteile einer S7-300-Steuerung

S

1 Einfuumlhrung

24

112 Uumlbersicht STEP 7 Professional V12

STEP 7 ist das zentrale Automatisierungswerkzeug fuumlr SIMATIC STEP 7 benoumltigtzum Betrieb eine Autorisierung (Lizenz) und laumluft auf den jeweils aktuellen Be-triebssystemen unter Microsoft Windows Die Projektierung eines S7-300-Control-lers geschieht mit zwei Ansichten der Portalansicht und der Projektansicht

Die Portalansicht ist aufgabenorientiert angelegt

Im Startportal oumlffnen Sie ein bestehendes Projekt erstellen ein neues Projekt odermigrieren ein Projekt Ein bdquoProjektldquo ist eine Datenstruktur die alle erforderlichenProgramme und Daten fuumlr Ihr Automatisierungsvorhaben enthaumllt Von hier aussind die wichtigsten Werkzeuge und Funktionen von STEP 7 uumlber weitere Portale er-reichbar (Bild 13)

b Im Portal Geraumlte amp Netze konfigurieren Sie die Automatisierungsgeraumlte d h Sieplatzieren die Baugruppen in einem Baugruppentraumlger und parametrieren sie

b Im Portal PLC-Programmierung erstellen Sie das Anwenderprogramm in Formvon einzelnen Abschnitten die man bdquoBausteineldquo nennt

b Das Portal Visualisierung bietet die wichtigsten Werkzeuge fuumlr die Projektierungund Simulation von HMI-Systemen mit SIMATIC WinCC an

Bild 13 Werkzeuge im Startportal von STEP 7 Professional V12

11 Uumlbersicht Automatisierungssystem S7-300

25

b Mit dem Portal Motion amp Technology fuumlgen Sie ein Technologie-Objekt fuumlr PIDControl ein und bearbeiten es

b Mit dem Portal Online amp Diagnose schalten Sie das Programmiergeraumlt online aneine CPU-Baugruppe Sie koumlnnen die Betriebsarten der CPU steuern und das An-wenderprogramm uumlbertragen und testen

Die Projektansicht bietet eine objektorientierte Ansicht mit mehreren Fensternderen Inhalt je nach ausgefuumlhrter Taumltigkeit wechselt In der Geraumltekonfigurationsteht der Arbeitsbereich mit dem zu konfigurierenden Geraumlt im Mittelpunkt In derGeraumltesicht wird der Baugruppentraumlger mit den bereits platzierten Baugruppen ge-zeigt (Bild 14) Ein weiteres Fenster ndash das Inspektorfenster ndash enthaumllt die Eigen-schaften der selektierten Baugruppe das Aufgaben-Fenster (Task Card) gibt Unter-stuumltzung durch den Hardware-Katalog mit den zur Verfuumlgung stehenden Baugrup-pen Die Netzsicht gestattet die Vernetzung zwischen PLC- und HMI-Stationen

Bei der PLC-Programmierung bearbeiten Sie im Arbeitsbereich den ausgewaumlhltenBaustein Wiederum sehen Sie im Inspektorfenster die Eigenschaften des markier-ten Objekts und koumlnnen diese einstellen Das Aufgabenfenster enthaumllt diesmal denProgrammelemente-Katalog mit den zur Verfuumlgung stehenden Programmelemen-ten und Anweisungen Aumlhnliches gilt fuumlr die Bearbeitung der PLC-Variablen oderbeim Online-Programmtest durch Beobachtungstabellen

Bild 14 Beispiel fuumlr die Projektansicht Arbeitsbereich der Geraumltekonfiguration

1 Einfuumlhrung

26

Und stets haben Sie die Projektnavigation im Blickfeld Sie enthaumllt alle Objekte desSTEP-7-Projekts So koumlnnen Sie jederzeit ein Objekt beispielsweise einen Pro-grammbaustein oder eine Beobachtungstabelle auswaumlhlen und dieses Objekt mitden entsprechenden Editoren die beim Oumlffnen des Objekts automatisch startenbearbeiten

113 Fuumlnf Programmiersprachen

Als Programmiersprache fuumlr das Anwenderprogramm koumlnnen Sie zwischen Kon-taktplan (KOP) Funktionsplan (FUP) Anweisungsliste (AWL) Structured ControlLanguage (SCL) und Ablaufsteuerung (GRAPH) waumlhlen

Mit Kontaktplan programmieren Sie die Steuerungsaufgabe angelehnt an denStromlaufplan Die Verknuumlpfung der binaumlren Signalzustaumlnde wird durch die seriel-le oder parallele Anordnung von Kontakten und Spulen dargestellt (Bild 15) Kom-plexe Funktionen wie beispielsweise die arithmetischen Funktionen werden mitBoxen dargestellt die Sie wie Kontakte oder Spulen im Kontaktplan anordnen

Mit Funktionsplan programmieren Sie die Steuerungsaufgabe angelehnt an elektro-nische Schaltkreissysteme Binaumlre Verknuumlpfungen werden durch Verschaltung vonUND- und ODER-Funktionen realisiert und mit Speicher-Boxen abgeschlossen (Bild16) Komplexe Boxen uumlbernehmen die Verknuumlpfung digitaler Variablen beispiels-weise bei den arithmetischen Funktionen

Bild 15 Beispiel fuumlr die Darstellung in Kontaktplan

Bild 16 Beispiel fuumlr die Darstellung in Funktionsplan

11 Uumlbersicht Automatisierungssystem S7-300

27

Mit Anweisungsliste programmieren Sie die Steuerungsaufgabe durch eine Folgevon Anweisungen Jede AWL-Anweisung enthaumllt eine Vorschrift was zu tun ist undeventuell einen Operand mit dem die Operation ausgefuumlhrt wird AWL ist gleicher-maszligen geeignet fuumlr binaumlre und digitale Verknuumlpfungen wie fuumlr die Programmierungkomplexer Steuerungsaufgaben (Bild 17)

Structured Control Language eignet sich besonders fuumlr die Programmierung vonkomplexen Algorithmen oder fuumlr Aufgabenstellungen aus dem Bereich der Datenver-waltung Das Programm besteht aus SCL-Anweisungen die beispielsweise Wertzuwei-sungen Vergleiche oder Kontrollanweisungen sein koumlnnen (Bild 18)

Mit GRAPH programmieren Sie eine Steuerungsaufgabe als Ablaufsteuerung in derdie sequenzielle Folge von Aktionen vorherrscht Die einzelnen Schritte und Verzwei-gungen werden durch Weiterschaltbedingungen freigegeben die mit KOP oder FUPprogrammiert werden koumlnnen (Bild 19)

114 Bearbeitung des Anwenderprogramms

Nach dem Einschalten der Versorgungsspannung pruumlft der Steuerungsprozessordie Konsistenz der Hardware und parametriert die Baugruppen Anschlieszligend wirdeinmalig ndash falls vorhanden ndash ein Anlaufprogramm bearbeitet Das Anlaufpro-

Bild 17 Beispiel fuumlr AWL-Anweisungen

Bild 18 Beispiel fuumlr SCL-Anweisungen

1 Einfuumlhrung

28

gramm gehoumlrt zum Anwenderprogramm das Sie programmieren Im Anlaufpro-gramm koumlnnen beispielsweise Baugruppen initialisiert werden

Das Anwenderprogramm ist in der Regel in einzelne Abschnitte ndash bdquoBausteineldquo ge-nannt ndash eingeteilt Die Organisationsbausteine (OB) sind die Schnittstelle zwischenBetriebssystem und Anwenderprogramm Das Betriebssystem ruft zu bestimmtenEreignissen einen Organisationsbaustein auf in dem dann das Anwenderpro-gramm bearbeitet wird (Bild 110)

Bild 19 Beispiel fuumlr eine GRAPH-Ablaufkette und eine Schrittprojektierung

Bild 110 Bearbeitung des Anwenderprogramms

Anlauf-programm

Alarm- undFehlerprogramm

Haupt-programm

Bearbeitung des Anwenderprogramms

Einschalten

Aktualisierung derEin- und Ausgaumlnge

Unterbrechung(Alarm oder Fehler)

BetriebszustandANLAUF

Betriebssystem Anwenderprogramm

BetriebszustandRUN

OB

OB

FBFC

FBFC

FBFC

FBFC

FBFC

FBFC

OB

Unterbrechung

11 Uumlbersicht Automatisierungssystem S7-300

29

Zur Strukturierung das Programms stehen Funktionsbausteine (FB) und Funktio-nen (FC) zur Verfuumlgung Funktionsbausteine haben einen Speicher in dem lokaleVariablen dauerhaft abgelegt sind Funktionen haben diesen Speicher nicht

Fuumlr den Aufruf (das Starten der Bearbeitung) von Funktionsbausteinen und Funk-tionen gibt es Programmanweisungen Jeder Bausteinaufruf kann mit Ein- undAusgaumlngen ndash bdquoBausteinparameterldquo genannt ndash versehen werden Beim Aufruf koumln-nen Variablen uumlbergeben werden mit denen das Programm im Baustein arbeitensoll Auf diese Weise kann ein Baustein mit einer gewissen Funktion (z B der Addi-tion von drei Variablen) mehrfach mit unterschiedlichen Parametersaumltzen (z B fuumlrunterschiedliche Berechnungen) aufgerufen werden (Bild 111)

Die Daten des Anwenderprogramms werden in Datenbausteinen (DB) abgelegtInstanz-Datenbausteine sind einem Aufruf eines Funktionsbausteins fest zugeord-net und bilden den Variablenspeicher des Funktionsbausteins Global-Datenbau-steine enthalten Daten die keinem Baustein zugeordnet sind

Nach einem Anlauf aktualisiert der Steuerungsprozessor die Ein- und Ausgangs-signale in den Prozessabbildern und ruft den Organisationsbaustein OB 1 auf Hiersteht das Hauptprogramm Auch im Hauptprogramm ist eine Strukturierung moumlg-lich und zu empfehlen Ist das Hauptprogramm bearbeitet wechselt der Steue-rungsprozessor zuruumlck ins Betriebssystem haumllt beispielsweise die Kommunikati-on mit dem Programmiergeraumlt aufrecht aktualisiert die Ein- und Ausgangssignaleund beginnt dann erneut mit der Bearbeitung des Hauptprogramms

Die zyklische Programmbearbeitung ist ein Merkmal speicherprogrammierbarerSteuerungen Das Anwenderprogramm wird auch dann bearbeitet wenn bdquovon au-szligenldquo keine Aktionen gefordert sind wenn also z B die gesteuerte Maschine stehtDies hat Vorteile bei der Programmierung Sie programmieren beispielsweise den

Bild 111 Beispiel fuumlr zwei Aufrufe eines Bausteins mit jeweils verschiedenen Variablen

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

Automatisieren mit SIMATIC S7-300 im TIA PortalProjektieren Programmieren und Testen mit STEP 7 Professional

von Hans Berger

2 uumlberarbeitete und erweiterte Auflage 2014(korrigierter Nachdruck)

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 und Abbildungen in diesem Buch mit groszliger Sorgfalt erarbeitet Dennoch koumlnnen Fehler nicht ausgeschlossen werden Eine Haftung des Verlags oder des Autors gleich aus welchem Rechtsgrund fuumlr durch die Verwendung der Programmierbeispiele verursachte Schaumlden ist ausgeschlossen

wwwpublicis-booksde

Print ISBN 978-3-89578-432-3 ePDF ISBN 978-3-89578-902-1

2 Auflage 2014

Herausgeber Siemens Aktiengesellschaft Berlin und Muumlnchen Verlag Publicis Publishing Erlangen copy 2014 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-300 mit Standard-Controllern und die Moumlglichkeitenzum Aufbau eines dezentralen Steuerungskonzepts mit PROFIBUS und PROFINETFuumlr die Kommunikation mit anderen Automatisierungssystemen bieten die Cont-roller integrierte Busschnittstellen fuumlr Multipoint Interface (MPI) PROFIBUS undIndustrial Ethernet

Die Engineeringsoftware STEP 7 Professional im TIA Portal erschlieszligt die gesamteFunktionalitaumlt der S7-300-Controller STEP 7 Professional ist das gemeinsameWerkzeug fuumlr die Konfiguration des Hardware-Aufbaus und die Programmierungdes Anwenderprogramms 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-300 mit der Engineeringsoftware STEP 7 Professionalin der Version 12 mit Service Pack 1 Update 2

Erlangen im Dezember 2013 Hans Berger

Der Inhalt des Buchs auf einen Blick

6

Der Inhalt des Buchs auf einen Blick

Start

Das Automatisierungssystem SIMATIC S7-300 in der Uumlbersicht

Eine Einfuumlhrung in die Engineeringsoftware SIMATIC STEP 7 Professional V12

Die Grundlage der Automatisierungsloumlsung Ein Projekt erstellen und bearbeiten

Automatisierungssystem SIMATIC S7-300

Die Baugruppen von SIMATIC S7-300 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

Wie ein AktorSensor-Interface System 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

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-300 22111 Automatisierungsgeraumlt SIMATIC S7-300 23112 Uumlbersicht STEP 7 Professional V12 24113 Fuumlnf Programmiersprachen 26114 Bearbeitung des Anwenderprogramms 27115 Datenhaltung im SIMATIC-Automatisierungssystem 30

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

13 Ein SIMATIC-Projekt bearbeiten 37131 Strukturierte Darstellung der Projektdaten 38132 Projektdaten und Editoren fuumlr eine PLC-Station 38133 Ein Projekt erstellen und bearbeiten 42134 Mit Referenzprojekten arbeiten 45135 Bibliotheken anlegen und bearbeiten 46

2 Automatisierungssystem SIMATIC S7-300 47

21 Komponenten einer S7-300-Station 47

22 CPU-Baugruppen S7-300 49221 CPU-Varianten 49222 Bedien- und Anzeigeelemente 51223 SIMATIC Micro Memory Card 52224 Speicherbereiche in einer S7-300-Station 52225 Busschnittstellen 54

23 Signalbaugruppen 56231 Digitaleingabebaugruppen 56232 Digitalausgabebaugruppen 57233 Digitalein-ausgabebaugruppen 57234 Analogeingabebaugruppen 58235 Analogausgabebaugruppen 58236 Analogein-ausgabebaugruppen 59

24 Funktionsbaugruppen 60

25 Kommunikationsbaugruppen 61

Inhaltsverzeichnis

9

26 Sonstige Baugruppen 63261 Anschaltungsbaugruppen (IM) 63262 Stromversorgungsbaugruppen (PS) 63263 Simulatorbaugruppe 64264 Platzhalterbaugruppe 64

27 SIPLUS S7-300 65

3 Geraumltekonfiguration 66

31 Einfuumlhrung 66

32 Eine Station konfigurieren 69321 Eine PLC-Station hinzufuumlgen 69322 Eine Baugruppe hinzufuumlgen 69323 Einen Erweiterungsbaugruppentraumlger hinzufuumlgen 70

33 Baugruppen parametrieren 71331 Die CPU-Eigenschaften parametrieren 71332 Baugruppen adressieren 74333 Signalbaugruppen parametrieren 77

34 Netz projektieren 78341 Einfuumlhrung Uumlbersicht 78342 Stationen vernetzen 79343 Teilnehmeradressen in einem Subnetz 80344 Verbindungen 81345 Ein MPI-Subnetz projektieren 84346 Ein PROFIBUS-Subnetz projektieren 85347 Ein PROFINET-Subnetz projektieren 87348 Ein AS-i-Subnetz projektieren 90

4 Variablen Adressierung und Datentypen 92

41 Operanden und Variablen 92411 Einfuumlhrung Uumlbersicht 92412 Operandenbereiche Eingaumlnge und Ausgaumlnge 93413 Operandenbereich Merker 96414 Operandenbereich Daten 97415 Operandenbereich temporaumlre Lokaldaten 97

42 Adressierung von Operanden und Variablen 98421 Signalweg 98422 Absolute Adressierung von Variablen 99423 Symbolische Adressierung von Variablen 104424 Adressierung von Konstanten 105

43 Indirekte Adressierung 106431 Speicherindirekte Adressierung mit AWL 107432 Registerindirekte Adressierung mit AWL 110433 Arbeiten mit den Adressregistern bei AWL 111434 Direkter Zugriff auf komplexe Lokalvariablen mit AWL 119435 Indirekte Adressierung bei SCL 121

Inhaltsverzeichnis

10

44 Elementare Datentypen 123441 Einfuumlhrung 123442 Bitfolge-Datentypen BOOL BYTE WORD und DWORD 126443 BCD-Zahlen BCD16 und BCD32 126444 Festpunkt-Datentypen mit Vorzeichen INT und DINT 128445 Gleitpunkt-Datentyp REAL 128446 Datentyp CHAR 129447 Datentypen fuumlr Zeitdauern und Zeitpunkte 130

45 Zusammengesetzte Datentypen 132451 Zeichenkette STRING 132452 Datentyp ARRAY 134453 Datentyp STRUCT 136

46 Parametertypen und Zeiger 138461 Parametertypen 138462 Zeiger 139463 bdquoVariablerldquo ANY-Zeiger bei AWL 143464 bdquoVariablerldquo ANY-Zeiger bei SCL 143

47 PLC-Datentypen 146

48 Startinformation 147

5 Programmbearbeitung 148

51 Betriebszustaumlnde der CPU-Baugruppe 148511 Betriebszustand STOP 149512 Betriebszustand ANLAUF 150513 Betriebszustand RUN 152514 Betriebszustand HALT 152515 CPU urloumlschen 153516 Auslieferungszustand wiederherstellen 153517 Remanenzverhalten von Operanden 154

52 Anwenderprogramm erstellen 154521 Programmentwurf 154522 Programmbearbeitung 158523 Bausteinarten 160524 Bausteineigenschaften bearbeiten 161525 Bausteinschnittstelle 165526 Beispiel zur Verwendung von Bausteinparametern 167

53 Bausteine aufrufen 169531 Allgemeines zu Aufrufen von Codebausteinen 169532 Aufruf von Funktionen (FC) 169533 Aufruf von Funktionsbausteinen (FB) 171534 bdquoWeiterreichenldquo von Bausteinparametern 174

54 Anlaufprogramm 175541 Organisationsbaustein OB 100 175542 Baugruppenadresse ermitteln 176543 Baugruppen parametrieren 178

Inhaltsverzeichnis

11

55 Hauptprogramm 181551 Organisationsbaustein OB 1 181552 Prozessabbild-Aktualisierung 182553 Zykluszeit und Reaktionszeit 183554 Programm anhalten stoppen und schuumltzen 185555 Uhrzeit 187556 Systemzeit lesen 189557 Betriebsstundenzaumlhler 190

56 Alarmbearbeitung 191561 Einfuumlhrung zur Alarmbearbeitung 191562 Prioritaumltsklassen 192563 Uhrzeitalarm Organisationsbaustein OB 10 192564 Verzoumlgerungsalarme Organisationsbausteine OB 20 und OB 21 196565 Weckalarme Organisationsbausteine OB 32 bis OB 35 198566 Prozessalarm Organisationsbaustein OB 40 200567 DPV1-Alarme Organisationsbausteine OB 55 bis OB 57 202568 Taktsynchronalarm Organisationsbaustein OB 61 202569 Alarmzusatzinformation lesen 205

57 Fehlerbehandlung 206571 Fehlerursachen und Fehlerreaktion 206572 Synchronfehler 206573 Synchronfehlerbearbeitung sperren und freigeben 208574 Ersatzwert eintragen 211575 Asynchronfehler 212576 Alarme und Asynchronfehler sperren verzoumlgern und freigeben 215

58 Diagnose 217581 Diagnosealarm Organisationsbaustein OB 82 217582 Systemzustandsliste lesen 219583 Startinformation lesen 220584 Anwender-Diagnoseereignis in den Diagnosepuffer schreiben 221585 Systemdiagnose mit Report System Errors 222

6 Programmeditor 225

61 Einfuumlhrung 225

62 PLC-Variablentabelle 226621 Mit PLC-Variablentabellen arbeiten 226622 PLC-Variablen definieren und bearbeiten 226623 PLC-Variablen vergleichen 228624 PLC-Variablentabelle exportieren und importieren 229625 Konstantentabellen 230

63 Einen Codebaustein programmieren 230631 Einen neuen Codebaustein anlegen 230632 Arbeitsbereich des Programmeditors fuumlr Codebausteine 232633 Bausteineigenschaften fuumlr Codebausteine festlegen 233634 Bausteinschnittstelle programmieren 234635 Steuerungsfunktion programmieren 236

Inhaltsverzeichnis

12

636 Variablen editieren 240637 Mit Programmkommentaren arbeiten 242

64 Einen Datenbaustein programmieren 244641 Einen neuen Datenbaustein anlegen 244642 Arbeitsbereich des Programmeditors fuumlr Datenbausteine 244643 Bausteineigenschaften fuumlr Datenbausteine festlegen 246644 Datenvariablen deklarieren 246645 Datenvariablen in Globaldatenbausteinen eingeben 247

65 Bausteine uumlbersetzen 248651 Uumlbersetzung starten 248652 SCL-Bausteine uumlbersetzen 249653 Fehler nach der Uumlbersetzung beheben 249

66 Programminformationen 250661 Querverweisliste 251662 Belegungsplan 253663 Aufrufstruktur 254664 Abhaumlngigkeitsstruktur 255665 Konsistenzpruumlfung 255666 Speicherauslastung der CPU 256

7 Kontaktplan KOP 258

71 Einfuumlhrung 258711 Programmieren mit KOP allgemein 258712 Programmelemente des Kontaktplans 260

72 Binaumlre Verknuumlpfungen mit KOP programmieren 260721 Schlieszligerkontakt und Oumlffnerkontakt 260722 Reihen- und Parallelschaltung von Kontakten 262723 T-Abzweig offener Parallelzweig 263724 Verknuumlpfungsergebnis negieren 264725 Flankenauswertung einer Binaumlrvariablen 265726 Vergleich-Kontakte 265

73 Speicherfunktionen mit KOP programmieren 266731 Einfache Spule Zuweisung 266732 Setzen- und Ruumlcksetzen-Spule 268733 Speicherndes Verhalten durch Selbsthaltung 268734 Spulen mit Zeitverhalten 269735 Spulen mit Zaumlhlerverhalten 270

74 Q-Boxen mit KOP programmieren 271741 Speicher-Boxen 272742 Flankenauswertung des Stromflusses 272743 SIMATIC-Zeitfunktionen 273744 SIMATIC-Zaumlhlfunktionen 274745 IEC-Zeitfunktionen 274746 IEC-Zaumlhlfunktionen 276

75 ENENO-Boxen mit KOP programmieren 277751 Uumlbertragungsfunktion MOVE 277

Inhaltsverzeichnis

13

752 Arithmetische Funktionen 278753 Mathematische Funktionen 279754 Konvertierungsfunktionen 280755 Schiebefunktionen 281756 Wortverknuumlpfungen 282

76 Programmfluss bei KOP steuern 284761 Mit Statusbits im Kontaktplan arbeiten 284762 ENENO-Mechanismus bei KOP 286763 Sprungfunktionen 287764 Bausteinfunktionen 288765 Master Control Relay (MCR) 290

8 Funktionsplan FUP 292

81 Einfuumlhrung 292811 Programmieren mit FUP allgemein 292812 Programmelemente des Funktionsplans 294

82 Binaumlre Verknuumlpfungen mit FUP programmieren 295821 Abfrage auf Signalzustand bdquo1ldquo und auf Signalzustand bdquo0ldquo 295822 Eine binaumlre Verknuumlpfung im Funktionsplan programmieren 296823 UND-Funktion 297824 ODER-Funktion 297825 Exklusiv-ODER-Funktion 297826 Kombinierte binaumlre Verknuumlpfungen Verknuumlpfungsergebnis negieren 298827 T-Abzweig 299828 Flankenauswertung von Binaumlrvariablen 299829 Vergleichsfunktionen 300

83 Standard-Boxen mit FUP programmieren 301831 Zuweisung-Box 302832 Setzen- und Ruumlcksetzen-Box 302833 Standard-Boxen mit Zeitverhalten 303834 Standard-Boxen mit Zaumlhlerverhalten 304

84 Q-Boxen mit FUP programmieren 305841 Speicher-Boxen 305842 Flankenauswertung des Verknuumlpfungsergebnisses 307843 SIMATIC-Zeitfunktionen 308844 SIMATIC-Zaumlhlfunktionen 308845 IEC-Zeitfunktionen 309846 IEC-Zaumlhlfunktionen 309

85 ENENO-Boxen mit FUP programmieren 310851 Uumlbertragungsfunktion MOVE 312852 Arithmetische Funktionen 312853 Mathematische Funktionen 313854 Konvertierungsfunktionen 313855 Schiebefunktionen 315856 Wortverknuumlpfungen 316

Inhaltsverzeichnis

14

86 Programmfluss bei FUP steuern 318861 Mit Statusbits im Funktionsplan arbeiten 318862 ENENO-Mechanismus bei FUP 320863 Sprungfunktionen 321864 Bausteinfunktionen 322865 Master Control Relay (MCR) 324

9 Anweisungsliste AWL 326

91 Einfuumlhrung 326911 Programmieren mit AWL allgemein 326912 Aufbau einer AWL-Anweisung 327

92 Binaumlre Verknuumlpfungen mit AWL programmieren 328921 Bearbeitung einer binaumlren Verknuumlpfung Verknuumlpfungsschritt 328922 Abfrage auf Signalzustand bdquo1ldquo und auf Signalzustand bdquo0ldquo 330923 Eine binaumlre Verknuumlpfung in Anweisungsliste programmieren 331924 UND-Funktion 332925 ODER-Funktion 332926 Exklusiv-ODER-Funktion 333927 Kombinierte binaumlre Verknuumlpfungen 333928 Verknuumlpfungsergebnis steuern 336

93 Speicherfunktionen mit AWL programmieren 337931 Zuweisung 337932 Setzen und Ruumlcksetzen 338933 Flankenauswertung 338

94 Zeit- und Zaumlhlfunktionen mit AWL programmieren 339941 SIMATIC-Zeitfunktionen 339942 SIMATIC-Zaumlhlfunktionen 341943 IEC-Zeitfunktionen 342944 IEC-Zaumlhlfunktionen 343

95 Digitalfunktionen mit AWL programmieren 344951 Uumlbertragungsfunktionen 344952 Vergleichsfunktionen 346953 Arithmetische Funktionen 349954 Mathematische Funktionen 352955 Konvertierungsfunktionen 353956 Schiebefunktionen 354957 Wortverknuumlpfungen 356

96 Programmfluss bei AWL steuern 358961 Mit Statusbits in der Anweisungsliste arbeiten 359962 ENENO-Mechanismus bei AWL 361963 Sprungfunktionen 363964 Sprungverteiler 364965 Schleifensprung 364966 Bausteinfunktionen 365967 Master Control Relay (MCR) 368

97 Weitere AWL-Funktionen 369

Inhaltsverzeichnis

15

971 Akkumulatorfunktionen 369972 Addieren von Konstanten zum Akkumulator 1 371973 Dekrementieren Inkrementieren 372974 Nullanweisungen 373

10 Structured Control Language SCL 374

101 Einfuumlhrung in die Programmierung mit SCL 3741011 Programmieren mit SCL allgemein 3741012 SCL-Anweisungen und Operatoren 376

102 Binaumlre Verknuumlpfungen mit SCL programmieren 3781021 Abfrage auf Signalzustand bdquo1ldquo und auf Signalzustand bdquo0ldquo 3781022 UND-Funktion 3791023 ODER-Funktion 3791024 Exklusiv-ODER-Funktion 3801025 Kombinierte binaumlre Verknuumlpfungen 3801026 Verknuumlpfungsergebnis negieren 381

103 Speicherfunktionen mit SCL programmieren 3821031 Wertzuweisung einer Binaumlrvariablen 3821032 Setzen und Ruumlcksetzen 3821033 Flankenauswertung 382

104 Zeit- und Zaumlhlfunktionen mit SCL programmieren 3831041 SIMATIC-Zeitfunktionen 3831042 SIMATIC-Zaumlhlfunktionen 3841043 IEC-Zeitfunktionen 3851044 IEC-Zaumlhlfunktionen 386

105 Digitalfunktionen mit SCL programmieren 3871051 Uumlbertragungsfunktion Wertzuweisung einer Digitalvariablen 3871052 Vergleichsfunktionen 3871053 Arithmetische Funktionen 3881054 Mathematische Funktionen 3891055 Konvertierungsfunktionen 3901056 Schiebefunktionen 3911057 Wortverknuumlpfungen logischer Ausdruck 392

106 Programmfluss mit SCL steuern 3931061 Mit der Variablen ENO arbeiten 3931062 ENENO-Mechanismus bei SCL 3951063 Kontrollanweisungen 3961064 Bausteinfunktionen 404

11 Ablaufsteuerung S7-GRAPH 408

111 Einfuumlhrung 4081111 Was ist eine Ablaufsteuerung 4081112 Eigenschaften einer Ablaufsteuerung 4091113 Programm fuumlr eine Ablaufsteuerung Mengengeruumlst 4101114 Betriebsarten 4101115 Vorgehen bei der Projektierung 411

Inhaltsverzeichnis

16

112 Elemente einer Ablaufsteuerung 4121121 Schritte und Transitionen 4121122 Spruumlnge in einer Ablaufsteuerung 4131123 Verzweigungen einer Ablaufkette 4131124 GRAPH-spezifische Variablen 4151125 Permanente Anweisungen 4161126 Schritt- und Transitionsfunktionen 4161127 Bearbeitung von Aktionen 420

113 Eine Ablaufsteuerung projektieren 4261131 Den GRAPH-Funktionsbaustein programmieren 4271132 Projektieren der Kettenstruktur 4281133 Schritte und Transitionen programmieren 4291134 Permanente Anweisungen programmieren 4311135 Bausteinuumlbergreifende Meldungen projektieren 4311136 Attribute des GRAPH-Funktionsbausteins 4321137 GRAPH-Funktionsbaustein anwenden 433

114 Ablaufsteuerung testen 4341141 GRAPH-Funktionsbaustein laden 4351142 Einstellungen zum Programmtest 4351143 Betriebsarten verwenden 4361144 Ablaufkette synchronisieren 4371145 Mit Programmstatus testen 438

12 Basisfunktionen 440

121 Binaumlre Verknuumlpfungen 4401211 Einfuumlhrung 4401212 Arbeiten mit Binaumlrsignalen 4411213 UND-Funktion Reihenschaltung 4441214 ODER-Funktion Parallelschaltung 4451215 Exklusiv-ODER-Funktion Antivalenzfunktion 4451216 Verknuumlpfungsergebnis negieren NOT-Kontakt 446

122 Speicherfunktionen 4481221 Einfuumlhrung 4481222 Standardspule Zuweisung 4481223 Einzelnes Setzen und Ruumlcksetzen 4481224 Vorrangiges Setzen und Ruumlcksetzen Speicherfunktion 4501225 Flankenauswertung 452

123 SIMATIC-Zeitfunktionen 4571231 Uumlbersicht 4571232 Programmieren einer Zeitfunktion 4601233 Zeitverhalten als Impuls 4621234 Zeitverhalten als verlaumlngerter Impuls 4641235 Zeitverhalten als Einschaltverzoumlgerung 4661236 Zeitverhalten als speichernde Einschaltverzoumlgerung 4681237 Zeitverhalten als Ausschaltverzoumlgerung 470

124 IEC-Zeitfunktionen 472

Inhaltsverzeichnis

17

1241 Einfuumlhrung 4721242 Impulsbildung TP 4731243 Einschaltverzoumlgerung TON 4741244 Ausschaltverzoumlgerung TOF 475

125 SIMATIC-Zaumlhlfunktionen 4761251 Uumlbersicht 4761252 Programmieren einer Zaumlhlfunktion 4781253 Funktionsweise einer Zaumlhlfunktion 4801254 Freigeben einer Zaumlhlfunktion bei AWL 482

126 IEC-Zaumlhlfunktionen 4831261 Einfuumlhrung 4831262 Vorwaumlrtszaumlhler CTU 4841263 Ruumlckwaumlrtszaumlhler CTD 4851264 VorwaumlrtsRuumlckwaumlrtszaumlhler CTUD 487

13 Digitalfunktionen 488

131 Allgemeines 488

132 Uumlbertragungsfunktionen 4891321 Allgemeines zur bdquoeinfachenldquo Uumlbertragungsfunktion 4891322 MOVE-Box bei KOP und FUP 4891323 Laden und Transferieren bei AWL 4911324 Wertzuweisungen bei SCL 4921325 Datenbereich im Arbeitsspeicher kopieren und fuumlllen 4941326 Datenbereich vom und zum Ladespeicher uumlbertragen 4971327 Speicherbereich steuern bei MCR-Abhaumlngigkeit 498

133 Vergleichsfunktionen 5011331 Ausfuumlhrung der bdquoeinfachenldquo Vergleichsfunktion 5011332 Vergleichsfunktion T_COMP 5031333 Vergleichsfunktion S_COMP 503

134 Arithmetische Funktionen 5041341 Allgemeine Funktionsbeschreibung 5041342 Datentypen und Statusbits bei einer arithmetischen Funktion 5051343 Ausfuumlhrung der arithmetischen Funktion 5071344 Arithmetische Funktionen fuumlr Datum und Uhrzeit 508

135 Mathematische Funktionen 5101351 Allgemeine Funktionsbeschreibung 5101352 Allgemeine Ausfuumlhrung einer mathematischen Funktion 5111353 Winkelfunktionen SIN COS TAN 5111354 Arcusfunktionen ASIN ACOS ATAN 5121355 Sonstige mathematische Funktionen 512

136 Konvertierungsfunktionen 5141361 Implizite Datentypwandlung 5141362 Datentypwandlung von Festpunktzahlen 5151363 Datentypwandlung von Gleitpunktzahlen 5181364 Datentypwandlung fuumlr DatumUhrzeit mit T_CONV 5211365 Datentypwandlung fuumlr Datentyp STRING mit S_CONV 522

Inhaltsverzeichnis

18

1366 Datentypwandlung von Hexadezimalzahlen 5241367 Skalieren und Deskalieren 5251368 Sonstige Konvertierungsfunktionen 526

137 Schiebefunktionen 5271371 Allgemeine Funktionsbeschreibung 5271372 Allgemeine Ausfuumlhrung einer Schiebefunktion 5291373 Rechts schieben 5301374 Links schieben 5301375 Rechts rotieren 5311376 Links rotieren 5321377 Rotieren durch das Anzeigenbit A1 (AWL) 532

138 Logikfunktionen 5321381 Wortverknuumlpfungen 5331382 Invertieren 5351383 Bit codieren und Bitnummer setzen 5361384 Auswahl- und Begrenzerfunktionen 537

139 Funktionen fuumlr Zeichenketten 540

14 Programmfluss-Steuerung 544

141 Statusbits 5451411 Beschreibung der Statusbits 5451412 Steuern der Statusbits 5471413 Verknuumlpfungsergebnis setzen und ruumlcksetzen 5481414 Binaumlrergebnis steuern 5491415 Auswertung der Statusbits 552

142 Sprungfunktionen 5531421 Einfuumlhrung 5531422 Absoluter Sprung 5531423 Bedingte Sprungfunktionen 5551424 Von den Statusbits abhaumlngige Sprungfunktionen 556

143 Bausteinende-Funktionen 5591431 Bausteinende-Funktion RET (KOP und FUP) 5601432 Bausteinende-Funktionen BEB BEA und BE (AWL) 5601433 RETURN-Anweisung (SCL) 561

144 Aufruf von Codebausteinen 5611441 Allgemeines zu Bausteinaufrufen 5611442 Aufruf einer Funktion (FC) 5621443 Aufruf eines Funktionsbausteins (FB) 5641444 Wechsel zu einem Baustein ohne Bausteinparameter 566

145 Datenbausteinfunktionen 5681451 Datenbaustein aufschlagen 5691452 Zusaumltzliche Datenbausteinfunktionen bei AWL 5701453 Datenbaustein erzeugen loumlschen und testen 571

146 Master Control Relay 5741461 Einfuumlhrung 5741462 MCR-Abhaumlngigkeit 575

Inhaltsverzeichnis

19

1463 MCR-Bereich und MCR-Zone 5751464 MCR-Bereich und MCR-Zone bei einem Bausteinwechsel 5781465 Anweisungen fuumlr das Master Control Relay 578

15 Online-Betrieb und Programmtest 580

151 Programmiergeraumlt an die PLC-Station anschlieszligen 5811511 Einstellungen am Programmiergeraumlt 5811512 Das Programmiergeraumlt mit der PLC-Station verbinden 5821513 Den Online-Betrieb einschalten 583

152 Projektdaten uumlbertragen 5841521 Die Projektdaten erstmalig laden 5841522 Die Projektdaten nachladen 5871523 Schutz des Anwenderprogramms 5881524 Online-Projekt ohne Offline-Projekt bearbeiten 5891525 Mit der Micro Memory Card arbeiten 590

153 Mit Bausteinen im Online-Betrieb arbeiten 5901531 Einfuumlhrung 5901532 Die Online-Version eines Bausteins bearbeiten 5911533 Einen Baustein in die CPU-Baugruppe laden 5921534 Den Arbeitsspeicher komprimieren 5941535 Bausteine aus der CPU zuruumlckladen 5941536 Mit Einstellwerten arbeiten 5961537 Bausteine vergleichen 598

154 Hardware-Diagnose 6011541 Status-Anzeigen an den Baugruppen 6011542 Diagnose-Informationen 6021543 Diagnosepuffer 6021544 Diagnose-Funktionen 6041545 Online-Tools 6041546 Weitere Diagnose-Informationen uumlber das Programmiergeraumlt 605

155 Anwenderprogramm testen 6061551 Aufrufumgebung definieren 6061552 Testen mit Programmstatus 6071553 Testen im Einzelschrittmodus 6111554 PLC-Variablen beobachten 6141555 Datenvariablen beobachten 6141556 Testen mit Beobachtungstabellen 6151557 Beobachten und Steuern im Betriebszustand STOP 6201558 Testen mit der Force-Tabelle 622

16 Dezentrale Peripherie 626

161 Einfuumlhrung Uumlbersicht 626

162 Dezentrales Peripheriesystem ET 200 6271621 ET 200M 6271622 ET 200MP 6281623 ET 200S 628

Inhaltsverzeichnis

20

1624 ET 200SP 6291625 ET 200iSP 6301626 ET 200pro 6311627 ET 200eco 631

163 PROFINET IO 6321631 Komponenten von PROFINET IO 6321632 Adressen bei PROFINET IO 6351633 Spezielle PROFINET-Konfigurationen 6381634 PROFINET IO projektieren 6391635 Kopplungsbaugruppen fuumlr PROFINET IO 6431636 Echtzeit-Kommunikation bei PROFINET 644

164 PROFIBUS DP 6491641 Komponenten von PROFIBUS DP 6491642 Adressen bei PROFIBUS DP 6521643 PROFIBUS DP projektieren 6561644 Kopplungsbaugruppen fuumlr PROFIBUS DP 6591645 Sonderfunktionen fuumlr PROFIBUS DP 661

165 Taktsynchronitaumlt 6621651 Einfuumlhrung 6621652 Taktsynchronitaumlt bei PROFINET 6631653 Taktsynchronitaumlt bei PROFIBUS 666

166 Systembausteine fuumlr dezentrale Peripherie 6691661 Systembausteine fuumlr PROFIBUS DP 6691662 Systembausteine fuumlr PROFIBUS DP und PROFINET IO 6731663 Systembausteine fuumlr PROFINET IO 676

167 AktorSensor-Interface 6791671 Komponenten von AktorSensor-Interface 6791672 Adressen am AktorSensor-Interface 6811673 AktorSensor-Interface mit CP 343-2P projektieren 6811674 Systemfunktionen fuumlr AS-i 683

17 Kommunikation 684

171 Uumlbersicht 684

172 S7-Basiskommunikation 6851721 Grundlagen der stationsinternen S7-Basiskommunikation 6851722 Stationsinterne S7-Basiskommunikation projektieren 6861723 Systembausteine fuumlr stationsinterne S7-Basiskommunikation 6861724 Grundlagen der stationsexternen S7-Basiskommunikation 6881725 Stationsexterne S7-Basiskommunikation projektieren 6891726 Systembausteine fuumlr stationsexterne S7-Basiskommunikation 689

173 S7-Kommunikation 6921731 Grundlagen 6921732 S7-Kommunikation projektieren 6931733 Einseitiger Datenaustausch 6951734 Zweiseitiger Datenaustausch 6961735 Uumlberwachungsfunktionen 699

Inhaltsverzeichnis

21

174 Open User Communication 700

1741 Grundlagen 700

1742 Verbindungen auf- und abbauen 702

1743 Datenuumlbertragung mit TCP native oder ISO-on-TCP 704

1744 Datenuumlbertragung mit UDP 707

18 Anhang 710

181 Arbeiten mit Quelldateien 710

1811 Allgemeines Vorgehen 710

1812 Einen Codebaustein in der Quelldatei programmieren 712

1813 Einen Datenbaustein in der Quelldatei programmieren 715

1814 Einen PLC-Datentyp in der Quelldatei programmieren 719

182 Projekte migrieren 720

183 Simulation mit dem TIA Portal 724

1831 Unterschiede zu einer realen CPU-Baugruppe 724

1832 Simulation starten und speichern 725

1833 Die Simulation bedienen 726

1834 Programm mit der Simulation testen 728

1835 Weitere Funktionen von PLCSIM 730

184 Webserver 731

1841 Webserver aktivieren 731

1842 Web-Informationen auslesen 732

1843 Standard-Webseiten 733

185 Ablage von lokalen Variablen 736

1851 Ablage in Global-Datenbausteinen 736

1852 Ablage in Instanz-Datenbausteinen 737

1853 Ablage in den temporaumlren Lokaldaten 738

1854 Datenablage der Bausteinparameter einer Funktion (FC) 739

1855 Datenablage der Bausteinparameter eines Funktionsbausteins (FB) 742

1856 Datenablage einer Lokalinstanz in einer Multiinstanz 744

Stichwortverzeichnis 746

1 Einfuumlhrung

22

1 Einfuumlhrung

11 Uumlbersicht Automatisierungssystem S7-300

SIMATIC S7-300 ist das modulare Kleinsteuersystem fuumlr den unteren und mittlerenLeistungsbereich (Bild 11) Verschiedene Varianten der Controller passen die Leis-tungsfaumlhigkeit an den jeweiligen Einsatzfall an Je nach Bedarf kann das Automati-sierungsgeraumlt mit Ein-Ausgabebaugruppen fuumlr Digital- und Analogsignale in biszu vier Baugruppentraumlgern mit je acht Baugruppen modular erweitert werden

Eine zusaumltzliche Erweiterung mit Ein-Ausgabebaugruppen bietet die dezentralePeripherie uumlber PROFIBUS oder PROFINET Mit besonderen Bauformen fuumlr erhoumlhtemechanische Anforderungen ausgestattet koumlnnen diese Baugruppen vor Ort ander Maschine oder Anlage installiert werden Die Steuerungsgeraumlte SIMATIC S7-300werden mit STEP 7 konfiguriert projektiert und programmiert Der Datenaus-tausch zwischen den Steuerungsgeraumlten der dezentralen Peripherie und dem Pro-grammiergeraumlt geschieht mit SIMATIC NET

Bild 11 Bestandteile des Automatisierungssystems SIMATIC S7-300

SIMATIC Controller steuern dieMaschine oder Anlage

Die dezentrale Peripherie erweitert dieSchnittstelle zur Maschine oder Anlage

SIMATIC NET

SIMATIC DP STEP 7Professional V12

SIMATIC S7-300

Die Vernetzung ermoumlglicht denDatenaustausch und den zentralenOnline-Zugriff

Mehrere Varianten der Controllererweitern das Einsatzspektrum

STEP 7 ist die Engineeringsoftware zumKonfigurieren undProgrammieren

Projektieren

Automatisierungssystem SIMATIC S7-300

11 Uumlbersicht Automatisierungssystem S7-300

23

111 Automatisierungsgeraumlt SIMATIC S7-300

Die wesentlichen Bestandteile eines S7-300-Automatisierungsgeraumlts sind im Bild12 dargestellt

Die CPU-Baugruppe enthaumllt das Betriebssystem und das AnwenderprogrammDas Anwenderprogramm steht spannungsausfallsicher auf der in der CPU-Bau-gruppe steckenden Micro Memory Card (MMC) Die Bearbeitung des Anwenderpro-gramms findet im Arbeitsspeicher in der CPU statt Die auf der CPU-Baugruppe vor-handenen Busschnittstellen stellen die Verbindung zu anderen Automatisierungs-geraumlten her

Die Verbindung zur gesteuerten Anlage uumlbernehmen SM-Baugruppen Diese Ein-und Ausgabebaugruppen gibt es fuumlr Digital- und Analogsignale

Die FM-Baugruppen sind signalvorverarbeitende bdquointelligenteldquo Peripheriebau-gruppen die vom Prozess kommende Signale unabhaumlngig von der CPU aufberei-ten verarbeiten und entweder wieder direkt an den Prozess zuruumlckgeben oder ander internen Schnittstelle der CPU zur Verfuumlgung stellen FM-Baugruppen uumlber-nehmen Funktionen die die CPU meist nicht schnell genug ausfuumlhren kann wiez B Impulse zaumlhlen positionieren oder Antriebe regeln

Die CP-Baugruppen gestatten einen Datenverkehr der die Moumlglichkeiten derStandard-Schnittstellen bezuumlglich Protokolle und Kommunikationsfunktionenuumlberschreitet

Die IM-Baugruppen verbinden bei einer Erweiterung den Zentralbaugruppentrauml-ger mit bis zu drei Erweiterungsbaugruppentraumlgern

Eine Stromversorgungsbaugruppe sorgt schlieszliglich fuumlr die benoumltigte Spannungim Automatisierungsgeraumlt

Bild 12 Bestandteile einer S7-300-Steuerung

Erweiterungsbaugruppentraumlger

Zentralbaugruppentraumlger SM-Baugruppen(Signal Modules)

Auf den Baugruppen-traumlgern sind steckbar

FM-Baugruppen(Function Modules)

CP-Baugruppen(CommunicationProcessors)

IM-Baugruppe(Interface Module)

IM-Baugruppe(Interface Module)

CPU-Baugruppe(Central Processor Unit)

PS-Baugruppe(Power Supply)

Baugruppen-traumlger (Rack)

Bestandteile einer S7-300-Steuerung

S

1 Einfuumlhrung

24

112 Uumlbersicht STEP 7 Professional V12

STEP 7 ist das zentrale Automatisierungswerkzeug fuumlr SIMATIC STEP 7 benoumltigtzum Betrieb eine Autorisierung (Lizenz) und laumluft auf den jeweils aktuellen Be-triebssystemen unter Microsoft Windows Die Projektierung eines S7-300-Control-lers geschieht mit zwei Ansichten der Portalansicht und der Projektansicht

Die Portalansicht ist aufgabenorientiert angelegt

Im Startportal oumlffnen Sie ein bestehendes Projekt erstellen ein neues Projekt odermigrieren ein Projekt Ein bdquoProjektldquo ist eine Datenstruktur die alle erforderlichenProgramme und Daten fuumlr Ihr Automatisierungsvorhaben enthaumllt Von hier aussind die wichtigsten Werkzeuge und Funktionen von STEP 7 uumlber weitere Portale er-reichbar (Bild 13)

b Im Portal Geraumlte amp Netze konfigurieren Sie die Automatisierungsgeraumlte d h Sieplatzieren die Baugruppen in einem Baugruppentraumlger und parametrieren sie

b Im Portal PLC-Programmierung erstellen Sie das Anwenderprogramm in Formvon einzelnen Abschnitten die man bdquoBausteineldquo nennt

b Das Portal Visualisierung bietet die wichtigsten Werkzeuge fuumlr die Projektierungund Simulation von HMI-Systemen mit SIMATIC WinCC an

Bild 13 Werkzeuge im Startportal von STEP 7 Professional V12

11 Uumlbersicht Automatisierungssystem S7-300

25

b Mit dem Portal Motion amp Technology fuumlgen Sie ein Technologie-Objekt fuumlr PIDControl ein und bearbeiten es

b Mit dem Portal Online amp Diagnose schalten Sie das Programmiergeraumlt online aneine CPU-Baugruppe Sie koumlnnen die Betriebsarten der CPU steuern und das An-wenderprogramm uumlbertragen und testen

Die Projektansicht bietet eine objektorientierte Ansicht mit mehreren Fensternderen Inhalt je nach ausgefuumlhrter Taumltigkeit wechselt In der Geraumltekonfigurationsteht der Arbeitsbereich mit dem zu konfigurierenden Geraumlt im Mittelpunkt In derGeraumltesicht wird der Baugruppentraumlger mit den bereits platzierten Baugruppen ge-zeigt (Bild 14) Ein weiteres Fenster ndash das Inspektorfenster ndash enthaumllt die Eigen-schaften der selektierten Baugruppe das Aufgaben-Fenster (Task Card) gibt Unter-stuumltzung durch den Hardware-Katalog mit den zur Verfuumlgung stehenden Baugrup-pen Die Netzsicht gestattet die Vernetzung zwischen PLC- und HMI-Stationen

Bei der PLC-Programmierung bearbeiten Sie im Arbeitsbereich den ausgewaumlhltenBaustein Wiederum sehen Sie im Inspektorfenster die Eigenschaften des markier-ten Objekts und koumlnnen diese einstellen Das Aufgabenfenster enthaumllt diesmal denProgrammelemente-Katalog mit den zur Verfuumlgung stehenden Programmelemen-ten und Anweisungen Aumlhnliches gilt fuumlr die Bearbeitung der PLC-Variablen oderbeim Online-Programmtest durch Beobachtungstabellen

Bild 14 Beispiel fuumlr die Projektansicht Arbeitsbereich der Geraumltekonfiguration

1 Einfuumlhrung

26

Und stets haben Sie die Projektnavigation im Blickfeld Sie enthaumllt alle Objekte desSTEP-7-Projekts So koumlnnen Sie jederzeit ein Objekt beispielsweise einen Pro-grammbaustein oder eine Beobachtungstabelle auswaumlhlen und dieses Objekt mitden entsprechenden Editoren die beim Oumlffnen des Objekts automatisch startenbearbeiten

113 Fuumlnf Programmiersprachen

Als Programmiersprache fuumlr das Anwenderprogramm koumlnnen Sie zwischen Kon-taktplan (KOP) Funktionsplan (FUP) Anweisungsliste (AWL) Structured ControlLanguage (SCL) und Ablaufsteuerung (GRAPH) waumlhlen

Mit Kontaktplan programmieren Sie die Steuerungsaufgabe angelehnt an denStromlaufplan Die Verknuumlpfung der binaumlren Signalzustaumlnde wird durch die seriel-le oder parallele Anordnung von Kontakten und Spulen dargestellt (Bild 15) Kom-plexe Funktionen wie beispielsweise die arithmetischen Funktionen werden mitBoxen dargestellt die Sie wie Kontakte oder Spulen im Kontaktplan anordnen

Mit Funktionsplan programmieren Sie die Steuerungsaufgabe angelehnt an elektro-nische Schaltkreissysteme Binaumlre Verknuumlpfungen werden durch Verschaltung vonUND- und ODER-Funktionen realisiert und mit Speicher-Boxen abgeschlossen (Bild16) Komplexe Boxen uumlbernehmen die Verknuumlpfung digitaler Variablen beispiels-weise bei den arithmetischen Funktionen

Bild 15 Beispiel fuumlr die Darstellung in Kontaktplan

Bild 16 Beispiel fuumlr die Darstellung in Funktionsplan

11 Uumlbersicht Automatisierungssystem S7-300

27

Mit Anweisungsliste programmieren Sie die Steuerungsaufgabe durch eine Folgevon Anweisungen Jede AWL-Anweisung enthaumllt eine Vorschrift was zu tun ist undeventuell einen Operand mit dem die Operation ausgefuumlhrt wird AWL ist gleicher-maszligen geeignet fuumlr binaumlre und digitale Verknuumlpfungen wie fuumlr die Programmierungkomplexer Steuerungsaufgaben (Bild 17)

Structured Control Language eignet sich besonders fuumlr die Programmierung vonkomplexen Algorithmen oder fuumlr Aufgabenstellungen aus dem Bereich der Datenver-waltung Das Programm besteht aus SCL-Anweisungen die beispielsweise Wertzuwei-sungen Vergleiche oder Kontrollanweisungen sein koumlnnen (Bild 18)

Mit GRAPH programmieren Sie eine Steuerungsaufgabe als Ablaufsteuerung in derdie sequenzielle Folge von Aktionen vorherrscht Die einzelnen Schritte und Verzwei-gungen werden durch Weiterschaltbedingungen freigegeben die mit KOP oder FUPprogrammiert werden koumlnnen (Bild 19)

114 Bearbeitung des Anwenderprogramms

Nach dem Einschalten der Versorgungsspannung pruumlft der Steuerungsprozessordie Konsistenz der Hardware und parametriert die Baugruppen Anschlieszligend wirdeinmalig ndash falls vorhanden ndash ein Anlaufprogramm bearbeitet Das Anlaufpro-

Bild 17 Beispiel fuumlr AWL-Anweisungen

Bild 18 Beispiel fuumlr SCL-Anweisungen

1 Einfuumlhrung

28

gramm gehoumlrt zum Anwenderprogramm das Sie programmieren Im Anlaufpro-gramm koumlnnen beispielsweise Baugruppen initialisiert werden

Das Anwenderprogramm ist in der Regel in einzelne Abschnitte ndash bdquoBausteineldquo ge-nannt ndash eingeteilt Die Organisationsbausteine (OB) sind die Schnittstelle zwischenBetriebssystem und Anwenderprogramm Das Betriebssystem ruft zu bestimmtenEreignissen einen Organisationsbaustein auf in dem dann das Anwenderpro-gramm bearbeitet wird (Bild 110)

Bild 19 Beispiel fuumlr eine GRAPH-Ablaufkette und eine Schrittprojektierung

Bild 110 Bearbeitung des Anwenderprogramms

Anlauf-programm

Alarm- undFehlerprogramm

Haupt-programm

Bearbeitung des Anwenderprogramms

Einschalten

Aktualisierung derEin- und Ausgaumlnge

Unterbrechung(Alarm oder Fehler)

BetriebszustandANLAUF

Betriebssystem Anwenderprogramm

BetriebszustandRUN

OB

OB

FBFC

FBFC

FBFC

FBFC

FBFC

FBFC

OB

Unterbrechung

11 Uumlbersicht Automatisierungssystem S7-300

29

Zur Strukturierung das Programms stehen Funktionsbausteine (FB) und Funktio-nen (FC) zur Verfuumlgung Funktionsbausteine haben einen Speicher in dem lokaleVariablen dauerhaft abgelegt sind Funktionen haben diesen Speicher nicht

Fuumlr den Aufruf (das Starten der Bearbeitung) von Funktionsbausteinen und Funk-tionen gibt es Programmanweisungen Jeder Bausteinaufruf kann mit Ein- undAusgaumlngen ndash bdquoBausteinparameterldquo genannt ndash versehen werden Beim Aufruf koumln-nen Variablen uumlbergeben werden mit denen das Programm im Baustein arbeitensoll Auf diese Weise kann ein Baustein mit einer gewissen Funktion (z B der Addi-tion von drei Variablen) mehrfach mit unterschiedlichen Parametersaumltzen (z B fuumlrunterschiedliche Berechnungen) aufgerufen werden (Bild 111)

Die Daten des Anwenderprogramms werden in Datenbausteinen (DB) abgelegtInstanz-Datenbausteine sind einem Aufruf eines Funktionsbausteins fest zugeord-net und bilden den Variablenspeicher des Funktionsbausteins Global-Datenbau-steine enthalten Daten die keinem Baustein zugeordnet sind

Nach einem Anlauf aktualisiert der Steuerungsprozessor die Ein- und Ausgangs-signale in den Prozessabbildern und ruft den Organisationsbaustein OB 1 auf Hiersteht das Hauptprogramm Auch im Hauptprogramm ist eine Strukturierung moumlg-lich und zu empfehlen Ist das Hauptprogramm bearbeitet wechselt der Steue-rungsprozessor zuruumlck ins Betriebssystem haumllt beispielsweise die Kommunikati-on mit dem Programmiergeraumlt aufrecht aktualisiert die Ein- und Ausgangssignaleund beginnt dann erneut mit der Bearbeitung des Hauptprogramms

Die zyklische Programmbearbeitung ist ein Merkmal speicherprogrammierbarerSteuerungen Das Anwenderprogramm wird auch dann bearbeitet wenn bdquovon au-szligenldquo keine Aktionen gefordert sind wenn also z B die gesteuerte Maschine stehtDies hat Vorteile bei der Programmierung Sie programmieren beispielsweise den

Bild 111 Beispiel fuumlr zwei Aufrufe eines Bausteins mit jeweils verschiedenen Variablen

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

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 und Abbildungen in diesem Buch mit groszliger Sorgfalt erarbeitet Dennoch koumlnnen Fehler nicht ausgeschlossen werden Eine Haftung des Verlags oder des Autors gleich aus welchem Rechtsgrund fuumlr durch die Verwendung der Programmierbeispiele verursachte Schaumlden ist ausgeschlossen

wwwpublicis-booksde

Print ISBN 978-3-89578-432-3 ePDF ISBN 978-3-89578-902-1

2 Auflage 2014

Herausgeber Siemens Aktiengesellschaft Berlin und Muumlnchen Verlag Publicis Publishing Erlangen copy 2014 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-300 mit Standard-Controllern und die Moumlglichkeitenzum Aufbau eines dezentralen Steuerungskonzepts mit PROFIBUS und PROFINETFuumlr die Kommunikation mit anderen Automatisierungssystemen bieten die Cont-roller integrierte Busschnittstellen fuumlr Multipoint Interface (MPI) PROFIBUS undIndustrial Ethernet

Die Engineeringsoftware STEP 7 Professional im TIA Portal erschlieszligt die gesamteFunktionalitaumlt der S7-300-Controller STEP 7 Professional ist das gemeinsameWerkzeug fuumlr die Konfiguration des Hardware-Aufbaus und die Programmierungdes Anwenderprogramms 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-300 mit der Engineeringsoftware STEP 7 Professionalin der Version 12 mit Service Pack 1 Update 2

Erlangen im Dezember 2013 Hans Berger

Der Inhalt des Buchs auf einen Blick

6

Der Inhalt des Buchs auf einen Blick

Start

Das Automatisierungssystem SIMATIC S7-300 in der Uumlbersicht

Eine Einfuumlhrung in die Engineeringsoftware SIMATIC STEP 7 Professional V12

Die Grundlage der Automatisierungsloumlsung Ein Projekt erstellen und bearbeiten

Automatisierungssystem SIMATIC S7-300

Die Baugruppen von SIMATIC S7-300 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

Wie ein AktorSensor-Interface System 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

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-300 22111 Automatisierungsgeraumlt SIMATIC S7-300 23112 Uumlbersicht STEP 7 Professional V12 24113 Fuumlnf Programmiersprachen 26114 Bearbeitung des Anwenderprogramms 27115 Datenhaltung im SIMATIC-Automatisierungssystem 30

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

13 Ein SIMATIC-Projekt bearbeiten 37131 Strukturierte Darstellung der Projektdaten 38132 Projektdaten und Editoren fuumlr eine PLC-Station 38133 Ein Projekt erstellen und bearbeiten 42134 Mit Referenzprojekten arbeiten 45135 Bibliotheken anlegen und bearbeiten 46

2 Automatisierungssystem SIMATIC S7-300 47

21 Komponenten einer S7-300-Station 47

22 CPU-Baugruppen S7-300 49221 CPU-Varianten 49222 Bedien- und Anzeigeelemente 51223 SIMATIC Micro Memory Card 52224 Speicherbereiche in einer S7-300-Station 52225 Busschnittstellen 54

23 Signalbaugruppen 56231 Digitaleingabebaugruppen 56232 Digitalausgabebaugruppen 57233 Digitalein-ausgabebaugruppen 57234 Analogeingabebaugruppen 58235 Analogausgabebaugruppen 58236 Analogein-ausgabebaugruppen 59

24 Funktionsbaugruppen 60

25 Kommunikationsbaugruppen 61

Inhaltsverzeichnis

9

26 Sonstige Baugruppen 63261 Anschaltungsbaugruppen (IM) 63262 Stromversorgungsbaugruppen (PS) 63263 Simulatorbaugruppe 64264 Platzhalterbaugruppe 64

27 SIPLUS S7-300 65

3 Geraumltekonfiguration 66

31 Einfuumlhrung 66

32 Eine Station konfigurieren 69321 Eine PLC-Station hinzufuumlgen 69322 Eine Baugruppe hinzufuumlgen 69323 Einen Erweiterungsbaugruppentraumlger hinzufuumlgen 70

33 Baugruppen parametrieren 71331 Die CPU-Eigenschaften parametrieren 71332 Baugruppen adressieren 74333 Signalbaugruppen parametrieren 77

34 Netz projektieren 78341 Einfuumlhrung Uumlbersicht 78342 Stationen vernetzen 79343 Teilnehmeradressen in einem Subnetz 80344 Verbindungen 81345 Ein MPI-Subnetz projektieren 84346 Ein PROFIBUS-Subnetz projektieren 85347 Ein PROFINET-Subnetz projektieren 87348 Ein AS-i-Subnetz projektieren 90

4 Variablen Adressierung und Datentypen 92

41 Operanden und Variablen 92411 Einfuumlhrung Uumlbersicht 92412 Operandenbereiche Eingaumlnge und Ausgaumlnge 93413 Operandenbereich Merker 96414 Operandenbereich Daten 97415 Operandenbereich temporaumlre Lokaldaten 97

42 Adressierung von Operanden und Variablen 98421 Signalweg 98422 Absolute Adressierung von Variablen 99423 Symbolische Adressierung von Variablen 104424 Adressierung von Konstanten 105

43 Indirekte Adressierung 106431 Speicherindirekte Adressierung mit AWL 107432 Registerindirekte Adressierung mit AWL 110433 Arbeiten mit den Adressregistern bei AWL 111434 Direkter Zugriff auf komplexe Lokalvariablen mit AWL 119435 Indirekte Adressierung bei SCL 121

Inhaltsverzeichnis

10

44 Elementare Datentypen 123441 Einfuumlhrung 123442 Bitfolge-Datentypen BOOL BYTE WORD und DWORD 126443 BCD-Zahlen BCD16 und BCD32 126444 Festpunkt-Datentypen mit Vorzeichen INT und DINT 128445 Gleitpunkt-Datentyp REAL 128446 Datentyp CHAR 129447 Datentypen fuumlr Zeitdauern und Zeitpunkte 130

45 Zusammengesetzte Datentypen 132451 Zeichenkette STRING 132452 Datentyp ARRAY 134453 Datentyp STRUCT 136

46 Parametertypen und Zeiger 138461 Parametertypen 138462 Zeiger 139463 bdquoVariablerldquo ANY-Zeiger bei AWL 143464 bdquoVariablerldquo ANY-Zeiger bei SCL 143

47 PLC-Datentypen 146

48 Startinformation 147

5 Programmbearbeitung 148

51 Betriebszustaumlnde der CPU-Baugruppe 148511 Betriebszustand STOP 149512 Betriebszustand ANLAUF 150513 Betriebszustand RUN 152514 Betriebszustand HALT 152515 CPU urloumlschen 153516 Auslieferungszustand wiederherstellen 153517 Remanenzverhalten von Operanden 154

52 Anwenderprogramm erstellen 154521 Programmentwurf 154522 Programmbearbeitung 158523 Bausteinarten 160524 Bausteineigenschaften bearbeiten 161525 Bausteinschnittstelle 165526 Beispiel zur Verwendung von Bausteinparametern 167

53 Bausteine aufrufen 169531 Allgemeines zu Aufrufen von Codebausteinen 169532 Aufruf von Funktionen (FC) 169533 Aufruf von Funktionsbausteinen (FB) 171534 bdquoWeiterreichenldquo von Bausteinparametern 174

54 Anlaufprogramm 175541 Organisationsbaustein OB 100 175542 Baugruppenadresse ermitteln 176543 Baugruppen parametrieren 178

Inhaltsverzeichnis

11

55 Hauptprogramm 181551 Organisationsbaustein OB 1 181552 Prozessabbild-Aktualisierung 182553 Zykluszeit und Reaktionszeit 183554 Programm anhalten stoppen und schuumltzen 185555 Uhrzeit 187556 Systemzeit lesen 189557 Betriebsstundenzaumlhler 190

56 Alarmbearbeitung 191561 Einfuumlhrung zur Alarmbearbeitung 191562 Prioritaumltsklassen 192563 Uhrzeitalarm Organisationsbaustein OB 10 192564 Verzoumlgerungsalarme Organisationsbausteine OB 20 und OB 21 196565 Weckalarme Organisationsbausteine OB 32 bis OB 35 198566 Prozessalarm Organisationsbaustein OB 40 200567 DPV1-Alarme Organisationsbausteine OB 55 bis OB 57 202568 Taktsynchronalarm Organisationsbaustein OB 61 202569 Alarmzusatzinformation lesen 205

57 Fehlerbehandlung 206571 Fehlerursachen und Fehlerreaktion 206572 Synchronfehler 206573 Synchronfehlerbearbeitung sperren und freigeben 208574 Ersatzwert eintragen 211575 Asynchronfehler 212576 Alarme und Asynchronfehler sperren verzoumlgern und freigeben 215

58 Diagnose 217581 Diagnosealarm Organisationsbaustein OB 82 217582 Systemzustandsliste lesen 219583 Startinformation lesen 220584 Anwender-Diagnoseereignis in den Diagnosepuffer schreiben 221585 Systemdiagnose mit Report System Errors 222

6 Programmeditor 225

61 Einfuumlhrung 225

62 PLC-Variablentabelle 226621 Mit PLC-Variablentabellen arbeiten 226622 PLC-Variablen definieren und bearbeiten 226623 PLC-Variablen vergleichen 228624 PLC-Variablentabelle exportieren und importieren 229625 Konstantentabellen 230

63 Einen Codebaustein programmieren 230631 Einen neuen Codebaustein anlegen 230632 Arbeitsbereich des Programmeditors fuumlr Codebausteine 232633 Bausteineigenschaften fuumlr Codebausteine festlegen 233634 Bausteinschnittstelle programmieren 234635 Steuerungsfunktion programmieren 236

Inhaltsverzeichnis

12

636 Variablen editieren 240637 Mit Programmkommentaren arbeiten 242

64 Einen Datenbaustein programmieren 244641 Einen neuen Datenbaustein anlegen 244642 Arbeitsbereich des Programmeditors fuumlr Datenbausteine 244643 Bausteineigenschaften fuumlr Datenbausteine festlegen 246644 Datenvariablen deklarieren 246645 Datenvariablen in Globaldatenbausteinen eingeben 247

65 Bausteine uumlbersetzen 248651 Uumlbersetzung starten 248652 SCL-Bausteine uumlbersetzen 249653 Fehler nach der Uumlbersetzung beheben 249

66 Programminformationen 250661 Querverweisliste 251662 Belegungsplan 253663 Aufrufstruktur 254664 Abhaumlngigkeitsstruktur 255665 Konsistenzpruumlfung 255666 Speicherauslastung der CPU 256

7 Kontaktplan KOP 258

71 Einfuumlhrung 258711 Programmieren mit KOP allgemein 258712 Programmelemente des Kontaktplans 260

72 Binaumlre Verknuumlpfungen mit KOP programmieren 260721 Schlieszligerkontakt und Oumlffnerkontakt 260722 Reihen- und Parallelschaltung von Kontakten 262723 T-Abzweig offener Parallelzweig 263724 Verknuumlpfungsergebnis negieren 264725 Flankenauswertung einer Binaumlrvariablen 265726 Vergleich-Kontakte 265

73 Speicherfunktionen mit KOP programmieren 266731 Einfache Spule Zuweisung 266732 Setzen- und Ruumlcksetzen-Spule 268733 Speicherndes Verhalten durch Selbsthaltung 268734 Spulen mit Zeitverhalten 269735 Spulen mit Zaumlhlerverhalten 270

74 Q-Boxen mit KOP programmieren 271741 Speicher-Boxen 272742 Flankenauswertung des Stromflusses 272743 SIMATIC-Zeitfunktionen 273744 SIMATIC-Zaumlhlfunktionen 274745 IEC-Zeitfunktionen 274746 IEC-Zaumlhlfunktionen 276

75 ENENO-Boxen mit KOP programmieren 277751 Uumlbertragungsfunktion MOVE 277

Inhaltsverzeichnis

13

752 Arithmetische Funktionen 278753 Mathematische Funktionen 279754 Konvertierungsfunktionen 280755 Schiebefunktionen 281756 Wortverknuumlpfungen 282

76 Programmfluss bei KOP steuern 284761 Mit Statusbits im Kontaktplan arbeiten 284762 ENENO-Mechanismus bei KOP 286763 Sprungfunktionen 287764 Bausteinfunktionen 288765 Master Control Relay (MCR) 290

8 Funktionsplan FUP 292

81 Einfuumlhrung 292811 Programmieren mit FUP allgemein 292812 Programmelemente des Funktionsplans 294

82 Binaumlre Verknuumlpfungen mit FUP programmieren 295821 Abfrage auf Signalzustand bdquo1ldquo und auf Signalzustand bdquo0ldquo 295822 Eine binaumlre Verknuumlpfung im Funktionsplan programmieren 296823 UND-Funktion 297824 ODER-Funktion 297825 Exklusiv-ODER-Funktion 297826 Kombinierte binaumlre Verknuumlpfungen Verknuumlpfungsergebnis negieren 298827 T-Abzweig 299828 Flankenauswertung von Binaumlrvariablen 299829 Vergleichsfunktionen 300

83 Standard-Boxen mit FUP programmieren 301831 Zuweisung-Box 302832 Setzen- und Ruumlcksetzen-Box 302833 Standard-Boxen mit Zeitverhalten 303834 Standard-Boxen mit Zaumlhlerverhalten 304

84 Q-Boxen mit FUP programmieren 305841 Speicher-Boxen 305842 Flankenauswertung des Verknuumlpfungsergebnisses 307843 SIMATIC-Zeitfunktionen 308844 SIMATIC-Zaumlhlfunktionen 308845 IEC-Zeitfunktionen 309846 IEC-Zaumlhlfunktionen 309

85 ENENO-Boxen mit FUP programmieren 310851 Uumlbertragungsfunktion MOVE 312852 Arithmetische Funktionen 312853 Mathematische Funktionen 313854 Konvertierungsfunktionen 313855 Schiebefunktionen 315856 Wortverknuumlpfungen 316

Inhaltsverzeichnis

14

86 Programmfluss bei FUP steuern 318861 Mit Statusbits im Funktionsplan arbeiten 318862 ENENO-Mechanismus bei FUP 320863 Sprungfunktionen 321864 Bausteinfunktionen 322865 Master Control Relay (MCR) 324

9 Anweisungsliste AWL 326

91 Einfuumlhrung 326911 Programmieren mit AWL allgemein 326912 Aufbau einer AWL-Anweisung 327

92 Binaumlre Verknuumlpfungen mit AWL programmieren 328921 Bearbeitung einer binaumlren Verknuumlpfung Verknuumlpfungsschritt 328922 Abfrage auf Signalzustand bdquo1ldquo und auf Signalzustand bdquo0ldquo 330923 Eine binaumlre Verknuumlpfung in Anweisungsliste programmieren 331924 UND-Funktion 332925 ODER-Funktion 332926 Exklusiv-ODER-Funktion 333927 Kombinierte binaumlre Verknuumlpfungen 333928 Verknuumlpfungsergebnis steuern 336

93 Speicherfunktionen mit AWL programmieren 337931 Zuweisung 337932 Setzen und Ruumlcksetzen 338933 Flankenauswertung 338

94 Zeit- und Zaumlhlfunktionen mit AWL programmieren 339941 SIMATIC-Zeitfunktionen 339942 SIMATIC-Zaumlhlfunktionen 341943 IEC-Zeitfunktionen 342944 IEC-Zaumlhlfunktionen 343

95 Digitalfunktionen mit AWL programmieren 344951 Uumlbertragungsfunktionen 344952 Vergleichsfunktionen 346953 Arithmetische Funktionen 349954 Mathematische Funktionen 352955 Konvertierungsfunktionen 353956 Schiebefunktionen 354957 Wortverknuumlpfungen 356

96 Programmfluss bei AWL steuern 358961 Mit Statusbits in der Anweisungsliste arbeiten 359962 ENENO-Mechanismus bei AWL 361963 Sprungfunktionen 363964 Sprungverteiler 364965 Schleifensprung 364966 Bausteinfunktionen 365967 Master Control Relay (MCR) 368

97 Weitere AWL-Funktionen 369

Inhaltsverzeichnis

15

971 Akkumulatorfunktionen 369972 Addieren von Konstanten zum Akkumulator 1 371973 Dekrementieren Inkrementieren 372974 Nullanweisungen 373

10 Structured Control Language SCL 374

101 Einfuumlhrung in die Programmierung mit SCL 3741011 Programmieren mit SCL allgemein 3741012 SCL-Anweisungen und Operatoren 376

102 Binaumlre Verknuumlpfungen mit SCL programmieren 3781021 Abfrage auf Signalzustand bdquo1ldquo und auf Signalzustand bdquo0ldquo 3781022 UND-Funktion 3791023 ODER-Funktion 3791024 Exklusiv-ODER-Funktion 3801025 Kombinierte binaumlre Verknuumlpfungen 3801026 Verknuumlpfungsergebnis negieren 381

103 Speicherfunktionen mit SCL programmieren 3821031 Wertzuweisung einer Binaumlrvariablen 3821032 Setzen und Ruumlcksetzen 3821033 Flankenauswertung 382

104 Zeit- und Zaumlhlfunktionen mit SCL programmieren 3831041 SIMATIC-Zeitfunktionen 3831042 SIMATIC-Zaumlhlfunktionen 3841043 IEC-Zeitfunktionen 3851044 IEC-Zaumlhlfunktionen 386

105 Digitalfunktionen mit SCL programmieren 3871051 Uumlbertragungsfunktion Wertzuweisung einer Digitalvariablen 3871052 Vergleichsfunktionen 3871053 Arithmetische Funktionen 3881054 Mathematische Funktionen 3891055 Konvertierungsfunktionen 3901056 Schiebefunktionen 3911057 Wortverknuumlpfungen logischer Ausdruck 392

106 Programmfluss mit SCL steuern 3931061 Mit der Variablen ENO arbeiten 3931062 ENENO-Mechanismus bei SCL 3951063 Kontrollanweisungen 3961064 Bausteinfunktionen 404

11 Ablaufsteuerung S7-GRAPH 408

111 Einfuumlhrung 4081111 Was ist eine Ablaufsteuerung 4081112 Eigenschaften einer Ablaufsteuerung 4091113 Programm fuumlr eine Ablaufsteuerung Mengengeruumlst 4101114 Betriebsarten 4101115 Vorgehen bei der Projektierung 411

Inhaltsverzeichnis

16

112 Elemente einer Ablaufsteuerung 4121121 Schritte und Transitionen 4121122 Spruumlnge in einer Ablaufsteuerung 4131123 Verzweigungen einer Ablaufkette 4131124 GRAPH-spezifische Variablen 4151125 Permanente Anweisungen 4161126 Schritt- und Transitionsfunktionen 4161127 Bearbeitung von Aktionen 420

113 Eine Ablaufsteuerung projektieren 4261131 Den GRAPH-Funktionsbaustein programmieren 4271132 Projektieren der Kettenstruktur 4281133 Schritte und Transitionen programmieren 4291134 Permanente Anweisungen programmieren 4311135 Bausteinuumlbergreifende Meldungen projektieren 4311136 Attribute des GRAPH-Funktionsbausteins 4321137 GRAPH-Funktionsbaustein anwenden 433

114 Ablaufsteuerung testen 4341141 GRAPH-Funktionsbaustein laden 4351142 Einstellungen zum Programmtest 4351143 Betriebsarten verwenden 4361144 Ablaufkette synchronisieren 4371145 Mit Programmstatus testen 438

12 Basisfunktionen 440

121 Binaumlre Verknuumlpfungen 4401211 Einfuumlhrung 4401212 Arbeiten mit Binaumlrsignalen 4411213 UND-Funktion Reihenschaltung 4441214 ODER-Funktion Parallelschaltung 4451215 Exklusiv-ODER-Funktion Antivalenzfunktion 4451216 Verknuumlpfungsergebnis negieren NOT-Kontakt 446

122 Speicherfunktionen 4481221 Einfuumlhrung 4481222 Standardspule Zuweisung 4481223 Einzelnes Setzen und Ruumlcksetzen 4481224 Vorrangiges Setzen und Ruumlcksetzen Speicherfunktion 4501225 Flankenauswertung 452

123 SIMATIC-Zeitfunktionen 4571231 Uumlbersicht 4571232 Programmieren einer Zeitfunktion 4601233 Zeitverhalten als Impuls 4621234 Zeitverhalten als verlaumlngerter Impuls 4641235 Zeitverhalten als Einschaltverzoumlgerung 4661236 Zeitverhalten als speichernde Einschaltverzoumlgerung 4681237 Zeitverhalten als Ausschaltverzoumlgerung 470

124 IEC-Zeitfunktionen 472

Inhaltsverzeichnis

17

1241 Einfuumlhrung 4721242 Impulsbildung TP 4731243 Einschaltverzoumlgerung TON 4741244 Ausschaltverzoumlgerung TOF 475

125 SIMATIC-Zaumlhlfunktionen 4761251 Uumlbersicht 4761252 Programmieren einer Zaumlhlfunktion 4781253 Funktionsweise einer Zaumlhlfunktion 4801254 Freigeben einer Zaumlhlfunktion bei AWL 482

126 IEC-Zaumlhlfunktionen 4831261 Einfuumlhrung 4831262 Vorwaumlrtszaumlhler CTU 4841263 Ruumlckwaumlrtszaumlhler CTD 4851264 VorwaumlrtsRuumlckwaumlrtszaumlhler CTUD 487

13 Digitalfunktionen 488

131 Allgemeines 488

132 Uumlbertragungsfunktionen 4891321 Allgemeines zur bdquoeinfachenldquo Uumlbertragungsfunktion 4891322 MOVE-Box bei KOP und FUP 4891323 Laden und Transferieren bei AWL 4911324 Wertzuweisungen bei SCL 4921325 Datenbereich im Arbeitsspeicher kopieren und fuumlllen 4941326 Datenbereich vom und zum Ladespeicher uumlbertragen 4971327 Speicherbereich steuern bei MCR-Abhaumlngigkeit 498

133 Vergleichsfunktionen 5011331 Ausfuumlhrung der bdquoeinfachenldquo Vergleichsfunktion 5011332 Vergleichsfunktion T_COMP 5031333 Vergleichsfunktion S_COMP 503

134 Arithmetische Funktionen 5041341 Allgemeine Funktionsbeschreibung 5041342 Datentypen und Statusbits bei einer arithmetischen Funktion 5051343 Ausfuumlhrung der arithmetischen Funktion 5071344 Arithmetische Funktionen fuumlr Datum und Uhrzeit 508

135 Mathematische Funktionen 5101351 Allgemeine Funktionsbeschreibung 5101352 Allgemeine Ausfuumlhrung einer mathematischen Funktion 5111353 Winkelfunktionen SIN COS TAN 5111354 Arcusfunktionen ASIN ACOS ATAN 5121355 Sonstige mathematische Funktionen 512

136 Konvertierungsfunktionen 5141361 Implizite Datentypwandlung 5141362 Datentypwandlung von Festpunktzahlen 5151363 Datentypwandlung von Gleitpunktzahlen 5181364 Datentypwandlung fuumlr DatumUhrzeit mit T_CONV 5211365 Datentypwandlung fuumlr Datentyp STRING mit S_CONV 522

Inhaltsverzeichnis

18

1366 Datentypwandlung von Hexadezimalzahlen 5241367 Skalieren und Deskalieren 5251368 Sonstige Konvertierungsfunktionen 526

137 Schiebefunktionen 5271371 Allgemeine Funktionsbeschreibung 5271372 Allgemeine Ausfuumlhrung einer Schiebefunktion 5291373 Rechts schieben 5301374 Links schieben 5301375 Rechts rotieren 5311376 Links rotieren 5321377 Rotieren durch das Anzeigenbit A1 (AWL) 532

138 Logikfunktionen 5321381 Wortverknuumlpfungen 5331382 Invertieren 5351383 Bit codieren und Bitnummer setzen 5361384 Auswahl- und Begrenzerfunktionen 537

139 Funktionen fuumlr Zeichenketten 540

14 Programmfluss-Steuerung 544

141 Statusbits 5451411 Beschreibung der Statusbits 5451412 Steuern der Statusbits 5471413 Verknuumlpfungsergebnis setzen und ruumlcksetzen 5481414 Binaumlrergebnis steuern 5491415 Auswertung der Statusbits 552

142 Sprungfunktionen 5531421 Einfuumlhrung 5531422 Absoluter Sprung 5531423 Bedingte Sprungfunktionen 5551424 Von den Statusbits abhaumlngige Sprungfunktionen 556

143 Bausteinende-Funktionen 5591431 Bausteinende-Funktion RET (KOP und FUP) 5601432 Bausteinende-Funktionen BEB BEA und BE (AWL) 5601433 RETURN-Anweisung (SCL) 561

144 Aufruf von Codebausteinen 5611441 Allgemeines zu Bausteinaufrufen 5611442 Aufruf einer Funktion (FC) 5621443 Aufruf eines Funktionsbausteins (FB) 5641444 Wechsel zu einem Baustein ohne Bausteinparameter 566

145 Datenbausteinfunktionen 5681451 Datenbaustein aufschlagen 5691452 Zusaumltzliche Datenbausteinfunktionen bei AWL 5701453 Datenbaustein erzeugen loumlschen und testen 571

146 Master Control Relay 5741461 Einfuumlhrung 5741462 MCR-Abhaumlngigkeit 575

Inhaltsverzeichnis

19

1463 MCR-Bereich und MCR-Zone 5751464 MCR-Bereich und MCR-Zone bei einem Bausteinwechsel 5781465 Anweisungen fuumlr das Master Control Relay 578

15 Online-Betrieb und Programmtest 580

151 Programmiergeraumlt an die PLC-Station anschlieszligen 5811511 Einstellungen am Programmiergeraumlt 5811512 Das Programmiergeraumlt mit der PLC-Station verbinden 5821513 Den Online-Betrieb einschalten 583

152 Projektdaten uumlbertragen 5841521 Die Projektdaten erstmalig laden 5841522 Die Projektdaten nachladen 5871523 Schutz des Anwenderprogramms 5881524 Online-Projekt ohne Offline-Projekt bearbeiten 5891525 Mit der Micro Memory Card arbeiten 590

153 Mit Bausteinen im Online-Betrieb arbeiten 5901531 Einfuumlhrung 5901532 Die Online-Version eines Bausteins bearbeiten 5911533 Einen Baustein in die CPU-Baugruppe laden 5921534 Den Arbeitsspeicher komprimieren 5941535 Bausteine aus der CPU zuruumlckladen 5941536 Mit Einstellwerten arbeiten 5961537 Bausteine vergleichen 598

154 Hardware-Diagnose 6011541 Status-Anzeigen an den Baugruppen 6011542 Diagnose-Informationen 6021543 Diagnosepuffer 6021544 Diagnose-Funktionen 6041545 Online-Tools 6041546 Weitere Diagnose-Informationen uumlber das Programmiergeraumlt 605

155 Anwenderprogramm testen 6061551 Aufrufumgebung definieren 6061552 Testen mit Programmstatus 6071553 Testen im Einzelschrittmodus 6111554 PLC-Variablen beobachten 6141555 Datenvariablen beobachten 6141556 Testen mit Beobachtungstabellen 6151557 Beobachten und Steuern im Betriebszustand STOP 6201558 Testen mit der Force-Tabelle 622

16 Dezentrale Peripherie 626

161 Einfuumlhrung Uumlbersicht 626

162 Dezentrales Peripheriesystem ET 200 6271621 ET 200M 6271622 ET 200MP 6281623 ET 200S 628

Inhaltsverzeichnis

20

1624 ET 200SP 6291625 ET 200iSP 6301626 ET 200pro 6311627 ET 200eco 631

163 PROFINET IO 6321631 Komponenten von PROFINET IO 6321632 Adressen bei PROFINET IO 6351633 Spezielle PROFINET-Konfigurationen 6381634 PROFINET IO projektieren 6391635 Kopplungsbaugruppen fuumlr PROFINET IO 6431636 Echtzeit-Kommunikation bei PROFINET 644

164 PROFIBUS DP 6491641 Komponenten von PROFIBUS DP 6491642 Adressen bei PROFIBUS DP 6521643 PROFIBUS DP projektieren 6561644 Kopplungsbaugruppen fuumlr PROFIBUS DP 6591645 Sonderfunktionen fuumlr PROFIBUS DP 661

165 Taktsynchronitaumlt 6621651 Einfuumlhrung 6621652 Taktsynchronitaumlt bei PROFINET 6631653 Taktsynchronitaumlt bei PROFIBUS 666

166 Systembausteine fuumlr dezentrale Peripherie 6691661 Systembausteine fuumlr PROFIBUS DP 6691662 Systembausteine fuumlr PROFIBUS DP und PROFINET IO 6731663 Systembausteine fuumlr PROFINET IO 676

167 AktorSensor-Interface 6791671 Komponenten von AktorSensor-Interface 6791672 Adressen am AktorSensor-Interface 6811673 AktorSensor-Interface mit CP 343-2P projektieren 6811674 Systemfunktionen fuumlr AS-i 683

17 Kommunikation 684

171 Uumlbersicht 684

172 S7-Basiskommunikation 6851721 Grundlagen der stationsinternen S7-Basiskommunikation 6851722 Stationsinterne S7-Basiskommunikation projektieren 6861723 Systembausteine fuumlr stationsinterne S7-Basiskommunikation 6861724 Grundlagen der stationsexternen S7-Basiskommunikation 6881725 Stationsexterne S7-Basiskommunikation projektieren 6891726 Systembausteine fuumlr stationsexterne S7-Basiskommunikation 689

173 S7-Kommunikation 6921731 Grundlagen 6921732 S7-Kommunikation projektieren 6931733 Einseitiger Datenaustausch 6951734 Zweiseitiger Datenaustausch 6961735 Uumlberwachungsfunktionen 699

Inhaltsverzeichnis

21

174 Open User Communication 700

1741 Grundlagen 700

1742 Verbindungen auf- und abbauen 702

1743 Datenuumlbertragung mit TCP native oder ISO-on-TCP 704

1744 Datenuumlbertragung mit UDP 707

18 Anhang 710

181 Arbeiten mit Quelldateien 710

1811 Allgemeines Vorgehen 710

1812 Einen Codebaustein in der Quelldatei programmieren 712

1813 Einen Datenbaustein in der Quelldatei programmieren 715

1814 Einen PLC-Datentyp in der Quelldatei programmieren 719

182 Projekte migrieren 720

183 Simulation mit dem TIA Portal 724

1831 Unterschiede zu einer realen CPU-Baugruppe 724

1832 Simulation starten und speichern 725

1833 Die Simulation bedienen 726

1834 Programm mit der Simulation testen 728

1835 Weitere Funktionen von PLCSIM 730

184 Webserver 731

1841 Webserver aktivieren 731

1842 Web-Informationen auslesen 732

1843 Standard-Webseiten 733

185 Ablage von lokalen Variablen 736

1851 Ablage in Global-Datenbausteinen 736

1852 Ablage in Instanz-Datenbausteinen 737

1853 Ablage in den temporaumlren Lokaldaten 738

1854 Datenablage der Bausteinparameter einer Funktion (FC) 739

1855 Datenablage der Bausteinparameter eines Funktionsbausteins (FB) 742

1856 Datenablage einer Lokalinstanz in einer Multiinstanz 744

Stichwortverzeichnis 746

1 Einfuumlhrung

22

1 Einfuumlhrung

11 Uumlbersicht Automatisierungssystem S7-300

SIMATIC S7-300 ist das modulare Kleinsteuersystem fuumlr den unteren und mittlerenLeistungsbereich (Bild 11) Verschiedene Varianten der Controller passen die Leis-tungsfaumlhigkeit an den jeweiligen Einsatzfall an Je nach Bedarf kann das Automati-sierungsgeraumlt mit Ein-Ausgabebaugruppen fuumlr Digital- und Analogsignale in biszu vier Baugruppentraumlgern mit je acht Baugruppen modular erweitert werden

Eine zusaumltzliche Erweiterung mit Ein-Ausgabebaugruppen bietet die dezentralePeripherie uumlber PROFIBUS oder PROFINET Mit besonderen Bauformen fuumlr erhoumlhtemechanische Anforderungen ausgestattet koumlnnen diese Baugruppen vor Ort ander Maschine oder Anlage installiert werden Die Steuerungsgeraumlte SIMATIC S7-300werden mit STEP 7 konfiguriert projektiert und programmiert Der Datenaus-tausch zwischen den Steuerungsgeraumlten der dezentralen Peripherie und dem Pro-grammiergeraumlt geschieht mit SIMATIC NET

Bild 11 Bestandteile des Automatisierungssystems SIMATIC S7-300

SIMATIC Controller steuern dieMaschine oder Anlage

Die dezentrale Peripherie erweitert dieSchnittstelle zur Maschine oder Anlage

SIMATIC NET

SIMATIC DP STEP 7Professional V12

SIMATIC S7-300

Die Vernetzung ermoumlglicht denDatenaustausch und den zentralenOnline-Zugriff

Mehrere Varianten der Controllererweitern das Einsatzspektrum

STEP 7 ist die Engineeringsoftware zumKonfigurieren undProgrammieren

Projektieren

Automatisierungssystem SIMATIC S7-300

11 Uumlbersicht Automatisierungssystem S7-300

23

111 Automatisierungsgeraumlt SIMATIC S7-300

Die wesentlichen Bestandteile eines S7-300-Automatisierungsgeraumlts sind im Bild12 dargestellt

Die CPU-Baugruppe enthaumllt das Betriebssystem und das AnwenderprogrammDas Anwenderprogramm steht spannungsausfallsicher auf der in der CPU-Bau-gruppe steckenden Micro Memory Card (MMC) Die Bearbeitung des Anwenderpro-gramms findet im Arbeitsspeicher in der CPU statt Die auf der CPU-Baugruppe vor-handenen Busschnittstellen stellen die Verbindung zu anderen Automatisierungs-geraumlten her

Die Verbindung zur gesteuerten Anlage uumlbernehmen SM-Baugruppen Diese Ein-und Ausgabebaugruppen gibt es fuumlr Digital- und Analogsignale

Die FM-Baugruppen sind signalvorverarbeitende bdquointelligenteldquo Peripheriebau-gruppen die vom Prozess kommende Signale unabhaumlngig von der CPU aufberei-ten verarbeiten und entweder wieder direkt an den Prozess zuruumlckgeben oder ander internen Schnittstelle der CPU zur Verfuumlgung stellen FM-Baugruppen uumlber-nehmen Funktionen die die CPU meist nicht schnell genug ausfuumlhren kann wiez B Impulse zaumlhlen positionieren oder Antriebe regeln

Die CP-Baugruppen gestatten einen Datenverkehr der die Moumlglichkeiten derStandard-Schnittstellen bezuumlglich Protokolle und Kommunikationsfunktionenuumlberschreitet

Die IM-Baugruppen verbinden bei einer Erweiterung den Zentralbaugruppentrauml-ger mit bis zu drei Erweiterungsbaugruppentraumlgern

Eine Stromversorgungsbaugruppe sorgt schlieszliglich fuumlr die benoumltigte Spannungim Automatisierungsgeraumlt

Bild 12 Bestandteile einer S7-300-Steuerung

Erweiterungsbaugruppentraumlger

Zentralbaugruppentraumlger SM-Baugruppen(Signal Modules)

Auf den Baugruppen-traumlgern sind steckbar

FM-Baugruppen(Function Modules)

CP-Baugruppen(CommunicationProcessors)

IM-Baugruppe(Interface Module)

IM-Baugruppe(Interface Module)

CPU-Baugruppe(Central Processor Unit)

PS-Baugruppe(Power Supply)

Baugruppen-traumlger (Rack)

Bestandteile einer S7-300-Steuerung

S

1 Einfuumlhrung

24

112 Uumlbersicht STEP 7 Professional V12

STEP 7 ist das zentrale Automatisierungswerkzeug fuumlr SIMATIC STEP 7 benoumltigtzum Betrieb eine Autorisierung (Lizenz) und laumluft auf den jeweils aktuellen Be-triebssystemen unter Microsoft Windows Die Projektierung eines S7-300-Control-lers geschieht mit zwei Ansichten der Portalansicht und der Projektansicht

Die Portalansicht ist aufgabenorientiert angelegt

Im Startportal oumlffnen Sie ein bestehendes Projekt erstellen ein neues Projekt odermigrieren ein Projekt Ein bdquoProjektldquo ist eine Datenstruktur die alle erforderlichenProgramme und Daten fuumlr Ihr Automatisierungsvorhaben enthaumllt Von hier aussind die wichtigsten Werkzeuge und Funktionen von STEP 7 uumlber weitere Portale er-reichbar (Bild 13)

b Im Portal Geraumlte amp Netze konfigurieren Sie die Automatisierungsgeraumlte d h Sieplatzieren die Baugruppen in einem Baugruppentraumlger und parametrieren sie

b Im Portal PLC-Programmierung erstellen Sie das Anwenderprogramm in Formvon einzelnen Abschnitten die man bdquoBausteineldquo nennt

b Das Portal Visualisierung bietet die wichtigsten Werkzeuge fuumlr die Projektierungund Simulation von HMI-Systemen mit SIMATIC WinCC an

Bild 13 Werkzeuge im Startportal von STEP 7 Professional V12

11 Uumlbersicht Automatisierungssystem S7-300

25

b Mit dem Portal Motion amp Technology fuumlgen Sie ein Technologie-Objekt fuumlr PIDControl ein und bearbeiten es

b Mit dem Portal Online amp Diagnose schalten Sie das Programmiergeraumlt online aneine CPU-Baugruppe Sie koumlnnen die Betriebsarten der CPU steuern und das An-wenderprogramm uumlbertragen und testen

Die Projektansicht bietet eine objektorientierte Ansicht mit mehreren Fensternderen Inhalt je nach ausgefuumlhrter Taumltigkeit wechselt In der Geraumltekonfigurationsteht der Arbeitsbereich mit dem zu konfigurierenden Geraumlt im Mittelpunkt In derGeraumltesicht wird der Baugruppentraumlger mit den bereits platzierten Baugruppen ge-zeigt (Bild 14) Ein weiteres Fenster ndash das Inspektorfenster ndash enthaumllt die Eigen-schaften der selektierten Baugruppe das Aufgaben-Fenster (Task Card) gibt Unter-stuumltzung durch den Hardware-Katalog mit den zur Verfuumlgung stehenden Baugrup-pen Die Netzsicht gestattet die Vernetzung zwischen PLC- und HMI-Stationen

Bei der PLC-Programmierung bearbeiten Sie im Arbeitsbereich den ausgewaumlhltenBaustein Wiederum sehen Sie im Inspektorfenster die Eigenschaften des markier-ten Objekts und koumlnnen diese einstellen Das Aufgabenfenster enthaumllt diesmal denProgrammelemente-Katalog mit den zur Verfuumlgung stehenden Programmelemen-ten und Anweisungen Aumlhnliches gilt fuumlr die Bearbeitung der PLC-Variablen oderbeim Online-Programmtest durch Beobachtungstabellen

Bild 14 Beispiel fuumlr die Projektansicht Arbeitsbereich der Geraumltekonfiguration

1 Einfuumlhrung

26

Und stets haben Sie die Projektnavigation im Blickfeld Sie enthaumllt alle Objekte desSTEP-7-Projekts So koumlnnen Sie jederzeit ein Objekt beispielsweise einen Pro-grammbaustein oder eine Beobachtungstabelle auswaumlhlen und dieses Objekt mitden entsprechenden Editoren die beim Oumlffnen des Objekts automatisch startenbearbeiten

113 Fuumlnf Programmiersprachen

Als Programmiersprache fuumlr das Anwenderprogramm koumlnnen Sie zwischen Kon-taktplan (KOP) Funktionsplan (FUP) Anweisungsliste (AWL) Structured ControlLanguage (SCL) und Ablaufsteuerung (GRAPH) waumlhlen

Mit Kontaktplan programmieren Sie die Steuerungsaufgabe angelehnt an denStromlaufplan Die Verknuumlpfung der binaumlren Signalzustaumlnde wird durch die seriel-le oder parallele Anordnung von Kontakten und Spulen dargestellt (Bild 15) Kom-plexe Funktionen wie beispielsweise die arithmetischen Funktionen werden mitBoxen dargestellt die Sie wie Kontakte oder Spulen im Kontaktplan anordnen

Mit Funktionsplan programmieren Sie die Steuerungsaufgabe angelehnt an elektro-nische Schaltkreissysteme Binaumlre Verknuumlpfungen werden durch Verschaltung vonUND- und ODER-Funktionen realisiert und mit Speicher-Boxen abgeschlossen (Bild16) Komplexe Boxen uumlbernehmen die Verknuumlpfung digitaler Variablen beispiels-weise bei den arithmetischen Funktionen

Bild 15 Beispiel fuumlr die Darstellung in Kontaktplan

Bild 16 Beispiel fuumlr die Darstellung in Funktionsplan

11 Uumlbersicht Automatisierungssystem S7-300

27

Mit Anweisungsliste programmieren Sie die Steuerungsaufgabe durch eine Folgevon Anweisungen Jede AWL-Anweisung enthaumllt eine Vorschrift was zu tun ist undeventuell einen Operand mit dem die Operation ausgefuumlhrt wird AWL ist gleicher-maszligen geeignet fuumlr binaumlre und digitale Verknuumlpfungen wie fuumlr die Programmierungkomplexer Steuerungsaufgaben (Bild 17)

Structured Control Language eignet sich besonders fuumlr die Programmierung vonkomplexen Algorithmen oder fuumlr Aufgabenstellungen aus dem Bereich der Datenver-waltung Das Programm besteht aus SCL-Anweisungen die beispielsweise Wertzuwei-sungen Vergleiche oder Kontrollanweisungen sein koumlnnen (Bild 18)

Mit GRAPH programmieren Sie eine Steuerungsaufgabe als Ablaufsteuerung in derdie sequenzielle Folge von Aktionen vorherrscht Die einzelnen Schritte und Verzwei-gungen werden durch Weiterschaltbedingungen freigegeben die mit KOP oder FUPprogrammiert werden koumlnnen (Bild 19)

114 Bearbeitung des Anwenderprogramms

Nach dem Einschalten der Versorgungsspannung pruumlft der Steuerungsprozessordie Konsistenz der Hardware und parametriert die Baugruppen Anschlieszligend wirdeinmalig ndash falls vorhanden ndash ein Anlaufprogramm bearbeitet Das Anlaufpro-

Bild 17 Beispiel fuumlr AWL-Anweisungen

Bild 18 Beispiel fuumlr SCL-Anweisungen

1 Einfuumlhrung

28

gramm gehoumlrt zum Anwenderprogramm das Sie programmieren Im Anlaufpro-gramm koumlnnen beispielsweise Baugruppen initialisiert werden

Das Anwenderprogramm ist in der Regel in einzelne Abschnitte ndash bdquoBausteineldquo ge-nannt ndash eingeteilt Die Organisationsbausteine (OB) sind die Schnittstelle zwischenBetriebssystem und Anwenderprogramm Das Betriebssystem ruft zu bestimmtenEreignissen einen Organisationsbaustein auf in dem dann das Anwenderpro-gramm bearbeitet wird (Bild 110)

Bild 19 Beispiel fuumlr eine GRAPH-Ablaufkette und eine Schrittprojektierung

Bild 110 Bearbeitung des Anwenderprogramms

Anlauf-programm

Alarm- undFehlerprogramm

Haupt-programm

Bearbeitung des Anwenderprogramms

Einschalten

Aktualisierung derEin- und Ausgaumlnge

Unterbrechung(Alarm oder Fehler)

BetriebszustandANLAUF

Betriebssystem Anwenderprogramm

BetriebszustandRUN

OB

OB

FBFC

FBFC

FBFC

FBFC

FBFC

FBFC

OB

Unterbrechung

11 Uumlbersicht Automatisierungssystem S7-300

29

Zur Strukturierung das Programms stehen Funktionsbausteine (FB) und Funktio-nen (FC) zur Verfuumlgung Funktionsbausteine haben einen Speicher in dem lokaleVariablen dauerhaft abgelegt sind Funktionen haben diesen Speicher nicht

Fuumlr den Aufruf (das Starten der Bearbeitung) von Funktionsbausteinen und Funk-tionen gibt es Programmanweisungen Jeder Bausteinaufruf kann mit Ein- undAusgaumlngen ndash bdquoBausteinparameterldquo genannt ndash versehen werden Beim Aufruf koumln-nen Variablen uumlbergeben werden mit denen das Programm im Baustein arbeitensoll Auf diese Weise kann ein Baustein mit einer gewissen Funktion (z B der Addi-tion von drei Variablen) mehrfach mit unterschiedlichen Parametersaumltzen (z B fuumlrunterschiedliche Berechnungen) aufgerufen werden (Bild 111)

Die Daten des Anwenderprogramms werden in Datenbausteinen (DB) abgelegtInstanz-Datenbausteine sind einem Aufruf eines Funktionsbausteins fest zugeord-net und bilden den Variablenspeicher des Funktionsbausteins Global-Datenbau-steine enthalten Daten die keinem Baustein zugeordnet sind

Nach einem Anlauf aktualisiert der Steuerungsprozessor die Ein- und Ausgangs-signale in den Prozessabbildern und ruft den Organisationsbaustein OB 1 auf Hiersteht das Hauptprogramm Auch im Hauptprogramm ist eine Strukturierung moumlg-lich und zu empfehlen Ist das Hauptprogramm bearbeitet wechselt der Steue-rungsprozessor zuruumlck ins Betriebssystem haumllt beispielsweise die Kommunikati-on mit dem Programmiergeraumlt aufrecht aktualisiert die Ein- und Ausgangssignaleund beginnt dann erneut mit der Bearbeitung des Hauptprogramms

Die zyklische Programmbearbeitung ist ein Merkmal speicherprogrammierbarerSteuerungen Das Anwenderprogramm wird auch dann bearbeitet wenn bdquovon au-szligenldquo keine Aktionen gefordert sind wenn also z B die gesteuerte Maschine stehtDies hat Vorteile bei der Programmierung Sie programmieren beispielsweise den

Bild 111 Beispiel fuumlr zwei Aufrufe eines Bausteins mit jeweils verschiedenen Variablen

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

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-300 mit Standard-Controllern und die Moumlglichkeitenzum Aufbau eines dezentralen Steuerungskonzepts mit PROFIBUS und PROFINETFuumlr die Kommunikation mit anderen Automatisierungssystemen bieten die Cont-roller integrierte Busschnittstellen fuumlr Multipoint Interface (MPI) PROFIBUS undIndustrial Ethernet

Die Engineeringsoftware STEP 7 Professional im TIA Portal erschlieszligt die gesamteFunktionalitaumlt der S7-300-Controller STEP 7 Professional ist das gemeinsameWerkzeug fuumlr die Konfiguration des Hardware-Aufbaus und die Programmierungdes Anwenderprogramms 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-300 mit der Engineeringsoftware STEP 7 Professionalin der Version 12 mit Service Pack 1 Update 2

Erlangen im Dezember 2013 Hans Berger

Der Inhalt des Buchs auf einen Blick

6

Der Inhalt des Buchs auf einen Blick

Start

Das Automatisierungssystem SIMATIC S7-300 in der Uumlbersicht

Eine Einfuumlhrung in die Engineeringsoftware SIMATIC STEP 7 Professional V12

Die Grundlage der Automatisierungsloumlsung Ein Projekt erstellen und bearbeiten

Automatisierungssystem SIMATIC S7-300

Die Baugruppen von SIMATIC S7-300 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

Wie ein AktorSensor-Interface System 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

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-300 22111 Automatisierungsgeraumlt SIMATIC S7-300 23112 Uumlbersicht STEP 7 Professional V12 24113 Fuumlnf Programmiersprachen 26114 Bearbeitung des Anwenderprogramms 27115 Datenhaltung im SIMATIC-Automatisierungssystem 30

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

13 Ein SIMATIC-Projekt bearbeiten 37131 Strukturierte Darstellung der Projektdaten 38132 Projektdaten und Editoren fuumlr eine PLC-Station 38133 Ein Projekt erstellen und bearbeiten 42134 Mit Referenzprojekten arbeiten 45135 Bibliotheken anlegen und bearbeiten 46

2 Automatisierungssystem SIMATIC S7-300 47

21 Komponenten einer S7-300-Station 47

22 CPU-Baugruppen S7-300 49221 CPU-Varianten 49222 Bedien- und Anzeigeelemente 51223 SIMATIC Micro Memory Card 52224 Speicherbereiche in einer S7-300-Station 52225 Busschnittstellen 54

23 Signalbaugruppen 56231 Digitaleingabebaugruppen 56232 Digitalausgabebaugruppen 57233 Digitalein-ausgabebaugruppen 57234 Analogeingabebaugruppen 58235 Analogausgabebaugruppen 58236 Analogein-ausgabebaugruppen 59

24 Funktionsbaugruppen 60

25 Kommunikationsbaugruppen 61

Inhaltsverzeichnis

9

26 Sonstige Baugruppen 63261 Anschaltungsbaugruppen (IM) 63262 Stromversorgungsbaugruppen (PS) 63263 Simulatorbaugruppe 64264 Platzhalterbaugruppe 64

27 SIPLUS S7-300 65

3 Geraumltekonfiguration 66

31 Einfuumlhrung 66

32 Eine Station konfigurieren 69321 Eine PLC-Station hinzufuumlgen 69322 Eine Baugruppe hinzufuumlgen 69323 Einen Erweiterungsbaugruppentraumlger hinzufuumlgen 70

33 Baugruppen parametrieren 71331 Die CPU-Eigenschaften parametrieren 71332 Baugruppen adressieren 74333 Signalbaugruppen parametrieren 77

34 Netz projektieren 78341 Einfuumlhrung Uumlbersicht 78342 Stationen vernetzen 79343 Teilnehmeradressen in einem Subnetz 80344 Verbindungen 81345 Ein MPI-Subnetz projektieren 84346 Ein PROFIBUS-Subnetz projektieren 85347 Ein PROFINET-Subnetz projektieren 87348 Ein AS-i-Subnetz projektieren 90

4 Variablen Adressierung und Datentypen 92

41 Operanden und Variablen 92411 Einfuumlhrung Uumlbersicht 92412 Operandenbereiche Eingaumlnge und Ausgaumlnge 93413 Operandenbereich Merker 96414 Operandenbereich Daten 97415 Operandenbereich temporaumlre Lokaldaten 97

42 Adressierung von Operanden und Variablen 98421 Signalweg 98422 Absolute Adressierung von Variablen 99423 Symbolische Adressierung von Variablen 104424 Adressierung von Konstanten 105

43 Indirekte Adressierung 106431 Speicherindirekte Adressierung mit AWL 107432 Registerindirekte Adressierung mit AWL 110433 Arbeiten mit den Adressregistern bei AWL 111434 Direkter Zugriff auf komplexe Lokalvariablen mit AWL 119435 Indirekte Adressierung bei SCL 121

Inhaltsverzeichnis

10

44 Elementare Datentypen 123441 Einfuumlhrung 123442 Bitfolge-Datentypen BOOL BYTE WORD und DWORD 126443 BCD-Zahlen BCD16 und BCD32 126444 Festpunkt-Datentypen mit Vorzeichen INT und DINT 128445 Gleitpunkt-Datentyp REAL 128446 Datentyp CHAR 129447 Datentypen fuumlr Zeitdauern und Zeitpunkte 130

45 Zusammengesetzte Datentypen 132451 Zeichenkette STRING 132452 Datentyp ARRAY 134453 Datentyp STRUCT 136

46 Parametertypen und Zeiger 138461 Parametertypen 138462 Zeiger 139463 bdquoVariablerldquo ANY-Zeiger bei AWL 143464 bdquoVariablerldquo ANY-Zeiger bei SCL 143

47 PLC-Datentypen 146

48 Startinformation 147

5 Programmbearbeitung 148

51 Betriebszustaumlnde der CPU-Baugruppe 148511 Betriebszustand STOP 149512 Betriebszustand ANLAUF 150513 Betriebszustand RUN 152514 Betriebszustand HALT 152515 CPU urloumlschen 153516 Auslieferungszustand wiederherstellen 153517 Remanenzverhalten von Operanden 154

52 Anwenderprogramm erstellen 154521 Programmentwurf 154522 Programmbearbeitung 158523 Bausteinarten 160524 Bausteineigenschaften bearbeiten 161525 Bausteinschnittstelle 165526 Beispiel zur Verwendung von Bausteinparametern 167

53 Bausteine aufrufen 169531 Allgemeines zu Aufrufen von Codebausteinen 169532 Aufruf von Funktionen (FC) 169533 Aufruf von Funktionsbausteinen (FB) 171534 bdquoWeiterreichenldquo von Bausteinparametern 174

54 Anlaufprogramm 175541 Organisationsbaustein OB 100 175542 Baugruppenadresse ermitteln 176543 Baugruppen parametrieren 178

Inhaltsverzeichnis

11

55 Hauptprogramm 181551 Organisationsbaustein OB 1 181552 Prozessabbild-Aktualisierung 182553 Zykluszeit und Reaktionszeit 183554 Programm anhalten stoppen und schuumltzen 185555 Uhrzeit 187556 Systemzeit lesen 189557 Betriebsstundenzaumlhler 190

56 Alarmbearbeitung 191561 Einfuumlhrung zur Alarmbearbeitung 191562 Prioritaumltsklassen 192563 Uhrzeitalarm Organisationsbaustein OB 10 192564 Verzoumlgerungsalarme Organisationsbausteine OB 20 und OB 21 196565 Weckalarme Organisationsbausteine OB 32 bis OB 35 198566 Prozessalarm Organisationsbaustein OB 40 200567 DPV1-Alarme Organisationsbausteine OB 55 bis OB 57 202568 Taktsynchronalarm Organisationsbaustein OB 61 202569 Alarmzusatzinformation lesen 205

57 Fehlerbehandlung 206571 Fehlerursachen und Fehlerreaktion 206572 Synchronfehler 206573 Synchronfehlerbearbeitung sperren und freigeben 208574 Ersatzwert eintragen 211575 Asynchronfehler 212576 Alarme und Asynchronfehler sperren verzoumlgern und freigeben 215

58 Diagnose 217581 Diagnosealarm Organisationsbaustein OB 82 217582 Systemzustandsliste lesen 219583 Startinformation lesen 220584 Anwender-Diagnoseereignis in den Diagnosepuffer schreiben 221585 Systemdiagnose mit Report System Errors 222

6 Programmeditor 225

61 Einfuumlhrung 225

62 PLC-Variablentabelle 226621 Mit PLC-Variablentabellen arbeiten 226622 PLC-Variablen definieren und bearbeiten 226623 PLC-Variablen vergleichen 228624 PLC-Variablentabelle exportieren und importieren 229625 Konstantentabellen 230

63 Einen Codebaustein programmieren 230631 Einen neuen Codebaustein anlegen 230632 Arbeitsbereich des Programmeditors fuumlr Codebausteine 232633 Bausteineigenschaften fuumlr Codebausteine festlegen 233634 Bausteinschnittstelle programmieren 234635 Steuerungsfunktion programmieren 236

Inhaltsverzeichnis

12

636 Variablen editieren 240637 Mit Programmkommentaren arbeiten 242

64 Einen Datenbaustein programmieren 244641 Einen neuen Datenbaustein anlegen 244642 Arbeitsbereich des Programmeditors fuumlr Datenbausteine 244643 Bausteineigenschaften fuumlr Datenbausteine festlegen 246644 Datenvariablen deklarieren 246645 Datenvariablen in Globaldatenbausteinen eingeben 247

65 Bausteine uumlbersetzen 248651 Uumlbersetzung starten 248652 SCL-Bausteine uumlbersetzen 249653 Fehler nach der Uumlbersetzung beheben 249

66 Programminformationen 250661 Querverweisliste 251662 Belegungsplan 253663 Aufrufstruktur 254664 Abhaumlngigkeitsstruktur 255665 Konsistenzpruumlfung 255666 Speicherauslastung der CPU 256

7 Kontaktplan KOP 258

71 Einfuumlhrung 258711 Programmieren mit KOP allgemein 258712 Programmelemente des Kontaktplans 260

72 Binaumlre Verknuumlpfungen mit KOP programmieren 260721 Schlieszligerkontakt und Oumlffnerkontakt 260722 Reihen- und Parallelschaltung von Kontakten 262723 T-Abzweig offener Parallelzweig 263724 Verknuumlpfungsergebnis negieren 264725 Flankenauswertung einer Binaumlrvariablen 265726 Vergleich-Kontakte 265

73 Speicherfunktionen mit KOP programmieren 266731 Einfache Spule Zuweisung 266732 Setzen- und Ruumlcksetzen-Spule 268733 Speicherndes Verhalten durch Selbsthaltung 268734 Spulen mit Zeitverhalten 269735 Spulen mit Zaumlhlerverhalten 270

74 Q-Boxen mit KOP programmieren 271741 Speicher-Boxen 272742 Flankenauswertung des Stromflusses 272743 SIMATIC-Zeitfunktionen 273744 SIMATIC-Zaumlhlfunktionen 274745 IEC-Zeitfunktionen 274746 IEC-Zaumlhlfunktionen 276

75 ENENO-Boxen mit KOP programmieren 277751 Uumlbertragungsfunktion MOVE 277

Inhaltsverzeichnis

13

752 Arithmetische Funktionen 278753 Mathematische Funktionen 279754 Konvertierungsfunktionen 280755 Schiebefunktionen 281756 Wortverknuumlpfungen 282

76 Programmfluss bei KOP steuern 284761 Mit Statusbits im Kontaktplan arbeiten 284762 ENENO-Mechanismus bei KOP 286763 Sprungfunktionen 287764 Bausteinfunktionen 288765 Master Control Relay (MCR) 290

8 Funktionsplan FUP 292

81 Einfuumlhrung 292811 Programmieren mit FUP allgemein 292812 Programmelemente des Funktionsplans 294

82 Binaumlre Verknuumlpfungen mit FUP programmieren 295821 Abfrage auf Signalzustand bdquo1ldquo und auf Signalzustand bdquo0ldquo 295822 Eine binaumlre Verknuumlpfung im Funktionsplan programmieren 296823 UND-Funktion 297824 ODER-Funktion 297825 Exklusiv-ODER-Funktion 297826 Kombinierte binaumlre Verknuumlpfungen Verknuumlpfungsergebnis negieren 298827 T-Abzweig 299828 Flankenauswertung von Binaumlrvariablen 299829 Vergleichsfunktionen 300

83 Standard-Boxen mit FUP programmieren 301831 Zuweisung-Box 302832 Setzen- und Ruumlcksetzen-Box 302833 Standard-Boxen mit Zeitverhalten 303834 Standard-Boxen mit Zaumlhlerverhalten 304

84 Q-Boxen mit FUP programmieren 305841 Speicher-Boxen 305842 Flankenauswertung des Verknuumlpfungsergebnisses 307843 SIMATIC-Zeitfunktionen 308844 SIMATIC-Zaumlhlfunktionen 308845 IEC-Zeitfunktionen 309846 IEC-Zaumlhlfunktionen 309

85 ENENO-Boxen mit FUP programmieren 310851 Uumlbertragungsfunktion MOVE 312852 Arithmetische Funktionen 312853 Mathematische Funktionen 313854 Konvertierungsfunktionen 313855 Schiebefunktionen 315856 Wortverknuumlpfungen 316

Inhaltsverzeichnis

14

86 Programmfluss bei FUP steuern 318861 Mit Statusbits im Funktionsplan arbeiten 318862 ENENO-Mechanismus bei FUP 320863 Sprungfunktionen 321864 Bausteinfunktionen 322865 Master Control Relay (MCR) 324

9 Anweisungsliste AWL 326

91 Einfuumlhrung 326911 Programmieren mit AWL allgemein 326912 Aufbau einer AWL-Anweisung 327

92 Binaumlre Verknuumlpfungen mit AWL programmieren 328921 Bearbeitung einer binaumlren Verknuumlpfung Verknuumlpfungsschritt 328922 Abfrage auf Signalzustand bdquo1ldquo und auf Signalzustand bdquo0ldquo 330923 Eine binaumlre Verknuumlpfung in Anweisungsliste programmieren 331924 UND-Funktion 332925 ODER-Funktion 332926 Exklusiv-ODER-Funktion 333927 Kombinierte binaumlre Verknuumlpfungen 333928 Verknuumlpfungsergebnis steuern 336

93 Speicherfunktionen mit AWL programmieren 337931 Zuweisung 337932 Setzen und Ruumlcksetzen 338933 Flankenauswertung 338

94 Zeit- und Zaumlhlfunktionen mit AWL programmieren 339941 SIMATIC-Zeitfunktionen 339942 SIMATIC-Zaumlhlfunktionen 341943 IEC-Zeitfunktionen 342944 IEC-Zaumlhlfunktionen 343

95 Digitalfunktionen mit AWL programmieren 344951 Uumlbertragungsfunktionen 344952 Vergleichsfunktionen 346953 Arithmetische Funktionen 349954 Mathematische Funktionen 352955 Konvertierungsfunktionen 353956 Schiebefunktionen 354957 Wortverknuumlpfungen 356

96 Programmfluss bei AWL steuern 358961 Mit Statusbits in der Anweisungsliste arbeiten 359962 ENENO-Mechanismus bei AWL 361963 Sprungfunktionen 363964 Sprungverteiler 364965 Schleifensprung 364966 Bausteinfunktionen 365967 Master Control Relay (MCR) 368

97 Weitere AWL-Funktionen 369

Inhaltsverzeichnis

15

971 Akkumulatorfunktionen 369972 Addieren von Konstanten zum Akkumulator 1 371973 Dekrementieren Inkrementieren 372974 Nullanweisungen 373

10 Structured Control Language SCL 374

101 Einfuumlhrung in die Programmierung mit SCL 3741011 Programmieren mit SCL allgemein 3741012 SCL-Anweisungen und Operatoren 376

102 Binaumlre Verknuumlpfungen mit SCL programmieren 3781021 Abfrage auf Signalzustand bdquo1ldquo und auf Signalzustand bdquo0ldquo 3781022 UND-Funktion 3791023 ODER-Funktion 3791024 Exklusiv-ODER-Funktion 3801025 Kombinierte binaumlre Verknuumlpfungen 3801026 Verknuumlpfungsergebnis negieren 381

103 Speicherfunktionen mit SCL programmieren 3821031 Wertzuweisung einer Binaumlrvariablen 3821032 Setzen und Ruumlcksetzen 3821033 Flankenauswertung 382

104 Zeit- und Zaumlhlfunktionen mit SCL programmieren 3831041 SIMATIC-Zeitfunktionen 3831042 SIMATIC-Zaumlhlfunktionen 3841043 IEC-Zeitfunktionen 3851044 IEC-Zaumlhlfunktionen 386

105 Digitalfunktionen mit SCL programmieren 3871051 Uumlbertragungsfunktion Wertzuweisung einer Digitalvariablen 3871052 Vergleichsfunktionen 3871053 Arithmetische Funktionen 3881054 Mathematische Funktionen 3891055 Konvertierungsfunktionen 3901056 Schiebefunktionen 3911057 Wortverknuumlpfungen logischer Ausdruck 392

106 Programmfluss mit SCL steuern 3931061 Mit der Variablen ENO arbeiten 3931062 ENENO-Mechanismus bei SCL 3951063 Kontrollanweisungen 3961064 Bausteinfunktionen 404

11 Ablaufsteuerung S7-GRAPH 408

111 Einfuumlhrung 4081111 Was ist eine Ablaufsteuerung 4081112 Eigenschaften einer Ablaufsteuerung 4091113 Programm fuumlr eine Ablaufsteuerung Mengengeruumlst 4101114 Betriebsarten 4101115 Vorgehen bei der Projektierung 411

Inhaltsverzeichnis

16

112 Elemente einer Ablaufsteuerung 4121121 Schritte und Transitionen 4121122 Spruumlnge in einer Ablaufsteuerung 4131123 Verzweigungen einer Ablaufkette 4131124 GRAPH-spezifische Variablen 4151125 Permanente Anweisungen 4161126 Schritt- und Transitionsfunktionen 4161127 Bearbeitung von Aktionen 420

113 Eine Ablaufsteuerung projektieren 4261131 Den GRAPH-Funktionsbaustein programmieren 4271132 Projektieren der Kettenstruktur 4281133 Schritte und Transitionen programmieren 4291134 Permanente Anweisungen programmieren 4311135 Bausteinuumlbergreifende Meldungen projektieren 4311136 Attribute des GRAPH-Funktionsbausteins 4321137 GRAPH-Funktionsbaustein anwenden 433

114 Ablaufsteuerung testen 4341141 GRAPH-Funktionsbaustein laden 4351142 Einstellungen zum Programmtest 4351143 Betriebsarten verwenden 4361144 Ablaufkette synchronisieren 4371145 Mit Programmstatus testen 438

12 Basisfunktionen 440

121 Binaumlre Verknuumlpfungen 4401211 Einfuumlhrung 4401212 Arbeiten mit Binaumlrsignalen 4411213 UND-Funktion Reihenschaltung 4441214 ODER-Funktion Parallelschaltung 4451215 Exklusiv-ODER-Funktion Antivalenzfunktion 4451216 Verknuumlpfungsergebnis negieren NOT-Kontakt 446

122 Speicherfunktionen 4481221 Einfuumlhrung 4481222 Standardspule Zuweisung 4481223 Einzelnes Setzen und Ruumlcksetzen 4481224 Vorrangiges Setzen und Ruumlcksetzen Speicherfunktion 4501225 Flankenauswertung 452

123 SIMATIC-Zeitfunktionen 4571231 Uumlbersicht 4571232 Programmieren einer Zeitfunktion 4601233 Zeitverhalten als Impuls 4621234 Zeitverhalten als verlaumlngerter Impuls 4641235 Zeitverhalten als Einschaltverzoumlgerung 4661236 Zeitverhalten als speichernde Einschaltverzoumlgerung 4681237 Zeitverhalten als Ausschaltverzoumlgerung 470

124 IEC-Zeitfunktionen 472

Inhaltsverzeichnis

17

1241 Einfuumlhrung 4721242 Impulsbildung TP 4731243 Einschaltverzoumlgerung TON 4741244 Ausschaltverzoumlgerung TOF 475

125 SIMATIC-Zaumlhlfunktionen 4761251 Uumlbersicht 4761252 Programmieren einer Zaumlhlfunktion 4781253 Funktionsweise einer Zaumlhlfunktion 4801254 Freigeben einer Zaumlhlfunktion bei AWL 482

126 IEC-Zaumlhlfunktionen 4831261 Einfuumlhrung 4831262 Vorwaumlrtszaumlhler CTU 4841263 Ruumlckwaumlrtszaumlhler CTD 4851264 VorwaumlrtsRuumlckwaumlrtszaumlhler CTUD 487

13 Digitalfunktionen 488

131 Allgemeines 488

132 Uumlbertragungsfunktionen 4891321 Allgemeines zur bdquoeinfachenldquo Uumlbertragungsfunktion 4891322 MOVE-Box bei KOP und FUP 4891323 Laden und Transferieren bei AWL 4911324 Wertzuweisungen bei SCL 4921325 Datenbereich im Arbeitsspeicher kopieren und fuumlllen 4941326 Datenbereich vom und zum Ladespeicher uumlbertragen 4971327 Speicherbereich steuern bei MCR-Abhaumlngigkeit 498

133 Vergleichsfunktionen 5011331 Ausfuumlhrung der bdquoeinfachenldquo Vergleichsfunktion 5011332 Vergleichsfunktion T_COMP 5031333 Vergleichsfunktion S_COMP 503

134 Arithmetische Funktionen 5041341 Allgemeine Funktionsbeschreibung 5041342 Datentypen und Statusbits bei einer arithmetischen Funktion 5051343 Ausfuumlhrung der arithmetischen Funktion 5071344 Arithmetische Funktionen fuumlr Datum und Uhrzeit 508

135 Mathematische Funktionen 5101351 Allgemeine Funktionsbeschreibung 5101352 Allgemeine Ausfuumlhrung einer mathematischen Funktion 5111353 Winkelfunktionen SIN COS TAN 5111354 Arcusfunktionen ASIN ACOS ATAN 5121355 Sonstige mathematische Funktionen 512

136 Konvertierungsfunktionen 5141361 Implizite Datentypwandlung 5141362 Datentypwandlung von Festpunktzahlen 5151363 Datentypwandlung von Gleitpunktzahlen 5181364 Datentypwandlung fuumlr DatumUhrzeit mit T_CONV 5211365 Datentypwandlung fuumlr Datentyp STRING mit S_CONV 522

Inhaltsverzeichnis

18

1366 Datentypwandlung von Hexadezimalzahlen 5241367 Skalieren und Deskalieren 5251368 Sonstige Konvertierungsfunktionen 526

137 Schiebefunktionen 5271371 Allgemeine Funktionsbeschreibung 5271372 Allgemeine Ausfuumlhrung einer Schiebefunktion 5291373 Rechts schieben 5301374 Links schieben 5301375 Rechts rotieren 5311376 Links rotieren 5321377 Rotieren durch das Anzeigenbit A1 (AWL) 532

138 Logikfunktionen 5321381 Wortverknuumlpfungen 5331382 Invertieren 5351383 Bit codieren und Bitnummer setzen 5361384 Auswahl- und Begrenzerfunktionen 537

139 Funktionen fuumlr Zeichenketten 540

14 Programmfluss-Steuerung 544

141 Statusbits 5451411 Beschreibung der Statusbits 5451412 Steuern der Statusbits 5471413 Verknuumlpfungsergebnis setzen und ruumlcksetzen 5481414 Binaumlrergebnis steuern 5491415 Auswertung der Statusbits 552

142 Sprungfunktionen 5531421 Einfuumlhrung 5531422 Absoluter Sprung 5531423 Bedingte Sprungfunktionen 5551424 Von den Statusbits abhaumlngige Sprungfunktionen 556

143 Bausteinende-Funktionen 5591431 Bausteinende-Funktion RET (KOP und FUP) 5601432 Bausteinende-Funktionen BEB BEA und BE (AWL) 5601433 RETURN-Anweisung (SCL) 561

144 Aufruf von Codebausteinen 5611441 Allgemeines zu Bausteinaufrufen 5611442 Aufruf einer Funktion (FC) 5621443 Aufruf eines Funktionsbausteins (FB) 5641444 Wechsel zu einem Baustein ohne Bausteinparameter 566

145 Datenbausteinfunktionen 5681451 Datenbaustein aufschlagen 5691452 Zusaumltzliche Datenbausteinfunktionen bei AWL 5701453 Datenbaustein erzeugen loumlschen und testen 571

146 Master Control Relay 5741461 Einfuumlhrung 5741462 MCR-Abhaumlngigkeit 575

Inhaltsverzeichnis

19

1463 MCR-Bereich und MCR-Zone 5751464 MCR-Bereich und MCR-Zone bei einem Bausteinwechsel 5781465 Anweisungen fuumlr das Master Control Relay 578

15 Online-Betrieb und Programmtest 580

151 Programmiergeraumlt an die PLC-Station anschlieszligen 5811511 Einstellungen am Programmiergeraumlt 5811512 Das Programmiergeraumlt mit der PLC-Station verbinden 5821513 Den Online-Betrieb einschalten 583

152 Projektdaten uumlbertragen 5841521 Die Projektdaten erstmalig laden 5841522 Die Projektdaten nachladen 5871523 Schutz des Anwenderprogramms 5881524 Online-Projekt ohne Offline-Projekt bearbeiten 5891525 Mit der Micro Memory Card arbeiten 590

153 Mit Bausteinen im Online-Betrieb arbeiten 5901531 Einfuumlhrung 5901532 Die Online-Version eines Bausteins bearbeiten 5911533 Einen Baustein in die CPU-Baugruppe laden 5921534 Den Arbeitsspeicher komprimieren 5941535 Bausteine aus der CPU zuruumlckladen 5941536 Mit Einstellwerten arbeiten 5961537 Bausteine vergleichen 598

154 Hardware-Diagnose 6011541 Status-Anzeigen an den Baugruppen 6011542 Diagnose-Informationen 6021543 Diagnosepuffer 6021544 Diagnose-Funktionen 6041545 Online-Tools 6041546 Weitere Diagnose-Informationen uumlber das Programmiergeraumlt 605

155 Anwenderprogramm testen 6061551 Aufrufumgebung definieren 6061552 Testen mit Programmstatus 6071553 Testen im Einzelschrittmodus 6111554 PLC-Variablen beobachten 6141555 Datenvariablen beobachten 6141556 Testen mit Beobachtungstabellen 6151557 Beobachten und Steuern im Betriebszustand STOP 6201558 Testen mit der Force-Tabelle 622

16 Dezentrale Peripherie 626

161 Einfuumlhrung Uumlbersicht 626

162 Dezentrales Peripheriesystem ET 200 6271621 ET 200M 6271622 ET 200MP 6281623 ET 200S 628

Inhaltsverzeichnis

20

1624 ET 200SP 6291625 ET 200iSP 6301626 ET 200pro 6311627 ET 200eco 631

163 PROFINET IO 6321631 Komponenten von PROFINET IO 6321632 Adressen bei PROFINET IO 6351633 Spezielle PROFINET-Konfigurationen 6381634 PROFINET IO projektieren 6391635 Kopplungsbaugruppen fuumlr PROFINET IO 6431636 Echtzeit-Kommunikation bei PROFINET 644

164 PROFIBUS DP 6491641 Komponenten von PROFIBUS DP 6491642 Adressen bei PROFIBUS DP 6521643 PROFIBUS DP projektieren 6561644 Kopplungsbaugruppen fuumlr PROFIBUS DP 6591645 Sonderfunktionen fuumlr PROFIBUS DP 661

165 Taktsynchronitaumlt 6621651 Einfuumlhrung 6621652 Taktsynchronitaumlt bei PROFINET 6631653 Taktsynchronitaumlt bei PROFIBUS 666

166 Systembausteine fuumlr dezentrale Peripherie 6691661 Systembausteine fuumlr PROFIBUS DP 6691662 Systembausteine fuumlr PROFIBUS DP und PROFINET IO 6731663 Systembausteine fuumlr PROFINET IO 676

167 AktorSensor-Interface 6791671 Komponenten von AktorSensor-Interface 6791672 Adressen am AktorSensor-Interface 6811673 AktorSensor-Interface mit CP 343-2P projektieren 6811674 Systemfunktionen fuumlr AS-i 683

17 Kommunikation 684

171 Uumlbersicht 684

172 S7-Basiskommunikation 6851721 Grundlagen der stationsinternen S7-Basiskommunikation 6851722 Stationsinterne S7-Basiskommunikation projektieren 6861723 Systembausteine fuumlr stationsinterne S7-Basiskommunikation 6861724 Grundlagen der stationsexternen S7-Basiskommunikation 6881725 Stationsexterne S7-Basiskommunikation projektieren 6891726 Systembausteine fuumlr stationsexterne S7-Basiskommunikation 689

173 S7-Kommunikation 6921731 Grundlagen 6921732 S7-Kommunikation projektieren 6931733 Einseitiger Datenaustausch 6951734 Zweiseitiger Datenaustausch 6961735 Uumlberwachungsfunktionen 699

Inhaltsverzeichnis

21

174 Open User Communication 700

1741 Grundlagen 700

1742 Verbindungen auf- und abbauen 702

1743 Datenuumlbertragung mit TCP native oder ISO-on-TCP 704

1744 Datenuumlbertragung mit UDP 707

18 Anhang 710

181 Arbeiten mit Quelldateien 710

1811 Allgemeines Vorgehen 710

1812 Einen Codebaustein in der Quelldatei programmieren 712

1813 Einen Datenbaustein in der Quelldatei programmieren 715

1814 Einen PLC-Datentyp in der Quelldatei programmieren 719

182 Projekte migrieren 720

183 Simulation mit dem TIA Portal 724

1831 Unterschiede zu einer realen CPU-Baugruppe 724

1832 Simulation starten und speichern 725

1833 Die Simulation bedienen 726

1834 Programm mit der Simulation testen 728

1835 Weitere Funktionen von PLCSIM 730

184 Webserver 731

1841 Webserver aktivieren 731

1842 Web-Informationen auslesen 732

1843 Standard-Webseiten 733

185 Ablage von lokalen Variablen 736

1851 Ablage in Global-Datenbausteinen 736

1852 Ablage in Instanz-Datenbausteinen 737

1853 Ablage in den temporaumlren Lokaldaten 738

1854 Datenablage der Bausteinparameter einer Funktion (FC) 739

1855 Datenablage der Bausteinparameter eines Funktionsbausteins (FB) 742

1856 Datenablage einer Lokalinstanz in einer Multiinstanz 744

Stichwortverzeichnis 746

1 Einfuumlhrung

22

1 Einfuumlhrung

11 Uumlbersicht Automatisierungssystem S7-300

SIMATIC S7-300 ist das modulare Kleinsteuersystem fuumlr den unteren und mittlerenLeistungsbereich (Bild 11) Verschiedene Varianten der Controller passen die Leis-tungsfaumlhigkeit an den jeweiligen Einsatzfall an Je nach Bedarf kann das Automati-sierungsgeraumlt mit Ein-Ausgabebaugruppen fuumlr Digital- und Analogsignale in biszu vier Baugruppentraumlgern mit je acht Baugruppen modular erweitert werden

Eine zusaumltzliche Erweiterung mit Ein-Ausgabebaugruppen bietet die dezentralePeripherie uumlber PROFIBUS oder PROFINET Mit besonderen Bauformen fuumlr erhoumlhtemechanische Anforderungen ausgestattet koumlnnen diese Baugruppen vor Ort ander Maschine oder Anlage installiert werden Die Steuerungsgeraumlte SIMATIC S7-300werden mit STEP 7 konfiguriert projektiert und programmiert Der Datenaus-tausch zwischen den Steuerungsgeraumlten der dezentralen Peripherie und dem Pro-grammiergeraumlt geschieht mit SIMATIC NET

Bild 11 Bestandteile des Automatisierungssystems SIMATIC S7-300

SIMATIC Controller steuern dieMaschine oder Anlage

Die dezentrale Peripherie erweitert dieSchnittstelle zur Maschine oder Anlage

SIMATIC NET

SIMATIC DP STEP 7Professional V12

SIMATIC S7-300

Die Vernetzung ermoumlglicht denDatenaustausch und den zentralenOnline-Zugriff

Mehrere Varianten der Controllererweitern das Einsatzspektrum

STEP 7 ist die Engineeringsoftware zumKonfigurieren undProgrammieren

Projektieren

Automatisierungssystem SIMATIC S7-300

11 Uumlbersicht Automatisierungssystem S7-300

23

111 Automatisierungsgeraumlt SIMATIC S7-300

Die wesentlichen Bestandteile eines S7-300-Automatisierungsgeraumlts sind im Bild12 dargestellt

Die CPU-Baugruppe enthaumllt das Betriebssystem und das AnwenderprogrammDas Anwenderprogramm steht spannungsausfallsicher auf der in der CPU-Bau-gruppe steckenden Micro Memory Card (MMC) Die Bearbeitung des Anwenderpro-gramms findet im Arbeitsspeicher in der CPU statt Die auf der CPU-Baugruppe vor-handenen Busschnittstellen stellen die Verbindung zu anderen Automatisierungs-geraumlten her

Die Verbindung zur gesteuerten Anlage uumlbernehmen SM-Baugruppen Diese Ein-und Ausgabebaugruppen gibt es fuumlr Digital- und Analogsignale

Die FM-Baugruppen sind signalvorverarbeitende bdquointelligenteldquo Peripheriebau-gruppen die vom Prozess kommende Signale unabhaumlngig von der CPU aufberei-ten verarbeiten und entweder wieder direkt an den Prozess zuruumlckgeben oder ander internen Schnittstelle der CPU zur Verfuumlgung stellen FM-Baugruppen uumlber-nehmen Funktionen die die CPU meist nicht schnell genug ausfuumlhren kann wiez B Impulse zaumlhlen positionieren oder Antriebe regeln

Die CP-Baugruppen gestatten einen Datenverkehr der die Moumlglichkeiten derStandard-Schnittstellen bezuumlglich Protokolle und Kommunikationsfunktionenuumlberschreitet

Die IM-Baugruppen verbinden bei einer Erweiterung den Zentralbaugruppentrauml-ger mit bis zu drei Erweiterungsbaugruppentraumlgern

Eine Stromversorgungsbaugruppe sorgt schlieszliglich fuumlr die benoumltigte Spannungim Automatisierungsgeraumlt

Bild 12 Bestandteile einer S7-300-Steuerung

Erweiterungsbaugruppentraumlger

Zentralbaugruppentraumlger SM-Baugruppen(Signal Modules)

Auf den Baugruppen-traumlgern sind steckbar

FM-Baugruppen(Function Modules)

CP-Baugruppen(CommunicationProcessors)

IM-Baugruppe(Interface Module)

IM-Baugruppe(Interface Module)

CPU-Baugruppe(Central Processor Unit)

PS-Baugruppe(Power Supply)

Baugruppen-traumlger (Rack)

Bestandteile einer S7-300-Steuerung

S

1 Einfuumlhrung

24

112 Uumlbersicht STEP 7 Professional V12

STEP 7 ist das zentrale Automatisierungswerkzeug fuumlr SIMATIC STEP 7 benoumltigtzum Betrieb eine Autorisierung (Lizenz) und laumluft auf den jeweils aktuellen Be-triebssystemen unter Microsoft Windows Die Projektierung eines S7-300-Control-lers geschieht mit zwei Ansichten der Portalansicht und der Projektansicht

Die Portalansicht ist aufgabenorientiert angelegt

Im Startportal oumlffnen Sie ein bestehendes Projekt erstellen ein neues Projekt odermigrieren ein Projekt Ein bdquoProjektldquo ist eine Datenstruktur die alle erforderlichenProgramme und Daten fuumlr Ihr Automatisierungsvorhaben enthaumllt Von hier aussind die wichtigsten Werkzeuge und Funktionen von STEP 7 uumlber weitere Portale er-reichbar (Bild 13)

b Im Portal Geraumlte amp Netze konfigurieren Sie die Automatisierungsgeraumlte d h Sieplatzieren die Baugruppen in einem Baugruppentraumlger und parametrieren sie

b Im Portal PLC-Programmierung erstellen Sie das Anwenderprogramm in Formvon einzelnen Abschnitten die man bdquoBausteineldquo nennt

b Das Portal Visualisierung bietet die wichtigsten Werkzeuge fuumlr die Projektierungund Simulation von HMI-Systemen mit SIMATIC WinCC an

Bild 13 Werkzeuge im Startportal von STEP 7 Professional V12

11 Uumlbersicht Automatisierungssystem S7-300

25

b Mit dem Portal Motion amp Technology fuumlgen Sie ein Technologie-Objekt fuumlr PIDControl ein und bearbeiten es

b Mit dem Portal Online amp Diagnose schalten Sie das Programmiergeraumlt online aneine CPU-Baugruppe Sie koumlnnen die Betriebsarten der CPU steuern und das An-wenderprogramm uumlbertragen und testen

Die Projektansicht bietet eine objektorientierte Ansicht mit mehreren Fensternderen Inhalt je nach ausgefuumlhrter Taumltigkeit wechselt In der Geraumltekonfigurationsteht der Arbeitsbereich mit dem zu konfigurierenden Geraumlt im Mittelpunkt In derGeraumltesicht wird der Baugruppentraumlger mit den bereits platzierten Baugruppen ge-zeigt (Bild 14) Ein weiteres Fenster ndash das Inspektorfenster ndash enthaumllt die Eigen-schaften der selektierten Baugruppe das Aufgaben-Fenster (Task Card) gibt Unter-stuumltzung durch den Hardware-Katalog mit den zur Verfuumlgung stehenden Baugrup-pen Die Netzsicht gestattet die Vernetzung zwischen PLC- und HMI-Stationen

Bei der PLC-Programmierung bearbeiten Sie im Arbeitsbereich den ausgewaumlhltenBaustein Wiederum sehen Sie im Inspektorfenster die Eigenschaften des markier-ten Objekts und koumlnnen diese einstellen Das Aufgabenfenster enthaumllt diesmal denProgrammelemente-Katalog mit den zur Verfuumlgung stehenden Programmelemen-ten und Anweisungen Aumlhnliches gilt fuumlr die Bearbeitung der PLC-Variablen oderbeim Online-Programmtest durch Beobachtungstabellen

Bild 14 Beispiel fuumlr die Projektansicht Arbeitsbereich der Geraumltekonfiguration

1 Einfuumlhrung

26

Und stets haben Sie die Projektnavigation im Blickfeld Sie enthaumllt alle Objekte desSTEP-7-Projekts So koumlnnen Sie jederzeit ein Objekt beispielsweise einen Pro-grammbaustein oder eine Beobachtungstabelle auswaumlhlen und dieses Objekt mitden entsprechenden Editoren die beim Oumlffnen des Objekts automatisch startenbearbeiten

113 Fuumlnf Programmiersprachen

Als Programmiersprache fuumlr das Anwenderprogramm koumlnnen Sie zwischen Kon-taktplan (KOP) Funktionsplan (FUP) Anweisungsliste (AWL) Structured ControlLanguage (SCL) und Ablaufsteuerung (GRAPH) waumlhlen

Mit Kontaktplan programmieren Sie die Steuerungsaufgabe angelehnt an denStromlaufplan Die Verknuumlpfung der binaumlren Signalzustaumlnde wird durch die seriel-le oder parallele Anordnung von Kontakten und Spulen dargestellt (Bild 15) Kom-plexe Funktionen wie beispielsweise die arithmetischen Funktionen werden mitBoxen dargestellt die Sie wie Kontakte oder Spulen im Kontaktplan anordnen

Mit Funktionsplan programmieren Sie die Steuerungsaufgabe angelehnt an elektro-nische Schaltkreissysteme Binaumlre Verknuumlpfungen werden durch Verschaltung vonUND- und ODER-Funktionen realisiert und mit Speicher-Boxen abgeschlossen (Bild16) Komplexe Boxen uumlbernehmen die Verknuumlpfung digitaler Variablen beispiels-weise bei den arithmetischen Funktionen

Bild 15 Beispiel fuumlr die Darstellung in Kontaktplan

Bild 16 Beispiel fuumlr die Darstellung in Funktionsplan

11 Uumlbersicht Automatisierungssystem S7-300

27

Mit Anweisungsliste programmieren Sie die Steuerungsaufgabe durch eine Folgevon Anweisungen Jede AWL-Anweisung enthaumllt eine Vorschrift was zu tun ist undeventuell einen Operand mit dem die Operation ausgefuumlhrt wird AWL ist gleicher-maszligen geeignet fuumlr binaumlre und digitale Verknuumlpfungen wie fuumlr die Programmierungkomplexer Steuerungsaufgaben (Bild 17)

Structured Control Language eignet sich besonders fuumlr die Programmierung vonkomplexen Algorithmen oder fuumlr Aufgabenstellungen aus dem Bereich der Datenver-waltung Das Programm besteht aus SCL-Anweisungen die beispielsweise Wertzuwei-sungen Vergleiche oder Kontrollanweisungen sein koumlnnen (Bild 18)

Mit GRAPH programmieren Sie eine Steuerungsaufgabe als Ablaufsteuerung in derdie sequenzielle Folge von Aktionen vorherrscht Die einzelnen Schritte und Verzwei-gungen werden durch Weiterschaltbedingungen freigegeben die mit KOP oder FUPprogrammiert werden koumlnnen (Bild 19)

114 Bearbeitung des Anwenderprogramms

Nach dem Einschalten der Versorgungsspannung pruumlft der Steuerungsprozessordie Konsistenz der Hardware und parametriert die Baugruppen Anschlieszligend wirdeinmalig ndash falls vorhanden ndash ein Anlaufprogramm bearbeitet Das Anlaufpro-

Bild 17 Beispiel fuumlr AWL-Anweisungen

Bild 18 Beispiel fuumlr SCL-Anweisungen

1 Einfuumlhrung

28

gramm gehoumlrt zum Anwenderprogramm das Sie programmieren Im Anlaufpro-gramm koumlnnen beispielsweise Baugruppen initialisiert werden

Das Anwenderprogramm ist in der Regel in einzelne Abschnitte ndash bdquoBausteineldquo ge-nannt ndash eingeteilt Die Organisationsbausteine (OB) sind die Schnittstelle zwischenBetriebssystem und Anwenderprogramm Das Betriebssystem ruft zu bestimmtenEreignissen einen Organisationsbaustein auf in dem dann das Anwenderpro-gramm bearbeitet wird (Bild 110)

Bild 19 Beispiel fuumlr eine GRAPH-Ablaufkette und eine Schrittprojektierung

Bild 110 Bearbeitung des Anwenderprogramms

Anlauf-programm

Alarm- undFehlerprogramm

Haupt-programm

Bearbeitung des Anwenderprogramms

Einschalten

Aktualisierung derEin- und Ausgaumlnge

Unterbrechung(Alarm oder Fehler)

BetriebszustandANLAUF

Betriebssystem Anwenderprogramm

BetriebszustandRUN

OB

OB

FBFC

FBFC

FBFC

FBFC

FBFC

FBFC

OB

Unterbrechung

11 Uumlbersicht Automatisierungssystem S7-300

29

Zur Strukturierung das Programms stehen Funktionsbausteine (FB) und Funktio-nen (FC) zur Verfuumlgung Funktionsbausteine haben einen Speicher in dem lokaleVariablen dauerhaft abgelegt sind Funktionen haben diesen Speicher nicht

Fuumlr den Aufruf (das Starten der Bearbeitung) von Funktionsbausteinen und Funk-tionen gibt es Programmanweisungen Jeder Bausteinaufruf kann mit Ein- undAusgaumlngen ndash bdquoBausteinparameterldquo genannt ndash versehen werden Beim Aufruf koumln-nen Variablen uumlbergeben werden mit denen das Programm im Baustein arbeitensoll Auf diese Weise kann ein Baustein mit einer gewissen Funktion (z B der Addi-tion von drei Variablen) mehrfach mit unterschiedlichen Parametersaumltzen (z B fuumlrunterschiedliche Berechnungen) aufgerufen werden (Bild 111)

Die Daten des Anwenderprogramms werden in Datenbausteinen (DB) abgelegtInstanz-Datenbausteine sind einem Aufruf eines Funktionsbausteins fest zugeord-net und bilden den Variablenspeicher des Funktionsbausteins Global-Datenbau-steine enthalten Daten die keinem Baustein zugeordnet sind

Nach einem Anlauf aktualisiert der Steuerungsprozessor die Ein- und Ausgangs-signale in den Prozessabbildern und ruft den Organisationsbaustein OB 1 auf Hiersteht das Hauptprogramm Auch im Hauptprogramm ist eine Strukturierung moumlg-lich und zu empfehlen Ist das Hauptprogramm bearbeitet wechselt der Steue-rungsprozessor zuruumlck ins Betriebssystem haumllt beispielsweise die Kommunikati-on mit dem Programmiergeraumlt aufrecht aktualisiert die Ein- und Ausgangssignaleund beginnt dann erneut mit der Bearbeitung des Hauptprogramms

Die zyklische Programmbearbeitung ist ein Merkmal speicherprogrammierbarerSteuerungen Das Anwenderprogramm wird auch dann bearbeitet wenn bdquovon au-szligenldquo keine Aktionen gefordert sind wenn also z B die gesteuerte Maschine stehtDies hat Vorteile bei der Programmierung Sie programmieren beispielsweise den

Bild 111 Beispiel fuumlr zwei Aufrufe eines Bausteins mit jeweils verschiedenen Variablen

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

Der Inhalt des Buchs auf einen Blick

6

Der Inhalt des Buchs auf einen Blick

Start

Das Automatisierungssystem SIMATIC S7-300 in der Uumlbersicht

Eine Einfuumlhrung in die Engineeringsoftware SIMATIC STEP 7 Professional V12

Die Grundlage der Automatisierungsloumlsung Ein Projekt erstellen und bearbeiten

Automatisierungssystem SIMATIC S7-300

Die Baugruppen von SIMATIC S7-300 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

Wie ein AktorSensor-Interface System 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

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-300 22111 Automatisierungsgeraumlt SIMATIC S7-300 23112 Uumlbersicht STEP 7 Professional V12 24113 Fuumlnf Programmiersprachen 26114 Bearbeitung des Anwenderprogramms 27115 Datenhaltung im SIMATIC-Automatisierungssystem 30

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

13 Ein SIMATIC-Projekt bearbeiten 37131 Strukturierte Darstellung der Projektdaten 38132 Projektdaten und Editoren fuumlr eine PLC-Station 38133 Ein Projekt erstellen und bearbeiten 42134 Mit Referenzprojekten arbeiten 45135 Bibliotheken anlegen und bearbeiten 46

2 Automatisierungssystem SIMATIC S7-300 47

21 Komponenten einer S7-300-Station 47

22 CPU-Baugruppen S7-300 49221 CPU-Varianten 49222 Bedien- und Anzeigeelemente 51223 SIMATIC Micro Memory Card 52224 Speicherbereiche in einer S7-300-Station 52225 Busschnittstellen 54

23 Signalbaugruppen 56231 Digitaleingabebaugruppen 56232 Digitalausgabebaugruppen 57233 Digitalein-ausgabebaugruppen 57234 Analogeingabebaugruppen 58235 Analogausgabebaugruppen 58236 Analogein-ausgabebaugruppen 59

24 Funktionsbaugruppen 60

25 Kommunikationsbaugruppen 61

Inhaltsverzeichnis

9

26 Sonstige Baugruppen 63261 Anschaltungsbaugruppen (IM) 63262 Stromversorgungsbaugruppen (PS) 63263 Simulatorbaugruppe 64264 Platzhalterbaugruppe 64

27 SIPLUS S7-300 65

3 Geraumltekonfiguration 66

31 Einfuumlhrung 66

32 Eine Station konfigurieren 69321 Eine PLC-Station hinzufuumlgen 69322 Eine Baugruppe hinzufuumlgen 69323 Einen Erweiterungsbaugruppentraumlger hinzufuumlgen 70

33 Baugruppen parametrieren 71331 Die CPU-Eigenschaften parametrieren 71332 Baugruppen adressieren 74333 Signalbaugruppen parametrieren 77

34 Netz projektieren 78341 Einfuumlhrung Uumlbersicht 78342 Stationen vernetzen 79343 Teilnehmeradressen in einem Subnetz 80344 Verbindungen 81345 Ein MPI-Subnetz projektieren 84346 Ein PROFIBUS-Subnetz projektieren 85347 Ein PROFINET-Subnetz projektieren 87348 Ein AS-i-Subnetz projektieren 90

4 Variablen Adressierung und Datentypen 92

41 Operanden und Variablen 92411 Einfuumlhrung Uumlbersicht 92412 Operandenbereiche Eingaumlnge und Ausgaumlnge 93413 Operandenbereich Merker 96414 Operandenbereich Daten 97415 Operandenbereich temporaumlre Lokaldaten 97

42 Adressierung von Operanden und Variablen 98421 Signalweg 98422 Absolute Adressierung von Variablen 99423 Symbolische Adressierung von Variablen 104424 Adressierung von Konstanten 105

43 Indirekte Adressierung 106431 Speicherindirekte Adressierung mit AWL 107432 Registerindirekte Adressierung mit AWL 110433 Arbeiten mit den Adressregistern bei AWL 111434 Direkter Zugriff auf komplexe Lokalvariablen mit AWL 119435 Indirekte Adressierung bei SCL 121

Inhaltsverzeichnis

10

44 Elementare Datentypen 123441 Einfuumlhrung 123442 Bitfolge-Datentypen BOOL BYTE WORD und DWORD 126443 BCD-Zahlen BCD16 und BCD32 126444 Festpunkt-Datentypen mit Vorzeichen INT und DINT 128445 Gleitpunkt-Datentyp REAL 128446 Datentyp CHAR 129447 Datentypen fuumlr Zeitdauern und Zeitpunkte 130

45 Zusammengesetzte Datentypen 132451 Zeichenkette STRING 132452 Datentyp ARRAY 134453 Datentyp STRUCT 136

46 Parametertypen und Zeiger 138461 Parametertypen 138462 Zeiger 139463 bdquoVariablerldquo ANY-Zeiger bei AWL 143464 bdquoVariablerldquo ANY-Zeiger bei SCL 143

47 PLC-Datentypen 146

48 Startinformation 147

5 Programmbearbeitung 148

51 Betriebszustaumlnde der CPU-Baugruppe 148511 Betriebszustand STOP 149512 Betriebszustand ANLAUF 150513 Betriebszustand RUN 152514 Betriebszustand HALT 152515 CPU urloumlschen 153516 Auslieferungszustand wiederherstellen 153517 Remanenzverhalten von Operanden 154

52 Anwenderprogramm erstellen 154521 Programmentwurf 154522 Programmbearbeitung 158523 Bausteinarten 160524 Bausteineigenschaften bearbeiten 161525 Bausteinschnittstelle 165526 Beispiel zur Verwendung von Bausteinparametern 167

53 Bausteine aufrufen 169531 Allgemeines zu Aufrufen von Codebausteinen 169532 Aufruf von Funktionen (FC) 169533 Aufruf von Funktionsbausteinen (FB) 171534 bdquoWeiterreichenldquo von Bausteinparametern 174

54 Anlaufprogramm 175541 Organisationsbaustein OB 100 175542 Baugruppenadresse ermitteln 176543 Baugruppen parametrieren 178

Inhaltsverzeichnis

11

55 Hauptprogramm 181551 Organisationsbaustein OB 1 181552 Prozessabbild-Aktualisierung 182553 Zykluszeit und Reaktionszeit 183554 Programm anhalten stoppen und schuumltzen 185555 Uhrzeit 187556 Systemzeit lesen 189557 Betriebsstundenzaumlhler 190

56 Alarmbearbeitung 191561 Einfuumlhrung zur Alarmbearbeitung 191562 Prioritaumltsklassen 192563 Uhrzeitalarm Organisationsbaustein OB 10 192564 Verzoumlgerungsalarme Organisationsbausteine OB 20 und OB 21 196565 Weckalarme Organisationsbausteine OB 32 bis OB 35 198566 Prozessalarm Organisationsbaustein OB 40 200567 DPV1-Alarme Organisationsbausteine OB 55 bis OB 57 202568 Taktsynchronalarm Organisationsbaustein OB 61 202569 Alarmzusatzinformation lesen 205

57 Fehlerbehandlung 206571 Fehlerursachen und Fehlerreaktion 206572 Synchronfehler 206573 Synchronfehlerbearbeitung sperren und freigeben 208574 Ersatzwert eintragen 211575 Asynchronfehler 212576 Alarme und Asynchronfehler sperren verzoumlgern und freigeben 215

58 Diagnose 217581 Diagnosealarm Organisationsbaustein OB 82 217582 Systemzustandsliste lesen 219583 Startinformation lesen 220584 Anwender-Diagnoseereignis in den Diagnosepuffer schreiben 221585 Systemdiagnose mit Report System Errors 222

6 Programmeditor 225

61 Einfuumlhrung 225

62 PLC-Variablentabelle 226621 Mit PLC-Variablentabellen arbeiten 226622 PLC-Variablen definieren und bearbeiten 226623 PLC-Variablen vergleichen 228624 PLC-Variablentabelle exportieren und importieren 229625 Konstantentabellen 230

63 Einen Codebaustein programmieren 230631 Einen neuen Codebaustein anlegen 230632 Arbeitsbereich des Programmeditors fuumlr Codebausteine 232633 Bausteineigenschaften fuumlr Codebausteine festlegen 233634 Bausteinschnittstelle programmieren 234635 Steuerungsfunktion programmieren 236

Inhaltsverzeichnis

12

636 Variablen editieren 240637 Mit Programmkommentaren arbeiten 242

64 Einen Datenbaustein programmieren 244641 Einen neuen Datenbaustein anlegen 244642 Arbeitsbereich des Programmeditors fuumlr Datenbausteine 244643 Bausteineigenschaften fuumlr Datenbausteine festlegen 246644 Datenvariablen deklarieren 246645 Datenvariablen in Globaldatenbausteinen eingeben 247

65 Bausteine uumlbersetzen 248651 Uumlbersetzung starten 248652 SCL-Bausteine uumlbersetzen 249653 Fehler nach der Uumlbersetzung beheben 249

66 Programminformationen 250661 Querverweisliste 251662 Belegungsplan 253663 Aufrufstruktur 254664 Abhaumlngigkeitsstruktur 255665 Konsistenzpruumlfung 255666 Speicherauslastung der CPU 256

7 Kontaktplan KOP 258

71 Einfuumlhrung 258711 Programmieren mit KOP allgemein 258712 Programmelemente des Kontaktplans 260

72 Binaumlre Verknuumlpfungen mit KOP programmieren 260721 Schlieszligerkontakt und Oumlffnerkontakt 260722 Reihen- und Parallelschaltung von Kontakten 262723 T-Abzweig offener Parallelzweig 263724 Verknuumlpfungsergebnis negieren 264725 Flankenauswertung einer Binaumlrvariablen 265726 Vergleich-Kontakte 265

73 Speicherfunktionen mit KOP programmieren 266731 Einfache Spule Zuweisung 266732 Setzen- und Ruumlcksetzen-Spule 268733 Speicherndes Verhalten durch Selbsthaltung 268734 Spulen mit Zeitverhalten 269735 Spulen mit Zaumlhlerverhalten 270

74 Q-Boxen mit KOP programmieren 271741 Speicher-Boxen 272742 Flankenauswertung des Stromflusses 272743 SIMATIC-Zeitfunktionen 273744 SIMATIC-Zaumlhlfunktionen 274745 IEC-Zeitfunktionen 274746 IEC-Zaumlhlfunktionen 276

75 ENENO-Boxen mit KOP programmieren 277751 Uumlbertragungsfunktion MOVE 277

Inhaltsverzeichnis

13

752 Arithmetische Funktionen 278753 Mathematische Funktionen 279754 Konvertierungsfunktionen 280755 Schiebefunktionen 281756 Wortverknuumlpfungen 282

76 Programmfluss bei KOP steuern 284761 Mit Statusbits im Kontaktplan arbeiten 284762 ENENO-Mechanismus bei KOP 286763 Sprungfunktionen 287764 Bausteinfunktionen 288765 Master Control Relay (MCR) 290

8 Funktionsplan FUP 292

81 Einfuumlhrung 292811 Programmieren mit FUP allgemein 292812 Programmelemente des Funktionsplans 294

82 Binaumlre Verknuumlpfungen mit FUP programmieren 295821 Abfrage auf Signalzustand bdquo1ldquo und auf Signalzustand bdquo0ldquo 295822 Eine binaumlre Verknuumlpfung im Funktionsplan programmieren 296823 UND-Funktion 297824 ODER-Funktion 297825 Exklusiv-ODER-Funktion 297826 Kombinierte binaumlre Verknuumlpfungen Verknuumlpfungsergebnis negieren 298827 T-Abzweig 299828 Flankenauswertung von Binaumlrvariablen 299829 Vergleichsfunktionen 300

83 Standard-Boxen mit FUP programmieren 301831 Zuweisung-Box 302832 Setzen- und Ruumlcksetzen-Box 302833 Standard-Boxen mit Zeitverhalten 303834 Standard-Boxen mit Zaumlhlerverhalten 304

84 Q-Boxen mit FUP programmieren 305841 Speicher-Boxen 305842 Flankenauswertung des Verknuumlpfungsergebnisses 307843 SIMATIC-Zeitfunktionen 308844 SIMATIC-Zaumlhlfunktionen 308845 IEC-Zeitfunktionen 309846 IEC-Zaumlhlfunktionen 309

85 ENENO-Boxen mit FUP programmieren 310851 Uumlbertragungsfunktion MOVE 312852 Arithmetische Funktionen 312853 Mathematische Funktionen 313854 Konvertierungsfunktionen 313855 Schiebefunktionen 315856 Wortverknuumlpfungen 316

Inhaltsverzeichnis

14

86 Programmfluss bei FUP steuern 318861 Mit Statusbits im Funktionsplan arbeiten 318862 ENENO-Mechanismus bei FUP 320863 Sprungfunktionen 321864 Bausteinfunktionen 322865 Master Control Relay (MCR) 324

9 Anweisungsliste AWL 326

91 Einfuumlhrung 326911 Programmieren mit AWL allgemein 326912 Aufbau einer AWL-Anweisung 327

92 Binaumlre Verknuumlpfungen mit AWL programmieren 328921 Bearbeitung einer binaumlren Verknuumlpfung Verknuumlpfungsschritt 328922 Abfrage auf Signalzustand bdquo1ldquo und auf Signalzustand bdquo0ldquo 330923 Eine binaumlre Verknuumlpfung in Anweisungsliste programmieren 331924 UND-Funktion 332925 ODER-Funktion 332926 Exklusiv-ODER-Funktion 333927 Kombinierte binaumlre Verknuumlpfungen 333928 Verknuumlpfungsergebnis steuern 336

93 Speicherfunktionen mit AWL programmieren 337931 Zuweisung 337932 Setzen und Ruumlcksetzen 338933 Flankenauswertung 338

94 Zeit- und Zaumlhlfunktionen mit AWL programmieren 339941 SIMATIC-Zeitfunktionen 339942 SIMATIC-Zaumlhlfunktionen 341943 IEC-Zeitfunktionen 342944 IEC-Zaumlhlfunktionen 343

95 Digitalfunktionen mit AWL programmieren 344951 Uumlbertragungsfunktionen 344952 Vergleichsfunktionen 346953 Arithmetische Funktionen 349954 Mathematische Funktionen 352955 Konvertierungsfunktionen 353956 Schiebefunktionen 354957 Wortverknuumlpfungen 356

96 Programmfluss bei AWL steuern 358961 Mit Statusbits in der Anweisungsliste arbeiten 359962 ENENO-Mechanismus bei AWL 361963 Sprungfunktionen 363964 Sprungverteiler 364965 Schleifensprung 364966 Bausteinfunktionen 365967 Master Control Relay (MCR) 368

97 Weitere AWL-Funktionen 369

Inhaltsverzeichnis

15

971 Akkumulatorfunktionen 369972 Addieren von Konstanten zum Akkumulator 1 371973 Dekrementieren Inkrementieren 372974 Nullanweisungen 373

10 Structured Control Language SCL 374

101 Einfuumlhrung in die Programmierung mit SCL 3741011 Programmieren mit SCL allgemein 3741012 SCL-Anweisungen und Operatoren 376

102 Binaumlre Verknuumlpfungen mit SCL programmieren 3781021 Abfrage auf Signalzustand bdquo1ldquo und auf Signalzustand bdquo0ldquo 3781022 UND-Funktion 3791023 ODER-Funktion 3791024 Exklusiv-ODER-Funktion 3801025 Kombinierte binaumlre Verknuumlpfungen 3801026 Verknuumlpfungsergebnis negieren 381

103 Speicherfunktionen mit SCL programmieren 3821031 Wertzuweisung einer Binaumlrvariablen 3821032 Setzen und Ruumlcksetzen 3821033 Flankenauswertung 382

104 Zeit- und Zaumlhlfunktionen mit SCL programmieren 3831041 SIMATIC-Zeitfunktionen 3831042 SIMATIC-Zaumlhlfunktionen 3841043 IEC-Zeitfunktionen 3851044 IEC-Zaumlhlfunktionen 386

105 Digitalfunktionen mit SCL programmieren 3871051 Uumlbertragungsfunktion Wertzuweisung einer Digitalvariablen 3871052 Vergleichsfunktionen 3871053 Arithmetische Funktionen 3881054 Mathematische Funktionen 3891055 Konvertierungsfunktionen 3901056 Schiebefunktionen 3911057 Wortverknuumlpfungen logischer Ausdruck 392

106 Programmfluss mit SCL steuern 3931061 Mit der Variablen ENO arbeiten 3931062 ENENO-Mechanismus bei SCL 3951063 Kontrollanweisungen 3961064 Bausteinfunktionen 404

11 Ablaufsteuerung S7-GRAPH 408

111 Einfuumlhrung 4081111 Was ist eine Ablaufsteuerung 4081112 Eigenschaften einer Ablaufsteuerung 4091113 Programm fuumlr eine Ablaufsteuerung Mengengeruumlst 4101114 Betriebsarten 4101115 Vorgehen bei der Projektierung 411

Inhaltsverzeichnis

16

112 Elemente einer Ablaufsteuerung 4121121 Schritte und Transitionen 4121122 Spruumlnge in einer Ablaufsteuerung 4131123 Verzweigungen einer Ablaufkette 4131124 GRAPH-spezifische Variablen 4151125 Permanente Anweisungen 4161126 Schritt- und Transitionsfunktionen 4161127 Bearbeitung von Aktionen 420

113 Eine Ablaufsteuerung projektieren 4261131 Den GRAPH-Funktionsbaustein programmieren 4271132 Projektieren der Kettenstruktur 4281133 Schritte und Transitionen programmieren 4291134 Permanente Anweisungen programmieren 4311135 Bausteinuumlbergreifende Meldungen projektieren 4311136 Attribute des GRAPH-Funktionsbausteins 4321137 GRAPH-Funktionsbaustein anwenden 433

114 Ablaufsteuerung testen 4341141 GRAPH-Funktionsbaustein laden 4351142 Einstellungen zum Programmtest 4351143 Betriebsarten verwenden 4361144 Ablaufkette synchronisieren 4371145 Mit Programmstatus testen 438

12 Basisfunktionen 440

121 Binaumlre Verknuumlpfungen 4401211 Einfuumlhrung 4401212 Arbeiten mit Binaumlrsignalen 4411213 UND-Funktion Reihenschaltung 4441214 ODER-Funktion Parallelschaltung 4451215 Exklusiv-ODER-Funktion Antivalenzfunktion 4451216 Verknuumlpfungsergebnis negieren NOT-Kontakt 446

122 Speicherfunktionen 4481221 Einfuumlhrung 4481222 Standardspule Zuweisung 4481223 Einzelnes Setzen und Ruumlcksetzen 4481224 Vorrangiges Setzen und Ruumlcksetzen Speicherfunktion 4501225 Flankenauswertung 452

123 SIMATIC-Zeitfunktionen 4571231 Uumlbersicht 4571232 Programmieren einer Zeitfunktion 4601233 Zeitverhalten als Impuls 4621234 Zeitverhalten als verlaumlngerter Impuls 4641235 Zeitverhalten als Einschaltverzoumlgerung 4661236 Zeitverhalten als speichernde Einschaltverzoumlgerung 4681237 Zeitverhalten als Ausschaltverzoumlgerung 470

124 IEC-Zeitfunktionen 472

Inhaltsverzeichnis

17

1241 Einfuumlhrung 4721242 Impulsbildung TP 4731243 Einschaltverzoumlgerung TON 4741244 Ausschaltverzoumlgerung TOF 475

125 SIMATIC-Zaumlhlfunktionen 4761251 Uumlbersicht 4761252 Programmieren einer Zaumlhlfunktion 4781253 Funktionsweise einer Zaumlhlfunktion 4801254 Freigeben einer Zaumlhlfunktion bei AWL 482

126 IEC-Zaumlhlfunktionen 4831261 Einfuumlhrung 4831262 Vorwaumlrtszaumlhler CTU 4841263 Ruumlckwaumlrtszaumlhler CTD 4851264 VorwaumlrtsRuumlckwaumlrtszaumlhler CTUD 487

13 Digitalfunktionen 488

131 Allgemeines 488

132 Uumlbertragungsfunktionen 4891321 Allgemeines zur bdquoeinfachenldquo Uumlbertragungsfunktion 4891322 MOVE-Box bei KOP und FUP 4891323 Laden und Transferieren bei AWL 4911324 Wertzuweisungen bei SCL 4921325 Datenbereich im Arbeitsspeicher kopieren und fuumlllen 4941326 Datenbereich vom und zum Ladespeicher uumlbertragen 4971327 Speicherbereich steuern bei MCR-Abhaumlngigkeit 498

133 Vergleichsfunktionen 5011331 Ausfuumlhrung der bdquoeinfachenldquo Vergleichsfunktion 5011332 Vergleichsfunktion T_COMP 5031333 Vergleichsfunktion S_COMP 503

134 Arithmetische Funktionen 5041341 Allgemeine Funktionsbeschreibung 5041342 Datentypen und Statusbits bei einer arithmetischen Funktion 5051343 Ausfuumlhrung der arithmetischen Funktion 5071344 Arithmetische Funktionen fuumlr Datum und Uhrzeit 508

135 Mathematische Funktionen 5101351 Allgemeine Funktionsbeschreibung 5101352 Allgemeine Ausfuumlhrung einer mathematischen Funktion 5111353 Winkelfunktionen SIN COS TAN 5111354 Arcusfunktionen ASIN ACOS ATAN 5121355 Sonstige mathematische Funktionen 512

136 Konvertierungsfunktionen 5141361 Implizite Datentypwandlung 5141362 Datentypwandlung von Festpunktzahlen 5151363 Datentypwandlung von Gleitpunktzahlen 5181364 Datentypwandlung fuumlr DatumUhrzeit mit T_CONV 5211365 Datentypwandlung fuumlr Datentyp STRING mit S_CONV 522

Inhaltsverzeichnis

18

1366 Datentypwandlung von Hexadezimalzahlen 5241367 Skalieren und Deskalieren 5251368 Sonstige Konvertierungsfunktionen 526

137 Schiebefunktionen 5271371 Allgemeine Funktionsbeschreibung 5271372 Allgemeine Ausfuumlhrung einer Schiebefunktion 5291373 Rechts schieben 5301374 Links schieben 5301375 Rechts rotieren 5311376 Links rotieren 5321377 Rotieren durch das Anzeigenbit A1 (AWL) 532

138 Logikfunktionen 5321381 Wortverknuumlpfungen 5331382 Invertieren 5351383 Bit codieren und Bitnummer setzen 5361384 Auswahl- und Begrenzerfunktionen 537

139 Funktionen fuumlr Zeichenketten 540

14 Programmfluss-Steuerung 544

141 Statusbits 5451411 Beschreibung der Statusbits 5451412 Steuern der Statusbits 5471413 Verknuumlpfungsergebnis setzen und ruumlcksetzen 5481414 Binaumlrergebnis steuern 5491415 Auswertung der Statusbits 552

142 Sprungfunktionen 5531421 Einfuumlhrung 5531422 Absoluter Sprung 5531423 Bedingte Sprungfunktionen 5551424 Von den Statusbits abhaumlngige Sprungfunktionen 556

143 Bausteinende-Funktionen 5591431 Bausteinende-Funktion RET (KOP und FUP) 5601432 Bausteinende-Funktionen BEB BEA und BE (AWL) 5601433 RETURN-Anweisung (SCL) 561

144 Aufruf von Codebausteinen 5611441 Allgemeines zu Bausteinaufrufen 5611442 Aufruf einer Funktion (FC) 5621443 Aufruf eines Funktionsbausteins (FB) 5641444 Wechsel zu einem Baustein ohne Bausteinparameter 566

145 Datenbausteinfunktionen 5681451 Datenbaustein aufschlagen 5691452 Zusaumltzliche Datenbausteinfunktionen bei AWL 5701453 Datenbaustein erzeugen loumlschen und testen 571

146 Master Control Relay 5741461 Einfuumlhrung 5741462 MCR-Abhaumlngigkeit 575

Inhaltsverzeichnis

19

1463 MCR-Bereich und MCR-Zone 5751464 MCR-Bereich und MCR-Zone bei einem Bausteinwechsel 5781465 Anweisungen fuumlr das Master Control Relay 578

15 Online-Betrieb und Programmtest 580

151 Programmiergeraumlt an die PLC-Station anschlieszligen 5811511 Einstellungen am Programmiergeraumlt 5811512 Das Programmiergeraumlt mit der PLC-Station verbinden 5821513 Den Online-Betrieb einschalten 583

152 Projektdaten uumlbertragen 5841521 Die Projektdaten erstmalig laden 5841522 Die Projektdaten nachladen 5871523 Schutz des Anwenderprogramms 5881524 Online-Projekt ohne Offline-Projekt bearbeiten 5891525 Mit der Micro Memory Card arbeiten 590

153 Mit Bausteinen im Online-Betrieb arbeiten 5901531 Einfuumlhrung 5901532 Die Online-Version eines Bausteins bearbeiten 5911533 Einen Baustein in die CPU-Baugruppe laden 5921534 Den Arbeitsspeicher komprimieren 5941535 Bausteine aus der CPU zuruumlckladen 5941536 Mit Einstellwerten arbeiten 5961537 Bausteine vergleichen 598

154 Hardware-Diagnose 6011541 Status-Anzeigen an den Baugruppen 6011542 Diagnose-Informationen 6021543 Diagnosepuffer 6021544 Diagnose-Funktionen 6041545 Online-Tools 6041546 Weitere Diagnose-Informationen uumlber das Programmiergeraumlt 605

155 Anwenderprogramm testen 6061551 Aufrufumgebung definieren 6061552 Testen mit Programmstatus 6071553 Testen im Einzelschrittmodus 6111554 PLC-Variablen beobachten 6141555 Datenvariablen beobachten 6141556 Testen mit Beobachtungstabellen 6151557 Beobachten und Steuern im Betriebszustand STOP 6201558 Testen mit der Force-Tabelle 622

16 Dezentrale Peripherie 626

161 Einfuumlhrung Uumlbersicht 626

162 Dezentrales Peripheriesystem ET 200 6271621 ET 200M 6271622 ET 200MP 6281623 ET 200S 628

Inhaltsverzeichnis

20

1624 ET 200SP 6291625 ET 200iSP 6301626 ET 200pro 6311627 ET 200eco 631

163 PROFINET IO 6321631 Komponenten von PROFINET IO 6321632 Adressen bei PROFINET IO 6351633 Spezielle PROFINET-Konfigurationen 6381634 PROFINET IO projektieren 6391635 Kopplungsbaugruppen fuumlr PROFINET IO 6431636 Echtzeit-Kommunikation bei PROFINET 644

164 PROFIBUS DP 6491641 Komponenten von PROFIBUS DP 6491642 Adressen bei PROFIBUS DP 6521643 PROFIBUS DP projektieren 6561644 Kopplungsbaugruppen fuumlr PROFIBUS DP 6591645 Sonderfunktionen fuumlr PROFIBUS DP 661

165 Taktsynchronitaumlt 6621651 Einfuumlhrung 6621652 Taktsynchronitaumlt bei PROFINET 6631653 Taktsynchronitaumlt bei PROFIBUS 666

166 Systembausteine fuumlr dezentrale Peripherie 6691661 Systembausteine fuumlr PROFIBUS DP 6691662 Systembausteine fuumlr PROFIBUS DP und PROFINET IO 6731663 Systembausteine fuumlr PROFINET IO 676

167 AktorSensor-Interface 6791671 Komponenten von AktorSensor-Interface 6791672 Adressen am AktorSensor-Interface 6811673 AktorSensor-Interface mit CP 343-2P projektieren 6811674 Systemfunktionen fuumlr AS-i 683

17 Kommunikation 684

171 Uumlbersicht 684

172 S7-Basiskommunikation 6851721 Grundlagen der stationsinternen S7-Basiskommunikation 6851722 Stationsinterne S7-Basiskommunikation projektieren 6861723 Systembausteine fuumlr stationsinterne S7-Basiskommunikation 6861724 Grundlagen der stationsexternen S7-Basiskommunikation 6881725 Stationsexterne S7-Basiskommunikation projektieren 6891726 Systembausteine fuumlr stationsexterne S7-Basiskommunikation 689

173 S7-Kommunikation 6921731 Grundlagen 6921732 S7-Kommunikation projektieren 6931733 Einseitiger Datenaustausch 6951734 Zweiseitiger Datenaustausch 6961735 Uumlberwachungsfunktionen 699

Inhaltsverzeichnis

21

174 Open User Communication 700

1741 Grundlagen 700

1742 Verbindungen auf- und abbauen 702

1743 Datenuumlbertragung mit TCP native oder ISO-on-TCP 704

1744 Datenuumlbertragung mit UDP 707

18 Anhang 710

181 Arbeiten mit Quelldateien 710

1811 Allgemeines Vorgehen 710

1812 Einen Codebaustein in der Quelldatei programmieren 712

1813 Einen Datenbaustein in der Quelldatei programmieren 715

1814 Einen PLC-Datentyp in der Quelldatei programmieren 719

182 Projekte migrieren 720

183 Simulation mit dem TIA Portal 724

1831 Unterschiede zu einer realen CPU-Baugruppe 724

1832 Simulation starten und speichern 725

1833 Die Simulation bedienen 726

1834 Programm mit der Simulation testen 728

1835 Weitere Funktionen von PLCSIM 730

184 Webserver 731

1841 Webserver aktivieren 731

1842 Web-Informationen auslesen 732

1843 Standard-Webseiten 733

185 Ablage von lokalen Variablen 736

1851 Ablage in Global-Datenbausteinen 736

1852 Ablage in Instanz-Datenbausteinen 737

1853 Ablage in den temporaumlren Lokaldaten 738

1854 Datenablage der Bausteinparameter einer Funktion (FC) 739

1855 Datenablage der Bausteinparameter eines Funktionsbausteins (FB) 742

1856 Datenablage einer Lokalinstanz in einer Multiinstanz 744

Stichwortverzeichnis 746

1 Einfuumlhrung

22

1 Einfuumlhrung

11 Uumlbersicht Automatisierungssystem S7-300

SIMATIC S7-300 ist das modulare Kleinsteuersystem fuumlr den unteren und mittlerenLeistungsbereich (Bild 11) Verschiedene Varianten der Controller passen die Leis-tungsfaumlhigkeit an den jeweiligen Einsatzfall an Je nach Bedarf kann das Automati-sierungsgeraumlt mit Ein-Ausgabebaugruppen fuumlr Digital- und Analogsignale in biszu vier Baugruppentraumlgern mit je acht Baugruppen modular erweitert werden

Eine zusaumltzliche Erweiterung mit Ein-Ausgabebaugruppen bietet die dezentralePeripherie uumlber PROFIBUS oder PROFINET Mit besonderen Bauformen fuumlr erhoumlhtemechanische Anforderungen ausgestattet koumlnnen diese Baugruppen vor Ort ander Maschine oder Anlage installiert werden Die Steuerungsgeraumlte SIMATIC S7-300werden mit STEP 7 konfiguriert projektiert und programmiert Der Datenaus-tausch zwischen den Steuerungsgeraumlten der dezentralen Peripherie und dem Pro-grammiergeraumlt geschieht mit SIMATIC NET

Bild 11 Bestandteile des Automatisierungssystems SIMATIC S7-300

SIMATIC Controller steuern dieMaschine oder Anlage

Die dezentrale Peripherie erweitert dieSchnittstelle zur Maschine oder Anlage

SIMATIC NET

SIMATIC DP STEP 7Professional V12

SIMATIC S7-300

Die Vernetzung ermoumlglicht denDatenaustausch und den zentralenOnline-Zugriff

Mehrere Varianten der Controllererweitern das Einsatzspektrum

STEP 7 ist die Engineeringsoftware zumKonfigurieren undProgrammieren

Projektieren

Automatisierungssystem SIMATIC S7-300

11 Uumlbersicht Automatisierungssystem S7-300

23

111 Automatisierungsgeraumlt SIMATIC S7-300

Die wesentlichen Bestandteile eines S7-300-Automatisierungsgeraumlts sind im Bild12 dargestellt

Die CPU-Baugruppe enthaumllt das Betriebssystem und das AnwenderprogrammDas Anwenderprogramm steht spannungsausfallsicher auf der in der CPU-Bau-gruppe steckenden Micro Memory Card (MMC) Die Bearbeitung des Anwenderpro-gramms findet im Arbeitsspeicher in der CPU statt Die auf der CPU-Baugruppe vor-handenen Busschnittstellen stellen die Verbindung zu anderen Automatisierungs-geraumlten her

Die Verbindung zur gesteuerten Anlage uumlbernehmen SM-Baugruppen Diese Ein-und Ausgabebaugruppen gibt es fuumlr Digital- und Analogsignale

Die FM-Baugruppen sind signalvorverarbeitende bdquointelligenteldquo Peripheriebau-gruppen die vom Prozess kommende Signale unabhaumlngig von der CPU aufberei-ten verarbeiten und entweder wieder direkt an den Prozess zuruumlckgeben oder ander internen Schnittstelle der CPU zur Verfuumlgung stellen FM-Baugruppen uumlber-nehmen Funktionen die die CPU meist nicht schnell genug ausfuumlhren kann wiez B Impulse zaumlhlen positionieren oder Antriebe regeln

Die CP-Baugruppen gestatten einen Datenverkehr der die Moumlglichkeiten derStandard-Schnittstellen bezuumlglich Protokolle und Kommunikationsfunktionenuumlberschreitet

Die IM-Baugruppen verbinden bei einer Erweiterung den Zentralbaugruppentrauml-ger mit bis zu drei Erweiterungsbaugruppentraumlgern

Eine Stromversorgungsbaugruppe sorgt schlieszliglich fuumlr die benoumltigte Spannungim Automatisierungsgeraumlt

Bild 12 Bestandteile einer S7-300-Steuerung

Erweiterungsbaugruppentraumlger

Zentralbaugruppentraumlger SM-Baugruppen(Signal Modules)

Auf den Baugruppen-traumlgern sind steckbar

FM-Baugruppen(Function Modules)

CP-Baugruppen(CommunicationProcessors)

IM-Baugruppe(Interface Module)

IM-Baugruppe(Interface Module)

CPU-Baugruppe(Central Processor Unit)

PS-Baugruppe(Power Supply)

Baugruppen-traumlger (Rack)

Bestandteile einer S7-300-Steuerung

S

1 Einfuumlhrung

24

112 Uumlbersicht STEP 7 Professional V12

STEP 7 ist das zentrale Automatisierungswerkzeug fuumlr SIMATIC STEP 7 benoumltigtzum Betrieb eine Autorisierung (Lizenz) und laumluft auf den jeweils aktuellen Be-triebssystemen unter Microsoft Windows Die Projektierung eines S7-300-Control-lers geschieht mit zwei Ansichten der Portalansicht und der Projektansicht

Die Portalansicht ist aufgabenorientiert angelegt

Im Startportal oumlffnen Sie ein bestehendes Projekt erstellen ein neues Projekt odermigrieren ein Projekt Ein bdquoProjektldquo ist eine Datenstruktur die alle erforderlichenProgramme und Daten fuumlr Ihr Automatisierungsvorhaben enthaumllt Von hier aussind die wichtigsten Werkzeuge und Funktionen von STEP 7 uumlber weitere Portale er-reichbar (Bild 13)

b Im Portal Geraumlte amp Netze konfigurieren Sie die Automatisierungsgeraumlte d h Sieplatzieren die Baugruppen in einem Baugruppentraumlger und parametrieren sie

b Im Portal PLC-Programmierung erstellen Sie das Anwenderprogramm in Formvon einzelnen Abschnitten die man bdquoBausteineldquo nennt

b Das Portal Visualisierung bietet die wichtigsten Werkzeuge fuumlr die Projektierungund Simulation von HMI-Systemen mit SIMATIC WinCC an

Bild 13 Werkzeuge im Startportal von STEP 7 Professional V12

11 Uumlbersicht Automatisierungssystem S7-300

25

b Mit dem Portal Motion amp Technology fuumlgen Sie ein Technologie-Objekt fuumlr PIDControl ein und bearbeiten es

b Mit dem Portal Online amp Diagnose schalten Sie das Programmiergeraumlt online aneine CPU-Baugruppe Sie koumlnnen die Betriebsarten der CPU steuern und das An-wenderprogramm uumlbertragen und testen

Die Projektansicht bietet eine objektorientierte Ansicht mit mehreren Fensternderen Inhalt je nach ausgefuumlhrter Taumltigkeit wechselt In der Geraumltekonfigurationsteht der Arbeitsbereich mit dem zu konfigurierenden Geraumlt im Mittelpunkt In derGeraumltesicht wird der Baugruppentraumlger mit den bereits platzierten Baugruppen ge-zeigt (Bild 14) Ein weiteres Fenster ndash das Inspektorfenster ndash enthaumllt die Eigen-schaften der selektierten Baugruppe das Aufgaben-Fenster (Task Card) gibt Unter-stuumltzung durch den Hardware-Katalog mit den zur Verfuumlgung stehenden Baugrup-pen Die Netzsicht gestattet die Vernetzung zwischen PLC- und HMI-Stationen

Bei der PLC-Programmierung bearbeiten Sie im Arbeitsbereich den ausgewaumlhltenBaustein Wiederum sehen Sie im Inspektorfenster die Eigenschaften des markier-ten Objekts und koumlnnen diese einstellen Das Aufgabenfenster enthaumllt diesmal denProgrammelemente-Katalog mit den zur Verfuumlgung stehenden Programmelemen-ten und Anweisungen Aumlhnliches gilt fuumlr die Bearbeitung der PLC-Variablen oderbeim Online-Programmtest durch Beobachtungstabellen

Bild 14 Beispiel fuumlr die Projektansicht Arbeitsbereich der Geraumltekonfiguration

1 Einfuumlhrung

26

Und stets haben Sie die Projektnavigation im Blickfeld Sie enthaumllt alle Objekte desSTEP-7-Projekts So koumlnnen Sie jederzeit ein Objekt beispielsweise einen Pro-grammbaustein oder eine Beobachtungstabelle auswaumlhlen und dieses Objekt mitden entsprechenden Editoren die beim Oumlffnen des Objekts automatisch startenbearbeiten

113 Fuumlnf Programmiersprachen

Als Programmiersprache fuumlr das Anwenderprogramm koumlnnen Sie zwischen Kon-taktplan (KOP) Funktionsplan (FUP) Anweisungsliste (AWL) Structured ControlLanguage (SCL) und Ablaufsteuerung (GRAPH) waumlhlen

Mit Kontaktplan programmieren Sie die Steuerungsaufgabe angelehnt an denStromlaufplan Die Verknuumlpfung der binaumlren Signalzustaumlnde wird durch die seriel-le oder parallele Anordnung von Kontakten und Spulen dargestellt (Bild 15) Kom-plexe Funktionen wie beispielsweise die arithmetischen Funktionen werden mitBoxen dargestellt die Sie wie Kontakte oder Spulen im Kontaktplan anordnen

Mit Funktionsplan programmieren Sie die Steuerungsaufgabe angelehnt an elektro-nische Schaltkreissysteme Binaumlre Verknuumlpfungen werden durch Verschaltung vonUND- und ODER-Funktionen realisiert und mit Speicher-Boxen abgeschlossen (Bild16) Komplexe Boxen uumlbernehmen die Verknuumlpfung digitaler Variablen beispiels-weise bei den arithmetischen Funktionen

Bild 15 Beispiel fuumlr die Darstellung in Kontaktplan

Bild 16 Beispiel fuumlr die Darstellung in Funktionsplan

11 Uumlbersicht Automatisierungssystem S7-300

27

Mit Anweisungsliste programmieren Sie die Steuerungsaufgabe durch eine Folgevon Anweisungen Jede AWL-Anweisung enthaumllt eine Vorschrift was zu tun ist undeventuell einen Operand mit dem die Operation ausgefuumlhrt wird AWL ist gleicher-maszligen geeignet fuumlr binaumlre und digitale Verknuumlpfungen wie fuumlr die Programmierungkomplexer Steuerungsaufgaben (Bild 17)

Structured Control Language eignet sich besonders fuumlr die Programmierung vonkomplexen Algorithmen oder fuumlr Aufgabenstellungen aus dem Bereich der Datenver-waltung Das Programm besteht aus SCL-Anweisungen die beispielsweise Wertzuwei-sungen Vergleiche oder Kontrollanweisungen sein koumlnnen (Bild 18)

Mit GRAPH programmieren Sie eine Steuerungsaufgabe als Ablaufsteuerung in derdie sequenzielle Folge von Aktionen vorherrscht Die einzelnen Schritte und Verzwei-gungen werden durch Weiterschaltbedingungen freigegeben die mit KOP oder FUPprogrammiert werden koumlnnen (Bild 19)

114 Bearbeitung des Anwenderprogramms

Nach dem Einschalten der Versorgungsspannung pruumlft der Steuerungsprozessordie Konsistenz der Hardware und parametriert die Baugruppen Anschlieszligend wirdeinmalig ndash falls vorhanden ndash ein Anlaufprogramm bearbeitet Das Anlaufpro-

Bild 17 Beispiel fuumlr AWL-Anweisungen

Bild 18 Beispiel fuumlr SCL-Anweisungen

1 Einfuumlhrung

28

gramm gehoumlrt zum Anwenderprogramm das Sie programmieren Im Anlaufpro-gramm koumlnnen beispielsweise Baugruppen initialisiert werden

Das Anwenderprogramm ist in der Regel in einzelne Abschnitte ndash bdquoBausteineldquo ge-nannt ndash eingeteilt Die Organisationsbausteine (OB) sind die Schnittstelle zwischenBetriebssystem und Anwenderprogramm Das Betriebssystem ruft zu bestimmtenEreignissen einen Organisationsbaustein auf in dem dann das Anwenderpro-gramm bearbeitet wird (Bild 110)

Bild 19 Beispiel fuumlr eine GRAPH-Ablaufkette und eine Schrittprojektierung

Bild 110 Bearbeitung des Anwenderprogramms

Anlauf-programm

Alarm- undFehlerprogramm

Haupt-programm

Bearbeitung des Anwenderprogramms

Einschalten

Aktualisierung derEin- und Ausgaumlnge

Unterbrechung(Alarm oder Fehler)

BetriebszustandANLAUF

Betriebssystem Anwenderprogramm

BetriebszustandRUN

OB

OB

FBFC

FBFC

FBFC

FBFC

FBFC

FBFC

OB

Unterbrechung

11 Uumlbersicht Automatisierungssystem S7-300

29

Zur Strukturierung das Programms stehen Funktionsbausteine (FB) und Funktio-nen (FC) zur Verfuumlgung Funktionsbausteine haben einen Speicher in dem lokaleVariablen dauerhaft abgelegt sind Funktionen haben diesen Speicher nicht

Fuumlr den Aufruf (das Starten der Bearbeitung) von Funktionsbausteinen und Funk-tionen gibt es Programmanweisungen Jeder Bausteinaufruf kann mit Ein- undAusgaumlngen ndash bdquoBausteinparameterldquo genannt ndash versehen werden Beim Aufruf koumln-nen Variablen uumlbergeben werden mit denen das Programm im Baustein arbeitensoll Auf diese Weise kann ein Baustein mit einer gewissen Funktion (z B der Addi-tion von drei Variablen) mehrfach mit unterschiedlichen Parametersaumltzen (z B fuumlrunterschiedliche Berechnungen) aufgerufen werden (Bild 111)

Die Daten des Anwenderprogramms werden in Datenbausteinen (DB) abgelegtInstanz-Datenbausteine sind einem Aufruf eines Funktionsbausteins fest zugeord-net und bilden den Variablenspeicher des Funktionsbausteins Global-Datenbau-steine enthalten Daten die keinem Baustein zugeordnet sind

Nach einem Anlauf aktualisiert der Steuerungsprozessor die Ein- und Ausgangs-signale in den Prozessabbildern und ruft den Organisationsbaustein OB 1 auf Hiersteht das Hauptprogramm Auch im Hauptprogramm ist eine Strukturierung moumlg-lich und zu empfehlen Ist das Hauptprogramm bearbeitet wechselt der Steue-rungsprozessor zuruumlck ins Betriebssystem haumllt beispielsweise die Kommunikati-on mit dem Programmiergeraumlt aufrecht aktualisiert die Ein- und Ausgangssignaleund beginnt dann erneut mit der Bearbeitung des Hauptprogramms

Die zyklische Programmbearbeitung ist ein Merkmal speicherprogrammierbarerSteuerungen Das Anwenderprogramm wird auch dann bearbeitet wenn bdquovon au-szligenldquo keine Aktionen gefordert sind wenn also z B die gesteuerte Maschine stehtDies hat Vorteile bei der Programmierung Sie programmieren beispielsweise den

Bild 111 Beispiel fuumlr zwei Aufrufe eines Bausteins mit jeweils verschiedenen Variablen

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

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

Wie ein AktorSensor-Interface System 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

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-300 22111 Automatisierungsgeraumlt SIMATIC S7-300 23112 Uumlbersicht STEP 7 Professional V12 24113 Fuumlnf Programmiersprachen 26114 Bearbeitung des Anwenderprogramms 27115 Datenhaltung im SIMATIC-Automatisierungssystem 30

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

13 Ein SIMATIC-Projekt bearbeiten 37131 Strukturierte Darstellung der Projektdaten 38132 Projektdaten und Editoren fuumlr eine PLC-Station 38133 Ein Projekt erstellen und bearbeiten 42134 Mit Referenzprojekten arbeiten 45135 Bibliotheken anlegen und bearbeiten 46

2 Automatisierungssystem SIMATIC S7-300 47

21 Komponenten einer S7-300-Station 47

22 CPU-Baugruppen S7-300 49221 CPU-Varianten 49222 Bedien- und Anzeigeelemente 51223 SIMATIC Micro Memory Card 52224 Speicherbereiche in einer S7-300-Station 52225 Busschnittstellen 54

23 Signalbaugruppen 56231 Digitaleingabebaugruppen 56232 Digitalausgabebaugruppen 57233 Digitalein-ausgabebaugruppen 57234 Analogeingabebaugruppen 58235 Analogausgabebaugruppen 58236 Analogein-ausgabebaugruppen 59

24 Funktionsbaugruppen 60

25 Kommunikationsbaugruppen 61

Inhaltsverzeichnis

9

26 Sonstige Baugruppen 63261 Anschaltungsbaugruppen (IM) 63262 Stromversorgungsbaugruppen (PS) 63263 Simulatorbaugruppe 64264 Platzhalterbaugruppe 64

27 SIPLUS S7-300 65

3 Geraumltekonfiguration 66

31 Einfuumlhrung 66

32 Eine Station konfigurieren 69321 Eine PLC-Station hinzufuumlgen 69322 Eine Baugruppe hinzufuumlgen 69323 Einen Erweiterungsbaugruppentraumlger hinzufuumlgen 70

33 Baugruppen parametrieren 71331 Die CPU-Eigenschaften parametrieren 71332 Baugruppen adressieren 74333 Signalbaugruppen parametrieren 77

34 Netz projektieren 78341 Einfuumlhrung Uumlbersicht 78342 Stationen vernetzen 79343 Teilnehmeradressen in einem Subnetz 80344 Verbindungen 81345 Ein MPI-Subnetz projektieren 84346 Ein PROFIBUS-Subnetz projektieren 85347 Ein PROFINET-Subnetz projektieren 87348 Ein AS-i-Subnetz projektieren 90

4 Variablen Adressierung und Datentypen 92

41 Operanden und Variablen 92411 Einfuumlhrung Uumlbersicht 92412 Operandenbereiche Eingaumlnge und Ausgaumlnge 93413 Operandenbereich Merker 96414 Operandenbereich Daten 97415 Operandenbereich temporaumlre Lokaldaten 97

42 Adressierung von Operanden und Variablen 98421 Signalweg 98422 Absolute Adressierung von Variablen 99423 Symbolische Adressierung von Variablen 104424 Adressierung von Konstanten 105

43 Indirekte Adressierung 106431 Speicherindirekte Adressierung mit AWL 107432 Registerindirekte Adressierung mit AWL 110433 Arbeiten mit den Adressregistern bei AWL 111434 Direkter Zugriff auf komplexe Lokalvariablen mit AWL 119435 Indirekte Adressierung bei SCL 121

Inhaltsverzeichnis

10

44 Elementare Datentypen 123441 Einfuumlhrung 123442 Bitfolge-Datentypen BOOL BYTE WORD und DWORD 126443 BCD-Zahlen BCD16 und BCD32 126444 Festpunkt-Datentypen mit Vorzeichen INT und DINT 128445 Gleitpunkt-Datentyp REAL 128446 Datentyp CHAR 129447 Datentypen fuumlr Zeitdauern und Zeitpunkte 130

45 Zusammengesetzte Datentypen 132451 Zeichenkette STRING 132452 Datentyp ARRAY 134453 Datentyp STRUCT 136

46 Parametertypen und Zeiger 138461 Parametertypen 138462 Zeiger 139463 bdquoVariablerldquo ANY-Zeiger bei AWL 143464 bdquoVariablerldquo ANY-Zeiger bei SCL 143

47 PLC-Datentypen 146

48 Startinformation 147

5 Programmbearbeitung 148

51 Betriebszustaumlnde der CPU-Baugruppe 148511 Betriebszustand STOP 149512 Betriebszustand ANLAUF 150513 Betriebszustand RUN 152514 Betriebszustand HALT 152515 CPU urloumlschen 153516 Auslieferungszustand wiederherstellen 153517 Remanenzverhalten von Operanden 154

52 Anwenderprogramm erstellen 154521 Programmentwurf 154522 Programmbearbeitung 158523 Bausteinarten 160524 Bausteineigenschaften bearbeiten 161525 Bausteinschnittstelle 165526 Beispiel zur Verwendung von Bausteinparametern 167

53 Bausteine aufrufen 169531 Allgemeines zu Aufrufen von Codebausteinen 169532 Aufruf von Funktionen (FC) 169533 Aufruf von Funktionsbausteinen (FB) 171534 bdquoWeiterreichenldquo von Bausteinparametern 174

54 Anlaufprogramm 175541 Organisationsbaustein OB 100 175542 Baugruppenadresse ermitteln 176543 Baugruppen parametrieren 178

Inhaltsverzeichnis

11

55 Hauptprogramm 181551 Organisationsbaustein OB 1 181552 Prozessabbild-Aktualisierung 182553 Zykluszeit und Reaktionszeit 183554 Programm anhalten stoppen und schuumltzen 185555 Uhrzeit 187556 Systemzeit lesen 189557 Betriebsstundenzaumlhler 190

56 Alarmbearbeitung 191561 Einfuumlhrung zur Alarmbearbeitung 191562 Prioritaumltsklassen 192563 Uhrzeitalarm Organisationsbaustein OB 10 192564 Verzoumlgerungsalarme Organisationsbausteine OB 20 und OB 21 196565 Weckalarme Organisationsbausteine OB 32 bis OB 35 198566 Prozessalarm Organisationsbaustein OB 40 200567 DPV1-Alarme Organisationsbausteine OB 55 bis OB 57 202568 Taktsynchronalarm Organisationsbaustein OB 61 202569 Alarmzusatzinformation lesen 205

57 Fehlerbehandlung 206571 Fehlerursachen und Fehlerreaktion 206572 Synchronfehler 206573 Synchronfehlerbearbeitung sperren und freigeben 208574 Ersatzwert eintragen 211575 Asynchronfehler 212576 Alarme und Asynchronfehler sperren verzoumlgern und freigeben 215

58 Diagnose 217581 Diagnosealarm Organisationsbaustein OB 82 217582 Systemzustandsliste lesen 219583 Startinformation lesen 220584 Anwender-Diagnoseereignis in den Diagnosepuffer schreiben 221585 Systemdiagnose mit Report System Errors 222

6 Programmeditor 225

61 Einfuumlhrung 225

62 PLC-Variablentabelle 226621 Mit PLC-Variablentabellen arbeiten 226622 PLC-Variablen definieren und bearbeiten 226623 PLC-Variablen vergleichen 228624 PLC-Variablentabelle exportieren und importieren 229625 Konstantentabellen 230

63 Einen Codebaustein programmieren 230631 Einen neuen Codebaustein anlegen 230632 Arbeitsbereich des Programmeditors fuumlr Codebausteine 232633 Bausteineigenschaften fuumlr Codebausteine festlegen 233634 Bausteinschnittstelle programmieren 234635 Steuerungsfunktion programmieren 236

Inhaltsverzeichnis

12

636 Variablen editieren 240637 Mit Programmkommentaren arbeiten 242

64 Einen Datenbaustein programmieren 244641 Einen neuen Datenbaustein anlegen 244642 Arbeitsbereich des Programmeditors fuumlr Datenbausteine 244643 Bausteineigenschaften fuumlr Datenbausteine festlegen 246644 Datenvariablen deklarieren 246645 Datenvariablen in Globaldatenbausteinen eingeben 247

65 Bausteine uumlbersetzen 248651 Uumlbersetzung starten 248652 SCL-Bausteine uumlbersetzen 249653 Fehler nach der Uumlbersetzung beheben 249

66 Programminformationen 250661 Querverweisliste 251662 Belegungsplan 253663 Aufrufstruktur 254664 Abhaumlngigkeitsstruktur 255665 Konsistenzpruumlfung 255666 Speicherauslastung der CPU 256

7 Kontaktplan KOP 258

71 Einfuumlhrung 258711 Programmieren mit KOP allgemein 258712 Programmelemente des Kontaktplans 260

72 Binaumlre Verknuumlpfungen mit KOP programmieren 260721 Schlieszligerkontakt und Oumlffnerkontakt 260722 Reihen- und Parallelschaltung von Kontakten 262723 T-Abzweig offener Parallelzweig 263724 Verknuumlpfungsergebnis negieren 264725 Flankenauswertung einer Binaumlrvariablen 265726 Vergleich-Kontakte 265

73 Speicherfunktionen mit KOP programmieren 266731 Einfache Spule Zuweisung 266732 Setzen- und Ruumlcksetzen-Spule 268733 Speicherndes Verhalten durch Selbsthaltung 268734 Spulen mit Zeitverhalten 269735 Spulen mit Zaumlhlerverhalten 270

74 Q-Boxen mit KOP programmieren 271741 Speicher-Boxen 272742 Flankenauswertung des Stromflusses 272743 SIMATIC-Zeitfunktionen 273744 SIMATIC-Zaumlhlfunktionen 274745 IEC-Zeitfunktionen 274746 IEC-Zaumlhlfunktionen 276

75 ENENO-Boxen mit KOP programmieren 277751 Uumlbertragungsfunktion MOVE 277

Inhaltsverzeichnis

13

752 Arithmetische Funktionen 278753 Mathematische Funktionen 279754 Konvertierungsfunktionen 280755 Schiebefunktionen 281756 Wortverknuumlpfungen 282

76 Programmfluss bei KOP steuern 284761 Mit Statusbits im Kontaktplan arbeiten 284762 ENENO-Mechanismus bei KOP 286763 Sprungfunktionen 287764 Bausteinfunktionen 288765 Master Control Relay (MCR) 290

8 Funktionsplan FUP 292

81 Einfuumlhrung 292811 Programmieren mit FUP allgemein 292812 Programmelemente des Funktionsplans 294

82 Binaumlre Verknuumlpfungen mit FUP programmieren 295821 Abfrage auf Signalzustand bdquo1ldquo und auf Signalzustand bdquo0ldquo 295822 Eine binaumlre Verknuumlpfung im Funktionsplan programmieren 296823 UND-Funktion 297824 ODER-Funktion 297825 Exklusiv-ODER-Funktion 297826 Kombinierte binaumlre Verknuumlpfungen Verknuumlpfungsergebnis negieren 298827 T-Abzweig 299828 Flankenauswertung von Binaumlrvariablen 299829 Vergleichsfunktionen 300

83 Standard-Boxen mit FUP programmieren 301831 Zuweisung-Box 302832 Setzen- und Ruumlcksetzen-Box 302833 Standard-Boxen mit Zeitverhalten 303834 Standard-Boxen mit Zaumlhlerverhalten 304

84 Q-Boxen mit FUP programmieren 305841 Speicher-Boxen 305842 Flankenauswertung des Verknuumlpfungsergebnisses 307843 SIMATIC-Zeitfunktionen 308844 SIMATIC-Zaumlhlfunktionen 308845 IEC-Zeitfunktionen 309846 IEC-Zaumlhlfunktionen 309

85 ENENO-Boxen mit FUP programmieren 310851 Uumlbertragungsfunktion MOVE 312852 Arithmetische Funktionen 312853 Mathematische Funktionen 313854 Konvertierungsfunktionen 313855 Schiebefunktionen 315856 Wortverknuumlpfungen 316

Inhaltsverzeichnis

14

86 Programmfluss bei FUP steuern 318861 Mit Statusbits im Funktionsplan arbeiten 318862 ENENO-Mechanismus bei FUP 320863 Sprungfunktionen 321864 Bausteinfunktionen 322865 Master Control Relay (MCR) 324

9 Anweisungsliste AWL 326

91 Einfuumlhrung 326911 Programmieren mit AWL allgemein 326912 Aufbau einer AWL-Anweisung 327

92 Binaumlre Verknuumlpfungen mit AWL programmieren 328921 Bearbeitung einer binaumlren Verknuumlpfung Verknuumlpfungsschritt 328922 Abfrage auf Signalzustand bdquo1ldquo und auf Signalzustand bdquo0ldquo 330923 Eine binaumlre Verknuumlpfung in Anweisungsliste programmieren 331924 UND-Funktion 332925 ODER-Funktion 332926 Exklusiv-ODER-Funktion 333927 Kombinierte binaumlre Verknuumlpfungen 333928 Verknuumlpfungsergebnis steuern 336

93 Speicherfunktionen mit AWL programmieren 337931 Zuweisung 337932 Setzen und Ruumlcksetzen 338933 Flankenauswertung 338

94 Zeit- und Zaumlhlfunktionen mit AWL programmieren 339941 SIMATIC-Zeitfunktionen 339942 SIMATIC-Zaumlhlfunktionen 341943 IEC-Zeitfunktionen 342944 IEC-Zaumlhlfunktionen 343

95 Digitalfunktionen mit AWL programmieren 344951 Uumlbertragungsfunktionen 344952 Vergleichsfunktionen 346953 Arithmetische Funktionen 349954 Mathematische Funktionen 352955 Konvertierungsfunktionen 353956 Schiebefunktionen 354957 Wortverknuumlpfungen 356

96 Programmfluss bei AWL steuern 358961 Mit Statusbits in der Anweisungsliste arbeiten 359962 ENENO-Mechanismus bei AWL 361963 Sprungfunktionen 363964 Sprungverteiler 364965 Schleifensprung 364966 Bausteinfunktionen 365967 Master Control Relay (MCR) 368

97 Weitere AWL-Funktionen 369

Inhaltsverzeichnis

15

971 Akkumulatorfunktionen 369972 Addieren von Konstanten zum Akkumulator 1 371973 Dekrementieren Inkrementieren 372974 Nullanweisungen 373

10 Structured Control Language SCL 374

101 Einfuumlhrung in die Programmierung mit SCL 3741011 Programmieren mit SCL allgemein 3741012 SCL-Anweisungen und Operatoren 376

102 Binaumlre Verknuumlpfungen mit SCL programmieren 3781021 Abfrage auf Signalzustand bdquo1ldquo und auf Signalzustand bdquo0ldquo 3781022 UND-Funktion 3791023 ODER-Funktion 3791024 Exklusiv-ODER-Funktion 3801025 Kombinierte binaumlre Verknuumlpfungen 3801026 Verknuumlpfungsergebnis negieren 381

103 Speicherfunktionen mit SCL programmieren 3821031 Wertzuweisung einer Binaumlrvariablen 3821032 Setzen und Ruumlcksetzen 3821033 Flankenauswertung 382

104 Zeit- und Zaumlhlfunktionen mit SCL programmieren 3831041 SIMATIC-Zeitfunktionen 3831042 SIMATIC-Zaumlhlfunktionen 3841043 IEC-Zeitfunktionen 3851044 IEC-Zaumlhlfunktionen 386

105 Digitalfunktionen mit SCL programmieren 3871051 Uumlbertragungsfunktion Wertzuweisung einer Digitalvariablen 3871052 Vergleichsfunktionen 3871053 Arithmetische Funktionen 3881054 Mathematische Funktionen 3891055 Konvertierungsfunktionen 3901056 Schiebefunktionen 3911057 Wortverknuumlpfungen logischer Ausdruck 392

106 Programmfluss mit SCL steuern 3931061 Mit der Variablen ENO arbeiten 3931062 ENENO-Mechanismus bei SCL 3951063 Kontrollanweisungen 3961064 Bausteinfunktionen 404

11 Ablaufsteuerung S7-GRAPH 408

111 Einfuumlhrung 4081111 Was ist eine Ablaufsteuerung 4081112 Eigenschaften einer Ablaufsteuerung 4091113 Programm fuumlr eine Ablaufsteuerung Mengengeruumlst 4101114 Betriebsarten 4101115 Vorgehen bei der Projektierung 411

Inhaltsverzeichnis

16

112 Elemente einer Ablaufsteuerung 4121121 Schritte und Transitionen 4121122 Spruumlnge in einer Ablaufsteuerung 4131123 Verzweigungen einer Ablaufkette 4131124 GRAPH-spezifische Variablen 4151125 Permanente Anweisungen 4161126 Schritt- und Transitionsfunktionen 4161127 Bearbeitung von Aktionen 420

113 Eine Ablaufsteuerung projektieren 4261131 Den GRAPH-Funktionsbaustein programmieren 4271132 Projektieren der Kettenstruktur 4281133 Schritte und Transitionen programmieren 4291134 Permanente Anweisungen programmieren 4311135 Bausteinuumlbergreifende Meldungen projektieren 4311136 Attribute des GRAPH-Funktionsbausteins 4321137 GRAPH-Funktionsbaustein anwenden 433

114 Ablaufsteuerung testen 4341141 GRAPH-Funktionsbaustein laden 4351142 Einstellungen zum Programmtest 4351143 Betriebsarten verwenden 4361144 Ablaufkette synchronisieren 4371145 Mit Programmstatus testen 438

12 Basisfunktionen 440

121 Binaumlre Verknuumlpfungen 4401211 Einfuumlhrung 4401212 Arbeiten mit Binaumlrsignalen 4411213 UND-Funktion Reihenschaltung 4441214 ODER-Funktion Parallelschaltung 4451215 Exklusiv-ODER-Funktion Antivalenzfunktion 4451216 Verknuumlpfungsergebnis negieren NOT-Kontakt 446

122 Speicherfunktionen 4481221 Einfuumlhrung 4481222 Standardspule Zuweisung 4481223 Einzelnes Setzen und Ruumlcksetzen 4481224 Vorrangiges Setzen und Ruumlcksetzen Speicherfunktion 4501225 Flankenauswertung 452

123 SIMATIC-Zeitfunktionen 4571231 Uumlbersicht 4571232 Programmieren einer Zeitfunktion 4601233 Zeitverhalten als Impuls 4621234 Zeitverhalten als verlaumlngerter Impuls 4641235 Zeitverhalten als Einschaltverzoumlgerung 4661236 Zeitverhalten als speichernde Einschaltverzoumlgerung 4681237 Zeitverhalten als Ausschaltverzoumlgerung 470

124 IEC-Zeitfunktionen 472

Inhaltsverzeichnis

17

1241 Einfuumlhrung 4721242 Impulsbildung TP 4731243 Einschaltverzoumlgerung TON 4741244 Ausschaltverzoumlgerung TOF 475

125 SIMATIC-Zaumlhlfunktionen 4761251 Uumlbersicht 4761252 Programmieren einer Zaumlhlfunktion 4781253 Funktionsweise einer Zaumlhlfunktion 4801254 Freigeben einer Zaumlhlfunktion bei AWL 482

126 IEC-Zaumlhlfunktionen 4831261 Einfuumlhrung 4831262 Vorwaumlrtszaumlhler CTU 4841263 Ruumlckwaumlrtszaumlhler CTD 4851264 VorwaumlrtsRuumlckwaumlrtszaumlhler CTUD 487

13 Digitalfunktionen 488

131 Allgemeines 488

132 Uumlbertragungsfunktionen 4891321 Allgemeines zur bdquoeinfachenldquo Uumlbertragungsfunktion 4891322 MOVE-Box bei KOP und FUP 4891323 Laden und Transferieren bei AWL 4911324 Wertzuweisungen bei SCL 4921325 Datenbereich im Arbeitsspeicher kopieren und fuumlllen 4941326 Datenbereich vom und zum Ladespeicher uumlbertragen 4971327 Speicherbereich steuern bei MCR-Abhaumlngigkeit 498

133 Vergleichsfunktionen 5011331 Ausfuumlhrung der bdquoeinfachenldquo Vergleichsfunktion 5011332 Vergleichsfunktion T_COMP 5031333 Vergleichsfunktion S_COMP 503

134 Arithmetische Funktionen 5041341 Allgemeine Funktionsbeschreibung 5041342 Datentypen und Statusbits bei einer arithmetischen Funktion 5051343 Ausfuumlhrung der arithmetischen Funktion 5071344 Arithmetische Funktionen fuumlr Datum und Uhrzeit 508

135 Mathematische Funktionen 5101351 Allgemeine Funktionsbeschreibung 5101352 Allgemeine Ausfuumlhrung einer mathematischen Funktion 5111353 Winkelfunktionen SIN COS TAN 5111354 Arcusfunktionen ASIN ACOS ATAN 5121355 Sonstige mathematische Funktionen 512

136 Konvertierungsfunktionen 5141361 Implizite Datentypwandlung 5141362 Datentypwandlung von Festpunktzahlen 5151363 Datentypwandlung von Gleitpunktzahlen 5181364 Datentypwandlung fuumlr DatumUhrzeit mit T_CONV 5211365 Datentypwandlung fuumlr Datentyp STRING mit S_CONV 522

Inhaltsverzeichnis

18

1366 Datentypwandlung von Hexadezimalzahlen 5241367 Skalieren und Deskalieren 5251368 Sonstige Konvertierungsfunktionen 526

137 Schiebefunktionen 5271371 Allgemeine Funktionsbeschreibung 5271372 Allgemeine Ausfuumlhrung einer Schiebefunktion 5291373 Rechts schieben 5301374 Links schieben 5301375 Rechts rotieren 5311376 Links rotieren 5321377 Rotieren durch das Anzeigenbit A1 (AWL) 532

138 Logikfunktionen 5321381 Wortverknuumlpfungen 5331382 Invertieren 5351383 Bit codieren und Bitnummer setzen 5361384 Auswahl- und Begrenzerfunktionen 537

139 Funktionen fuumlr Zeichenketten 540

14 Programmfluss-Steuerung 544

141 Statusbits 5451411 Beschreibung der Statusbits 5451412 Steuern der Statusbits 5471413 Verknuumlpfungsergebnis setzen und ruumlcksetzen 5481414 Binaumlrergebnis steuern 5491415 Auswertung der Statusbits 552

142 Sprungfunktionen 5531421 Einfuumlhrung 5531422 Absoluter Sprung 5531423 Bedingte Sprungfunktionen 5551424 Von den Statusbits abhaumlngige Sprungfunktionen 556

143 Bausteinende-Funktionen 5591431 Bausteinende-Funktion RET (KOP und FUP) 5601432 Bausteinende-Funktionen BEB BEA und BE (AWL) 5601433 RETURN-Anweisung (SCL) 561

144 Aufruf von Codebausteinen 5611441 Allgemeines zu Bausteinaufrufen 5611442 Aufruf einer Funktion (FC) 5621443 Aufruf eines Funktionsbausteins (FB) 5641444 Wechsel zu einem Baustein ohne Bausteinparameter 566

145 Datenbausteinfunktionen 5681451 Datenbaustein aufschlagen 5691452 Zusaumltzliche Datenbausteinfunktionen bei AWL 5701453 Datenbaustein erzeugen loumlschen und testen 571

146 Master Control Relay 5741461 Einfuumlhrung 5741462 MCR-Abhaumlngigkeit 575

Inhaltsverzeichnis

19

1463 MCR-Bereich und MCR-Zone 5751464 MCR-Bereich und MCR-Zone bei einem Bausteinwechsel 5781465 Anweisungen fuumlr das Master Control Relay 578

15 Online-Betrieb und Programmtest 580

151 Programmiergeraumlt an die PLC-Station anschlieszligen 5811511 Einstellungen am Programmiergeraumlt 5811512 Das Programmiergeraumlt mit der PLC-Station verbinden 5821513 Den Online-Betrieb einschalten 583

152 Projektdaten uumlbertragen 5841521 Die Projektdaten erstmalig laden 5841522 Die Projektdaten nachladen 5871523 Schutz des Anwenderprogramms 5881524 Online-Projekt ohne Offline-Projekt bearbeiten 5891525 Mit der Micro Memory Card arbeiten 590

153 Mit Bausteinen im Online-Betrieb arbeiten 5901531 Einfuumlhrung 5901532 Die Online-Version eines Bausteins bearbeiten 5911533 Einen Baustein in die CPU-Baugruppe laden 5921534 Den Arbeitsspeicher komprimieren 5941535 Bausteine aus der CPU zuruumlckladen 5941536 Mit Einstellwerten arbeiten 5961537 Bausteine vergleichen 598

154 Hardware-Diagnose 6011541 Status-Anzeigen an den Baugruppen 6011542 Diagnose-Informationen 6021543 Diagnosepuffer 6021544 Diagnose-Funktionen 6041545 Online-Tools 6041546 Weitere Diagnose-Informationen uumlber das Programmiergeraumlt 605

155 Anwenderprogramm testen 6061551 Aufrufumgebung definieren 6061552 Testen mit Programmstatus 6071553 Testen im Einzelschrittmodus 6111554 PLC-Variablen beobachten 6141555 Datenvariablen beobachten 6141556 Testen mit Beobachtungstabellen 6151557 Beobachten und Steuern im Betriebszustand STOP 6201558 Testen mit der Force-Tabelle 622

16 Dezentrale Peripherie 626

161 Einfuumlhrung Uumlbersicht 626

162 Dezentrales Peripheriesystem ET 200 6271621 ET 200M 6271622 ET 200MP 6281623 ET 200S 628

Inhaltsverzeichnis

20

1624 ET 200SP 6291625 ET 200iSP 6301626 ET 200pro 6311627 ET 200eco 631

163 PROFINET IO 6321631 Komponenten von PROFINET IO 6321632 Adressen bei PROFINET IO 6351633 Spezielle PROFINET-Konfigurationen 6381634 PROFINET IO projektieren 6391635 Kopplungsbaugruppen fuumlr PROFINET IO 6431636 Echtzeit-Kommunikation bei PROFINET 644

164 PROFIBUS DP 6491641 Komponenten von PROFIBUS DP 6491642 Adressen bei PROFIBUS DP 6521643 PROFIBUS DP projektieren 6561644 Kopplungsbaugruppen fuumlr PROFIBUS DP 6591645 Sonderfunktionen fuumlr PROFIBUS DP 661

165 Taktsynchronitaumlt 6621651 Einfuumlhrung 6621652 Taktsynchronitaumlt bei PROFINET 6631653 Taktsynchronitaumlt bei PROFIBUS 666

166 Systembausteine fuumlr dezentrale Peripherie 6691661 Systembausteine fuumlr PROFIBUS DP 6691662 Systembausteine fuumlr PROFIBUS DP und PROFINET IO 6731663 Systembausteine fuumlr PROFINET IO 676

167 AktorSensor-Interface 6791671 Komponenten von AktorSensor-Interface 6791672 Adressen am AktorSensor-Interface 6811673 AktorSensor-Interface mit CP 343-2P projektieren 6811674 Systemfunktionen fuumlr AS-i 683

17 Kommunikation 684

171 Uumlbersicht 684

172 S7-Basiskommunikation 6851721 Grundlagen der stationsinternen S7-Basiskommunikation 6851722 Stationsinterne S7-Basiskommunikation projektieren 6861723 Systembausteine fuumlr stationsinterne S7-Basiskommunikation 6861724 Grundlagen der stationsexternen S7-Basiskommunikation 6881725 Stationsexterne S7-Basiskommunikation projektieren 6891726 Systembausteine fuumlr stationsexterne S7-Basiskommunikation 689

173 S7-Kommunikation 6921731 Grundlagen 6921732 S7-Kommunikation projektieren 6931733 Einseitiger Datenaustausch 6951734 Zweiseitiger Datenaustausch 6961735 Uumlberwachungsfunktionen 699

Inhaltsverzeichnis

21

174 Open User Communication 700

1741 Grundlagen 700

1742 Verbindungen auf- und abbauen 702

1743 Datenuumlbertragung mit TCP native oder ISO-on-TCP 704

1744 Datenuumlbertragung mit UDP 707

18 Anhang 710

181 Arbeiten mit Quelldateien 710

1811 Allgemeines Vorgehen 710

1812 Einen Codebaustein in der Quelldatei programmieren 712

1813 Einen Datenbaustein in der Quelldatei programmieren 715

1814 Einen PLC-Datentyp in der Quelldatei programmieren 719

182 Projekte migrieren 720

183 Simulation mit dem TIA Portal 724

1831 Unterschiede zu einer realen CPU-Baugruppe 724

1832 Simulation starten und speichern 725

1833 Die Simulation bedienen 726

1834 Programm mit der Simulation testen 728

1835 Weitere Funktionen von PLCSIM 730

184 Webserver 731

1841 Webserver aktivieren 731

1842 Web-Informationen auslesen 732

1843 Standard-Webseiten 733

185 Ablage von lokalen Variablen 736

1851 Ablage in Global-Datenbausteinen 736

1852 Ablage in Instanz-Datenbausteinen 737

1853 Ablage in den temporaumlren Lokaldaten 738

1854 Datenablage der Bausteinparameter einer Funktion (FC) 739

1855 Datenablage der Bausteinparameter eines Funktionsbausteins (FB) 742

1856 Datenablage einer Lokalinstanz in einer Multiinstanz 744

Stichwortverzeichnis 746

1 Einfuumlhrung

22

1 Einfuumlhrung

11 Uumlbersicht Automatisierungssystem S7-300

SIMATIC S7-300 ist das modulare Kleinsteuersystem fuumlr den unteren und mittlerenLeistungsbereich (Bild 11) Verschiedene Varianten der Controller passen die Leis-tungsfaumlhigkeit an den jeweiligen Einsatzfall an Je nach Bedarf kann das Automati-sierungsgeraumlt mit Ein-Ausgabebaugruppen fuumlr Digital- und Analogsignale in biszu vier Baugruppentraumlgern mit je acht Baugruppen modular erweitert werden

Eine zusaumltzliche Erweiterung mit Ein-Ausgabebaugruppen bietet die dezentralePeripherie uumlber PROFIBUS oder PROFINET Mit besonderen Bauformen fuumlr erhoumlhtemechanische Anforderungen ausgestattet koumlnnen diese Baugruppen vor Ort ander Maschine oder Anlage installiert werden Die Steuerungsgeraumlte SIMATIC S7-300werden mit STEP 7 konfiguriert projektiert und programmiert Der Datenaus-tausch zwischen den Steuerungsgeraumlten der dezentralen Peripherie und dem Pro-grammiergeraumlt geschieht mit SIMATIC NET

Bild 11 Bestandteile des Automatisierungssystems SIMATIC S7-300

SIMATIC Controller steuern dieMaschine oder Anlage

Die dezentrale Peripherie erweitert dieSchnittstelle zur Maschine oder Anlage

SIMATIC NET

SIMATIC DP STEP 7Professional V12

SIMATIC S7-300

Die Vernetzung ermoumlglicht denDatenaustausch und den zentralenOnline-Zugriff

Mehrere Varianten der Controllererweitern das Einsatzspektrum

STEP 7 ist die Engineeringsoftware zumKonfigurieren undProgrammieren

Projektieren

Automatisierungssystem SIMATIC S7-300

11 Uumlbersicht Automatisierungssystem S7-300

23

111 Automatisierungsgeraumlt SIMATIC S7-300

Die wesentlichen Bestandteile eines S7-300-Automatisierungsgeraumlts sind im Bild12 dargestellt

Die CPU-Baugruppe enthaumllt das Betriebssystem und das AnwenderprogrammDas Anwenderprogramm steht spannungsausfallsicher auf der in der CPU-Bau-gruppe steckenden Micro Memory Card (MMC) Die Bearbeitung des Anwenderpro-gramms findet im Arbeitsspeicher in der CPU statt Die auf der CPU-Baugruppe vor-handenen Busschnittstellen stellen die Verbindung zu anderen Automatisierungs-geraumlten her

Die Verbindung zur gesteuerten Anlage uumlbernehmen SM-Baugruppen Diese Ein-und Ausgabebaugruppen gibt es fuumlr Digital- und Analogsignale

Die FM-Baugruppen sind signalvorverarbeitende bdquointelligenteldquo Peripheriebau-gruppen die vom Prozess kommende Signale unabhaumlngig von der CPU aufberei-ten verarbeiten und entweder wieder direkt an den Prozess zuruumlckgeben oder ander internen Schnittstelle der CPU zur Verfuumlgung stellen FM-Baugruppen uumlber-nehmen Funktionen die die CPU meist nicht schnell genug ausfuumlhren kann wiez B Impulse zaumlhlen positionieren oder Antriebe regeln

Die CP-Baugruppen gestatten einen Datenverkehr der die Moumlglichkeiten derStandard-Schnittstellen bezuumlglich Protokolle und Kommunikationsfunktionenuumlberschreitet

Die IM-Baugruppen verbinden bei einer Erweiterung den Zentralbaugruppentrauml-ger mit bis zu drei Erweiterungsbaugruppentraumlgern

Eine Stromversorgungsbaugruppe sorgt schlieszliglich fuumlr die benoumltigte Spannungim Automatisierungsgeraumlt

Bild 12 Bestandteile einer S7-300-Steuerung

Erweiterungsbaugruppentraumlger

Zentralbaugruppentraumlger SM-Baugruppen(Signal Modules)

Auf den Baugruppen-traumlgern sind steckbar

FM-Baugruppen(Function Modules)

CP-Baugruppen(CommunicationProcessors)

IM-Baugruppe(Interface Module)

IM-Baugruppe(Interface Module)

CPU-Baugruppe(Central Processor Unit)

PS-Baugruppe(Power Supply)

Baugruppen-traumlger (Rack)

Bestandteile einer S7-300-Steuerung

S

1 Einfuumlhrung

24

112 Uumlbersicht STEP 7 Professional V12

STEP 7 ist das zentrale Automatisierungswerkzeug fuumlr SIMATIC STEP 7 benoumltigtzum Betrieb eine Autorisierung (Lizenz) und laumluft auf den jeweils aktuellen Be-triebssystemen unter Microsoft Windows Die Projektierung eines S7-300-Control-lers geschieht mit zwei Ansichten der Portalansicht und der Projektansicht

Die Portalansicht ist aufgabenorientiert angelegt

Im Startportal oumlffnen Sie ein bestehendes Projekt erstellen ein neues Projekt odermigrieren ein Projekt Ein bdquoProjektldquo ist eine Datenstruktur die alle erforderlichenProgramme und Daten fuumlr Ihr Automatisierungsvorhaben enthaumllt Von hier aussind die wichtigsten Werkzeuge und Funktionen von STEP 7 uumlber weitere Portale er-reichbar (Bild 13)

b Im Portal Geraumlte amp Netze konfigurieren Sie die Automatisierungsgeraumlte d h Sieplatzieren die Baugruppen in einem Baugruppentraumlger und parametrieren sie

b Im Portal PLC-Programmierung erstellen Sie das Anwenderprogramm in Formvon einzelnen Abschnitten die man bdquoBausteineldquo nennt

b Das Portal Visualisierung bietet die wichtigsten Werkzeuge fuumlr die Projektierungund Simulation von HMI-Systemen mit SIMATIC WinCC an

Bild 13 Werkzeuge im Startportal von STEP 7 Professional V12

11 Uumlbersicht Automatisierungssystem S7-300

25

b Mit dem Portal Motion amp Technology fuumlgen Sie ein Technologie-Objekt fuumlr PIDControl ein und bearbeiten es

b Mit dem Portal Online amp Diagnose schalten Sie das Programmiergeraumlt online aneine CPU-Baugruppe Sie koumlnnen die Betriebsarten der CPU steuern und das An-wenderprogramm uumlbertragen und testen

Die Projektansicht bietet eine objektorientierte Ansicht mit mehreren Fensternderen Inhalt je nach ausgefuumlhrter Taumltigkeit wechselt In der Geraumltekonfigurationsteht der Arbeitsbereich mit dem zu konfigurierenden Geraumlt im Mittelpunkt In derGeraumltesicht wird der Baugruppentraumlger mit den bereits platzierten Baugruppen ge-zeigt (Bild 14) Ein weiteres Fenster ndash das Inspektorfenster ndash enthaumllt die Eigen-schaften der selektierten Baugruppe das Aufgaben-Fenster (Task Card) gibt Unter-stuumltzung durch den Hardware-Katalog mit den zur Verfuumlgung stehenden Baugrup-pen Die Netzsicht gestattet die Vernetzung zwischen PLC- und HMI-Stationen

Bei der PLC-Programmierung bearbeiten Sie im Arbeitsbereich den ausgewaumlhltenBaustein Wiederum sehen Sie im Inspektorfenster die Eigenschaften des markier-ten Objekts und koumlnnen diese einstellen Das Aufgabenfenster enthaumllt diesmal denProgrammelemente-Katalog mit den zur Verfuumlgung stehenden Programmelemen-ten und Anweisungen Aumlhnliches gilt fuumlr die Bearbeitung der PLC-Variablen oderbeim Online-Programmtest durch Beobachtungstabellen

Bild 14 Beispiel fuumlr die Projektansicht Arbeitsbereich der Geraumltekonfiguration

1 Einfuumlhrung

26

Und stets haben Sie die Projektnavigation im Blickfeld Sie enthaumllt alle Objekte desSTEP-7-Projekts So koumlnnen Sie jederzeit ein Objekt beispielsweise einen Pro-grammbaustein oder eine Beobachtungstabelle auswaumlhlen und dieses Objekt mitden entsprechenden Editoren die beim Oumlffnen des Objekts automatisch startenbearbeiten

113 Fuumlnf Programmiersprachen

Als Programmiersprache fuumlr das Anwenderprogramm koumlnnen Sie zwischen Kon-taktplan (KOP) Funktionsplan (FUP) Anweisungsliste (AWL) Structured ControlLanguage (SCL) und Ablaufsteuerung (GRAPH) waumlhlen

Mit Kontaktplan programmieren Sie die Steuerungsaufgabe angelehnt an denStromlaufplan Die Verknuumlpfung der binaumlren Signalzustaumlnde wird durch die seriel-le oder parallele Anordnung von Kontakten und Spulen dargestellt (Bild 15) Kom-plexe Funktionen wie beispielsweise die arithmetischen Funktionen werden mitBoxen dargestellt die Sie wie Kontakte oder Spulen im Kontaktplan anordnen

Mit Funktionsplan programmieren Sie die Steuerungsaufgabe angelehnt an elektro-nische Schaltkreissysteme Binaumlre Verknuumlpfungen werden durch Verschaltung vonUND- und ODER-Funktionen realisiert und mit Speicher-Boxen abgeschlossen (Bild16) Komplexe Boxen uumlbernehmen die Verknuumlpfung digitaler Variablen beispiels-weise bei den arithmetischen Funktionen

Bild 15 Beispiel fuumlr die Darstellung in Kontaktplan

Bild 16 Beispiel fuumlr die Darstellung in Funktionsplan

11 Uumlbersicht Automatisierungssystem S7-300

27

Mit Anweisungsliste programmieren Sie die Steuerungsaufgabe durch eine Folgevon Anweisungen Jede AWL-Anweisung enthaumllt eine Vorschrift was zu tun ist undeventuell einen Operand mit dem die Operation ausgefuumlhrt wird AWL ist gleicher-maszligen geeignet fuumlr binaumlre und digitale Verknuumlpfungen wie fuumlr die Programmierungkomplexer Steuerungsaufgaben (Bild 17)

Structured Control Language eignet sich besonders fuumlr die Programmierung vonkomplexen Algorithmen oder fuumlr Aufgabenstellungen aus dem Bereich der Datenver-waltung Das Programm besteht aus SCL-Anweisungen die beispielsweise Wertzuwei-sungen Vergleiche oder Kontrollanweisungen sein koumlnnen (Bild 18)

Mit GRAPH programmieren Sie eine Steuerungsaufgabe als Ablaufsteuerung in derdie sequenzielle Folge von Aktionen vorherrscht Die einzelnen Schritte und Verzwei-gungen werden durch Weiterschaltbedingungen freigegeben die mit KOP oder FUPprogrammiert werden koumlnnen (Bild 19)

114 Bearbeitung des Anwenderprogramms

Nach dem Einschalten der Versorgungsspannung pruumlft der Steuerungsprozessordie Konsistenz der Hardware und parametriert die Baugruppen Anschlieszligend wirdeinmalig ndash falls vorhanden ndash ein Anlaufprogramm bearbeitet Das Anlaufpro-

Bild 17 Beispiel fuumlr AWL-Anweisungen

Bild 18 Beispiel fuumlr SCL-Anweisungen

1 Einfuumlhrung

28

gramm gehoumlrt zum Anwenderprogramm das Sie programmieren Im Anlaufpro-gramm koumlnnen beispielsweise Baugruppen initialisiert werden

Das Anwenderprogramm ist in der Regel in einzelne Abschnitte ndash bdquoBausteineldquo ge-nannt ndash eingeteilt Die Organisationsbausteine (OB) sind die Schnittstelle zwischenBetriebssystem und Anwenderprogramm Das Betriebssystem ruft zu bestimmtenEreignissen einen Organisationsbaustein auf in dem dann das Anwenderpro-gramm bearbeitet wird (Bild 110)

Bild 19 Beispiel fuumlr eine GRAPH-Ablaufkette und eine Schrittprojektierung

Bild 110 Bearbeitung des Anwenderprogramms

Anlauf-programm

Alarm- undFehlerprogramm

Haupt-programm

Bearbeitung des Anwenderprogramms

Einschalten

Aktualisierung derEin- und Ausgaumlnge

Unterbrechung(Alarm oder Fehler)

BetriebszustandANLAUF

Betriebssystem Anwenderprogramm

BetriebszustandRUN

OB

OB

FBFC

FBFC

FBFC

FBFC

FBFC

FBFC

OB

Unterbrechung

11 Uumlbersicht Automatisierungssystem S7-300

29

Zur Strukturierung das Programms stehen Funktionsbausteine (FB) und Funktio-nen (FC) zur Verfuumlgung Funktionsbausteine haben einen Speicher in dem lokaleVariablen dauerhaft abgelegt sind Funktionen haben diesen Speicher nicht

Fuumlr den Aufruf (das Starten der Bearbeitung) von Funktionsbausteinen und Funk-tionen gibt es Programmanweisungen Jeder Bausteinaufruf kann mit Ein- undAusgaumlngen ndash bdquoBausteinparameterldquo genannt ndash versehen werden Beim Aufruf koumln-nen Variablen uumlbergeben werden mit denen das Programm im Baustein arbeitensoll Auf diese Weise kann ein Baustein mit einer gewissen Funktion (z B der Addi-tion von drei Variablen) mehrfach mit unterschiedlichen Parametersaumltzen (z B fuumlrunterschiedliche Berechnungen) aufgerufen werden (Bild 111)

Die Daten des Anwenderprogramms werden in Datenbausteinen (DB) abgelegtInstanz-Datenbausteine sind einem Aufruf eines Funktionsbausteins fest zugeord-net und bilden den Variablenspeicher des Funktionsbausteins Global-Datenbau-steine enthalten Daten die keinem Baustein zugeordnet sind

Nach einem Anlauf aktualisiert der Steuerungsprozessor die Ein- und Ausgangs-signale in den Prozessabbildern und ruft den Organisationsbaustein OB 1 auf Hiersteht das Hauptprogramm Auch im Hauptprogramm ist eine Strukturierung moumlg-lich und zu empfehlen Ist das Hauptprogramm bearbeitet wechselt der Steue-rungsprozessor zuruumlck ins Betriebssystem haumllt beispielsweise die Kommunikati-on mit dem Programmiergeraumlt aufrecht aktualisiert die Ein- und Ausgangssignaleund beginnt dann erneut mit der Bearbeitung des Hauptprogramms

Die zyklische Programmbearbeitung ist ein Merkmal speicherprogrammierbarerSteuerungen Das Anwenderprogramm wird auch dann bearbeitet wenn bdquovon au-szligenldquo keine Aktionen gefordert sind wenn also z B die gesteuerte Maschine stehtDies hat Vorteile bei der Programmierung Sie programmieren beispielsweise den

Bild 111 Beispiel fuumlr zwei Aufrufe eines Bausteins mit jeweils verschiedenen Variablen

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

Inhaltsverzeichnis

8

Inhaltsverzeichnis

1 Einfuumlhrung 22

11 Uumlbersicht Automatisierungssystem S7-300 22111 Automatisierungsgeraumlt SIMATIC S7-300 23112 Uumlbersicht STEP 7 Professional V12 24113 Fuumlnf Programmiersprachen 26114 Bearbeitung des Anwenderprogramms 27115 Datenhaltung im SIMATIC-Automatisierungssystem 30

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

13 Ein SIMATIC-Projekt bearbeiten 37131 Strukturierte Darstellung der Projektdaten 38132 Projektdaten und Editoren fuumlr eine PLC-Station 38133 Ein Projekt erstellen und bearbeiten 42134 Mit Referenzprojekten arbeiten 45135 Bibliotheken anlegen und bearbeiten 46

2 Automatisierungssystem SIMATIC S7-300 47

21 Komponenten einer S7-300-Station 47

22 CPU-Baugruppen S7-300 49221 CPU-Varianten 49222 Bedien- und Anzeigeelemente 51223 SIMATIC Micro Memory Card 52224 Speicherbereiche in einer S7-300-Station 52225 Busschnittstellen 54

23 Signalbaugruppen 56231 Digitaleingabebaugruppen 56232 Digitalausgabebaugruppen 57233 Digitalein-ausgabebaugruppen 57234 Analogeingabebaugruppen 58235 Analogausgabebaugruppen 58236 Analogein-ausgabebaugruppen 59

24 Funktionsbaugruppen 60

25 Kommunikationsbaugruppen 61

Inhaltsverzeichnis

9

26 Sonstige Baugruppen 63261 Anschaltungsbaugruppen (IM) 63262 Stromversorgungsbaugruppen (PS) 63263 Simulatorbaugruppe 64264 Platzhalterbaugruppe 64

27 SIPLUS S7-300 65

3 Geraumltekonfiguration 66

31 Einfuumlhrung 66

32 Eine Station konfigurieren 69321 Eine PLC-Station hinzufuumlgen 69322 Eine Baugruppe hinzufuumlgen 69323 Einen Erweiterungsbaugruppentraumlger hinzufuumlgen 70

33 Baugruppen parametrieren 71331 Die CPU-Eigenschaften parametrieren 71332 Baugruppen adressieren 74333 Signalbaugruppen parametrieren 77

34 Netz projektieren 78341 Einfuumlhrung Uumlbersicht 78342 Stationen vernetzen 79343 Teilnehmeradressen in einem Subnetz 80344 Verbindungen 81345 Ein MPI-Subnetz projektieren 84346 Ein PROFIBUS-Subnetz projektieren 85347 Ein PROFINET-Subnetz projektieren 87348 Ein AS-i-Subnetz projektieren 90

4 Variablen Adressierung und Datentypen 92

41 Operanden und Variablen 92411 Einfuumlhrung Uumlbersicht 92412 Operandenbereiche Eingaumlnge und Ausgaumlnge 93413 Operandenbereich Merker 96414 Operandenbereich Daten 97415 Operandenbereich temporaumlre Lokaldaten 97

42 Adressierung von Operanden und Variablen 98421 Signalweg 98422 Absolute Adressierung von Variablen 99423 Symbolische Adressierung von Variablen 104424 Adressierung von Konstanten 105

43 Indirekte Adressierung 106431 Speicherindirekte Adressierung mit AWL 107432 Registerindirekte Adressierung mit AWL 110433 Arbeiten mit den Adressregistern bei AWL 111434 Direkter Zugriff auf komplexe Lokalvariablen mit AWL 119435 Indirekte Adressierung bei SCL 121

Inhaltsverzeichnis

10

44 Elementare Datentypen 123441 Einfuumlhrung 123442 Bitfolge-Datentypen BOOL BYTE WORD und DWORD 126443 BCD-Zahlen BCD16 und BCD32 126444 Festpunkt-Datentypen mit Vorzeichen INT und DINT 128445 Gleitpunkt-Datentyp REAL 128446 Datentyp CHAR 129447 Datentypen fuumlr Zeitdauern und Zeitpunkte 130

45 Zusammengesetzte Datentypen 132451 Zeichenkette STRING 132452 Datentyp ARRAY 134453 Datentyp STRUCT 136

46 Parametertypen und Zeiger 138461 Parametertypen 138462 Zeiger 139463 bdquoVariablerldquo ANY-Zeiger bei AWL 143464 bdquoVariablerldquo ANY-Zeiger bei SCL 143

47 PLC-Datentypen 146

48 Startinformation 147

5 Programmbearbeitung 148

51 Betriebszustaumlnde der CPU-Baugruppe 148511 Betriebszustand STOP 149512 Betriebszustand ANLAUF 150513 Betriebszustand RUN 152514 Betriebszustand HALT 152515 CPU urloumlschen 153516 Auslieferungszustand wiederherstellen 153517 Remanenzverhalten von Operanden 154

52 Anwenderprogramm erstellen 154521 Programmentwurf 154522 Programmbearbeitung 158523 Bausteinarten 160524 Bausteineigenschaften bearbeiten 161525 Bausteinschnittstelle 165526 Beispiel zur Verwendung von Bausteinparametern 167

53 Bausteine aufrufen 169531 Allgemeines zu Aufrufen von Codebausteinen 169532 Aufruf von Funktionen (FC) 169533 Aufruf von Funktionsbausteinen (FB) 171534 bdquoWeiterreichenldquo von Bausteinparametern 174

54 Anlaufprogramm 175541 Organisationsbaustein OB 100 175542 Baugruppenadresse ermitteln 176543 Baugruppen parametrieren 178

Inhaltsverzeichnis

11

55 Hauptprogramm 181551 Organisationsbaustein OB 1 181552 Prozessabbild-Aktualisierung 182553 Zykluszeit und Reaktionszeit 183554 Programm anhalten stoppen und schuumltzen 185555 Uhrzeit 187556 Systemzeit lesen 189557 Betriebsstundenzaumlhler 190

56 Alarmbearbeitung 191561 Einfuumlhrung zur Alarmbearbeitung 191562 Prioritaumltsklassen 192563 Uhrzeitalarm Organisationsbaustein OB 10 192564 Verzoumlgerungsalarme Organisationsbausteine OB 20 und OB 21 196565 Weckalarme Organisationsbausteine OB 32 bis OB 35 198566 Prozessalarm Organisationsbaustein OB 40 200567 DPV1-Alarme Organisationsbausteine OB 55 bis OB 57 202568 Taktsynchronalarm Organisationsbaustein OB 61 202569 Alarmzusatzinformation lesen 205

57 Fehlerbehandlung 206571 Fehlerursachen und Fehlerreaktion 206572 Synchronfehler 206573 Synchronfehlerbearbeitung sperren und freigeben 208574 Ersatzwert eintragen 211575 Asynchronfehler 212576 Alarme und Asynchronfehler sperren verzoumlgern und freigeben 215

58 Diagnose 217581 Diagnosealarm Organisationsbaustein OB 82 217582 Systemzustandsliste lesen 219583 Startinformation lesen 220584 Anwender-Diagnoseereignis in den Diagnosepuffer schreiben 221585 Systemdiagnose mit Report System Errors 222

6 Programmeditor 225

61 Einfuumlhrung 225

62 PLC-Variablentabelle 226621 Mit PLC-Variablentabellen arbeiten 226622 PLC-Variablen definieren und bearbeiten 226623 PLC-Variablen vergleichen 228624 PLC-Variablentabelle exportieren und importieren 229625 Konstantentabellen 230

63 Einen Codebaustein programmieren 230631 Einen neuen Codebaustein anlegen 230632 Arbeitsbereich des Programmeditors fuumlr Codebausteine 232633 Bausteineigenschaften fuumlr Codebausteine festlegen 233634 Bausteinschnittstelle programmieren 234635 Steuerungsfunktion programmieren 236

Inhaltsverzeichnis

12

636 Variablen editieren 240637 Mit Programmkommentaren arbeiten 242

64 Einen Datenbaustein programmieren 244641 Einen neuen Datenbaustein anlegen 244642 Arbeitsbereich des Programmeditors fuumlr Datenbausteine 244643 Bausteineigenschaften fuumlr Datenbausteine festlegen 246644 Datenvariablen deklarieren 246645 Datenvariablen in Globaldatenbausteinen eingeben 247

65 Bausteine uumlbersetzen 248651 Uumlbersetzung starten 248652 SCL-Bausteine uumlbersetzen 249653 Fehler nach der Uumlbersetzung beheben 249

66 Programminformationen 250661 Querverweisliste 251662 Belegungsplan 253663 Aufrufstruktur 254664 Abhaumlngigkeitsstruktur 255665 Konsistenzpruumlfung 255666 Speicherauslastung der CPU 256

7 Kontaktplan KOP 258

71 Einfuumlhrung 258711 Programmieren mit KOP allgemein 258712 Programmelemente des Kontaktplans 260

72 Binaumlre Verknuumlpfungen mit KOP programmieren 260721 Schlieszligerkontakt und Oumlffnerkontakt 260722 Reihen- und Parallelschaltung von Kontakten 262723 T-Abzweig offener Parallelzweig 263724 Verknuumlpfungsergebnis negieren 264725 Flankenauswertung einer Binaumlrvariablen 265726 Vergleich-Kontakte 265

73 Speicherfunktionen mit KOP programmieren 266731 Einfache Spule Zuweisung 266732 Setzen- und Ruumlcksetzen-Spule 268733 Speicherndes Verhalten durch Selbsthaltung 268734 Spulen mit Zeitverhalten 269735 Spulen mit Zaumlhlerverhalten 270

74 Q-Boxen mit KOP programmieren 271741 Speicher-Boxen 272742 Flankenauswertung des Stromflusses 272743 SIMATIC-Zeitfunktionen 273744 SIMATIC-Zaumlhlfunktionen 274745 IEC-Zeitfunktionen 274746 IEC-Zaumlhlfunktionen 276

75 ENENO-Boxen mit KOP programmieren 277751 Uumlbertragungsfunktion MOVE 277

Inhaltsverzeichnis

13

752 Arithmetische Funktionen 278753 Mathematische Funktionen 279754 Konvertierungsfunktionen 280755 Schiebefunktionen 281756 Wortverknuumlpfungen 282

76 Programmfluss bei KOP steuern 284761 Mit Statusbits im Kontaktplan arbeiten 284762 ENENO-Mechanismus bei KOP 286763 Sprungfunktionen 287764 Bausteinfunktionen 288765 Master Control Relay (MCR) 290

8 Funktionsplan FUP 292

81 Einfuumlhrung 292811 Programmieren mit FUP allgemein 292812 Programmelemente des Funktionsplans 294

82 Binaumlre Verknuumlpfungen mit FUP programmieren 295821 Abfrage auf Signalzustand bdquo1ldquo und auf Signalzustand bdquo0ldquo 295822 Eine binaumlre Verknuumlpfung im Funktionsplan programmieren 296823 UND-Funktion 297824 ODER-Funktion 297825 Exklusiv-ODER-Funktion 297826 Kombinierte binaumlre Verknuumlpfungen Verknuumlpfungsergebnis negieren 298827 T-Abzweig 299828 Flankenauswertung von Binaumlrvariablen 299829 Vergleichsfunktionen 300

83 Standard-Boxen mit FUP programmieren 301831 Zuweisung-Box 302832 Setzen- und Ruumlcksetzen-Box 302833 Standard-Boxen mit Zeitverhalten 303834 Standard-Boxen mit Zaumlhlerverhalten 304

84 Q-Boxen mit FUP programmieren 305841 Speicher-Boxen 305842 Flankenauswertung des Verknuumlpfungsergebnisses 307843 SIMATIC-Zeitfunktionen 308844 SIMATIC-Zaumlhlfunktionen 308845 IEC-Zeitfunktionen 309846 IEC-Zaumlhlfunktionen 309

85 ENENO-Boxen mit FUP programmieren 310851 Uumlbertragungsfunktion MOVE 312852 Arithmetische Funktionen 312853 Mathematische Funktionen 313854 Konvertierungsfunktionen 313855 Schiebefunktionen 315856 Wortverknuumlpfungen 316

Inhaltsverzeichnis

14

86 Programmfluss bei FUP steuern 318861 Mit Statusbits im Funktionsplan arbeiten 318862 ENENO-Mechanismus bei FUP 320863 Sprungfunktionen 321864 Bausteinfunktionen 322865 Master Control Relay (MCR) 324

9 Anweisungsliste AWL 326

91 Einfuumlhrung 326911 Programmieren mit AWL allgemein 326912 Aufbau einer AWL-Anweisung 327

92 Binaumlre Verknuumlpfungen mit AWL programmieren 328921 Bearbeitung einer binaumlren Verknuumlpfung Verknuumlpfungsschritt 328922 Abfrage auf Signalzustand bdquo1ldquo und auf Signalzustand bdquo0ldquo 330923 Eine binaumlre Verknuumlpfung in Anweisungsliste programmieren 331924 UND-Funktion 332925 ODER-Funktion 332926 Exklusiv-ODER-Funktion 333927 Kombinierte binaumlre Verknuumlpfungen 333928 Verknuumlpfungsergebnis steuern 336

93 Speicherfunktionen mit AWL programmieren 337931 Zuweisung 337932 Setzen und Ruumlcksetzen 338933 Flankenauswertung 338

94 Zeit- und Zaumlhlfunktionen mit AWL programmieren 339941 SIMATIC-Zeitfunktionen 339942 SIMATIC-Zaumlhlfunktionen 341943 IEC-Zeitfunktionen 342944 IEC-Zaumlhlfunktionen 343

95 Digitalfunktionen mit AWL programmieren 344951 Uumlbertragungsfunktionen 344952 Vergleichsfunktionen 346953 Arithmetische Funktionen 349954 Mathematische Funktionen 352955 Konvertierungsfunktionen 353956 Schiebefunktionen 354957 Wortverknuumlpfungen 356

96 Programmfluss bei AWL steuern 358961 Mit Statusbits in der Anweisungsliste arbeiten 359962 ENENO-Mechanismus bei AWL 361963 Sprungfunktionen 363964 Sprungverteiler 364965 Schleifensprung 364966 Bausteinfunktionen 365967 Master Control Relay (MCR) 368

97 Weitere AWL-Funktionen 369

Inhaltsverzeichnis

15

971 Akkumulatorfunktionen 369972 Addieren von Konstanten zum Akkumulator 1 371973 Dekrementieren Inkrementieren 372974 Nullanweisungen 373

10 Structured Control Language SCL 374

101 Einfuumlhrung in die Programmierung mit SCL 3741011 Programmieren mit SCL allgemein 3741012 SCL-Anweisungen und Operatoren 376

102 Binaumlre Verknuumlpfungen mit SCL programmieren 3781021 Abfrage auf Signalzustand bdquo1ldquo und auf Signalzustand bdquo0ldquo 3781022 UND-Funktion 3791023 ODER-Funktion 3791024 Exklusiv-ODER-Funktion 3801025 Kombinierte binaumlre Verknuumlpfungen 3801026 Verknuumlpfungsergebnis negieren 381

103 Speicherfunktionen mit SCL programmieren 3821031 Wertzuweisung einer Binaumlrvariablen 3821032 Setzen und Ruumlcksetzen 3821033 Flankenauswertung 382

104 Zeit- und Zaumlhlfunktionen mit SCL programmieren 3831041 SIMATIC-Zeitfunktionen 3831042 SIMATIC-Zaumlhlfunktionen 3841043 IEC-Zeitfunktionen 3851044 IEC-Zaumlhlfunktionen 386

105 Digitalfunktionen mit SCL programmieren 3871051 Uumlbertragungsfunktion Wertzuweisung einer Digitalvariablen 3871052 Vergleichsfunktionen 3871053 Arithmetische Funktionen 3881054 Mathematische Funktionen 3891055 Konvertierungsfunktionen 3901056 Schiebefunktionen 3911057 Wortverknuumlpfungen logischer Ausdruck 392

106 Programmfluss mit SCL steuern 3931061 Mit der Variablen ENO arbeiten 3931062 ENENO-Mechanismus bei SCL 3951063 Kontrollanweisungen 3961064 Bausteinfunktionen 404

11 Ablaufsteuerung S7-GRAPH 408

111 Einfuumlhrung 4081111 Was ist eine Ablaufsteuerung 4081112 Eigenschaften einer Ablaufsteuerung 4091113 Programm fuumlr eine Ablaufsteuerung Mengengeruumlst 4101114 Betriebsarten 4101115 Vorgehen bei der Projektierung 411

Inhaltsverzeichnis

16

112 Elemente einer Ablaufsteuerung 4121121 Schritte und Transitionen 4121122 Spruumlnge in einer Ablaufsteuerung 4131123 Verzweigungen einer Ablaufkette 4131124 GRAPH-spezifische Variablen 4151125 Permanente Anweisungen 4161126 Schritt- und Transitionsfunktionen 4161127 Bearbeitung von Aktionen 420

113 Eine Ablaufsteuerung projektieren 4261131 Den GRAPH-Funktionsbaustein programmieren 4271132 Projektieren der Kettenstruktur 4281133 Schritte und Transitionen programmieren 4291134 Permanente Anweisungen programmieren 4311135 Bausteinuumlbergreifende Meldungen projektieren 4311136 Attribute des GRAPH-Funktionsbausteins 4321137 GRAPH-Funktionsbaustein anwenden 433

114 Ablaufsteuerung testen 4341141 GRAPH-Funktionsbaustein laden 4351142 Einstellungen zum Programmtest 4351143 Betriebsarten verwenden 4361144 Ablaufkette synchronisieren 4371145 Mit Programmstatus testen 438

12 Basisfunktionen 440

121 Binaumlre Verknuumlpfungen 4401211 Einfuumlhrung 4401212 Arbeiten mit Binaumlrsignalen 4411213 UND-Funktion Reihenschaltung 4441214 ODER-Funktion Parallelschaltung 4451215 Exklusiv-ODER-Funktion Antivalenzfunktion 4451216 Verknuumlpfungsergebnis negieren NOT-Kontakt 446

122 Speicherfunktionen 4481221 Einfuumlhrung 4481222 Standardspule Zuweisung 4481223 Einzelnes Setzen und Ruumlcksetzen 4481224 Vorrangiges Setzen und Ruumlcksetzen Speicherfunktion 4501225 Flankenauswertung 452

123 SIMATIC-Zeitfunktionen 4571231 Uumlbersicht 4571232 Programmieren einer Zeitfunktion 4601233 Zeitverhalten als Impuls 4621234 Zeitverhalten als verlaumlngerter Impuls 4641235 Zeitverhalten als Einschaltverzoumlgerung 4661236 Zeitverhalten als speichernde Einschaltverzoumlgerung 4681237 Zeitverhalten als Ausschaltverzoumlgerung 470

124 IEC-Zeitfunktionen 472

Inhaltsverzeichnis

17

1241 Einfuumlhrung 4721242 Impulsbildung TP 4731243 Einschaltverzoumlgerung TON 4741244 Ausschaltverzoumlgerung TOF 475

125 SIMATIC-Zaumlhlfunktionen 4761251 Uumlbersicht 4761252 Programmieren einer Zaumlhlfunktion 4781253 Funktionsweise einer Zaumlhlfunktion 4801254 Freigeben einer Zaumlhlfunktion bei AWL 482

126 IEC-Zaumlhlfunktionen 4831261 Einfuumlhrung 4831262 Vorwaumlrtszaumlhler CTU 4841263 Ruumlckwaumlrtszaumlhler CTD 4851264 VorwaumlrtsRuumlckwaumlrtszaumlhler CTUD 487

13 Digitalfunktionen 488

131 Allgemeines 488

132 Uumlbertragungsfunktionen 4891321 Allgemeines zur bdquoeinfachenldquo Uumlbertragungsfunktion 4891322 MOVE-Box bei KOP und FUP 4891323 Laden und Transferieren bei AWL 4911324 Wertzuweisungen bei SCL 4921325 Datenbereich im Arbeitsspeicher kopieren und fuumlllen 4941326 Datenbereich vom und zum Ladespeicher uumlbertragen 4971327 Speicherbereich steuern bei MCR-Abhaumlngigkeit 498

133 Vergleichsfunktionen 5011331 Ausfuumlhrung der bdquoeinfachenldquo Vergleichsfunktion 5011332 Vergleichsfunktion T_COMP 5031333 Vergleichsfunktion S_COMP 503

134 Arithmetische Funktionen 5041341 Allgemeine Funktionsbeschreibung 5041342 Datentypen und Statusbits bei einer arithmetischen Funktion 5051343 Ausfuumlhrung der arithmetischen Funktion 5071344 Arithmetische Funktionen fuumlr Datum und Uhrzeit 508

135 Mathematische Funktionen 5101351 Allgemeine Funktionsbeschreibung 5101352 Allgemeine Ausfuumlhrung einer mathematischen Funktion 5111353 Winkelfunktionen SIN COS TAN 5111354 Arcusfunktionen ASIN ACOS ATAN 5121355 Sonstige mathematische Funktionen 512

136 Konvertierungsfunktionen 5141361 Implizite Datentypwandlung 5141362 Datentypwandlung von Festpunktzahlen 5151363 Datentypwandlung von Gleitpunktzahlen 5181364 Datentypwandlung fuumlr DatumUhrzeit mit T_CONV 5211365 Datentypwandlung fuumlr Datentyp STRING mit S_CONV 522

Inhaltsverzeichnis

18

1366 Datentypwandlung von Hexadezimalzahlen 5241367 Skalieren und Deskalieren 5251368 Sonstige Konvertierungsfunktionen 526

137 Schiebefunktionen 5271371 Allgemeine Funktionsbeschreibung 5271372 Allgemeine Ausfuumlhrung einer Schiebefunktion 5291373 Rechts schieben 5301374 Links schieben 5301375 Rechts rotieren 5311376 Links rotieren 5321377 Rotieren durch das Anzeigenbit A1 (AWL) 532

138 Logikfunktionen 5321381 Wortverknuumlpfungen 5331382 Invertieren 5351383 Bit codieren und Bitnummer setzen 5361384 Auswahl- und Begrenzerfunktionen 537

139 Funktionen fuumlr Zeichenketten 540

14 Programmfluss-Steuerung 544

141 Statusbits 5451411 Beschreibung der Statusbits 5451412 Steuern der Statusbits 5471413 Verknuumlpfungsergebnis setzen und ruumlcksetzen 5481414 Binaumlrergebnis steuern 5491415 Auswertung der Statusbits 552

142 Sprungfunktionen 5531421 Einfuumlhrung 5531422 Absoluter Sprung 5531423 Bedingte Sprungfunktionen 5551424 Von den Statusbits abhaumlngige Sprungfunktionen 556

143 Bausteinende-Funktionen 5591431 Bausteinende-Funktion RET (KOP und FUP) 5601432 Bausteinende-Funktionen BEB BEA und BE (AWL) 5601433 RETURN-Anweisung (SCL) 561

144 Aufruf von Codebausteinen 5611441 Allgemeines zu Bausteinaufrufen 5611442 Aufruf einer Funktion (FC) 5621443 Aufruf eines Funktionsbausteins (FB) 5641444 Wechsel zu einem Baustein ohne Bausteinparameter 566

145 Datenbausteinfunktionen 5681451 Datenbaustein aufschlagen 5691452 Zusaumltzliche Datenbausteinfunktionen bei AWL 5701453 Datenbaustein erzeugen loumlschen und testen 571

146 Master Control Relay 5741461 Einfuumlhrung 5741462 MCR-Abhaumlngigkeit 575

Inhaltsverzeichnis

19

1463 MCR-Bereich und MCR-Zone 5751464 MCR-Bereich und MCR-Zone bei einem Bausteinwechsel 5781465 Anweisungen fuumlr das Master Control Relay 578

15 Online-Betrieb und Programmtest 580

151 Programmiergeraumlt an die PLC-Station anschlieszligen 5811511 Einstellungen am Programmiergeraumlt 5811512 Das Programmiergeraumlt mit der PLC-Station verbinden 5821513 Den Online-Betrieb einschalten 583

152 Projektdaten uumlbertragen 5841521 Die Projektdaten erstmalig laden 5841522 Die Projektdaten nachladen 5871523 Schutz des Anwenderprogramms 5881524 Online-Projekt ohne Offline-Projekt bearbeiten 5891525 Mit der Micro Memory Card arbeiten 590

153 Mit Bausteinen im Online-Betrieb arbeiten 5901531 Einfuumlhrung 5901532 Die Online-Version eines Bausteins bearbeiten 5911533 Einen Baustein in die CPU-Baugruppe laden 5921534 Den Arbeitsspeicher komprimieren 5941535 Bausteine aus der CPU zuruumlckladen 5941536 Mit Einstellwerten arbeiten 5961537 Bausteine vergleichen 598

154 Hardware-Diagnose 6011541 Status-Anzeigen an den Baugruppen 6011542 Diagnose-Informationen 6021543 Diagnosepuffer 6021544 Diagnose-Funktionen 6041545 Online-Tools 6041546 Weitere Diagnose-Informationen uumlber das Programmiergeraumlt 605

155 Anwenderprogramm testen 6061551 Aufrufumgebung definieren 6061552 Testen mit Programmstatus 6071553 Testen im Einzelschrittmodus 6111554 PLC-Variablen beobachten 6141555 Datenvariablen beobachten 6141556 Testen mit Beobachtungstabellen 6151557 Beobachten und Steuern im Betriebszustand STOP 6201558 Testen mit der Force-Tabelle 622

16 Dezentrale Peripherie 626

161 Einfuumlhrung Uumlbersicht 626

162 Dezentrales Peripheriesystem ET 200 6271621 ET 200M 6271622 ET 200MP 6281623 ET 200S 628

Inhaltsverzeichnis

20

1624 ET 200SP 6291625 ET 200iSP 6301626 ET 200pro 6311627 ET 200eco 631

163 PROFINET IO 6321631 Komponenten von PROFINET IO 6321632 Adressen bei PROFINET IO 6351633 Spezielle PROFINET-Konfigurationen 6381634 PROFINET IO projektieren 6391635 Kopplungsbaugruppen fuumlr PROFINET IO 6431636 Echtzeit-Kommunikation bei PROFINET 644

164 PROFIBUS DP 6491641 Komponenten von PROFIBUS DP 6491642 Adressen bei PROFIBUS DP 6521643 PROFIBUS DP projektieren 6561644 Kopplungsbaugruppen fuumlr PROFIBUS DP 6591645 Sonderfunktionen fuumlr PROFIBUS DP 661

165 Taktsynchronitaumlt 6621651 Einfuumlhrung 6621652 Taktsynchronitaumlt bei PROFINET 6631653 Taktsynchronitaumlt bei PROFIBUS 666

166 Systembausteine fuumlr dezentrale Peripherie 6691661 Systembausteine fuumlr PROFIBUS DP 6691662 Systembausteine fuumlr PROFIBUS DP und PROFINET IO 6731663 Systembausteine fuumlr PROFINET IO 676

167 AktorSensor-Interface 6791671 Komponenten von AktorSensor-Interface 6791672 Adressen am AktorSensor-Interface 6811673 AktorSensor-Interface mit CP 343-2P projektieren 6811674 Systemfunktionen fuumlr AS-i 683

17 Kommunikation 684

171 Uumlbersicht 684

172 S7-Basiskommunikation 6851721 Grundlagen der stationsinternen S7-Basiskommunikation 6851722 Stationsinterne S7-Basiskommunikation projektieren 6861723 Systembausteine fuumlr stationsinterne S7-Basiskommunikation 6861724 Grundlagen der stationsexternen S7-Basiskommunikation 6881725 Stationsexterne S7-Basiskommunikation projektieren 6891726 Systembausteine fuumlr stationsexterne S7-Basiskommunikation 689

173 S7-Kommunikation 6921731 Grundlagen 6921732 S7-Kommunikation projektieren 6931733 Einseitiger Datenaustausch 6951734 Zweiseitiger Datenaustausch 6961735 Uumlberwachungsfunktionen 699

Inhaltsverzeichnis

21

174 Open User Communication 700

1741 Grundlagen 700

1742 Verbindungen auf- und abbauen 702

1743 Datenuumlbertragung mit TCP native oder ISO-on-TCP 704

1744 Datenuumlbertragung mit UDP 707

18 Anhang 710

181 Arbeiten mit Quelldateien 710

1811 Allgemeines Vorgehen 710

1812 Einen Codebaustein in der Quelldatei programmieren 712

1813 Einen Datenbaustein in der Quelldatei programmieren 715

1814 Einen PLC-Datentyp in der Quelldatei programmieren 719

182 Projekte migrieren 720

183 Simulation mit dem TIA Portal 724

1831 Unterschiede zu einer realen CPU-Baugruppe 724

1832 Simulation starten und speichern 725

1833 Die Simulation bedienen 726

1834 Programm mit der Simulation testen 728

1835 Weitere Funktionen von PLCSIM 730

184 Webserver 731

1841 Webserver aktivieren 731

1842 Web-Informationen auslesen 732

1843 Standard-Webseiten 733

185 Ablage von lokalen Variablen 736

1851 Ablage in Global-Datenbausteinen 736

1852 Ablage in Instanz-Datenbausteinen 737

1853 Ablage in den temporaumlren Lokaldaten 738

1854 Datenablage der Bausteinparameter einer Funktion (FC) 739

1855 Datenablage der Bausteinparameter eines Funktionsbausteins (FB) 742

1856 Datenablage einer Lokalinstanz in einer Multiinstanz 744

Stichwortverzeichnis 746

1 Einfuumlhrung

22

1 Einfuumlhrung

11 Uumlbersicht Automatisierungssystem S7-300

SIMATIC S7-300 ist das modulare Kleinsteuersystem fuumlr den unteren und mittlerenLeistungsbereich (Bild 11) Verschiedene Varianten der Controller passen die Leis-tungsfaumlhigkeit an den jeweiligen Einsatzfall an Je nach Bedarf kann das Automati-sierungsgeraumlt mit Ein-Ausgabebaugruppen fuumlr Digital- und Analogsignale in biszu vier Baugruppentraumlgern mit je acht Baugruppen modular erweitert werden

Eine zusaumltzliche Erweiterung mit Ein-Ausgabebaugruppen bietet die dezentralePeripherie uumlber PROFIBUS oder PROFINET Mit besonderen Bauformen fuumlr erhoumlhtemechanische Anforderungen ausgestattet koumlnnen diese Baugruppen vor Ort ander Maschine oder Anlage installiert werden Die Steuerungsgeraumlte SIMATIC S7-300werden mit STEP 7 konfiguriert projektiert und programmiert Der Datenaus-tausch zwischen den Steuerungsgeraumlten der dezentralen Peripherie und dem Pro-grammiergeraumlt geschieht mit SIMATIC NET

Bild 11 Bestandteile des Automatisierungssystems SIMATIC S7-300

SIMATIC Controller steuern dieMaschine oder Anlage

Die dezentrale Peripherie erweitert dieSchnittstelle zur Maschine oder Anlage

SIMATIC NET

SIMATIC DP STEP 7Professional V12

SIMATIC S7-300

Die Vernetzung ermoumlglicht denDatenaustausch und den zentralenOnline-Zugriff

Mehrere Varianten der Controllererweitern das Einsatzspektrum

STEP 7 ist die Engineeringsoftware zumKonfigurieren undProgrammieren

Projektieren

Automatisierungssystem SIMATIC S7-300

11 Uumlbersicht Automatisierungssystem S7-300

23

111 Automatisierungsgeraumlt SIMATIC S7-300

Die wesentlichen Bestandteile eines S7-300-Automatisierungsgeraumlts sind im Bild12 dargestellt

Die CPU-Baugruppe enthaumllt das Betriebssystem und das AnwenderprogrammDas Anwenderprogramm steht spannungsausfallsicher auf der in der CPU-Bau-gruppe steckenden Micro Memory Card (MMC) Die Bearbeitung des Anwenderpro-gramms findet im Arbeitsspeicher in der CPU statt Die auf der CPU-Baugruppe vor-handenen Busschnittstellen stellen die Verbindung zu anderen Automatisierungs-geraumlten her

Die Verbindung zur gesteuerten Anlage uumlbernehmen SM-Baugruppen Diese Ein-und Ausgabebaugruppen gibt es fuumlr Digital- und Analogsignale

Die FM-Baugruppen sind signalvorverarbeitende bdquointelligenteldquo Peripheriebau-gruppen die vom Prozess kommende Signale unabhaumlngig von der CPU aufberei-ten verarbeiten und entweder wieder direkt an den Prozess zuruumlckgeben oder ander internen Schnittstelle der CPU zur Verfuumlgung stellen FM-Baugruppen uumlber-nehmen Funktionen die die CPU meist nicht schnell genug ausfuumlhren kann wiez B Impulse zaumlhlen positionieren oder Antriebe regeln

Die CP-Baugruppen gestatten einen Datenverkehr der die Moumlglichkeiten derStandard-Schnittstellen bezuumlglich Protokolle und Kommunikationsfunktionenuumlberschreitet

Die IM-Baugruppen verbinden bei einer Erweiterung den Zentralbaugruppentrauml-ger mit bis zu drei Erweiterungsbaugruppentraumlgern

Eine Stromversorgungsbaugruppe sorgt schlieszliglich fuumlr die benoumltigte Spannungim Automatisierungsgeraumlt

Bild 12 Bestandteile einer S7-300-Steuerung

Erweiterungsbaugruppentraumlger

Zentralbaugruppentraumlger SM-Baugruppen(Signal Modules)

Auf den Baugruppen-traumlgern sind steckbar

FM-Baugruppen(Function Modules)

CP-Baugruppen(CommunicationProcessors)

IM-Baugruppe(Interface Module)

IM-Baugruppe(Interface Module)

CPU-Baugruppe(Central Processor Unit)

PS-Baugruppe(Power Supply)

Baugruppen-traumlger (Rack)

Bestandteile einer S7-300-Steuerung

S

1 Einfuumlhrung

24

112 Uumlbersicht STEP 7 Professional V12

STEP 7 ist das zentrale Automatisierungswerkzeug fuumlr SIMATIC STEP 7 benoumltigtzum Betrieb eine Autorisierung (Lizenz) und laumluft auf den jeweils aktuellen Be-triebssystemen unter Microsoft Windows Die Projektierung eines S7-300-Control-lers geschieht mit zwei Ansichten der Portalansicht und der Projektansicht

Die Portalansicht ist aufgabenorientiert angelegt

Im Startportal oumlffnen Sie ein bestehendes Projekt erstellen ein neues Projekt odermigrieren ein Projekt Ein bdquoProjektldquo ist eine Datenstruktur die alle erforderlichenProgramme und Daten fuumlr Ihr Automatisierungsvorhaben enthaumllt Von hier aussind die wichtigsten Werkzeuge und Funktionen von STEP 7 uumlber weitere Portale er-reichbar (Bild 13)

b Im Portal Geraumlte amp Netze konfigurieren Sie die Automatisierungsgeraumlte d h Sieplatzieren die Baugruppen in einem Baugruppentraumlger und parametrieren sie

b Im Portal PLC-Programmierung erstellen Sie das Anwenderprogramm in Formvon einzelnen Abschnitten die man bdquoBausteineldquo nennt

b Das Portal Visualisierung bietet die wichtigsten Werkzeuge fuumlr die Projektierungund Simulation von HMI-Systemen mit SIMATIC WinCC an

Bild 13 Werkzeuge im Startportal von STEP 7 Professional V12

11 Uumlbersicht Automatisierungssystem S7-300

25

b Mit dem Portal Motion amp Technology fuumlgen Sie ein Technologie-Objekt fuumlr PIDControl ein und bearbeiten es

b Mit dem Portal Online amp Diagnose schalten Sie das Programmiergeraumlt online aneine CPU-Baugruppe Sie koumlnnen die Betriebsarten der CPU steuern und das An-wenderprogramm uumlbertragen und testen

Die Projektansicht bietet eine objektorientierte Ansicht mit mehreren Fensternderen Inhalt je nach ausgefuumlhrter Taumltigkeit wechselt In der Geraumltekonfigurationsteht der Arbeitsbereich mit dem zu konfigurierenden Geraumlt im Mittelpunkt In derGeraumltesicht wird der Baugruppentraumlger mit den bereits platzierten Baugruppen ge-zeigt (Bild 14) Ein weiteres Fenster ndash das Inspektorfenster ndash enthaumllt die Eigen-schaften der selektierten Baugruppe das Aufgaben-Fenster (Task Card) gibt Unter-stuumltzung durch den Hardware-Katalog mit den zur Verfuumlgung stehenden Baugrup-pen Die Netzsicht gestattet die Vernetzung zwischen PLC- und HMI-Stationen

Bei der PLC-Programmierung bearbeiten Sie im Arbeitsbereich den ausgewaumlhltenBaustein Wiederum sehen Sie im Inspektorfenster die Eigenschaften des markier-ten Objekts und koumlnnen diese einstellen Das Aufgabenfenster enthaumllt diesmal denProgrammelemente-Katalog mit den zur Verfuumlgung stehenden Programmelemen-ten und Anweisungen Aumlhnliches gilt fuumlr die Bearbeitung der PLC-Variablen oderbeim Online-Programmtest durch Beobachtungstabellen

Bild 14 Beispiel fuumlr die Projektansicht Arbeitsbereich der Geraumltekonfiguration

1 Einfuumlhrung

26

Und stets haben Sie die Projektnavigation im Blickfeld Sie enthaumllt alle Objekte desSTEP-7-Projekts So koumlnnen Sie jederzeit ein Objekt beispielsweise einen Pro-grammbaustein oder eine Beobachtungstabelle auswaumlhlen und dieses Objekt mitden entsprechenden Editoren die beim Oumlffnen des Objekts automatisch startenbearbeiten

113 Fuumlnf Programmiersprachen

Als Programmiersprache fuumlr das Anwenderprogramm koumlnnen Sie zwischen Kon-taktplan (KOP) Funktionsplan (FUP) Anweisungsliste (AWL) Structured ControlLanguage (SCL) und Ablaufsteuerung (GRAPH) waumlhlen

Mit Kontaktplan programmieren Sie die Steuerungsaufgabe angelehnt an denStromlaufplan Die Verknuumlpfung der binaumlren Signalzustaumlnde wird durch die seriel-le oder parallele Anordnung von Kontakten und Spulen dargestellt (Bild 15) Kom-plexe Funktionen wie beispielsweise die arithmetischen Funktionen werden mitBoxen dargestellt die Sie wie Kontakte oder Spulen im Kontaktplan anordnen

Mit Funktionsplan programmieren Sie die Steuerungsaufgabe angelehnt an elektro-nische Schaltkreissysteme Binaumlre Verknuumlpfungen werden durch Verschaltung vonUND- und ODER-Funktionen realisiert und mit Speicher-Boxen abgeschlossen (Bild16) Komplexe Boxen uumlbernehmen die Verknuumlpfung digitaler Variablen beispiels-weise bei den arithmetischen Funktionen

Bild 15 Beispiel fuumlr die Darstellung in Kontaktplan

Bild 16 Beispiel fuumlr die Darstellung in Funktionsplan

11 Uumlbersicht Automatisierungssystem S7-300

27

Mit Anweisungsliste programmieren Sie die Steuerungsaufgabe durch eine Folgevon Anweisungen Jede AWL-Anweisung enthaumllt eine Vorschrift was zu tun ist undeventuell einen Operand mit dem die Operation ausgefuumlhrt wird AWL ist gleicher-maszligen geeignet fuumlr binaumlre und digitale Verknuumlpfungen wie fuumlr die Programmierungkomplexer Steuerungsaufgaben (Bild 17)

Structured Control Language eignet sich besonders fuumlr die Programmierung vonkomplexen Algorithmen oder fuumlr Aufgabenstellungen aus dem Bereich der Datenver-waltung Das Programm besteht aus SCL-Anweisungen die beispielsweise Wertzuwei-sungen Vergleiche oder Kontrollanweisungen sein koumlnnen (Bild 18)

Mit GRAPH programmieren Sie eine Steuerungsaufgabe als Ablaufsteuerung in derdie sequenzielle Folge von Aktionen vorherrscht Die einzelnen Schritte und Verzwei-gungen werden durch Weiterschaltbedingungen freigegeben die mit KOP oder FUPprogrammiert werden koumlnnen (Bild 19)

114 Bearbeitung des Anwenderprogramms

Nach dem Einschalten der Versorgungsspannung pruumlft der Steuerungsprozessordie Konsistenz der Hardware und parametriert die Baugruppen Anschlieszligend wirdeinmalig ndash falls vorhanden ndash ein Anlaufprogramm bearbeitet Das Anlaufpro-

Bild 17 Beispiel fuumlr AWL-Anweisungen

Bild 18 Beispiel fuumlr SCL-Anweisungen

1 Einfuumlhrung

28

gramm gehoumlrt zum Anwenderprogramm das Sie programmieren Im Anlaufpro-gramm koumlnnen beispielsweise Baugruppen initialisiert werden

Das Anwenderprogramm ist in der Regel in einzelne Abschnitte ndash bdquoBausteineldquo ge-nannt ndash eingeteilt Die Organisationsbausteine (OB) sind die Schnittstelle zwischenBetriebssystem und Anwenderprogramm Das Betriebssystem ruft zu bestimmtenEreignissen einen Organisationsbaustein auf in dem dann das Anwenderpro-gramm bearbeitet wird (Bild 110)

Bild 19 Beispiel fuumlr eine GRAPH-Ablaufkette und eine Schrittprojektierung

Bild 110 Bearbeitung des Anwenderprogramms

Anlauf-programm

Alarm- undFehlerprogramm

Haupt-programm

Bearbeitung des Anwenderprogramms

Einschalten

Aktualisierung derEin- und Ausgaumlnge

Unterbrechung(Alarm oder Fehler)

BetriebszustandANLAUF

Betriebssystem Anwenderprogramm

BetriebszustandRUN

OB

OB

FBFC

FBFC

FBFC

FBFC

FBFC

FBFC

OB

Unterbrechung

11 Uumlbersicht Automatisierungssystem S7-300

29

Zur Strukturierung das Programms stehen Funktionsbausteine (FB) und Funktio-nen (FC) zur Verfuumlgung Funktionsbausteine haben einen Speicher in dem lokaleVariablen dauerhaft abgelegt sind Funktionen haben diesen Speicher nicht

Fuumlr den Aufruf (das Starten der Bearbeitung) von Funktionsbausteinen und Funk-tionen gibt es Programmanweisungen Jeder Bausteinaufruf kann mit Ein- undAusgaumlngen ndash bdquoBausteinparameterldquo genannt ndash versehen werden Beim Aufruf koumln-nen Variablen uumlbergeben werden mit denen das Programm im Baustein arbeitensoll Auf diese Weise kann ein Baustein mit einer gewissen Funktion (z B der Addi-tion von drei Variablen) mehrfach mit unterschiedlichen Parametersaumltzen (z B fuumlrunterschiedliche Berechnungen) aufgerufen werden (Bild 111)

Die Daten des Anwenderprogramms werden in Datenbausteinen (DB) abgelegtInstanz-Datenbausteine sind einem Aufruf eines Funktionsbausteins fest zugeord-net und bilden den Variablenspeicher des Funktionsbausteins Global-Datenbau-steine enthalten Daten die keinem Baustein zugeordnet sind

Nach einem Anlauf aktualisiert der Steuerungsprozessor die Ein- und Ausgangs-signale in den Prozessabbildern und ruft den Organisationsbaustein OB 1 auf Hiersteht das Hauptprogramm Auch im Hauptprogramm ist eine Strukturierung moumlg-lich und zu empfehlen Ist das Hauptprogramm bearbeitet wechselt der Steue-rungsprozessor zuruumlck ins Betriebssystem haumllt beispielsweise die Kommunikati-on mit dem Programmiergeraumlt aufrecht aktualisiert die Ein- und Ausgangssignaleund beginnt dann erneut mit der Bearbeitung des Hauptprogramms

Die zyklische Programmbearbeitung ist ein Merkmal speicherprogrammierbarerSteuerungen Das Anwenderprogramm wird auch dann bearbeitet wenn bdquovon au-szligenldquo keine Aktionen gefordert sind wenn also z B die gesteuerte Maschine stehtDies hat Vorteile bei der Programmierung Sie programmieren beispielsweise den

Bild 111 Beispiel fuumlr zwei Aufrufe eines Bausteins mit jeweils verschiedenen Variablen

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

Inhaltsverzeichnis

9

26 Sonstige Baugruppen 63261 Anschaltungsbaugruppen (IM) 63262 Stromversorgungsbaugruppen (PS) 63263 Simulatorbaugruppe 64264 Platzhalterbaugruppe 64

27 SIPLUS S7-300 65

3 Geraumltekonfiguration 66

31 Einfuumlhrung 66

32 Eine Station konfigurieren 69321 Eine PLC-Station hinzufuumlgen 69322 Eine Baugruppe hinzufuumlgen 69323 Einen Erweiterungsbaugruppentraumlger hinzufuumlgen 70

33 Baugruppen parametrieren 71331 Die CPU-Eigenschaften parametrieren 71332 Baugruppen adressieren 74333 Signalbaugruppen parametrieren 77

34 Netz projektieren 78341 Einfuumlhrung Uumlbersicht 78342 Stationen vernetzen 79343 Teilnehmeradressen in einem Subnetz 80344 Verbindungen 81345 Ein MPI-Subnetz projektieren 84346 Ein PROFIBUS-Subnetz projektieren 85347 Ein PROFINET-Subnetz projektieren 87348 Ein AS-i-Subnetz projektieren 90

4 Variablen Adressierung und Datentypen 92

41 Operanden und Variablen 92411 Einfuumlhrung Uumlbersicht 92412 Operandenbereiche Eingaumlnge und Ausgaumlnge 93413 Operandenbereich Merker 96414 Operandenbereich Daten 97415 Operandenbereich temporaumlre Lokaldaten 97

42 Adressierung von Operanden und Variablen 98421 Signalweg 98422 Absolute Adressierung von Variablen 99423 Symbolische Adressierung von Variablen 104424 Adressierung von Konstanten 105

43 Indirekte Adressierung 106431 Speicherindirekte Adressierung mit AWL 107432 Registerindirekte Adressierung mit AWL 110433 Arbeiten mit den Adressregistern bei AWL 111434 Direkter Zugriff auf komplexe Lokalvariablen mit AWL 119435 Indirekte Adressierung bei SCL 121

Inhaltsverzeichnis

10

44 Elementare Datentypen 123441 Einfuumlhrung 123442 Bitfolge-Datentypen BOOL BYTE WORD und DWORD 126443 BCD-Zahlen BCD16 und BCD32 126444 Festpunkt-Datentypen mit Vorzeichen INT und DINT 128445 Gleitpunkt-Datentyp REAL 128446 Datentyp CHAR 129447 Datentypen fuumlr Zeitdauern und Zeitpunkte 130

45 Zusammengesetzte Datentypen 132451 Zeichenkette STRING 132452 Datentyp ARRAY 134453 Datentyp STRUCT 136

46 Parametertypen und Zeiger 138461 Parametertypen 138462 Zeiger 139463 bdquoVariablerldquo ANY-Zeiger bei AWL 143464 bdquoVariablerldquo ANY-Zeiger bei SCL 143

47 PLC-Datentypen 146

48 Startinformation 147

5 Programmbearbeitung 148

51 Betriebszustaumlnde der CPU-Baugruppe 148511 Betriebszustand STOP 149512 Betriebszustand ANLAUF 150513 Betriebszustand RUN 152514 Betriebszustand HALT 152515 CPU urloumlschen 153516 Auslieferungszustand wiederherstellen 153517 Remanenzverhalten von Operanden 154

52 Anwenderprogramm erstellen 154521 Programmentwurf 154522 Programmbearbeitung 158523 Bausteinarten 160524 Bausteineigenschaften bearbeiten 161525 Bausteinschnittstelle 165526 Beispiel zur Verwendung von Bausteinparametern 167

53 Bausteine aufrufen 169531 Allgemeines zu Aufrufen von Codebausteinen 169532 Aufruf von Funktionen (FC) 169533 Aufruf von Funktionsbausteinen (FB) 171534 bdquoWeiterreichenldquo von Bausteinparametern 174

54 Anlaufprogramm 175541 Organisationsbaustein OB 100 175542 Baugruppenadresse ermitteln 176543 Baugruppen parametrieren 178

Inhaltsverzeichnis

11

55 Hauptprogramm 181551 Organisationsbaustein OB 1 181552 Prozessabbild-Aktualisierung 182553 Zykluszeit und Reaktionszeit 183554 Programm anhalten stoppen und schuumltzen 185555 Uhrzeit 187556 Systemzeit lesen 189557 Betriebsstundenzaumlhler 190

56 Alarmbearbeitung 191561 Einfuumlhrung zur Alarmbearbeitung 191562 Prioritaumltsklassen 192563 Uhrzeitalarm Organisationsbaustein OB 10 192564 Verzoumlgerungsalarme Organisationsbausteine OB 20 und OB 21 196565 Weckalarme Organisationsbausteine OB 32 bis OB 35 198566 Prozessalarm Organisationsbaustein OB 40 200567 DPV1-Alarme Organisationsbausteine OB 55 bis OB 57 202568 Taktsynchronalarm Organisationsbaustein OB 61 202569 Alarmzusatzinformation lesen 205

57 Fehlerbehandlung 206571 Fehlerursachen und Fehlerreaktion 206572 Synchronfehler 206573 Synchronfehlerbearbeitung sperren und freigeben 208574 Ersatzwert eintragen 211575 Asynchronfehler 212576 Alarme und Asynchronfehler sperren verzoumlgern und freigeben 215

58 Diagnose 217581 Diagnosealarm Organisationsbaustein OB 82 217582 Systemzustandsliste lesen 219583 Startinformation lesen 220584 Anwender-Diagnoseereignis in den Diagnosepuffer schreiben 221585 Systemdiagnose mit Report System Errors 222

6 Programmeditor 225

61 Einfuumlhrung 225

62 PLC-Variablentabelle 226621 Mit PLC-Variablentabellen arbeiten 226622 PLC-Variablen definieren und bearbeiten 226623 PLC-Variablen vergleichen 228624 PLC-Variablentabelle exportieren und importieren 229625 Konstantentabellen 230

63 Einen Codebaustein programmieren 230631 Einen neuen Codebaustein anlegen 230632 Arbeitsbereich des Programmeditors fuumlr Codebausteine 232633 Bausteineigenschaften fuumlr Codebausteine festlegen 233634 Bausteinschnittstelle programmieren 234635 Steuerungsfunktion programmieren 236

Inhaltsverzeichnis

12

636 Variablen editieren 240637 Mit Programmkommentaren arbeiten 242

64 Einen Datenbaustein programmieren 244641 Einen neuen Datenbaustein anlegen 244642 Arbeitsbereich des Programmeditors fuumlr Datenbausteine 244643 Bausteineigenschaften fuumlr Datenbausteine festlegen 246644 Datenvariablen deklarieren 246645 Datenvariablen in Globaldatenbausteinen eingeben 247

65 Bausteine uumlbersetzen 248651 Uumlbersetzung starten 248652 SCL-Bausteine uumlbersetzen 249653 Fehler nach der Uumlbersetzung beheben 249

66 Programminformationen 250661 Querverweisliste 251662 Belegungsplan 253663 Aufrufstruktur 254664 Abhaumlngigkeitsstruktur 255665 Konsistenzpruumlfung 255666 Speicherauslastung der CPU 256

7 Kontaktplan KOP 258

71 Einfuumlhrung 258711 Programmieren mit KOP allgemein 258712 Programmelemente des Kontaktplans 260

72 Binaumlre Verknuumlpfungen mit KOP programmieren 260721 Schlieszligerkontakt und Oumlffnerkontakt 260722 Reihen- und Parallelschaltung von Kontakten 262723 T-Abzweig offener Parallelzweig 263724 Verknuumlpfungsergebnis negieren 264725 Flankenauswertung einer Binaumlrvariablen 265726 Vergleich-Kontakte 265

73 Speicherfunktionen mit KOP programmieren 266731 Einfache Spule Zuweisung 266732 Setzen- und Ruumlcksetzen-Spule 268733 Speicherndes Verhalten durch Selbsthaltung 268734 Spulen mit Zeitverhalten 269735 Spulen mit Zaumlhlerverhalten 270

74 Q-Boxen mit KOP programmieren 271741 Speicher-Boxen 272742 Flankenauswertung des Stromflusses 272743 SIMATIC-Zeitfunktionen 273744 SIMATIC-Zaumlhlfunktionen 274745 IEC-Zeitfunktionen 274746 IEC-Zaumlhlfunktionen 276

75 ENENO-Boxen mit KOP programmieren 277751 Uumlbertragungsfunktion MOVE 277

Inhaltsverzeichnis

13

752 Arithmetische Funktionen 278753 Mathematische Funktionen 279754 Konvertierungsfunktionen 280755 Schiebefunktionen 281756 Wortverknuumlpfungen 282

76 Programmfluss bei KOP steuern 284761 Mit Statusbits im Kontaktplan arbeiten 284762 ENENO-Mechanismus bei KOP 286763 Sprungfunktionen 287764 Bausteinfunktionen 288765 Master Control Relay (MCR) 290

8 Funktionsplan FUP 292

81 Einfuumlhrung 292811 Programmieren mit FUP allgemein 292812 Programmelemente des Funktionsplans 294

82 Binaumlre Verknuumlpfungen mit FUP programmieren 295821 Abfrage auf Signalzustand bdquo1ldquo und auf Signalzustand bdquo0ldquo 295822 Eine binaumlre Verknuumlpfung im Funktionsplan programmieren 296823 UND-Funktion 297824 ODER-Funktion 297825 Exklusiv-ODER-Funktion 297826 Kombinierte binaumlre Verknuumlpfungen Verknuumlpfungsergebnis negieren 298827 T-Abzweig 299828 Flankenauswertung von Binaumlrvariablen 299829 Vergleichsfunktionen 300

83 Standard-Boxen mit FUP programmieren 301831 Zuweisung-Box 302832 Setzen- und Ruumlcksetzen-Box 302833 Standard-Boxen mit Zeitverhalten 303834 Standard-Boxen mit Zaumlhlerverhalten 304

84 Q-Boxen mit FUP programmieren 305841 Speicher-Boxen 305842 Flankenauswertung des Verknuumlpfungsergebnisses 307843 SIMATIC-Zeitfunktionen 308844 SIMATIC-Zaumlhlfunktionen 308845 IEC-Zeitfunktionen 309846 IEC-Zaumlhlfunktionen 309

85 ENENO-Boxen mit FUP programmieren 310851 Uumlbertragungsfunktion MOVE 312852 Arithmetische Funktionen 312853 Mathematische Funktionen 313854 Konvertierungsfunktionen 313855 Schiebefunktionen 315856 Wortverknuumlpfungen 316

Inhaltsverzeichnis

14

86 Programmfluss bei FUP steuern 318861 Mit Statusbits im Funktionsplan arbeiten 318862 ENENO-Mechanismus bei FUP 320863 Sprungfunktionen 321864 Bausteinfunktionen 322865 Master Control Relay (MCR) 324

9 Anweisungsliste AWL 326

91 Einfuumlhrung 326911 Programmieren mit AWL allgemein 326912 Aufbau einer AWL-Anweisung 327

92 Binaumlre Verknuumlpfungen mit AWL programmieren 328921 Bearbeitung einer binaumlren Verknuumlpfung Verknuumlpfungsschritt 328922 Abfrage auf Signalzustand bdquo1ldquo und auf Signalzustand bdquo0ldquo 330923 Eine binaumlre Verknuumlpfung in Anweisungsliste programmieren 331924 UND-Funktion 332925 ODER-Funktion 332926 Exklusiv-ODER-Funktion 333927 Kombinierte binaumlre Verknuumlpfungen 333928 Verknuumlpfungsergebnis steuern 336

93 Speicherfunktionen mit AWL programmieren 337931 Zuweisung 337932 Setzen und Ruumlcksetzen 338933 Flankenauswertung 338

94 Zeit- und Zaumlhlfunktionen mit AWL programmieren 339941 SIMATIC-Zeitfunktionen 339942 SIMATIC-Zaumlhlfunktionen 341943 IEC-Zeitfunktionen 342944 IEC-Zaumlhlfunktionen 343

95 Digitalfunktionen mit AWL programmieren 344951 Uumlbertragungsfunktionen 344952 Vergleichsfunktionen 346953 Arithmetische Funktionen 349954 Mathematische Funktionen 352955 Konvertierungsfunktionen 353956 Schiebefunktionen 354957 Wortverknuumlpfungen 356

96 Programmfluss bei AWL steuern 358961 Mit Statusbits in der Anweisungsliste arbeiten 359962 ENENO-Mechanismus bei AWL 361963 Sprungfunktionen 363964 Sprungverteiler 364965 Schleifensprung 364966 Bausteinfunktionen 365967 Master Control Relay (MCR) 368

97 Weitere AWL-Funktionen 369

Inhaltsverzeichnis

15

971 Akkumulatorfunktionen 369972 Addieren von Konstanten zum Akkumulator 1 371973 Dekrementieren Inkrementieren 372974 Nullanweisungen 373

10 Structured Control Language SCL 374

101 Einfuumlhrung in die Programmierung mit SCL 3741011 Programmieren mit SCL allgemein 3741012 SCL-Anweisungen und Operatoren 376

102 Binaumlre Verknuumlpfungen mit SCL programmieren 3781021 Abfrage auf Signalzustand bdquo1ldquo und auf Signalzustand bdquo0ldquo 3781022 UND-Funktion 3791023 ODER-Funktion 3791024 Exklusiv-ODER-Funktion 3801025 Kombinierte binaumlre Verknuumlpfungen 3801026 Verknuumlpfungsergebnis negieren 381

103 Speicherfunktionen mit SCL programmieren 3821031 Wertzuweisung einer Binaumlrvariablen 3821032 Setzen und Ruumlcksetzen 3821033 Flankenauswertung 382

104 Zeit- und Zaumlhlfunktionen mit SCL programmieren 3831041 SIMATIC-Zeitfunktionen 3831042 SIMATIC-Zaumlhlfunktionen 3841043 IEC-Zeitfunktionen 3851044 IEC-Zaumlhlfunktionen 386

105 Digitalfunktionen mit SCL programmieren 3871051 Uumlbertragungsfunktion Wertzuweisung einer Digitalvariablen 3871052 Vergleichsfunktionen 3871053 Arithmetische Funktionen 3881054 Mathematische Funktionen 3891055 Konvertierungsfunktionen 3901056 Schiebefunktionen 3911057 Wortverknuumlpfungen logischer Ausdruck 392

106 Programmfluss mit SCL steuern 3931061 Mit der Variablen ENO arbeiten 3931062 ENENO-Mechanismus bei SCL 3951063 Kontrollanweisungen 3961064 Bausteinfunktionen 404

11 Ablaufsteuerung S7-GRAPH 408

111 Einfuumlhrung 4081111 Was ist eine Ablaufsteuerung 4081112 Eigenschaften einer Ablaufsteuerung 4091113 Programm fuumlr eine Ablaufsteuerung Mengengeruumlst 4101114 Betriebsarten 4101115 Vorgehen bei der Projektierung 411

Inhaltsverzeichnis

16

112 Elemente einer Ablaufsteuerung 4121121 Schritte und Transitionen 4121122 Spruumlnge in einer Ablaufsteuerung 4131123 Verzweigungen einer Ablaufkette 4131124 GRAPH-spezifische Variablen 4151125 Permanente Anweisungen 4161126 Schritt- und Transitionsfunktionen 4161127 Bearbeitung von Aktionen 420

113 Eine Ablaufsteuerung projektieren 4261131 Den GRAPH-Funktionsbaustein programmieren 4271132 Projektieren der Kettenstruktur 4281133 Schritte und Transitionen programmieren 4291134 Permanente Anweisungen programmieren 4311135 Bausteinuumlbergreifende Meldungen projektieren 4311136 Attribute des GRAPH-Funktionsbausteins 4321137 GRAPH-Funktionsbaustein anwenden 433

114 Ablaufsteuerung testen 4341141 GRAPH-Funktionsbaustein laden 4351142 Einstellungen zum Programmtest 4351143 Betriebsarten verwenden 4361144 Ablaufkette synchronisieren 4371145 Mit Programmstatus testen 438

12 Basisfunktionen 440

121 Binaumlre Verknuumlpfungen 4401211 Einfuumlhrung 4401212 Arbeiten mit Binaumlrsignalen 4411213 UND-Funktion Reihenschaltung 4441214 ODER-Funktion Parallelschaltung 4451215 Exklusiv-ODER-Funktion Antivalenzfunktion 4451216 Verknuumlpfungsergebnis negieren NOT-Kontakt 446

122 Speicherfunktionen 4481221 Einfuumlhrung 4481222 Standardspule Zuweisung 4481223 Einzelnes Setzen und Ruumlcksetzen 4481224 Vorrangiges Setzen und Ruumlcksetzen Speicherfunktion 4501225 Flankenauswertung 452

123 SIMATIC-Zeitfunktionen 4571231 Uumlbersicht 4571232 Programmieren einer Zeitfunktion 4601233 Zeitverhalten als Impuls 4621234 Zeitverhalten als verlaumlngerter Impuls 4641235 Zeitverhalten als Einschaltverzoumlgerung 4661236 Zeitverhalten als speichernde Einschaltverzoumlgerung 4681237 Zeitverhalten als Ausschaltverzoumlgerung 470

124 IEC-Zeitfunktionen 472

Inhaltsverzeichnis

17

1241 Einfuumlhrung 4721242 Impulsbildung TP 4731243 Einschaltverzoumlgerung TON 4741244 Ausschaltverzoumlgerung TOF 475

125 SIMATIC-Zaumlhlfunktionen 4761251 Uumlbersicht 4761252 Programmieren einer Zaumlhlfunktion 4781253 Funktionsweise einer Zaumlhlfunktion 4801254 Freigeben einer Zaumlhlfunktion bei AWL 482

126 IEC-Zaumlhlfunktionen 4831261 Einfuumlhrung 4831262 Vorwaumlrtszaumlhler CTU 4841263 Ruumlckwaumlrtszaumlhler CTD 4851264 VorwaumlrtsRuumlckwaumlrtszaumlhler CTUD 487

13 Digitalfunktionen 488

131 Allgemeines 488

132 Uumlbertragungsfunktionen 4891321 Allgemeines zur bdquoeinfachenldquo Uumlbertragungsfunktion 4891322 MOVE-Box bei KOP und FUP 4891323 Laden und Transferieren bei AWL 4911324 Wertzuweisungen bei SCL 4921325 Datenbereich im Arbeitsspeicher kopieren und fuumlllen 4941326 Datenbereich vom und zum Ladespeicher uumlbertragen 4971327 Speicherbereich steuern bei MCR-Abhaumlngigkeit 498

133 Vergleichsfunktionen 5011331 Ausfuumlhrung der bdquoeinfachenldquo Vergleichsfunktion 5011332 Vergleichsfunktion T_COMP 5031333 Vergleichsfunktion S_COMP 503

134 Arithmetische Funktionen 5041341 Allgemeine Funktionsbeschreibung 5041342 Datentypen und Statusbits bei einer arithmetischen Funktion 5051343 Ausfuumlhrung der arithmetischen Funktion 5071344 Arithmetische Funktionen fuumlr Datum und Uhrzeit 508

135 Mathematische Funktionen 5101351 Allgemeine Funktionsbeschreibung 5101352 Allgemeine Ausfuumlhrung einer mathematischen Funktion 5111353 Winkelfunktionen SIN COS TAN 5111354 Arcusfunktionen ASIN ACOS ATAN 5121355 Sonstige mathematische Funktionen 512

136 Konvertierungsfunktionen 5141361 Implizite Datentypwandlung 5141362 Datentypwandlung von Festpunktzahlen 5151363 Datentypwandlung von Gleitpunktzahlen 5181364 Datentypwandlung fuumlr DatumUhrzeit mit T_CONV 5211365 Datentypwandlung fuumlr Datentyp STRING mit S_CONV 522

Inhaltsverzeichnis

18

1366 Datentypwandlung von Hexadezimalzahlen 5241367 Skalieren und Deskalieren 5251368 Sonstige Konvertierungsfunktionen 526

137 Schiebefunktionen 5271371 Allgemeine Funktionsbeschreibung 5271372 Allgemeine Ausfuumlhrung einer Schiebefunktion 5291373 Rechts schieben 5301374 Links schieben 5301375 Rechts rotieren 5311376 Links rotieren 5321377 Rotieren durch das Anzeigenbit A1 (AWL) 532

138 Logikfunktionen 5321381 Wortverknuumlpfungen 5331382 Invertieren 5351383 Bit codieren und Bitnummer setzen 5361384 Auswahl- und Begrenzerfunktionen 537

139 Funktionen fuumlr Zeichenketten 540

14 Programmfluss-Steuerung 544

141 Statusbits 5451411 Beschreibung der Statusbits 5451412 Steuern der Statusbits 5471413 Verknuumlpfungsergebnis setzen und ruumlcksetzen 5481414 Binaumlrergebnis steuern 5491415 Auswertung der Statusbits 552

142 Sprungfunktionen 5531421 Einfuumlhrung 5531422 Absoluter Sprung 5531423 Bedingte Sprungfunktionen 5551424 Von den Statusbits abhaumlngige Sprungfunktionen 556

143 Bausteinende-Funktionen 5591431 Bausteinende-Funktion RET (KOP und FUP) 5601432 Bausteinende-Funktionen BEB BEA und BE (AWL) 5601433 RETURN-Anweisung (SCL) 561

144 Aufruf von Codebausteinen 5611441 Allgemeines zu Bausteinaufrufen 5611442 Aufruf einer Funktion (FC) 5621443 Aufruf eines Funktionsbausteins (FB) 5641444 Wechsel zu einem Baustein ohne Bausteinparameter 566

145 Datenbausteinfunktionen 5681451 Datenbaustein aufschlagen 5691452 Zusaumltzliche Datenbausteinfunktionen bei AWL 5701453 Datenbaustein erzeugen loumlschen und testen 571

146 Master Control Relay 5741461 Einfuumlhrung 5741462 MCR-Abhaumlngigkeit 575

Inhaltsverzeichnis

19

1463 MCR-Bereich und MCR-Zone 5751464 MCR-Bereich und MCR-Zone bei einem Bausteinwechsel 5781465 Anweisungen fuumlr das Master Control Relay 578

15 Online-Betrieb und Programmtest 580

151 Programmiergeraumlt an die PLC-Station anschlieszligen 5811511 Einstellungen am Programmiergeraumlt 5811512 Das Programmiergeraumlt mit der PLC-Station verbinden 5821513 Den Online-Betrieb einschalten 583

152 Projektdaten uumlbertragen 5841521 Die Projektdaten erstmalig laden 5841522 Die Projektdaten nachladen 5871523 Schutz des Anwenderprogramms 5881524 Online-Projekt ohne Offline-Projekt bearbeiten 5891525 Mit der Micro Memory Card arbeiten 590

153 Mit Bausteinen im Online-Betrieb arbeiten 5901531 Einfuumlhrung 5901532 Die Online-Version eines Bausteins bearbeiten 5911533 Einen Baustein in die CPU-Baugruppe laden 5921534 Den Arbeitsspeicher komprimieren 5941535 Bausteine aus der CPU zuruumlckladen 5941536 Mit Einstellwerten arbeiten 5961537 Bausteine vergleichen 598

154 Hardware-Diagnose 6011541 Status-Anzeigen an den Baugruppen 6011542 Diagnose-Informationen 6021543 Diagnosepuffer 6021544 Diagnose-Funktionen 6041545 Online-Tools 6041546 Weitere Diagnose-Informationen uumlber das Programmiergeraumlt 605

155 Anwenderprogramm testen 6061551 Aufrufumgebung definieren 6061552 Testen mit Programmstatus 6071553 Testen im Einzelschrittmodus 6111554 PLC-Variablen beobachten 6141555 Datenvariablen beobachten 6141556 Testen mit Beobachtungstabellen 6151557 Beobachten und Steuern im Betriebszustand STOP 6201558 Testen mit der Force-Tabelle 622

16 Dezentrale Peripherie 626

161 Einfuumlhrung Uumlbersicht 626

162 Dezentrales Peripheriesystem ET 200 6271621 ET 200M 6271622 ET 200MP 6281623 ET 200S 628

Inhaltsverzeichnis

20

1624 ET 200SP 6291625 ET 200iSP 6301626 ET 200pro 6311627 ET 200eco 631

163 PROFINET IO 6321631 Komponenten von PROFINET IO 6321632 Adressen bei PROFINET IO 6351633 Spezielle PROFINET-Konfigurationen 6381634 PROFINET IO projektieren 6391635 Kopplungsbaugruppen fuumlr PROFINET IO 6431636 Echtzeit-Kommunikation bei PROFINET 644

164 PROFIBUS DP 6491641 Komponenten von PROFIBUS DP 6491642 Adressen bei PROFIBUS DP 6521643 PROFIBUS DP projektieren 6561644 Kopplungsbaugruppen fuumlr PROFIBUS DP 6591645 Sonderfunktionen fuumlr PROFIBUS DP 661

165 Taktsynchronitaumlt 6621651 Einfuumlhrung 6621652 Taktsynchronitaumlt bei PROFINET 6631653 Taktsynchronitaumlt bei PROFIBUS 666

166 Systembausteine fuumlr dezentrale Peripherie 6691661 Systembausteine fuumlr PROFIBUS DP 6691662 Systembausteine fuumlr PROFIBUS DP und PROFINET IO 6731663 Systembausteine fuumlr PROFINET IO 676

167 AktorSensor-Interface 6791671 Komponenten von AktorSensor-Interface 6791672 Adressen am AktorSensor-Interface 6811673 AktorSensor-Interface mit CP 343-2P projektieren 6811674 Systemfunktionen fuumlr AS-i 683

17 Kommunikation 684

171 Uumlbersicht 684

172 S7-Basiskommunikation 6851721 Grundlagen der stationsinternen S7-Basiskommunikation 6851722 Stationsinterne S7-Basiskommunikation projektieren 6861723 Systembausteine fuumlr stationsinterne S7-Basiskommunikation 6861724 Grundlagen der stationsexternen S7-Basiskommunikation 6881725 Stationsexterne S7-Basiskommunikation projektieren 6891726 Systembausteine fuumlr stationsexterne S7-Basiskommunikation 689

173 S7-Kommunikation 6921731 Grundlagen 6921732 S7-Kommunikation projektieren 6931733 Einseitiger Datenaustausch 6951734 Zweiseitiger Datenaustausch 6961735 Uumlberwachungsfunktionen 699

Inhaltsverzeichnis

21

174 Open User Communication 700

1741 Grundlagen 700

1742 Verbindungen auf- und abbauen 702

1743 Datenuumlbertragung mit TCP native oder ISO-on-TCP 704

1744 Datenuumlbertragung mit UDP 707

18 Anhang 710

181 Arbeiten mit Quelldateien 710

1811 Allgemeines Vorgehen 710

1812 Einen Codebaustein in der Quelldatei programmieren 712

1813 Einen Datenbaustein in der Quelldatei programmieren 715

1814 Einen PLC-Datentyp in der Quelldatei programmieren 719

182 Projekte migrieren 720

183 Simulation mit dem TIA Portal 724

1831 Unterschiede zu einer realen CPU-Baugruppe 724

1832 Simulation starten und speichern 725

1833 Die Simulation bedienen 726

1834 Programm mit der Simulation testen 728

1835 Weitere Funktionen von PLCSIM 730

184 Webserver 731

1841 Webserver aktivieren 731

1842 Web-Informationen auslesen 732

1843 Standard-Webseiten 733

185 Ablage von lokalen Variablen 736

1851 Ablage in Global-Datenbausteinen 736

1852 Ablage in Instanz-Datenbausteinen 737

1853 Ablage in den temporaumlren Lokaldaten 738

1854 Datenablage der Bausteinparameter einer Funktion (FC) 739

1855 Datenablage der Bausteinparameter eines Funktionsbausteins (FB) 742

1856 Datenablage einer Lokalinstanz in einer Multiinstanz 744

Stichwortverzeichnis 746

1 Einfuumlhrung

22

1 Einfuumlhrung

11 Uumlbersicht Automatisierungssystem S7-300

SIMATIC S7-300 ist das modulare Kleinsteuersystem fuumlr den unteren und mittlerenLeistungsbereich (Bild 11) Verschiedene Varianten der Controller passen die Leis-tungsfaumlhigkeit an den jeweiligen Einsatzfall an Je nach Bedarf kann das Automati-sierungsgeraumlt mit Ein-Ausgabebaugruppen fuumlr Digital- und Analogsignale in biszu vier Baugruppentraumlgern mit je acht Baugruppen modular erweitert werden

Eine zusaumltzliche Erweiterung mit Ein-Ausgabebaugruppen bietet die dezentralePeripherie uumlber PROFIBUS oder PROFINET Mit besonderen Bauformen fuumlr erhoumlhtemechanische Anforderungen ausgestattet koumlnnen diese Baugruppen vor Ort ander Maschine oder Anlage installiert werden Die Steuerungsgeraumlte SIMATIC S7-300werden mit STEP 7 konfiguriert projektiert und programmiert Der Datenaus-tausch zwischen den Steuerungsgeraumlten der dezentralen Peripherie und dem Pro-grammiergeraumlt geschieht mit SIMATIC NET

Bild 11 Bestandteile des Automatisierungssystems SIMATIC S7-300

SIMATIC Controller steuern dieMaschine oder Anlage

Die dezentrale Peripherie erweitert dieSchnittstelle zur Maschine oder Anlage

SIMATIC NET

SIMATIC DP STEP 7Professional V12

SIMATIC S7-300

Die Vernetzung ermoumlglicht denDatenaustausch und den zentralenOnline-Zugriff

Mehrere Varianten der Controllererweitern das Einsatzspektrum

STEP 7 ist die Engineeringsoftware zumKonfigurieren undProgrammieren

Projektieren

Automatisierungssystem SIMATIC S7-300

11 Uumlbersicht Automatisierungssystem S7-300

23

111 Automatisierungsgeraumlt SIMATIC S7-300

Die wesentlichen Bestandteile eines S7-300-Automatisierungsgeraumlts sind im Bild12 dargestellt

Die CPU-Baugruppe enthaumllt das Betriebssystem und das AnwenderprogrammDas Anwenderprogramm steht spannungsausfallsicher auf der in der CPU-Bau-gruppe steckenden Micro Memory Card (MMC) Die Bearbeitung des Anwenderpro-gramms findet im Arbeitsspeicher in der CPU statt Die auf der CPU-Baugruppe vor-handenen Busschnittstellen stellen die Verbindung zu anderen Automatisierungs-geraumlten her

Die Verbindung zur gesteuerten Anlage uumlbernehmen SM-Baugruppen Diese Ein-und Ausgabebaugruppen gibt es fuumlr Digital- und Analogsignale

Die FM-Baugruppen sind signalvorverarbeitende bdquointelligenteldquo Peripheriebau-gruppen die vom Prozess kommende Signale unabhaumlngig von der CPU aufberei-ten verarbeiten und entweder wieder direkt an den Prozess zuruumlckgeben oder ander internen Schnittstelle der CPU zur Verfuumlgung stellen FM-Baugruppen uumlber-nehmen Funktionen die die CPU meist nicht schnell genug ausfuumlhren kann wiez B Impulse zaumlhlen positionieren oder Antriebe regeln

Die CP-Baugruppen gestatten einen Datenverkehr der die Moumlglichkeiten derStandard-Schnittstellen bezuumlglich Protokolle und Kommunikationsfunktionenuumlberschreitet

Die IM-Baugruppen verbinden bei einer Erweiterung den Zentralbaugruppentrauml-ger mit bis zu drei Erweiterungsbaugruppentraumlgern

Eine Stromversorgungsbaugruppe sorgt schlieszliglich fuumlr die benoumltigte Spannungim Automatisierungsgeraumlt

Bild 12 Bestandteile einer S7-300-Steuerung

Erweiterungsbaugruppentraumlger

Zentralbaugruppentraumlger SM-Baugruppen(Signal Modules)

Auf den Baugruppen-traumlgern sind steckbar

FM-Baugruppen(Function Modules)

CP-Baugruppen(CommunicationProcessors)

IM-Baugruppe(Interface Module)

IM-Baugruppe(Interface Module)

CPU-Baugruppe(Central Processor Unit)

PS-Baugruppe(Power Supply)

Baugruppen-traumlger (Rack)

Bestandteile einer S7-300-Steuerung

S

1 Einfuumlhrung

24

112 Uumlbersicht STEP 7 Professional V12

STEP 7 ist das zentrale Automatisierungswerkzeug fuumlr SIMATIC STEP 7 benoumltigtzum Betrieb eine Autorisierung (Lizenz) und laumluft auf den jeweils aktuellen Be-triebssystemen unter Microsoft Windows Die Projektierung eines S7-300-Control-lers geschieht mit zwei Ansichten der Portalansicht und der Projektansicht

Die Portalansicht ist aufgabenorientiert angelegt

Im Startportal oumlffnen Sie ein bestehendes Projekt erstellen ein neues Projekt odermigrieren ein Projekt Ein bdquoProjektldquo ist eine Datenstruktur die alle erforderlichenProgramme und Daten fuumlr Ihr Automatisierungsvorhaben enthaumllt Von hier aussind die wichtigsten Werkzeuge und Funktionen von STEP 7 uumlber weitere Portale er-reichbar (Bild 13)

b Im Portal Geraumlte amp Netze konfigurieren Sie die Automatisierungsgeraumlte d h Sieplatzieren die Baugruppen in einem Baugruppentraumlger und parametrieren sie

b Im Portal PLC-Programmierung erstellen Sie das Anwenderprogramm in Formvon einzelnen Abschnitten die man bdquoBausteineldquo nennt

b Das Portal Visualisierung bietet die wichtigsten Werkzeuge fuumlr die Projektierungund Simulation von HMI-Systemen mit SIMATIC WinCC an

Bild 13 Werkzeuge im Startportal von STEP 7 Professional V12

11 Uumlbersicht Automatisierungssystem S7-300

25

b Mit dem Portal Motion amp Technology fuumlgen Sie ein Technologie-Objekt fuumlr PIDControl ein und bearbeiten es

b Mit dem Portal Online amp Diagnose schalten Sie das Programmiergeraumlt online aneine CPU-Baugruppe Sie koumlnnen die Betriebsarten der CPU steuern und das An-wenderprogramm uumlbertragen und testen

Die Projektansicht bietet eine objektorientierte Ansicht mit mehreren Fensternderen Inhalt je nach ausgefuumlhrter Taumltigkeit wechselt In der Geraumltekonfigurationsteht der Arbeitsbereich mit dem zu konfigurierenden Geraumlt im Mittelpunkt In derGeraumltesicht wird der Baugruppentraumlger mit den bereits platzierten Baugruppen ge-zeigt (Bild 14) Ein weiteres Fenster ndash das Inspektorfenster ndash enthaumllt die Eigen-schaften der selektierten Baugruppe das Aufgaben-Fenster (Task Card) gibt Unter-stuumltzung durch den Hardware-Katalog mit den zur Verfuumlgung stehenden Baugrup-pen Die Netzsicht gestattet die Vernetzung zwischen PLC- und HMI-Stationen

Bei der PLC-Programmierung bearbeiten Sie im Arbeitsbereich den ausgewaumlhltenBaustein Wiederum sehen Sie im Inspektorfenster die Eigenschaften des markier-ten Objekts und koumlnnen diese einstellen Das Aufgabenfenster enthaumllt diesmal denProgrammelemente-Katalog mit den zur Verfuumlgung stehenden Programmelemen-ten und Anweisungen Aumlhnliches gilt fuumlr die Bearbeitung der PLC-Variablen oderbeim Online-Programmtest durch Beobachtungstabellen

Bild 14 Beispiel fuumlr die Projektansicht Arbeitsbereich der Geraumltekonfiguration

1 Einfuumlhrung

26

Und stets haben Sie die Projektnavigation im Blickfeld Sie enthaumllt alle Objekte desSTEP-7-Projekts So koumlnnen Sie jederzeit ein Objekt beispielsweise einen Pro-grammbaustein oder eine Beobachtungstabelle auswaumlhlen und dieses Objekt mitden entsprechenden Editoren die beim Oumlffnen des Objekts automatisch startenbearbeiten

113 Fuumlnf Programmiersprachen

Als Programmiersprache fuumlr das Anwenderprogramm koumlnnen Sie zwischen Kon-taktplan (KOP) Funktionsplan (FUP) Anweisungsliste (AWL) Structured ControlLanguage (SCL) und Ablaufsteuerung (GRAPH) waumlhlen

Mit Kontaktplan programmieren Sie die Steuerungsaufgabe angelehnt an denStromlaufplan Die Verknuumlpfung der binaumlren Signalzustaumlnde wird durch die seriel-le oder parallele Anordnung von Kontakten und Spulen dargestellt (Bild 15) Kom-plexe Funktionen wie beispielsweise die arithmetischen Funktionen werden mitBoxen dargestellt die Sie wie Kontakte oder Spulen im Kontaktplan anordnen

Mit Funktionsplan programmieren Sie die Steuerungsaufgabe angelehnt an elektro-nische Schaltkreissysteme Binaumlre Verknuumlpfungen werden durch Verschaltung vonUND- und ODER-Funktionen realisiert und mit Speicher-Boxen abgeschlossen (Bild16) Komplexe Boxen uumlbernehmen die Verknuumlpfung digitaler Variablen beispiels-weise bei den arithmetischen Funktionen

Bild 15 Beispiel fuumlr die Darstellung in Kontaktplan

Bild 16 Beispiel fuumlr die Darstellung in Funktionsplan

11 Uumlbersicht Automatisierungssystem S7-300

27

Mit Anweisungsliste programmieren Sie die Steuerungsaufgabe durch eine Folgevon Anweisungen Jede AWL-Anweisung enthaumllt eine Vorschrift was zu tun ist undeventuell einen Operand mit dem die Operation ausgefuumlhrt wird AWL ist gleicher-maszligen geeignet fuumlr binaumlre und digitale Verknuumlpfungen wie fuumlr die Programmierungkomplexer Steuerungsaufgaben (Bild 17)

Structured Control Language eignet sich besonders fuumlr die Programmierung vonkomplexen Algorithmen oder fuumlr Aufgabenstellungen aus dem Bereich der Datenver-waltung Das Programm besteht aus SCL-Anweisungen die beispielsweise Wertzuwei-sungen Vergleiche oder Kontrollanweisungen sein koumlnnen (Bild 18)

Mit GRAPH programmieren Sie eine Steuerungsaufgabe als Ablaufsteuerung in derdie sequenzielle Folge von Aktionen vorherrscht Die einzelnen Schritte und Verzwei-gungen werden durch Weiterschaltbedingungen freigegeben die mit KOP oder FUPprogrammiert werden koumlnnen (Bild 19)

114 Bearbeitung des Anwenderprogramms

Nach dem Einschalten der Versorgungsspannung pruumlft der Steuerungsprozessordie Konsistenz der Hardware und parametriert die Baugruppen Anschlieszligend wirdeinmalig ndash falls vorhanden ndash ein Anlaufprogramm bearbeitet Das Anlaufpro-

Bild 17 Beispiel fuumlr AWL-Anweisungen

Bild 18 Beispiel fuumlr SCL-Anweisungen

1 Einfuumlhrung

28

gramm gehoumlrt zum Anwenderprogramm das Sie programmieren Im Anlaufpro-gramm koumlnnen beispielsweise Baugruppen initialisiert werden

Das Anwenderprogramm ist in der Regel in einzelne Abschnitte ndash bdquoBausteineldquo ge-nannt ndash eingeteilt Die Organisationsbausteine (OB) sind die Schnittstelle zwischenBetriebssystem und Anwenderprogramm Das Betriebssystem ruft zu bestimmtenEreignissen einen Organisationsbaustein auf in dem dann das Anwenderpro-gramm bearbeitet wird (Bild 110)

Bild 19 Beispiel fuumlr eine GRAPH-Ablaufkette und eine Schrittprojektierung

Bild 110 Bearbeitung des Anwenderprogramms

Anlauf-programm

Alarm- undFehlerprogramm

Haupt-programm

Bearbeitung des Anwenderprogramms

Einschalten

Aktualisierung derEin- und Ausgaumlnge

Unterbrechung(Alarm oder Fehler)

BetriebszustandANLAUF

Betriebssystem Anwenderprogramm

BetriebszustandRUN

OB

OB

FBFC

FBFC

FBFC

FBFC

FBFC

FBFC

OB

Unterbrechung

11 Uumlbersicht Automatisierungssystem S7-300

29

Zur Strukturierung das Programms stehen Funktionsbausteine (FB) und Funktio-nen (FC) zur Verfuumlgung Funktionsbausteine haben einen Speicher in dem lokaleVariablen dauerhaft abgelegt sind Funktionen haben diesen Speicher nicht

Fuumlr den Aufruf (das Starten der Bearbeitung) von Funktionsbausteinen und Funk-tionen gibt es Programmanweisungen Jeder Bausteinaufruf kann mit Ein- undAusgaumlngen ndash bdquoBausteinparameterldquo genannt ndash versehen werden Beim Aufruf koumln-nen Variablen uumlbergeben werden mit denen das Programm im Baustein arbeitensoll Auf diese Weise kann ein Baustein mit einer gewissen Funktion (z B der Addi-tion von drei Variablen) mehrfach mit unterschiedlichen Parametersaumltzen (z B fuumlrunterschiedliche Berechnungen) aufgerufen werden (Bild 111)

Die Daten des Anwenderprogramms werden in Datenbausteinen (DB) abgelegtInstanz-Datenbausteine sind einem Aufruf eines Funktionsbausteins fest zugeord-net und bilden den Variablenspeicher des Funktionsbausteins Global-Datenbau-steine enthalten Daten die keinem Baustein zugeordnet sind

Nach einem Anlauf aktualisiert der Steuerungsprozessor die Ein- und Ausgangs-signale in den Prozessabbildern und ruft den Organisationsbaustein OB 1 auf Hiersteht das Hauptprogramm Auch im Hauptprogramm ist eine Strukturierung moumlg-lich und zu empfehlen Ist das Hauptprogramm bearbeitet wechselt der Steue-rungsprozessor zuruumlck ins Betriebssystem haumllt beispielsweise die Kommunikati-on mit dem Programmiergeraumlt aufrecht aktualisiert die Ein- und Ausgangssignaleund beginnt dann erneut mit der Bearbeitung des Hauptprogramms

Die zyklische Programmbearbeitung ist ein Merkmal speicherprogrammierbarerSteuerungen Das Anwenderprogramm wird auch dann bearbeitet wenn bdquovon au-szligenldquo keine Aktionen gefordert sind wenn also z B die gesteuerte Maschine stehtDies hat Vorteile bei der Programmierung Sie programmieren beispielsweise den

Bild 111 Beispiel fuumlr zwei Aufrufe eines Bausteins mit jeweils verschiedenen Variablen

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

Inhaltsverzeichnis

10

44 Elementare Datentypen 123441 Einfuumlhrung 123442 Bitfolge-Datentypen BOOL BYTE WORD und DWORD 126443 BCD-Zahlen BCD16 und BCD32 126444 Festpunkt-Datentypen mit Vorzeichen INT und DINT 128445 Gleitpunkt-Datentyp REAL 128446 Datentyp CHAR 129447 Datentypen fuumlr Zeitdauern und Zeitpunkte 130

45 Zusammengesetzte Datentypen 132451 Zeichenkette STRING 132452 Datentyp ARRAY 134453 Datentyp STRUCT 136

46 Parametertypen und Zeiger 138461 Parametertypen 138462 Zeiger 139463 bdquoVariablerldquo ANY-Zeiger bei AWL 143464 bdquoVariablerldquo ANY-Zeiger bei SCL 143

47 PLC-Datentypen 146

48 Startinformation 147

5 Programmbearbeitung 148

51 Betriebszustaumlnde der CPU-Baugruppe 148511 Betriebszustand STOP 149512 Betriebszustand ANLAUF 150513 Betriebszustand RUN 152514 Betriebszustand HALT 152515 CPU urloumlschen 153516 Auslieferungszustand wiederherstellen 153517 Remanenzverhalten von Operanden 154

52 Anwenderprogramm erstellen 154521 Programmentwurf 154522 Programmbearbeitung 158523 Bausteinarten 160524 Bausteineigenschaften bearbeiten 161525 Bausteinschnittstelle 165526 Beispiel zur Verwendung von Bausteinparametern 167

53 Bausteine aufrufen 169531 Allgemeines zu Aufrufen von Codebausteinen 169532 Aufruf von Funktionen (FC) 169533 Aufruf von Funktionsbausteinen (FB) 171534 bdquoWeiterreichenldquo von Bausteinparametern 174

54 Anlaufprogramm 175541 Organisationsbaustein OB 100 175542 Baugruppenadresse ermitteln 176543 Baugruppen parametrieren 178

Inhaltsverzeichnis

11

55 Hauptprogramm 181551 Organisationsbaustein OB 1 181552 Prozessabbild-Aktualisierung 182553 Zykluszeit und Reaktionszeit 183554 Programm anhalten stoppen und schuumltzen 185555 Uhrzeit 187556 Systemzeit lesen 189557 Betriebsstundenzaumlhler 190

56 Alarmbearbeitung 191561 Einfuumlhrung zur Alarmbearbeitung 191562 Prioritaumltsklassen 192563 Uhrzeitalarm Organisationsbaustein OB 10 192564 Verzoumlgerungsalarme Organisationsbausteine OB 20 und OB 21 196565 Weckalarme Organisationsbausteine OB 32 bis OB 35 198566 Prozessalarm Organisationsbaustein OB 40 200567 DPV1-Alarme Organisationsbausteine OB 55 bis OB 57 202568 Taktsynchronalarm Organisationsbaustein OB 61 202569 Alarmzusatzinformation lesen 205

57 Fehlerbehandlung 206571 Fehlerursachen und Fehlerreaktion 206572 Synchronfehler 206573 Synchronfehlerbearbeitung sperren und freigeben 208574 Ersatzwert eintragen 211575 Asynchronfehler 212576 Alarme und Asynchronfehler sperren verzoumlgern und freigeben 215

58 Diagnose 217581 Diagnosealarm Organisationsbaustein OB 82 217582 Systemzustandsliste lesen 219583 Startinformation lesen 220584 Anwender-Diagnoseereignis in den Diagnosepuffer schreiben 221585 Systemdiagnose mit Report System Errors 222

6 Programmeditor 225

61 Einfuumlhrung 225

62 PLC-Variablentabelle 226621 Mit PLC-Variablentabellen arbeiten 226622 PLC-Variablen definieren und bearbeiten 226623 PLC-Variablen vergleichen 228624 PLC-Variablentabelle exportieren und importieren 229625 Konstantentabellen 230

63 Einen Codebaustein programmieren 230631 Einen neuen Codebaustein anlegen 230632 Arbeitsbereich des Programmeditors fuumlr Codebausteine 232633 Bausteineigenschaften fuumlr Codebausteine festlegen 233634 Bausteinschnittstelle programmieren 234635 Steuerungsfunktion programmieren 236

Inhaltsverzeichnis

12

636 Variablen editieren 240637 Mit Programmkommentaren arbeiten 242

64 Einen Datenbaustein programmieren 244641 Einen neuen Datenbaustein anlegen 244642 Arbeitsbereich des Programmeditors fuumlr Datenbausteine 244643 Bausteineigenschaften fuumlr Datenbausteine festlegen 246644 Datenvariablen deklarieren 246645 Datenvariablen in Globaldatenbausteinen eingeben 247

65 Bausteine uumlbersetzen 248651 Uumlbersetzung starten 248652 SCL-Bausteine uumlbersetzen 249653 Fehler nach der Uumlbersetzung beheben 249

66 Programminformationen 250661 Querverweisliste 251662 Belegungsplan 253663 Aufrufstruktur 254664 Abhaumlngigkeitsstruktur 255665 Konsistenzpruumlfung 255666 Speicherauslastung der CPU 256

7 Kontaktplan KOP 258

71 Einfuumlhrung 258711 Programmieren mit KOP allgemein 258712 Programmelemente des Kontaktplans 260

72 Binaumlre Verknuumlpfungen mit KOP programmieren 260721 Schlieszligerkontakt und Oumlffnerkontakt 260722 Reihen- und Parallelschaltung von Kontakten 262723 T-Abzweig offener Parallelzweig 263724 Verknuumlpfungsergebnis negieren 264725 Flankenauswertung einer Binaumlrvariablen 265726 Vergleich-Kontakte 265

73 Speicherfunktionen mit KOP programmieren 266731 Einfache Spule Zuweisung 266732 Setzen- und Ruumlcksetzen-Spule 268733 Speicherndes Verhalten durch Selbsthaltung 268734 Spulen mit Zeitverhalten 269735 Spulen mit Zaumlhlerverhalten 270

74 Q-Boxen mit KOP programmieren 271741 Speicher-Boxen 272742 Flankenauswertung des Stromflusses 272743 SIMATIC-Zeitfunktionen 273744 SIMATIC-Zaumlhlfunktionen 274745 IEC-Zeitfunktionen 274746 IEC-Zaumlhlfunktionen 276

75 ENENO-Boxen mit KOP programmieren 277751 Uumlbertragungsfunktion MOVE 277

Inhaltsverzeichnis

13

752 Arithmetische Funktionen 278753 Mathematische Funktionen 279754 Konvertierungsfunktionen 280755 Schiebefunktionen 281756 Wortverknuumlpfungen 282

76 Programmfluss bei KOP steuern 284761 Mit Statusbits im Kontaktplan arbeiten 284762 ENENO-Mechanismus bei KOP 286763 Sprungfunktionen 287764 Bausteinfunktionen 288765 Master Control Relay (MCR) 290

8 Funktionsplan FUP 292

81 Einfuumlhrung 292811 Programmieren mit FUP allgemein 292812 Programmelemente des Funktionsplans 294

82 Binaumlre Verknuumlpfungen mit FUP programmieren 295821 Abfrage auf Signalzustand bdquo1ldquo und auf Signalzustand bdquo0ldquo 295822 Eine binaumlre Verknuumlpfung im Funktionsplan programmieren 296823 UND-Funktion 297824 ODER-Funktion 297825 Exklusiv-ODER-Funktion 297826 Kombinierte binaumlre Verknuumlpfungen Verknuumlpfungsergebnis negieren 298827 T-Abzweig 299828 Flankenauswertung von Binaumlrvariablen 299829 Vergleichsfunktionen 300

83 Standard-Boxen mit FUP programmieren 301831 Zuweisung-Box 302832 Setzen- und Ruumlcksetzen-Box 302833 Standard-Boxen mit Zeitverhalten 303834 Standard-Boxen mit Zaumlhlerverhalten 304

84 Q-Boxen mit FUP programmieren 305841 Speicher-Boxen 305842 Flankenauswertung des Verknuumlpfungsergebnisses 307843 SIMATIC-Zeitfunktionen 308844 SIMATIC-Zaumlhlfunktionen 308845 IEC-Zeitfunktionen 309846 IEC-Zaumlhlfunktionen 309

85 ENENO-Boxen mit FUP programmieren 310851 Uumlbertragungsfunktion MOVE 312852 Arithmetische Funktionen 312853 Mathematische Funktionen 313854 Konvertierungsfunktionen 313855 Schiebefunktionen 315856 Wortverknuumlpfungen 316

Inhaltsverzeichnis

14

86 Programmfluss bei FUP steuern 318861 Mit Statusbits im Funktionsplan arbeiten 318862 ENENO-Mechanismus bei FUP 320863 Sprungfunktionen 321864 Bausteinfunktionen 322865 Master Control Relay (MCR) 324

9 Anweisungsliste AWL 326

91 Einfuumlhrung 326911 Programmieren mit AWL allgemein 326912 Aufbau einer AWL-Anweisung 327

92 Binaumlre Verknuumlpfungen mit AWL programmieren 328921 Bearbeitung einer binaumlren Verknuumlpfung Verknuumlpfungsschritt 328922 Abfrage auf Signalzustand bdquo1ldquo und auf Signalzustand bdquo0ldquo 330923 Eine binaumlre Verknuumlpfung in Anweisungsliste programmieren 331924 UND-Funktion 332925 ODER-Funktion 332926 Exklusiv-ODER-Funktion 333927 Kombinierte binaumlre Verknuumlpfungen 333928 Verknuumlpfungsergebnis steuern 336

93 Speicherfunktionen mit AWL programmieren 337931 Zuweisung 337932 Setzen und Ruumlcksetzen 338933 Flankenauswertung 338

94 Zeit- und Zaumlhlfunktionen mit AWL programmieren 339941 SIMATIC-Zeitfunktionen 339942 SIMATIC-Zaumlhlfunktionen 341943 IEC-Zeitfunktionen 342944 IEC-Zaumlhlfunktionen 343

95 Digitalfunktionen mit AWL programmieren 344951 Uumlbertragungsfunktionen 344952 Vergleichsfunktionen 346953 Arithmetische Funktionen 349954 Mathematische Funktionen 352955 Konvertierungsfunktionen 353956 Schiebefunktionen 354957 Wortverknuumlpfungen 356

96 Programmfluss bei AWL steuern 358961 Mit Statusbits in der Anweisungsliste arbeiten 359962 ENENO-Mechanismus bei AWL 361963 Sprungfunktionen 363964 Sprungverteiler 364965 Schleifensprung 364966 Bausteinfunktionen 365967 Master Control Relay (MCR) 368

97 Weitere AWL-Funktionen 369

Inhaltsverzeichnis

15

971 Akkumulatorfunktionen 369972 Addieren von Konstanten zum Akkumulator 1 371973 Dekrementieren Inkrementieren 372974 Nullanweisungen 373

10 Structured Control Language SCL 374

101 Einfuumlhrung in die Programmierung mit SCL 3741011 Programmieren mit SCL allgemein 3741012 SCL-Anweisungen und Operatoren 376

102 Binaumlre Verknuumlpfungen mit SCL programmieren 3781021 Abfrage auf Signalzustand bdquo1ldquo und auf Signalzustand bdquo0ldquo 3781022 UND-Funktion 3791023 ODER-Funktion 3791024 Exklusiv-ODER-Funktion 3801025 Kombinierte binaumlre Verknuumlpfungen 3801026 Verknuumlpfungsergebnis negieren 381

103 Speicherfunktionen mit SCL programmieren 3821031 Wertzuweisung einer Binaumlrvariablen 3821032 Setzen und Ruumlcksetzen 3821033 Flankenauswertung 382

104 Zeit- und Zaumlhlfunktionen mit SCL programmieren 3831041 SIMATIC-Zeitfunktionen 3831042 SIMATIC-Zaumlhlfunktionen 3841043 IEC-Zeitfunktionen 3851044 IEC-Zaumlhlfunktionen 386

105 Digitalfunktionen mit SCL programmieren 3871051 Uumlbertragungsfunktion Wertzuweisung einer Digitalvariablen 3871052 Vergleichsfunktionen 3871053 Arithmetische Funktionen 3881054 Mathematische Funktionen 3891055 Konvertierungsfunktionen 3901056 Schiebefunktionen 3911057 Wortverknuumlpfungen logischer Ausdruck 392

106 Programmfluss mit SCL steuern 3931061 Mit der Variablen ENO arbeiten 3931062 ENENO-Mechanismus bei SCL 3951063 Kontrollanweisungen 3961064 Bausteinfunktionen 404

11 Ablaufsteuerung S7-GRAPH 408

111 Einfuumlhrung 4081111 Was ist eine Ablaufsteuerung 4081112 Eigenschaften einer Ablaufsteuerung 4091113 Programm fuumlr eine Ablaufsteuerung Mengengeruumlst 4101114 Betriebsarten 4101115 Vorgehen bei der Projektierung 411

Inhaltsverzeichnis

16

112 Elemente einer Ablaufsteuerung 4121121 Schritte und Transitionen 4121122 Spruumlnge in einer Ablaufsteuerung 4131123 Verzweigungen einer Ablaufkette 4131124 GRAPH-spezifische Variablen 4151125 Permanente Anweisungen 4161126 Schritt- und Transitionsfunktionen 4161127 Bearbeitung von Aktionen 420

113 Eine Ablaufsteuerung projektieren 4261131 Den GRAPH-Funktionsbaustein programmieren 4271132 Projektieren der Kettenstruktur 4281133 Schritte und Transitionen programmieren 4291134 Permanente Anweisungen programmieren 4311135 Bausteinuumlbergreifende Meldungen projektieren 4311136 Attribute des GRAPH-Funktionsbausteins 4321137 GRAPH-Funktionsbaustein anwenden 433

114 Ablaufsteuerung testen 4341141 GRAPH-Funktionsbaustein laden 4351142 Einstellungen zum Programmtest 4351143 Betriebsarten verwenden 4361144 Ablaufkette synchronisieren 4371145 Mit Programmstatus testen 438

12 Basisfunktionen 440

121 Binaumlre Verknuumlpfungen 4401211 Einfuumlhrung 4401212 Arbeiten mit Binaumlrsignalen 4411213 UND-Funktion Reihenschaltung 4441214 ODER-Funktion Parallelschaltung 4451215 Exklusiv-ODER-Funktion Antivalenzfunktion 4451216 Verknuumlpfungsergebnis negieren NOT-Kontakt 446

122 Speicherfunktionen 4481221 Einfuumlhrung 4481222 Standardspule Zuweisung 4481223 Einzelnes Setzen und Ruumlcksetzen 4481224 Vorrangiges Setzen und Ruumlcksetzen Speicherfunktion 4501225 Flankenauswertung 452

123 SIMATIC-Zeitfunktionen 4571231 Uumlbersicht 4571232 Programmieren einer Zeitfunktion 4601233 Zeitverhalten als Impuls 4621234 Zeitverhalten als verlaumlngerter Impuls 4641235 Zeitverhalten als Einschaltverzoumlgerung 4661236 Zeitverhalten als speichernde Einschaltverzoumlgerung 4681237 Zeitverhalten als Ausschaltverzoumlgerung 470

124 IEC-Zeitfunktionen 472

Inhaltsverzeichnis

17

1241 Einfuumlhrung 4721242 Impulsbildung TP 4731243 Einschaltverzoumlgerung TON 4741244 Ausschaltverzoumlgerung TOF 475

125 SIMATIC-Zaumlhlfunktionen 4761251 Uumlbersicht 4761252 Programmieren einer Zaumlhlfunktion 4781253 Funktionsweise einer Zaumlhlfunktion 4801254 Freigeben einer Zaumlhlfunktion bei AWL 482

126 IEC-Zaumlhlfunktionen 4831261 Einfuumlhrung 4831262 Vorwaumlrtszaumlhler CTU 4841263 Ruumlckwaumlrtszaumlhler CTD 4851264 VorwaumlrtsRuumlckwaumlrtszaumlhler CTUD 487

13 Digitalfunktionen 488

131 Allgemeines 488

132 Uumlbertragungsfunktionen 4891321 Allgemeines zur bdquoeinfachenldquo Uumlbertragungsfunktion 4891322 MOVE-Box bei KOP und FUP 4891323 Laden und Transferieren bei AWL 4911324 Wertzuweisungen bei SCL 4921325 Datenbereich im Arbeitsspeicher kopieren und fuumlllen 4941326 Datenbereich vom und zum Ladespeicher uumlbertragen 4971327 Speicherbereich steuern bei MCR-Abhaumlngigkeit 498

133 Vergleichsfunktionen 5011331 Ausfuumlhrung der bdquoeinfachenldquo Vergleichsfunktion 5011332 Vergleichsfunktion T_COMP 5031333 Vergleichsfunktion S_COMP 503

134 Arithmetische Funktionen 5041341 Allgemeine Funktionsbeschreibung 5041342 Datentypen und Statusbits bei einer arithmetischen Funktion 5051343 Ausfuumlhrung der arithmetischen Funktion 5071344 Arithmetische Funktionen fuumlr Datum und Uhrzeit 508

135 Mathematische Funktionen 5101351 Allgemeine Funktionsbeschreibung 5101352 Allgemeine Ausfuumlhrung einer mathematischen Funktion 5111353 Winkelfunktionen SIN COS TAN 5111354 Arcusfunktionen ASIN ACOS ATAN 5121355 Sonstige mathematische Funktionen 512

136 Konvertierungsfunktionen 5141361 Implizite Datentypwandlung 5141362 Datentypwandlung von Festpunktzahlen 5151363 Datentypwandlung von Gleitpunktzahlen 5181364 Datentypwandlung fuumlr DatumUhrzeit mit T_CONV 5211365 Datentypwandlung fuumlr Datentyp STRING mit S_CONV 522

Inhaltsverzeichnis

18

1366 Datentypwandlung von Hexadezimalzahlen 5241367 Skalieren und Deskalieren 5251368 Sonstige Konvertierungsfunktionen 526

137 Schiebefunktionen 5271371 Allgemeine Funktionsbeschreibung 5271372 Allgemeine Ausfuumlhrung einer Schiebefunktion 5291373 Rechts schieben 5301374 Links schieben 5301375 Rechts rotieren 5311376 Links rotieren 5321377 Rotieren durch das Anzeigenbit A1 (AWL) 532

138 Logikfunktionen 5321381 Wortverknuumlpfungen 5331382 Invertieren 5351383 Bit codieren und Bitnummer setzen 5361384 Auswahl- und Begrenzerfunktionen 537

139 Funktionen fuumlr Zeichenketten 540

14 Programmfluss-Steuerung 544

141 Statusbits 5451411 Beschreibung der Statusbits 5451412 Steuern der Statusbits 5471413 Verknuumlpfungsergebnis setzen und ruumlcksetzen 5481414 Binaumlrergebnis steuern 5491415 Auswertung der Statusbits 552

142 Sprungfunktionen 5531421 Einfuumlhrung 5531422 Absoluter Sprung 5531423 Bedingte Sprungfunktionen 5551424 Von den Statusbits abhaumlngige Sprungfunktionen 556

143 Bausteinende-Funktionen 5591431 Bausteinende-Funktion RET (KOP und FUP) 5601432 Bausteinende-Funktionen BEB BEA und BE (AWL) 5601433 RETURN-Anweisung (SCL) 561

144 Aufruf von Codebausteinen 5611441 Allgemeines zu Bausteinaufrufen 5611442 Aufruf einer Funktion (FC) 5621443 Aufruf eines Funktionsbausteins (FB) 5641444 Wechsel zu einem Baustein ohne Bausteinparameter 566

145 Datenbausteinfunktionen 5681451 Datenbaustein aufschlagen 5691452 Zusaumltzliche Datenbausteinfunktionen bei AWL 5701453 Datenbaustein erzeugen loumlschen und testen 571

146 Master Control Relay 5741461 Einfuumlhrung 5741462 MCR-Abhaumlngigkeit 575

Inhaltsverzeichnis

19

1463 MCR-Bereich und MCR-Zone 5751464 MCR-Bereich und MCR-Zone bei einem Bausteinwechsel 5781465 Anweisungen fuumlr das Master Control Relay 578

15 Online-Betrieb und Programmtest 580

151 Programmiergeraumlt an die PLC-Station anschlieszligen 5811511 Einstellungen am Programmiergeraumlt 5811512 Das Programmiergeraumlt mit der PLC-Station verbinden 5821513 Den Online-Betrieb einschalten 583

152 Projektdaten uumlbertragen 5841521 Die Projektdaten erstmalig laden 5841522 Die Projektdaten nachladen 5871523 Schutz des Anwenderprogramms 5881524 Online-Projekt ohne Offline-Projekt bearbeiten 5891525 Mit der Micro Memory Card arbeiten 590

153 Mit Bausteinen im Online-Betrieb arbeiten 5901531 Einfuumlhrung 5901532 Die Online-Version eines Bausteins bearbeiten 5911533 Einen Baustein in die CPU-Baugruppe laden 5921534 Den Arbeitsspeicher komprimieren 5941535 Bausteine aus der CPU zuruumlckladen 5941536 Mit Einstellwerten arbeiten 5961537 Bausteine vergleichen 598

154 Hardware-Diagnose 6011541 Status-Anzeigen an den Baugruppen 6011542 Diagnose-Informationen 6021543 Diagnosepuffer 6021544 Diagnose-Funktionen 6041545 Online-Tools 6041546 Weitere Diagnose-Informationen uumlber das Programmiergeraumlt 605

155 Anwenderprogramm testen 6061551 Aufrufumgebung definieren 6061552 Testen mit Programmstatus 6071553 Testen im Einzelschrittmodus 6111554 PLC-Variablen beobachten 6141555 Datenvariablen beobachten 6141556 Testen mit Beobachtungstabellen 6151557 Beobachten und Steuern im Betriebszustand STOP 6201558 Testen mit der Force-Tabelle 622

16 Dezentrale Peripherie 626

161 Einfuumlhrung Uumlbersicht 626

162 Dezentrales Peripheriesystem ET 200 6271621 ET 200M 6271622 ET 200MP 6281623 ET 200S 628

Inhaltsverzeichnis

20

1624 ET 200SP 6291625 ET 200iSP 6301626 ET 200pro 6311627 ET 200eco 631

163 PROFINET IO 6321631 Komponenten von PROFINET IO 6321632 Adressen bei PROFINET IO 6351633 Spezielle PROFINET-Konfigurationen 6381634 PROFINET IO projektieren 6391635 Kopplungsbaugruppen fuumlr PROFINET IO 6431636 Echtzeit-Kommunikation bei PROFINET 644

164 PROFIBUS DP 6491641 Komponenten von PROFIBUS DP 6491642 Adressen bei PROFIBUS DP 6521643 PROFIBUS DP projektieren 6561644 Kopplungsbaugruppen fuumlr PROFIBUS DP 6591645 Sonderfunktionen fuumlr PROFIBUS DP 661

165 Taktsynchronitaumlt 6621651 Einfuumlhrung 6621652 Taktsynchronitaumlt bei PROFINET 6631653 Taktsynchronitaumlt bei PROFIBUS 666

166 Systembausteine fuumlr dezentrale Peripherie 6691661 Systembausteine fuumlr PROFIBUS DP 6691662 Systembausteine fuumlr PROFIBUS DP und PROFINET IO 6731663 Systembausteine fuumlr PROFINET IO 676

167 AktorSensor-Interface 6791671 Komponenten von AktorSensor-Interface 6791672 Adressen am AktorSensor-Interface 6811673 AktorSensor-Interface mit CP 343-2P projektieren 6811674 Systemfunktionen fuumlr AS-i 683

17 Kommunikation 684

171 Uumlbersicht 684

172 S7-Basiskommunikation 6851721 Grundlagen der stationsinternen S7-Basiskommunikation 6851722 Stationsinterne S7-Basiskommunikation projektieren 6861723 Systembausteine fuumlr stationsinterne S7-Basiskommunikation 6861724 Grundlagen der stationsexternen S7-Basiskommunikation 6881725 Stationsexterne S7-Basiskommunikation projektieren 6891726 Systembausteine fuumlr stationsexterne S7-Basiskommunikation 689

173 S7-Kommunikation 6921731 Grundlagen 6921732 S7-Kommunikation projektieren 6931733 Einseitiger Datenaustausch 6951734 Zweiseitiger Datenaustausch 6961735 Uumlberwachungsfunktionen 699

Inhaltsverzeichnis

21

174 Open User Communication 700

1741 Grundlagen 700

1742 Verbindungen auf- und abbauen 702

1743 Datenuumlbertragung mit TCP native oder ISO-on-TCP 704

1744 Datenuumlbertragung mit UDP 707

18 Anhang 710

181 Arbeiten mit Quelldateien 710

1811 Allgemeines Vorgehen 710

1812 Einen Codebaustein in der Quelldatei programmieren 712

1813 Einen Datenbaustein in der Quelldatei programmieren 715

1814 Einen PLC-Datentyp in der Quelldatei programmieren 719

182 Projekte migrieren 720

183 Simulation mit dem TIA Portal 724

1831 Unterschiede zu einer realen CPU-Baugruppe 724

1832 Simulation starten und speichern 725

1833 Die Simulation bedienen 726

1834 Programm mit der Simulation testen 728

1835 Weitere Funktionen von PLCSIM 730

184 Webserver 731

1841 Webserver aktivieren 731

1842 Web-Informationen auslesen 732

1843 Standard-Webseiten 733

185 Ablage von lokalen Variablen 736

1851 Ablage in Global-Datenbausteinen 736

1852 Ablage in Instanz-Datenbausteinen 737

1853 Ablage in den temporaumlren Lokaldaten 738

1854 Datenablage der Bausteinparameter einer Funktion (FC) 739

1855 Datenablage der Bausteinparameter eines Funktionsbausteins (FB) 742

1856 Datenablage einer Lokalinstanz in einer Multiinstanz 744

Stichwortverzeichnis 746

1 Einfuumlhrung

22

1 Einfuumlhrung

11 Uumlbersicht Automatisierungssystem S7-300

SIMATIC S7-300 ist das modulare Kleinsteuersystem fuumlr den unteren und mittlerenLeistungsbereich (Bild 11) Verschiedene Varianten der Controller passen die Leis-tungsfaumlhigkeit an den jeweiligen Einsatzfall an Je nach Bedarf kann das Automati-sierungsgeraumlt mit Ein-Ausgabebaugruppen fuumlr Digital- und Analogsignale in biszu vier Baugruppentraumlgern mit je acht Baugruppen modular erweitert werden

Eine zusaumltzliche Erweiterung mit Ein-Ausgabebaugruppen bietet die dezentralePeripherie uumlber PROFIBUS oder PROFINET Mit besonderen Bauformen fuumlr erhoumlhtemechanische Anforderungen ausgestattet koumlnnen diese Baugruppen vor Ort ander Maschine oder Anlage installiert werden Die Steuerungsgeraumlte SIMATIC S7-300werden mit STEP 7 konfiguriert projektiert und programmiert Der Datenaus-tausch zwischen den Steuerungsgeraumlten der dezentralen Peripherie und dem Pro-grammiergeraumlt geschieht mit SIMATIC NET

Bild 11 Bestandteile des Automatisierungssystems SIMATIC S7-300

SIMATIC Controller steuern dieMaschine oder Anlage

Die dezentrale Peripherie erweitert dieSchnittstelle zur Maschine oder Anlage

SIMATIC NET

SIMATIC DP STEP 7Professional V12

SIMATIC S7-300

Die Vernetzung ermoumlglicht denDatenaustausch und den zentralenOnline-Zugriff

Mehrere Varianten der Controllererweitern das Einsatzspektrum

STEP 7 ist die Engineeringsoftware zumKonfigurieren undProgrammieren

Projektieren

Automatisierungssystem SIMATIC S7-300

11 Uumlbersicht Automatisierungssystem S7-300

23

111 Automatisierungsgeraumlt SIMATIC S7-300

Die wesentlichen Bestandteile eines S7-300-Automatisierungsgeraumlts sind im Bild12 dargestellt

Die CPU-Baugruppe enthaumllt das Betriebssystem und das AnwenderprogrammDas Anwenderprogramm steht spannungsausfallsicher auf der in der CPU-Bau-gruppe steckenden Micro Memory Card (MMC) Die Bearbeitung des Anwenderpro-gramms findet im Arbeitsspeicher in der CPU statt Die auf der CPU-Baugruppe vor-handenen Busschnittstellen stellen die Verbindung zu anderen Automatisierungs-geraumlten her

Die Verbindung zur gesteuerten Anlage uumlbernehmen SM-Baugruppen Diese Ein-und Ausgabebaugruppen gibt es fuumlr Digital- und Analogsignale

Die FM-Baugruppen sind signalvorverarbeitende bdquointelligenteldquo Peripheriebau-gruppen die vom Prozess kommende Signale unabhaumlngig von der CPU aufberei-ten verarbeiten und entweder wieder direkt an den Prozess zuruumlckgeben oder ander internen Schnittstelle der CPU zur Verfuumlgung stellen FM-Baugruppen uumlber-nehmen Funktionen die die CPU meist nicht schnell genug ausfuumlhren kann wiez B Impulse zaumlhlen positionieren oder Antriebe regeln

Die CP-Baugruppen gestatten einen Datenverkehr der die Moumlglichkeiten derStandard-Schnittstellen bezuumlglich Protokolle und Kommunikationsfunktionenuumlberschreitet

Die IM-Baugruppen verbinden bei einer Erweiterung den Zentralbaugruppentrauml-ger mit bis zu drei Erweiterungsbaugruppentraumlgern

Eine Stromversorgungsbaugruppe sorgt schlieszliglich fuumlr die benoumltigte Spannungim Automatisierungsgeraumlt

Bild 12 Bestandteile einer S7-300-Steuerung

Erweiterungsbaugruppentraumlger

Zentralbaugruppentraumlger SM-Baugruppen(Signal Modules)

Auf den Baugruppen-traumlgern sind steckbar

FM-Baugruppen(Function Modules)

CP-Baugruppen(CommunicationProcessors)

IM-Baugruppe(Interface Module)

IM-Baugruppe(Interface Module)

CPU-Baugruppe(Central Processor Unit)

PS-Baugruppe(Power Supply)

Baugruppen-traumlger (Rack)

Bestandteile einer S7-300-Steuerung

S

1 Einfuumlhrung

24

112 Uumlbersicht STEP 7 Professional V12

STEP 7 ist das zentrale Automatisierungswerkzeug fuumlr SIMATIC STEP 7 benoumltigtzum Betrieb eine Autorisierung (Lizenz) und laumluft auf den jeweils aktuellen Be-triebssystemen unter Microsoft Windows Die Projektierung eines S7-300-Control-lers geschieht mit zwei Ansichten der Portalansicht und der Projektansicht

Die Portalansicht ist aufgabenorientiert angelegt

Im Startportal oumlffnen Sie ein bestehendes Projekt erstellen ein neues Projekt odermigrieren ein Projekt Ein bdquoProjektldquo ist eine Datenstruktur die alle erforderlichenProgramme und Daten fuumlr Ihr Automatisierungsvorhaben enthaumllt Von hier aussind die wichtigsten Werkzeuge und Funktionen von STEP 7 uumlber weitere Portale er-reichbar (Bild 13)

b Im Portal Geraumlte amp Netze konfigurieren Sie die Automatisierungsgeraumlte d h Sieplatzieren die Baugruppen in einem Baugruppentraumlger und parametrieren sie

b Im Portal PLC-Programmierung erstellen Sie das Anwenderprogramm in Formvon einzelnen Abschnitten die man bdquoBausteineldquo nennt

b Das Portal Visualisierung bietet die wichtigsten Werkzeuge fuumlr die Projektierungund Simulation von HMI-Systemen mit SIMATIC WinCC an

Bild 13 Werkzeuge im Startportal von STEP 7 Professional V12

11 Uumlbersicht Automatisierungssystem S7-300

25

b Mit dem Portal Motion amp Technology fuumlgen Sie ein Technologie-Objekt fuumlr PIDControl ein und bearbeiten es

b Mit dem Portal Online amp Diagnose schalten Sie das Programmiergeraumlt online aneine CPU-Baugruppe Sie koumlnnen die Betriebsarten der CPU steuern und das An-wenderprogramm uumlbertragen und testen

Die Projektansicht bietet eine objektorientierte Ansicht mit mehreren Fensternderen Inhalt je nach ausgefuumlhrter Taumltigkeit wechselt In der Geraumltekonfigurationsteht der Arbeitsbereich mit dem zu konfigurierenden Geraumlt im Mittelpunkt In derGeraumltesicht wird der Baugruppentraumlger mit den bereits platzierten Baugruppen ge-zeigt (Bild 14) Ein weiteres Fenster ndash das Inspektorfenster ndash enthaumllt die Eigen-schaften der selektierten Baugruppe das Aufgaben-Fenster (Task Card) gibt Unter-stuumltzung durch den Hardware-Katalog mit den zur Verfuumlgung stehenden Baugrup-pen Die Netzsicht gestattet die Vernetzung zwischen PLC- und HMI-Stationen

Bei der PLC-Programmierung bearbeiten Sie im Arbeitsbereich den ausgewaumlhltenBaustein Wiederum sehen Sie im Inspektorfenster die Eigenschaften des markier-ten Objekts und koumlnnen diese einstellen Das Aufgabenfenster enthaumllt diesmal denProgrammelemente-Katalog mit den zur Verfuumlgung stehenden Programmelemen-ten und Anweisungen Aumlhnliches gilt fuumlr die Bearbeitung der PLC-Variablen oderbeim Online-Programmtest durch Beobachtungstabellen

Bild 14 Beispiel fuumlr die Projektansicht Arbeitsbereich der Geraumltekonfiguration

1 Einfuumlhrung

26

Und stets haben Sie die Projektnavigation im Blickfeld Sie enthaumllt alle Objekte desSTEP-7-Projekts So koumlnnen Sie jederzeit ein Objekt beispielsweise einen Pro-grammbaustein oder eine Beobachtungstabelle auswaumlhlen und dieses Objekt mitden entsprechenden Editoren die beim Oumlffnen des Objekts automatisch startenbearbeiten

113 Fuumlnf Programmiersprachen

Als Programmiersprache fuumlr das Anwenderprogramm koumlnnen Sie zwischen Kon-taktplan (KOP) Funktionsplan (FUP) Anweisungsliste (AWL) Structured ControlLanguage (SCL) und Ablaufsteuerung (GRAPH) waumlhlen

Mit Kontaktplan programmieren Sie die Steuerungsaufgabe angelehnt an denStromlaufplan Die Verknuumlpfung der binaumlren Signalzustaumlnde wird durch die seriel-le oder parallele Anordnung von Kontakten und Spulen dargestellt (Bild 15) Kom-plexe Funktionen wie beispielsweise die arithmetischen Funktionen werden mitBoxen dargestellt die Sie wie Kontakte oder Spulen im Kontaktplan anordnen

Mit Funktionsplan programmieren Sie die Steuerungsaufgabe angelehnt an elektro-nische Schaltkreissysteme Binaumlre Verknuumlpfungen werden durch Verschaltung vonUND- und ODER-Funktionen realisiert und mit Speicher-Boxen abgeschlossen (Bild16) Komplexe Boxen uumlbernehmen die Verknuumlpfung digitaler Variablen beispiels-weise bei den arithmetischen Funktionen

Bild 15 Beispiel fuumlr die Darstellung in Kontaktplan

Bild 16 Beispiel fuumlr die Darstellung in Funktionsplan

11 Uumlbersicht Automatisierungssystem S7-300

27

Mit Anweisungsliste programmieren Sie die Steuerungsaufgabe durch eine Folgevon Anweisungen Jede AWL-Anweisung enthaumllt eine Vorschrift was zu tun ist undeventuell einen Operand mit dem die Operation ausgefuumlhrt wird AWL ist gleicher-maszligen geeignet fuumlr binaumlre und digitale Verknuumlpfungen wie fuumlr die Programmierungkomplexer Steuerungsaufgaben (Bild 17)

Structured Control Language eignet sich besonders fuumlr die Programmierung vonkomplexen Algorithmen oder fuumlr Aufgabenstellungen aus dem Bereich der Datenver-waltung Das Programm besteht aus SCL-Anweisungen die beispielsweise Wertzuwei-sungen Vergleiche oder Kontrollanweisungen sein koumlnnen (Bild 18)

Mit GRAPH programmieren Sie eine Steuerungsaufgabe als Ablaufsteuerung in derdie sequenzielle Folge von Aktionen vorherrscht Die einzelnen Schritte und Verzwei-gungen werden durch Weiterschaltbedingungen freigegeben die mit KOP oder FUPprogrammiert werden koumlnnen (Bild 19)

114 Bearbeitung des Anwenderprogramms

Nach dem Einschalten der Versorgungsspannung pruumlft der Steuerungsprozessordie Konsistenz der Hardware und parametriert die Baugruppen Anschlieszligend wirdeinmalig ndash falls vorhanden ndash ein Anlaufprogramm bearbeitet Das Anlaufpro-

Bild 17 Beispiel fuumlr AWL-Anweisungen

Bild 18 Beispiel fuumlr SCL-Anweisungen

1 Einfuumlhrung

28

gramm gehoumlrt zum Anwenderprogramm das Sie programmieren Im Anlaufpro-gramm koumlnnen beispielsweise Baugruppen initialisiert werden

Das Anwenderprogramm ist in der Regel in einzelne Abschnitte ndash bdquoBausteineldquo ge-nannt ndash eingeteilt Die Organisationsbausteine (OB) sind die Schnittstelle zwischenBetriebssystem und Anwenderprogramm Das Betriebssystem ruft zu bestimmtenEreignissen einen Organisationsbaustein auf in dem dann das Anwenderpro-gramm bearbeitet wird (Bild 110)

Bild 19 Beispiel fuumlr eine GRAPH-Ablaufkette und eine Schrittprojektierung

Bild 110 Bearbeitung des Anwenderprogramms

Anlauf-programm

Alarm- undFehlerprogramm

Haupt-programm

Bearbeitung des Anwenderprogramms

Einschalten

Aktualisierung derEin- und Ausgaumlnge

Unterbrechung(Alarm oder Fehler)

BetriebszustandANLAUF

Betriebssystem Anwenderprogramm

BetriebszustandRUN

OB

OB

FBFC

FBFC

FBFC

FBFC

FBFC

FBFC

OB

Unterbrechung

11 Uumlbersicht Automatisierungssystem S7-300

29

Zur Strukturierung das Programms stehen Funktionsbausteine (FB) und Funktio-nen (FC) zur Verfuumlgung Funktionsbausteine haben einen Speicher in dem lokaleVariablen dauerhaft abgelegt sind Funktionen haben diesen Speicher nicht

Fuumlr den Aufruf (das Starten der Bearbeitung) von Funktionsbausteinen und Funk-tionen gibt es Programmanweisungen Jeder Bausteinaufruf kann mit Ein- undAusgaumlngen ndash bdquoBausteinparameterldquo genannt ndash versehen werden Beim Aufruf koumln-nen Variablen uumlbergeben werden mit denen das Programm im Baustein arbeitensoll Auf diese Weise kann ein Baustein mit einer gewissen Funktion (z B der Addi-tion von drei Variablen) mehrfach mit unterschiedlichen Parametersaumltzen (z B fuumlrunterschiedliche Berechnungen) aufgerufen werden (Bild 111)

Die Daten des Anwenderprogramms werden in Datenbausteinen (DB) abgelegtInstanz-Datenbausteine sind einem Aufruf eines Funktionsbausteins fest zugeord-net und bilden den Variablenspeicher des Funktionsbausteins Global-Datenbau-steine enthalten Daten die keinem Baustein zugeordnet sind

Nach einem Anlauf aktualisiert der Steuerungsprozessor die Ein- und Ausgangs-signale in den Prozessabbildern und ruft den Organisationsbaustein OB 1 auf Hiersteht das Hauptprogramm Auch im Hauptprogramm ist eine Strukturierung moumlg-lich und zu empfehlen Ist das Hauptprogramm bearbeitet wechselt der Steue-rungsprozessor zuruumlck ins Betriebssystem haumllt beispielsweise die Kommunikati-on mit dem Programmiergeraumlt aufrecht aktualisiert die Ein- und Ausgangssignaleund beginnt dann erneut mit der Bearbeitung des Hauptprogramms

Die zyklische Programmbearbeitung ist ein Merkmal speicherprogrammierbarerSteuerungen Das Anwenderprogramm wird auch dann bearbeitet wenn bdquovon au-szligenldquo keine Aktionen gefordert sind wenn also z B die gesteuerte Maschine stehtDies hat Vorteile bei der Programmierung Sie programmieren beispielsweise den

Bild 111 Beispiel fuumlr zwei Aufrufe eines Bausteins mit jeweils verschiedenen Variablen

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

Inhaltsverzeichnis

11

55 Hauptprogramm 181551 Organisationsbaustein OB 1 181552 Prozessabbild-Aktualisierung 182553 Zykluszeit und Reaktionszeit 183554 Programm anhalten stoppen und schuumltzen 185555 Uhrzeit 187556 Systemzeit lesen 189557 Betriebsstundenzaumlhler 190

56 Alarmbearbeitung 191561 Einfuumlhrung zur Alarmbearbeitung 191562 Prioritaumltsklassen 192563 Uhrzeitalarm Organisationsbaustein OB 10 192564 Verzoumlgerungsalarme Organisationsbausteine OB 20 und OB 21 196565 Weckalarme Organisationsbausteine OB 32 bis OB 35 198566 Prozessalarm Organisationsbaustein OB 40 200567 DPV1-Alarme Organisationsbausteine OB 55 bis OB 57 202568 Taktsynchronalarm Organisationsbaustein OB 61 202569 Alarmzusatzinformation lesen 205

57 Fehlerbehandlung 206571 Fehlerursachen und Fehlerreaktion 206572 Synchronfehler 206573 Synchronfehlerbearbeitung sperren und freigeben 208574 Ersatzwert eintragen 211575 Asynchronfehler 212576 Alarme und Asynchronfehler sperren verzoumlgern und freigeben 215

58 Diagnose 217581 Diagnosealarm Organisationsbaustein OB 82 217582 Systemzustandsliste lesen 219583 Startinformation lesen 220584 Anwender-Diagnoseereignis in den Diagnosepuffer schreiben 221585 Systemdiagnose mit Report System Errors 222

6 Programmeditor 225

61 Einfuumlhrung 225

62 PLC-Variablentabelle 226621 Mit PLC-Variablentabellen arbeiten 226622 PLC-Variablen definieren und bearbeiten 226623 PLC-Variablen vergleichen 228624 PLC-Variablentabelle exportieren und importieren 229625 Konstantentabellen 230

63 Einen Codebaustein programmieren 230631 Einen neuen Codebaustein anlegen 230632 Arbeitsbereich des Programmeditors fuumlr Codebausteine 232633 Bausteineigenschaften fuumlr Codebausteine festlegen 233634 Bausteinschnittstelle programmieren 234635 Steuerungsfunktion programmieren 236

Inhaltsverzeichnis

12

636 Variablen editieren 240637 Mit Programmkommentaren arbeiten 242

64 Einen Datenbaustein programmieren 244641 Einen neuen Datenbaustein anlegen 244642 Arbeitsbereich des Programmeditors fuumlr Datenbausteine 244643 Bausteineigenschaften fuumlr Datenbausteine festlegen 246644 Datenvariablen deklarieren 246645 Datenvariablen in Globaldatenbausteinen eingeben 247

65 Bausteine uumlbersetzen 248651 Uumlbersetzung starten 248652 SCL-Bausteine uumlbersetzen 249653 Fehler nach der Uumlbersetzung beheben 249

66 Programminformationen 250661 Querverweisliste 251662 Belegungsplan 253663 Aufrufstruktur 254664 Abhaumlngigkeitsstruktur 255665 Konsistenzpruumlfung 255666 Speicherauslastung der CPU 256

7 Kontaktplan KOP 258

71 Einfuumlhrung 258711 Programmieren mit KOP allgemein 258712 Programmelemente des Kontaktplans 260

72 Binaumlre Verknuumlpfungen mit KOP programmieren 260721 Schlieszligerkontakt und Oumlffnerkontakt 260722 Reihen- und Parallelschaltung von Kontakten 262723 T-Abzweig offener Parallelzweig 263724 Verknuumlpfungsergebnis negieren 264725 Flankenauswertung einer Binaumlrvariablen 265726 Vergleich-Kontakte 265

73 Speicherfunktionen mit KOP programmieren 266731 Einfache Spule Zuweisung 266732 Setzen- und Ruumlcksetzen-Spule 268733 Speicherndes Verhalten durch Selbsthaltung 268734 Spulen mit Zeitverhalten 269735 Spulen mit Zaumlhlerverhalten 270

74 Q-Boxen mit KOP programmieren 271741 Speicher-Boxen 272742 Flankenauswertung des Stromflusses 272743 SIMATIC-Zeitfunktionen 273744 SIMATIC-Zaumlhlfunktionen 274745 IEC-Zeitfunktionen 274746 IEC-Zaumlhlfunktionen 276

75 ENENO-Boxen mit KOP programmieren 277751 Uumlbertragungsfunktion MOVE 277

Inhaltsverzeichnis

13

752 Arithmetische Funktionen 278753 Mathematische Funktionen 279754 Konvertierungsfunktionen 280755 Schiebefunktionen 281756 Wortverknuumlpfungen 282

76 Programmfluss bei KOP steuern 284761 Mit Statusbits im Kontaktplan arbeiten 284762 ENENO-Mechanismus bei KOP 286763 Sprungfunktionen 287764 Bausteinfunktionen 288765 Master Control Relay (MCR) 290

8 Funktionsplan FUP 292

81 Einfuumlhrung 292811 Programmieren mit FUP allgemein 292812 Programmelemente des Funktionsplans 294

82 Binaumlre Verknuumlpfungen mit FUP programmieren 295821 Abfrage auf Signalzustand bdquo1ldquo und auf Signalzustand bdquo0ldquo 295822 Eine binaumlre Verknuumlpfung im Funktionsplan programmieren 296823 UND-Funktion 297824 ODER-Funktion 297825 Exklusiv-ODER-Funktion 297826 Kombinierte binaumlre Verknuumlpfungen Verknuumlpfungsergebnis negieren 298827 T-Abzweig 299828 Flankenauswertung von Binaumlrvariablen 299829 Vergleichsfunktionen 300

83 Standard-Boxen mit FUP programmieren 301831 Zuweisung-Box 302832 Setzen- und Ruumlcksetzen-Box 302833 Standard-Boxen mit Zeitverhalten 303834 Standard-Boxen mit Zaumlhlerverhalten 304

84 Q-Boxen mit FUP programmieren 305841 Speicher-Boxen 305842 Flankenauswertung des Verknuumlpfungsergebnisses 307843 SIMATIC-Zeitfunktionen 308844 SIMATIC-Zaumlhlfunktionen 308845 IEC-Zeitfunktionen 309846 IEC-Zaumlhlfunktionen 309

85 ENENO-Boxen mit FUP programmieren 310851 Uumlbertragungsfunktion MOVE 312852 Arithmetische Funktionen 312853 Mathematische Funktionen 313854 Konvertierungsfunktionen 313855 Schiebefunktionen 315856 Wortverknuumlpfungen 316

Inhaltsverzeichnis

14

86 Programmfluss bei FUP steuern 318861 Mit Statusbits im Funktionsplan arbeiten 318862 ENENO-Mechanismus bei FUP 320863 Sprungfunktionen 321864 Bausteinfunktionen 322865 Master Control Relay (MCR) 324

9 Anweisungsliste AWL 326

91 Einfuumlhrung 326911 Programmieren mit AWL allgemein 326912 Aufbau einer AWL-Anweisung 327

92 Binaumlre Verknuumlpfungen mit AWL programmieren 328921 Bearbeitung einer binaumlren Verknuumlpfung Verknuumlpfungsschritt 328922 Abfrage auf Signalzustand bdquo1ldquo und auf Signalzustand bdquo0ldquo 330923 Eine binaumlre Verknuumlpfung in Anweisungsliste programmieren 331924 UND-Funktion 332925 ODER-Funktion 332926 Exklusiv-ODER-Funktion 333927 Kombinierte binaumlre Verknuumlpfungen 333928 Verknuumlpfungsergebnis steuern 336

93 Speicherfunktionen mit AWL programmieren 337931 Zuweisung 337932 Setzen und Ruumlcksetzen 338933 Flankenauswertung 338

94 Zeit- und Zaumlhlfunktionen mit AWL programmieren 339941 SIMATIC-Zeitfunktionen 339942 SIMATIC-Zaumlhlfunktionen 341943 IEC-Zeitfunktionen 342944 IEC-Zaumlhlfunktionen 343

95 Digitalfunktionen mit AWL programmieren 344951 Uumlbertragungsfunktionen 344952 Vergleichsfunktionen 346953 Arithmetische Funktionen 349954 Mathematische Funktionen 352955 Konvertierungsfunktionen 353956 Schiebefunktionen 354957 Wortverknuumlpfungen 356

96 Programmfluss bei AWL steuern 358961 Mit Statusbits in der Anweisungsliste arbeiten 359962 ENENO-Mechanismus bei AWL 361963 Sprungfunktionen 363964 Sprungverteiler 364965 Schleifensprung 364966 Bausteinfunktionen 365967 Master Control Relay (MCR) 368

97 Weitere AWL-Funktionen 369

Inhaltsverzeichnis

15

971 Akkumulatorfunktionen 369972 Addieren von Konstanten zum Akkumulator 1 371973 Dekrementieren Inkrementieren 372974 Nullanweisungen 373

10 Structured Control Language SCL 374

101 Einfuumlhrung in die Programmierung mit SCL 3741011 Programmieren mit SCL allgemein 3741012 SCL-Anweisungen und Operatoren 376

102 Binaumlre Verknuumlpfungen mit SCL programmieren 3781021 Abfrage auf Signalzustand bdquo1ldquo und auf Signalzustand bdquo0ldquo 3781022 UND-Funktion 3791023 ODER-Funktion 3791024 Exklusiv-ODER-Funktion 3801025 Kombinierte binaumlre Verknuumlpfungen 3801026 Verknuumlpfungsergebnis negieren 381

103 Speicherfunktionen mit SCL programmieren 3821031 Wertzuweisung einer Binaumlrvariablen 3821032 Setzen und Ruumlcksetzen 3821033 Flankenauswertung 382

104 Zeit- und Zaumlhlfunktionen mit SCL programmieren 3831041 SIMATIC-Zeitfunktionen 3831042 SIMATIC-Zaumlhlfunktionen 3841043 IEC-Zeitfunktionen 3851044 IEC-Zaumlhlfunktionen 386

105 Digitalfunktionen mit SCL programmieren 3871051 Uumlbertragungsfunktion Wertzuweisung einer Digitalvariablen 3871052 Vergleichsfunktionen 3871053 Arithmetische Funktionen 3881054 Mathematische Funktionen 3891055 Konvertierungsfunktionen 3901056 Schiebefunktionen 3911057 Wortverknuumlpfungen logischer Ausdruck 392

106 Programmfluss mit SCL steuern 3931061 Mit der Variablen ENO arbeiten 3931062 ENENO-Mechanismus bei SCL 3951063 Kontrollanweisungen 3961064 Bausteinfunktionen 404

11 Ablaufsteuerung S7-GRAPH 408

111 Einfuumlhrung 4081111 Was ist eine Ablaufsteuerung 4081112 Eigenschaften einer Ablaufsteuerung 4091113 Programm fuumlr eine Ablaufsteuerung Mengengeruumlst 4101114 Betriebsarten 4101115 Vorgehen bei der Projektierung 411

Inhaltsverzeichnis

16

112 Elemente einer Ablaufsteuerung 4121121 Schritte und Transitionen 4121122 Spruumlnge in einer Ablaufsteuerung 4131123 Verzweigungen einer Ablaufkette 4131124 GRAPH-spezifische Variablen 4151125 Permanente Anweisungen 4161126 Schritt- und Transitionsfunktionen 4161127 Bearbeitung von Aktionen 420

113 Eine Ablaufsteuerung projektieren 4261131 Den GRAPH-Funktionsbaustein programmieren 4271132 Projektieren der Kettenstruktur 4281133 Schritte und Transitionen programmieren 4291134 Permanente Anweisungen programmieren 4311135 Bausteinuumlbergreifende Meldungen projektieren 4311136 Attribute des GRAPH-Funktionsbausteins 4321137 GRAPH-Funktionsbaustein anwenden 433

114 Ablaufsteuerung testen 4341141 GRAPH-Funktionsbaustein laden 4351142 Einstellungen zum Programmtest 4351143 Betriebsarten verwenden 4361144 Ablaufkette synchronisieren 4371145 Mit Programmstatus testen 438

12 Basisfunktionen 440

121 Binaumlre Verknuumlpfungen 4401211 Einfuumlhrung 4401212 Arbeiten mit Binaumlrsignalen 4411213 UND-Funktion Reihenschaltung 4441214 ODER-Funktion Parallelschaltung 4451215 Exklusiv-ODER-Funktion Antivalenzfunktion 4451216 Verknuumlpfungsergebnis negieren NOT-Kontakt 446

122 Speicherfunktionen 4481221 Einfuumlhrung 4481222 Standardspule Zuweisung 4481223 Einzelnes Setzen und Ruumlcksetzen 4481224 Vorrangiges Setzen und Ruumlcksetzen Speicherfunktion 4501225 Flankenauswertung 452

123 SIMATIC-Zeitfunktionen 4571231 Uumlbersicht 4571232 Programmieren einer Zeitfunktion 4601233 Zeitverhalten als Impuls 4621234 Zeitverhalten als verlaumlngerter Impuls 4641235 Zeitverhalten als Einschaltverzoumlgerung 4661236 Zeitverhalten als speichernde Einschaltverzoumlgerung 4681237 Zeitverhalten als Ausschaltverzoumlgerung 470

124 IEC-Zeitfunktionen 472

Inhaltsverzeichnis

17

1241 Einfuumlhrung 4721242 Impulsbildung TP 4731243 Einschaltverzoumlgerung TON 4741244 Ausschaltverzoumlgerung TOF 475

125 SIMATIC-Zaumlhlfunktionen 4761251 Uumlbersicht 4761252 Programmieren einer Zaumlhlfunktion 4781253 Funktionsweise einer Zaumlhlfunktion 4801254 Freigeben einer Zaumlhlfunktion bei AWL 482

126 IEC-Zaumlhlfunktionen 4831261 Einfuumlhrung 4831262 Vorwaumlrtszaumlhler CTU 4841263 Ruumlckwaumlrtszaumlhler CTD 4851264 VorwaumlrtsRuumlckwaumlrtszaumlhler CTUD 487

13 Digitalfunktionen 488

131 Allgemeines 488

132 Uumlbertragungsfunktionen 4891321 Allgemeines zur bdquoeinfachenldquo Uumlbertragungsfunktion 4891322 MOVE-Box bei KOP und FUP 4891323 Laden und Transferieren bei AWL 4911324 Wertzuweisungen bei SCL 4921325 Datenbereich im Arbeitsspeicher kopieren und fuumlllen 4941326 Datenbereich vom und zum Ladespeicher uumlbertragen 4971327 Speicherbereich steuern bei MCR-Abhaumlngigkeit 498

133 Vergleichsfunktionen 5011331 Ausfuumlhrung der bdquoeinfachenldquo Vergleichsfunktion 5011332 Vergleichsfunktion T_COMP 5031333 Vergleichsfunktion S_COMP 503

134 Arithmetische Funktionen 5041341 Allgemeine Funktionsbeschreibung 5041342 Datentypen und Statusbits bei einer arithmetischen Funktion 5051343 Ausfuumlhrung der arithmetischen Funktion 5071344 Arithmetische Funktionen fuumlr Datum und Uhrzeit 508

135 Mathematische Funktionen 5101351 Allgemeine Funktionsbeschreibung 5101352 Allgemeine Ausfuumlhrung einer mathematischen Funktion 5111353 Winkelfunktionen SIN COS TAN 5111354 Arcusfunktionen ASIN ACOS ATAN 5121355 Sonstige mathematische Funktionen 512

136 Konvertierungsfunktionen 5141361 Implizite Datentypwandlung 5141362 Datentypwandlung von Festpunktzahlen 5151363 Datentypwandlung von Gleitpunktzahlen 5181364 Datentypwandlung fuumlr DatumUhrzeit mit T_CONV 5211365 Datentypwandlung fuumlr Datentyp STRING mit S_CONV 522

Inhaltsverzeichnis

18

1366 Datentypwandlung von Hexadezimalzahlen 5241367 Skalieren und Deskalieren 5251368 Sonstige Konvertierungsfunktionen 526

137 Schiebefunktionen 5271371 Allgemeine Funktionsbeschreibung 5271372 Allgemeine Ausfuumlhrung einer Schiebefunktion 5291373 Rechts schieben 5301374 Links schieben 5301375 Rechts rotieren 5311376 Links rotieren 5321377 Rotieren durch das Anzeigenbit A1 (AWL) 532

138 Logikfunktionen 5321381 Wortverknuumlpfungen 5331382 Invertieren 5351383 Bit codieren und Bitnummer setzen 5361384 Auswahl- und Begrenzerfunktionen 537

139 Funktionen fuumlr Zeichenketten 540

14 Programmfluss-Steuerung 544

141 Statusbits 5451411 Beschreibung der Statusbits 5451412 Steuern der Statusbits 5471413 Verknuumlpfungsergebnis setzen und ruumlcksetzen 5481414 Binaumlrergebnis steuern 5491415 Auswertung der Statusbits 552

142 Sprungfunktionen 5531421 Einfuumlhrung 5531422 Absoluter Sprung 5531423 Bedingte Sprungfunktionen 5551424 Von den Statusbits abhaumlngige Sprungfunktionen 556

143 Bausteinende-Funktionen 5591431 Bausteinende-Funktion RET (KOP und FUP) 5601432 Bausteinende-Funktionen BEB BEA und BE (AWL) 5601433 RETURN-Anweisung (SCL) 561

144 Aufruf von Codebausteinen 5611441 Allgemeines zu Bausteinaufrufen 5611442 Aufruf einer Funktion (FC) 5621443 Aufruf eines Funktionsbausteins (FB) 5641444 Wechsel zu einem Baustein ohne Bausteinparameter 566

145 Datenbausteinfunktionen 5681451 Datenbaustein aufschlagen 5691452 Zusaumltzliche Datenbausteinfunktionen bei AWL 5701453 Datenbaustein erzeugen loumlschen und testen 571

146 Master Control Relay 5741461 Einfuumlhrung 5741462 MCR-Abhaumlngigkeit 575

Inhaltsverzeichnis

19

1463 MCR-Bereich und MCR-Zone 5751464 MCR-Bereich und MCR-Zone bei einem Bausteinwechsel 5781465 Anweisungen fuumlr das Master Control Relay 578

15 Online-Betrieb und Programmtest 580

151 Programmiergeraumlt an die PLC-Station anschlieszligen 5811511 Einstellungen am Programmiergeraumlt 5811512 Das Programmiergeraumlt mit der PLC-Station verbinden 5821513 Den Online-Betrieb einschalten 583

152 Projektdaten uumlbertragen 5841521 Die Projektdaten erstmalig laden 5841522 Die Projektdaten nachladen 5871523 Schutz des Anwenderprogramms 5881524 Online-Projekt ohne Offline-Projekt bearbeiten 5891525 Mit der Micro Memory Card arbeiten 590

153 Mit Bausteinen im Online-Betrieb arbeiten 5901531 Einfuumlhrung 5901532 Die Online-Version eines Bausteins bearbeiten 5911533 Einen Baustein in die CPU-Baugruppe laden 5921534 Den Arbeitsspeicher komprimieren 5941535 Bausteine aus der CPU zuruumlckladen 5941536 Mit Einstellwerten arbeiten 5961537 Bausteine vergleichen 598

154 Hardware-Diagnose 6011541 Status-Anzeigen an den Baugruppen 6011542 Diagnose-Informationen 6021543 Diagnosepuffer 6021544 Diagnose-Funktionen 6041545 Online-Tools 6041546 Weitere Diagnose-Informationen uumlber das Programmiergeraumlt 605

155 Anwenderprogramm testen 6061551 Aufrufumgebung definieren 6061552 Testen mit Programmstatus 6071553 Testen im Einzelschrittmodus 6111554 PLC-Variablen beobachten 6141555 Datenvariablen beobachten 6141556 Testen mit Beobachtungstabellen 6151557 Beobachten und Steuern im Betriebszustand STOP 6201558 Testen mit der Force-Tabelle 622

16 Dezentrale Peripherie 626

161 Einfuumlhrung Uumlbersicht 626

162 Dezentrales Peripheriesystem ET 200 6271621 ET 200M 6271622 ET 200MP 6281623 ET 200S 628

Inhaltsverzeichnis

20

1624 ET 200SP 6291625 ET 200iSP 6301626 ET 200pro 6311627 ET 200eco 631

163 PROFINET IO 6321631 Komponenten von PROFINET IO 6321632 Adressen bei PROFINET IO 6351633 Spezielle PROFINET-Konfigurationen 6381634 PROFINET IO projektieren 6391635 Kopplungsbaugruppen fuumlr PROFINET IO 6431636 Echtzeit-Kommunikation bei PROFINET 644

164 PROFIBUS DP 6491641 Komponenten von PROFIBUS DP 6491642 Adressen bei PROFIBUS DP 6521643 PROFIBUS DP projektieren 6561644 Kopplungsbaugruppen fuumlr PROFIBUS DP 6591645 Sonderfunktionen fuumlr PROFIBUS DP 661

165 Taktsynchronitaumlt 6621651 Einfuumlhrung 6621652 Taktsynchronitaumlt bei PROFINET 6631653 Taktsynchronitaumlt bei PROFIBUS 666

166 Systembausteine fuumlr dezentrale Peripherie 6691661 Systembausteine fuumlr PROFIBUS DP 6691662 Systembausteine fuumlr PROFIBUS DP und PROFINET IO 6731663 Systembausteine fuumlr PROFINET IO 676

167 AktorSensor-Interface 6791671 Komponenten von AktorSensor-Interface 6791672 Adressen am AktorSensor-Interface 6811673 AktorSensor-Interface mit CP 343-2P projektieren 6811674 Systemfunktionen fuumlr AS-i 683

17 Kommunikation 684

171 Uumlbersicht 684

172 S7-Basiskommunikation 6851721 Grundlagen der stationsinternen S7-Basiskommunikation 6851722 Stationsinterne S7-Basiskommunikation projektieren 6861723 Systembausteine fuumlr stationsinterne S7-Basiskommunikation 6861724 Grundlagen der stationsexternen S7-Basiskommunikation 6881725 Stationsexterne S7-Basiskommunikation projektieren 6891726 Systembausteine fuumlr stationsexterne S7-Basiskommunikation 689

173 S7-Kommunikation 6921731 Grundlagen 6921732 S7-Kommunikation projektieren 6931733 Einseitiger Datenaustausch 6951734 Zweiseitiger Datenaustausch 6961735 Uumlberwachungsfunktionen 699

Inhaltsverzeichnis

21

174 Open User Communication 700

1741 Grundlagen 700

1742 Verbindungen auf- und abbauen 702

1743 Datenuumlbertragung mit TCP native oder ISO-on-TCP 704

1744 Datenuumlbertragung mit UDP 707

18 Anhang 710

181 Arbeiten mit Quelldateien 710

1811 Allgemeines Vorgehen 710

1812 Einen Codebaustein in der Quelldatei programmieren 712

1813 Einen Datenbaustein in der Quelldatei programmieren 715

1814 Einen PLC-Datentyp in der Quelldatei programmieren 719

182 Projekte migrieren 720

183 Simulation mit dem TIA Portal 724

1831 Unterschiede zu einer realen CPU-Baugruppe 724

1832 Simulation starten und speichern 725

1833 Die Simulation bedienen 726

1834 Programm mit der Simulation testen 728

1835 Weitere Funktionen von PLCSIM 730

184 Webserver 731

1841 Webserver aktivieren 731

1842 Web-Informationen auslesen 732

1843 Standard-Webseiten 733

185 Ablage von lokalen Variablen 736

1851 Ablage in Global-Datenbausteinen 736

1852 Ablage in Instanz-Datenbausteinen 737

1853 Ablage in den temporaumlren Lokaldaten 738

1854 Datenablage der Bausteinparameter einer Funktion (FC) 739

1855 Datenablage der Bausteinparameter eines Funktionsbausteins (FB) 742

1856 Datenablage einer Lokalinstanz in einer Multiinstanz 744

Stichwortverzeichnis 746

1 Einfuumlhrung

22

1 Einfuumlhrung

11 Uumlbersicht Automatisierungssystem S7-300

SIMATIC S7-300 ist das modulare Kleinsteuersystem fuumlr den unteren und mittlerenLeistungsbereich (Bild 11) Verschiedene Varianten der Controller passen die Leis-tungsfaumlhigkeit an den jeweiligen Einsatzfall an Je nach Bedarf kann das Automati-sierungsgeraumlt mit Ein-Ausgabebaugruppen fuumlr Digital- und Analogsignale in biszu vier Baugruppentraumlgern mit je acht Baugruppen modular erweitert werden

Eine zusaumltzliche Erweiterung mit Ein-Ausgabebaugruppen bietet die dezentralePeripherie uumlber PROFIBUS oder PROFINET Mit besonderen Bauformen fuumlr erhoumlhtemechanische Anforderungen ausgestattet koumlnnen diese Baugruppen vor Ort ander Maschine oder Anlage installiert werden Die Steuerungsgeraumlte SIMATIC S7-300werden mit STEP 7 konfiguriert projektiert und programmiert Der Datenaus-tausch zwischen den Steuerungsgeraumlten der dezentralen Peripherie und dem Pro-grammiergeraumlt geschieht mit SIMATIC NET

Bild 11 Bestandteile des Automatisierungssystems SIMATIC S7-300

SIMATIC Controller steuern dieMaschine oder Anlage

Die dezentrale Peripherie erweitert dieSchnittstelle zur Maschine oder Anlage

SIMATIC NET

SIMATIC DP STEP 7Professional V12

SIMATIC S7-300

Die Vernetzung ermoumlglicht denDatenaustausch und den zentralenOnline-Zugriff

Mehrere Varianten der Controllererweitern das Einsatzspektrum

STEP 7 ist die Engineeringsoftware zumKonfigurieren undProgrammieren

Projektieren

Automatisierungssystem SIMATIC S7-300

11 Uumlbersicht Automatisierungssystem S7-300

23

111 Automatisierungsgeraumlt SIMATIC S7-300

Die wesentlichen Bestandteile eines S7-300-Automatisierungsgeraumlts sind im Bild12 dargestellt

Die CPU-Baugruppe enthaumllt das Betriebssystem und das AnwenderprogrammDas Anwenderprogramm steht spannungsausfallsicher auf der in der CPU-Bau-gruppe steckenden Micro Memory Card (MMC) Die Bearbeitung des Anwenderpro-gramms findet im Arbeitsspeicher in der CPU statt Die auf der CPU-Baugruppe vor-handenen Busschnittstellen stellen die Verbindung zu anderen Automatisierungs-geraumlten her

Die Verbindung zur gesteuerten Anlage uumlbernehmen SM-Baugruppen Diese Ein-und Ausgabebaugruppen gibt es fuumlr Digital- und Analogsignale

Die FM-Baugruppen sind signalvorverarbeitende bdquointelligenteldquo Peripheriebau-gruppen die vom Prozess kommende Signale unabhaumlngig von der CPU aufberei-ten verarbeiten und entweder wieder direkt an den Prozess zuruumlckgeben oder ander internen Schnittstelle der CPU zur Verfuumlgung stellen FM-Baugruppen uumlber-nehmen Funktionen die die CPU meist nicht schnell genug ausfuumlhren kann wiez B Impulse zaumlhlen positionieren oder Antriebe regeln

Die CP-Baugruppen gestatten einen Datenverkehr der die Moumlglichkeiten derStandard-Schnittstellen bezuumlglich Protokolle und Kommunikationsfunktionenuumlberschreitet

Die IM-Baugruppen verbinden bei einer Erweiterung den Zentralbaugruppentrauml-ger mit bis zu drei Erweiterungsbaugruppentraumlgern

Eine Stromversorgungsbaugruppe sorgt schlieszliglich fuumlr die benoumltigte Spannungim Automatisierungsgeraumlt

Bild 12 Bestandteile einer S7-300-Steuerung

Erweiterungsbaugruppentraumlger

Zentralbaugruppentraumlger SM-Baugruppen(Signal Modules)

Auf den Baugruppen-traumlgern sind steckbar

FM-Baugruppen(Function Modules)

CP-Baugruppen(CommunicationProcessors)

IM-Baugruppe(Interface Module)

IM-Baugruppe(Interface Module)

CPU-Baugruppe(Central Processor Unit)

PS-Baugruppe(Power Supply)

Baugruppen-traumlger (Rack)

Bestandteile einer S7-300-Steuerung

S

1 Einfuumlhrung

24

112 Uumlbersicht STEP 7 Professional V12

STEP 7 ist das zentrale Automatisierungswerkzeug fuumlr SIMATIC STEP 7 benoumltigtzum Betrieb eine Autorisierung (Lizenz) und laumluft auf den jeweils aktuellen Be-triebssystemen unter Microsoft Windows Die Projektierung eines S7-300-Control-lers geschieht mit zwei Ansichten der Portalansicht und der Projektansicht

Die Portalansicht ist aufgabenorientiert angelegt

Im Startportal oumlffnen Sie ein bestehendes Projekt erstellen ein neues Projekt odermigrieren ein Projekt Ein bdquoProjektldquo ist eine Datenstruktur die alle erforderlichenProgramme und Daten fuumlr Ihr Automatisierungsvorhaben enthaumllt Von hier aussind die wichtigsten Werkzeuge und Funktionen von STEP 7 uumlber weitere Portale er-reichbar (Bild 13)

b Im Portal Geraumlte amp Netze konfigurieren Sie die Automatisierungsgeraumlte d h Sieplatzieren die Baugruppen in einem Baugruppentraumlger und parametrieren sie

b Im Portal PLC-Programmierung erstellen Sie das Anwenderprogramm in Formvon einzelnen Abschnitten die man bdquoBausteineldquo nennt

b Das Portal Visualisierung bietet die wichtigsten Werkzeuge fuumlr die Projektierungund Simulation von HMI-Systemen mit SIMATIC WinCC an

Bild 13 Werkzeuge im Startportal von STEP 7 Professional V12

11 Uumlbersicht Automatisierungssystem S7-300

25

b Mit dem Portal Motion amp Technology fuumlgen Sie ein Technologie-Objekt fuumlr PIDControl ein und bearbeiten es

b Mit dem Portal Online amp Diagnose schalten Sie das Programmiergeraumlt online aneine CPU-Baugruppe Sie koumlnnen die Betriebsarten der CPU steuern und das An-wenderprogramm uumlbertragen und testen

Die Projektansicht bietet eine objektorientierte Ansicht mit mehreren Fensternderen Inhalt je nach ausgefuumlhrter Taumltigkeit wechselt In der Geraumltekonfigurationsteht der Arbeitsbereich mit dem zu konfigurierenden Geraumlt im Mittelpunkt In derGeraumltesicht wird der Baugruppentraumlger mit den bereits platzierten Baugruppen ge-zeigt (Bild 14) Ein weiteres Fenster ndash das Inspektorfenster ndash enthaumllt die Eigen-schaften der selektierten Baugruppe das Aufgaben-Fenster (Task Card) gibt Unter-stuumltzung durch den Hardware-Katalog mit den zur Verfuumlgung stehenden Baugrup-pen Die Netzsicht gestattet die Vernetzung zwischen PLC- und HMI-Stationen

Bei der PLC-Programmierung bearbeiten Sie im Arbeitsbereich den ausgewaumlhltenBaustein Wiederum sehen Sie im Inspektorfenster die Eigenschaften des markier-ten Objekts und koumlnnen diese einstellen Das Aufgabenfenster enthaumllt diesmal denProgrammelemente-Katalog mit den zur Verfuumlgung stehenden Programmelemen-ten und Anweisungen Aumlhnliches gilt fuumlr die Bearbeitung der PLC-Variablen oderbeim Online-Programmtest durch Beobachtungstabellen

Bild 14 Beispiel fuumlr die Projektansicht Arbeitsbereich der Geraumltekonfiguration

1 Einfuumlhrung

26

Und stets haben Sie die Projektnavigation im Blickfeld Sie enthaumllt alle Objekte desSTEP-7-Projekts So koumlnnen Sie jederzeit ein Objekt beispielsweise einen Pro-grammbaustein oder eine Beobachtungstabelle auswaumlhlen und dieses Objekt mitden entsprechenden Editoren die beim Oumlffnen des Objekts automatisch startenbearbeiten

113 Fuumlnf Programmiersprachen

Als Programmiersprache fuumlr das Anwenderprogramm koumlnnen Sie zwischen Kon-taktplan (KOP) Funktionsplan (FUP) Anweisungsliste (AWL) Structured ControlLanguage (SCL) und Ablaufsteuerung (GRAPH) waumlhlen

Mit Kontaktplan programmieren Sie die Steuerungsaufgabe angelehnt an denStromlaufplan Die Verknuumlpfung der binaumlren Signalzustaumlnde wird durch die seriel-le oder parallele Anordnung von Kontakten und Spulen dargestellt (Bild 15) Kom-plexe Funktionen wie beispielsweise die arithmetischen Funktionen werden mitBoxen dargestellt die Sie wie Kontakte oder Spulen im Kontaktplan anordnen

Mit Funktionsplan programmieren Sie die Steuerungsaufgabe angelehnt an elektro-nische Schaltkreissysteme Binaumlre Verknuumlpfungen werden durch Verschaltung vonUND- und ODER-Funktionen realisiert und mit Speicher-Boxen abgeschlossen (Bild16) Komplexe Boxen uumlbernehmen die Verknuumlpfung digitaler Variablen beispiels-weise bei den arithmetischen Funktionen

Bild 15 Beispiel fuumlr die Darstellung in Kontaktplan

Bild 16 Beispiel fuumlr die Darstellung in Funktionsplan

11 Uumlbersicht Automatisierungssystem S7-300

27

Mit Anweisungsliste programmieren Sie die Steuerungsaufgabe durch eine Folgevon Anweisungen Jede AWL-Anweisung enthaumllt eine Vorschrift was zu tun ist undeventuell einen Operand mit dem die Operation ausgefuumlhrt wird AWL ist gleicher-maszligen geeignet fuumlr binaumlre und digitale Verknuumlpfungen wie fuumlr die Programmierungkomplexer Steuerungsaufgaben (Bild 17)

Structured Control Language eignet sich besonders fuumlr die Programmierung vonkomplexen Algorithmen oder fuumlr Aufgabenstellungen aus dem Bereich der Datenver-waltung Das Programm besteht aus SCL-Anweisungen die beispielsweise Wertzuwei-sungen Vergleiche oder Kontrollanweisungen sein koumlnnen (Bild 18)

Mit GRAPH programmieren Sie eine Steuerungsaufgabe als Ablaufsteuerung in derdie sequenzielle Folge von Aktionen vorherrscht Die einzelnen Schritte und Verzwei-gungen werden durch Weiterschaltbedingungen freigegeben die mit KOP oder FUPprogrammiert werden koumlnnen (Bild 19)

114 Bearbeitung des Anwenderprogramms

Nach dem Einschalten der Versorgungsspannung pruumlft der Steuerungsprozessordie Konsistenz der Hardware und parametriert die Baugruppen Anschlieszligend wirdeinmalig ndash falls vorhanden ndash ein Anlaufprogramm bearbeitet Das Anlaufpro-

Bild 17 Beispiel fuumlr AWL-Anweisungen

Bild 18 Beispiel fuumlr SCL-Anweisungen

1 Einfuumlhrung

28

gramm gehoumlrt zum Anwenderprogramm das Sie programmieren Im Anlaufpro-gramm koumlnnen beispielsweise Baugruppen initialisiert werden

Das Anwenderprogramm ist in der Regel in einzelne Abschnitte ndash bdquoBausteineldquo ge-nannt ndash eingeteilt Die Organisationsbausteine (OB) sind die Schnittstelle zwischenBetriebssystem und Anwenderprogramm Das Betriebssystem ruft zu bestimmtenEreignissen einen Organisationsbaustein auf in dem dann das Anwenderpro-gramm bearbeitet wird (Bild 110)

Bild 19 Beispiel fuumlr eine GRAPH-Ablaufkette und eine Schrittprojektierung

Bild 110 Bearbeitung des Anwenderprogramms

Anlauf-programm

Alarm- undFehlerprogramm

Haupt-programm

Bearbeitung des Anwenderprogramms

Einschalten

Aktualisierung derEin- und Ausgaumlnge

Unterbrechung(Alarm oder Fehler)

BetriebszustandANLAUF

Betriebssystem Anwenderprogramm

BetriebszustandRUN

OB

OB

FBFC

FBFC

FBFC

FBFC

FBFC

FBFC

OB

Unterbrechung

11 Uumlbersicht Automatisierungssystem S7-300

29

Zur Strukturierung das Programms stehen Funktionsbausteine (FB) und Funktio-nen (FC) zur Verfuumlgung Funktionsbausteine haben einen Speicher in dem lokaleVariablen dauerhaft abgelegt sind Funktionen haben diesen Speicher nicht

Fuumlr den Aufruf (das Starten der Bearbeitung) von Funktionsbausteinen und Funk-tionen gibt es Programmanweisungen Jeder Bausteinaufruf kann mit Ein- undAusgaumlngen ndash bdquoBausteinparameterldquo genannt ndash versehen werden Beim Aufruf koumln-nen Variablen uumlbergeben werden mit denen das Programm im Baustein arbeitensoll Auf diese Weise kann ein Baustein mit einer gewissen Funktion (z B der Addi-tion von drei Variablen) mehrfach mit unterschiedlichen Parametersaumltzen (z B fuumlrunterschiedliche Berechnungen) aufgerufen werden (Bild 111)

Die Daten des Anwenderprogramms werden in Datenbausteinen (DB) abgelegtInstanz-Datenbausteine sind einem Aufruf eines Funktionsbausteins fest zugeord-net und bilden den Variablenspeicher des Funktionsbausteins Global-Datenbau-steine enthalten Daten die keinem Baustein zugeordnet sind

Nach einem Anlauf aktualisiert der Steuerungsprozessor die Ein- und Ausgangs-signale in den Prozessabbildern und ruft den Organisationsbaustein OB 1 auf Hiersteht das Hauptprogramm Auch im Hauptprogramm ist eine Strukturierung moumlg-lich und zu empfehlen Ist das Hauptprogramm bearbeitet wechselt der Steue-rungsprozessor zuruumlck ins Betriebssystem haumllt beispielsweise die Kommunikati-on mit dem Programmiergeraumlt aufrecht aktualisiert die Ein- und Ausgangssignaleund beginnt dann erneut mit der Bearbeitung des Hauptprogramms

Die zyklische Programmbearbeitung ist ein Merkmal speicherprogrammierbarerSteuerungen Das Anwenderprogramm wird auch dann bearbeitet wenn bdquovon au-szligenldquo keine Aktionen gefordert sind wenn also z B die gesteuerte Maschine stehtDies hat Vorteile bei der Programmierung Sie programmieren beispielsweise den

Bild 111 Beispiel fuumlr zwei Aufrufe eines Bausteins mit jeweils verschiedenen Variablen

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

Inhaltsverzeichnis

12

636 Variablen editieren 240637 Mit Programmkommentaren arbeiten 242

64 Einen Datenbaustein programmieren 244641 Einen neuen Datenbaustein anlegen 244642 Arbeitsbereich des Programmeditors fuumlr Datenbausteine 244643 Bausteineigenschaften fuumlr Datenbausteine festlegen 246644 Datenvariablen deklarieren 246645 Datenvariablen in Globaldatenbausteinen eingeben 247

65 Bausteine uumlbersetzen 248651 Uumlbersetzung starten 248652 SCL-Bausteine uumlbersetzen 249653 Fehler nach der Uumlbersetzung beheben 249

66 Programminformationen 250661 Querverweisliste 251662 Belegungsplan 253663 Aufrufstruktur 254664 Abhaumlngigkeitsstruktur 255665 Konsistenzpruumlfung 255666 Speicherauslastung der CPU 256

7 Kontaktplan KOP 258

71 Einfuumlhrung 258711 Programmieren mit KOP allgemein 258712 Programmelemente des Kontaktplans 260

72 Binaumlre Verknuumlpfungen mit KOP programmieren 260721 Schlieszligerkontakt und Oumlffnerkontakt 260722 Reihen- und Parallelschaltung von Kontakten 262723 T-Abzweig offener Parallelzweig 263724 Verknuumlpfungsergebnis negieren 264725 Flankenauswertung einer Binaumlrvariablen 265726 Vergleich-Kontakte 265

73 Speicherfunktionen mit KOP programmieren 266731 Einfache Spule Zuweisung 266732 Setzen- und Ruumlcksetzen-Spule 268733 Speicherndes Verhalten durch Selbsthaltung 268734 Spulen mit Zeitverhalten 269735 Spulen mit Zaumlhlerverhalten 270

74 Q-Boxen mit KOP programmieren 271741 Speicher-Boxen 272742 Flankenauswertung des Stromflusses 272743 SIMATIC-Zeitfunktionen 273744 SIMATIC-Zaumlhlfunktionen 274745 IEC-Zeitfunktionen 274746 IEC-Zaumlhlfunktionen 276

75 ENENO-Boxen mit KOP programmieren 277751 Uumlbertragungsfunktion MOVE 277

Inhaltsverzeichnis

13

752 Arithmetische Funktionen 278753 Mathematische Funktionen 279754 Konvertierungsfunktionen 280755 Schiebefunktionen 281756 Wortverknuumlpfungen 282

76 Programmfluss bei KOP steuern 284761 Mit Statusbits im Kontaktplan arbeiten 284762 ENENO-Mechanismus bei KOP 286763 Sprungfunktionen 287764 Bausteinfunktionen 288765 Master Control Relay (MCR) 290

8 Funktionsplan FUP 292

81 Einfuumlhrung 292811 Programmieren mit FUP allgemein 292812 Programmelemente des Funktionsplans 294

82 Binaumlre Verknuumlpfungen mit FUP programmieren 295821 Abfrage auf Signalzustand bdquo1ldquo und auf Signalzustand bdquo0ldquo 295822 Eine binaumlre Verknuumlpfung im Funktionsplan programmieren 296823 UND-Funktion 297824 ODER-Funktion 297825 Exklusiv-ODER-Funktion 297826 Kombinierte binaumlre Verknuumlpfungen Verknuumlpfungsergebnis negieren 298827 T-Abzweig 299828 Flankenauswertung von Binaumlrvariablen 299829 Vergleichsfunktionen 300

83 Standard-Boxen mit FUP programmieren 301831 Zuweisung-Box 302832 Setzen- und Ruumlcksetzen-Box 302833 Standard-Boxen mit Zeitverhalten 303834 Standard-Boxen mit Zaumlhlerverhalten 304

84 Q-Boxen mit FUP programmieren 305841 Speicher-Boxen 305842 Flankenauswertung des Verknuumlpfungsergebnisses 307843 SIMATIC-Zeitfunktionen 308844 SIMATIC-Zaumlhlfunktionen 308845 IEC-Zeitfunktionen 309846 IEC-Zaumlhlfunktionen 309

85 ENENO-Boxen mit FUP programmieren 310851 Uumlbertragungsfunktion MOVE 312852 Arithmetische Funktionen 312853 Mathematische Funktionen 313854 Konvertierungsfunktionen 313855 Schiebefunktionen 315856 Wortverknuumlpfungen 316

Inhaltsverzeichnis

14

86 Programmfluss bei FUP steuern 318861 Mit Statusbits im Funktionsplan arbeiten 318862 ENENO-Mechanismus bei FUP 320863 Sprungfunktionen 321864 Bausteinfunktionen 322865 Master Control Relay (MCR) 324

9 Anweisungsliste AWL 326

91 Einfuumlhrung 326911 Programmieren mit AWL allgemein 326912 Aufbau einer AWL-Anweisung 327

92 Binaumlre Verknuumlpfungen mit AWL programmieren 328921 Bearbeitung einer binaumlren Verknuumlpfung Verknuumlpfungsschritt 328922 Abfrage auf Signalzustand bdquo1ldquo und auf Signalzustand bdquo0ldquo 330923 Eine binaumlre Verknuumlpfung in Anweisungsliste programmieren 331924 UND-Funktion 332925 ODER-Funktion 332926 Exklusiv-ODER-Funktion 333927 Kombinierte binaumlre Verknuumlpfungen 333928 Verknuumlpfungsergebnis steuern 336

93 Speicherfunktionen mit AWL programmieren 337931 Zuweisung 337932 Setzen und Ruumlcksetzen 338933 Flankenauswertung 338

94 Zeit- und Zaumlhlfunktionen mit AWL programmieren 339941 SIMATIC-Zeitfunktionen 339942 SIMATIC-Zaumlhlfunktionen 341943 IEC-Zeitfunktionen 342944 IEC-Zaumlhlfunktionen 343

95 Digitalfunktionen mit AWL programmieren 344951 Uumlbertragungsfunktionen 344952 Vergleichsfunktionen 346953 Arithmetische Funktionen 349954 Mathematische Funktionen 352955 Konvertierungsfunktionen 353956 Schiebefunktionen 354957 Wortverknuumlpfungen 356

96 Programmfluss bei AWL steuern 358961 Mit Statusbits in der Anweisungsliste arbeiten 359962 ENENO-Mechanismus bei AWL 361963 Sprungfunktionen 363964 Sprungverteiler 364965 Schleifensprung 364966 Bausteinfunktionen 365967 Master Control Relay (MCR) 368

97 Weitere AWL-Funktionen 369

Inhaltsverzeichnis

15

971 Akkumulatorfunktionen 369972 Addieren von Konstanten zum Akkumulator 1 371973 Dekrementieren Inkrementieren 372974 Nullanweisungen 373

10 Structured Control Language SCL 374

101 Einfuumlhrung in die Programmierung mit SCL 3741011 Programmieren mit SCL allgemein 3741012 SCL-Anweisungen und Operatoren 376

102 Binaumlre Verknuumlpfungen mit SCL programmieren 3781021 Abfrage auf Signalzustand bdquo1ldquo und auf Signalzustand bdquo0ldquo 3781022 UND-Funktion 3791023 ODER-Funktion 3791024 Exklusiv-ODER-Funktion 3801025 Kombinierte binaumlre Verknuumlpfungen 3801026 Verknuumlpfungsergebnis negieren 381

103 Speicherfunktionen mit SCL programmieren 3821031 Wertzuweisung einer Binaumlrvariablen 3821032 Setzen und Ruumlcksetzen 3821033 Flankenauswertung 382

104 Zeit- und Zaumlhlfunktionen mit SCL programmieren 3831041 SIMATIC-Zeitfunktionen 3831042 SIMATIC-Zaumlhlfunktionen 3841043 IEC-Zeitfunktionen 3851044 IEC-Zaumlhlfunktionen 386

105 Digitalfunktionen mit SCL programmieren 3871051 Uumlbertragungsfunktion Wertzuweisung einer Digitalvariablen 3871052 Vergleichsfunktionen 3871053 Arithmetische Funktionen 3881054 Mathematische Funktionen 3891055 Konvertierungsfunktionen 3901056 Schiebefunktionen 3911057 Wortverknuumlpfungen logischer Ausdruck 392

106 Programmfluss mit SCL steuern 3931061 Mit der Variablen ENO arbeiten 3931062 ENENO-Mechanismus bei SCL 3951063 Kontrollanweisungen 3961064 Bausteinfunktionen 404

11 Ablaufsteuerung S7-GRAPH 408

111 Einfuumlhrung 4081111 Was ist eine Ablaufsteuerung 4081112 Eigenschaften einer Ablaufsteuerung 4091113 Programm fuumlr eine Ablaufsteuerung Mengengeruumlst 4101114 Betriebsarten 4101115 Vorgehen bei der Projektierung 411

Inhaltsverzeichnis

16

112 Elemente einer Ablaufsteuerung 4121121 Schritte und Transitionen 4121122 Spruumlnge in einer Ablaufsteuerung 4131123 Verzweigungen einer Ablaufkette 4131124 GRAPH-spezifische Variablen 4151125 Permanente Anweisungen 4161126 Schritt- und Transitionsfunktionen 4161127 Bearbeitung von Aktionen 420

113 Eine Ablaufsteuerung projektieren 4261131 Den GRAPH-Funktionsbaustein programmieren 4271132 Projektieren der Kettenstruktur 4281133 Schritte und Transitionen programmieren 4291134 Permanente Anweisungen programmieren 4311135 Bausteinuumlbergreifende Meldungen projektieren 4311136 Attribute des GRAPH-Funktionsbausteins 4321137 GRAPH-Funktionsbaustein anwenden 433

114 Ablaufsteuerung testen 4341141 GRAPH-Funktionsbaustein laden 4351142 Einstellungen zum Programmtest 4351143 Betriebsarten verwenden 4361144 Ablaufkette synchronisieren 4371145 Mit Programmstatus testen 438

12 Basisfunktionen 440

121 Binaumlre Verknuumlpfungen 4401211 Einfuumlhrung 4401212 Arbeiten mit Binaumlrsignalen 4411213 UND-Funktion Reihenschaltung 4441214 ODER-Funktion Parallelschaltung 4451215 Exklusiv-ODER-Funktion Antivalenzfunktion 4451216 Verknuumlpfungsergebnis negieren NOT-Kontakt 446

122 Speicherfunktionen 4481221 Einfuumlhrung 4481222 Standardspule Zuweisung 4481223 Einzelnes Setzen und Ruumlcksetzen 4481224 Vorrangiges Setzen und Ruumlcksetzen Speicherfunktion 4501225 Flankenauswertung 452

123 SIMATIC-Zeitfunktionen 4571231 Uumlbersicht 4571232 Programmieren einer Zeitfunktion 4601233 Zeitverhalten als Impuls 4621234 Zeitverhalten als verlaumlngerter Impuls 4641235 Zeitverhalten als Einschaltverzoumlgerung 4661236 Zeitverhalten als speichernde Einschaltverzoumlgerung 4681237 Zeitverhalten als Ausschaltverzoumlgerung 470

124 IEC-Zeitfunktionen 472

Inhaltsverzeichnis

17

1241 Einfuumlhrung 4721242 Impulsbildung TP 4731243 Einschaltverzoumlgerung TON 4741244 Ausschaltverzoumlgerung TOF 475

125 SIMATIC-Zaumlhlfunktionen 4761251 Uumlbersicht 4761252 Programmieren einer Zaumlhlfunktion 4781253 Funktionsweise einer Zaumlhlfunktion 4801254 Freigeben einer Zaumlhlfunktion bei AWL 482

126 IEC-Zaumlhlfunktionen 4831261 Einfuumlhrung 4831262 Vorwaumlrtszaumlhler CTU 4841263 Ruumlckwaumlrtszaumlhler CTD 4851264 VorwaumlrtsRuumlckwaumlrtszaumlhler CTUD 487

13 Digitalfunktionen 488

131 Allgemeines 488

132 Uumlbertragungsfunktionen 4891321 Allgemeines zur bdquoeinfachenldquo Uumlbertragungsfunktion 4891322 MOVE-Box bei KOP und FUP 4891323 Laden und Transferieren bei AWL 4911324 Wertzuweisungen bei SCL 4921325 Datenbereich im Arbeitsspeicher kopieren und fuumlllen 4941326 Datenbereich vom und zum Ladespeicher uumlbertragen 4971327 Speicherbereich steuern bei MCR-Abhaumlngigkeit 498

133 Vergleichsfunktionen 5011331 Ausfuumlhrung der bdquoeinfachenldquo Vergleichsfunktion 5011332 Vergleichsfunktion T_COMP 5031333 Vergleichsfunktion S_COMP 503

134 Arithmetische Funktionen 5041341 Allgemeine Funktionsbeschreibung 5041342 Datentypen und Statusbits bei einer arithmetischen Funktion 5051343 Ausfuumlhrung der arithmetischen Funktion 5071344 Arithmetische Funktionen fuumlr Datum und Uhrzeit 508

135 Mathematische Funktionen 5101351 Allgemeine Funktionsbeschreibung 5101352 Allgemeine Ausfuumlhrung einer mathematischen Funktion 5111353 Winkelfunktionen SIN COS TAN 5111354 Arcusfunktionen ASIN ACOS ATAN 5121355 Sonstige mathematische Funktionen 512

136 Konvertierungsfunktionen 5141361 Implizite Datentypwandlung 5141362 Datentypwandlung von Festpunktzahlen 5151363 Datentypwandlung von Gleitpunktzahlen 5181364 Datentypwandlung fuumlr DatumUhrzeit mit T_CONV 5211365 Datentypwandlung fuumlr Datentyp STRING mit S_CONV 522

Inhaltsverzeichnis

18

1366 Datentypwandlung von Hexadezimalzahlen 5241367 Skalieren und Deskalieren 5251368 Sonstige Konvertierungsfunktionen 526

137 Schiebefunktionen 5271371 Allgemeine Funktionsbeschreibung 5271372 Allgemeine Ausfuumlhrung einer Schiebefunktion 5291373 Rechts schieben 5301374 Links schieben 5301375 Rechts rotieren 5311376 Links rotieren 5321377 Rotieren durch das Anzeigenbit A1 (AWL) 532

138 Logikfunktionen 5321381 Wortverknuumlpfungen 5331382 Invertieren 5351383 Bit codieren und Bitnummer setzen 5361384 Auswahl- und Begrenzerfunktionen 537

139 Funktionen fuumlr Zeichenketten 540

14 Programmfluss-Steuerung 544

141 Statusbits 5451411 Beschreibung der Statusbits 5451412 Steuern der Statusbits 5471413 Verknuumlpfungsergebnis setzen und ruumlcksetzen 5481414 Binaumlrergebnis steuern 5491415 Auswertung der Statusbits 552

142 Sprungfunktionen 5531421 Einfuumlhrung 5531422 Absoluter Sprung 5531423 Bedingte Sprungfunktionen 5551424 Von den Statusbits abhaumlngige Sprungfunktionen 556

143 Bausteinende-Funktionen 5591431 Bausteinende-Funktion RET (KOP und FUP) 5601432 Bausteinende-Funktionen BEB BEA und BE (AWL) 5601433 RETURN-Anweisung (SCL) 561

144 Aufruf von Codebausteinen 5611441 Allgemeines zu Bausteinaufrufen 5611442 Aufruf einer Funktion (FC) 5621443 Aufruf eines Funktionsbausteins (FB) 5641444 Wechsel zu einem Baustein ohne Bausteinparameter 566

145 Datenbausteinfunktionen 5681451 Datenbaustein aufschlagen 5691452 Zusaumltzliche Datenbausteinfunktionen bei AWL 5701453 Datenbaustein erzeugen loumlschen und testen 571

146 Master Control Relay 5741461 Einfuumlhrung 5741462 MCR-Abhaumlngigkeit 575

Inhaltsverzeichnis

19

1463 MCR-Bereich und MCR-Zone 5751464 MCR-Bereich und MCR-Zone bei einem Bausteinwechsel 5781465 Anweisungen fuumlr das Master Control Relay 578

15 Online-Betrieb und Programmtest 580

151 Programmiergeraumlt an die PLC-Station anschlieszligen 5811511 Einstellungen am Programmiergeraumlt 5811512 Das Programmiergeraumlt mit der PLC-Station verbinden 5821513 Den Online-Betrieb einschalten 583

152 Projektdaten uumlbertragen 5841521 Die Projektdaten erstmalig laden 5841522 Die Projektdaten nachladen 5871523 Schutz des Anwenderprogramms 5881524 Online-Projekt ohne Offline-Projekt bearbeiten 5891525 Mit der Micro Memory Card arbeiten 590

153 Mit Bausteinen im Online-Betrieb arbeiten 5901531 Einfuumlhrung 5901532 Die Online-Version eines Bausteins bearbeiten 5911533 Einen Baustein in die CPU-Baugruppe laden 5921534 Den Arbeitsspeicher komprimieren 5941535 Bausteine aus der CPU zuruumlckladen 5941536 Mit Einstellwerten arbeiten 5961537 Bausteine vergleichen 598

154 Hardware-Diagnose 6011541 Status-Anzeigen an den Baugruppen 6011542 Diagnose-Informationen 6021543 Diagnosepuffer 6021544 Diagnose-Funktionen 6041545 Online-Tools 6041546 Weitere Diagnose-Informationen uumlber das Programmiergeraumlt 605

155 Anwenderprogramm testen 6061551 Aufrufumgebung definieren 6061552 Testen mit Programmstatus 6071553 Testen im Einzelschrittmodus 6111554 PLC-Variablen beobachten 6141555 Datenvariablen beobachten 6141556 Testen mit Beobachtungstabellen 6151557 Beobachten und Steuern im Betriebszustand STOP 6201558 Testen mit der Force-Tabelle 622

16 Dezentrale Peripherie 626

161 Einfuumlhrung Uumlbersicht 626

162 Dezentrales Peripheriesystem ET 200 6271621 ET 200M 6271622 ET 200MP 6281623 ET 200S 628

Inhaltsverzeichnis

20

1624 ET 200SP 6291625 ET 200iSP 6301626 ET 200pro 6311627 ET 200eco 631

163 PROFINET IO 6321631 Komponenten von PROFINET IO 6321632 Adressen bei PROFINET IO 6351633 Spezielle PROFINET-Konfigurationen 6381634 PROFINET IO projektieren 6391635 Kopplungsbaugruppen fuumlr PROFINET IO 6431636 Echtzeit-Kommunikation bei PROFINET 644

164 PROFIBUS DP 6491641 Komponenten von PROFIBUS DP 6491642 Adressen bei PROFIBUS DP 6521643 PROFIBUS DP projektieren 6561644 Kopplungsbaugruppen fuumlr PROFIBUS DP 6591645 Sonderfunktionen fuumlr PROFIBUS DP 661

165 Taktsynchronitaumlt 6621651 Einfuumlhrung 6621652 Taktsynchronitaumlt bei PROFINET 6631653 Taktsynchronitaumlt bei PROFIBUS 666

166 Systembausteine fuumlr dezentrale Peripherie 6691661 Systembausteine fuumlr PROFIBUS DP 6691662 Systembausteine fuumlr PROFIBUS DP und PROFINET IO 6731663 Systembausteine fuumlr PROFINET IO 676

167 AktorSensor-Interface 6791671 Komponenten von AktorSensor-Interface 6791672 Adressen am AktorSensor-Interface 6811673 AktorSensor-Interface mit CP 343-2P projektieren 6811674 Systemfunktionen fuumlr AS-i 683

17 Kommunikation 684

171 Uumlbersicht 684

172 S7-Basiskommunikation 6851721 Grundlagen der stationsinternen S7-Basiskommunikation 6851722 Stationsinterne S7-Basiskommunikation projektieren 6861723 Systembausteine fuumlr stationsinterne S7-Basiskommunikation 6861724 Grundlagen der stationsexternen S7-Basiskommunikation 6881725 Stationsexterne S7-Basiskommunikation projektieren 6891726 Systembausteine fuumlr stationsexterne S7-Basiskommunikation 689

173 S7-Kommunikation 6921731 Grundlagen 6921732 S7-Kommunikation projektieren 6931733 Einseitiger Datenaustausch 6951734 Zweiseitiger Datenaustausch 6961735 Uumlberwachungsfunktionen 699

Inhaltsverzeichnis

21

174 Open User Communication 700

1741 Grundlagen 700

1742 Verbindungen auf- und abbauen 702

1743 Datenuumlbertragung mit TCP native oder ISO-on-TCP 704

1744 Datenuumlbertragung mit UDP 707

18 Anhang 710

181 Arbeiten mit Quelldateien 710

1811 Allgemeines Vorgehen 710

1812 Einen Codebaustein in der Quelldatei programmieren 712

1813 Einen Datenbaustein in der Quelldatei programmieren 715

1814 Einen PLC-Datentyp in der Quelldatei programmieren 719

182 Projekte migrieren 720

183 Simulation mit dem TIA Portal 724

1831 Unterschiede zu einer realen CPU-Baugruppe 724

1832 Simulation starten und speichern 725

1833 Die Simulation bedienen 726

1834 Programm mit der Simulation testen 728

1835 Weitere Funktionen von PLCSIM 730

184 Webserver 731

1841 Webserver aktivieren 731

1842 Web-Informationen auslesen 732

1843 Standard-Webseiten 733

185 Ablage von lokalen Variablen 736

1851 Ablage in Global-Datenbausteinen 736

1852 Ablage in Instanz-Datenbausteinen 737

1853 Ablage in den temporaumlren Lokaldaten 738

1854 Datenablage der Bausteinparameter einer Funktion (FC) 739

1855 Datenablage der Bausteinparameter eines Funktionsbausteins (FB) 742

1856 Datenablage einer Lokalinstanz in einer Multiinstanz 744

Stichwortverzeichnis 746

1 Einfuumlhrung

22

1 Einfuumlhrung

11 Uumlbersicht Automatisierungssystem S7-300

SIMATIC S7-300 ist das modulare Kleinsteuersystem fuumlr den unteren und mittlerenLeistungsbereich (Bild 11) Verschiedene Varianten der Controller passen die Leis-tungsfaumlhigkeit an den jeweiligen Einsatzfall an Je nach Bedarf kann das Automati-sierungsgeraumlt mit Ein-Ausgabebaugruppen fuumlr Digital- und Analogsignale in biszu vier Baugruppentraumlgern mit je acht Baugruppen modular erweitert werden

Eine zusaumltzliche Erweiterung mit Ein-Ausgabebaugruppen bietet die dezentralePeripherie uumlber PROFIBUS oder PROFINET Mit besonderen Bauformen fuumlr erhoumlhtemechanische Anforderungen ausgestattet koumlnnen diese Baugruppen vor Ort ander Maschine oder Anlage installiert werden Die Steuerungsgeraumlte SIMATIC S7-300werden mit STEP 7 konfiguriert projektiert und programmiert Der Datenaus-tausch zwischen den Steuerungsgeraumlten der dezentralen Peripherie und dem Pro-grammiergeraumlt geschieht mit SIMATIC NET

Bild 11 Bestandteile des Automatisierungssystems SIMATIC S7-300

SIMATIC Controller steuern dieMaschine oder Anlage

Die dezentrale Peripherie erweitert dieSchnittstelle zur Maschine oder Anlage

SIMATIC NET

SIMATIC DP STEP 7Professional V12

SIMATIC S7-300

Die Vernetzung ermoumlglicht denDatenaustausch und den zentralenOnline-Zugriff

Mehrere Varianten der Controllererweitern das Einsatzspektrum

STEP 7 ist die Engineeringsoftware zumKonfigurieren undProgrammieren

Projektieren

Automatisierungssystem SIMATIC S7-300

11 Uumlbersicht Automatisierungssystem S7-300

23

111 Automatisierungsgeraumlt SIMATIC S7-300

Die wesentlichen Bestandteile eines S7-300-Automatisierungsgeraumlts sind im Bild12 dargestellt

Die CPU-Baugruppe enthaumllt das Betriebssystem und das AnwenderprogrammDas Anwenderprogramm steht spannungsausfallsicher auf der in der CPU-Bau-gruppe steckenden Micro Memory Card (MMC) Die Bearbeitung des Anwenderpro-gramms findet im Arbeitsspeicher in der CPU statt Die auf der CPU-Baugruppe vor-handenen Busschnittstellen stellen die Verbindung zu anderen Automatisierungs-geraumlten her

Die Verbindung zur gesteuerten Anlage uumlbernehmen SM-Baugruppen Diese Ein-und Ausgabebaugruppen gibt es fuumlr Digital- und Analogsignale

Die FM-Baugruppen sind signalvorverarbeitende bdquointelligenteldquo Peripheriebau-gruppen die vom Prozess kommende Signale unabhaumlngig von der CPU aufberei-ten verarbeiten und entweder wieder direkt an den Prozess zuruumlckgeben oder ander internen Schnittstelle der CPU zur Verfuumlgung stellen FM-Baugruppen uumlber-nehmen Funktionen die die CPU meist nicht schnell genug ausfuumlhren kann wiez B Impulse zaumlhlen positionieren oder Antriebe regeln

Die CP-Baugruppen gestatten einen Datenverkehr der die Moumlglichkeiten derStandard-Schnittstellen bezuumlglich Protokolle und Kommunikationsfunktionenuumlberschreitet

Die IM-Baugruppen verbinden bei einer Erweiterung den Zentralbaugruppentrauml-ger mit bis zu drei Erweiterungsbaugruppentraumlgern

Eine Stromversorgungsbaugruppe sorgt schlieszliglich fuumlr die benoumltigte Spannungim Automatisierungsgeraumlt

Bild 12 Bestandteile einer S7-300-Steuerung

Erweiterungsbaugruppentraumlger

Zentralbaugruppentraumlger SM-Baugruppen(Signal Modules)

Auf den Baugruppen-traumlgern sind steckbar

FM-Baugruppen(Function Modules)

CP-Baugruppen(CommunicationProcessors)

IM-Baugruppe(Interface Module)

IM-Baugruppe(Interface Module)

CPU-Baugruppe(Central Processor Unit)

PS-Baugruppe(Power Supply)

Baugruppen-traumlger (Rack)

Bestandteile einer S7-300-Steuerung

S

1 Einfuumlhrung

24

112 Uumlbersicht STEP 7 Professional V12

STEP 7 ist das zentrale Automatisierungswerkzeug fuumlr SIMATIC STEP 7 benoumltigtzum Betrieb eine Autorisierung (Lizenz) und laumluft auf den jeweils aktuellen Be-triebssystemen unter Microsoft Windows Die Projektierung eines S7-300-Control-lers geschieht mit zwei Ansichten der Portalansicht und der Projektansicht

Die Portalansicht ist aufgabenorientiert angelegt

Im Startportal oumlffnen Sie ein bestehendes Projekt erstellen ein neues Projekt odermigrieren ein Projekt Ein bdquoProjektldquo ist eine Datenstruktur die alle erforderlichenProgramme und Daten fuumlr Ihr Automatisierungsvorhaben enthaumllt Von hier aussind die wichtigsten Werkzeuge und Funktionen von STEP 7 uumlber weitere Portale er-reichbar (Bild 13)

b Im Portal Geraumlte amp Netze konfigurieren Sie die Automatisierungsgeraumlte d h Sieplatzieren die Baugruppen in einem Baugruppentraumlger und parametrieren sie

b Im Portal PLC-Programmierung erstellen Sie das Anwenderprogramm in Formvon einzelnen Abschnitten die man bdquoBausteineldquo nennt

b Das Portal Visualisierung bietet die wichtigsten Werkzeuge fuumlr die Projektierungund Simulation von HMI-Systemen mit SIMATIC WinCC an

Bild 13 Werkzeuge im Startportal von STEP 7 Professional V12

11 Uumlbersicht Automatisierungssystem S7-300

25

b Mit dem Portal Motion amp Technology fuumlgen Sie ein Technologie-Objekt fuumlr PIDControl ein und bearbeiten es

b Mit dem Portal Online amp Diagnose schalten Sie das Programmiergeraumlt online aneine CPU-Baugruppe Sie koumlnnen die Betriebsarten der CPU steuern und das An-wenderprogramm uumlbertragen und testen

Die Projektansicht bietet eine objektorientierte Ansicht mit mehreren Fensternderen Inhalt je nach ausgefuumlhrter Taumltigkeit wechselt In der Geraumltekonfigurationsteht der Arbeitsbereich mit dem zu konfigurierenden Geraumlt im Mittelpunkt In derGeraumltesicht wird der Baugruppentraumlger mit den bereits platzierten Baugruppen ge-zeigt (Bild 14) Ein weiteres Fenster ndash das Inspektorfenster ndash enthaumllt die Eigen-schaften der selektierten Baugruppe das Aufgaben-Fenster (Task Card) gibt Unter-stuumltzung durch den Hardware-Katalog mit den zur Verfuumlgung stehenden Baugrup-pen Die Netzsicht gestattet die Vernetzung zwischen PLC- und HMI-Stationen

Bei der PLC-Programmierung bearbeiten Sie im Arbeitsbereich den ausgewaumlhltenBaustein Wiederum sehen Sie im Inspektorfenster die Eigenschaften des markier-ten Objekts und koumlnnen diese einstellen Das Aufgabenfenster enthaumllt diesmal denProgrammelemente-Katalog mit den zur Verfuumlgung stehenden Programmelemen-ten und Anweisungen Aumlhnliches gilt fuumlr die Bearbeitung der PLC-Variablen oderbeim Online-Programmtest durch Beobachtungstabellen

Bild 14 Beispiel fuumlr die Projektansicht Arbeitsbereich der Geraumltekonfiguration

1 Einfuumlhrung

26

Und stets haben Sie die Projektnavigation im Blickfeld Sie enthaumllt alle Objekte desSTEP-7-Projekts So koumlnnen Sie jederzeit ein Objekt beispielsweise einen Pro-grammbaustein oder eine Beobachtungstabelle auswaumlhlen und dieses Objekt mitden entsprechenden Editoren die beim Oumlffnen des Objekts automatisch startenbearbeiten

113 Fuumlnf Programmiersprachen

Als Programmiersprache fuumlr das Anwenderprogramm koumlnnen Sie zwischen Kon-taktplan (KOP) Funktionsplan (FUP) Anweisungsliste (AWL) Structured ControlLanguage (SCL) und Ablaufsteuerung (GRAPH) waumlhlen

Mit Kontaktplan programmieren Sie die Steuerungsaufgabe angelehnt an denStromlaufplan Die Verknuumlpfung der binaumlren Signalzustaumlnde wird durch die seriel-le oder parallele Anordnung von Kontakten und Spulen dargestellt (Bild 15) Kom-plexe Funktionen wie beispielsweise die arithmetischen Funktionen werden mitBoxen dargestellt die Sie wie Kontakte oder Spulen im Kontaktplan anordnen

Mit Funktionsplan programmieren Sie die Steuerungsaufgabe angelehnt an elektro-nische Schaltkreissysteme Binaumlre Verknuumlpfungen werden durch Verschaltung vonUND- und ODER-Funktionen realisiert und mit Speicher-Boxen abgeschlossen (Bild16) Komplexe Boxen uumlbernehmen die Verknuumlpfung digitaler Variablen beispiels-weise bei den arithmetischen Funktionen

Bild 15 Beispiel fuumlr die Darstellung in Kontaktplan

Bild 16 Beispiel fuumlr die Darstellung in Funktionsplan

11 Uumlbersicht Automatisierungssystem S7-300

27

Mit Anweisungsliste programmieren Sie die Steuerungsaufgabe durch eine Folgevon Anweisungen Jede AWL-Anweisung enthaumllt eine Vorschrift was zu tun ist undeventuell einen Operand mit dem die Operation ausgefuumlhrt wird AWL ist gleicher-maszligen geeignet fuumlr binaumlre und digitale Verknuumlpfungen wie fuumlr die Programmierungkomplexer Steuerungsaufgaben (Bild 17)

Structured Control Language eignet sich besonders fuumlr die Programmierung vonkomplexen Algorithmen oder fuumlr Aufgabenstellungen aus dem Bereich der Datenver-waltung Das Programm besteht aus SCL-Anweisungen die beispielsweise Wertzuwei-sungen Vergleiche oder Kontrollanweisungen sein koumlnnen (Bild 18)

Mit GRAPH programmieren Sie eine Steuerungsaufgabe als Ablaufsteuerung in derdie sequenzielle Folge von Aktionen vorherrscht Die einzelnen Schritte und Verzwei-gungen werden durch Weiterschaltbedingungen freigegeben die mit KOP oder FUPprogrammiert werden koumlnnen (Bild 19)

114 Bearbeitung des Anwenderprogramms

Nach dem Einschalten der Versorgungsspannung pruumlft der Steuerungsprozessordie Konsistenz der Hardware und parametriert die Baugruppen Anschlieszligend wirdeinmalig ndash falls vorhanden ndash ein Anlaufprogramm bearbeitet Das Anlaufpro-

Bild 17 Beispiel fuumlr AWL-Anweisungen

Bild 18 Beispiel fuumlr SCL-Anweisungen

1 Einfuumlhrung

28

gramm gehoumlrt zum Anwenderprogramm das Sie programmieren Im Anlaufpro-gramm koumlnnen beispielsweise Baugruppen initialisiert werden

Das Anwenderprogramm ist in der Regel in einzelne Abschnitte ndash bdquoBausteineldquo ge-nannt ndash eingeteilt Die Organisationsbausteine (OB) sind die Schnittstelle zwischenBetriebssystem und Anwenderprogramm Das Betriebssystem ruft zu bestimmtenEreignissen einen Organisationsbaustein auf in dem dann das Anwenderpro-gramm bearbeitet wird (Bild 110)

Bild 19 Beispiel fuumlr eine GRAPH-Ablaufkette und eine Schrittprojektierung

Bild 110 Bearbeitung des Anwenderprogramms

Anlauf-programm

Alarm- undFehlerprogramm

Haupt-programm

Bearbeitung des Anwenderprogramms

Einschalten

Aktualisierung derEin- und Ausgaumlnge

Unterbrechung(Alarm oder Fehler)

BetriebszustandANLAUF

Betriebssystem Anwenderprogramm

BetriebszustandRUN

OB

OB

FBFC

FBFC

FBFC

FBFC

FBFC

FBFC

OB

Unterbrechung

11 Uumlbersicht Automatisierungssystem S7-300

29

Zur Strukturierung das Programms stehen Funktionsbausteine (FB) und Funktio-nen (FC) zur Verfuumlgung Funktionsbausteine haben einen Speicher in dem lokaleVariablen dauerhaft abgelegt sind Funktionen haben diesen Speicher nicht

Fuumlr den Aufruf (das Starten der Bearbeitung) von Funktionsbausteinen und Funk-tionen gibt es Programmanweisungen Jeder Bausteinaufruf kann mit Ein- undAusgaumlngen ndash bdquoBausteinparameterldquo genannt ndash versehen werden Beim Aufruf koumln-nen Variablen uumlbergeben werden mit denen das Programm im Baustein arbeitensoll Auf diese Weise kann ein Baustein mit einer gewissen Funktion (z B der Addi-tion von drei Variablen) mehrfach mit unterschiedlichen Parametersaumltzen (z B fuumlrunterschiedliche Berechnungen) aufgerufen werden (Bild 111)

Die Daten des Anwenderprogramms werden in Datenbausteinen (DB) abgelegtInstanz-Datenbausteine sind einem Aufruf eines Funktionsbausteins fest zugeord-net und bilden den Variablenspeicher des Funktionsbausteins Global-Datenbau-steine enthalten Daten die keinem Baustein zugeordnet sind

Nach einem Anlauf aktualisiert der Steuerungsprozessor die Ein- und Ausgangs-signale in den Prozessabbildern und ruft den Organisationsbaustein OB 1 auf Hiersteht das Hauptprogramm Auch im Hauptprogramm ist eine Strukturierung moumlg-lich und zu empfehlen Ist das Hauptprogramm bearbeitet wechselt der Steue-rungsprozessor zuruumlck ins Betriebssystem haumllt beispielsweise die Kommunikati-on mit dem Programmiergeraumlt aufrecht aktualisiert die Ein- und Ausgangssignaleund beginnt dann erneut mit der Bearbeitung des Hauptprogramms

Die zyklische Programmbearbeitung ist ein Merkmal speicherprogrammierbarerSteuerungen Das Anwenderprogramm wird auch dann bearbeitet wenn bdquovon au-szligenldquo keine Aktionen gefordert sind wenn also z B die gesteuerte Maschine stehtDies hat Vorteile bei der Programmierung Sie programmieren beispielsweise den

Bild 111 Beispiel fuumlr zwei Aufrufe eines Bausteins mit jeweils verschiedenen Variablen

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

Inhaltsverzeichnis

13

752 Arithmetische Funktionen 278753 Mathematische Funktionen 279754 Konvertierungsfunktionen 280755 Schiebefunktionen 281756 Wortverknuumlpfungen 282

76 Programmfluss bei KOP steuern 284761 Mit Statusbits im Kontaktplan arbeiten 284762 ENENO-Mechanismus bei KOP 286763 Sprungfunktionen 287764 Bausteinfunktionen 288765 Master Control Relay (MCR) 290

8 Funktionsplan FUP 292

81 Einfuumlhrung 292811 Programmieren mit FUP allgemein 292812 Programmelemente des Funktionsplans 294

82 Binaumlre Verknuumlpfungen mit FUP programmieren 295821 Abfrage auf Signalzustand bdquo1ldquo und auf Signalzustand bdquo0ldquo 295822 Eine binaumlre Verknuumlpfung im Funktionsplan programmieren 296823 UND-Funktion 297824 ODER-Funktion 297825 Exklusiv-ODER-Funktion 297826 Kombinierte binaumlre Verknuumlpfungen Verknuumlpfungsergebnis negieren 298827 T-Abzweig 299828 Flankenauswertung von Binaumlrvariablen 299829 Vergleichsfunktionen 300

83 Standard-Boxen mit FUP programmieren 301831 Zuweisung-Box 302832 Setzen- und Ruumlcksetzen-Box 302833 Standard-Boxen mit Zeitverhalten 303834 Standard-Boxen mit Zaumlhlerverhalten 304

84 Q-Boxen mit FUP programmieren 305841 Speicher-Boxen 305842 Flankenauswertung des Verknuumlpfungsergebnisses 307843 SIMATIC-Zeitfunktionen 308844 SIMATIC-Zaumlhlfunktionen 308845 IEC-Zeitfunktionen 309846 IEC-Zaumlhlfunktionen 309

85 ENENO-Boxen mit FUP programmieren 310851 Uumlbertragungsfunktion MOVE 312852 Arithmetische Funktionen 312853 Mathematische Funktionen 313854 Konvertierungsfunktionen 313855 Schiebefunktionen 315856 Wortverknuumlpfungen 316

Inhaltsverzeichnis

14

86 Programmfluss bei FUP steuern 318861 Mit Statusbits im Funktionsplan arbeiten 318862 ENENO-Mechanismus bei FUP 320863 Sprungfunktionen 321864 Bausteinfunktionen 322865 Master Control Relay (MCR) 324

9 Anweisungsliste AWL 326

91 Einfuumlhrung 326911 Programmieren mit AWL allgemein 326912 Aufbau einer AWL-Anweisung 327

92 Binaumlre Verknuumlpfungen mit AWL programmieren 328921 Bearbeitung einer binaumlren Verknuumlpfung Verknuumlpfungsschritt 328922 Abfrage auf Signalzustand bdquo1ldquo und auf Signalzustand bdquo0ldquo 330923 Eine binaumlre Verknuumlpfung in Anweisungsliste programmieren 331924 UND-Funktion 332925 ODER-Funktion 332926 Exklusiv-ODER-Funktion 333927 Kombinierte binaumlre Verknuumlpfungen 333928 Verknuumlpfungsergebnis steuern 336

93 Speicherfunktionen mit AWL programmieren 337931 Zuweisung 337932 Setzen und Ruumlcksetzen 338933 Flankenauswertung 338

94 Zeit- und Zaumlhlfunktionen mit AWL programmieren 339941 SIMATIC-Zeitfunktionen 339942 SIMATIC-Zaumlhlfunktionen 341943 IEC-Zeitfunktionen 342944 IEC-Zaumlhlfunktionen 343

95 Digitalfunktionen mit AWL programmieren 344951 Uumlbertragungsfunktionen 344952 Vergleichsfunktionen 346953 Arithmetische Funktionen 349954 Mathematische Funktionen 352955 Konvertierungsfunktionen 353956 Schiebefunktionen 354957 Wortverknuumlpfungen 356

96 Programmfluss bei AWL steuern 358961 Mit Statusbits in der Anweisungsliste arbeiten 359962 ENENO-Mechanismus bei AWL 361963 Sprungfunktionen 363964 Sprungverteiler 364965 Schleifensprung 364966 Bausteinfunktionen 365967 Master Control Relay (MCR) 368

97 Weitere AWL-Funktionen 369

Inhaltsverzeichnis

15

971 Akkumulatorfunktionen 369972 Addieren von Konstanten zum Akkumulator 1 371973 Dekrementieren Inkrementieren 372974 Nullanweisungen 373

10 Structured Control Language SCL 374

101 Einfuumlhrung in die Programmierung mit SCL 3741011 Programmieren mit SCL allgemein 3741012 SCL-Anweisungen und Operatoren 376

102 Binaumlre Verknuumlpfungen mit SCL programmieren 3781021 Abfrage auf Signalzustand bdquo1ldquo und auf Signalzustand bdquo0ldquo 3781022 UND-Funktion 3791023 ODER-Funktion 3791024 Exklusiv-ODER-Funktion 3801025 Kombinierte binaumlre Verknuumlpfungen 3801026 Verknuumlpfungsergebnis negieren 381

103 Speicherfunktionen mit SCL programmieren 3821031 Wertzuweisung einer Binaumlrvariablen 3821032 Setzen und Ruumlcksetzen 3821033 Flankenauswertung 382

104 Zeit- und Zaumlhlfunktionen mit SCL programmieren 3831041 SIMATIC-Zeitfunktionen 3831042 SIMATIC-Zaumlhlfunktionen 3841043 IEC-Zeitfunktionen 3851044 IEC-Zaumlhlfunktionen 386

105 Digitalfunktionen mit SCL programmieren 3871051 Uumlbertragungsfunktion Wertzuweisung einer Digitalvariablen 3871052 Vergleichsfunktionen 3871053 Arithmetische Funktionen 3881054 Mathematische Funktionen 3891055 Konvertierungsfunktionen 3901056 Schiebefunktionen 3911057 Wortverknuumlpfungen logischer Ausdruck 392

106 Programmfluss mit SCL steuern 3931061 Mit der Variablen ENO arbeiten 3931062 ENENO-Mechanismus bei SCL 3951063 Kontrollanweisungen 3961064 Bausteinfunktionen 404

11 Ablaufsteuerung S7-GRAPH 408

111 Einfuumlhrung 4081111 Was ist eine Ablaufsteuerung 4081112 Eigenschaften einer Ablaufsteuerung 4091113 Programm fuumlr eine Ablaufsteuerung Mengengeruumlst 4101114 Betriebsarten 4101115 Vorgehen bei der Projektierung 411

Inhaltsverzeichnis

16

112 Elemente einer Ablaufsteuerung 4121121 Schritte und Transitionen 4121122 Spruumlnge in einer Ablaufsteuerung 4131123 Verzweigungen einer Ablaufkette 4131124 GRAPH-spezifische Variablen 4151125 Permanente Anweisungen 4161126 Schritt- und Transitionsfunktionen 4161127 Bearbeitung von Aktionen 420

113 Eine Ablaufsteuerung projektieren 4261131 Den GRAPH-Funktionsbaustein programmieren 4271132 Projektieren der Kettenstruktur 4281133 Schritte und Transitionen programmieren 4291134 Permanente Anweisungen programmieren 4311135 Bausteinuumlbergreifende Meldungen projektieren 4311136 Attribute des GRAPH-Funktionsbausteins 4321137 GRAPH-Funktionsbaustein anwenden 433

114 Ablaufsteuerung testen 4341141 GRAPH-Funktionsbaustein laden 4351142 Einstellungen zum Programmtest 4351143 Betriebsarten verwenden 4361144 Ablaufkette synchronisieren 4371145 Mit Programmstatus testen 438

12 Basisfunktionen 440

121 Binaumlre Verknuumlpfungen 4401211 Einfuumlhrung 4401212 Arbeiten mit Binaumlrsignalen 4411213 UND-Funktion Reihenschaltung 4441214 ODER-Funktion Parallelschaltung 4451215 Exklusiv-ODER-Funktion Antivalenzfunktion 4451216 Verknuumlpfungsergebnis negieren NOT-Kontakt 446

122 Speicherfunktionen 4481221 Einfuumlhrung 4481222 Standardspule Zuweisung 4481223 Einzelnes Setzen und Ruumlcksetzen 4481224 Vorrangiges Setzen und Ruumlcksetzen Speicherfunktion 4501225 Flankenauswertung 452

123 SIMATIC-Zeitfunktionen 4571231 Uumlbersicht 4571232 Programmieren einer Zeitfunktion 4601233 Zeitverhalten als Impuls 4621234 Zeitverhalten als verlaumlngerter Impuls 4641235 Zeitverhalten als Einschaltverzoumlgerung 4661236 Zeitverhalten als speichernde Einschaltverzoumlgerung 4681237 Zeitverhalten als Ausschaltverzoumlgerung 470

124 IEC-Zeitfunktionen 472

Inhaltsverzeichnis

17

1241 Einfuumlhrung 4721242 Impulsbildung TP 4731243 Einschaltverzoumlgerung TON 4741244 Ausschaltverzoumlgerung TOF 475

125 SIMATIC-Zaumlhlfunktionen 4761251 Uumlbersicht 4761252 Programmieren einer Zaumlhlfunktion 4781253 Funktionsweise einer Zaumlhlfunktion 4801254 Freigeben einer Zaumlhlfunktion bei AWL 482

126 IEC-Zaumlhlfunktionen 4831261 Einfuumlhrung 4831262 Vorwaumlrtszaumlhler CTU 4841263 Ruumlckwaumlrtszaumlhler CTD 4851264 VorwaumlrtsRuumlckwaumlrtszaumlhler CTUD 487

13 Digitalfunktionen 488

131 Allgemeines 488

132 Uumlbertragungsfunktionen 4891321 Allgemeines zur bdquoeinfachenldquo Uumlbertragungsfunktion 4891322 MOVE-Box bei KOP und FUP 4891323 Laden und Transferieren bei AWL 4911324 Wertzuweisungen bei SCL 4921325 Datenbereich im Arbeitsspeicher kopieren und fuumlllen 4941326 Datenbereich vom und zum Ladespeicher uumlbertragen 4971327 Speicherbereich steuern bei MCR-Abhaumlngigkeit 498

133 Vergleichsfunktionen 5011331 Ausfuumlhrung der bdquoeinfachenldquo Vergleichsfunktion 5011332 Vergleichsfunktion T_COMP 5031333 Vergleichsfunktion S_COMP 503

134 Arithmetische Funktionen 5041341 Allgemeine Funktionsbeschreibung 5041342 Datentypen und Statusbits bei einer arithmetischen Funktion 5051343 Ausfuumlhrung der arithmetischen Funktion 5071344 Arithmetische Funktionen fuumlr Datum und Uhrzeit 508

135 Mathematische Funktionen 5101351 Allgemeine Funktionsbeschreibung 5101352 Allgemeine Ausfuumlhrung einer mathematischen Funktion 5111353 Winkelfunktionen SIN COS TAN 5111354 Arcusfunktionen ASIN ACOS ATAN 5121355 Sonstige mathematische Funktionen 512

136 Konvertierungsfunktionen 5141361 Implizite Datentypwandlung 5141362 Datentypwandlung von Festpunktzahlen 5151363 Datentypwandlung von Gleitpunktzahlen 5181364 Datentypwandlung fuumlr DatumUhrzeit mit T_CONV 5211365 Datentypwandlung fuumlr Datentyp STRING mit S_CONV 522

Inhaltsverzeichnis

18

1366 Datentypwandlung von Hexadezimalzahlen 5241367 Skalieren und Deskalieren 5251368 Sonstige Konvertierungsfunktionen 526

137 Schiebefunktionen 5271371 Allgemeine Funktionsbeschreibung 5271372 Allgemeine Ausfuumlhrung einer Schiebefunktion 5291373 Rechts schieben 5301374 Links schieben 5301375 Rechts rotieren 5311376 Links rotieren 5321377 Rotieren durch das Anzeigenbit A1 (AWL) 532

138 Logikfunktionen 5321381 Wortverknuumlpfungen 5331382 Invertieren 5351383 Bit codieren und Bitnummer setzen 5361384 Auswahl- und Begrenzerfunktionen 537

139 Funktionen fuumlr Zeichenketten 540

14 Programmfluss-Steuerung 544

141 Statusbits 5451411 Beschreibung der Statusbits 5451412 Steuern der Statusbits 5471413 Verknuumlpfungsergebnis setzen und ruumlcksetzen 5481414 Binaumlrergebnis steuern 5491415 Auswertung der Statusbits 552

142 Sprungfunktionen 5531421 Einfuumlhrung 5531422 Absoluter Sprung 5531423 Bedingte Sprungfunktionen 5551424 Von den Statusbits abhaumlngige Sprungfunktionen 556

143 Bausteinende-Funktionen 5591431 Bausteinende-Funktion RET (KOP und FUP) 5601432 Bausteinende-Funktionen BEB BEA und BE (AWL) 5601433 RETURN-Anweisung (SCL) 561

144 Aufruf von Codebausteinen 5611441 Allgemeines zu Bausteinaufrufen 5611442 Aufruf einer Funktion (FC) 5621443 Aufruf eines Funktionsbausteins (FB) 5641444 Wechsel zu einem Baustein ohne Bausteinparameter 566

145 Datenbausteinfunktionen 5681451 Datenbaustein aufschlagen 5691452 Zusaumltzliche Datenbausteinfunktionen bei AWL 5701453 Datenbaustein erzeugen loumlschen und testen 571

146 Master Control Relay 5741461 Einfuumlhrung 5741462 MCR-Abhaumlngigkeit 575

Inhaltsverzeichnis

19

1463 MCR-Bereich und MCR-Zone 5751464 MCR-Bereich und MCR-Zone bei einem Bausteinwechsel 5781465 Anweisungen fuumlr das Master Control Relay 578

15 Online-Betrieb und Programmtest 580

151 Programmiergeraumlt an die PLC-Station anschlieszligen 5811511 Einstellungen am Programmiergeraumlt 5811512 Das Programmiergeraumlt mit der PLC-Station verbinden 5821513 Den Online-Betrieb einschalten 583

152 Projektdaten uumlbertragen 5841521 Die Projektdaten erstmalig laden 5841522 Die Projektdaten nachladen 5871523 Schutz des Anwenderprogramms 5881524 Online-Projekt ohne Offline-Projekt bearbeiten 5891525 Mit der Micro Memory Card arbeiten 590

153 Mit Bausteinen im Online-Betrieb arbeiten 5901531 Einfuumlhrung 5901532 Die Online-Version eines Bausteins bearbeiten 5911533 Einen Baustein in die CPU-Baugruppe laden 5921534 Den Arbeitsspeicher komprimieren 5941535 Bausteine aus der CPU zuruumlckladen 5941536 Mit Einstellwerten arbeiten 5961537 Bausteine vergleichen 598

154 Hardware-Diagnose 6011541 Status-Anzeigen an den Baugruppen 6011542 Diagnose-Informationen 6021543 Diagnosepuffer 6021544 Diagnose-Funktionen 6041545 Online-Tools 6041546 Weitere Diagnose-Informationen uumlber das Programmiergeraumlt 605

155 Anwenderprogramm testen 6061551 Aufrufumgebung definieren 6061552 Testen mit Programmstatus 6071553 Testen im Einzelschrittmodus 6111554 PLC-Variablen beobachten 6141555 Datenvariablen beobachten 6141556 Testen mit Beobachtungstabellen 6151557 Beobachten und Steuern im Betriebszustand STOP 6201558 Testen mit der Force-Tabelle 622

16 Dezentrale Peripherie 626

161 Einfuumlhrung Uumlbersicht 626

162 Dezentrales Peripheriesystem ET 200 6271621 ET 200M 6271622 ET 200MP 6281623 ET 200S 628

Inhaltsverzeichnis

20

1624 ET 200SP 6291625 ET 200iSP 6301626 ET 200pro 6311627 ET 200eco 631

163 PROFINET IO 6321631 Komponenten von PROFINET IO 6321632 Adressen bei PROFINET IO 6351633 Spezielle PROFINET-Konfigurationen 6381634 PROFINET IO projektieren 6391635 Kopplungsbaugruppen fuumlr PROFINET IO 6431636 Echtzeit-Kommunikation bei PROFINET 644

164 PROFIBUS DP 6491641 Komponenten von PROFIBUS DP 6491642 Adressen bei PROFIBUS DP 6521643 PROFIBUS DP projektieren 6561644 Kopplungsbaugruppen fuumlr PROFIBUS DP 6591645 Sonderfunktionen fuumlr PROFIBUS DP 661

165 Taktsynchronitaumlt 6621651 Einfuumlhrung 6621652 Taktsynchronitaumlt bei PROFINET 6631653 Taktsynchronitaumlt bei PROFIBUS 666

166 Systembausteine fuumlr dezentrale Peripherie 6691661 Systembausteine fuumlr PROFIBUS DP 6691662 Systembausteine fuumlr PROFIBUS DP und PROFINET IO 6731663 Systembausteine fuumlr PROFINET IO 676

167 AktorSensor-Interface 6791671 Komponenten von AktorSensor-Interface 6791672 Adressen am AktorSensor-Interface 6811673 AktorSensor-Interface mit CP 343-2P projektieren 6811674 Systemfunktionen fuumlr AS-i 683

17 Kommunikation 684

171 Uumlbersicht 684

172 S7-Basiskommunikation 6851721 Grundlagen der stationsinternen S7-Basiskommunikation 6851722 Stationsinterne S7-Basiskommunikation projektieren 6861723 Systembausteine fuumlr stationsinterne S7-Basiskommunikation 6861724 Grundlagen der stationsexternen S7-Basiskommunikation 6881725 Stationsexterne S7-Basiskommunikation projektieren 6891726 Systembausteine fuumlr stationsexterne S7-Basiskommunikation 689

173 S7-Kommunikation 6921731 Grundlagen 6921732 S7-Kommunikation projektieren 6931733 Einseitiger Datenaustausch 6951734 Zweiseitiger Datenaustausch 6961735 Uumlberwachungsfunktionen 699

Inhaltsverzeichnis

21

174 Open User Communication 700

1741 Grundlagen 700

1742 Verbindungen auf- und abbauen 702

1743 Datenuumlbertragung mit TCP native oder ISO-on-TCP 704

1744 Datenuumlbertragung mit UDP 707

18 Anhang 710

181 Arbeiten mit Quelldateien 710

1811 Allgemeines Vorgehen 710

1812 Einen Codebaustein in der Quelldatei programmieren 712

1813 Einen Datenbaustein in der Quelldatei programmieren 715

1814 Einen PLC-Datentyp in der Quelldatei programmieren 719

182 Projekte migrieren 720

183 Simulation mit dem TIA Portal 724

1831 Unterschiede zu einer realen CPU-Baugruppe 724

1832 Simulation starten und speichern 725

1833 Die Simulation bedienen 726

1834 Programm mit der Simulation testen 728

1835 Weitere Funktionen von PLCSIM 730

184 Webserver 731

1841 Webserver aktivieren 731

1842 Web-Informationen auslesen 732

1843 Standard-Webseiten 733

185 Ablage von lokalen Variablen 736

1851 Ablage in Global-Datenbausteinen 736

1852 Ablage in Instanz-Datenbausteinen 737

1853 Ablage in den temporaumlren Lokaldaten 738

1854 Datenablage der Bausteinparameter einer Funktion (FC) 739

1855 Datenablage der Bausteinparameter eines Funktionsbausteins (FB) 742

1856 Datenablage einer Lokalinstanz in einer Multiinstanz 744

Stichwortverzeichnis 746

1 Einfuumlhrung

22

1 Einfuumlhrung

11 Uumlbersicht Automatisierungssystem S7-300

SIMATIC S7-300 ist das modulare Kleinsteuersystem fuumlr den unteren und mittlerenLeistungsbereich (Bild 11) Verschiedene Varianten der Controller passen die Leis-tungsfaumlhigkeit an den jeweiligen Einsatzfall an Je nach Bedarf kann das Automati-sierungsgeraumlt mit Ein-Ausgabebaugruppen fuumlr Digital- und Analogsignale in biszu vier Baugruppentraumlgern mit je acht Baugruppen modular erweitert werden

Eine zusaumltzliche Erweiterung mit Ein-Ausgabebaugruppen bietet die dezentralePeripherie uumlber PROFIBUS oder PROFINET Mit besonderen Bauformen fuumlr erhoumlhtemechanische Anforderungen ausgestattet koumlnnen diese Baugruppen vor Ort ander Maschine oder Anlage installiert werden Die Steuerungsgeraumlte SIMATIC S7-300werden mit STEP 7 konfiguriert projektiert und programmiert Der Datenaus-tausch zwischen den Steuerungsgeraumlten der dezentralen Peripherie und dem Pro-grammiergeraumlt geschieht mit SIMATIC NET

Bild 11 Bestandteile des Automatisierungssystems SIMATIC S7-300

SIMATIC Controller steuern dieMaschine oder Anlage

Die dezentrale Peripherie erweitert dieSchnittstelle zur Maschine oder Anlage

SIMATIC NET

SIMATIC DP STEP 7Professional V12

SIMATIC S7-300

Die Vernetzung ermoumlglicht denDatenaustausch und den zentralenOnline-Zugriff

Mehrere Varianten der Controllererweitern das Einsatzspektrum

STEP 7 ist die Engineeringsoftware zumKonfigurieren undProgrammieren

Projektieren

Automatisierungssystem SIMATIC S7-300

11 Uumlbersicht Automatisierungssystem S7-300

23

111 Automatisierungsgeraumlt SIMATIC S7-300

Die wesentlichen Bestandteile eines S7-300-Automatisierungsgeraumlts sind im Bild12 dargestellt

Die CPU-Baugruppe enthaumllt das Betriebssystem und das AnwenderprogrammDas Anwenderprogramm steht spannungsausfallsicher auf der in der CPU-Bau-gruppe steckenden Micro Memory Card (MMC) Die Bearbeitung des Anwenderpro-gramms findet im Arbeitsspeicher in der CPU statt Die auf der CPU-Baugruppe vor-handenen Busschnittstellen stellen die Verbindung zu anderen Automatisierungs-geraumlten her

Die Verbindung zur gesteuerten Anlage uumlbernehmen SM-Baugruppen Diese Ein-und Ausgabebaugruppen gibt es fuumlr Digital- und Analogsignale

Die FM-Baugruppen sind signalvorverarbeitende bdquointelligenteldquo Peripheriebau-gruppen die vom Prozess kommende Signale unabhaumlngig von der CPU aufberei-ten verarbeiten und entweder wieder direkt an den Prozess zuruumlckgeben oder ander internen Schnittstelle der CPU zur Verfuumlgung stellen FM-Baugruppen uumlber-nehmen Funktionen die die CPU meist nicht schnell genug ausfuumlhren kann wiez B Impulse zaumlhlen positionieren oder Antriebe regeln

Die CP-Baugruppen gestatten einen Datenverkehr der die Moumlglichkeiten derStandard-Schnittstellen bezuumlglich Protokolle und Kommunikationsfunktionenuumlberschreitet

Die IM-Baugruppen verbinden bei einer Erweiterung den Zentralbaugruppentrauml-ger mit bis zu drei Erweiterungsbaugruppentraumlgern

Eine Stromversorgungsbaugruppe sorgt schlieszliglich fuumlr die benoumltigte Spannungim Automatisierungsgeraumlt

Bild 12 Bestandteile einer S7-300-Steuerung

Erweiterungsbaugruppentraumlger

Zentralbaugruppentraumlger SM-Baugruppen(Signal Modules)

Auf den Baugruppen-traumlgern sind steckbar

FM-Baugruppen(Function Modules)

CP-Baugruppen(CommunicationProcessors)

IM-Baugruppe(Interface Module)

IM-Baugruppe(Interface Module)

CPU-Baugruppe(Central Processor Unit)

PS-Baugruppe(Power Supply)

Baugruppen-traumlger (Rack)

Bestandteile einer S7-300-Steuerung

S

1 Einfuumlhrung

24

112 Uumlbersicht STEP 7 Professional V12

STEP 7 ist das zentrale Automatisierungswerkzeug fuumlr SIMATIC STEP 7 benoumltigtzum Betrieb eine Autorisierung (Lizenz) und laumluft auf den jeweils aktuellen Be-triebssystemen unter Microsoft Windows Die Projektierung eines S7-300-Control-lers geschieht mit zwei Ansichten der Portalansicht und der Projektansicht

Die Portalansicht ist aufgabenorientiert angelegt

Im Startportal oumlffnen Sie ein bestehendes Projekt erstellen ein neues Projekt odermigrieren ein Projekt Ein bdquoProjektldquo ist eine Datenstruktur die alle erforderlichenProgramme und Daten fuumlr Ihr Automatisierungsvorhaben enthaumllt Von hier aussind die wichtigsten Werkzeuge und Funktionen von STEP 7 uumlber weitere Portale er-reichbar (Bild 13)

b Im Portal Geraumlte amp Netze konfigurieren Sie die Automatisierungsgeraumlte d h Sieplatzieren die Baugruppen in einem Baugruppentraumlger und parametrieren sie

b Im Portal PLC-Programmierung erstellen Sie das Anwenderprogramm in Formvon einzelnen Abschnitten die man bdquoBausteineldquo nennt

b Das Portal Visualisierung bietet die wichtigsten Werkzeuge fuumlr die Projektierungund Simulation von HMI-Systemen mit SIMATIC WinCC an

Bild 13 Werkzeuge im Startportal von STEP 7 Professional V12

11 Uumlbersicht Automatisierungssystem S7-300

25

b Mit dem Portal Motion amp Technology fuumlgen Sie ein Technologie-Objekt fuumlr PIDControl ein und bearbeiten es

b Mit dem Portal Online amp Diagnose schalten Sie das Programmiergeraumlt online aneine CPU-Baugruppe Sie koumlnnen die Betriebsarten der CPU steuern und das An-wenderprogramm uumlbertragen und testen

Die Projektansicht bietet eine objektorientierte Ansicht mit mehreren Fensternderen Inhalt je nach ausgefuumlhrter Taumltigkeit wechselt In der Geraumltekonfigurationsteht der Arbeitsbereich mit dem zu konfigurierenden Geraumlt im Mittelpunkt In derGeraumltesicht wird der Baugruppentraumlger mit den bereits platzierten Baugruppen ge-zeigt (Bild 14) Ein weiteres Fenster ndash das Inspektorfenster ndash enthaumllt die Eigen-schaften der selektierten Baugruppe das Aufgaben-Fenster (Task Card) gibt Unter-stuumltzung durch den Hardware-Katalog mit den zur Verfuumlgung stehenden Baugrup-pen Die Netzsicht gestattet die Vernetzung zwischen PLC- und HMI-Stationen

Bei der PLC-Programmierung bearbeiten Sie im Arbeitsbereich den ausgewaumlhltenBaustein Wiederum sehen Sie im Inspektorfenster die Eigenschaften des markier-ten Objekts und koumlnnen diese einstellen Das Aufgabenfenster enthaumllt diesmal denProgrammelemente-Katalog mit den zur Verfuumlgung stehenden Programmelemen-ten und Anweisungen Aumlhnliches gilt fuumlr die Bearbeitung der PLC-Variablen oderbeim Online-Programmtest durch Beobachtungstabellen

Bild 14 Beispiel fuumlr die Projektansicht Arbeitsbereich der Geraumltekonfiguration

1 Einfuumlhrung

26

Und stets haben Sie die Projektnavigation im Blickfeld Sie enthaumllt alle Objekte desSTEP-7-Projekts So koumlnnen Sie jederzeit ein Objekt beispielsweise einen Pro-grammbaustein oder eine Beobachtungstabelle auswaumlhlen und dieses Objekt mitden entsprechenden Editoren die beim Oumlffnen des Objekts automatisch startenbearbeiten

113 Fuumlnf Programmiersprachen

Als Programmiersprache fuumlr das Anwenderprogramm koumlnnen Sie zwischen Kon-taktplan (KOP) Funktionsplan (FUP) Anweisungsliste (AWL) Structured ControlLanguage (SCL) und Ablaufsteuerung (GRAPH) waumlhlen

Mit Kontaktplan programmieren Sie die Steuerungsaufgabe angelehnt an denStromlaufplan Die Verknuumlpfung der binaumlren Signalzustaumlnde wird durch die seriel-le oder parallele Anordnung von Kontakten und Spulen dargestellt (Bild 15) Kom-plexe Funktionen wie beispielsweise die arithmetischen Funktionen werden mitBoxen dargestellt die Sie wie Kontakte oder Spulen im Kontaktplan anordnen

Mit Funktionsplan programmieren Sie die Steuerungsaufgabe angelehnt an elektro-nische Schaltkreissysteme Binaumlre Verknuumlpfungen werden durch Verschaltung vonUND- und ODER-Funktionen realisiert und mit Speicher-Boxen abgeschlossen (Bild16) Komplexe Boxen uumlbernehmen die Verknuumlpfung digitaler Variablen beispiels-weise bei den arithmetischen Funktionen

Bild 15 Beispiel fuumlr die Darstellung in Kontaktplan

Bild 16 Beispiel fuumlr die Darstellung in Funktionsplan

11 Uumlbersicht Automatisierungssystem S7-300

27

Mit Anweisungsliste programmieren Sie die Steuerungsaufgabe durch eine Folgevon Anweisungen Jede AWL-Anweisung enthaumllt eine Vorschrift was zu tun ist undeventuell einen Operand mit dem die Operation ausgefuumlhrt wird AWL ist gleicher-maszligen geeignet fuumlr binaumlre und digitale Verknuumlpfungen wie fuumlr die Programmierungkomplexer Steuerungsaufgaben (Bild 17)

Structured Control Language eignet sich besonders fuumlr die Programmierung vonkomplexen Algorithmen oder fuumlr Aufgabenstellungen aus dem Bereich der Datenver-waltung Das Programm besteht aus SCL-Anweisungen die beispielsweise Wertzuwei-sungen Vergleiche oder Kontrollanweisungen sein koumlnnen (Bild 18)

Mit GRAPH programmieren Sie eine Steuerungsaufgabe als Ablaufsteuerung in derdie sequenzielle Folge von Aktionen vorherrscht Die einzelnen Schritte und Verzwei-gungen werden durch Weiterschaltbedingungen freigegeben die mit KOP oder FUPprogrammiert werden koumlnnen (Bild 19)

114 Bearbeitung des Anwenderprogramms

Nach dem Einschalten der Versorgungsspannung pruumlft der Steuerungsprozessordie Konsistenz der Hardware und parametriert die Baugruppen Anschlieszligend wirdeinmalig ndash falls vorhanden ndash ein Anlaufprogramm bearbeitet Das Anlaufpro-

Bild 17 Beispiel fuumlr AWL-Anweisungen

Bild 18 Beispiel fuumlr SCL-Anweisungen

1 Einfuumlhrung

28

gramm gehoumlrt zum Anwenderprogramm das Sie programmieren Im Anlaufpro-gramm koumlnnen beispielsweise Baugruppen initialisiert werden

Das Anwenderprogramm ist in der Regel in einzelne Abschnitte ndash bdquoBausteineldquo ge-nannt ndash eingeteilt Die Organisationsbausteine (OB) sind die Schnittstelle zwischenBetriebssystem und Anwenderprogramm Das Betriebssystem ruft zu bestimmtenEreignissen einen Organisationsbaustein auf in dem dann das Anwenderpro-gramm bearbeitet wird (Bild 110)

Bild 19 Beispiel fuumlr eine GRAPH-Ablaufkette und eine Schrittprojektierung

Bild 110 Bearbeitung des Anwenderprogramms

Anlauf-programm

Alarm- undFehlerprogramm

Haupt-programm

Bearbeitung des Anwenderprogramms

Einschalten

Aktualisierung derEin- und Ausgaumlnge

Unterbrechung(Alarm oder Fehler)

BetriebszustandANLAUF

Betriebssystem Anwenderprogramm

BetriebszustandRUN

OB

OB

FBFC

FBFC

FBFC

FBFC

FBFC

FBFC

OB

Unterbrechung

11 Uumlbersicht Automatisierungssystem S7-300

29

Zur Strukturierung das Programms stehen Funktionsbausteine (FB) und Funktio-nen (FC) zur Verfuumlgung Funktionsbausteine haben einen Speicher in dem lokaleVariablen dauerhaft abgelegt sind Funktionen haben diesen Speicher nicht

Fuumlr den Aufruf (das Starten der Bearbeitung) von Funktionsbausteinen und Funk-tionen gibt es Programmanweisungen Jeder Bausteinaufruf kann mit Ein- undAusgaumlngen ndash bdquoBausteinparameterldquo genannt ndash versehen werden Beim Aufruf koumln-nen Variablen uumlbergeben werden mit denen das Programm im Baustein arbeitensoll Auf diese Weise kann ein Baustein mit einer gewissen Funktion (z B der Addi-tion von drei Variablen) mehrfach mit unterschiedlichen Parametersaumltzen (z B fuumlrunterschiedliche Berechnungen) aufgerufen werden (Bild 111)

Die Daten des Anwenderprogramms werden in Datenbausteinen (DB) abgelegtInstanz-Datenbausteine sind einem Aufruf eines Funktionsbausteins fest zugeord-net und bilden den Variablenspeicher des Funktionsbausteins Global-Datenbau-steine enthalten Daten die keinem Baustein zugeordnet sind

Nach einem Anlauf aktualisiert der Steuerungsprozessor die Ein- und Ausgangs-signale in den Prozessabbildern und ruft den Organisationsbaustein OB 1 auf Hiersteht das Hauptprogramm Auch im Hauptprogramm ist eine Strukturierung moumlg-lich und zu empfehlen Ist das Hauptprogramm bearbeitet wechselt der Steue-rungsprozessor zuruumlck ins Betriebssystem haumllt beispielsweise die Kommunikati-on mit dem Programmiergeraumlt aufrecht aktualisiert die Ein- und Ausgangssignaleund beginnt dann erneut mit der Bearbeitung des Hauptprogramms

Die zyklische Programmbearbeitung ist ein Merkmal speicherprogrammierbarerSteuerungen Das Anwenderprogramm wird auch dann bearbeitet wenn bdquovon au-szligenldquo keine Aktionen gefordert sind wenn also z B die gesteuerte Maschine stehtDies hat Vorteile bei der Programmierung Sie programmieren beispielsweise den

Bild 111 Beispiel fuumlr zwei Aufrufe eines Bausteins mit jeweils verschiedenen Variablen

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

Inhaltsverzeichnis

14

86 Programmfluss bei FUP steuern 318861 Mit Statusbits im Funktionsplan arbeiten 318862 ENENO-Mechanismus bei FUP 320863 Sprungfunktionen 321864 Bausteinfunktionen 322865 Master Control Relay (MCR) 324

9 Anweisungsliste AWL 326

91 Einfuumlhrung 326911 Programmieren mit AWL allgemein 326912 Aufbau einer AWL-Anweisung 327

92 Binaumlre Verknuumlpfungen mit AWL programmieren 328921 Bearbeitung einer binaumlren Verknuumlpfung Verknuumlpfungsschritt 328922 Abfrage auf Signalzustand bdquo1ldquo und auf Signalzustand bdquo0ldquo 330923 Eine binaumlre Verknuumlpfung in Anweisungsliste programmieren 331924 UND-Funktion 332925 ODER-Funktion 332926 Exklusiv-ODER-Funktion 333927 Kombinierte binaumlre Verknuumlpfungen 333928 Verknuumlpfungsergebnis steuern 336

93 Speicherfunktionen mit AWL programmieren 337931 Zuweisung 337932 Setzen und Ruumlcksetzen 338933 Flankenauswertung 338

94 Zeit- und Zaumlhlfunktionen mit AWL programmieren 339941 SIMATIC-Zeitfunktionen 339942 SIMATIC-Zaumlhlfunktionen 341943 IEC-Zeitfunktionen 342944 IEC-Zaumlhlfunktionen 343

95 Digitalfunktionen mit AWL programmieren 344951 Uumlbertragungsfunktionen 344952 Vergleichsfunktionen 346953 Arithmetische Funktionen 349954 Mathematische Funktionen 352955 Konvertierungsfunktionen 353956 Schiebefunktionen 354957 Wortverknuumlpfungen 356

96 Programmfluss bei AWL steuern 358961 Mit Statusbits in der Anweisungsliste arbeiten 359962 ENENO-Mechanismus bei AWL 361963 Sprungfunktionen 363964 Sprungverteiler 364965 Schleifensprung 364966 Bausteinfunktionen 365967 Master Control Relay (MCR) 368

97 Weitere AWL-Funktionen 369

Inhaltsverzeichnis

15

971 Akkumulatorfunktionen 369972 Addieren von Konstanten zum Akkumulator 1 371973 Dekrementieren Inkrementieren 372974 Nullanweisungen 373

10 Structured Control Language SCL 374

101 Einfuumlhrung in die Programmierung mit SCL 3741011 Programmieren mit SCL allgemein 3741012 SCL-Anweisungen und Operatoren 376

102 Binaumlre Verknuumlpfungen mit SCL programmieren 3781021 Abfrage auf Signalzustand bdquo1ldquo und auf Signalzustand bdquo0ldquo 3781022 UND-Funktion 3791023 ODER-Funktion 3791024 Exklusiv-ODER-Funktion 3801025 Kombinierte binaumlre Verknuumlpfungen 3801026 Verknuumlpfungsergebnis negieren 381

103 Speicherfunktionen mit SCL programmieren 3821031 Wertzuweisung einer Binaumlrvariablen 3821032 Setzen und Ruumlcksetzen 3821033 Flankenauswertung 382

104 Zeit- und Zaumlhlfunktionen mit SCL programmieren 3831041 SIMATIC-Zeitfunktionen 3831042 SIMATIC-Zaumlhlfunktionen 3841043 IEC-Zeitfunktionen 3851044 IEC-Zaumlhlfunktionen 386

105 Digitalfunktionen mit SCL programmieren 3871051 Uumlbertragungsfunktion Wertzuweisung einer Digitalvariablen 3871052 Vergleichsfunktionen 3871053 Arithmetische Funktionen 3881054 Mathematische Funktionen 3891055 Konvertierungsfunktionen 3901056 Schiebefunktionen 3911057 Wortverknuumlpfungen logischer Ausdruck 392

106 Programmfluss mit SCL steuern 3931061 Mit der Variablen ENO arbeiten 3931062 ENENO-Mechanismus bei SCL 3951063 Kontrollanweisungen 3961064 Bausteinfunktionen 404

11 Ablaufsteuerung S7-GRAPH 408

111 Einfuumlhrung 4081111 Was ist eine Ablaufsteuerung 4081112 Eigenschaften einer Ablaufsteuerung 4091113 Programm fuumlr eine Ablaufsteuerung Mengengeruumlst 4101114 Betriebsarten 4101115 Vorgehen bei der Projektierung 411

Inhaltsverzeichnis

16

112 Elemente einer Ablaufsteuerung 4121121 Schritte und Transitionen 4121122 Spruumlnge in einer Ablaufsteuerung 4131123 Verzweigungen einer Ablaufkette 4131124 GRAPH-spezifische Variablen 4151125 Permanente Anweisungen 4161126 Schritt- und Transitionsfunktionen 4161127 Bearbeitung von Aktionen 420

113 Eine Ablaufsteuerung projektieren 4261131 Den GRAPH-Funktionsbaustein programmieren 4271132 Projektieren der Kettenstruktur 4281133 Schritte und Transitionen programmieren 4291134 Permanente Anweisungen programmieren 4311135 Bausteinuumlbergreifende Meldungen projektieren 4311136 Attribute des GRAPH-Funktionsbausteins 4321137 GRAPH-Funktionsbaustein anwenden 433

114 Ablaufsteuerung testen 4341141 GRAPH-Funktionsbaustein laden 4351142 Einstellungen zum Programmtest 4351143 Betriebsarten verwenden 4361144 Ablaufkette synchronisieren 4371145 Mit Programmstatus testen 438

12 Basisfunktionen 440

121 Binaumlre Verknuumlpfungen 4401211 Einfuumlhrung 4401212 Arbeiten mit Binaumlrsignalen 4411213 UND-Funktion Reihenschaltung 4441214 ODER-Funktion Parallelschaltung 4451215 Exklusiv-ODER-Funktion Antivalenzfunktion 4451216 Verknuumlpfungsergebnis negieren NOT-Kontakt 446

122 Speicherfunktionen 4481221 Einfuumlhrung 4481222 Standardspule Zuweisung 4481223 Einzelnes Setzen und Ruumlcksetzen 4481224 Vorrangiges Setzen und Ruumlcksetzen Speicherfunktion 4501225 Flankenauswertung 452

123 SIMATIC-Zeitfunktionen 4571231 Uumlbersicht 4571232 Programmieren einer Zeitfunktion 4601233 Zeitverhalten als Impuls 4621234 Zeitverhalten als verlaumlngerter Impuls 4641235 Zeitverhalten als Einschaltverzoumlgerung 4661236 Zeitverhalten als speichernde Einschaltverzoumlgerung 4681237 Zeitverhalten als Ausschaltverzoumlgerung 470

124 IEC-Zeitfunktionen 472

Inhaltsverzeichnis

17

1241 Einfuumlhrung 4721242 Impulsbildung TP 4731243 Einschaltverzoumlgerung TON 4741244 Ausschaltverzoumlgerung TOF 475

125 SIMATIC-Zaumlhlfunktionen 4761251 Uumlbersicht 4761252 Programmieren einer Zaumlhlfunktion 4781253 Funktionsweise einer Zaumlhlfunktion 4801254 Freigeben einer Zaumlhlfunktion bei AWL 482

126 IEC-Zaumlhlfunktionen 4831261 Einfuumlhrung 4831262 Vorwaumlrtszaumlhler CTU 4841263 Ruumlckwaumlrtszaumlhler CTD 4851264 VorwaumlrtsRuumlckwaumlrtszaumlhler CTUD 487

13 Digitalfunktionen 488

131 Allgemeines 488

132 Uumlbertragungsfunktionen 4891321 Allgemeines zur bdquoeinfachenldquo Uumlbertragungsfunktion 4891322 MOVE-Box bei KOP und FUP 4891323 Laden und Transferieren bei AWL 4911324 Wertzuweisungen bei SCL 4921325 Datenbereich im Arbeitsspeicher kopieren und fuumlllen 4941326 Datenbereich vom und zum Ladespeicher uumlbertragen 4971327 Speicherbereich steuern bei MCR-Abhaumlngigkeit 498

133 Vergleichsfunktionen 5011331 Ausfuumlhrung der bdquoeinfachenldquo Vergleichsfunktion 5011332 Vergleichsfunktion T_COMP 5031333 Vergleichsfunktion S_COMP 503

134 Arithmetische Funktionen 5041341 Allgemeine Funktionsbeschreibung 5041342 Datentypen und Statusbits bei einer arithmetischen Funktion 5051343 Ausfuumlhrung der arithmetischen Funktion 5071344 Arithmetische Funktionen fuumlr Datum und Uhrzeit 508

135 Mathematische Funktionen 5101351 Allgemeine Funktionsbeschreibung 5101352 Allgemeine Ausfuumlhrung einer mathematischen Funktion 5111353 Winkelfunktionen SIN COS TAN 5111354 Arcusfunktionen ASIN ACOS ATAN 5121355 Sonstige mathematische Funktionen 512

136 Konvertierungsfunktionen 5141361 Implizite Datentypwandlung 5141362 Datentypwandlung von Festpunktzahlen 5151363 Datentypwandlung von Gleitpunktzahlen 5181364 Datentypwandlung fuumlr DatumUhrzeit mit T_CONV 5211365 Datentypwandlung fuumlr Datentyp STRING mit S_CONV 522

Inhaltsverzeichnis

18

1366 Datentypwandlung von Hexadezimalzahlen 5241367 Skalieren und Deskalieren 5251368 Sonstige Konvertierungsfunktionen 526

137 Schiebefunktionen 5271371 Allgemeine Funktionsbeschreibung 5271372 Allgemeine Ausfuumlhrung einer Schiebefunktion 5291373 Rechts schieben 5301374 Links schieben 5301375 Rechts rotieren 5311376 Links rotieren 5321377 Rotieren durch das Anzeigenbit A1 (AWL) 532

138 Logikfunktionen 5321381 Wortverknuumlpfungen 5331382 Invertieren 5351383 Bit codieren und Bitnummer setzen 5361384 Auswahl- und Begrenzerfunktionen 537

139 Funktionen fuumlr Zeichenketten 540

14 Programmfluss-Steuerung 544

141 Statusbits 5451411 Beschreibung der Statusbits 5451412 Steuern der Statusbits 5471413 Verknuumlpfungsergebnis setzen und ruumlcksetzen 5481414 Binaumlrergebnis steuern 5491415 Auswertung der Statusbits 552

142 Sprungfunktionen 5531421 Einfuumlhrung 5531422 Absoluter Sprung 5531423 Bedingte Sprungfunktionen 5551424 Von den Statusbits abhaumlngige Sprungfunktionen 556

143 Bausteinende-Funktionen 5591431 Bausteinende-Funktion RET (KOP und FUP) 5601432 Bausteinende-Funktionen BEB BEA und BE (AWL) 5601433 RETURN-Anweisung (SCL) 561

144 Aufruf von Codebausteinen 5611441 Allgemeines zu Bausteinaufrufen 5611442 Aufruf einer Funktion (FC) 5621443 Aufruf eines Funktionsbausteins (FB) 5641444 Wechsel zu einem Baustein ohne Bausteinparameter 566

145 Datenbausteinfunktionen 5681451 Datenbaustein aufschlagen 5691452 Zusaumltzliche Datenbausteinfunktionen bei AWL 5701453 Datenbaustein erzeugen loumlschen und testen 571

146 Master Control Relay 5741461 Einfuumlhrung 5741462 MCR-Abhaumlngigkeit 575

Inhaltsverzeichnis

19

1463 MCR-Bereich und MCR-Zone 5751464 MCR-Bereich und MCR-Zone bei einem Bausteinwechsel 5781465 Anweisungen fuumlr das Master Control Relay 578

15 Online-Betrieb und Programmtest 580

151 Programmiergeraumlt an die PLC-Station anschlieszligen 5811511 Einstellungen am Programmiergeraumlt 5811512 Das Programmiergeraumlt mit der PLC-Station verbinden 5821513 Den Online-Betrieb einschalten 583

152 Projektdaten uumlbertragen 5841521 Die Projektdaten erstmalig laden 5841522 Die Projektdaten nachladen 5871523 Schutz des Anwenderprogramms 5881524 Online-Projekt ohne Offline-Projekt bearbeiten 5891525 Mit der Micro Memory Card arbeiten 590

153 Mit Bausteinen im Online-Betrieb arbeiten 5901531 Einfuumlhrung 5901532 Die Online-Version eines Bausteins bearbeiten 5911533 Einen Baustein in die CPU-Baugruppe laden 5921534 Den Arbeitsspeicher komprimieren 5941535 Bausteine aus der CPU zuruumlckladen 5941536 Mit Einstellwerten arbeiten 5961537 Bausteine vergleichen 598

154 Hardware-Diagnose 6011541 Status-Anzeigen an den Baugruppen 6011542 Diagnose-Informationen 6021543 Diagnosepuffer 6021544 Diagnose-Funktionen 6041545 Online-Tools 6041546 Weitere Diagnose-Informationen uumlber das Programmiergeraumlt 605

155 Anwenderprogramm testen 6061551 Aufrufumgebung definieren 6061552 Testen mit Programmstatus 6071553 Testen im Einzelschrittmodus 6111554 PLC-Variablen beobachten 6141555 Datenvariablen beobachten 6141556 Testen mit Beobachtungstabellen 6151557 Beobachten und Steuern im Betriebszustand STOP 6201558 Testen mit der Force-Tabelle 622

16 Dezentrale Peripherie 626

161 Einfuumlhrung Uumlbersicht 626

162 Dezentrales Peripheriesystem ET 200 6271621 ET 200M 6271622 ET 200MP 6281623 ET 200S 628

Inhaltsverzeichnis

20

1624 ET 200SP 6291625 ET 200iSP 6301626 ET 200pro 6311627 ET 200eco 631

163 PROFINET IO 6321631 Komponenten von PROFINET IO 6321632 Adressen bei PROFINET IO 6351633 Spezielle PROFINET-Konfigurationen 6381634 PROFINET IO projektieren 6391635 Kopplungsbaugruppen fuumlr PROFINET IO 6431636 Echtzeit-Kommunikation bei PROFINET 644

164 PROFIBUS DP 6491641 Komponenten von PROFIBUS DP 6491642 Adressen bei PROFIBUS DP 6521643 PROFIBUS DP projektieren 6561644 Kopplungsbaugruppen fuumlr PROFIBUS DP 6591645 Sonderfunktionen fuumlr PROFIBUS DP 661

165 Taktsynchronitaumlt 6621651 Einfuumlhrung 6621652 Taktsynchronitaumlt bei PROFINET 6631653 Taktsynchronitaumlt bei PROFIBUS 666

166 Systembausteine fuumlr dezentrale Peripherie 6691661 Systembausteine fuumlr PROFIBUS DP 6691662 Systembausteine fuumlr PROFIBUS DP und PROFINET IO 6731663 Systembausteine fuumlr PROFINET IO 676

167 AktorSensor-Interface 6791671 Komponenten von AktorSensor-Interface 6791672 Adressen am AktorSensor-Interface 6811673 AktorSensor-Interface mit CP 343-2P projektieren 6811674 Systemfunktionen fuumlr AS-i 683

17 Kommunikation 684

171 Uumlbersicht 684

172 S7-Basiskommunikation 6851721 Grundlagen der stationsinternen S7-Basiskommunikation 6851722 Stationsinterne S7-Basiskommunikation projektieren 6861723 Systembausteine fuumlr stationsinterne S7-Basiskommunikation 6861724 Grundlagen der stationsexternen S7-Basiskommunikation 6881725 Stationsexterne S7-Basiskommunikation projektieren 6891726 Systembausteine fuumlr stationsexterne S7-Basiskommunikation 689

173 S7-Kommunikation 6921731 Grundlagen 6921732 S7-Kommunikation projektieren 6931733 Einseitiger Datenaustausch 6951734 Zweiseitiger Datenaustausch 6961735 Uumlberwachungsfunktionen 699

Inhaltsverzeichnis

21

174 Open User Communication 700

1741 Grundlagen 700

1742 Verbindungen auf- und abbauen 702

1743 Datenuumlbertragung mit TCP native oder ISO-on-TCP 704

1744 Datenuumlbertragung mit UDP 707

18 Anhang 710

181 Arbeiten mit Quelldateien 710

1811 Allgemeines Vorgehen 710

1812 Einen Codebaustein in der Quelldatei programmieren 712

1813 Einen Datenbaustein in der Quelldatei programmieren 715

1814 Einen PLC-Datentyp in der Quelldatei programmieren 719

182 Projekte migrieren 720

183 Simulation mit dem TIA Portal 724

1831 Unterschiede zu einer realen CPU-Baugruppe 724

1832 Simulation starten und speichern 725

1833 Die Simulation bedienen 726

1834 Programm mit der Simulation testen 728

1835 Weitere Funktionen von PLCSIM 730

184 Webserver 731

1841 Webserver aktivieren 731

1842 Web-Informationen auslesen 732

1843 Standard-Webseiten 733

185 Ablage von lokalen Variablen 736

1851 Ablage in Global-Datenbausteinen 736

1852 Ablage in Instanz-Datenbausteinen 737

1853 Ablage in den temporaumlren Lokaldaten 738

1854 Datenablage der Bausteinparameter einer Funktion (FC) 739

1855 Datenablage der Bausteinparameter eines Funktionsbausteins (FB) 742

1856 Datenablage einer Lokalinstanz in einer Multiinstanz 744

Stichwortverzeichnis 746

1 Einfuumlhrung

22

1 Einfuumlhrung

11 Uumlbersicht Automatisierungssystem S7-300

SIMATIC S7-300 ist das modulare Kleinsteuersystem fuumlr den unteren und mittlerenLeistungsbereich (Bild 11) Verschiedene Varianten der Controller passen die Leis-tungsfaumlhigkeit an den jeweiligen Einsatzfall an Je nach Bedarf kann das Automati-sierungsgeraumlt mit Ein-Ausgabebaugruppen fuumlr Digital- und Analogsignale in biszu vier Baugruppentraumlgern mit je acht Baugruppen modular erweitert werden

Eine zusaumltzliche Erweiterung mit Ein-Ausgabebaugruppen bietet die dezentralePeripherie uumlber PROFIBUS oder PROFINET Mit besonderen Bauformen fuumlr erhoumlhtemechanische Anforderungen ausgestattet koumlnnen diese Baugruppen vor Ort ander Maschine oder Anlage installiert werden Die Steuerungsgeraumlte SIMATIC S7-300werden mit STEP 7 konfiguriert projektiert und programmiert Der Datenaus-tausch zwischen den Steuerungsgeraumlten der dezentralen Peripherie und dem Pro-grammiergeraumlt geschieht mit SIMATIC NET

Bild 11 Bestandteile des Automatisierungssystems SIMATIC S7-300

SIMATIC Controller steuern dieMaschine oder Anlage

Die dezentrale Peripherie erweitert dieSchnittstelle zur Maschine oder Anlage

SIMATIC NET

SIMATIC DP STEP 7Professional V12

SIMATIC S7-300

Die Vernetzung ermoumlglicht denDatenaustausch und den zentralenOnline-Zugriff

Mehrere Varianten der Controllererweitern das Einsatzspektrum

STEP 7 ist die Engineeringsoftware zumKonfigurieren undProgrammieren

Projektieren

Automatisierungssystem SIMATIC S7-300

11 Uumlbersicht Automatisierungssystem S7-300

23

111 Automatisierungsgeraumlt SIMATIC S7-300

Die wesentlichen Bestandteile eines S7-300-Automatisierungsgeraumlts sind im Bild12 dargestellt

Die CPU-Baugruppe enthaumllt das Betriebssystem und das AnwenderprogrammDas Anwenderprogramm steht spannungsausfallsicher auf der in der CPU-Bau-gruppe steckenden Micro Memory Card (MMC) Die Bearbeitung des Anwenderpro-gramms findet im Arbeitsspeicher in der CPU statt Die auf der CPU-Baugruppe vor-handenen Busschnittstellen stellen die Verbindung zu anderen Automatisierungs-geraumlten her

Die Verbindung zur gesteuerten Anlage uumlbernehmen SM-Baugruppen Diese Ein-und Ausgabebaugruppen gibt es fuumlr Digital- und Analogsignale

Die FM-Baugruppen sind signalvorverarbeitende bdquointelligenteldquo Peripheriebau-gruppen die vom Prozess kommende Signale unabhaumlngig von der CPU aufberei-ten verarbeiten und entweder wieder direkt an den Prozess zuruumlckgeben oder ander internen Schnittstelle der CPU zur Verfuumlgung stellen FM-Baugruppen uumlber-nehmen Funktionen die die CPU meist nicht schnell genug ausfuumlhren kann wiez B Impulse zaumlhlen positionieren oder Antriebe regeln

Die CP-Baugruppen gestatten einen Datenverkehr der die Moumlglichkeiten derStandard-Schnittstellen bezuumlglich Protokolle und Kommunikationsfunktionenuumlberschreitet

Die IM-Baugruppen verbinden bei einer Erweiterung den Zentralbaugruppentrauml-ger mit bis zu drei Erweiterungsbaugruppentraumlgern

Eine Stromversorgungsbaugruppe sorgt schlieszliglich fuumlr die benoumltigte Spannungim Automatisierungsgeraumlt

Bild 12 Bestandteile einer S7-300-Steuerung

Erweiterungsbaugruppentraumlger

Zentralbaugruppentraumlger SM-Baugruppen(Signal Modules)

Auf den Baugruppen-traumlgern sind steckbar

FM-Baugruppen(Function Modules)

CP-Baugruppen(CommunicationProcessors)

IM-Baugruppe(Interface Module)

IM-Baugruppe(Interface Module)

CPU-Baugruppe(Central Processor Unit)

PS-Baugruppe(Power Supply)

Baugruppen-traumlger (Rack)

Bestandteile einer S7-300-Steuerung

S

1 Einfuumlhrung

24

112 Uumlbersicht STEP 7 Professional V12

STEP 7 ist das zentrale Automatisierungswerkzeug fuumlr SIMATIC STEP 7 benoumltigtzum Betrieb eine Autorisierung (Lizenz) und laumluft auf den jeweils aktuellen Be-triebssystemen unter Microsoft Windows Die Projektierung eines S7-300-Control-lers geschieht mit zwei Ansichten der Portalansicht und der Projektansicht

Die Portalansicht ist aufgabenorientiert angelegt

Im Startportal oumlffnen Sie ein bestehendes Projekt erstellen ein neues Projekt odermigrieren ein Projekt Ein bdquoProjektldquo ist eine Datenstruktur die alle erforderlichenProgramme und Daten fuumlr Ihr Automatisierungsvorhaben enthaumllt Von hier aussind die wichtigsten Werkzeuge und Funktionen von STEP 7 uumlber weitere Portale er-reichbar (Bild 13)

b Im Portal Geraumlte amp Netze konfigurieren Sie die Automatisierungsgeraumlte d h Sieplatzieren die Baugruppen in einem Baugruppentraumlger und parametrieren sie

b Im Portal PLC-Programmierung erstellen Sie das Anwenderprogramm in Formvon einzelnen Abschnitten die man bdquoBausteineldquo nennt

b Das Portal Visualisierung bietet die wichtigsten Werkzeuge fuumlr die Projektierungund Simulation von HMI-Systemen mit SIMATIC WinCC an

Bild 13 Werkzeuge im Startportal von STEP 7 Professional V12

11 Uumlbersicht Automatisierungssystem S7-300

25

b Mit dem Portal Motion amp Technology fuumlgen Sie ein Technologie-Objekt fuumlr PIDControl ein und bearbeiten es

b Mit dem Portal Online amp Diagnose schalten Sie das Programmiergeraumlt online aneine CPU-Baugruppe Sie koumlnnen die Betriebsarten der CPU steuern und das An-wenderprogramm uumlbertragen und testen

Die Projektansicht bietet eine objektorientierte Ansicht mit mehreren Fensternderen Inhalt je nach ausgefuumlhrter Taumltigkeit wechselt In der Geraumltekonfigurationsteht der Arbeitsbereich mit dem zu konfigurierenden Geraumlt im Mittelpunkt In derGeraumltesicht wird der Baugruppentraumlger mit den bereits platzierten Baugruppen ge-zeigt (Bild 14) Ein weiteres Fenster ndash das Inspektorfenster ndash enthaumllt die Eigen-schaften der selektierten Baugruppe das Aufgaben-Fenster (Task Card) gibt Unter-stuumltzung durch den Hardware-Katalog mit den zur Verfuumlgung stehenden Baugrup-pen Die Netzsicht gestattet die Vernetzung zwischen PLC- und HMI-Stationen

Bei der PLC-Programmierung bearbeiten Sie im Arbeitsbereich den ausgewaumlhltenBaustein Wiederum sehen Sie im Inspektorfenster die Eigenschaften des markier-ten Objekts und koumlnnen diese einstellen Das Aufgabenfenster enthaumllt diesmal denProgrammelemente-Katalog mit den zur Verfuumlgung stehenden Programmelemen-ten und Anweisungen Aumlhnliches gilt fuumlr die Bearbeitung der PLC-Variablen oderbeim Online-Programmtest durch Beobachtungstabellen

Bild 14 Beispiel fuumlr die Projektansicht Arbeitsbereich der Geraumltekonfiguration

1 Einfuumlhrung

26

Und stets haben Sie die Projektnavigation im Blickfeld Sie enthaumllt alle Objekte desSTEP-7-Projekts So koumlnnen Sie jederzeit ein Objekt beispielsweise einen Pro-grammbaustein oder eine Beobachtungstabelle auswaumlhlen und dieses Objekt mitden entsprechenden Editoren die beim Oumlffnen des Objekts automatisch startenbearbeiten

113 Fuumlnf Programmiersprachen

Als Programmiersprache fuumlr das Anwenderprogramm koumlnnen Sie zwischen Kon-taktplan (KOP) Funktionsplan (FUP) Anweisungsliste (AWL) Structured ControlLanguage (SCL) und Ablaufsteuerung (GRAPH) waumlhlen

Mit Kontaktplan programmieren Sie die Steuerungsaufgabe angelehnt an denStromlaufplan Die Verknuumlpfung der binaumlren Signalzustaumlnde wird durch die seriel-le oder parallele Anordnung von Kontakten und Spulen dargestellt (Bild 15) Kom-plexe Funktionen wie beispielsweise die arithmetischen Funktionen werden mitBoxen dargestellt die Sie wie Kontakte oder Spulen im Kontaktplan anordnen

Mit Funktionsplan programmieren Sie die Steuerungsaufgabe angelehnt an elektro-nische Schaltkreissysteme Binaumlre Verknuumlpfungen werden durch Verschaltung vonUND- und ODER-Funktionen realisiert und mit Speicher-Boxen abgeschlossen (Bild16) Komplexe Boxen uumlbernehmen die Verknuumlpfung digitaler Variablen beispiels-weise bei den arithmetischen Funktionen

Bild 15 Beispiel fuumlr die Darstellung in Kontaktplan

Bild 16 Beispiel fuumlr die Darstellung in Funktionsplan

11 Uumlbersicht Automatisierungssystem S7-300

27

Mit Anweisungsliste programmieren Sie die Steuerungsaufgabe durch eine Folgevon Anweisungen Jede AWL-Anweisung enthaumllt eine Vorschrift was zu tun ist undeventuell einen Operand mit dem die Operation ausgefuumlhrt wird AWL ist gleicher-maszligen geeignet fuumlr binaumlre und digitale Verknuumlpfungen wie fuumlr die Programmierungkomplexer Steuerungsaufgaben (Bild 17)

Structured Control Language eignet sich besonders fuumlr die Programmierung vonkomplexen Algorithmen oder fuumlr Aufgabenstellungen aus dem Bereich der Datenver-waltung Das Programm besteht aus SCL-Anweisungen die beispielsweise Wertzuwei-sungen Vergleiche oder Kontrollanweisungen sein koumlnnen (Bild 18)

Mit GRAPH programmieren Sie eine Steuerungsaufgabe als Ablaufsteuerung in derdie sequenzielle Folge von Aktionen vorherrscht Die einzelnen Schritte und Verzwei-gungen werden durch Weiterschaltbedingungen freigegeben die mit KOP oder FUPprogrammiert werden koumlnnen (Bild 19)

114 Bearbeitung des Anwenderprogramms

Nach dem Einschalten der Versorgungsspannung pruumlft der Steuerungsprozessordie Konsistenz der Hardware und parametriert die Baugruppen Anschlieszligend wirdeinmalig ndash falls vorhanden ndash ein Anlaufprogramm bearbeitet Das Anlaufpro-

Bild 17 Beispiel fuumlr AWL-Anweisungen

Bild 18 Beispiel fuumlr SCL-Anweisungen

1 Einfuumlhrung

28

gramm gehoumlrt zum Anwenderprogramm das Sie programmieren Im Anlaufpro-gramm koumlnnen beispielsweise Baugruppen initialisiert werden

Das Anwenderprogramm ist in der Regel in einzelne Abschnitte ndash bdquoBausteineldquo ge-nannt ndash eingeteilt Die Organisationsbausteine (OB) sind die Schnittstelle zwischenBetriebssystem und Anwenderprogramm Das Betriebssystem ruft zu bestimmtenEreignissen einen Organisationsbaustein auf in dem dann das Anwenderpro-gramm bearbeitet wird (Bild 110)

Bild 19 Beispiel fuumlr eine GRAPH-Ablaufkette und eine Schrittprojektierung

Bild 110 Bearbeitung des Anwenderprogramms

Anlauf-programm

Alarm- undFehlerprogramm

Haupt-programm

Bearbeitung des Anwenderprogramms

Einschalten

Aktualisierung derEin- und Ausgaumlnge

Unterbrechung(Alarm oder Fehler)

BetriebszustandANLAUF

Betriebssystem Anwenderprogramm

BetriebszustandRUN

OB

OB

FBFC

FBFC

FBFC

FBFC

FBFC

FBFC

OB

Unterbrechung

11 Uumlbersicht Automatisierungssystem S7-300

29

Zur Strukturierung das Programms stehen Funktionsbausteine (FB) und Funktio-nen (FC) zur Verfuumlgung Funktionsbausteine haben einen Speicher in dem lokaleVariablen dauerhaft abgelegt sind Funktionen haben diesen Speicher nicht

Fuumlr den Aufruf (das Starten der Bearbeitung) von Funktionsbausteinen und Funk-tionen gibt es Programmanweisungen Jeder Bausteinaufruf kann mit Ein- undAusgaumlngen ndash bdquoBausteinparameterldquo genannt ndash versehen werden Beim Aufruf koumln-nen Variablen uumlbergeben werden mit denen das Programm im Baustein arbeitensoll Auf diese Weise kann ein Baustein mit einer gewissen Funktion (z B der Addi-tion von drei Variablen) mehrfach mit unterschiedlichen Parametersaumltzen (z B fuumlrunterschiedliche Berechnungen) aufgerufen werden (Bild 111)

Die Daten des Anwenderprogramms werden in Datenbausteinen (DB) abgelegtInstanz-Datenbausteine sind einem Aufruf eines Funktionsbausteins fest zugeord-net und bilden den Variablenspeicher des Funktionsbausteins Global-Datenbau-steine enthalten Daten die keinem Baustein zugeordnet sind

Nach einem Anlauf aktualisiert der Steuerungsprozessor die Ein- und Ausgangs-signale in den Prozessabbildern und ruft den Organisationsbaustein OB 1 auf Hiersteht das Hauptprogramm Auch im Hauptprogramm ist eine Strukturierung moumlg-lich und zu empfehlen Ist das Hauptprogramm bearbeitet wechselt der Steue-rungsprozessor zuruumlck ins Betriebssystem haumllt beispielsweise die Kommunikati-on mit dem Programmiergeraumlt aufrecht aktualisiert die Ein- und Ausgangssignaleund beginnt dann erneut mit der Bearbeitung des Hauptprogramms

Die zyklische Programmbearbeitung ist ein Merkmal speicherprogrammierbarerSteuerungen Das Anwenderprogramm wird auch dann bearbeitet wenn bdquovon au-szligenldquo keine Aktionen gefordert sind wenn also z B die gesteuerte Maschine stehtDies hat Vorteile bei der Programmierung Sie programmieren beispielsweise den

Bild 111 Beispiel fuumlr zwei Aufrufe eines Bausteins mit jeweils verschiedenen Variablen

Page 15: Berger Automatisieren mit SIMATIC S7-300 im TIA Portal · Automatisieren mit SIMATIC S7-300 im TIA Portal Projektieren, Programmieren und Testen mit STEP 7 Professional von Hans Berger

Inhaltsverzeichnis

15

971 Akkumulatorfunktionen 369972 Addieren von Konstanten zum Akkumulator 1 371973 Dekrementieren Inkrementieren 372974 Nullanweisungen 373

10 Structured Control Language SCL 374

101 Einfuumlhrung in die Programmierung mit SCL 3741011 Programmieren mit SCL allgemein 3741012 SCL-Anweisungen und Operatoren 376

102 Binaumlre Verknuumlpfungen mit SCL programmieren 3781021 Abfrage auf Signalzustand bdquo1ldquo und auf Signalzustand bdquo0ldquo 3781022 UND-Funktion 3791023 ODER-Funktion 3791024 Exklusiv-ODER-Funktion 3801025 Kombinierte binaumlre Verknuumlpfungen 3801026 Verknuumlpfungsergebnis negieren 381

103 Speicherfunktionen mit SCL programmieren 3821031 Wertzuweisung einer Binaumlrvariablen 3821032 Setzen und Ruumlcksetzen 3821033 Flankenauswertung 382

104 Zeit- und Zaumlhlfunktionen mit SCL programmieren 3831041 SIMATIC-Zeitfunktionen 3831042 SIMATIC-Zaumlhlfunktionen 3841043 IEC-Zeitfunktionen 3851044 IEC-Zaumlhlfunktionen 386

105 Digitalfunktionen mit SCL programmieren 3871051 Uumlbertragungsfunktion Wertzuweisung einer Digitalvariablen 3871052 Vergleichsfunktionen 3871053 Arithmetische Funktionen 3881054 Mathematische Funktionen 3891055 Konvertierungsfunktionen 3901056 Schiebefunktionen 3911057 Wortverknuumlpfungen logischer Ausdruck 392

106 Programmfluss mit SCL steuern 3931061 Mit der Variablen ENO arbeiten 3931062 ENENO-Mechanismus bei SCL 3951063 Kontrollanweisungen 3961064 Bausteinfunktionen 404

11 Ablaufsteuerung S7-GRAPH 408

111 Einfuumlhrung 4081111 Was ist eine Ablaufsteuerung 4081112 Eigenschaften einer Ablaufsteuerung 4091113 Programm fuumlr eine Ablaufsteuerung Mengengeruumlst 4101114 Betriebsarten 4101115 Vorgehen bei der Projektierung 411

Inhaltsverzeichnis

16

112 Elemente einer Ablaufsteuerung 4121121 Schritte und Transitionen 4121122 Spruumlnge in einer Ablaufsteuerung 4131123 Verzweigungen einer Ablaufkette 4131124 GRAPH-spezifische Variablen 4151125 Permanente Anweisungen 4161126 Schritt- und Transitionsfunktionen 4161127 Bearbeitung von Aktionen 420

113 Eine Ablaufsteuerung projektieren 4261131 Den GRAPH-Funktionsbaustein programmieren 4271132 Projektieren der Kettenstruktur 4281133 Schritte und Transitionen programmieren 4291134 Permanente Anweisungen programmieren 4311135 Bausteinuumlbergreifende Meldungen projektieren 4311136 Attribute des GRAPH-Funktionsbausteins 4321137 GRAPH-Funktionsbaustein anwenden 433

114 Ablaufsteuerung testen 4341141 GRAPH-Funktionsbaustein laden 4351142 Einstellungen zum Programmtest 4351143 Betriebsarten verwenden 4361144 Ablaufkette synchronisieren 4371145 Mit Programmstatus testen 438

12 Basisfunktionen 440

121 Binaumlre Verknuumlpfungen 4401211 Einfuumlhrung 4401212 Arbeiten mit Binaumlrsignalen 4411213 UND-Funktion Reihenschaltung 4441214 ODER-Funktion Parallelschaltung 4451215 Exklusiv-ODER-Funktion Antivalenzfunktion 4451216 Verknuumlpfungsergebnis negieren NOT-Kontakt 446

122 Speicherfunktionen 4481221 Einfuumlhrung 4481222 Standardspule Zuweisung 4481223 Einzelnes Setzen und Ruumlcksetzen 4481224 Vorrangiges Setzen und Ruumlcksetzen Speicherfunktion 4501225 Flankenauswertung 452

123 SIMATIC-Zeitfunktionen 4571231 Uumlbersicht 4571232 Programmieren einer Zeitfunktion 4601233 Zeitverhalten als Impuls 4621234 Zeitverhalten als verlaumlngerter Impuls 4641235 Zeitverhalten als Einschaltverzoumlgerung 4661236 Zeitverhalten als speichernde Einschaltverzoumlgerung 4681237 Zeitverhalten als Ausschaltverzoumlgerung 470

124 IEC-Zeitfunktionen 472

Inhaltsverzeichnis

17

1241 Einfuumlhrung 4721242 Impulsbildung TP 4731243 Einschaltverzoumlgerung TON 4741244 Ausschaltverzoumlgerung TOF 475

125 SIMATIC-Zaumlhlfunktionen 4761251 Uumlbersicht 4761252 Programmieren einer Zaumlhlfunktion 4781253 Funktionsweise einer Zaumlhlfunktion 4801254 Freigeben einer Zaumlhlfunktion bei AWL 482

126 IEC-Zaumlhlfunktionen 4831261 Einfuumlhrung 4831262 Vorwaumlrtszaumlhler CTU 4841263 Ruumlckwaumlrtszaumlhler CTD 4851264 VorwaumlrtsRuumlckwaumlrtszaumlhler CTUD 487

13 Digitalfunktionen 488

131 Allgemeines 488

132 Uumlbertragungsfunktionen 4891321 Allgemeines zur bdquoeinfachenldquo Uumlbertragungsfunktion 4891322 MOVE-Box bei KOP und FUP 4891323 Laden und Transferieren bei AWL 4911324 Wertzuweisungen bei SCL 4921325 Datenbereich im Arbeitsspeicher kopieren und fuumlllen 4941326 Datenbereich vom und zum Ladespeicher uumlbertragen 4971327 Speicherbereich steuern bei MCR-Abhaumlngigkeit 498

133 Vergleichsfunktionen 5011331 Ausfuumlhrung der bdquoeinfachenldquo Vergleichsfunktion 5011332 Vergleichsfunktion T_COMP 5031333 Vergleichsfunktion S_COMP 503

134 Arithmetische Funktionen 5041341 Allgemeine Funktionsbeschreibung 5041342 Datentypen und Statusbits bei einer arithmetischen Funktion 5051343 Ausfuumlhrung der arithmetischen Funktion 5071344 Arithmetische Funktionen fuumlr Datum und Uhrzeit 508

135 Mathematische Funktionen 5101351 Allgemeine Funktionsbeschreibung 5101352 Allgemeine Ausfuumlhrung einer mathematischen Funktion 5111353 Winkelfunktionen SIN COS TAN 5111354 Arcusfunktionen ASIN ACOS ATAN 5121355 Sonstige mathematische Funktionen 512

136 Konvertierungsfunktionen 5141361 Implizite Datentypwandlung 5141362 Datentypwandlung von Festpunktzahlen 5151363 Datentypwandlung von Gleitpunktzahlen 5181364 Datentypwandlung fuumlr DatumUhrzeit mit T_CONV 5211365 Datentypwandlung fuumlr Datentyp STRING mit S_CONV 522

Inhaltsverzeichnis

18

1366 Datentypwandlung von Hexadezimalzahlen 5241367 Skalieren und Deskalieren 5251368 Sonstige Konvertierungsfunktionen 526

137 Schiebefunktionen 5271371 Allgemeine Funktionsbeschreibung 5271372 Allgemeine Ausfuumlhrung einer Schiebefunktion 5291373 Rechts schieben 5301374 Links schieben 5301375 Rechts rotieren 5311376 Links rotieren 5321377 Rotieren durch das Anzeigenbit A1 (AWL) 532

138 Logikfunktionen 5321381 Wortverknuumlpfungen 5331382 Invertieren 5351383 Bit codieren und Bitnummer setzen 5361384 Auswahl- und Begrenzerfunktionen 537

139 Funktionen fuumlr Zeichenketten 540

14 Programmfluss-Steuerung 544

141 Statusbits 5451411 Beschreibung der Statusbits 5451412 Steuern der Statusbits 5471413 Verknuumlpfungsergebnis setzen und ruumlcksetzen 5481414 Binaumlrergebnis steuern 5491415 Auswertung der Statusbits 552

142 Sprungfunktionen 5531421 Einfuumlhrung 5531422 Absoluter Sprung 5531423 Bedingte Sprungfunktionen 5551424 Von den Statusbits abhaumlngige Sprungfunktionen 556

143 Bausteinende-Funktionen 5591431 Bausteinende-Funktion RET (KOP und FUP) 5601432 Bausteinende-Funktionen BEB BEA und BE (AWL) 5601433 RETURN-Anweisung (SCL) 561

144 Aufruf von Codebausteinen 5611441 Allgemeines zu Bausteinaufrufen 5611442 Aufruf einer Funktion (FC) 5621443 Aufruf eines Funktionsbausteins (FB) 5641444 Wechsel zu einem Baustein ohne Bausteinparameter 566

145 Datenbausteinfunktionen 5681451 Datenbaustein aufschlagen 5691452 Zusaumltzliche Datenbausteinfunktionen bei AWL 5701453 Datenbaustein erzeugen loumlschen und testen 571

146 Master Control Relay 5741461 Einfuumlhrung 5741462 MCR-Abhaumlngigkeit 575

Inhaltsverzeichnis

19

1463 MCR-Bereich und MCR-Zone 5751464 MCR-Bereich und MCR-Zone bei einem Bausteinwechsel 5781465 Anweisungen fuumlr das Master Control Relay 578

15 Online-Betrieb und Programmtest 580

151 Programmiergeraumlt an die PLC-Station anschlieszligen 5811511 Einstellungen am Programmiergeraumlt 5811512 Das Programmiergeraumlt mit der PLC-Station verbinden 5821513 Den Online-Betrieb einschalten 583

152 Projektdaten uumlbertragen 5841521 Die Projektdaten erstmalig laden 5841522 Die Projektdaten nachladen 5871523 Schutz des Anwenderprogramms 5881524 Online-Projekt ohne Offline-Projekt bearbeiten 5891525 Mit der Micro Memory Card arbeiten 590

153 Mit Bausteinen im Online-Betrieb arbeiten 5901531 Einfuumlhrung 5901532 Die Online-Version eines Bausteins bearbeiten 5911533 Einen Baustein in die CPU-Baugruppe laden 5921534 Den Arbeitsspeicher komprimieren 5941535 Bausteine aus der CPU zuruumlckladen 5941536 Mit Einstellwerten arbeiten 5961537 Bausteine vergleichen 598

154 Hardware-Diagnose 6011541 Status-Anzeigen an den Baugruppen 6011542 Diagnose-Informationen 6021543 Diagnosepuffer 6021544 Diagnose-Funktionen 6041545 Online-Tools 6041546 Weitere Diagnose-Informationen uumlber das Programmiergeraumlt 605

155 Anwenderprogramm testen 6061551 Aufrufumgebung definieren 6061552 Testen mit Programmstatus 6071553 Testen im Einzelschrittmodus 6111554 PLC-Variablen beobachten 6141555 Datenvariablen beobachten 6141556 Testen mit Beobachtungstabellen 6151557 Beobachten und Steuern im Betriebszustand STOP 6201558 Testen mit der Force-Tabelle 622

16 Dezentrale Peripherie 626

161 Einfuumlhrung Uumlbersicht 626

162 Dezentrales Peripheriesystem ET 200 6271621 ET 200M 6271622 ET 200MP 6281623 ET 200S 628

Inhaltsverzeichnis

20

1624 ET 200SP 6291625 ET 200iSP 6301626 ET 200pro 6311627 ET 200eco 631

163 PROFINET IO 6321631 Komponenten von PROFINET IO 6321632 Adressen bei PROFINET IO 6351633 Spezielle PROFINET-Konfigurationen 6381634 PROFINET IO projektieren 6391635 Kopplungsbaugruppen fuumlr PROFINET IO 6431636 Echtzeit-Kommunikation bei PROFINET 644

164 PROFIBUS DP 6491641 Komponenten von PROFIBUS DP 6491642 Adressen bei PROFIBUS DP 6521643 PROFIBUS DP projektieren 6561644 Kopplungsbaugruppen fuumlr PROFIBUS DP 6591645 Sonderfunktionen fuumlr PROFIBUS DP 661

165 Taktsynchronitaumlt 6621651 Einfuumlhrung 6621652 Taktsynchronitaumlt bei PROFINET 6631653 Taktsynchronitaumlt bei PROFIBUS 666

166 Systembausteine fuumlr dezentrale Peripherie 6691661 Systembausteine fuumlr PROFIBUS DP 6691662 Systembausteine fuumlr PROFIBUS DP und PROFINET IO 6731663 Systembausteine fuumlr PROFINET IO 676

167 AktorSensor-Interface 6791671 Komponenten von AktorSensor-Interface 6791672 Adressen am AktorSensor-Interface 6811673 AktorSensor-Interface mit CP 343-2P projektieren 6811674 Systemfunktionen fuumlr AS-i 683

17 Kommunikation 684

171 Uumlbersicht 684

172 S7-Basiskommunikation 6851721 Grundlagen der stationsinternen S7-Basiskommunikation 6851722 Stationsinterne S7-Basiskommunikation projektieren 6861723 Systembausteine fuumlr stationsinterne S7-Basiskommunikation 6861724 Grundlagen der stationsexternen S7-Basiskommunikation 6881725 Stationsexterne S7-Basiskommunikation projektieren 6891726 Systembausteine fuumlr stationsexterne S7-Basiskommunikation 689

173 S7-Kommunikation 6921731 Grundlagen 6921732 S7-Kommunikation projektieren 6931733 Einseitiger Datenaustausch 6951734 Zweiseitiger Datenaustausch 6961735 Uumlberwachungsfunktionen 699

Inhaltsverzeichnis

21

174 Open User Communication 700

1741 Grundlagen 700

1742 Verbindungen auf- und abbauen 702

1743 Datenuumlbertragung mit TCP native oder ISO-on-TCP 704

1744 Datenuumlbertragung mit UDP 707

18 Anhang 710

181 Arbeiten mit Quelldateien 710

1811 Allgemeines Vorgehen 710

1812 Einen Codebaustein in der Quelldatei programmieren 712

1813 Einen Datenbaustein in der Quelldatei programmieren 715

1814 Einen PLC-Datentyp in der Quelldatei programmieren 719

182 Projekte migrieren 720

183 Simulation mit dem TIA Portal 724

1831 Unterschiede zu einer realen CPU-Baugruppe 724

1832 Simulation starten und speichern 725

1833 Die Simulation bedienen 726

1834 Programm mit der Simulation testen 728

1835 Weitere Funktionen von PLCSIM 730

184 Webserver 731

1841 Webserver aktivieren 731

1842 Web-Informationen auslesen 732

1843 Standard-Webseiten 733

185 Ablage von lokalen Variablen 736

1851 Ablage in Global-Datenbausteinen 736

1852 Ablage in Instanz-Datenbausteinen 737

1853 Ablage in den temporaumlren Lokaldaten 738

1854 Datenablage der Bausteinparameter einer Funktion (FC) 739

1855 Datenablage der Bausteinparameter eines Funktionsbausteins (FB) 742

1856 Datenablage einer Lokalinstanz in einer Multiinstanz 744

Stichwortverzeichnis 746

1 Einfuumlhrung

22

1 Einfuumlhrung

11 Uumlbersicht Automatisierungssystem S7-300

SIMATIC S7-300 ist das modulare Kleinsteuersystem fuumlr den unteren und mittlerenLeistungsbereich (Bild 11) Verschiedene Varianten der Controller passen die Leis-tungsfaumlhigkeit an den jeweiligen Einsatzfall an Je nach Bedarf kann das Automati-sierungsgeraumlt mit Ein-Ausgabebaugruppen fuumlr Digital- und Analogsignale in biszu vier Baugruppentraumlgern mit je acht Baugruppen modular erweitert werden

Eine zusaumltzliche Erweiterung mit Ein-Ausgabebaugruppen bietet die dezentralePeripherie uumlber PROFIBUS oder PROFINET Mit besonderen Bauformen fuumlr erhoumlhtemechanische Anforderungen ausgestattet koumlnnen diese Baugruppen vor Ort ander Maschine oder Anlage installiert werden Die Steuerungsgeraumlte SIMATIC S7-300werden mit STEP 7 konfiguriert projektiert und programmiert Der Datenaus-tausch zwischen den Steuerungsgeraumlten der dezentralen Peripherie und dem Pro-grammiergeraumlt geschieht mit SIMATIC NET

Bild 11 Bestandteile des Automatisierungssystems SIMATIC S7-300

SIMATIC Controller steuern dieMaschine oder Anlage

Die dezentrale Peripherie erweitert dieSchnittstelle zur Maschine oder Anlage

SIMATIC NET

SIMATIC DP STEP 7Professional V12

SIMATIC S7-300

Die Vernetzung ermoumlglicht denDatenaustausch und den zentralenOnline-Zugriff

Mehrere Varianten der Controllererweitern das Einsatzspektrum

STEP 7 ist die Engineeringsoftware zumKonfigurieren undProgrammieren

Projektieren

Automatisierungssystem SIMATIC S7-300

11 Uumlbersicht Automatisierungssystem S7-300

23

111 Automatisierungsgeraumlt SIMATIC S7-300

Die wesentlichen Bestandteile eines S7-300-Automatisierungsgeraumlts sind im Bild12 dargestellt

Die CPU-Baugruppe enthaumllt das Betriebssystem und das AnwenderprogrammDas Anwenderprogramm steht spannungsausfallsicher auf der in der CPU-Bau-gruppe steckenden Micro Memory Card (MMC) Die Bearbeitung des Anwenderpro-gramms findet im Arbeitsspeicher in der CPU statt Die auf der CPU-Baugruppe vor-handenen Busschnittstellen stellen die Verbindung zu anderen Automatisierungs-geraumlten her

Die Verbindung zur gesteuerten Anlage uumlbernehmen SM-Baugruppen Diese Ein-und Ausgabebaugruppen gibt es fuumlr Digital- und Analogsignale

Die FM-Baugruppen sind signalvorverarbeitende bdquointelligenteldquo Peripheriebau-gruppen die vom Prozess kommende Signale unabhaumlngig von der CPU aufberei-ten verarbeiten und entweder wieder direkt an den Prozess zuruumlckgeben oder ander internen Schnittstelle der CPU zur Verfuumlgung stellen FM-Baugruppen uumlber-nehmen Funktionen die die CPU meist nicht schnell genug ausfuumlhren kann wiez B Impulse zaumlhlen positionieren oder Antriebe regeln

Die CP-Baugruppen gestatten einen Datenverkehr der die Moumlglichkeiten derStandard-Schnittstellen bezuumlglich Protokolle und Kommunikationsfunktionenuumlberschreitet

Die IM-Baugruppen verbinden bei einer Erweiterung den Zentralbaugruppentrauml-ger mit bis zu drei Erweiterungsbaugruppentraumlgern

Eine Stromversorgungsbaugruppe sorgt schlieszliglich fuumlr die benoumltigte Spannungim Automatisierungsgeraumlt

Bild 12 Bestandteile einer S7-300-Steuerung

Erweiterungsbaugruppentraumlger

Zentralbaugruppentraumlger SM-Baugruppen(Signal Modules)

Auf den Baugruppen-traumlgern sind steckbar

FM-Baugruppen(Function Modules)

CP-Baugruppen(CommunicationProcessors)

IM-Baugruppe(Interface Module)

IM-Baugruppe(Interface Module)

CPU-Baugruppe(Central Processor Unit)

PS-Baugruppe(Power Supply)

Baugruppen-traumlger (Rack)

Bestandteile einer S7-300-Steuerung

S

1 Einfuumlhrung

24

112 Uumlbersicht STEP 7 Professional V12

STEP 7 ist das zentrale Automatisierungswerkzeug fuumlr SIMATIC STEP 7 benoumltigtzum Betrieb eine Autorisierung (Lizenz) und laumluft auf den jeweils aktuellen Be-triebssystemen unter Microsoft Windows Die Projektierung eines S7-300-Control-lers geschieht mit zwei Ansichten der Portalansicht und der Projektansicht

Die Portalansicht ist aufgabenorientiert angelegt

Im Startportal oumlffnen Sie ein bestehendes Projekt erstellen ein neues Projekt odermigrieren ein Projekt Ein bdquoProjektldquo ist eine Datenstruktur die alle erforderlichenProgramme und Daten fuumlr Ihr Automatisierungsvorhaben enthaumllt Von hier aussind die wichtigsten Werkzeuge und Funktionen von STEP 7 uumlber weitere Portale er-reichbar (Bild 13)

b Im Portal Geraumlte amp Netze konfigurieren Sie die Automatisierungsgeraumlte d h Sieplatzieren die Baugruppen in einem Baugruppentraumlger und parametrieren sie

b Im Portal PLC-Programmierung erstellen Sie das Anwenderprogramm in Formvon einzelnen Abschnitten die man bdquoBausteineldquo nennt

b Das Portal Visualisierung bietet die wichtigsten Werkzeuge fuumlr die Projektierungund Simulation von HMI-Systemen mit SIMATIC WinCC an

Bild 13 Werkzeuge im Startportal von STEP 7 Professional V12

11 Uumlbersicht Automatisierungssystem S7-300

25

b Mit dem Portal Motion amp Technology fuumlgen Sie ein Technologie-Objekt fuumlr PIDControl ein und bearbeiten es

b Mit dem Portal Online amp Diagnose schalten Sie das Programmiergeraumlt online aneine CPU-Baugruppe Sie koumlnnen die Betriebsarten der CPU steuern und das An-wenderprogramm uumlbertragen und testen

Die Projektansicht bietet eine objektorientierte Ansicht mit mehreren Fensternderen Inhalt je nach ausgefuumlhrter Taumltigkeit wechselt In der Geraumltekonfigurationsteht der Arbeitsbereich mit dem zu konfigurierenden Geraumlt im Mittelpunkt In derGeraumltesicht wird der Baugruppentraumlger mit den bereits platzierten Baugruppen ge-zeigt (Bild 14) Ein weiteres Fenster ndash das Inspektorfenster ndash enthaumllt die Eigen-schaften der selektierten Baugruppe das Aufgaben-Fenster (Task Card) gibt Unter-stuumltzung durch den Hardware-Katalog mit den zur Verfuumlgung stehenden Baugrup-pen Die Netzsicht gestattet die Vernetzung zwischen PLC- und HMI-Stationen

Bei der PLC-Programmierung bearbeiten Sie im Arbeitsbereich den ausgewaumlhltenBaustein Wiederum sehen Sie im Inspektorfenster die Eigenschaften des markier-ten Objekts und koumlnnen diese einstellen Das Aufgabenfenster enthaumllt diesmal denProgrammelemente-Katalog mit den zur Verfuumlgung stehenden Programmelemen-ten und Anweisungen Aumlhnliches gilt fuumlr die Bearbeitung der PLC-Variablen oderbeim Online-Programmtest durch Beobachtungstabellen

Bild 14 Beispiel fuumlr die Projektansicht Arbeitsbereich der Geraumltekonfiguration

1 Einfuumlhrung

26

Und stets haben Sie die Projektnavigation im Blickfeld Sie enthaumllt alle Objekte desSTEP-7-Projekts So koumlnnen Sie jederzeit ein Objekt beispielsweise einen Pro-grammbaustein oder eine Beobachtungstabelle auswaumlhlen und dieses Objekt mitden entsprechenden Editoren die beim Oumlffnen des Objekts automatisch startenbearbeiten

113 Fuumlnf Programmiersprachen

Als Programmiersprache fuumlr das Anwenderprogramm koumlnnen Sie zwischen Kon-taktplan (KOP) Funktionsplan (FUP) Anweisungsliste (AWL) Structured ControlLanguage (SCL) und Ablaufsteuerung (GRAPH) waumlhlen

Mit Kontaktplan programmieren Sie die Steuerungsaufgabe angelehnt an denStromlaufplan Die Verknuumlpfung der binaumlren Signalzustaumlnde wird durch die seriel-le oder parallele Anordnung von Kontakten und Spulen dargestellt (Bild 15) Kom-plexe Funktionen wie beispielsweise die arithmetischen Funktionen werden mitBoxen dargestellt die Sie wie Kontakte oder Spulen im Kontaktplan anordnen

Mit Funktionsplan programmieren Sie die Steuerungsaufgabe angelehnt an elektro-nische Schaltkreissysteme Binaumlre Verknuumlpfungen werden durch Verschaltung vonUND- und ODER-Funktionen realisiert und mit Speicher-Boxen abgeschlossen (Bild16) Komplexe Boxen uumlbernehmen die Verknuumlpfung digitaler Variablen beispiels-weise bei den arithmetischen Funktionen

Bild 15 Beispiel fuumlr die Darstellung in Kontaktplan

Bild 16 Beispiel fuumlr die Darstellung in Funktionsplan

11 Uumlbersicht Automatisierungssystem S7-300

27

Mit Anweisungsliste programmieren Sie die Steuerungsaufgabe durch eine Folgevon Anweisungen Jede AWL-Anweisung enthaumllt eine Vorschrift was zu tun ist undeventuell einen Operand mit dem die Operation ausgefuumlhrt wird AWL ist gleicher-maszligen geeignet fuumlr binaumlre und digitale Verknuumlpfungen wie fuumlr die Programmierungkomplexer Steuerungsaufgaben (Bild 17)

Structured Control Language eignet sich besonders fuumlr die Programmierung vonkomplexen Algorithmen oder fuumlr Aufgabenstellungen aus dem Bereich der Datenver-waltung Das Programm besteht aus SCL-Anweisungen die beispielsweise Wertzuwei-sungen Vergleiche oder Kontrollanweisungen sein koumlnnen (Bild 18)

Mit GRAPH programmieren Sie eine Steuerungsaufgabe als Ablaufsteuerung in derdie sequenzielle Folge von Aktionen vorherrscht Die einzelnen Schritte und Verzwei-gungen werden durch Weiterschaltbedingungen freigegeben die mit KOP oder FUPprogrammiert werden koumlnnen (Bild 19)

114 Bearbeitung des Anwenderprogramms

Nach dem Einschalten der Versorgungsspannung pruumlft der Steuerungsprozessordie Konsistenz der Hardware und parametriert die Baugruppen Anschlieszligend wirdeinmalig ndash falls vorhanden ndash ein Anlaufprogramm bearbeitet Das Anlaufpro-

Bild 17 Beispiel fuumlr AWL-Anweisungen

Bild 18 Beispiel fuumlr SCL-Anweisungen

1 Einfuumlhrung

28

gramm gehoumlrt zum Anwenderprogramm das Sie programmieren Im Anlaufpro-gramm koumlnnen beispielsweise Baugruppen initialisiert werden

Das Anwenderprogramm ist in der Regel in einzelne Abschnitte ndash bdquoBausteineldquo ge-nannt ndash eingeteilt Die Organisationsbausteine (OB) sind die Schnittstelle zwischenBetriebssystem und Anwenderprogramm Das Betriebssystem ruft zu bestimmtenEreignissen einen Organisationsbaustein auf in dem dann das Anwenderpro-gramm bearbeitet wird (Bild 110)

Bild 19 Beispiel fuumlr eine GRAPH-Ablaufkette und eine Schrittprojektierung

Bild 110 Bearbeitung des Anwenderprogramms

Anlauf-programm

Alarm- undFehlerprogramm

Haupt-programm

Bearbeitung des Anwenderprogramms

Einschalten

Aktualisierung derEin- und Ausgaumlnge

Unterbrechung(Alarm oder Fehler)

BetriebszustandANLAUF

Betriebssystem Anwenderprogramm

BetriebszustandRUN

OB

OB

FBFC

FBFC

FBFC

FBFC

FBFC

FBFC

OB

Unterbrechung

11 Uumlbersicht Automatisierungssystem S7-300

29

Zur Strukturierung das Programms stehen Funktionsbausteine (FB) und Funktio-nen (FC) zur Verfuumlgung Funktionsbausteine haben einen Speicher in dem lokaleVariablen dauerhaft abgelegt sind Funktionen haben diesen Speicher nicht

Fuumlr den Aufruf (das Starten der Bearbeitung) von Funktionsbausteinen und Funk-tionen gibt es Programmanweisungen Jeder Bausteinaufruf kann mit Ein- undAusgaumlngen ndash bdquoBausteinparameterldquo genannt ndash versehen werden Beim Aufruf koumln-nen Variablen uumlbergeben werden mit denen das Programm im Baustein arbeitensoll Auf diese Weise kann ein Baustein mit einer gewissen Funktion (z B der Addi-tion von drei Variablen) mehrfach mit unterschiedlichen Parametersaumltzen (z B fuumlrunterschiedliche Berechnungen) aufgerufen werden (Bild 111)

Die Daten des Anwenderprogramms werden in Datenbausteinen (DB) abgelegtInstanz-Datenbausteine sind einem Aufruf eines Funktionsbausteins fest zugeord-net und bilden den Variablenspeicher des Funktionsbausteins Global-Datenbau-steine enthalten Daten die keinem Baustein zugeordnet sind

Nach einem Anlauf aktualisiert der Steuerungsprozessor die Ein- und Ausgangs-signale in den Prozessabbildern und ruft den Organisationsbaustein OB 1 auf Hiersteht das Hauptprogramm Auch im Hauptprogramm ist eine Strukturierung moumlg-lich und zu empfehlen Ist das Hauptprogramm bearbeitet wechselt der Steue-rungsprozessor zuruumlck ins Betriebssystem haumllt beispielsweise die Kommunikati-on mit dem Programmiergeraumlt aufrecht aktualisiert die Ein- und Ausgangssignaleund beginnt dann erneut mit der Bearbeitung des Hauptprogramms

Die zyklische Programmbearbeitung ist ein Merkmal speicherprogrammierbarerSteuerungen Das Anwenderprogramm wird auch dann bearbeitet wenn bdquovon au-szligenldquo keine Aktionen gefordert sind wenn also z B die gesteuerte Maschine stehtDies hat Vorteile bei der Programmierung Sie programmieren beispielsweise den

Bild 111 Beispiel fuumlr zwei Aufrufe eines Bausteins mit jeweils verschiedenen Variablen

Page 16: Berger Automatisieren mit SIMATIC S7-300 im TIA Portal · Automatisieren mit SIMATIC S7-300 im TIA Portal Projektieren, Programmieren und Testen mit STEP 7 Professional von Hans Berger

Inhaltsverzeichnis

16

112 Elemente einer Ablaufsteuerung 4121121 Schritte und Transitionen 4121122 Spruumlnge in einer Ablaufsteuerung 4131123 Verzweigungen einer Ablaufkette 4131124 GRAPH-spezifische Variablen 4151125 Permanente Anweisungen 4161126 Schritt- und Transitionsfunktionen 4161127 Bearbeitung von Aktionen 420

113 Eine Ablaufsteuerung projektieren 4261131 Den GRAPH-Funktionsbaustein programmieren 4271132 Projektieren der Kettenstruktur 4281133 Schritte und Transitionen programmieren 4291134 Permanente Anweisungen programmieren 4311135 Bausteinuumlbergreifende Meldungen projektieren 4311136 Attribute des GRAPH-Funktionsbausteins 4321137 GRAPH-Funktionsbaustein anwenden 433

114 Ablaufsteuerung testen 4341141 GRAPH-Funktionsbaustein laden 4351142 Einstellungen zum Programmtest 4351143 Betriebsarten verwenden 4361144 Ablaufkette synchronisieren 4371145 Mit Programmstatus testen 438

12 Basisfunktionen 440

121 Binaumlre Verknuumlpfungen 4401211 Einfuumlhrung 4401212 Arbeiten mit Binaumlrsignalen 4411213 UND-Funktion Reihenschaltung 4441214 ODER-Funktion Parallelschaltung 4451215 Exklusiv-ODER-Funktion Antivalenzfunktion 4451216 Verknuumlpfungsergebnis negieren NOT-Kontakt 446

122 Speicherfunktionen 4481221 Einfuumlhrung 4481222 Standardspule Zuweisung 4481223 Einzelnes Setzen und Ruumlcksetzen 4481224 Vorrangiges Setzen und Ruumlcksetzen Speicherfunktion 4501225 Flankenauswertung 452

123 SIMATIC-Zeitfunktionen 4571231 Uumlbersicht 4571232 Programmieren einer Zeitfunktion 4601233 Zeitverhalten als Impuls 4621234 Zeitverhalten als verlaumlngerter Impuls 4641235 Zeitverhalten als Einschaltverzoumlgerung 4661236 Zeitverhalten als speichernde Einschaltverzoumlgerung 4681237 Zeitverhalten als Ausschaltverzoumlgerung 470

124 IEC-Zeitfunktionen 472

Inhaltsverzeichnis

17

1241 Einfuumlhrung 4721242 Impulsbildung TP 4731243 Einschaltverzoumlgerung TON 4741244 Ausschaltverzoumlgerung TOF 475

125 SIMATIC-Zaumlhlfunktionen 4761251 Uumlbersicht 4761252 Programmieren einer Zaumlhlfunktion 4781253 Funktionsweise einer Zaumlhlfunktion 4801254 Freigeben einer Zaumlhlfunktion bei AWL 482

126 IEC-Zaumlhlfunktionen 4831261 Einfuumlhrung 4831262 Vorwaumlrtszaumlhler CTU 4841263 Ruumlckwaumlrtszaumlhler CTD 4851264 VorwaumlrtsRuumlckwaumlrtszaumlhler CTUD 487

13 Digitalfunktionen 488

131 Allgemeines 488

132 Uumlbertragungsfunktionen 4891321 Allgemeines zur bdquoeinfachenldquo Uumlbertragungsfunktion 4891322 MOVE-Box bei KOP und FUP 4891323 Laden und Transferieren bei AWL 4911324 Wertzuweisungen bei SCL 4921325 Datenbereich im Arbeitsspeicher kopieren und fuumlllen 4941326 Datenbereich vom und zum Ladespeicher uumlbertragen 4971327 Speicherbereich steuern bei MCR-Abhaumlngigkeit 498

133 Vergleichsfunktionen 5011331 Ausfuumlhrung der bdquoeinfachenldquo Vergleichsfunktion 5011332 Vergleichsfunktion T_COMP 5031333 Vergleichsfunktion S_COMP 503

134 Arithmetische Funktionen 5041341 Allgemeine Funktionsbeschreibung 5041342 Datentypen und Statusbits bei einer arithmetischen Funktion 5051343 Ausfuumlhrung der arithmetischen Funktion 5071344 Arithmetische Funktionen fuumlr Datum und Uhrzeit 508

135 Mathematische Funktionen 5101351 Allgemeine Funktionsbeschreibung 5101352 Allgemeine Ausfuumlhrung einer mathematischen Funktion 5111353 Winkelfunktionen SIN COS TAN 5111354 Arcusfunktionen ASIN ACOS ATAN 5121355 Sonstige mathematische Funktionen 512

136 Konvertierungsfunktionen 5141361 Implizite Datentypwandlung 5141362 Datentypwandlung von Festpunktzahlen 5151363 Datentypwandlung von Gleitpunktzahlen 5181364 Datentypwandlung fuumlr DatumUhrzeit mit T_CONV 5211365 Datentypwandlung fuumlr Datentyp STRING mit S_CONV 522

Inhaltsverzeichnis

18

1366 Datentypwandlung von Hexadezimalzahlen 5241367 Skalieren und Deskalieren 5251368 Sonstige Konvertierungsfunktionen 526

137 Schiebefunktionen 5271371 Allgemeine Funktionsbeschreibung 5271372 Allgemeine Ausfuumlhrung einer Schiebefunktion 5291373 Rechts schieben 5301374 Links schieben 5301375 Rechts rotieren 5311376 Links rotieren 5321377 Rotieren durch das Anzeigenbit A1 (AWL) 532

138 Logikfunktionen 5321381 Wortverknuumlpfungen 5331382 Invertieren 5351383 Bit codieren und Bitnummer setzen 5361384 Auswahl- und Begrenzerfunktionen 537

139 Funktionen fuumlr Zeichenketten 540

14 Programmfluss-Steuerung 544

141 Statusbits 5451411 Beschreibung der Statusbits 5451412 Steuern der Statusbits 5471413 Verknuumlpfungsergebnis setzen und ruumlcksetzen 5481414 Binaumlrergebnis steuern 5491415 Auswertung der Statusbits 552

142 Sprungfunktionen 5531421 Einfuumlhrung 5531422 Absoluter Sprung 5531423 Bedingte Sprungfunktionen 5551424 Von den Statusbits abhaumlngige Sprungfunktionen 556

143 Bausteinende-Funktionen 5591431 Bausteinende-Funktion RET (KOP und FUP) 5601432 Bausteinende-Funktionen BEB BEA und BE (AWL) 5601433 RETURN-Anweisung (SCL) 561

144 Aufruf von Codebausteinen 5611441 Allgemeines zu Bausteinaufrufen 5611442 Aufruf einer Funktion (FC) 5621443 Aufruf eines Funktionsbausteins (FB) 5641444 Wechsel zu einem Baustein ohne Bausteinparameter 566

145 Datenbausteinfunktionen 5681451 Datenbaustein aufschlagen 5691452 Zusaumltzliche Datenbausteinfunktionen bei AWL 5701453 Datenbaustein erzeugen loumlschen und testen 571

146 Master Control Relay 5741461 Einfuumlhrung 5741462 MCR-Abhaumlngigkeit 575

Inhaltsverzeichnis

19

1463 MCR-Bereich und MCR-Zone 5751464 MCR-Bereich und MCR-Zone bei einem Bausteinwechsel 5781465 Anweisungen fuumlr das Master Control Relay 578

15 Online-Betrieb und Programmtest 580

151 Programmiergeraumlt an die PLC-Station anschlieszligen 5811511 Einstellungen am Programmiergeraumlt 5811512 Das Programmiergeraumlt mit der PLC-Station verbinden 5821513 Den Online-Betrieb einschalten 583

152 Projektdaten uumlbertragen 5841521 Die Projektdaten erstmalig laden 5841522 Die Projektdaten nachladen 5871523 Schutz des Anwenderprogramms 5881524 Online-Projekt ohne Offline-Projekt bearbeiten 5891525 Mit der Micro Memory Card arbeiten 590

153 Mit Bausteinen im Online-Betrieb arbeiten 5901531 Einfuumlhrung 5901532 Die Online-Version eines Bausteins bearbeiten 5911533 Einen Baustein in die CPU-Baugruppe laden 5921534 Den Arbeitsspeicher komprimieren 5941535 Bausteine aus der CPU zuruumlckladen 5941536 Mit Einstellwerten arbeiten 5961537 Bausteine vergleichen 598

154 Hardware-Diagnose 6011541 Status-Anzeigen an den Baugruppen 6011542 Diagnose-Informationen 6021543 Diagnosepuffer 6021544 Diagnose-Funktionen 6041545 Online-Tools 6041546 Weitere Diagnose-Informationen uumlber das Programmiergeraumlt 605

155 Anwenderprogramm testen 6061551 Aufrufumgebung definieren 6061552 Testen mit Programmstatus 6071553 Testen im Einzelschrittmodus 6111554 PLC-Variablen beobachten 6141555 Datenvariablen beobachten 6141556 Testen mit Beobachtungstabellen 6151557 Beobachten und Steuern im Betriebszustand STOP 6201558 Testen mit der Force-Tabelle 622

16 Dezentrale Peripherie 626

161 Einfuumlhrung Uumlbersicht 626

162 Dezentrales Peripheriesystem ET 200 6271621 ET 200M 6271622 ET 200MP 6281623 ET 200S 628

Inhaltsverzeichnis

20

1624 ET 200SP 6291625 ET 200iSP 6301626 ET 200pro 6311627 ET 200eco 631

163 PROFINET IO 6321631 Komponenten von PROFINET IO 6321632 Adressen bei PROFINET IO 6351633 Spezielle PROFINET-Konfigurationen 6381634 PROFINET IO projektieren 6391635 Kopplungsbaugruppen fuumlr PROFINET IO 6431636 Echtzeit-Kommunikation bei PROFINET 644

164 PROFIBUS DP 6491641 Komponenten von PROFIBUS DP 6491642 Adressen bei PROFIBUS DP 6521643 PROFIBUS DP projektieren 6561644 Kopplungsbaugruppen fuumlr PROFIBUS DP 6591645 Sonderfunktionen fuumlr PROFIBUS DP 661

165 Taktsynchronitaumlt 6621651 Einfuumlhrung 6621652 Taktsynchronitaumlt bei PROFINET 6631653 Taktsynchronitaumlt bei PROFIBUS 666

166 Systembausteine fuumlr dezentrale Peripherie 6691661 Systembausteine fuumlr PROFIBUS DP 6691662 Systembausteine fuumlr PROFIBUS DP und PROFINET IO 6731663 Systembausteine fuumlr PROFINET IO 676

167 AktorSensor-Interface 6791671 Komponenten von AktorSensor-Interface 6791672 Adressen am AktorSensor-Interface 6811673 AktorSensor-Interface mit CP 343-2P projektieren 6811674 Systemfunktionen fuumlr AS-i 683

17 Kommunikation 684

171 Uumlbersicht 684

172 S7-Basiskommunikation 6851721 Grundlagen der stationsinternen S7-Basiskommunikation 6851722 Stationsinterne S7-Basiskommunikation projektieren 6861723 Systembausteine fuumlr stationsinterne S7-Basiskommunikation 6861724 Grundlagen der stationsexternen S7-Basiskommunikation 6881725 Stationsexterne S7-Basiskommunikation projektieren 6891726 Systembausteine fuumlr stationsexterne S7-Basiskommunikation 689

173 S7-Kommunikation 6921731 Grundlagen 6921732 S7-Kommunikation projektieren 6931733 Einseitiger Datenaustausch 6951734 Zweiseitiger Datenaustausch 6961735 Uumlberwachungsfunktionen 699

Inhaltsverzeichnis

21

174 Open User Communication 700

1741 Grundlagen 700

1742 Verbindungen auf- und abbauen 702

1743 Datenuumlbertragung mit TCP native oder ISO-on-TCP 704

1744 Datenuumlbertragung mit UDP 707

18 Anhang 710

181 Arbeiten mit Quelldateien 710

1811 Allgemeines Vorgehen 710

1812 Einen Codebaustein in der Quelldatei programmieren 712

1813 Einen Datenbaustein in der Quelldatei programmieren 715

1814 Einen PLC-Datentyp in der Quelldatei programmieren 719

182 Projekte migrieren 720

183 Simulation mit dem TIA Portal 724

1831 Unterschiede zu einer realen CPU-Baugruppe 724

1832 Simulation starten und speichern 725

1833 Die Simulation bedienen 726

1834 Programm mit der Simulation testen 728

1835 Weitere Funktionen von PLCSIM 730

184 Webserver 731

1841 Webserver aktivieren 731

1842 Web-Informationen auslesen 732

1843 Standard-Webseiten 733

185 Ablage von lokalen Variablen 736

1851 Ablage in Global-Datenbausteinen 736

1852 Ablage in Instanz-Datenbausteinen 737

1853 Ablage in den temporaumlren Lokaldaten 738

1854 Datenablage der Bausteinparameter einer Funktion (FC) 739

1855 Datenablage der Bausteinparameter eines Funktionsbausteins (FB) 742

1856 Datenablage einer Lokalinstanz in einer Multiinstanz 744

Stichwortverzeichnis 746

1 Einfuumlhrung

22

1 Einfuumlhrung

11 Uumlbersicht Automatisierungssystem S7-300

SIMATIC S7-300 ist das modulare Kleinsteuersystem fuumlr den unteren und mittlerenLeistungsbereich (Bild 11) Verschiedene Varianten der Controller passen die Leis-tungsfaumlhigkeit an den jeweiligen Einsatzfall an Je nach Bedarf kann das Automati-sierungsgeraumlt mit Ein-Ausgabebaugruppen fuumlr Digital- und Analogsignale in biszu vier Baugruppentraumlgern mit je acht Baugruppen modular erweitert werden

Eine zusaumltzliche Erweiterung mit Ein-Ausgabebaugruppen bietet die dezentralePeripherie uumlber PROFIBUS oder PROFINET Mit besonderen Bauformen fuumlr erhoumlhtemechanische Anforderungen ausgestattet koumlnnen diese Baugruppen vor Ort ander Maschine oder Anlage installiert werden Die Steuerungsgeraumlte SIMATIC S7-300werden mit STEP 7 konfiguriert projektiert und programmiert Der Datenaus-tausch zwischen den Steuerungsgeraumlten der dezentralen Peripherie und dem Pro-grammiergeraumlt geschieht mit SIMATIC NET

Bild 11 Bestandteile des Automatisierungssystems SIMATIC S7-300

SIMATIC Controller steuern dieMaschine oder Anlage

Die dezentrale Peripherie erweitert dieSchnittstelle zur Maschine oder Anlage

SIMATIC NET

SIMATIC DP STEP 7Professional V12

SIMATIC S7-300

Die Vernetzung ermoumlglicht denDatenaustausch und den zentralenOnline-Zugriff

Mehrere Varianten der Controllererweitern das Einsatzspektrum

STEP 7 ist die Engineeringsoftware zumKonfigurieren undProgrammieren

Projektieren

Automatisierungssystem SIMATIC S7-300

11 Uumlbersicht Automatisierungssystem S7-300

23

111 Automatisierungsgeraumlt SIMATIC S7-300

Die wesentlichen Bestandteile eines S7-300-Automatisierungsgeraumlts sind im Bild12 dargestellt

Die CPU-Baugruppe enthaumllt das Betriebssystem und das AnwenderprogrammDas Anwenderprogramm steht spannungsausfallsicher auf der in der CPU-Bau-gruppe steckenden Micro Memory Card (MMC) Die Bearbeitung des Anwenderpro-gramms findet im Arbeitsspeicher in der CPU statt Die auf der CPU-Baugruppe vor-handenen Busschnittstellen stellen die Verbindung zu anderen Automatisierungs-geraumlten her

Die Verbindung zur gesteuerten Anlage uumlbernehmen SM-Baugruppen Diese Ein-und Ausgabebaugruppen gibt es fuumlr Digital- und Analogsignale

Die FM-Baugruppen sind signalvorverarbeitende bdquointelligenteldquo Peripheriebau-gruppen die vom Prozess kommende Signale unabhaumlngig von der CPU aufberei-ten verarbeiten und entweder wieder direkt an den Prozess zuruumlckgeben oder ander internen Schnittstelle der CPU zur Verfuumlgung stellen FM-Baugruppen uumlber-nehmen Funktionen die die CPU meist nicht schnell genug ausfuumlhren kann wiez B Impulse zaumlhlen positionieren oder Antriebe regeln

Die CP-Baugruppen gestatten einen Datenverkehr der die Moumlglichkeiten derStandard-Schnittstellen bezuumlglich Protokolle und Kommunikationsfunktionenuumlberschreitet

Die IM-Baugruppen verbinden bei einer Erweiterung den Zentralbaugruppentrauml-ger mit bis zu drei Erweiterungsbaugruppentraumlgern

Eine Stromversorgungsbaugruppe sorgt schlieszliglich fuumlr die benoumltigte Spannungim Automatisierungsgeraumlt

Bild 12 Bestandteile einer S7-300-Steuerung

Erweiterungsbaugruppentraumlger

Zentralbaugruppentraumlger SM-Baugruppen(Signal Modules)

Auf den Baugruppen-traumlgern sind steckbar

FM-Baugruppen(Function Modules)

CP-Baugruppen(CommunicationProcessors)

IM-Baugruppe(Interface Module)

IM-Baugruppe(Interface Module)

CPU-Baugruppe(Central Processor Unit)

PS-Baugruppe(Power Supply)

Baugruppen-traumlger (Rack)

Bestandteile einer S7-300-Steuerung

S

1 Einfuumlhrung

24

112 Uumlbersicht STEP 7 Professional V12

STEP 7 ist das zentrale Automatisierungswerkzeug fuumlr SIMATIC STEP 7 benoumltigtzum Betrieb eine Autorisierung (Lizenz) und laumluft auf den jeweils aktuellen Be-triebssystemen unter Microsoft Windows Die Projektierung eines S7-300-Control-lers geschieht mit zwei Ansichten der Portalansicht und der Projektansicht

Die Portalansicht ist aufgabenorientiert angelegt

Im Startportal oumlffnen Sie ein bestehendes Projekt erstellen ein neues Projekt odermigrieren ein Projekt Ein bdquoProjektldquo ist eine Datenstruktur die alle erforderlichenProgramme und Daten fuumlr Ihr Automatisierungsvorhaben enthaumllt Von hier aussind die wichtigsten Werkzeuge und Funktionen von STEP 7 uumlber weitere Portale er-reichbar (Bild 13)

b Im Portal Geraumlte amp Netze konfigurieren Sie die Automatisierungsgeraumlte d h Sieplatzieren die Baugruppen in einem Baugruppentraumlger und parametrieren sie

b Im Portal PLC-Programmierung erstellen Sie das Anwenderprogramm in Formvon einzelnen Abschnitten die man bdquoBausteineldquo nennt

b Das Portal Visualisierung bietet die wichtigsten Werkzeuge fuumlr die Projektierungund Simulation von HMI-Systemen mit SIMATIC WinCC an

Bild 13 Werkzeuge im Startportal von STEP 7 Professional V12

11 Uumlbersicht Automatisierungssystem S7-300

25

b Mit dem Portal Motion amp Technology fuumlgen Sie ein Technologie-Objekt fuumlr PIDControl ein und bearbeiten es

b Mit dem Portal Online amp Diagnose schalten Sie das Programmiergeraumlt online aneine CPU-Baugruppe Sie koumlnnen die Betriebsarten der CPU steuern und das An-wenderprogramm uumlbertragen und testen

Die Projektansicht bietet eine objektorientierte Ansicht mit mehreren Fensternderen Inhalt je nach ausgefuumlhrter Taumltigkeit wechselt In der Geraumltekonfigurationsteht der Arbeitsbereich mit dem zu konfigurierenden Geraumlt im Mittelpunkt In derGeraumltesicht wird der Baugruppentraumlger mit den bereits platzierten Baugruppen ge-zeigt (Bild 14) Ein weiteres Fenster ndash das Inspektorfenster ndash enthaumllt die Eigen-schaften der selektierten Baugruppe das Aufgaben-Fenster (Task Card) gibt Unter-stuumltzung durch den Hardware-Katalog mit den zur Verfuumlgung stehenden Baugrup-pen Die Netzsicht gestattet die Vernetzung zwischen PLC- und HMI-Stationen

Bei der PLC-Programmierung bearbeiten Sie im Arbeitsbereich den ausgewaumlhltenBaustein Wiederum sehen Sie im Inspektorfenster die Eigenschaften des markier-ten Objekts und koumlnnen diese einstellen Das Aufgabenfenster enthaumllt diesmal denProgrammelemente-Katalog mit den zur Verfuumlgung stehenden Programmelemen-ten und Anweisungen Aumlhnliches gilt fuumlr die Bearbeitung der PLC-Variablen oderbeim Online-Programmtest durch Beobachtungstabellen

Bild 14 Beispiel fuumlr die Projektansicht Arbeitsbereich der Geraumltekonfiguration

1 Einfuumlhrung

26

Und stets haben Sie die Projektnavigation im Blickfeld Sie enthaumllt alle Objekte desSTEP-7-Projekts So koumlnnen Sie jederzeit ein Objekt beispielsweise einen Pro-grammbaustein oder eine Beobachtungstabelle auswaumlhlen und dieses Objekt mitden entsprechenden Editoren die beim Oumlffnen des Objekts automatisch startenbearbeiten

113 Fuumlnf Programmiersprachen

Als Programmiersprache fuumlr das Anwenderprogramm koumlnnen Sie zwischen Kon-taktplan (KOP) Funktionsplan (FUP) Anweisungsliste (AWL) Structured ControlLanguage (SCL) und Ablaufsteuerung (GRAPH) waumlhlen

Mit Kontaktplan programmieren Sie die Steuerungsaufgabe angelehnt an denStromlaufplan Die Verknuumlpfung der binaumlren Signalzustaumlnde wird durch die seriel-le oder parallele Anordnung von Kontakten und Spulen dargestellt (Bild 15) Kom-plexe Funktionen wie beispielsweise die arithmetischen Funktionen werden mitBoxen dargestellt die Sie wie Kontakte oder Spulen im Kontaktplan anordnen

Mit Funktionsplan programmieren Sie die Steuerungsaufgabe angelehnt an elektro-nische Schaltkreissysteme Binaumlre Verknuumlpfungen werden durch Verschaltung vonUND- und ODER-Funktionen realisiert und mit Speicher-Boxen abgeschlossen (Bild16) Komplexe Boxen uumlbernehmen die Verknuumlpfung digitaler Variablen beispiels-weise bei den arithmetischen Funktionen

Bild 15 Beispiel fuumlr die Darstellung in Kontaktplan

Bild 16 Beispiel fuumlr die Darstellung in Funktionsplan

11 Uumlbersicht Automatisierungssystem S7-300

27

Mit Anweisungsliste programmieren Sie die Steuerungsaufgabe durch eine Folgevon Anweisungen Jede AWL-Anweisung enthaumllt eine Vorschrift was zu tun ist undeventuell einen Operand mit dem die Operation ausgefuumlhrt wird AWL ist gleicher-maszligen geeignet fuumlr binaumlre und digitale Verknuumlpfungen wie fuumlr die Programmierungkomplexer Steuerungsaufgaben (Bild 17)

Structured Control Language eignet sich besonders fuumlr die Programmierung vonkomplexen Algorithmen oder fuumlr Aufgabenstellungen aus dem Bereich der Datenver-waltung Das Programm besteht aus SCL-Anweisungen die beispielsweise Wertzuwei-sungen Vergleiche oder Kontrollanweisungen sein koumlnnen (Bild 18)

Mit GRAPH programmieren Sie eine Steuerungsaufgabe als Ablaufsteuerung in derdie sequenzielle Folge von Aktionen vorherrscht Die einzelnen Schritte und Verzwei-gungen werden durch Weiterschaltbedingungen freigegeben die mit KOP oder FUPprogrammiert werden koumlnnen (Bild 19)

114 Bearbeitung des Anwenderprogramms

Nach dem Einschalten der Versorgungsspannung pruumlft der Steuerungsprozessordie Konsistenz der Hardware und parametriert die Baugruppen Anschlieszligend wirdeinmalig ndash falls vorhanden ndash ein Anlaufprogramm bearbeitet Das Anlaufpro-

Bild 17 Beispiel fuumlr AWL-Anweisungen

Bild 18 Beispiel fuumlr SCL-Anweisungen

1 Einfuumlhrung

28

gramm gehoumlrt zum Anwenderprogramm das Sie programmieren Im Anlaufpro-gramm koumlnnen beispielsweise Baugruppen initialisiert werden

Das Anwenderprogramm ist in der Regel in einzelne Abschnitte ndash bdquoBausteineldquo ge-nannt ndash eingeteilt Die Organisationsbausteine (OB) sind die Schnittstelle zwischenBetriebssystem und Anwenderprogramm Das Betriebssystem ruft zu bestimmtenEreignissen einen Organisationsbaustein auf in dem dann das Anwenderpro-gramm bearbeitet wird (Bild 110)

Bild 19 Beispiel fuumlr eine GRAPH-Ablaufkette und eine Schrittprojektierung

Bild 110 Bearbeitung des Anwenderprogramms

Anlauf-programm

Alarm- undFehlerprogramm

Haupt-programm

Bearbeitung des Anwenderprogramms

Einschalten

Aktualisierung derEin- und Ausgaumlnge

Unterbrechung(Alarm oder Fehler)

BetriebszustandANLAUF

Betriebssystem Anwenderprogramm

BetriebszustandRUN

OB

OB

FBFC

FBFC

FBFC

FBFC

FBFC

FBFC

OB

Unterbrechung

11 Uumlbersicht Automatisierungssystem S7-300

29

Zur Strukturierung das Programms stehen Funktionsbausteine (FB) und Funktio-nen (FC) zur Verfuumlgung Funktionsbausteine haben einen Speicher in dem lokaleVariablen dauerhaft abgelegt sind Funktionen haben diesen Speicher nicht

Fuumlr den Aufruf (das Starten der Bearbeitung) von Funktionsbausteinen und Funk-tionen gibt es Programmanweisungen Jeder Bausteinaufruf kann mit Ein- undAusgaumlngen ndash bdquoBausteinparameterldquo genannt ndash versehen werden Beim Aufruf koumln-nen Variablen uumlbergeben werden mit denen das Programm im Baustein arbeitensoll Auf diese Weise kann ein Baustein mit einer gewissen Funktion (z B der Addi-tion von drei Variablen) mehrfach mit unterschiedlichen Parametersaumltzen (z B fuumlrunterschiedliche Berechnungen) aufgerufen werden (Bild 111)

Die Daten des Anwenderprogramms werden in Datenbausteinen (DB) abgelegtInstanz-Datenbausteine sind einem Aufruf eines Funktionsbausteins fest zugeord-net und bilden den Variablenspeicher des Funktionsbausteins Global-Datenbau-steine enthalten Daten die keinem Baustein zugeordnet sind

Nach einem Anlauf aktualisiert der Steuerungsprozessor die Ein- und Ausgangs-signale in den Prozessabbildern und ruft den Organisationsbaustein OB 1 auf Hiersteht das Hauptprogramm Auch im Hauptprogramm ist eine Strukturierung moumlg-lich und zu empfehlen Ist das Hauptprogramm bearbeitet wechselt der Steue-rungsprozessor zuruumlck ins Betriebssystem haumllt beispielsweise die Kommunikati-on mit dem Programmiergeraumlt aufrecht aktualisiert die Ein- und Ausgangssignaleund beginnt dann erneut mit der Bearbeitung des Hauptprogramms

Die zyklische Programmbearbeitung ist ein Merkmal speicherprogrammierbarerSteuerungen Das Anwenderprogramm wird auch dann bearbeitet wenn bdquovon au-szligenldquo keine Aktionen gefordert sind wenn also z B die gesteuerte Maschine stehtDies hat Vorteile bei der Programmierung Sie programmieren beispielsweise den

Bild 111 Beispiel fuumlr zwei Aufrufe eines Bausteins mit jeweils verschiedenen Variablen

Page 17: Berger Automatisieren mit SIMATIC S7-300 im TIA Portal · Automatisieren mit SIMATIC S7-300 im TIA Portal Projektieren, Programmieren und Testen mit STEP 7 Professional von Hans Berger

Inhaltsverzeichnis

17

1241 Einfuumlhrung 4721242 Impulsbildung TP 4731243 Einschaltverzoumlgerung TON 4741244 Ausschaltverzoumlgerung TOF 475

125 SIMATIC-Zaumlhlfunktionen 4761251 Uumlbersicht 4761252 Programmieren einer Zaumlhlfunktion 4781253 Funktionsweise einer Zaumlhlfunktion 4801254 Freigeben einer Zaumlhlfunktion bei AWL 482

126 IEC-Zaumlhlfunktionen 4831261 Einfuumlhrung 4831262 Vorwaumlrtszaumlhler CTU 4841263 Ruumlckwaumlrtszaumlhler CTD 4851264 VorwaumlrtsRuumlckwaumlrtszaumlhler CTUD 487

13 Digitalfunktionen 488

131 Allgemeines 488

132 Uumlbertragungsfunktionen 4891321 Allgemeines zur bdquoeinfachenldquo Uumlbertragungsfunktion 4891322 MOVE-Box bei KOP und FUP 4891323 Laden und Transferieren bei AWL 4911324 Wertzuweisungen bei SCL 4921325 Datenbereich im Arbeitsspeicher kopieren und fuumlllen 4941326 Datenbereich vom und zum Ladespeicher uumlbertragen 4971327 Speicherbereich steuern bei MCR-Abhaumlngigkeit 498

133 Vergleichsfunktionen 5011331 Ausfuumlhrung der bdquoeinfachenldquo Vergleichsfunktion 5011332 Vergleichsfunktion T_COMP 5031333 Vergleichsfunktion S_COMP 503

134 Arithmetische Funktionen 5041341 Allgemeine Funktionsbeschreibung 5041342 Datentypen und Statusbits bei einer arithmetischen Funktion 5051343 Ausfuumlhrung der arithmetischen Funktion 5071344 Arithmetische Funktionen fuumlr Datum und Uhrzeit 508

135 Mathematische Funktionen 5101351 Allgemeine Funktionsbeschreibung 5101352 Allgemeine Ausfuumlhrung einer mathematischen Funktion 5111353 Winkelfunktionen SIN COS TAN 5111354 Arcusfunktionen ASIN ACOS ATAN 5121355 Sonstige mathematische Funktionen 512

136 Konvertierungsfunktionen 5141361 Implizite Datentypwandlung 5141362 Datentypwandlung von Festpunktzahlen 5151363 Datentypwandlung von Gleitpunktzahlen 5181364 Datentypwandlung fuumlr DatumUhrzeit mit T_CONV 5211365 Datentypwandlung fuumlr Datentyp STRING mit S_CONV 522

Inhaltsverzeichnis

18

1366 Datentypwandlung von Hexadezimalzahlen 5241367 Skalieren und Deskalieren 5251368 Sonstige Konvertierungsfunktionen 526

137 Schiebefunktionen 5271371 Allgemeine Funktionsbeschreibung 5271372 Allgemeine Ausfuumlhrung einer Schiebefunktion 5291373 Rechts schieben 5301374 Links schieben 5301375 Rechts rotieren 5311376 Links rotieren 5321377 Rotieren durch das Anzeigenbit A1 (AWL) 532

138 Logikfunktionen 5321381 Wortverknuumlpfungen 5331382 Invertieren 5351383 Bit codieren und Bitnummer setzen 5361384 Auswahl- und Begrenzerfunktionen 537

139 Funktionen fuumlr Zeichenketten 540

14 Programmfluss-Steuerung 544

141 Statusbits 5451411 Beschreibung der Statusbits 5451412 Steuern der Statusbits 5471413 Verknuumlpfungsergebnis setzen und ruumlcksetzen 5481414 Binaumlrergebnis steuern 5491415 Auswertung der Statusbits 552

142 Sprungfunktionen 5531421 Einfuumlhrung 5531422 Absoluter Sprung 5531423 Bedingte Sprungfunktionen 5551424 Von den Statusbits abhaumlngige Sprungfunktionen 556

143 Bausteinende-Funktionen 5591431 Bausteinende-Funktion RET (KOP und FUP) 5601432 Bausteinende-Funktionen BEB BEA und BE (AWL) 5601433 RETURN-Anweisung (SCL) 561

144 Aufruf von Codebausteinen 5611441 Allgemeines zu Bausteinaufrufen 5611442 Aufruf einer Funktion (FC) 5621443 Aufruf eines Funktionsbausteins (FB) 5641444 Wechsel zu einem Baustein ohne Bausteinparameter 566

145 Datenbausteinfunktionen 5681451 Datenbaustein aufschlagen 5691452 Zusaumltzliche Datenbausteinfunktionen bei AWL 5701453 Datenbaustein erzeugen loumlschen und testen 571

146 Master Control Relay 5741461 Einfuumlhrung 5741462 MCR-Abhaumlngigkeit 575

Inhaltsverzeichnis

19

1463 MCR-Bereich und MCR-Zone 5751464 MCR-Bereich und MCR-Zone bei einem Bausteinwechsel 5781465 Anweisungen fuumlr das Master Control Relay 578

15 Online-Betrieb und Programmtest 580

151 Programmiergeraumlt an die PLC-Station anschlieszligen 5811511 Einstellungen am Programmiergeraumlt 5811512 Das Programmiergeraumlt mit der PLC-Station verbinden 5821513 Den Online-Betrieb einschalten 583

152 Projektdaten uumlbertragen 5841521 Die Projektdaten erstmalig laden 5841522 Die Projektdaten nachladen 5871523 Schutz des Anwenderprogramms 5881524 Online-Projekt ohne Offline-Projekt bearbeiten 5891525 Mit der Micro Memory Card arbeiten 590

153 Mit Bausteinen im Online-Betrieb arbeiten 5901531 Einfuumlhrung 5901532 Die Online-Version eines Bausteins bearbeiten 5911533 Einen Baustein in die CPU-Baugruppe laden 5921534 Den Arbeitsspeicher komprimieren 5941535 Bausteine aus der CPU zuruumlckladen 5941536 Mit Einstellwerten arbeiten 5961537 Bausteine vergleichen 598

154 Hardware-Diagnose 6011541 Status-Anzeigen an den Baugruppen 6011542 Diagnose-Informationen 6021543 Diagnosepuffer 6021544 Diagnose-Funktionen 6041545 Online-Tools 6041546 Weitere Diagnose-Informationen uumlber das Programmiergeraumlt 605

155 Anwenderprogramm testen 6061551 Aufrufumgebung definieren 6061552 Testen mit Programmstatus 6071553 Testen im Einzelschrittmodus 6111554 PLC-Variablen beobachten 6141555 Datenvariablen beobachten 6141556 Testen mit Beobachtungstabellen 6151557 Beobachten und Steuern im Betriebszustand STOP 6201558 Testen mit der Force-Tabelle 622

16 Dezentrale Peripherie 626

161 Einfuumlhrung Uumlbersicht 626

162 Dezentrales Peripheriesystem ET 200 6271621 ET 200M 6271622 ET 200MP 6281623 ET 200S 628

Inhaltsverzeichnis

20

1624 ET 200SP 6291625 ET 200iSP 6301626 ET 200pro 6311627 ET 200eco 631

163 PROFINET IO 6321631 Komponenten von PROFINET IO 6321632 Adressen bei PROFINET IO 6351633 Spezielle PROFINET-Konfigurationen 6381634 PROFINET IO projektieren 6391635 Kopplungsbaugruppen fuumlr PROFINET IO 6431636 Echtzeit-Kommunikation bei PROFINET 644

164 PROFIBUS DP 6491641 Komponenten von PROFIBUS DP 6491642 Adressen bei PROFIBUS DP 6521643 PROFIBUS DP projektieren 6561644 Kopplungsbaugruppen fuumlr PROFIBUS DP 6591645 Sonderfunktionen fuumlr PROFIBUS DP 661

165 Taktsynchronitaumlt 6621651 Einfuumlhrung 6621652 Taktsynchronitaumlt bei PROFINET 6631653 Taktsynchronitaumlt bei PROFIBUS 666

166 Systembausteine fuumlr dezentrale Peripherie 6691661 Systembausteine fuumlr PROFIBUS DP 6691662 Systembausteine fuumlr PROFIBUS DP und PROFINET IO 6731663 Systembausteine fuumlr PROFINET IO 676

167 AktorSensor-Interface 6791671 Komponenten von AktorSensor-Interface 6791672 Adressen am AktorSensor-Interface 6811673 AktorSensor-Interface mit CP 343-2P projektieren 6811674 Systemfunktionen fuumlr AS-i 683

17 Kommunikation 684

171 Uumlbersicht 684

172 S7-Basiskommunikation 6851721 Grundlagen der stationsinternen S7-Basiskommunikation 6851722 Stationsinterne S7-Basiskommunikation projektieren 6861723 Systembausteine fuumlr stationsinterne S7-Basiskommunikation 6861724 Grundlagen der stationsexternen S7-Basiskommunikation 6881725 Stationsexterne S7-Basiskommunikation projektieren 6891726 Systembausteine fuumlr stationsexterne S7-Basiskommunikation 689

173 S7-Kommunikation 6921731 Grundlagen 6921732 S7-Kommunikation projektieren 6931733 Einseitiger Datenaustausch 6951734 Zweiseitiger Datenaustausch 6961735 Uumlberwachungsfunktionen 699

Inhaltsverzeichnis

21

174 Open User Communication 700

1741 Grundlagen 700

1742 Verbindungen auf- und abbauen 702

1743 Datenuumlbertragung mit TCP native oder ISO-on-TCP 704

1744 Datenuumlbertragung mit UDP 707

18 Anhang 710

181 Arbeiten mit Quelldateien 710

1811 Allgemeines Vorgehen 710

1812 Einen Codebaustein in der Quelldatei programmieren 712

1813 Einen Datenbaustein in der Quelldatei programmieren 715

1814 Einen PLC-Datentyp in der Quelldatei programmieren 719

182 Projekte migrieren 720

183 Simulation mit dem TIA Portal 724

1831 Unterschiede zu einer realen CPU-Baugruppe 724

1832 Simulation starten und speichern 725

1833 Die Simulation bedienen 726

1834 Programm mit der Simulation testen 728

1835 Weitere Funktionen von PLCSIM 730

184 Webserver 731

1841 Webserver aktivieren 731

1842 Web-Informationen auslesen 732

1843 Standard-Webseiten 733

185 Ablage von lokalen Variablen 736

1851 Ablage in Global-Datenbausteinen 736

1852 Ablage in Instanz-Datenbausteinen 737

1853 Ablage in den temporaumlren Lokaldaten 738

1854 Datenablage der Bausteinparameter einer Funktion (FC) 739

1855 Datenablage der Bausteinparameter eines Funktionsbausteins (FB) 742

1856 Datenablage einer Lokalinstanz in einer Multiinstanz 744

Stichwortverzeichnis 746

1 Einfuumlhrung

22

1 Einfuumlhrung

11 Uumlbersicht Automatisierungssystem S7-300

SIMATIC S7-300 ist das modulare Kleinsteuersystem fuumlr den unteren und mittlerenLeistungsbereich (Bild 11) Verschiedene Varianten der Controller passen die Leis-tungsfaumlhigkeit an den jeweiligen Einsatzfall an Je nach Bedarf kann das Automati-sierungsgeraumlt mit Ein-Ausgabebaugruppen fuumlr Digital- und Analogsignale in biszu vier Baugruppentraumlgern mit je acht Baugruppen modular erweitert werden

Eine zusaumltzliche Erweiterung mit Ein-Ausgabebaugruppen bietet die dezentralePeripherie uumlber PROFIBUS oder PROFINET Mit besonderen Bauformen fuumlr erhoumlhtemechanische Anforderungen ausgestattet koumlnnen diese Baugruppen vor Ort ander Maschine oder Anlage installiert werden Die Steuerungsgeraumlte SIMATIC S7-300werden mit STEP 7 konfiguriert projektiert und programmiert Der Datenaus-tausch zwischen den Steuerungsgeraumlten der dezentralen Peripherie und dem Pro-grammiergeraumlt geschieht mit SIMATIC NET

Bild 11 Bestandteile des Automatisierungssystems SIMATIC S7-300

SIMATIC Controller steuern dieMaschine oder Anlage

Die dezentrale Peripherie erweitert dieSchnittstelle zur Maschine oder Anlage

SIMATIC NET

SIMATIC DP STEP 7Professional V12

SIMATIC S7-300

Die Vernetzung ermoumlglicht denDatenaustausch und den zentralenOnline-Zugriff

Mehrere Varianten der Controllererweitern das Einsatzspektrum

STEP 7 ist die Engineeringsoftware zumKonfigurieren undProgrammieren

Projektieren

Automatisierungssystem SIMATIC S7-300

11 Uumlbersicht Automatisierungssystem S7-300

23

111 Automatisierungsgeraumlt SIMATIC S7-300

Die wesentlichen Bestandteile eines S7-300-Automatisierungsgeraumlts sind im Bild12 dargestellt

Die CPU-Baugruppe enthaumllt das Betriebssystem und das AnwenderprogrammDas Anwenderprogramm steht spannungsausfallsicher auf der in der CPU-Bau-gruppe steckenden Micro Memory Card (MMC) Die Bearbeitung des Anwenderpro-gramms findet im Arbeitsspeicher in der CPU statt Die auf der CPU-Baugruppe vor-handenen Busschnittstellen stellen die Verbindung zu anderen Automatisierungs-geraumlten her

Die Verbindung zur gesteuerten Anlage uumlbernehmen SM-Baugruppen Diese Ein-und Ausgabebaugruppen gibt es fuumlr Digital- und Analogsignale

Die FM-Baugruppen sind signalvorverarbeitende bdquointelligenteldquo Peripheriebau-gruppen die vom Prozess kommende Signale unabhaumlngig von der CPU aufberei-ten verarbeiten und entweder wieder direkt an den Prozess zuruumlckgeben oder ander internen Schnittstelle der CPU zur Verfuumlgung stellen FM-Baugruppen uumlber-nehmen Funktionen die die CPU meist nicht schnell genug ausfuumlhren kann wiez B Impulse zaumlhlen positionieren oder Antriebe regeln

Die CP-Baugruppen gestatten einen Datenverkehr der die Moumlglichkeiten derStandard-Schnittstellen bezuumlglich Protokolle und Kommunikationsfunktionenuumlberschreitet

Die IM-Baugruppen verbinden bei einer Erweiterung den Zentralbaugruppentrauml-ger mit bis zu drei Erweiterungsbaugruppentraumlgern

Eine Stromversorgungsbaugruppe sorgt schlieszliglich fuumlr die benoumltigte Spannungim Automatisierungsgeraumlt

Bild 12 Bestandteile einer S7-300-Steuerung

Erweiterungsbaugruppentraumlger

Zentralbaugruppentraumlger SM-Baugruppen(Signal Modules)

Auf den Baugruppen-traumlgern sind steckbar

FM-Baugruppen(Function Modules)

CP-Baugruppen(CommunicationProcessors)

IM-Baugruppe(Interface Module)

IM-Baugruppe(Interface Module)

CPU-Baugruppe(Central Processor Unit)

PS-Baugruppe(Power Supply)

Baugruppen-traumlger (Rack)

Bestandteile einer S7-300-Steuerung

S

1 Einfuumlhrung

24

112 Uumlbersicht STEP 7 Professional V12

STEP 7 ist das zentrale Automatisierungswerkzeug fuumlr SIMATIC STEP 7 benoumltigtzum Betrieb eine Autorisierung (Lizenz) und laumluft auf den jeweils aktuellen Be-triebssystemen unter Microsoft Windows Die Projektierung eines S7-300-Control-lers geschieht mit zwei Ansichten der Portalansicht und der Projektansicht

Die Portalansicht ist aufgabenorientiert angelegt

Im Startportal oumlffnen Sie ein bestehendes Projekt erstellen ein neues Projekt odermigrieren ein Projekt Ein bdquoProjektldquo ist eine Datenstruktur die alle erforderlichenProgramme und Daten fuumlr Ihr Automatisierungsvorhaben enthaumllt Von hier aussind die wichtigsten Werkzeuge und Funktionen von STEP 7 uumlber weitere Portale er-reichbar (Bild 13)

b Im Portal Geraumlte amp Netze konfigurieren Sie die Automatisierungsgeraumlte d h Sieplatzieren die Baugruppen in einem Baugruppentraumlger und parametrieren sie

b Im Portal PLC-Programmierung erstellen Sie das Anwenderprogramm in Formvon einzelnen Abschnitten die man bdquoBausteineldquo nennt

b Das Portal Visualisierung bietet die wichtigsten Werkzeuge fuumlr die Projektierungund Simulation von HMI-Systemen mit SIMATIC WinCC an

Bild 13 Werkzeuge im Startportal von STEP 7 Professional V12

11 Uumlbersicht Automatisierungssystem S7-300

25

b Mit dem Portal Motion amp Technology fuumlgen Sie ein Technologie-Objekt fuumlr PIDControl ein und bearbeiten es

b Mit dem Portal Online amp Diagnose schalten Sie das Programmiergeraumlt online aneine CPU-Baugruppe Sie koumlnnen die Betriebsarten der CPU steuern und das An-wenderprogramm uumlbertragen und testen

Die Projektansicht bietet eine objektorientierte Ansicht mit mehreren Fensternderen Inhalt je nach ausgefuumlhrter Taumltigkeit wechselt In der Geraumltekonfigurationsteht der Arbeitsbereich mit dem zu konfigurierenden Geraumlt im Mittelpunkt In derGeraumltesicht wird der Baugruppentraumlger mit den bereits platzierten Baugruppen ge-zeigt (Bild 14) Ein weiteres Fenster ndash das Inspektorfenster ndash enthaumllt die Eigen-schaften der selektierten Baugruppe das Aufgaben-Fenster (Task Card) gibt Unter-stuumltzung durch den Hardware-Katalog mit den zur Verfuumlgung stehenden Baugrup-pen Die Netzsicht gestattet die Vernetzung zwischen PLC- und HMI-Stationen

Bei der PLC-Programmierung bearbeiten Sie im Arbeitsbereich den ausgewaumlhltenBaustein Wiederum sehen Sie im Inspektorfenster die Eigenschaften des markier-ten Objekts und koumlnnen diese einstellen Das Aufgabenfenster enthaumllt diesmal denProgrammelemente-Katalog mit den zur Verfuumlgung stehenden Programmelemen-ten und Anweisungen Aumlhnliches gilt fuumlr die Bearbeitung der PLC-Variablen oderbeim Online-Programmtest durch Beobachtungstabellen

Bild 14 Beispiel fuumlr die Projektansicht Arbeitsbereich der Geraumltekonfiguration

1 Einfuumlhrung

26

Und stets haben Sie die Projektnavigation im Blickfeld Sie enthaumllt alle Objekte desSTEP-7-Projekts So koumlnnen Sie jederzeit ein Objekt beispielsweise einen Pro-grammbaustein oder eine Beobachtungstabelle auswaumlhlen und dieses Objekt mitden entsprechenden Editoren die beim Oumlffnen des Objekts automatisch startenbearbeiten

113 Fuumlnf Programmiersprachen

Als Programmiersprache fuumlr das Anwenderprogramm koumlnnen Sie zwischen Kon-taktplan (KOP) Funktionsplan (FUP) Anweisungsliste (AWL) Structured ControlLanguage (SCL) und Ablaufsteuerung (GRAPH) waumlhlen

Mit Kontaktplan programmieren Sie die Steuerungsaufgabe angelehnt an denStromlaufplan Die Verknuumlpfung der binaumlren Signalzustaumlnde wird durch die seriel-le oder parallele Anordnung von Kontakten und Spulen dargestellt (Bild 15) Kom-plexe Funktionen wie beispielsweise die arithmetischen Funktionen werden mitBoxen dargestellt die Sie wie Kontakte oder Spulen im Kontaktplan anordnen

Mit Funktionsplan programmieren Sie die Steuerungsaufgabe angelehnt an elektro-nische Schaltkreissysteme Binaumlre Verknuumlpfungen werden durch Verschaltung vonUND- und ODER-Funktionen realisiert und mit Speicher-Boxen abgeschlossen (Bild16) Komplexe Boxen uumlbernehmen die Verknuumlpfung digitaler Variablen beispiels-weise bei den arithmetischen Funktionen

Bild 15 Beispiel fuumlr die Darstellung in Kontaktplan

Bild 16 Beispiel fuumlr die Darstellung in Funktionsplan

11 Uumlbersicht Automatisierungssystem S7-300

27

Mit Anweisungsliste programmieren Sie die Steuerungsaufgabe durch eine Folgevon Anweisungen Jede AWL-Anweisung enthaumllt eine Vorschrift was zu tun ist undeventuell einen Operand mit dem die Operation ausgefuumlhrt wird AWL ist gleicher-maszligen geeignet fuumlr binaumlre und digitale Verknuumlpfungen wie fuumlr die Programmierungkomplexer Steuerungsaufgaben (Bild 17)

Structured Control Language eignet sich besonders fuumlr die Programmierung vonkomplexen Algorithmen oder fuumlr Aufgabenstellungen aus dem Bereich der Datenver-waltung Das Programm besteht aus SCL-Anweisungen die beispielsweise Wertzuwei-sungen Vergleiche oder Kontrollanweisungen sein koumlnnen (Bild 18)

Mit GRAPH programmieren Sie eine Steuerungsaufgabe als Ablaufsteuerung in derdie sequenzielle Folge von Aktionen vorherrscht Die einzelnen Schritte und Verzwei-gungen werden durch Weiterschaltbedingungen freigegeben die mit KOP oder FUPprogrammiert werden koumlnnen (Bild 19)

114 Bearbeitung des Anwenderprogramms

Nach dem Einschalten der Versorgungsspannung pruumlft der Steuerungsprozessordie Konsistenz der Hardware und parametriert die Baugruppen Anschlieszligend wirdeinmalig ndash falls vorhanden ndash ein Anlaufprogramm bearbeitet Das Anlaufpro-

Bild 17 Beispiel fuumlr AWL-Anweisungen

Bild 18 Beispiel fuumlr SCL-Anweisungen

1 Einfuumlhrung

28

gramm gehoumlrt zum Anwenderprogramm das Sie programmieren Im Anlaufpro-gramm koumlnnen beispielsweise Baugruppen initialisiert werden

Das Anwenderprogramm ist in der Regel in einzelne Abschnitte ndash bdquoBausteineldquo ge-nannt ndash eingeteilt Die Organisationsbausteine (OB) sind die Schnittstelle zwischenBetriebssystem und Anwenderprogramm Das Betriebssystem ruft zu bestimmtenEreignissen einen Organisationsbaustein auf in dem dann das Anwenderpro-gramm bearbeitet wird (Bild 110)

Bild 19 Beispiel fuumlr eine GRAPH-Ablaufkette und eine Schrittprojektierung

Bild 110 Bearbeitung des Anwenderprogramms

Anlauf-programm

Alarm- undFehlerprogramm

Haupt-programm

Bearbeitung des Anwenderprogramms

Einschalten

Aktualisierung derEin- und Ausgaumlnge

Unterbrechung(Alarm oder Fehler)

BetriebszustandANLAUF

Betriebssystem Anwenderprogramm

BetriebszustandRUN

OB

OB

FBFC

FBFC

FBFC

FBFC

FBFC

FBFC

OB

Unterbrechung

11 Uumlbersicht Automatisierungssystem S7-300

29

Zur Strukturierung das Programms stehen Funktionsbausteine (FB) und Funktio-nen (FC) zur Verfuumlgung Funktionsbausteine haben einen Speicher in dem lokaleVariablen dauerhaft abgelegt sind Funktionen haben diesen Speicher nicht

Fuumlr den Aufruf (das Starten der Bearbeitung) von Funktionsbausteinen und Funk-tionen gibt es Programmanweisungen Jeder Bausteinaufruf kann mit Ein- undAusgaumlngen ndash bdquoBausteinparameterldquo genannt ndash versehen werden Beim Aufruf koumln-nen Variablen uumlbergeben werden mit denen das Programm im Baustein arbeitensoll Auf diese Weise kann ein Baustein mit einer gewissen Funktion (z B der Addi-tion von drei Variablen) mehrfach mit unterschiedlichen Parametersaumltzen (z B fuumlrunterschiedliche Berechnungen) aufgerufen werden (Bild 111)

Die Daten des Anwenderprogramms werden in Datenbausteinen (DB) abgelegtInstanz-Datenbausteine sind einem Aufruf eines Funktionsbausteins fest zugeord-net und bilden den Variablenspeicher des Funktionsbausteins Global-Datenbau-steine enthalten Daten die keinem Baustein zugeordnet sind

Nach einem Anlauf aktualisiert der Steuerungsprozessor die Ein- und Ausgangs-signale in den Prozessabbildern und ruft den Organisationsbaustein OB 1 auf Hiersteht das Hauptprogramm Auch im Hauptprogramm ist eine Strukturierung moumlg-lich und zu empfehlen Ist das Hauptprogramm bearbeitet wechselt der Steue-rungsprozessor zuruumlck ins Betriebssystem haumllt beispielsweise die Kommunikati-on mit dem Programmiergeraumlt aufrecht aktualisiert die Ein- und Ausgangssignaleund beginnt dann erneut mit der Bearbeitung des Hauptprogramms

Die zyklische Programmbearbeitung ist ein Merkmal speicherprogrammierbarerSteuerungen Das Anwenderprogramm wird auch dann bearbeitet wenn bdquovon au-szligenldquo keine Aktionen gefordert sind wenn also z B die gesteuerte Maschine stehtDies hat Vorteile bei der Programmierung Sie programmieren beispielsweise den

Bild 111 Beispiel fuumlr zwei Aufrufe eines Bausteins mit jeweils verschiedenen Variablen

Page 18: Berger Automatisieren mit SIMATIC S7-300 im TIA Portal · Automatisieren mit SIMATIC S7-300 im TIA Portal Projektieren, Programmieren und Testen mit STEP 7 Professional von Hans Berger

Inhaltsverzeichnis

18

1366 Datentypwandlung von Hexadezimalzahlen 5241367 Skalieren und Deskalieren 5251368 Sonstige Konvertierungsfunktionen 526

137 Schiebefunktionen 5271371 Allgemeine Funktionsbeschreibung 5271372 Allgemeine Ausfuumlhrung einer Schiebefunktion 5291373 Rechts schieben 5301374 Links schieben 5301375 Rechts rotieren 5311376 Links rotieren 5321377 Rotieren durch das Anzeigenbit A1 (AWL) 532

138 Logikfunktionen 5321381 Wortverknuumlpfungen 5331382 Invertieren 5351383 Bit codieren und Bitnummer setzen 5361384 Auswahl- und Begrenzerfunktionen 537

139 Funktionen fuumlr Zeichenketten 540

14 Programmfluss-Steuerung 544

141 Statusbits 5451411 Beschreibung der Statusbits 5451412 Steuern der Statusbits 5471413 Verknuumlpfungsergebnis setzen und ruumlcksetzen 5481414 Binaumlrergebnis steuern 5491415 Auswertung der Statusbits 552

142 Sprungfunktionen 5531421 Einfuumlhrung 5531422 Absoluter Sprung 5531423 Bedingte Sprungfunktionen 5551424 Von den Statusbits abhaumlngige Sprungfunktionen 556

143 Bausteinende-Funktionen 5591431 Bausteinende-Funktion RET (KOP und FUP) 5601432 Bausteinende-Funktionen BEB BEA und BE (AWL) 5601433 RETURN-Anweisung (SCL) 561

144 Aufruf von Codebausteinen 5611441 Allgemeines zu Bausteinaufrufen 5611442 Aufruf einer Funktion (FC) 5621443 Aufruf eines Funktionsbausteins (FB) 5641444 Wechsel zu einem Baustein ohne Bausteinparameter 566

145 Datenbausteinfunktionen 5681451 Datenbaustein aufschlagen 5691452 Zusaumltzliche Datenbausteinfunktionen bei AWL 5701453 Datenbaustein erzeugen loumlschen und testen 571

146 Master Control Relay 5741461 Einfuumlhrung 5741462 MCR-Abhaumlngigkeit 575

Inhaltsverzeichnis

19

1463 MCR-Bereich und MCR-Zone 5751464 MCR-Bereich und MCR-Zone bei einem Bausteinwechsel 5781465 Anweisungen fuumlr das Master Control Relay 578

15 Online-Betrieb und Programmtest 580

151 Programmiergeraumlt an die PLC-Station anschlieszligen 5811511 Einstellungen am Programmiergeraumlt 5811512 Das Programmiergeraumlt mit der PLC-Station verbinden 5821513 Den Online-Betrieb einschalten 583

152 Projektdaten uumlbertragen 5841521 Die Projektdaten erstmalig laden 5841522 Die Projektdaten nachladen 5871523 Schutz des Anwenderprogramms 5881524 Online-Projekt ohne Offline-Projekt bearbeiten 5891525 Mit der Micro Memory Card arbeiten 590

153 Mit Bausteinen im Online-Betrieb arbeiten 5901531 Einfuumlhrung 5901532 Die Online-Version eines Bausteins bearbeiten 5911533 Einen Baustein in die CPU-Baugruppe laden 5921534 Den Arbeitsspeicher komprimieren 5941535 Bausteine aus der CPU zuruumlckladen 5941536 Mit Einstellwerten arbeiten 5961537 Bausteine vergleichen 598

154 Hardware-Diagnose 6011541 Status-Anzeigen an den Baugruppen 6011542 Diagnose-Informationen 6021543 Diagnosepuffer 6021544 Diagnose-Funktionen 6041545 Online-Tools 6041546 Weitere Diagnose-Informationen uumlber das Programmiergeraumlt 605

155 Anwenderprogramm testen 6061551 Aufrufumgebung definieren 6061552 Testen mit Programmstatus 6071553 Testen im Einzelschrittmodus 6111554 PLC-Variablen beobachten 6141555 Datenvariablen beobachten 6141556 Testen mit Beobachtungstabellen 6151557 Beobachten und Steuern im Betriebszustand STOP 6201558 Testen mit der Force-Tabelle 622

16 Dezentrale Peripherie 626

161 Einfuumlhrung Uumlbersicht 626

162 Dezentrales Peripheriesystem ET 200 6271621 ET 200M 6271622 ET 200MP 6281623 ET 200S 628

Inhaltsverzeichnis

20

1624 ET 200SP 6291625 ET 200iSP 6301626 ET 200pro 6311627 ET 200eco 631

163 PROFINET IO 6321631 Komponenten von PROFINET IO 6321632 Adressen bei PROFINET IO 6351633 Spezielle PROFINET-Konfigurationen 6381634 PROFINET IO projektieren 6391635 Kopplungsbaugruppen fuumlr PROFINET IO 6431636 Echtzeit-Kommunikation bei PROFINET 644

164 PROFIBUS DP 6491641 Komponenten von PROFIBUS DP 6491642 Adressen bei PROFIBUS DP 6521643 PROFIBUS DP projektieren 6561644 Kopplungsbaugruppen fuumlr PROFIBUS DP 6591645 Sonderfunktionen fuumlr PROFIBUS DP 661

165 Taktsynchronitaumlt 6621651 Einfuumlhrung 6621652 Taktsynchronitaumlt bei PROFINET 6631653 Taktsynchronitaumlt bei PROFIBUS 666

166 Systembausteine fuumlr dezentrale Peripherie 6691661 Systembausteine fuumlr PROFIBUS DP 6691662 Systembausteine fuumlr PROFIBUS DP und PROFINET IO 6731663 Systembausteine fuumlr PROFINET IO 676

167 AktorSensor-Interface 6791671 Komponenten von AktorSensor-Interface 6791672 Adressen am AktorSensor-Interface 6811673 AktorSensor-Interface mit CP 343-2P projektieren 6811674 Systemfunktionen fuumlr AS-i 683

17 Kommunikation 684

171 Uumlbersicht 684

172 S7-Basiskommunikation 6851721 Grundlagen der stationsinternen S7-Basiskommunikation 6851722 Stationsinterne S7-Basiskommunikation projektieren 6861723 Systembausteine fuumlr stationsinterne S7-Basiskommunikation 6861724 Grundlagen der stationsexternen S7-Basiskommunikation 6881725 Stationsexterne S7-Basiskommunikation projektieren 6891726 Systembausteine fuumlr stationsexterne S7-Basiskommunikation 689

173 S7-Kommunikation 6921731 Grundlagen 6921732 S7-Kommunikation projektieren 6931733 Einseitiger Datenaustausch 6951734 Zweiseitiger Datenaustausch 6961735 Uumlberwachungsfunktionen 699

Inhaltsverzeichnis

21

174 Open User Communication 700

1741 Grundlagen 700

1742 Verbindungen auf- und abbauen 702

1743 Datenuumlbertragung mit TCP native oder ISO-on-TCP 704

1744 Datenuumlbertragung mit UDP 707

18 Anhang 710

181 Arbeiten mit Quelldateien 710

1811 Allgemeines Vorgehen 710

1812 Einen Codebaustein in der Quelldatei programmieren 712

1813 Einen Datenbaustein in der Quelldatei programmieren 715

1814 Einen PLC-Datentyp in der Quelldatei programmieren 719

182 Projekte migrieren 720

183 Simulation mit dem TIA Portal 724

1831 Unterschiede zu einer realen CPU-Baugruppe 724

1832 Simulation starten und speichern 725

1833 Die Simulation bedienen 726

1834 Programm mit der Simulation testen 728

1835 Weitere Funktionen von PLCSIM 730

184 Webserver 731

1841 Webserver aktivieren 731

1842 Web-Informationen auslesen 732

1843 Standard-Webseiten 733

185 Ablage von lokalen Variablen 736

1851 Ablage in Global-Datenbausteinen 736

1852 Ablage in Instanz-Datenbausteinen 737

1853 Ablage in den temporaumlren Lokaldaten 738

1854 Datenablage der Bausteinparameter einer Funktion (FC) 739

1855 Datenablage der Bausteinparameter eines Funktionsbausteins (FB) 742

1856 Datenablage einer Lokalinstanz in einer Multiinstanz 744

Stichwortverzeichnis 746

1 Einfuumlhrung

22

1 Einfuumlhrung

11 Uumlbersicht Automatisierungssystem S7-300

SIMATIC S7-300 ist das modulare Kleinsteuersystem fuumlr den unteren und mittlerenLeistungsbereich (Bild 11) Verschiedene Varianten der Controller passen die Leis-tungsfaumlhigkeit an den jeweiligen Einsatzfall an Je nach Bedarf kann das Automati-sierungsgeraumlt mit Ein-Ausgabebaugruppen fuumlr Digital- und Analogsignale in biszu vier Baugruppentraumlgern mit je acht Baugruppen modular erweitert werden

Eine zusaumltzliche Erweiterung mit Ein-Ausgabebaugruppen bietet die dezentralePeripherie uumlber PROFIBUS oder PROFINET Mit besonderen Bauformen fuumlr erhoumlhtemechanische Anforderungen ausgestattet koumlnnen diese Baugruppen vor Ort ander Maschine oder Anlage installiert werden Die Steuerungsgeraumlte SIMATIC S7-300werden mit STEP 7 konfiguriert projektiert und programmiert Der Datenaus-tausch zwischen den Steuerungsgeraumlten der dezentralen Peripherie und dem Pro-grammiergeraumlt geschieht mit SIMATIC NET

Bild 11 Bestandteile des Automatisierungssystems SIMATIC S7-300

SIMATIC Controller steuern dieMaschine oder Anlage

Die dezentrale Peripherie erweitert dieSchnittstelle zur Maschine oder Anlage

SIMATIC NET

SIMATIC DP STEP 7Professional V12

SIMATIC S7-300

Die Vernetzung ermoumlglicht denDatenaustausch und den zentralenOnline-Zugriff

Mehrere Varianten der Controllererweitern das Einsatzspektrum

STEP 7 ist die Engineeringsoftware zumKonfigurieren undProgrammieren

Projektieren

Automatisierungssystem SIMATIC S7-300

11 Uumlbersicht Automatisierungssystem S7-300

23

111 Automatisierungsgeraumlt SIMATIC S7-300

Die wesentlichen Bestandteile eines S7-300-Automatisierungsgeraumlts sind im Bild12 dargestellt

Die CPU-Baugruppe enthaumllt das Betriebssystem und das AnwenderprogrammDas Anwenderprogramm steht spannungsausfallsicher auf der in der CPU-Bau-gruppe steckenden Micro Memory Card (MMC) Die Bearbeitung des Anwenderpro-gramms findet im Arbeitsspeicher in der CPU statt Die auf der CPU-Baugruppe vor-handenen Busschnittstellen stellen die Verbindung zu anderen Automatisierungs-geraumlten her

Die Verbindung zur gesteuerten Anlage uumlbernehmen SM-Baugruppen Diese Ein-und Ausgabebaugruppen gibt es fuumlr Digital- und Analogsignale

Die FM-Baugruppen sind signalvorverarbeitende bdquointelligenteldquo Peripheriebau-gruppen die vom Prozess kommende Signale unabhaumlngig von der CPU aufberei-ten verarbeiten und entweder wieder direkt an den Prozess zuruumlckgeben oder ander internen Schnittstelle der CPU zur Verfuumlgung stellen FM-Baugruppen uumlber-nehmen Funktionen die die CPU meist nicht schnell genug ausfuumlhren kann wiez B Impulse zaumlhlen positionieren oder Antriebe regeln

Die CP-Baugruppen gestatten einen Datenverkehr der die Moumlglichkeiten derStandard-Schnittstellen bezuumlglich Protokolle und Kommunikationsfunktionenuumlberschreitet

Die IM-Baugruppen verbinden bei einer Erweiterung den Zentralbaugruppentrauml-ger mit bis zu drei Erweiterungsbaugruppentraumlgern

Eine Stromversorgungsbaugruppe sorgt schlieszliglich fuumlr die benoumltigte Spannungim Automatisierungsgeraumlt

Bild 12 Bestandteile einer S7-300-Steuerung

Erweiterungsbaugruppentraumlger

Zentralbaugruppentraumlger SM-Baugruppen(Signal Modules)

Auf den Baugruppen-traumlgern sind steckbar

FM-Baugruppen(Function Modules)

CP-Baugruppen(CommunicationProcessors)

IM-Baugruppe(Interface Module)

IM-Baugruppe(Interface Module)

CPU-Baugruppe(Central Processor Unit)

PS-Baugruppe(Power Supply)

Baugruppen-traumlger (Rack)

Bestandteile einer S7-300-Steuerung

S

1 Einfuumlhrung

24

112 Uumlbersicht STEP 7 Professional V12

STEP 7 ist das zentrale Automatisierungswerkzeug fuumlr SIMATIC STEP 7 benoumltigtzum Betrieb eine Autorisierung (Lizenz) und laumluft auf den jeweils aktuellen Be-triebssystemen unter Microsoft Windows Die Projektierung eines S7-300-Control-lers geschieht mit zwei Ansichten der Portalansicht und der Projektansicht

Die Portalansicht ist aufgabenorientiert angelegt

Im Startportal oumlffnen Sie ein bestehendes Projekt erstellen ein neues Projekt odermigrieren ein Projekt Ein bdquoProjektldquo ist eine Datenstruktur die alle erforderlichenProgramme und Daten fuumlr Ihr Automatisierungsvorhaben enthaumllt Von hier aussind die wichtigsten Werkzeuge und Funktionen von STEP 7 uumlber weitere Portale er-reichbar (Bild 13)

b Im Portal Geraumlte amp Netze konfigurieren Sie die Automatisierungsgeraumlte d h Sieplatzieren die Baugruppen in einem Baugruppentraumlger und parametrieren sie

b Im Portal PLC-Programmierung erstellen Sie das Anwenderprogramm in Formvon einzelnen Abschnitten die man bdquoBausteineldquo nennt

b Das Portal Visualisierung bietet die wichtigsten Werkzeuge fuumlr die Projektierungund Simulation von HMI-Systemen mit SIMATIC WinCC an

Bild 13 Werkzeuge im Startportal von STEP 7 Professional V12

11 Uumlbersicht Automatisierungssystem S7-300

25

b Mit dem Portal Motion amp Technology fuumlgen Sie ein Technologie-Objekt fuumlr PIDControl ein und bearbeiten es

b Mit dem Portal Online amp Diagnose schalten Sie das Programmiergeraumlt online aneine CPU-Baugruppe Sie koumlnnen die Betriebsarten der CPU steuern und das An-wenderprogramm uumlbertragen und testen

Die Projektansicht bietet eine objektorientierte Ansicht mit mehreren Fensternderen Inhalt je nach ausgefuumlhrter Taumltigkeit wechselt In der Geraumltekonfigurationsteht der Arbeitsbereich mit dem zu konfigurierenden Geraumlt im Mittelpunkt In derGeraumltesicht wird der Baugruppentraumlger mit den bereits platzierten Baugruppen ge-zeigt (Bild 14) Ein weiteres Fenster ndash das Inspektorfenster ndash enthaumllt die Eigen-schaften der selektierten Baugruppe das Aufgaben-Fenster (Task Card) gibt Unter-stuumltzung durch den Hardware-Katalog mit den zur Verfuumlgung stehenden Baugrup-pen Die Netzsicht gestattet die Vernetzung zwischen PLC- und HMI-Stationen

Bei der PLC-Programmierung bearbeiten Sie im Arbeitsbereich den ausgewaumlhltenBaustein Wiederum sehen Sie im Inspektorfenster die Eigenschaften des markier-ten Objekts und koumlnnen diese einstellen Das Aufgabenfenster enthaumllt diesmal denProgrammelemente-Katalog mit den zur Verfuumlgung stehenden Programmelemen-ten und Anweisungen Aumlhnliches gilt fuumlr die Bearbeitung der PLC-Variablen oderbeim Online-Programmtest durch Beobachtungstabellen

Bild 14 Beispiel fuumlr die Projektansicht Arbeitsbereich der Geraumltekonfiguration

1 Einfuumlhrung

26

Und stets haben Sie die Projektnavigation im Blickfeld Sie enthaumllt alle Objekte desSTEP-7-Projekts So koumlnnen Sie jederzeit ein Objekt beispielsweise einen Pro-grammbaustein oder eine Beobachtungstabelle auswaumlhlen und dieses Objekt mitden entsprechenden Editoren die beim Oumlffnen des Objekts automatisch startenbearbeiten

113 Fuumlnf Programmiersprachen

Als Programmiersprache fuumlr das Anwenderprogramm koumlnnen Sie zwischen Kon-taktplan (KOP) Funktionsplan (FUP) Anweisungsliste (AWL) Structured ControlLanguage (SCL) und Ablaufsteuerung (GRAPH) waumlhlen

Mit Kontaktplan programmieren Sie die Steuerungsaufgabe angelehnt an denStromlaufplan Die Verknuumlpfung der binaumlren Signalzustaumlnde wird durch die seriel-le oder parallele Anordnung von Kontakten und Spulen dargestellt (Bild 15) Kom-plexe Funktionen wie beispielsweise die arithmetischen Funktionen werden mitBoxen dargestellt die Sie wie Kontakte oder Spulen im Kontaktplan anordnen

Mit Funktionsplan programmieren Sie die Steuerungsaufgabe angelehnt an elektro-nische Schaltkreissysteme Binaumlre Verknuumlpfungen werden durch Verschaltung vonUND- und ODER-Funktionen realisiert und mit Speicher-Boxen abgeschlossen (Bild16) Komplexe Boxen uumlbernehmen die Verknuumlpfung digitaler Variablen beispiels-weise bei den arithmetischen Funktionen

Bild 15 Beispiel fuumlr die Darstellung in Kontaktplan

Bild 16 Beispiel fuumlr die Darstellung in Funktionsplan

11 Uumlbersicht Automatisierungssystem S7-300

27

Mit Anweisungsliste programmieren Sie die Steuerungsaufgabe durch eine Folgevon Anweisungen Jede AWL-Anweisung enthaumllt eine Vorschrift was zu tun ist undeventuell einen Operand mit dem die Operation ausgefuumlhrt wird AWL ist gleicher-maszligen geeignet fuumlr binaumlre und digitale Verknuumlpfungen wie fuumlr die Programmierungkomplexer Steuerungsaufgaben (Bild 17)

Structured Control Language eignet sich besonders fuumlr die Programmierung vonkomplexen Algorithmen oder fuumlr Aufgabenstellungen aus dem Bereich der Datenver-waltung Das Programm besteht aus SCL-Anweisungen die beispielsweise Wertzuwei-sungen Vergleiche oder Kontrollanweisungen sein koumlnnen (Bild 18)

Mit GRAPH programmieren Sie eine Steuerungsaufgabe als Ablaufsteuerung in derdie sequenzielle Folge von Aktionen vorherrscht Die einzelnen Schritte und Verzwei-gungen werden durch Weiterschaltbedingungen freigegeben die mit KOP oder FUPprogrammiert werden koumlnnen (Bild 19)

114 Bearbeitung des Anwenderprogramms

Nach dem Einschalten der Versorgungsspannung pruumlft der Steuerungsprozessordie Konsistenz der Hardware und parametriert die Baugruppen Anschlieszligend wirdeinmalig ndash falls vorhanden ndash ein Anlaufprogramm bearbeitet Das Anlaufpro-

Bild 17 Beispiel fuumlr AWL-Anweisungen

Bild 18 Beispiel fuumlr SCL-Anweisungen

1 Einfuumlhrung

28

gramm gehoumlrt zum Anwenderprogramm das Sie programmieren Im Anlaufpro-gramm koumlnnen beispielsweise Baugruppen initialisiert werden

Das Anwenderprogramm ist in der Regel in einzelne Abschnitte ndash bdquoBausteineldquo ge-nannt ndash eingeteilt Die Organisationsbausteine (OB) sind die Schnittstelle zwischenBetriebssystem und Anwenderprogramm Das Betriebssystem ruft zu bestimmtenEreignissen einen Organisationsbaustein auf in dem dann das Anwenderpro-gramm bearbeitet wird (Bild 110)

Bild 19 Beispiel fuumlr eine GRAPH-Ablaufkette und eine Schrittprojektierung

Bild 110 Bearbeitung des Anwenderprogramms

Anlauf-programm

Alarm- undFehlerprogramm

Haupt-programm

Bearbeitung des Anwenderprogramms

Einschalten

Aktualisierung derEin- und Ausgaumlnge

Unterbrechung(Alarm oder Fehler)

BetriebszustandANLAUF

Betriebssystem Anwenderprogramm

BetriebszustandRUN

OB

OB

FBFC

FBFC

FBFC

FBFC

FBFC

FBFC

OB

Unterbrechung

11 Uumlbersicht Automatisierungssystem S7-300

29

Zur Strukturierung das Programms stehen Funktionsbausteine (FB) und Funktio-nen (FC) zur Verfuumlgung Funktionsbausteine haben einen Speicher in dem lokaleVariablen dauerhaft abgelegt sind Funktionen haben diesen Speicher nicht

Fuumlr den Aufruf (das Starten der Bearbeitung) von Funktionsbausteinen und Funk-tionen gibt es Programmanweisungen Jeder Bausteinaufruf kann mit Ein- undAusgaumlngen ndash bdquoBausteinparameterldquo genannt ndash versehen werden Beim Aufruf koumln-nen Variablen uumlbergeben werden mit denen das Programm im Baustein arbeitensoll Auf diese Weise kann ein Baustein mit einer gewissen Funktion (z B der Addi-tion von drei Variablen) mehrfach mit unterschiedlichen Parametersaumltzen (z B fuumlrunterschiedliche Berechnungen) aufgerufen werden (Bild 111)

Die Daten des Anwenderprogramms werden in Datenbausteinen (DB) abgelegtInstanz-Datenbausteine sind einem Aufruf eines Funktionsbausteins fest zugeord-net und bilden den Variablenspeicher des Funktionsbausteins Global-Datenbau-steine enthalten Daten die keinem Baustein zugeordnet sind

Nach einem Anlauf aktualisiert der Steuerungsprozessor die Ein- und Ausgangs-signale in den Prozessabbildern und ruft den Organisationsbaustein OB 1 auf Hiersteht das Hauptprogramm Auch im Hauptprogramm ist eine Strukturierung moumlg-lich und zu empfehlen Ist das Hauptprogramm bearbeitet wechselt der Steue-rungsprozessor zuruumlck ins Betriebssystem haumllt beispielsweise die Kommunikati-on mit dem Programmiergeraumlt aufrecht aktualisiert die Ein- und Ausgangssignaleund beginnt dann erneut mit der Bearbeitung des Hauptprogramms

Die zyklische Programmbearbeitung ist ein Merkmal speicherprogrammierbarerSteuerungen Das Anwenderprogramm wird auch dann bearbeitet wenn bdquovon au-szligenldquo keine Aktionen gefordert sind wenn also z B die gesteuerte Maschine stehtDies hat Vorteile bei der Programmierung Sie programmieren beispielsweise den

Bild 111 Beispiel fuumlr zwei Aufrufe eines Bausteins mit jeweils verschiedenen Variablen

Page 19: Berger Automatisieren mit SIMATIC S7-300 im TIA Portal · Automatisieren mit SIMATIC S7-300 im TIA Portal Projektieren, Programmieren und Testen mit STEP 7 Professional von Hans Berger

Inhaltsverzeichnis

19

1463 MCR-Bereich und MCR-Zone 5751464 MCR-Bereich und MCR-Zone bei einem Bausteinwechsel 5781465 Anweisungen fuumlr das Master Control Relay 578

15 Online-Betrieb und Programmtest 580

151 Programmiergeraumlt an die PLC-Station anschlieszligen 5811511 Einstellungen am Programmiergeraumlt 5811512 Das Programmiergeraumlt mit der PLC-Station verbinden 5821513 Den Online-Betrieb einschalten 583

152 Projektdaten uumlbertragen 5841521 Die Projektdaten erstmalig laden 5841522 Die Projektdaten nachladen 5871523 Schutz des Anwenderprogramms 5881524 Online-Projekt ohne Offline-Projekt bearbeiten 5891525 Mit der Micro Memory Card arbeiten 590

153 Mit Bausteinen im Online-Betrieb arbeiten 5901531 Einfuumlhrung 5901532 Die Online-Version eines Bausteins bearbeiten 5911533 Einen Baustein in die CPU-Baugruppe laden 5921534 Den Arbeitsspeicher komprimieren 5941535 Bausteine aus der CPU zuruumlckladen 5941536 Mit Einstellwerten arbeiten 5961537 Bausteine vergleichen 598

154 Hardware-Diagnose 6011541 Status-Anzeigen an den Baugruppen 6011542 Diagnose-Informationen 6021543 Diagnosepuffer 6021544 Diagnose-Funktionen 6041545 Online-Tools 6041546 Weitere Diagnose-Informationen uumlber das Programmiergeraumlt 605

155 Anwenderprogramm testen 6061551 Aufrufumgebung definieren 6061552 Testen mit Programmstatus 6071553 Testen im Einzelschrittmodus 6111554 PLC-Variablen beobachten 6141555 Datenvariablen beobachten 6141556 Testen mit Beobachtungstabellen 6151557 Beobachten und Steuern im Betriebszustand STOP 6201558 Testen mit der Force-Tabelle 622

16 Dezentrale Peripherie 626

161 Einfuumlhrung Uumlbersicht 626

162 Dezentrales Peripheriesystem ET 200 6271621 ET 200M 6271622 ET 200MP 6281623 ET 200S 628

Inhaltsverzeichnis

20

1624 ET 200SP 6291625 ET 200iSP 6301626 ET 200pro 6311627 ET 200eco 631

163 PROFINET IO 6321631 Komponenten von PROFINET IO 6321632 Adressen bei PROFINET IO 6351633 Spezielle PROFINET-Konfigurationen 6381634 PROFINET IO projektieren 6391635 Kopplungsbaugruppen fuumlr PROFINET IO 6431636 Echtzeit-Kommunikation bei PROFINET 644

164 PROFIBUS DP 6491641 Komponenten von PROFIBUS DP 6491642 Adressen bei PROFIBUS DP 6521643 PROFIBUS DP projektieren 6561644 Kopplungsbaugruppen fuumlr PROFIBUS DP 6591645 Sonderfunktionen fuumlr PROFIBUS DP 661

165 Taktsynchronitaumlt 6621651 Einfuumlhrung 6621652 Taktsynchronitaumlt bei PROFINET 6631653 Taktsynchronitaumlt bei PROFIBUS 666

166 Systembausteine fuumlr dezentrale Peripherie 6691661 Systembausteine fuumlr PROFIBUS DP 6691662 Systembausteine fuumlr PROFIBUS DP und PROFINET IO 6731663 Systembausteine fuumlr PROFINET IO 676

167 AktorSensor-Interface 6791671 Komponenten von AktorSensor-Interface 6791672 Adressen am AktorSensor-Interface 6811673 AktorSensor-Interface mit CP 343-2P projektieren 6811674 Systemfunktionen fuumlr AS-i 683

17 Kommunikation 684

171 Uumlbersicht 684

172 S7-Basiskommunikation 6851721 Grundlagen der stationsinternen S7-Basiskommunikation 6851722 Stationsinterne S7-Basiskommunikation projektieren 6861723 Systembausteine fuumlr stationsinterne S7-Basiskommunikation 6861724 Grundlagen der stationsexternen S7-Basiskommunikation 6881725 Stationsexterne S7-Basiskommunikation projektieren 6891726 Systembausteine fuumlr stationsexterne S7-Basiskommunikation 689

173 S7-Kommunikation 6921731 Grundlagen 6921732 S7-Kommunikation projektieren 6931733 Einseitiger Datenaustausch 6951734 Zweiseitiger Datenaustausch 6961735 Uumlberwachungsfunktionen 699

Inhaltsverzeichnis

21

174 Open User Communication 700

1741 Grundlagen 700

1742 Verbindungen auf- und abbauen 702

1743 Datenuumlbertragung mit TCP native oder ISO-on-TCP 704

1744 Datenuumlbertragung mit UDP 707

18 Anhang 710

181 Arbeiten mit Quelldateien 710

1811 Allgemeines Vorgehen 710

1812 Einen Codebaustein in der Quelldatei programmieren 712

1813 Einen Datenbaustein in der Quelldatei programmieren 715

1814 Einen PLC-Datentyp in der Quelldatei programmieren 719

182 Projekte migrieren 720

183 Simulation mit dem TIA Portal 724

1831 Unterschiede zu einer realen CPU-Baugruppe 724

1832 Simulation starten und speichern 725

1833 Die Simulation bedienen 726

1834 Programm mit der Simulation testen 728

1835 Weitere Funktionen von PLCSIM 730

184 Webserver 731

1841 Webserver aktivieren 731

1842 Web-Informationen auslesen 732

1843 Standard-Webseiten 733

185 Ablage von lokalen Variablen 736

1851 Ablage in Global-Datenbausteinen 736

1852 Ablage in Instanz-Datenbausteinen 737

1853 Ablage in den temporaumlren Lokaldaten 738

1854 Datenablage der Bausteinparameter einer Funktion (FC) 739

1855 Datenablage der Bausteinparameter eines Funktionsbausteins (FB) 742

1856 Datenablage einer Lokalinstanz in einer Multiinstanz 744

Stichwortverzeichnis 746

1 Einfuumlhrung

22

1 Einfuumlhrung

11 Uumlbersicht Automatisierungssystem S7-300

SIMATIC S7-300 ist das modulare Kleinsteuersystem fuumlr den unteren und mittlerenLeistungsbereich (Bild 11) Verschiedene Varianten der Controller passen die Leis-tungsfaumlhigkeit an den jeweiligen Einsatzfall an Je nach Bedarf kann das Automati-sierungsgeraumlt mit Ein-Ausgabebaugruppen fuumlr Digital- und Analogsignale in biszu vier Baugruppentraumlgern mit je acht Baugruppen modular erweitert werden

Eine zusaumltzliche Erweiterung mit Ein-Ausgabebaugruppen bietet die dezentralePeripherie uumlber PROFIBUS oder PROFINET Mit besonderen Bauformen fuumlr erhoumlhtemechanische Anforderungen ausgestattet koumlnnen diese Baugruppen vor Ort ander Maschine oder Anlage installiert werden Die Steuerungsgeraumlte SIMATIC S7-300werden mit STEP 7 konfiguriert projektiert und programmiert Der Datenaus-tausch zwischen den Steuerungsgeraumlten der dezentralen Peripherie und dem Pro-grammiergeraumlt geschieht mit SIMATIC NET

Bild 11 Bestandteile des Automatisierungssystems SIMATIC S7-300

SIMATIC Controller steuern dieMaschine oder Anlage

Die dezentrale Peripherie erweitert dieSchnittstelle zur Maschine oder Anlage

SIMATIC NET

SIMATIC DP STEP 7Professional V12

SIMATIC S7-300

Die Vernetzung ermoumlglicht denDatenaustausch und den zentralenOnline-Zugriff

Mehrere Varianten der Controllererweitern das Einsatzspektrum

STEP 7 ist die Engineeringsoftware zumKonfigurieren undProgrammieren

Projektieren

Automatisierungssystem SIMATIC S7-300

11 Uumlbersicht Automatisierungssystem S7-300

23

111 Automatisierungsgeraumlt SIMATIC S7-300

Die wesentlichen Bestandteile eines S7-300-Automatisierungsgeraumlts sind im Bild12 dargestellt

Die CPU-Baugruppe enthaumllt das Betriebssystem und das AnwenderprogrammDas Anwenderprogramm steht spannungsausfallsicher auf der in der CPU-Bau-gruppe steckenden Micro Memory Card (MMC) Die Bearbeitung des Anwenderpro-gramms findet im Arbeitsspeicher in der CPU statt Die auf der CPU-Baugruppe vor-handenen Busschnittstellen stellen die Verbindung zu anderen Automatisierungs-geraumlten her

Die Verbindung zur gesteuerten Anlage uumlbernehmen SM-Baugruppen Diese Ein-und Ausgabebaugruppen gibt es fuumlr Digital- und Analogsignale

Die FM-Baugruppen sind signalvorverarbeitende bdquointelligenteldquo Peripheriebau-gruppen die vom Prozess kommende Signale unabhaumlngig von der CPU aufberei-ten verarbeiten und entweder wieder direkt an den Prozess zuruumlckgeben oder ander internen Schnittstelle der CPU zur Verfuumlgung stellen FM-Baugruppen uumlber-nehmen Funktionen die die CPU meist nicht schnell genug ausfuumlhren kann wiez B Impulse zaumlhlen positionieren oder Antriebe regeln

Die CP-Baugruppen gestatten einen Datenverkehr der die Moumlglichkeiten derStandard-Schnittstellen bezuumlglich Protokolle und Kommunikationsfunktionenuumlberschreitet

Die IM-Baugruppen verbinden bei einer Erweiterung den Zentralbaugruppentrauml-ger mit bis zu drei Erweiterungsbaugruppentraumlgern

Eine Stromversorgungsbaugruppe sorgt schlieszliglich fuumlr die benoumltigte Spannungim Automatisierungsgeraumlt

Bild 12 Bestandteile einer S7-300-Steuerung

Erweiterungsbaugruppentraumlger

Zentralbaugruppentraumlger SM-Baugruppen(Signal Modules)

Auf den Baugruppen-traumlgern sind steckbar

FM-Baugruppen(Function Modules)

CP-Baugruppen(CommunicationProcessors)

IM-Baugruppe(Interface Module)

IM-Baugruppe(Interface Module)

CPU-Baugruppe(Central Processor Unit)

PS-Baugruppe(Power Supply)

Baugruppen-traumlger (Rack)

Bestandteile einer S7-300-Steuerung

S

1 Einfuumlhrung

24

112 Uumlbersicht STEP 7 Professional V12

STEP 7 ist das zentrale Automatisierungswerkzeug fuumlr SIMATIC STEP 7 benoumltigtzum Betrieb eine Autorisierung (Lizenz) und laumluft auf den jeweils aktuellen Be-triebssystemen unter Microsoft Windows Die Projektierung eines S7-300-Control-lers geschieht mit zwei Ansichten der Portalansicht und der Projektansicht

Die Portalansicht ist aufgabenorientiert angelegt

Im Startportal oumlffnen Sie ein bestehendes Projekt erstellen ein neues Projekt odermigrieren ein Projekt Ein bdquoProjektldquo ist eine Datenstruktur die alle erforderlichenProgramme und Daten fuumlr Ihr Automatisierungsvorhaben enthaumllt Von hier aussind die wichtigsten Werkzeuge und Funktionen von STEP 7 uumlber weitere Portale er-reichbar (Bild 13)

b Im Portal Geraumlte amp Netze konfigurieren Sie die Automatisierungsgeraumlte d h Sieplatzieren die Baugruppen in einem Baugruppentraumlger und parametrieren sie

b Im Portal PLC-Programmierung erstellen Sie das Anwenderprogramm in Formvon einzelnen Abschnitten die man bdquoBausteineldquo nennt

b Das Portal Visualisierung bietet die wichtigsten Werkzeuge fuumlr die Projektierungund Simulation von HMI-Systemen mit SIMATIC WinCC an

Bild 13 Werkzeuge im Startportal von STEP 7 Professional V12

11 Uumlbersicht Automatisierungssystem S7-300

25

b Mit dem Portal Motion amp Technology fuumlgen Sie ein Technologie-Objekt fuumlr PIDControl ein und bearbeiten es

b Mit dem Portal Online amp Diagnose schalten Sie das Programmiergeraumlt online aneine CPU-Baugruppe Sie koumlnnen die Betriebsarten der CPU steuern und das An-wenderprogramm uumlbertragen und testen

Die Projektansicht bietet eine objektorientierte Ansicht mit mehreren Fensternderen Inhalt je nach ausgefuumlhrter Taumltigkeit wechselt In der Geraumltekonfigurationsteht der Arbeitsbereich mit dem zu konfigurierenden Geraumlt im Mittelpunkt In derGeraumltesicht wird der Baugruppentraumlger mit den bereits platzierten Baugruppen ge-zeigt (Bild 14) Ein weiteres Fenster ndash das Inspektorfenster ndash enthaumllt die Eigen-schaften der selektierten Baugruppe das Aufgaben-Fenster (Task Card) gibt Unter-stuumltzung durch den Hardware-Katalog mit den zur Verfuumlgung stehenden Baugrup-pen Die Netzsicht gestattet die Vernetzung zwischen PLC- und HMI-Stationen

Bei der PLC-Programmierung bearbeiten Sie im Arbeitsbereich den ausgewaumlhltenBaustein Wiederum sehen Sie im Inspektorfenster die Eigenschaften des markier-ten Objekts und koumlnnen diese einstellen Das Aufgabenfenster enthaumllt diesmal denProgrammelemente-Katalog mit den zur Verfuumlgung stehenden Programmelemen-ten und Anweisungen Aumlhnliches gilt fuumlr die Bearbeitung der PLC-Variablen oderbeim Online-Programmtest durch Beobachtungstabellen

Bild 14 Beispiel fuumlr die Projektansicht Arbeitsbereich der Geraumltekonfiguration

1 Einfuumlhrung

26

Und stets haben Sie die Projektnavigation im Blickfeld Sie enthaumllt alle Objekte desSTEP-7-Projekts So koumlnnen Sie jederzeit ein Objekt beispielsweise einen Pro-grammbaustein oder eine Beobachtungstabelle auswaumlhlen und dieses Objekt mitden entsprechenden Editoren die beim Oumlffnen des Objekts automatisch startenbearbeiten

113 Fuumlnf Programmiersprachen

Als Programmiersprache fuumlr das Anwenderprogramm koumlnnen Sie zwischen Kon-taktplan (KOP) Funktionsplan (FUP) Anweisungsliste (AWL) Structured ControlLanguage (SCL) und Ablaufsteuerung (GRAPH) waumlhlen

Mit Kontaktplan programmieren Sie die Steuerungsaufgabe angelehnt an denStromlaufplan Die Verknuumlpfung der binaumlren Signalzustaumlnde wird durch die seriel-le oder parallele Anordnung von Kontakten und Spulen dargestellt (Bild 15) Kom-plexe Funktionen wie beispielsweise die arithmetischen Funktionen werden mitBoxen dargestellt die Sie wie Kontakte oder Spulen im Kontaktplan anordnen

Mit Funktionsplan programmieren Sie die Steuerungsaufgabe angelehnt an elektro-nische Schaltkreissysteme Binaumlre Verknuumlpfungen werden durch Verschaltung vonUND- und ODER-Funktionen realisiert und mit Speicher-Boxen abgeschlossen (Bild16) Komplexe Boxen uumlbernehmen die Verknuumlpfung digitaler Variablen beispiels-weise bei den arithmetischen Funktionen

Bild 15 Beispiel fuumlr die Darstellung in Kontaktplan

Bild 16 Beispiel fuumlr die Darstellung in Funktionsplan

11 Uumlbersicht Automatisierungssystem S7-300

27

Mit Anweisungsliste programmieren Sie die Steuerungsaufgabe durch eine Folgevon Anweisungen Jede AWL-Anweisung enthaumllt eine Vorschrift was zu tun ist undeventuell einen Operand mit dem die Operation ausgefuumlhrt wird AWL ist gleicher-maszligen geeignet fuumlr binaumlre und digitale Verknuumlpfungen wie fuumlr die Programmierungkomplexer Steuerungsaufgaben (Bild 17)

Structured Control Language eignet sich besonders fuumlr die Programmierung vonkomplexen Algorithmen oder fuumlr Aufgabenstellungen aus dem Bereich der Datenver-waltung Das Programm besteht aus SCL-Anweisungen die beispielsweise Wertzuwei-sungen Vergleiche oder Kontrollanweisungen sein koumlnnen (Bild 18)

Mit GRAPH programmieren Sie eine Steuerungsaufgabe als Ablaufsteuerung in derdie sequenzielle Folge von Aktionen vorherrscht Die einzelnen Schritte und Verzwei-gungen werden durch Weiterschaltbedingungen freigegeben die mit KOP oder FUPprogrammiert werden koumlnnen (Bild 19)

114 Bearbeitung des Anwenderprogramms

Nach dem Einschalten der Versorgungsspannung pruumlft der Steuerungsprozessordie Konsistenz der Hardware und parametriert die Baugruppen Anschlieszligend wirdeinmalig ndash falls vorhanden ndash ein Anlaufprogramm bearbeitet Das Anlaufpro-

Bild 17 Beispiel fuumlr AWL-Anweisungen

Bild 18 Beispiel fuumlr SCL-Anweisungen

1 Einfuumlhrung

28

gramm gehoumlrt zum Anwenderprogramm das Sie programmieren Im Anlaufpro-gramm koumlnnen beispielsweise Baugruppen initialisiert werden

Das Anwenderprogramm ist in der Regel in einzelne Abschnitte ndash bdquoBausteineldquo ge-nannt ndash eingeteilt Die Organisationsbausteine (OB) sind die Schnittstelle zwischenBetriebssystem und Anwenderprogramm Das Betriebssystem ruft zu bestimmtenEreignissen einen Organisationsbaustein auf in dem dann das Anwenderpro-gramm bearbeitet wird (Bild 110)

Bild 19 Beispiel fuumlr eine GRAPH-Ablaufkette und eine Schrittprojektierung

Bild 110 Bearbeitung des Anwenderprogramms

Anlauf-programm

Alarm- undFehlerprogramm

Haupt-programm

Bearbeitung des Anwenderprogramms

Einschalten

Aktualisierung derEin- und Ausgaumlnge

Unterbrechung(Alarm oder Fehler)

BetriebszustandANLAUF

Betriebssystem Anwenderprogramm

BetriebszustandRUN

OB

OB

FBFC

FBFC

FBFC

FBFC

FBFC

FBFC

OB

Unterbrechung

11 Uumlbersicht Automatisierungssystem S7-300

29

Zur Strukturierung das Programms stehen Funktionsbausteine (FB) und Funktio-nen (FC) zur Verfuumlgung Funktionsbausteine haben einen Speicher in dem lokaleVariablen dauerhaft abgelegt sind Funktionen haben diesen Speicher nicht

Fuumlr den Aufruf (das Starten der Bearbeitung) von Funktionsbausteinen und Funk-tionen gibt es Programmanweisungen Jeder Bausteinaufruf kann mit Ein- undAusgaumlngen ndash bdquoBausteinparameterldquo genannt ndash versehen werden Beim Aufruf koumln-nen Variablen uumlbergeben werden mit denen das Programm im Baustein arbeitensoll Auf diese Weise kann ein Baustein mit einer gewissen Funktion (z B der Addi-tion von drei Variablen) mehrfach mit unterschiedlichen Parametersaumltzen (z B fuumlrunterschiedliche Berechnungen) aufgerufen werden (Bild 111)

Die Daten des Anwenderprogramms werden in Datenbausteinen (DB) abgelegtInstanz-Datenbausteine sind einem Aufruf eines Funktionsbausteins fest zugeord-net und bilden den Variablenspeicher des Funktionsbausteins Global-Datenbau-steine enthalten Daten die keinem Baustein zugeordnet sind

Nach einem Anlauf aktualisiert der Steuerungsprozessor die Ein- und Ausgangs-signale in den Prozessabbildern und ruft den Organisationsbaustein OB 1 auf Hiersteht das Hauptprogramm Auch im Hauptprogramm ist eine Strukturierung moumlg-lich und zu empfehlen Ist das Hauptprogramm bearbeitet wechselt der Steue-rungsprozessor zuruumlck ins Betriebssystem haumllt beispielsweise die Kommunikati-on mit dem Programmiergeraumlt aufrecht aktualisiert die Ein- und Ausgangssignaleund beginnt dann erneut mit der Bearbeitung des Hauptprogramms

Die zyklische Programmbearbeitung ist ein Merkmal speicherprogrammierbarerSteuerungen Das Anwenderprogramm wird auch dann bearbeitet wenn bdquovon au-szligenldquo keine Aktionen gefordert sind wenn also z B die gesteuerte Maschine stehtDies hat Vorteile bei der Programmierung Sie programmieren beispielsweise den

Bild 111 Beispiel fuumlr zwei Aufrufe eines Bausteins mit jeweils verschiedenen Variablen

Page 20: Berger Automatisieren mit SIMATIC S7-300 im TIA Portal · Automatisieren mit SIMATIC S7-300 im TIA Portal Projektieren, Programmieren und Testen mit STEP 7 Professional von Hans Berger

Inhaltsverzeichnis

20

1624 ET 200SP 6291625 ET 200iSP 6301626 ET 200pro 6311627 ET 200eco 631

163 PROFINET IO 6321631 Komponenten von PROFINET IO 6321632 Adressen bei PROFINET IO 6351633 Spezielle PROFINET-Konfigurationen 6381634 PROFINET IO projektieren 6391635 Kopplungsbaugruppen fuumlr PROFINET IO 6431636 Echtzeit-Kommunikation bei PROFINET 644

164 PROFIBUS DP 6491641 Komponenten von PROFIBUS DP 6491642 Adressen bei PROFIBUS DP 6521643 PROFIBUS DP projektieren 6561644 Kopplungsbaugruppen fuumlr PROFIBUS DP 6591645 Sonderfunktionen fuumlr PROFIBUS DP 661

165 Taktsynchronitaumlt 6621651 Einfuumlhrung 6621652 Taktsynchronitaumlt bei PROFINET 6631653 Taktsynchronitaumlt bei PROFIBUS 666

166 Systembausteine fuumlr dezentrale Peripherie 6691661 Systembausteine fuumlr PROFIBUS DP 6691662 Systembausteine fuumlr PROFIBUS DP und PROFINET IO 6731663 Systembausteine fuumlr PROFINET IO 676

167 AktorSensor-Interface 6791671 Komponenten von AktorSensor-Interface 6791672 Adressen am AktorSensor-Interface 6811673 AktorSensor-Interface mit CP 343-2P projektieren 6811674 Systemfunktionen fuumlr AS-i 683

17 Kommunikation 684

171 Uumlbersicht 684

172 S7-Basiskommunikation 6851721 Grundlagen der stationsinternen S7-Basiskommunikation 6851722 Stationsinterne S7-Basiskommunikation projektieren 6861723 Systembausteine fuumlr stationsinterne S7-Basiskommunikation 6861724 Grundlagen der stationsexternen S7-Basiskommunikation 6881725 Stationsexterne S7-Basiskommunikation projektieren 6891726 Systembausteine fuumlr stationsexterne S7-Basiskommunikation 689

173 S7-Kommunikation 6921731 Grundlagen 6921732 S7-Kommunikation projektieren 6931733 Einseitiger Datenaustausch 6951734 Zweiseitiger Datenaustausch 6961735 Uumlberwachungsfunktionen 699

Inhaltsverzeichnis

21

174 Open User Communication 700

1741 Grundlagen 700

1742 Verbindungen auf- und abbauen 702

1743 Datenuumlbertragung mit TCP native oder ISO-on-TCP 704

1744 Datenuumlbertragung mit UDP 707

18 Anhang 710

181 Arbeiten mit Quelldateien 710

1811 Allgemeines Vorgehen 710

1812 Einen Codebaustein in der Quelldatei programmieren 712

1813 Einen Datenbaustein in der Quelldatei programmieren 715

1814 Einen PLC-Datentyp in der Quelldatei programmieren 719

182 Projekte migrieren 720

183 Simulation mit dem TIA Portal 724

1831 Unterschiede zu einer realen CPU-Baugruppe 724

1832 Simulation starten und speichern 725

1833 Die Simulation bedienen 726

1834 Programm mit der Simulation testen 728

1835 Weitere Funktionen von PLCSIM 730

184 Webserver 731

1841 Webserver aktivieren 731

1842 Web-Informationen auslesen 732

1843 Standard-Webseiten 733

185 Ablage von lokalen Variablen 736

1851 Ablage in Global-Datenbausteinen 736

1852 Ablage in Instanz-Datenbausteinen 737

1853 Ablage in den temporaumlren Lokaldaten 738

1854 Datenablage der Bausteinparameter einer Funktion (FC) 739

1855 Datenablage der Bausteinparameter eines Funktionsbausteins (FB) 742

1856 Datenablage einer Lokalinstanz in einer Multiinstanz 744

Stichwortverzeichnis 746

1 Einfuumlhrung

22

1 Einfuumlhrung

11 Uumlbersicht Automatisierungssystem S7-300

SIMATIC S7-300 ist das modulare Kleinsteuersystem fuumlr den unteren und mittlerenLeistungsbereich (Bild 11) Verschiedene Varianten der Controller passen die Leis-tungsfaumlhigkeit an den jeweiligen Einsatzfall an Je nach Bedarf kann das Automati-sierungsgeraumlt mit Ein-Ausgabebaugruppen fuumlr Digital- und Analogsignale in biszu vier Baugruppentraumlgern mit je acht Baugruppen modular erweitert werden

Eine zusaumltzliche Erweiterung mit Ein-Ausgabebaugruppen bietet die dezentralePeripherie uumlber PROFIBUS oder PROFINET Mit besonderen Bauformen fuumlr erhoumlhtemechanische Anforderungen ausgestattet koumlnnen diese Baugruppen vor Ort ander Maschine oder Anlage installiert werden Die Steuerungsgeraumlte SIMATIC S7-300werden mit STEP 7 konfiguriert projektiert und programmiert Der Datenaus-tausch zwischen den Steuerungsgeraumlten der dezentralen Peripherie und dem Pro-grammiergeraumlt geschieht mit SIMATIC NET

Bild 11 Bestandteile des Automatisierungssystems SIMATIC S7-300

SIMATIC Controller steuern dieMaschine oder Anlage

Die dezentrale Peripherie erweitert dieSchnittstelle zur Maschine oder Anlage

SIMATIC NET

SIMATIC DP STEP 7Professional V12

SIMATIC S7-300

Die Vernetzung ermoumlglicht denDatenaustausch und den zentralenOnline-Zugriff

Mehrere Varianten der Controllererweitern das Einsatzspektrum

STEP 7 ist die Engineeringsoftware zumKonfigurieren undProgrammieren

Projektieren

Automatisierungssystem SIMATIC S7-300

11 Uumlbersicht Automatisierungssystem S7-300

23

111 Automatisierungsgeraumlt SIMATIC S7-300

Die wesentlichen Bestandteile eines S7-300-Automatisierungsgeraumlts sind im Bild12 dargestellt

Die CPU-Baugruppe enthaumllt das Betriebssystem und das AnwenderprogrammDas Anwenderprogramm steht spannungsausfallsicher auf der in der CPU-Bau-gruppe steckenden Micro Memory Card (MMC) Die Bearbeitung des Anwenderpro-gramms findet im Arbeitsspeicher in der CPU statt Die auf der CPU-Baugruppe vor-handenen Busschnittstellen stellen die Verbindung zu anderen Automatisierungs-geraumlten her

Die Verbindung zur gesteuerten Anlage uumlbernehmen SM-Baugruppen Diese Ein-und Ausgabebaugruppen gibt es fuumlr Digital- und Analogsignale

Die FM-Baugruppen sind signalvorverarbeitende bdquointelligenteldquo Peripheriebau-gruppen die vom Prozess kommende Signale unabhaumlngig von der CPU aufberei-ten verarbeiten und entweder wieder direkt an den Prozess zuruumlckgeben oder ander internen Schnittstelle der CPU zur Verfuumlgung stellen FM-Baugruppen uumlber-nehmen Funktionen die die CPU meist nicht schnell genug ausfuumlhren kann wiez B Impulse zaumlhlen positionieren oder Antriebe regeln

Die CP-Baugruppen gestatten einen Datenverkehr der die Moumlglichkeiten derStandard-Schnittstellen bezuumlglich Protokolle und Kommunikationsfunktionenuumlberschreitet

Die IM-Baugruppen verbinden bei einer Erweiterung den Zentralbaugruppentrauml-ger mit bis zu drei Erweiterungsbaugruppentraumlgern

Eine Stromversorgungsbaugruppe sorgt schlieszliglich fuumlr die benoumltigte Spannungim Automatisierungsgeraumlt

Bild 12 Bestandteile einer S7-300-Steuerung

Erweiterungsbaugruppentraumlger

Zentralbaugruppentraumlger SM-Baugruppen(Signal Modules)

Auf den Baugruppen-traumlgern sind steckbar

FM-Baugruppen(Function Modules)

CP-Baugruppen(CommunicationProcessors)

IM-Baugruppe(Interface Module)

IM-Baugruppe(Interface Module)

CPU-Baugruppe(Central Processor Unit)

PS-Baugruppe(Power Supply)

Baugruppen-traumlger (Rack)

Bestandteile einer S7-300-Steuerung

S

1 Einfuumlhrung

24

112 Uumlbersicht STEP 7 Professional V12

STEP 7 ist das zentrale Automatisierungswerkzeug fuumlr SIMATIC STEP 7 benoumltigtzum Betrieb eine Autorisierung (Lizenz) und laumluft auf den jeweils aktuellen Be-triebssystemen unter Microsoft Windows Die Projektierung eines S7-300-Control-lers geschieht mit zwei Ansichten der Portalansicht und der Projektansicht

Die Portalansicht ist aufgabenorientiert angelegt

Im Startportal oumlffnen Sie ein bestehendes Projekt erstellen ein neues Projekt odermigrieren ein Projekt Ein bdquoProjektldquo ist eine Datenstruktur die alle erforderlichenProgramme und Daten fuumlr Ihr Automatisierungsvorhaben enthaumllt Von hier aussind die wichtigsten Werkzeuge und Funktionen von STEP 7 uumlber weitere Portale er-reichbar (Bild 13)

b Im Portal Geraumlte amp Netze konfigurieren Sie die Automatisierungsgeraumlte d h Sieplatzieren die Baugruppen in einem Baugruppentraumlger und parametrieren sie

b Im Portal PLC-Programmierung erstellen Sie das Anwenderprogramm in Formvon einzelnen Abschnitten die man bdquoBausteineldquo nennt

b Das Portal Visualisierung bietet die wichtigsten Werkzeuge fuumlr die Projektierungund Simulation von HMI-Systemen mit SIMATIC WinCC an

Bild 13 Werkzeuge im Startportal von STEP 7 Professional V12

11 Uumlbersicht Automatisierungssystem S7-300

25

b Mit dem Portal Motion amp Technology fuumlgen Sie ein Technologie-Objekt fuumlr PIDControl ein und bearbeiten es

b Mit dem Portal Online amp Diagnose schalten Sie das Programmiergeraumlt online aneine CPU-Baugruppe Sie koumlnnen die Betriebsarten der CPU steuern und das An-wenderprogramm uumlbertragen und testen

Die Projektansicht bietet eine objektorientierte Ansicht mit mehreren Fensternderen Inhalt je nach ausgefuumlhrter Taumltigkeit wechselt In der Geraumltekonfigurationsteht der Arbeitsbereich mit dem zu konfigurierenden Geraumlt im Mittelpunkt In derGeraumltesicht wird der Baugruppentraumlger mit den bereits platzierten Baugruppen ge-zeigt (Bild 14) Ein weiteres Fenster ndash das Inspektorfenster ndash enthaumllt die Eigen-schaften der selektierten Baugruppe das Aufgaben-Fenster (Task Card) gibt Unter-stuumltzung durch den Hardware-Katalog mit den zur Verfuumlgung stehenden Baugrup-pen Die Netzsicht gestattet die Vernetzung zwischen PLC- und HMI-Stationen

Bei der PLC-Programmierung bearbeiten Sie im Arbeitsbereich den ausgewaumlhltenBaustein Wiederum sehen Sie im Inspektorfenster die Eigenschaften des markier-ten Objekts und koumlnnen diese einstellen Das Aufgabenfenster enthaumllt diesmal denProgrammelemente-Katalog mit den zur Verfuumlgung stehenden Programmelemen-ten und Anweisungen Aumlhnliches gilt fuumlr die Bearbeitung der PLC-Variablen oderbeim Online-Programmtest durch Beobachtungstabellen

Bild 14 Beispiel fuumlr die Projektansicht Arbeitsbereich der Geraumltekonfiguration

1 Einfuumlhrung

26

Und stets haben Sie die Projektnavigation im Blickfeld Sie enthaumllt alle Objekte desSTEP-7-Projekts So koumlnnen Sie jederzeit ein Objekt beispielsweise einen Pro-grammbaustein oder eine Beobachtungstabelle auswaumlhlen und dieses Objekt mitden entsprechenden Editoren die beim Oumlffnen des Objekts automatisch startenbearbeiten

113 Fuumlnf Programmiersprachen

Als Programmiersprache fuumlr das Anwenderprogramm koumlnnen Sie zwischen Kon-taktplan (KOP) Funktionsplan (FUP) Anweisungsliste (AWL) Structured ControlLanguage (SCL) und Ablaufsteuerung (GRAPH) waumlhlen

Mit Kontaktplan programmieren Sie die Steuerungsaufgabe angelehnt an denStromlaufplan Die Verknuumlpfung der binaumlren Signalzustaumlnde wird durch die seriel-le oder parallele Anordnung von Kontakten und Spulen dargestellt (Bild 15) Kom-plexe Funktionen wie beispielsweise die arithmetischen Funktionen werden mitBoxen dargestellt die Sie wie Kontakte oder Spulen im Kontaktplan anordnen

Mit Funktionsplan programmieren Sie die Steuerungsaufgabe angelehnt an elektro-nische Schaltkreissysteme Binaumlre Verknuumlpfungen werden durch Verschaltung vonUND- und ODER-Funktionen realisiert und mit Speicher-Boxen abgeschlossen (Bild16) Komplexe Boxen uumlbernehmen die Verknuumlpfung digitaler Variablen beispiels-weise bei den arithmetischen Funktionen

Bild 15 Beispiel fuumlr die Darstellung in Kontaktplan

Bild 16 Beispiel fuumlr die Darstellung in Funktionsplan

11 Uumlbersicht Automatisierungssystem S7-300

27

Mit Anweisungsliste programmieren Sie die Steuerungsaufgabe durch eine Folgevon Anweisungen Jede AWL-Anweisung enthaumllt eine Vorschrift was zu tun ist undeventuell einen Operand mit dem die Operation ausgefuumlhrt wird AWL ist gleicher-maszligen geeignet fuumlr binaumlre und digitale Verknuumlpfungen wie fuumlr die Programmierungkomplexer Steuerungsaufgaben (Bild 17)

Structured Control Language eignet sich besonders fuumlr die Programmierung vonkomplexen Algorithmen oder fuumlr Aufgabenstellungen aus dem Bereich der Datenver-waltung Das Programm besteht aus SCL-Anweisungen die beispielsweise Wertzuwei-sungen Vergleiche oder Kontrollanweisungen sein koumlnnen (Bild 18)

Mit GRAPH programmieren Sie eine Steuerungsaufgabe als Ablaufsteuerung in derdie sequenzielle Folge von Aktionen vorherrscht Die einzelnen Schritte und Verzwei-gungen werden durch Weiterschaltbedingungen freigegeben die mit KOP oder FUPprogrammiert werden koumlnnen (Bild 19)

114 Bearbeitung des Anwenderprogramms

Nach dem Einschalten der Versorgungsspannung pruumlft der Steuerungsprozessordie Konsistenz der Hardware und parametriert die Baugruppen Anschlieszligend wirdeinmalig ndash falls vorhanden ndash ein Anlaufprogramm bearbeitet Das Anlaufpro-

Bild 17 Beispiel fuumlr AWL-Anweisungen

Bild 18 Beispiel fuumlr SCL-Anweisungen

1 Einfuumlhrung

28

gramm gehoumlrt zum Anwenderprogramm das Sie programmieren Im Anlaufpro-gramm koumlnnen beispielsweise Baugruppen initialisiert werden

Das Anwenderprogramm ist in der Regel in einzelne Abschnitte ndash bdquoBausteineldquo ge-nannt ndash eingeteilt Die Organisationsbausteine (OB) sind die Schnittstelle zwischenBetriebssystem und Anwenderprogramm Das Betriebssystem ruft zu bestimmtenEreignissen einen Organisationsbaustein auf in dem dann das Anwenderpro-gramm bearbeitet wird (Bild 110)

Bild 19 Beispiel fuumlr eine GRAPH-Ablaufkette und eine Schrittprojektierung

Bild 110 Bearbeitung des Anwenderprogramms

Anlauf-programm

Alarm- undFehlerprogramm

Haupt-programm

Bearbeitung des Anwenderprogramms

Einschalten

Aktualisierung derEin- und Ausgaumlnge

Unterbrechung(Alarm oder Fehler)

BetriebszustandANLAUF

Betriebssystem Anwenderprogramm

BetriebszustandRUN

OB

OB

FBFC

FBFC

FBFC

FBFC

FBFC

FBFC

OB

Unterbrechung

11 Uumlbersicht Automatisierungssystem S7-300

29

Zur Strukturierung das Programms stehen Funktionsbausteine (FB) und Funktio-nen (FC) zur Verfuumlgung Funktionsbausteine haben einen Speicher in dem lokaleVariablen dauerhaft abgelegt sind Funktionen haben diesen Speicher nicht

Fuumlr den Aufruf (das Starten der Bearbeitung) von Funktionsbausteinen und Funk-tionen gibt es Programmanweisungen Jeder Bausteinaufruf kann mit Ein- undAusgaumlngen ndash bdquoBausteinparameterldquo genannt ndash versehen werden Beim Aufruf koumln-nen Variablen uumlbergeben werden mit denen das Programm im Baustein arbeitensoll Auf diese Weise kann ein Baustein mit einer gewissen Funktion (z B der Addi-tion von drei Variablen) mehrfach mit unterschiedlichen Parametersaumltzen (z B fuumlrunterschiedliche Berechnungen) aufgerufen werden (Bild 111)

Die Daten des Anwenderprogramms werden in Datenbausteinen (DB) abgelegtInstanz-Datenbausteine sind einem Aufruf eines Funktionsbausteins fest zugeord-net und bilden den Variablenspeicher des Funktionsbausteins Global-Datenbau-steine enthalten Daten die keinem Baustein zugeordnet sind

Nach einem Anlauf aktualisiert der Steuerungsprozessor die Ein- und Ausgangs-signale in den Prozessabbildern und ruft den Organisationsbaustein OB 1 auf Hiersteht das Hauptprogramm Auch im Hauptprogramm ist eine Strukturierung moumlg-lich und zu empfehlen Ist das Hauptprogramm bearbeitet wechselt der Steue-rungsprozessor zuruumlck ins Betriebssystem haumllt beispielsweise die Kommunikati-on mit dem Programmiergeraumlt aufrecht aktualisiert die Ein- und Ausgangssignaleund beginnt dann erneut mit der Bearbeitung des Hauptprogramms

Die zyklische Programmbearbeitung ist ein Merkmal speicherprogrammierbarerSteuerungen Das Anwenderprogramm wird auch dann bearbeitet wenn bdquovon au-szligenldquo keine Aktionen gefordert sind wenn also z B die gesteuerte Maschine stehtDies hat Vorteile bei der Programmierung Sie programmieren beispielsweise den

Bild 111 Beispiel fuumlr zwei Aufrufe eines Bausteins mit jeweils verschiedenen Variablen

Page 21: Berger Automatisieren mit SIMATIC S7-300 im TIA Portal · Automatisieren mit SIMATIC S7-300 im TIA Portal Projektieren, Programmieren und Testen mit STEP 7 Professional von Hans Berger

Inhaltsverzeichnis

21

174 Open User Communication 700

1741 Grundlagen 700

1742 Verbindungen auf- und abbauen 702

1743 Datenuumlbertragung mit TCP native oder ISO-on-TCP 704

1744 Datenuumlbertragung mit UDP 707

18 Anhang 710

181 Arbeiten mit Quelldateien 710

1811 Allgemeines Vorgehen 710

1812 Einen Codebaustein in der Quelldatei programmieren 712

1813 Einen Datenbaustein in der Quelldatei programmieren 715

1814 Einen PLC-Datentyp in der Quelldatei programmieren 719

182 Projekte migrieren 720

183 Simulation mit dem TIA Portal 724

1831 Unterschiede zu einer realen CPU-Baugruppe 724

1832 Simulation starten und speichern 725

1833 Die Simulation bedienen 726

1834 Programm mit der Simulation testen 728

1835 Weitere Funktionen von PLCSIM 730

184 Webserver 731

1841 Webserver aktivieren 731

1842 Web-Informationen auslesen 732

1843 Standard-Webseiten 733

185 Ablage von lokalen Variablen 736

1851 Ablage in Global-Datenbausteinen 736

1852 Ablage in Instanz-Datenbausteinen 737

1853 Ablage in den temporaumlren Lokaldaten 738

1854 Datenablage der Bausteinparameter einer Funktion (FC) 739

1855 Datenablage der Bausteinparameter eines Funktionsbausteins (FB) 742

1856 Datenablage einer Lokalinstanz in einer Multiinstanz 744

Stichwortverzeichnis 746

1 Einfuumlhrung

22

1 Einfuumlhrung

11 Uumlbersicht Automatisierungssystem S7-300

SIMATIC S7-300 ist das modulare Kleinsteuersystem fuumlr den unteren und mittlerenLeistungsbereich (Bild 11) Verschiedene Varianten der Controller passen die Leis-tungsfaumlhigkeit an den jeweiligen Einsatzfall an Je nach Bedarf kann das Automati-sierungsgeraumlt mit Ein-Ausgabebaugruppen fuumlr Digital- und Analogsignale in biszu vier Baugruppentraumlgern mit je acht Baugruppen modular erweitert werden

Eine zusaumltzliche Erweiterung mit Ein-Ausgabebaugruppen bietet die dezentralePeripherie uumlber PROFIBUS oder PROFINET Mit besonderen Bauformen fuumlr erhoumlhtemechanische Anforderungen ausgestattet koumlnnen diese Baugruppen vor Ort ander Maschine oder Anlage installiert werden Die Steuerungsgeraumlte SIMATIC S7-300werden mit STEP 7 konfiguriert projektiert und programmiert Der Datenaus-tausch zwischen den Steuerungsgeraumlten der dezentralen Peripherie und dem Pro-grammiergeraumlt geschieht mit SIMATIC NET

Bild 11 Bestandteile des Automatisierungssystems SIMATIC S7-300

SIMATIC Controller steuern dieMaschine oder Anlage

Die dezentrale Peripherie erweitert dieSchnittstelle zur Maschine oder Anlage

SIMATIC NET

SIMATIC DP STEP 7Professional V12

SIMATIC S7-300

Die Vernetzung ermoumlglicht denDatenaustausch und den zentralenOnline-Zugriff

Mehrere Varianten der Controllererweitern das Einsatzspektrum

STEP 7 ist die Engineeringsoftware zumKonfigurieren undProgrammieren

Projektieren

Automatisierungssystem SIMATIC S7-300

11 Uumlbersicht Automatisierungssystem S7-300

23

111 Automatisierungsgeraumlt SIMATIC S7-300

Die wesentlichen Bestandteile eines S7-300-Automatisierungsgeraumlts sind im Bild12 dargestellt

Die CPU-Baugruppe enthaumllt das Betriebssystem und das AnwenderprogrammDas Anwenderprogramm steht spannungsausfallsicher auf der in der CPU-Bau-gruppe steckenden Micro Memory Card (MMC) Die Bearbeitung des Anwenderpro-gramms findet im Arbeitsspeicher in der CPU statt Die auf der CPU-Baugruppe vor-handenen Busschnittstellen stellen die Verbindung zu anderen Automatisierungs-geraumlten her

Die Verbindung zur gesteuerten Anlage uumlbernehmen SM-Baugruppen Diese Ein-und Ausgabebaugruppen gibt es fuumlr Digital- und Analogsignale

Die FM-Baugruppen sind signalvorverarbeitende bdquointelligenteldquo Peripheriebau-gruppen die vom Prozess kommende Signale unabhaumlngig von der CPU aufberei-ten verarbeiten und entweder wieder direkt an den Prozess zuruumlckgeben oder ander internen Schnittstelle der CPU zur Verfuumlgung stellen FM-Baugruppen uumlber-nehmen Funktionen die die CPU meist nicht schnell genug ausfuumlhren kann wiez B Impulse zaumlhlen positionieren oder Antriebe regeln

Die CP-Baugruppen gestatten einen Datenverkehr der die Moumlglichkeiten derStandard-Schnittstellen bezuumlglich Protokolle und Kommunikationsfunktionenuumlberschreitet

Die IM-Baugruppen verbinden bei einer Erweiterung den Zentralbaugruppentrauml-ger mit bis zu drei Erweiterungsbaugruppentraumlgern

Eine Stromversorgungsbaugruppe sorgt schlieszliglich fuumlr die benoumltigte Spannungim Automatisierungsgeraumlt

Bild 12 Bestandteile einer S7-300-Steuerung

Erweiterungsbaugruppentraumlger

Zentralbaugruppentraumlger SM-Baugruppen(Signal Modules)

Auf den Baugruppen-traumlgern sind steckbar

FM-Baugruppen(Function Modules)

CP-Baugruppen(CommunicationProcessors)

IM-Baugruppe(Interface Module)

IM-Baugruppe(Interface Module)

CPU-Baugruppe(Central Processor Unit)

PS-Baugruppe(Power Supply)

Baugruppen-traumlger (Rack)

Bestandteile einer S7-300-Steuerung

S

1 Einfuumlhrung

24

112 Uumlbersicht STEP 7 Professional V12

STEP 7 ist das zentrale Automatisierungswerkzeug fuumlr SIMATIC STEP 7 benoumltigtzum Betrieb eine Autorisierung (Lizenz) und laumluft auf den jeweils aktuellen Be-triebssystemen unter Microsoft Windows Die Projektierung eines S7-300-Control-lers geschieht mit zwei Ansichten der Portalansicht und der Projektansicht

Die Portalansicht ist aufgabenorientiert angelegt

Im Startportal oumlffnen Sie ein bestehendes Projekt erstellen ein neues Projekt odermigrieren ein Projekt Ein bdquoProjektldquo ist eine Datenstruktur die alle erforderlichenProgramme und Daten fuumlr Ihr Automatisierungsvorhaben enthaumllt Von hier aussind die wichtigsten Werkzeuge und Funktionen von STEP 7 uumlber weitere Portale er-reichbar (Bild 13)

b Im Portal Geraumlte amp Netze konfigurieren Sie die Automatisierungsgeraumlte d h Sieplatzieren die Baugruppen in einem Baugruppentraumlger und parametrieren sie

b Im Portal PLC-Programmierung erstellen Sie das Anwenderprogramm in Formvon einzelnen Abschnitten die man bdquoBausteineldquo nennt

b Das Portal Visualisierung bietet die wichtigsten Werkzeuge fuumlr die Projektierungund Simulation von HMI-Systemen mit SIMATIC WinCC an

Bild 13 Werkzeuge im Startportal von STEP 7 Professional V12

11 Uumlbersicht Automatisierungssystem S7-300

25

b Mit dem Portal Motion amp Technology fuumlgen Sie ein Technologie-Objekt fuumlr PIDControl ein und bearbeiten es

b Mit dem Portal Online amp Diagnose schalten Sie das Programmiergeraumlt online aneine CPU-Baugruppe Sie koumlnnen die Betriebsarten der CPU steuern und das An-wenderprogramm uumlbertragen und testen

Die Projektansicht bietet eine objektorientierte Ansicht mit mehreren Fensternderen Inhalt je nach ausgefuumlhrter Taumltigkeit wechselt In der Geraumltekonfigurationsteht der Arbeitsbereich mit dem zu konfigurierenden Geraumlt im Mittelpunkt In derGeraumltesicht wird der Baugruppentraumlger mit den bereits platzierten Baugruppen ge-zeigt (Bild 14) Ein weiteres Fenster ndash das Inspektorfenster ndash enthaumllt die Eigen-schaften der selektierten Baugruppe das Aufgaben-Fenster (Task Card) gibt Unter-stuumltzung durch den Hardware-Katalog mit den zur Verfuumlgung stehenden Baugrup-pen Die Netzsicht gestattet die Vernetzung zwischen PLC- und HMI-Stationen

Bei der PLC-Programmierung bearbeiten Sie im Arbeitsbereich den ausgewaumlhltenBaustein Wiederum sehen Sie im Inspektorfenster die Eigenschaften des markier-ten Objekts und koumlnnen diese einstellen Das Aufgabenfenster enthaumllt diesmal denProgrammelemente-Katalog mit den zur Verfuumlgung stehenden Programmelemen-ten und Anweisungen Aumlhnliches gilt fuumlr die Bearbeitung der PLC-Variablen oderbeim Online-Programmtest durch Beobachtungstabellen

Bild 14 Beispiel fuumlr die Projektansicht Arbeitsbereich der Geraumltekonfiguration

1 Einfuumlhrung

26

Und stets haben Sie die Projektnavigation im Blickfeld Sie enthaumllt alle Objekte desSTEP-7-Projekts So koumlnnen Sie jederzeit ein Objekt beispielsweise einen Pro-grammbaustein oder eine Beobachtungstabelle auswaumlhlen und dieses Objekt mitden entsprechenden Editoren die beim Oumlffnen des Objekts automatisch startenbearbeiten

113 Fuumlnf Programmiersprachen

Als Programmiersprache fuumlr das Anwenderprogramm koumlnnen Sie zwischen Kon-taktplan (KOP) Funktionsplan (FUP) Anweisungsliste (AWL) Structured ControlLanguage (SCL) und Ablaufsteuerung (GRAPH) waumlhlen

Mit Kontaktplan programmieren Sie die Steuerungsaufgabe angelehnt an denStromlaufplan Die Verknuumlpfung der binaumlren Signalzustaumlnde wird durch die seriel-le oder parallele Anordnung von Kontakten und Spulen dargestellt (Bild 15) Kom-plexe Funktionen wie beispielsweise die arithmetischen Funktionen werden mitBoxen dargestellt die Sie wie Kontakte oder Spulen im Kontaktplan anordnen

Mit Funktionsplan programmieren Sie die Steuerungsaufgabe angelehnt an elektro-nische Schaltkreissysteme Binaumlre Verknuumlpfungen werden durch Verschaltung vonUND- und ODER-Funktionen realisiert und mit Speicher-Boxen abgeschlossen (Bild16) Komplexe Boxen uumlbernehmen die Verknuumlpfung digitaler Variablen beispiels-weise bei den arithmetischen Funktionen

Bild 15 Beispiel fuumlr die Darstellung in Kontaktplan

Bild 16 Beispiel fuumlr die Darstellung in Funktionsplan

11 Uumlbersicht Automatisierungssystem S7-300

27

Mit Anweisungsliste programmieren Sie die Steuerungsaufgabe durch eine Folgevon Anweisungen Jede AWL-Anweisung enthaumllt eine Vorschrift was zu tun ist undeventuell einen Operand mit dem die Operation ausgefuumlhrt wird AWL ist gleicher-maszligen geeignet fuumlr binaumlre und digitale Verknuumlpfungen wie fuumlr die Programmierungkomplexer Steuerungsaufgaben (Bild 17)

Structured Control Language eignet sich besonders fuumlr die Programmierung vonkomplexen Algorithmen oder fuumlr Aufgabenstellungen aus dem Bereich der Datenver-waltung Das Programm besteht aus SCL-Anweisungen die beispielsweise Wertzuwei-sungen Vergleiche oder Kontrollanweisungen sein koumlnnen (Bild 18)

Mit GRAPH programmieren Sie eine Steuerungsaufgabe als Ablaufsteuerung in derdie sequenzielle Folge von Aktionen vorherrscht Die einzelnen Schritte und Verzwei-gungen werden durch Weiterschaltbedingungen freigegeben die mit KOP oder FUPprogrammiert werden koumlnnen (Bild 19)

114 Bearbeitung des Anwenderprogramms

Nach dem Einschalten der Versorgungsspannung pruumlft der Steuerungsprozessordie Konsistenz der Hardware und parametriert die Baugruppen Anschlieszligend wirdeinmalig ndash falls vorhanden ndash ein Anlaufprogramm bearbeitet Das Anlaufpro-

Bild 17 Beispiel fuumlr AWL-Anweisungen

Bild 18 Beispiel fuumlr SCL-Anweisungen

1 Einfuumlhrung

28

gramm gehoumlrt zum Anwenderprogramm das Sie programmieren Im Anlaufpro-gramm koumlnnen beispielsweise Baugruppen initialisiert werden

Das Anwenderprogramm ist in der Regel in einzelne Abschnitte ndash bdquoBausteineldquo ge-nannt ndash eingeteilt Die Organisationsbausteine (OB) sind die Schnittstelle zwischenBetriebssystem und Anwenderprogramm Das Betriebssystem ruft zu bestimmtenEreignissen einen Organisationsbaustein auf in dem dann das Anwenderpro-gramm bearbeitet wird (Bild 110)

Bild 19 Beispiel fuumlr eine GRAPH-Ablaufkette und eine Schrittprojektierung

Bild 110 Bearbeitung des Anwenderprogramms

Anlauf-programm

Alarm- undFehlerprogramm

Haupt-programm

Bearbeitung des Anwenderprogramms

Einschalten

Aktualisierung derEin- und Ausgaumlnge

Unterbrechung(Alarm oder Fehler)

BetriebszustandANLAUF

Betriebssystem Anwenderprogramm

BetriebszustandRUN

OB

OB

FBFC

FBFC

FBFC

FBFC

FBFC

FBFC

OB

Unterbrechung

11 Uumlbersicht Automatisierungssystem S7-300

29

Zur Strukturierung das Programms stehen Funktionsbausteine (FB) und Funktio-nen (FC) zur Verfuumlgung Funktionsbausteine haben einen Speicher in dem lokaleVariablen dauerhaft abgelegt sind Funktionen haben diesen Speicher nicht

Fuumlr den Aufruf (das Starten der Bearbeitung) von Funktionsbausteinen und Funk-tionen gibt es Programmanweisungen Jeder Bausteinaufruf kann mit Ein- undAusgaumlngen ndash bdquoBausteinparameterldquo genannt ndash versehen werden Beim Aufruf koumln-nen Variablen uumlbergeben werden mit denen das Programm im Baustein arbeitensoll Auf diese Weise kann ein Baustein mit einer gewissen Funktion (z B der Addi-tion von drei Variablen) mehrfach mit unterschiedlichen Parametersaumltzen (z B fuumlrunterschiedliche Berechnungen) aufgerufen werden (Bild 111)

Die Daten des Anwenderprogramms werden in Datenbausteinen (DB) abgelegtInstanz-Datenbausteine sind einem Aufruf eines Funktionsbausteins fest zugeord-net und bilden den Variablenspeicher des Funktionsbausteins Global-Datenbau-steine enthalten Daten die keinem Baustein zugeordnet sind

Nach einem Anlauf aktualisiert der Steuerungsprozessor die Ein- und Ausgangs-signale in den Prozessabbildern und ruft den Organisationsbaustein OB 1 auf Hiersteht das Hauptprogramm Auch im Hauptprogramm ist eine Strukturierung moumlg-lich und zu empfehlen Ist das Hauptprogramm bearbeitet wechselt der Steue-rungsprozessor zuruumlck ins Betriebssystem haumllt beispielsweise die Kommunikati-on mit dem Programmiergeraumlt aufrecht aktualisiert die Ein- und Ausgangssignaleund beginnt dann erneut mit der Bearbeitung des Hauptprogramms

Die zyklische Programmbearbeitung ist ein Merkmal speicherprogrammierbarerSteuerungen Das Anwenderprogramm wird auch dann bearbeitet wenn bdquovon au-szligenldquo keine Aktionen gefordert sind wenn also z B die gesteuerte Maschine stehtDies hat Vorteile bei der Programmierung Sie programmieren beispielsweise den

Bild 111 Beispiel fuumlr zwei Aufrufe eines Bausteins mit jeweils verschiedenen Variablen

Page 22: Berger Automatisieren mit SIMATIC S7-300 im TIA Portal · Automatisieren mit SIMATIC S7-300 im TIA Portal Projektieren, Programmieren und Testen mit STEP 7 Professional von Hans Berger

1 Einfuumlhrung

22

1 Einfuumlhrung

11 Uumlbersicht Automatisierungssystem S7-300

SIMATIC S7-300 ist das modulare Kleinsteuersystem fuumlr den unteren und mittlerenLeistungsbereich (Bild 11) Verschiedene Varianten der Controller passen die Leis-tungsfaumlhigkeit an den jeweiligen Einsatzfall an Je nach Bedarf kann das Automati-sierungsgeraumlt mit Ein-Ausgabebaugruppen fuumlr Digital- und Analogsignale in biszu vier Baugruppentraumlgern mit je acht Baugruppen modular erweitert werden

Eine zusaumltzliche Erweiterung mit Ein-Ausgabebaugruppen bietet die dezentralePeripherie uumlber PROFIBUS oder PROFINET Mit besonderen Bauformen fuumlr erhoumlhtemechanische Anforderungen ausgestattet koumlnnen diese Baugruppen vor Ort ander Maschine oder Anlage installiert werden Die Steuerungsgeraumlte SIMATIC S7-300werden mit STEP 7 konfiguriert projektiert und programmiert Der Datenaus-tausch zwischen den Steuerungsgeraumlten der dezentralen Peripherie und dem Pro-grammiergeraumlt geschieht mit SIMATIC NET

Bild 11 Bestandteile des Automatisierungssystems SIMATIC S7-300

SIMATIC Controller steuern dieMaschine oder Anlage

Die dezentrale Peripherie erweitert dieSchnittstelle zur Maschine oder Anlage

SIMATIC NET

SIMATIC DP STEP 7Professional V12

SIMATIC S7-300

Die Vernetzung ermoumlglicht denDatenaustausch und den zentralenOnline-Zugriff

Mehrere Varianten der Controllererweitern das Einsatzspektrum

STEP 7 ist die Engineeringsoftware zumKonfigurieren undProgrammieren

Projektieren

Automatisierungssystem SIMATIC S7-300

11 Uumlbersicht Automatisierungssystem S7-300

23

111 Automatisierungsgeraumlt SIMATIC S7-300

Die wesentlichen Bestandteile eines S7-300-Automatisierungsgeraumlts sind im Bild12 dargestellt

Die CPU-Baugruppe enthaumllt das Betriebssystem und das AnwenderprogrammDas Anwenderprogramm steht spannungsausfallsicher auf der in der CPU-Bau-gruppe steckenden Micro Memory Card (MMC) Die Bearbeitung des Anwenderpro-gramms findet im Arbeitsspeicher in der CPU statt Die auf der CPU-Baugruppe vor-handenen Busschnittstellen stellen die Verbindung zu anderen Automatisierungs-geraumlten her

Die Verbindung zur gesteuerten Anlage uumlbernehmen SM-Baugruppen Diese Ein-und Ausgabebaugruppen gibt es fuumlr Digital- und Analogsignale

Die FM-Baugruppen sind signalvorverarbeitende bdquointelligenteldquo Peripheriebau-gruppen die vom Prozess kommende Signale unabhaumlngig von der CPU aufberei-ten verarbeiten und entweder wieder direkt an den Prozess zuruumlckgeben oder ander internen Schnittstelle der CPU zur Verfuumlgung stellen FM-Baugruppen uumlber-nehmen Funktionen die die CPU meist nicht schnell genug ausfuumlhren kann wiez B Impulse zaumlhlen positionieren oder Antriebe regeln

Die CP-Baugruppen gestatten einen Datenverkehr der die Moumlglichkeiten derStandard-Schnittstellen bezuumlglich Protokolle und Kommunikationsfunktionenuumlberschreitet

Die IM-Baugruppen verbinden bei einer Erweiterung den Zentralbaugruppentrauml-ger mit bis zu drei Erweiterungsbaugruppentraumlgern

Eine Stromversorgungsbaugruppe sorgt schlieszliglich fuumlr die benoumltigte Spannungim Automatisierungsgeraumlt

Bild 12 Bestandteile einer S7-300-Steuerung

Erweiterungsbaugruppentraumlger

Zentralbaugruppentraumlger SM-Baugruppen(Signal Modules)

Auf den Baugruppen-traumlgern sind steckbar

FM-Baugruppen(Function Modules)

CP-Baugruppen(CommunicationProcessors)

IM-Baugruppe(Interface Module)

IM-Baugruppe(Interface Module)

CPU-Baugruppe(Central Processor Unit)

PS-Baugruppe(Power Supply)

Baugruppen-traumlger (Rack)

Bestandteile einer S7-300-Steuerung

S

1 Einfuumlhrung

24

112 Uumlbersicht STEP 7 Professional V12

STEP 7 ist das zentrale Automatisierungswerkzeug fuumlr SIMATIC STEP 7 benoumltigtzum Betrieb eine Autorisierung (Lizenz) und laumluft auf den jeweils aktuellen Be-triebssystemen unter Microsoft Windows Die Projektierung eines S7-300-Control-lers geschieht mit zwei Ansichten der Portalansicht und der Projektansicht

Die Portalansicht ist aufgabenorientiert angelegt

Im Startportal oumlffnen Sie ein bestehendes Projekt erstellen ein neues Projekt odermigrieren ein Projekt Ein bdquoProjektldquo ist eine Datenstruktur die alle erforderlichenProgramme und Daten fuumlr Ihr Automatisierungsvorhaben enthaumllt Von hier aussind die wichtigsten Werkzeuge und Funktionen von STEP 7 uumlber weitere Portale er-reichbar (Bild 13)

b Im Portal Geraumlte amp Netze konfigurieren Sie die Automatisierungsgeraumlte d h Sieplatzieren die Baugruppen in einem Baugruppentraumlger und parametrieren sie

b Im Portal PLC-Programmierung erstellen Sie das Anwenderprogramm in Formvon einzelnen Abschnitten die man bdquoBausteineldquo nennt

b Das Portal Visualisierung bietet die wichtigsten Werkzeuge fuumlr die Projektierungund Simulation von HMI-Systemen mit SIMATIC WinCC an

Bild 13 Werkzeuge im Startportal von STEP 7 Professional V12

11 Uumlbersicht Automatisierungssystem S7-300

25

b Mit dem Portal Motion amp Technology fuumlgen Sie ein Technologie-Objekt fuumlr PIDControl ein und bearbeiten es

b Mit dem Portal Online amp Diagnose schalten Sie das Programmiergeraumlt online aneine CPU-Baugruppe Sie koumlnnen die Betriebsarten der CPU steuern und das An-wenderprogramm uumlbertragen und testen

Die Projektansicht bietet eine objektorientierte Ansicht mit mehreren Fensternderen Inhalt je nach ausgefuumlhrter Taumltigkeit wechselt In der Geraumltekonfigurationsteht der Arbeitsbereich mit dem zu konfigurierenden Geraumlt im Mittelpunkt In derGeraumltesicht wird der Baugruppentraumlger mit den bereits platzierten Baugruppen ge-zeigt (Bild 14) Ein weiteres Fenster ndash das Inspektorfenster ndash enthaumllt die Eigen-schaften der selektierten Baugruppe das Aufgaben-Fenster (Task Card) gibt Unter-stuumltzung durch den Hardware-Katalog mit den zur Verfuumlgung stehenden Baugrup-pen Die Netzsicht gestattet die Vernetzung zwischen PLC- und HMI-Stationen

Bei der PLC-Programmierung bearbeiten Sie im Arbeitsbereich den ausgewaumlhltenBaustein Wiederum sehen Sie im Inspektorfenster die Eigenschaften des markier-ten Objekts und koumlnnen diese einstellen Das Aufgabenfenster enthaumllt diesmal denProgrammelemente-Katalog mit den zur Verfuumlgung stehenden Programmelemen-ten und Anweisungen Aumlhnliches gilt fuumlr die Bearbeitung der PLC-Variablen oderbeim Online-Programmtest durch Beobachtungstabellen

Bild 14 Beispiel fuumlr die Projektansicht Arbeitsbereich der Geraumltekonfiguration

1 Einfuumlhrung

26

Und stets haben Sie die Projektnavigation im Blickfeld Sie enthaumllt alle Objekte desSTEP-7-Projekts So koumlnnen Sie jederzeit ein Objekt beispielsweise einen Pro-grammbaustein oder eine Beobachtungstabelle auswaumlhlen und dieses Objekt mitden entsprechenden Editoren die beim Oumlffnen des Objekts automatisch startenbearbeiten

113 Fuumlnf Programmiersprachen

Als Programmiersprache fuumlr das Anwenderprogramm koumlnnen Sie zwischen Kon-taktplan (KOP) Funktionsplan (FUP) Anweisungsliste (AWL) Structured ControlLanguage (SCL) und Ablaufsteuerung (GRAPH) waumlhlen

Mit Kontaktplan programmieren Sie die Steuerungsaufgabe angelehnt an denStromlaufplan Die Verknuumlpfung der binaumlren Signalzustaumlnde wird durch die seriel-le oder parallele Anordnung von Kontakten und Spulen dargestellt (Bild 15) Kom-plexe Funktionen wie beispielsweise die arithmetischen Funktionen werden mitBoxen dargestellt die Sie wie Kontakte oder Spulen im Kontaktplan anordnen

Mit Funktionsplan programmieren Sie die Steuerungsaufgabe angelehnt an elektro-nische Schaltkreissysteme Binaumlre Verknuumlpfungen werden durch Verschaltung vonUND- und ODER-Funktionen realisiert und mit Speicher-Boxen abgeschlossen (Bild16) Komplexe Boxen uumlbernehmen die Verknuumlpfung digitaler Variablen beispiels-weise bei den arithmetischen Funktionen

Bild 15 Beispiel fuumlr die Darstellung in Kontaktplan

Bild 16 Beispiel fuumlr die Darstellung in Funktionsplan

11 Uumlbersicht Automatisierungssystem S7-300

27

Mit Anweisungsliste programmieren Sie die Steuerungsaufgabe durch eine Folgevon Anweisungen Jede AWL-Anweisung enthaumllt eine Vorschrift was zu tun ist undeventuell einen Operand mit dem die Operation ausgefuumlhrt wird AWL ist gleicher-maszligen geeignet fuumlr binaumlre und digitale Verknuumlpfungen wie fuumlr die Programmierungkomplexer Steuerungsaufgaben (Bild 17)

Structured Control Language eignet sich besonders fuumlr die Programmierung vonkomplexen Algorithmen oder fuumlr Aufgabenstellungen aus dem Bereich der Datenver-waltung Das Programm besteht aus SCL-Anweisungen die beispielsweise Wertzuwei-sungen Vergleiche oder Kontrollanweisungen sein koumlnnen (Bild 18)

Mit GRAPH programmieren Sie eine Steuerungsaufgabe als Ablaufsteuerung in derdie sequenzielle Folge von Aktionen vorherrscht Die einzelnen Schritte und Verzwei-gungen werden durch Weiterschaltbedingungen freigegeben die mit KOP oder FUPprogrammiert werden koumlnnen (Bild 19)

114 Bearbeitung des Anwenderprogramms

Nach dem Einschalten der Versorgungsspannung pruumlft der Steuerungsprozessordie Konsistenz der Hardware und parametriert die Baugruppen Anschlieszligend wirdeinmalig ndash falls vorhanden ndash ein Anlaufprogramm bearbeitet Das Anlaufpro-

Bild 17 Beispiel fuumlr AWL-Anweisungen

Bild 18 Beispiel fuumlr SCL-Anweisungen

1 Einfuumlhrung

28

gramm gehoumlrt zum Anwenderprogramm das Sie programmieren Im Anlaufpro-gramm koumlnnen beispielsweise Baugruppen initialisiert werden

Das Anwenderprogramm ist in der Regel in einzelne Abschnitte ndash bdquoBausteineldquo ge-nannt ndash eingeteilt Die Organisationsbausteine (OB) sind die Schnittstelle zwischenBetriebssystem und Anwenderprogramm Das Betriebssystem ruft zu bestimmtenEreignissen einen Organisationsbaustein auf in dem dann das Anwenderpro-gramm bearbeitet wird (Bild 110)

Bild 19 Beispiel fuumlr eine GRAPH-Ablaufkette und eine Schrittprojektierung

Bild 110 Bearbeitung des Anwenderprogramms

Anlauf-programm

Alarm- undFehlerprogramm

Haupt-programm

Bearbeitung des Anwenderprogramms

Einschalten

Aktualisierung derEin- und Ausgaumlnge

Unterbrechung(Alarm oder Fehler)

BetriebszustandANLAUF

Betriebssystem Anwenderprogramm

BetriebszustandRUN

OB

OB

FBFC

FBFC

FBFC

FBFC

FBFC

FBFC

OB

Unterbrechung

11 Uumlbersicht Automatisierungssystem S7-300

29

Zur Strukturierung das Programms stehen Funktionsbausteine (FB) und Funktio-nen (FC) zur Verfuumlgung Funktionsbausteine haben einen Speicher in dem lokaleVariablen dauerhaft abgelegt sind Funktionen haben diesen Speicher nicht

Fuumlr den Aufruf (das Starten der Bearbeitung) von Funktionsbausteinen und Funk-tionen gibt es Programmanweisungen Jeder Bausteinaufruf kann mit Ein- undAusgaumlngen ndash bdquoBausteinparameterldquo genannt ndash versehen werden Beim Aufruf koumln-nen Variablen uumlbergeben werden mit denen das Programm im Baustein arbeitensoll Auf diese Weise kann ein Baustein mit einer gewissen Funktion (z B der Addi-tion von drei Variablen) mehrfach mit unterschiedlichen Parametersaumltzen (z B fuumlrunterschiedliche Berechnungen) aufgerufen werden (Bild 111)

Die Daten des Anwenderprogramms werden in Datenbausteinen (DB) abgelegtInstanz-Datenbausteine sind einem Aufruf eines Funktionsbausteins fest zugeord-net und bilden den Variablenspeicher des Funktionsbausteins Global-Datenbau-steine enthalten Daten die keinem Baustein zugeordnet sind

Nach einem Anlauf aktualisiert der Steuerungsprozessor die Ein- und Ausgangs-signale in den Prozessabbildern und ruft den Organisationsbaustein OB 1 auf Hiersteht das Hauptprogramm Auch im Hauptprogramm ist eine Strukturierung moumlg-lich und zu empfehlen Ist das Hauptprogramm bearbeitet wechselt der Steue-rungsprozessor zuruumlck ins Betriebssystem haumllt beispielsweise die Kommunikati-on mit dem Programmiergeraumlt aufrecht aktualisiert die Ein- und Ausgangssignaleund beginnt dann erneut mit der Bearbeitung des Hauptprogramms

Die zyklische Programmbearbeitung ist ein Merkmal speicherprogrammierbarerSteuerungen Das Anwenderprogramm wird auch dann bearbeitet wenn bdquovon au-szligenldquo keine Aktionen gefordert sind wenn also z B die gesteuerte Maschine stehtDies hat Vorteile bei der Programmierung Sie programmieren beispielsweise den

Bild 111 Beispiel fuumlr zwei Aufrufe eines Bausteins mit jeweils verschiedenen Variablen

Page 23: Berger Automatisieren mit SIMATIC S7-300 im TIA Portal · Automatisieren mit SIMATIC S7-300 im TIA Portal Projektieren, Programmieren und Testen mit STEP 7 Professional von Hans Berger

11 Uumlbersicht Automatisierungssystem S7-300

23

111 Automatisierungsgeraumlt SIMATIC S7-300

Die wesentlichen Bestandteile eines S7-300-Automatisierungsgeraumlts sind im Bild12 dargestellt

Die CPU-Baugruppe enthaumllt das Betriebssystem und das AnwenderprogrammDas Anwenderprogramm steht spannungsausfallsicher auf der in der CPU-Bau-gruppe steckenden Micro Memory Card (MMC) Die Bearbeitung des Anwenderpro-gramms findet im Arbeitsspeicher in der CPU statt Die auf der CPU-Baugruppe vor-handenen Busschnittstellen stellen die Verbindung zu anderen Automatisierungs-geraumlten her

Die Verbindung zur gesteuerten Anlage uumlbernehmen SM-Baugruppen Diese Ein-und Ausgabebaugruppen gibt es fuumlr Digital- und Analogsignale

Die FM-Baugruppen sind signalvorverarbeitende bdquointelligenteldquo Peripheriebau-gruppen die vom Prozess kommende Signale unabhaumlngig von der CPU aufberei-ten verarbeiten und entweder wieder direkt an den Prozess zuruumlckgeben oder ander internen Schnittstelle der CPU zur Verfuumlgung stellen FM-Baugruppen uumlber-nehmen Funktionen die die CPU meist nicht schnell genug ausfuumlhren kann wiez B Impulse zaumlhlen positionieren oder Antriebe regeln

Die CP-Baugruppen gestatten einen Datenverkehr der die Moumlglichkeiten derStandard-Schnittstellen bezuumlglich Protokolle und Kommunikationsfunktionenuumlberschreitet

Die IM-Baugruppen verbinden bei einer Erweiterung den Zentralbaugruppentrauml-ger mit bis zu drei Erweiterungsbaugruppentraumlgern

Eine Stromversorgungsbaugruppe sorgt schlieszliglich fuumlr die benoumltigte Spannungim Automatisierungsgeraumlt

Bild 12 Bestandteile einer S7-300-Steuerung

Erweiterungsbaugruppentraumlger

Zentralbaugruppentraumlger SM-Baugruppen(Signal Modules)

Auf den Baugruppen-traumlgern sind steckbar

FM-Baugruppen(Function Modules)

CP-Baugruppen(CommunicationProcessors)

IM-Baugruppe(Interface Module)

IM-Baugruppe(Interface Module)

CPU-Baugruppe(Central Processor Unit)

PS-Baugruppe(Power Supply)

Baugruppen-traumlger (Rack)

Bestandteile einer S7-300-Steuerung

S

1 Einfuumlhrung

24

112 Uumlbersicht STEP 7 Professional V12

STEP 7 ist das zentrale Automatisierungswerkzeug fuumlr SIMATIC STEP 7 benoumltigtzum Betrieb eine Autorisierung (Lizenz) und laumluft auf den jeweils aktuellen Be-triebssystemen unter Microsoft Windows Die Projektierung eines S7-300-Control-lers geschieht mit zwei Ansichten der Portalansicht und der Projektansicht

Die Portalansicht ist aufgabenorientiert angelegt

Im Startportal oumlffnen Sie ein bestehendes Projekt erstellen ein neues Projekt odermigrieren ein Projekt Ein bdquoProjektldquo ist eine Datenstruktur die alle erforderlichenProgramme und Daten fuumlr Ihr Automatisierungsvorhaben enthaumllt Von hier aussind die wichtigsten Werkzeuge und Funktionen von STEP 7 uumlber weitere Portale er-reichbar (Bild 13)

b Im Portal Geraumlte amp Netze konfigurieren Sie die Automatisierungsgeraumlte d h Sieplatzieren die Baugruppen in einem Baugruppentraumlger und parametrieren sie

b Im Portal PLC-Programmierung erstellen Sie das Anwenderprogramm in Formvon einzelnen Abschnitten die man bdquoBausteineldquo nennt

b Das Portal Visualisierung bietet die wichtigsten Werkzeuge fuumlr die Projektierungund Simulation von HMI-Systemen mit SIMATIC WinCC an

Bild 13 Werkzeuge im Startportal von STEP 7 Professional V12

11 Uumlbersicht Automatisierungssystem S7-300

25

b Mit dem Portal Motion amp Technology fuumlgen Sie ein Technologie-Objekt fuumlr PIDControl ein und bearbeiten es

b Mit dem Portal Online amp Diagnose schalten Sie das Programmiergeraumlt online aneine CPU-Baugruppe Sie koumlnnen die Betriebsarten der CPU steuern und das An-wenderprogramm uumlbertragen und testen

Die Projektansicht bietet eine objektorientierte Ansicht mit mehreren Fensternderen Inhalt je nach ausgefuumlhrter Taumltigkeit wechselt In der Geraumltekonfigurationsteht der Arbeitsbereich mit dem zu konfigurierenden Geraumlt im Mittelpunkt In derGeraumltesicht wird der Baugruppentraumlger mit den bereits platzierten Baugruppen ge-zeigt (Bild 14) Ein weiteres Fenster ndash das Inspektorfenster ndash enthaumllt die Eigen-schaften der selektierten Baugruppe das Aufgaben-Fenster (Task Card) gibt Unter-stuumltzung durch den Hardware-Katalog mit den zur Verfuumlgung stehenden Baugrup-pen Die Netzsicht gestattet die Vernetzung zwischen PLC- und HMI-Stationen

Bei der PLC-Programmierung bearbeiten Sie im Arbeitsbereich den ausgewaumlhltenBaustein Wiederum sehen Sie im Inspektorfenster die Eigenschaften des markier-ten Objekts und koumlnnen diese einstellen Das Aufgabenfenster enthaumllt diesmal denProgrammelemente-Katalog mit den zur Verfuumlgung stehenden Programmelemen-ten und Anweisungen Aumlhnliches gilt fuumlr die Bearbeitung der PLC-Variablen oderbeim Online-Programmtest durch Beobachtungstabellen

Bild 14 Beispiel fuumlr die Projektansicht Arbeitsbereich der Geraumltekonfiguration

1 Einfuumlhrung

26

Und stets haben Sie die Projektnavigation im Blickfeld Sie enthaumllt alle Objekte desSTEP-7-Projekts So koumlnnen Sie jederzeit ein Objekt beispielsweise einen Pro-grammbaustein oder eine Beobachtungstabelle auswaumlhlen und dieses Objekt mitden entsprechenden Editoren die beim Oumlffnen des Objekts automatisch startenbearbeiten

113 Fuumlnf Programmiersprachen

Als Programmiersprache fuumlr das Anwenderprogramm koumlnnen Sie zwischen Kon-taktplan (KOP) Funktionsplan (FUP) Anweisungsliste (AWL) Structured ControlLanguage (SCL) und Ablaufsteuerung (GRAPH) waumlhlen

Mit Kontaktplan programmieren Sie die Steuerungsaufgabe angelehnt an denStromlaufplan Die Verknuumlpfung der binaumlren Signalzustaumlnde wird durch die seriel-le oder parallele Anordnung von Kontakten und Spulen dargestellt (Bild 15) Kom-plexe Funktionen wie beispielsweise die arithmetischen Funktionen werden mitBoxen dargestellt die Sie wie Kontakte oder Spulen im Kontaktplan anordnen

Mit Funktionsplan programmieren Sie die Steuerungsaufgabe angelehnt an elektro-nische Schaltkreissysteme Binaumlre Verknuumlpfungen werden durch Verschaltung vonUND- und ODER-Funktionen realisiert und mit Speicher-Boxen abgeschlossen (Bild16) Komplexe Boxen uumlbernehmen die Verknuumlpfung digitaler Variablen beispiels-weise bei den arithmetischen Funktionen

Bild 15 Beispiel fuumlr die Darstellung in Kontaktplan

Bild 16 Beispiel fuumlr die Darstellung in Funktionsplan

11 Uumlbersicht Automatisierungssystem S7-300

27

Mit Anweisungsliste programmieren Sie die Steuerungsaufgabe durch eine Folgevon Anweisungen Jede AWL-Anweisung enthaumllt eine Vorschrift was zu tun ist undeventuell einen Operand mit dem die Operation ausgefuumlhrt wird AWL ist gleicher-maszligen geeignet fuumlr binaumlre und digitale Verknuumlpfungen wie fuumlr die Programmierungkomplexer Steuerungsaufgaben (Bild 17)

Structured Control Language eignet sich besonders fuumlr die Programmierung vonkomplexen Algorithmen oder fuumlr Aufgabenstellungen aus dem Bereich der Datenver-waltung Das Programm besteht aus SCL-Anweisungen die beispielsweise Wertzuwei-sungen Vergleiche oder Kontrollanweisungen sein koumlnnen (Bild 18)

Mit GRAPH programmieren Sie eine Steuerungsaufgabe als Ablaufsteuerung in derdie sequenzielle Folge von Aktionen vorherrscht Die einzelnen Schritte und Verzwei-gungen werden durch Weiterschaltbedingungen freigegeben die mit KOP oder FUPprogrammiert werden koumlnnen (Bild 19)

114 Bearbeitung des Anwenderprogramms

Nach dem Einschalten der Versorgungsspannung pruumlft der Steuerungsprozessordie Konsistenz der Hardware und parametriert die Baugruppen Anschlieszligend wirdeinmalig ndash falls vorhanden ndash ein Anlaufprogramm bearbeitet Das Anlaufpro-

Bild 17 Beispiel fuumlr AWL-Anweisungen

Bild 18 Beispiel fuumlr SCL-Anweisungen

1 Einfuumlhrung

28

gramm gehoumlrt zum Anwenderprogramm das Sie programmieren Im Anlaufpro-gramm koumlnnen beispielsweise Baugruppen initialisiert werden

Das Anwenderprogramm ist in der Regel in einzelne Abschnitte ndash bdquoBausteineldquo ge-nannt ndash eingeteilt Die Organisationsbausteine (OB) sind die Schnittstelle zwischenBetriebssystem und Anwenderprogramm Das Betriebssystem ruft zu bestimmtenEreignissen einen Organisationsbaustein auf in dem dann das Anwenderpro-gramm bearbeitet wird (Bild 110)

Bild 19 Beispiel fuumlr eine GRAPH-Ablaufkette und eine Schrittprojektierung

Bild 110 Bearbeitung des Anwenderprogramms

Anlauf-programm

Alarm- undFehlerprogramm

Haupt-programm

Bearbeitung des Anwenderprogramms

Einschalten

Aktualisierung derEin- und Ausgaumlnge

Unterbrechung(Alarm oder Fehler)

BetriebszustandANLAUF

Betriebssystem Anwenderprogramm

BetriebszustandRUN

OB

OB

FBFC

FBFC

FBFC

FBFC

FBFC

FBFC

OB

Unterbrechung

11 Uumlbersicht Automatisierungssystem S7-300

29

Zur Strukturierung das Programms stehen Funktionsbausteine (FB) und Funktio-nen (FC) zur Verfuumlgung Funktionsbausteine haben einen Speicher in dem lokaleVariablen dauerhaft abgelegt sind Funktionen haben diesen Speicher nicht

Fuumlr den Aufruf (das Starten der Bearbeitung) von Funktionsbausteinen und Funk-tionen gibt es Programmanweisungen Jeder Bausteinaufruf kann mit Ein- undAusgaumlngen ndash bdquoBausteinparameterldquo genannt ndash versehen werden Beim Aufruf koumln-nen Variablen uumlbergeben werden mit denen das Programm im Baustein arbeitensoll Auf diese Weise kann ein Baustein mit einer gewissen Funktion (z B der Addi-tion von drei Variablen) mehrfach mit unterschiedlichen Parametersaumltzen (z B fuumlrunterschiedliche Berechnungen) aufgerufen werden (Bild 111)

Die Daten des Anwenderprogramms werden in Datenbausteinen (DB) abgelegtInstanz-Datenbausteine sind einem Aufruf eines Funktionsbausteins fest zugeord-net und bilden den Variablenspeicher des Funktionsbausteins Global-Datenbau-steine enthalten Daten die keinem Baustein zugeordnet sind

Nach einem Anlauf aktualisiert der Steuerungsprozessor die Ein- und Ausgangs-signale in den Prozessabbildern und ruft den Organisationsbaustein OB 1 auf Hiersteht das Hauptprogramm Auch im Hauptprogramm ist eine Strukturierung moumlg-lich und zu empfehlen Ist das Hauptprogramm bearbeitet wechselt der Steue-rungsprozessor zuruumlck ins Betriebssystem haumllt beispielsweise die Kommunikati-on mit dem Programmiergeraumlt aufrecht aktualisiert die Ein- und Ausgangssignaleund beginnt dann erneut mit der Bearbeitung des Hauptprogramms

Die zyklische Programmbearbeitung ist ein Merkmal speicherprogrammierbarerSteuerungen Das Anwenderprogramm wird auch dann bearbeitet wenn bdquovon au-szligenldquo keine Aktionen gefordert sind wenn also z B die gesteuerte Maschine stehtDies hat Vorteile bei der Programmierung Sie programmieren beispielsweise den

Bild 111 Beispiel fuumlr zwei Aufrufe eines Bausteins mit jeweils verschiedenen Variablen

Page 24: Berger Automatisieren mit SIMATIC S7-300 im TIA Portal · Automatisieren mit SIMATIC S7-300 im TIA Portal Projektieren, Programmieren und Testen mit STEP 7 Professional von Hans Berger

1 Einfuumlhrung

24

112 Uumlbersicht STEP 7 Professional V12

STEP 7 ist das zentrale Automatisierungswerkzeug fuumlr SIMATIC STEP 7 benoumltigtzum Betrieb eine Autorisierung (Lizenz) und laumluft auf den jeweils aktuellen Be-triebssystemen unter Microsoft Windows Die Projektierung eines S7-300-Control-lers geschieht mit zwei Ansichten der Portalansicht und der Projektansicht

Die Portalansicht ist aufgabenorientiert angelegt

Im Startportal oumlffnen Sie ein bestehendes Projekt erstellen ein neues Projekt odermigrieren ein Projekt Ein bdquoProjektldquo ist eine Datenstruktur die alle erforderlichenProgramme und Daten fuumlr Ihr Automatisierungsvorhaben enthaumllt Von hier aussind die wichtigsten Werkzeuge und Funktionen von STEP 7 uumlber weitere Portale er-reichbar (Bild 13)

b Im Portal Geraumlte amp Netze konfigurieren Sie die Automatisierungsgeraumlte d h Sieplatzieren die Baugruppen in einem Baugruppentraumlger und parametrieren sie

b Im Portal PLC-Programmierung erstellen Sie das Anwenderprogramm in Formvon einzelnen Abschnitten die man bdquoBausteineldquo nennt

b Das Portal Visualisierung bietet die wichtigsten Werkzeuge fuumlr die Projektierungund Simulation von HMI-Systemen mit SIMATIC WinCC an

Bild 13 Werkzeuge im Startportal von STEP 7 Professional V12

11 Uumlbersicht Automatisierungssystem S7-300

25

b Mit dem Portal Motion amp Technology fuumlgen Sie ein Technologie-Objekt fuumlr PIDControl ein und bearbeiten es

b Mit dem Portal Online amp Diagnose schalten Sie das Programmiergeraumlt online aneine CPU-Baugruppe Sie koumlnnen die Betriebsarten der CPU steuern und das An-wenderprogramm uumlbertragen und testen

Die Projektansicht bietet eine objektorientierte Ansicht mit mehreren Fensternderen Inhalt je nach ausgefuumlhrter Taumltigkeit wechselt In der Geraumltekonfigurationsteht der Arbeitsbereich mit dem zu konfigurierenden Geraumlt im Mittelpunkt In derGeraumltesicht wird der Baugruppentraumlger mit den bereits platzierten Baugruppen ge-zeigt (Bild 14) Ein weiteres Fenster ndash das Inspektorfenster ndash enthaumllt die Eigen-schaften der selektierten Baugruppe das Aufgaben-Fenster (Task Card) gibt Unter-stuumltzung durch den Hardware-Katalog mit den zur Verfuumlgung stehenden Baugrup-pen Die Netzsicht gestattet die Vernetzung zwischen PLC- und HMI-Stationen

Bei der PLC-Programmierung bearbeiten Sie im Arbeitsbereich den ausgewaumlhltenBaustein Wiederum sehen Sie im Inspektorfenster die Eigenschaften des markier-ten Objekts und koumlnnen diese einstellen Das Aufgabenfenster enthaumllt diesmal denProgrammelemente-Katalog mit den zur Verfuumlgung stehenden Programmelemen-ten und Anweisungen Aumlhnliches gilt fuumlr die Bearbeitung der PLC-Variablen oderbeim Online-Programmtest durch Beobachtungstabellen

Bild 14 Beispiel fuumlr die Projektansicht Arbeitsbereich der Geraumltekonfiguration

1 Einfuumlhrung

26

Und stets haben Sie die Projektnavigation im Blickfeld Sie enthaumllt alle Objekte desSTEP-7-Projekts So koumlnnen Sie jederzeit ein Objekt beispielsweise einen Pro-grammbaustein oder eine Beobachtungstabelle auswaumlhlen und dieses Objekt mitden entsprechenden Editoren die beim Oumlffnen des Objekts automatisch startenbearbeiten

113 Fuumlnf Programmiersprachen

Als Programmiersprache fuumlr das Anwenderprogramm koumlnnen Sie zwischen Kon-taktplan (KOP) Funktionsplan (FUP) Anweisungsliste (AWL) Structured ControlLanguage (SCL) und Ablaufsteuerung (GRAPH) waumlhlen

Mit Kontaktplan programmieren Sie die Steuerungsaufgabe angelehnt an denStromlaufplan Die Verknuumlpfung der binaumlren Signalzustaumlnde wird durch die seriel-le oder parallele Anordnung von Kontakten und Spulen dargestellt (Bild 15) Kom-plexe Funktionen wie beispielsweise die arithmetischen Funktionen werden mitBoxen dargestellt die Sie wie Kontakte oder Spulen im Kontaktplan anordnen

Mit Funktionsplan programmieren Sie die Steuerungsaufgabe angelehnt an elektro-nische Schaltkreissysteme Binaumlre Verknuumlpfungen werden durch Verschaltung vonUND- und ODER-Funktionen realisiert und mit Speicher-Boxen abgeschlossen (Bild16) Komplexe Boxen uumlbernehmen die Verknuumlpfung digitaler Variablen beispiels-weise bei den arithmetischen Funktionen

Bild 15 Beispiel fuumlr die Darstellung in Kontaktplan

Bild 16 Beispiel fuumlr die Darstellung in Funktionsplan

11 Uumlbersicht Automatisierungssystem S7-300

27

Mit Anweisungsliste programmieren Sie die Steuerungsaufgabe durch eine Folgevon Anweisungen Jede AWL-Anweisung enthaumllt eine Vorschrift was zu tun ist undeventuell einen Operand mit dem die Operation ausgefuumlhrt wird AWL ist gleicher-maszligen geeignet fuumlr binaumlre und digitale Verknuumlpfungen wie fuumlr die Programmierungkomplexer Steuerungsaufgaben (Bild 17)

Structured Control Language eignet sich besonders fuumlr die Programmierung vonkomplexen Algorithmen oder fuumlr Aufgabenstellungen aus dem Bereich der Datenver-waltung Das Programm besteht aus SCL-Anweisungen die beispielsweise Wertzuwei-sungen Vergleiche oder Kontrollanweisungen sein koumlnnen (Bild 18)

Mit GRAPH programmieren Sie eine Steuerungsaufgabe als Ablaufsteuerung in derdie sequenzielle Folge von Aktionen vorherrscht Die einzelnen Schritte und Verzwei-gungen werden durch Weiterschaltbedingungen freigegeben die mit KOP oder FUPprogrammiert werden koumlnnen (Bild 19)

114 Bearbeitung des Anwenderprogramms

Nach dem Einschalten der Versorgungsspannung pruumlft der Steuerungsprozessordie Konsistenz der Hardware und parametriert die Baugruppen Anschlieszligend wirdeinmalig ndash falls vorhanden ndash ein Anlaufprogramm bearbeitet Das Anlaufpro-

Bild 17 Beispiel fuumlr AWL-Anweisungen

Bild 18 Beispiel fuumlr SCL-Anweisungen

1 Einfuumlhrung

28

gramm gehoumlrt zum Anwenderprogramm das Sie programmieren Im Anlaufpro-gramm koumlnnen beispielsweise Baugruppen initialisiert werden

Das Anwenderprogramm ist in der Regel in einzelne Abschnitte ndash bdquoBausteineldquo ge-nannt ndash eingeteilt Die Organisationsbausteine (OB) sind die Schnittstelle zwischenBetriebssystem und Anwenderprogramm Das Betriebssystem ruft zu bestimmtenEreignissen einen Organisationsbaustein auf in dem dann das Anwenderpro-gramm bearbeitet wird (Bild 110)

Bild 19 Beispiel fuumlr eine GRAPH-Ablaufkette und eine Schrittprojektierung

Bild 110 Bearbeitung des Anwenderprogramms

Anlauf-programm

Alarm- undFehlerprogramm

Haupt-programm

Bearbeitung des Anwenderprogramms

Einschalten

Aktualisierung derEin- und Ausgaumlnge

Unterbrechung(Alarm oder Fehler)

BetriebszustandANLAUF

Betriebssystem Anwenderprogramm

BetriebszustandRUN

OB

OB

FBFC

FBFC

FBFC

FBFC

FBFC

FBFC

OB

Unterbrechung

11 Uumlbersicht Automatisierungssystem S7-300

29

Zur Strukturierung das Programms stehen Funktionsbausteine (FB) und Funktio-nen (FC) zur Verfuumlgung Funktionsbausteine haben einen Speicher in dem lokaleVariablen dauerhaft abgelegt sind Funktionen haben diesen Speicher nicht

Fuumlr den Aufruf (das Starten der Bearbeitung) von Funktionsbausteinen und Funk-tionen gibt es Programmanweisungen Jeder Bausteinaufruf kann mit Ein- undAusgaumlngen ndash bdquoBausteinparameterldquo genannt ndash versehen werden Beim Aufruf koumln-nen Variablen uumlbergeben werden mit denen das Programm im Baustein arbeitensoll Auf diese Weise kann ein Baustein mit einer gewissen Funktion (z B der Addi-tion von drei Variablen) mehrfach mit unterschiedlichen Parametersaumltzen (z B fuumlrunterschiedliche Berechnungen) aufgerufen werden (Bild 111)

Die Daten des Anwenderprogramms werden in Datenbausteinen (DB) abgelegtInstanz-Datenbausteine sind einem Aufruf eines Funktionsbausteins fest zugeord-net und bilden den Variablenspeicher des Funktionsbausteins Global-Datenbau-steine enthalten Daten die keinem Baustein zugeordnet sind

Nach einem Anlauf aktualisiert der Steuerungsprozessor die Ein- und Ausgangs-signale in den Prozessabbildern und ruft den Organisationsbaustein OB 1 auf Hiersteht das Hauptprogramm Auch im Hauptprogramm ist eine Strukturierung moumlg-lich und zu empfehlen Ist das Hauptprogramm bearbeitet wechselt der Steue-rungsprozessor zuruumlck ins Betriebssystem haumllt beispielsweise die Kommunikati-on mit dem Programmiergeraumlt aufrecht aktualisiert die Ein- und Ausgangssignaleund beginnt dann erneut mit der Bearbeitung des Hauptprogramms

Die zyklische Programmbearbeitung ist ein Merkmal speicherprogrammierbarerSteuerungen Das Anwenderprogramm wird auch dann bearbeitet wenn bdquovon au-szligenldquo keine Aktionen gefordert sind wenn also z B die gesteuerte Maschine stehtDies hat Vorteile bei der Programmierung Sie programmieren beispielsweise den

Bild 111 Beispiel fuumlr zwei Aufrufe eines Bausteins mit jeweils verschiedenen Variablen

Page 25: Berger Automatisieren mit SIMATIC S7-300 im TIA Portal · Automatisieren mit SIMATIC S7-300 im TIA Portal Projektieren, Programmieren und Testen mit STEP 7 Professional von Hans Berger

11 Uumlbersicht Automatisierungssystem S7-300

25

b Mit dem Portal Motion amp Technology fuumlgen Sie ein Technologie-Objekt fuumlr PIDControl ein und bearbeiten es

b Mit dem Portal Online amp Diagnose schalten Sie das Programmiergeraumlt online aneine CPU-Baugruppe Sie koumlnnen die Betriebsarten der CPU steuern und das An-wenderprogramm uumlbertragen und testen

Die Projektansicht bietet eine objektorientierte Ansicht mit mehreren Fensternderen Inhalt je nach ausgefuumlhrter Taumltigkeit wechselt In der Geraumltekonfigurationsteht der Arbeitsbereich mit dem zu konfigurierenden Geraumlt im Mittelpunkt In derGeraumltesicht wird der Baugruppentraumlger mit den bereits platzierten Baugruppen ge-zeigt (Bild 14) Ein weiteres Fenster ndash das Inspektorfenster ndash enthaumllt die Eigen-schaften der selektierten Baugruppe das Aufgaben-Fenster (Task Card) gibt Unter-stuumltzung durch den Hardware-Katalog mit den zur Verfuumlgung stehenden Baugrup-pen Die Netzsicht gestattet die Vernetzung zwischen PLC- und HMI-Stationen

Bei der PLC-Programmierung bearbeiten Sie im Arbeitsbereich den ausgewaumlhltenBaustein Wiederum sehen Sie im Inspektorfenster die Eigenschaften des markier-ten Objekts und koumlnnen diese einstellen Das Aufgabenfenster enthaumllt diesmal denProgrammelemente-Katalog mit den zur Verfuumlgung stehenden Programmelemen-ten und Anweisungen Aumlhnliches gilt fuumlr die Bearbeitung der PLC-Variablen oderbeim Online-Programmtest durch Beobachtungstabellen

Bild 14 Beispiel fuumlr die Projektansicht Arbeitsbereich der Geraumltekonfiguration

1 Einfuumlhrung

26

Und stets haben Sie die Projektnavigation im Blickfeld Sie enthaumllt alle Objekte desSTEP-7-Projekts So koumlnnen Sie jederzeit ein Objekt beispielsweise einen Pro-grammbaustein oder eine Beobachtungstabelle auswaumlhlen und dieses Objekt mitden entsprechenden Editoren die beim Oumlffnen des Objekts automatisch startenbearbeiten

113 Fuumlnf Programmiersprachen

Als Programmiersprache fuumlr das Anwenderprogramm koumlnnen Sie zwischen Kon-taktplan (KOP) Funktionsplan (FUP) Anweisungsliste (AWL) Structured ControlLanguage (SCL) und Ablaufsteuerung (GRAPH) waumlhlen

Mit Kontaktplan programmieren Sie die Steuerungsaufgabe angelehnt an denStromlaufplan Die Verknuumlpfung der binaumlren Signalzustaumlnde wird durch die seriel-le oder parallele Anordnung von Kontakten und Spulen dargestellt (Bild 15) Kom-plexe Funktionen wie beispielsweise die arithmetischen Funktionen werden mitBoxen dargestellt die Sie wie Kontakte oder Spulen im Kontaktplan anordnen

Mit Funktionsplan programmieren Sie die Steuerungsaufgabe angelehnt an elektro-nische Schaltkreissysteme Binaumlre Verknuumlpfungen werden durch Verschaltung vonUND- und ODER-Funktionen realisiert und mit Speicher-Boxen abgeschlossen (Bild16) Komplexe Boxen uumlbernehmen die Verknuumlpfung digitaler Variablen beispiels-weise bei den arithmetischen Funktionen

Bild 15 Beispiel fuumlr die Darstellung in Kontaktplan

Bild 16 Beispiel fuumlr die Darstellung in Funktionsplan

11 Uumlbersicht Automatisierungssystem S7-300

27

Mit Anweisungsliste programmieren Sie die Steuerungsaufgabe durch eine Folgevon Anweisungen Jede AWL-Anweisung enthaumllt eine Vorschrift was zu tun ist undeventuell einen Operand mit dem die Operation ausgefuumlhrt wird AWL ist gleicher-maszligen geeignet fuumlr binaumlre und digitale Verknuumlpfungen wie fuumlr die Programmierungkomplexer Steuerungsaufgaben (Bild 17)

Structured Control Language eignet sich besonders fuumlr die Programmierung vonkomplexen Algorithmen oder fuumlr Aufgabenstellungen aus dem Bereich der Datenver-waltung Das Programm besteht aus SCL-Anweisungen die beispielsweise Wertzuwei-sungen Vergleiche oder Kontrollanweisungen sein koumlnnen (Bild 18)

Mit GRAPH programmieren Sie eine Steuerungsaufgabe als Ablaufsteuerung in derdie sequenzielle Folge von Aktionen vorherrscht Die einzelnen Schritte und Verzwei-gungen werden durch Weiterschaltbedingungen freigegeben die mit KOP oder FUPprogrammiert werden koumlnnen (Bild 19)

114 Bearbeitung des Anwenderprogramms

Nach dem Einschalten der Versorgungsspannung pruumlft der Steuerungsprozessordie Konsistenz der Hardware und parametriert die Baugruppen Anschlieszligend wirdeinmalig ndash falls vorhanden ndash ein Anlaufprogramm bearbeitet Das Anlaufpro-

Bild 17 Beispiel fuumlr AWL-Anweisungen

Bild 18 Beispiel fuumlr SCL-Anweisungen

1 Einfuumlhrung

28

gramm gehoumlrt zum Anwenderprogramm das Sie programmieren Im Anlaufpro-gramm koumlnnen beispielsweise Baugruppen initialisiert werden

Das Anwenderprogramm ist in der Regel in einzelne Abschnitte ndash bdquoBausteineldquo ge-nannt ndash eingeteilt Die Organisationsbausteine (OB) sind die Schnittstelle zwischenBetriebssystem und Anwenderprogramm Das Betriebssystem ruft zu bestimmtenEreignissen einen Organisationsbaustein auf in dem dann das Anwenderpro-gramm bearbeitet wird (Bild 110)

Bild 19 Beispiel fuumlr eine GRAPH-Ablaufkette und eine Schrittprojektierung

Bild 110 Bearbeitung des Anwenderprogramms

Anlauf-programm

Alarm- undFehlerprogramm

Haupt-programm

Bearbeitung des Anwenderprogramms

Einschalten

Aktualisierung derEin- und Ausgaumlnge

Unterbrechung(Alarm oder Fehler)

BetriebszustandANLAUF

Betriebssystem Anwenderprogramm

BetriebszustandRUN

OB

OB

FBFC

FBFC

FBFC

FBFC

FBFC

FBFC

OB

Unterbrechung

11 Uumlbersicht Automatisierungssystem S7-300

29

Zur Strukturierung das Programms stehen Funktionsbausteine (FB) und Funktio-nen (FC) zur Verfuumlgung Funktionsbausteine haben einen Speicher in dem lokaleVariablen dauerhaft abgelegt sind Funktionen haben diesen Speicher nicht

Fuumlr den Aufruf (das Starten der Bearbeitung) von Funktionsbausteinen und Funk-tionen gibt es Programmanweisungen Jeder Bausteinaufruf kann mit Ein- undAusgaumlngen ndash bdquoBausteinparameterldquo genannt ndash versehen werden Beim Aufruf koumln-nen Variablen uumlbergeben werden mit denen das Programm im Baustein arbeitensoll Auf diese Weise kann ein Baustein mit einer gewissen Funktion (z B der Addi-tion von drei Variablen) mehrfach mit unterschiedlichen Parametersaumltzen (z B fuumlrunterschiedliche Berechnungen) aufgerufen werden (Bild 111)

Die Daten des Anwenderprogramms werden in Datenbausteinen (DB) abgelegtInstanz-Datenbausteine sind einem Aufruf eines Funktionsbausteins fest zugeord-net und bilden den Variablenspeicher des Funktionsbausteins Global-Datenbau-steine enthalten Daten die keinem Baustein zugeordnet sind

Nach einem Anlauf aktualisiert der Steuerungsprozessor die Ein- und Ausgangs-signale in den Prozessabbildern und ruft den Organisationsbaustein OB 1 auf Hiersteht das Hauptprogramm Auch im Hauptprogramm ist eine Strukturierung moumlg-lich und zu empfehlen Ist das Hauptprogramm bearbeitet wechselt der Steue-rungsprozessor zuruumlck ins Betriebssystem haumllt beispielsweise die Kommunikati-on mit dem Programmiergeraumlt aufrecht aktualisiert die Ein- und Ausgangssignaleund beginnt dann erneut mit der Bearbeitung des Hauptprogramms

Die zyklische Programmbearbeitung ist ein Merkmal speicherprogrammierbarerSteuerungen Das Anwenderprogramm wird auch dann bearbeitet wenn bdquovon au-szligenldquo keine Aktionen gefordert sind wenn also z B die gesteuerte Maschine stehtDies hat Vorteile bei der Programmierung Sie programmieren beispielsweise den

Bild 111 Beispiel fuumlr zwei Aufrufe eines Bausteins mit jeweils verschiedenen Variablen

Page 26: Berger Automatisieren mit SIMATIC S7-300 im TIA Portal · Automatisieren mit SIMATIC S7-300 im TIA Portal Projektieren, Programmieren und Testen mit STEP 7 Professional von Hans Berger

1 Einfuumlhrung

26

Und stets haben Sie die Projektnavigation im Blickfeld Sie enthaumllt alle Objekte desSTEP-7-Projekts So koumlnnen Sie jederzeit ein Objekt beispielsweise einen Pro-grammbaustein oder eine Beobachtungstabelle auswaumlhlen und dieses Objekt mitden entsprechenden Editoren die beim Oumlffnen des Objekts automatisch startenbearbeiten

113 Fuumlnf Programmiersprachen

Als Programmiersprache fuumlr das Anwenderprogramm koumlnnen Sie zwischen Kon-taktplan (KOP) Funktionsplan (FUP) Anweisungsliste (AWL) Structured ControlLanguage (SCL) und Ablaufsteuerung (GRAPH) waumlhlen

Mit Kontaktplan programmieren Sie die Steuerungsaufgabe angelehnt an denStromlaufplan Die Verknuumlpfung der binaumlren Signalzustaumlnde wird durch die seriel-le oder parallele Anordnung von Kontakten und Spulen dargestellt (Bild 15) Kom-plexe Funktionen wie beispielsweise die arithmetischen Funktionen werden mitBoxen dargestellt die Sie wie Kontakte oder Spulen im Kontaktplan anordnen

Mit Funktionsplan programmieren Sie die Steuerungsaufgabe angelehnt an elektro-nische Schaltkreissysteme Binaumlre Verknuumlpfungen werden durch Verschaltung vonUND- und ODER-Funktionen realisiert und mit Speicher-Boxen abgeschlossen (Bild16) Komplexe Boxen uumlbernehmen die Verknuumlpfung digitaler Variablen beispiels-weise bei den arithmetischen Funktionen

Bild 15 Beispiel fuumlr die Darstellung in Kontaktplan

Bild 16 Beispiel fuumlr die Darstellung in Funktionsplan

11 Uumlbersicht Automatisierungssystem S7-300

27

Mit Anweisungsliste programmieren Sie die Steuerungsaufgabe durch eine Folgevon Anweisungen Jede AWL-Anweisung enthaumllt eine Vorschrift was zu tun ist undeventuell einen Operand mit dem die Operation ausgefuumlhrt wird AWL ist gleicher-maszligen geeignet fuumlr binaumlre und digitale Verknuumlpfungen wie fuumlr die Programmierungkomplexer Steuerungsaufgaben (Bild 17)

Structured Control Language eignet sich besonders fuumlr die Programmierung vonkomplexen Algorithmen oder fuumlr Aufgabenstellungen aus dem Bereich der Datenver-waltung Das Programm besteht aus SCL-Anweisungen die beispielsweise Wertzuwei-sungen Vergleiche oder Kontrollanweisungen sein koumlnnen (Bild 18)

Mit GRAPH programmieren Sie eine Steuerungsaufgabe als Ablaufsteuerung in derdie sequenzielle Folge von Aktionen vorherrscht Die einzelnen Schritte und Verzwei-gungen werden durch Weiterschaltbedingungen freigegeben die mit KOP oder FUPprogrammiert werden koumlnnen (Bild 19)

114 Bearbeitung des Anwenderprogramms

Nach dem Einschalten der Versorgungsspannung pruumlft der Steuerungsprozessordie Konsistenz der Hardware und parametriert die Baugruppen Anschlieszligend wirdeinmalig ndash falls vorhanden ndash ein Anlaufprogramm bearbeitet Das Anlaufpro-

Bild 17 Beispiel fuumlr AWL-Anweisungen

Bild 18 Beispiel fuumlr SCL-Anweisungen

1 Einfuumlhrung

28

gramm gehoumlrt zum Anwenderprogramm das Sie programmieren Im Anlaufpro-gramm koumlnnen beispielsweise Baugruppen initialisiert werden

Das Anwenderprogramm ist in der Regel in einzelne Abschnitte ndash bdquoBausteineldquo ge-nannt ndash eingeteilt Die Organisationsbausteine (OB) sind die Schnittstelle zwischenBetriebssystem und Anwenderprogramm Das Betriebssystem ruft zu bestimmtenEreignissen einen Organisationsbaustein auf in dem dann das Anwenderpro-gramm bearbeitet wird (Bild 110)

Bild 19 Beispiel fuumlr eine GRAPH-Ablaufkette und eine Schrittprojektierung

Bild 110 Bearbeitung des Anwenderprogramms

Anlauf-programm

Alarm- undFehlerprogramm

Haupt-programm

Bearbeitung des Anwenderprogramms

Einschalten

Aktualisierung derEin- und Ausgaumlnge

Unterbrechung(Alarm oder Fehler)

BetriebszustandANLAUF

Betriebssystem Anwenderprogramm

BetriebszustandRUN

OB

OB

FBFC

FBFC

FBFC

FBFC

FBFC

FBFC

OB

Unterbrechung

11 Uumlbersicht Automatisierungssystem S7-300

29

Zur Strukturierung das Programms stehen Funktionsbausteine (FB) und Funktio-nen (FC) zur Verfuumlgung Funktionsbausteine haben einen Speicher in dem lokaleVariablen dauerhaft abgelegt sind Funktionen haben diesen Speicher nicht

Fuumlr den Aufruf (das Starten der Bearbeitung) von Funktionsbausteinen und Funk-tionen gibt es Programmanweisungen Jeder Bausteinaufruf kann mit Ein- undAusgaumlngen ndash bdquoBausteinparameterldquo genannt ndash versehen werden Beim Aufruf koumln-nen Variablen uumlbergeben werden mit denen das Programm im Baustein arbeitensoll Auf diese Weise kann ein Baustein mit einer gewissen Funktion (z B der Addi-tion von drei Variablen) mehrfach mit unterschiedlichen Parametersaumltzen (z B fuumlrunterschiedliche Berechnungen) aufgerufen werden (Bild 111)

Die Daten des Anwenderprogramms werden in Datenbausteinen (DB) abgelegtInstanz-Datenbausteine sind einem Aufruf eines Funktionsbausteins fest zugeord-net und bilden den Variablenspeicher des Funktionsbausteins Global-Datenbau-steine enthalten Daten die keinem Baustein zugeordnet sind

Nach einem Anlauf aktualisiert der Steuerungsprozessor die Ein- und Ausgangs-signale in den Prozessabbildern und ruft den Organisationsbaustein OB 1 auf Hiersteht das Hauptprogramm Auch im Hauptprogramm ist eine Strukturierung moumlg-lich und zu empfehlen Ist das Hauptprogramm bearbeitet wechselt der Steue-rungsprozessor zuruumlck ins Betriebssystem haumllt beispielsweise die Kommunikati-on mit dem Programmiergeraumlt aufrecht aktualisiert die Ein- und Ausgangssignaleund beginnt dann erneut mit der Bearbeitung des Hauptprogramms

Die zyklische Programmbearbeitung ist ein Merkmal speicherprogrammierbarerSteuerungen Das Anwenderprogramm wird auch dann bearbeitet wenn bdquovon au-szligenldquo keine Aktionen gefordert sind wenn also z B die gesteuerte Maschine stehtDies hat Vorteile bei der Programmierung Sie programmieren beispielsweise den

Bild 111 Beispiel fuumlr zwei Aufrufe eines Bausteins mit jeweils verschiedenen Variablen

Page 27: Berger Automatisieren mit SIMATIC S7-300 im TIA Portal · Automatisieren mit SIMATIC S7-300 im TIA Portal Projektieren, Programmieren und Testen mit STEP 7 Professional von Hans Berger

11 Uumlbersicht Automatisierungssystem S7-300

27

Mit Anweisungsliste programmieren Sie die Steuerungsaufgabe durch eine Folgevon Anweisungen Jede AWL-Anweisung enthaumllt eine Vorschrift was zu tun ist undeventuell einen Operand mit dem die Operation ausgefuumlhrt wird AWL ist gleicher-maszligen geeignet fuumlr binaumlre und digitale Verknuumlpfungen wie fuumlr die Programmierungkomplexer Steuerungsaufgaben (Bild 17)

Structured Control Language eignet sich besonders fuumlr die Programmierung vonkomplexen Algorithmen oder fuumlr Aufgabenstellungen aus dem Bereich der Datenver-waltung Das Programm besteht aus SCL-Anweisungen die beispielsweise Wertzuwei-sungen Vergleiche oder Kontrollanweisungen sein koumlnnen (Bild 18)

Mit GRAPH programmieren Sie eine Steuerungsaufgabe als Ablaufsteuerung in derdie sequenzielle Folge von Aktionen vorherrscht Die einzelnen Schritte und Verzwei-gungen werden durch Weiterschaltbedingungen freigegeben die mit KOP oder FUPprogrammiert werden koumlnnen (Bild 19)

114 Bearbeitung des Anwenderprogramms

Nach dem Einschalten der Versorgungsspannung pruumlft der Steuerungsprozessordie Konsistenz der Hardware und parametriert die Baugruppen Anschlieszligend wirdeinmalig ndash falls vorhanden ndash ein Anlaufprogramm bearbeitet Das Anlaufpro-

Bild 17 Beispiel fuumlr AWL-Anweisungen

Bild 18 Beispiel fuumlr SCL-Anweisungen

1 Einfuumlhrung

28

gramm gehoumlrt zum Anwenderprogramm das Sie programmieren Im Anlaufpro-gramm koumlnnen beispielsweise Baugruppen initialisiert werden

Das Anwenderprogramm ist in der Regel in einzelne Abschnitte ndash bdquoBausteineldquo ge-nannt ndash eingeteilt Die Organisationsbausteine (OB) sind die Schnittstelle zwischenBetriebssystem und Anwenderprogramm Das Betriebssystem ruft zu bestimmtenEreignissen einen Organisationsbaustein auf in dem dann das Anwenderpro-gramm bearbeitet wird (Bild 110)

Bild 19 Beispiel fuumlr eine GRAPH-Ablaufkette und eine Schrittprojektierung

Bild 110 Bearbeitung des Anwenderprogramms

Anlauf-programm

Alarm- undFehlerprogramm

Haupt-programm

Bearbeitung des Anwenderprogramms

Einschalten

Aktualisierung derEin- und Ausgaumlnge

Unterbrechung(Alarm oder Fehler)

BetriebszustandANLAUF

Betriebssystem Anwenderprogramm

BetriebszustandRUN

OB

OB

FBFC

FBFC

FBFC

FBFC

FBFC

FBFC

OB

Unterbrechung

11 Uumlbersicht Automatisierungssystem S7-300

29

Zur Strukturierung das Programms stehen Funktionsbausteine (FB) und Funktio-nen (FC) zur Verfuumlgung Funktionsbausteine haben einen Speicher in dem lokaleVariablen dauerhaft abgelegt sind Funktionen haben diesen Speicher nicht

Fuumlr den Aufruf (das Starten der Bearbeitung) von Funktionsbausteinen und Funk-tionen gibt es Programmanweisungen Jeder Bausteinaufruf kann mit Ein- undAusgaumlngen ndash bdquoBausteinparameterldquo genannt ndash versehen werden Beim Aufruf koumln-nen Variablen uumlbergeben werden mit denen das Programm im Baustein arbeitensoll Auf diese Weise kann ein Baustein mit einer gewissen Funktion (z B der Addi-tion von drei Variablen) mehrfach mit unterschiedlichen Parametersaumltzen (z B fuumlrunterschiedliche Berechnungen) aufgerufen werden (Bild 111)

Die Daten des Anwenderprogramms werden in Datenbausteinen (DB) abgelegtInstanz-Datenbausteine sind einem Aufruf eines Funktionsbausteins fest zugeord-net und bilden den Variablenspeicher des Funktionsbausteins Global-Datenbau-steine enthalten Daten die keinem Baustein zugeordnet sind

Nach einem Anlauf aktualisiert der Steuerungsprozessor die Ein- und Ausgangs-signale in den Prozessabbildern und ruft den Organisationsbaustein OB 1 auf Hiersteht das Hauptprogramm Auch im Hauptprogramm ist eine Strukturierung moumlg-lich und zu empfehlen Ist das Hauptprogramm bearbeitet wechselt der Steue-rungsprozessor zuruumlck ins Betriebssystem haumllt beispielsweise die Kommunikati-on mit dem Programmiergeraumlt aufrecht aktualisiert die Ein- und Ausgangssignaleund beginnt dann erneut mit der Bearbeitung des Hauptprogramms

Die zyklische Programmbearbeitung ist ein Merkmal speicherprogrammierbarerSteuerungen Das Anwenderprogramm wird auch dann bearbeitet wenn bdquovon au-szligenldquo keine Aktionen gefordert sind wenn also z B die gesteuerte Maschine stehtDies hat Vorteile bei der Programmierung Sie programmieren beispielsweise den

Bild 111 Beispiel fuumlr zwei Aufrufe eines Bausteins mit jeweils verschiedenen Variablen

Page 28: Berger Automatisieren mit SIMATIC S7-300 im TIA Portal · Automatisieren mit SIMATIC S7-300 im TIA Portal Projektieren, Programmieren und Testen mit STEP 7 Professional von Hans Berger

1 Einfuumlhrung

28

gramm gehoumlrt zum Anwenderprogramm das Sie programmieren Im Anlaufpro-gramm koumlnnen beispielsweise Baugruppen initialisiert werden

Das Anwenderprogramm ist in der Regel in einzelne Abschnitte ndash bdquoBausteineldquo ge-nannt ndash eingeteilt Die Organisationsbausteine (OB) sind die Schnittstelle zwischenBetriebssystem und Anwenderprogramm Das Betriebssystem ruft zu bestimmtenEreignissen einen Organisationsbaustein auf in dem dann das Anwenderpro-gramm bearbeitet wird (Bild 110)

Bild 19 Beispiel fuumlr eine GRAPH-Ablaufkette und eine Schrittprojektierung

Bild 110 Bearbeitung des Anwenderprogramms

Anlauf-programm

Alarm- undFehlerprogramm

Haupt-programm

Bearbeitung des Anwenderprogramms

Einschalten

Aktualisierung derEin- und Ausgaumlnge

Unterbrechung(Alarm oder Fehler)

BetriebszustandANLAUF

Betriebssystem Anwenderprogramm

BetriebszustandRUN

OB

OB

FBFC

FBFC

FBFC

FBFC

FBFC

FBFC

OB

Unterbrechung

11 Uumlbersicht Automatisierungssystem S7-300

29

Zur Strukturierung das Programms stehen Funktionsbausteine (FB) und Funktio-nen (FC) zur Verfuumlgung Funktionsbausteine haben einen Speicher in dem lokaleVariablen dauerhaft abgelegt sind Funktionen haben diesen Speicher nicht

Fuumlr den Aufruf (das Starten der Bearbeitung) von Funktionsbausteinen und Funk-tionen gibt es Programmanweisungen Jeder Bausteinaufruf kann mit Ein- undAusgaumlngen ndash bdquoBausteinparameterldquo genannt ndash versehen werden Beim Aufruf koumln-nen Variablen uumlbergeben werden mit denen das Programm im Baustein arbeitensoll Auf diese Weise kann ein Baustein mit einer gewissen Funktion (z B der Addi-tion von drei Variablen) mehrfach mit unterschiedlichen Parametersaumltzen (z B fuumlrunterschiedliche Berechnungen) aufgerufen werden (Bild 111)

Die Daten des Anwenderprogramms werden in Datenbausteinen (DB) abgelegtInstanz-Datenbausteine sind einem Aufruf eines Funktionsbausteins fest zugeord-net und bilden den Variablenspeicher des Funktionsbausteins Global-Datenbau-steine enthalten Daten die keinem Baustein zugeordnet sind

Nach einem Anlauf aktualisiert der Steuerungsprozessor die Ein- und Ausgangs-signale in den Prozessabbildern und ruft den Organisationsbaustein OB 1 auf Hiersteht das Hauptprogramm Auch im Hauptprogramm ist eine Strukturierung moumlg-lich und zu empfehlen Ist das Hauptprogramm bearbeitet wechselt der Steue-rungsprozessor zuruumlck ins Betriebssystem haumllt beispielsweise die Kommunikati-on mit dem Programmiergeraumlt aufrecht aktualisiert die Ein- und Ausgangssignaleund beginnt dann erneut mit der Bearbeitung des Hauptprogramms

Die zyklische Programmbearbeitung ist ein Merkmal speicherprogrammierbarerSteuerungen Das Anwenderprogramm wird auch dann bearbeitet wenn bdquovon au-szligenldquo keine Aktionen gefordert sind wenn also z B die gesteuerte Maschine stehtDies hat Vorteile bei der Programmierung Sie programmieren beispielsweise den

Bild 111 Beispiel fuumlr zwei Aufrufe eines Bausteins mit jeweils verschiedenen Variablen

Page 29: Berger Automatisieren mit SIMATIC S7-300 im TIA Portal · Automatisieren mit SIMATIC S7-300 im TIA Portal Projektieren, Programmieren und Testen mit STEP 7 Professional von Hans Berger

11 Uumlbersicht Automatisierungssystem S7-300

29

Zur Strukturierung das Programms stehen Funktionsbausteine (FB) und Funktio-nen (FC) zur Verfuumlgung Funktionsbausteine haben einen Speicher in dem lokaleVariablen dauerhaft abgelegt sind Funktionen haben diesen Speicher nicht

Fuumlr den Aufruf (das Starten der Bearbeitung) von Funktionsbausteinen und Funk-tionen gibt es Programmanweisungen Jeder Bausteinaufruf kann mit Ein- undAusgaumlngen ndash bdquoBausteinparameterldquo genannt ndash versehen werden Beim Aufruf koumln-nen Variablen uumlbergeben werden mit denen das Programm im Baustein arbeitensoll Auf diese Weise kann ein Baustein mit einer gewissen Funktion (z B der Addi-tion von drei Variablen) mehrfach mit unterschiedlichen Parametersaumltzen (z B fuumlrunterschiedliche Berechnungen) aufgerufen werden (Bild 111)

Die Daten des Anwenderprogramms werden in Datenbausteinen (DB) abgelegtInstanz-Datenbausteine sind einem Aufruf eines Funktionsbausteins fest zugeord-net und bilden den Variablenspeicher des Funktionsbausteins Global-Datenbau-steine enthalten Daten die keinem Baustein zugeordnet sind

Nach einem Anlauf aktualisiert der Steuerungsprozessor die Ein- und Ausgangs-signale in den Prozessabbildern und ruft den Organisationsbaustein OB 1 auf Hiersteht das Hauptprogramm Auch im Hauptprogramm ist eine Strukturierung moumlg-lich und zu empfehlen Ist das Hauptprogramm bearbeitet wechselt der Steue-rungsprozessor zuruumlck ins Betriebssystem haumllt beispielsweise die Kommunikati-on mit dem Programmiergeraumlt aufrecht aktualisiert die Ein- und Ausgangssignaleund beginnt dann erneut mit der Bearbeitung des Hauptprogramms

Die zyklische Programmbearbeitung ist ein Merkmal speicherprogrammierbarerSteuerungen Das Anwenderprogramm wird auch dann bearbeitet wenn bdquovon au-szligenldquo keine Aktionen gefordert sind wenn also z B die gesteuerte Maschine stehtDies hat Vorteile bei der Programmierung Sie programmieren beispielsweise den

Bild 111 Beispiel fuumlr zwei Aufrufe eines Bausteins mit jeweils verschiedenen Variablen