Automatisieren mit STEP7 in KOP und FUP Speicherprogrammierbare Steuerungen SIMATIC S7-300/400 von Hans Berger 5. überarbeitete und erweiterte Auflage, 2008 Publicis Corporate Publishing
Inhaltsverzeichnis Einführung 19 1 Automatisierungssystem SIMATIC S7-3007400 20 1.1 Aufbau des Automatisierungssystems 20 1.1.1 Komponenten 20 1.1.2 S7-300-Station 20 1.1.3 S7-400-Station 23 1.1.4 Hochverfügbare SIMATIC... 23 1.1.5 Sicherheitsgerichtete SIMATIC.. 24 1.1.6 Speicherbereiche der Zentralbaugruppe 25 1.2 Dezentrale Peripherie 29 1.2.1 PROFIBUS DP 29 1.2.2 PROFINET 10 31 1.2.3 Aktor-/Sensor-Interface 32 1.2.4 Netzübergänge 33 1.3 Kommunikation 36 1.3.1 Einführung 36 1.3.2 Subnetze 38 1.3.3 Kommunikationsdienste 42 1.3.4 Verbindungen 43 1.4 Baugruppenadressen 44 1.4.1 Signalweg 44 1.4.2 Steckplatzadresse 44 1.4.3 Logische Adresse 44 1.4.4 Baugruppenanfangsadresse... 46 1.4.5 Diagnoseadresse 46 1.4.6 Adressen für Busteilnehmer... 46 1.5 Operandenbereiche 47 1.5.1 Nutzdatenbereich 47 1.5.2 Prozessabbild 48 1.5.3 Konsistente Nutzdaten 49 1.5.4 Merker 50 2 Programmiersoftware STEP 7. 51 2.1 STEP 7 Basis 51 2.1.1 Installation 51 2.1.2 Automation License Manager.. 52 2.1.3 SIMATIC Manager 52 2.1.4 Projekte und Bibliotheken... 55 2.1.5 Multiprojekte 56 2.1.6 Online-Hilfe 56 2.2 Projekt bearbeiten 57 2.2.1 Projekt anlegen 57 2.2.2 Verwalten, reorganisieren und archivieren 58 2.2.3 Projektversionen 59 2.2.4 Multiprojekt anlegen und bearbeiten 60 2.3 Station konfigurieren 61 2.3.1 Baugruppen anordnen 63 2.3.2 Baugruppen adressieren 63 2.3.3 Baugruppen parametrieren.... 64 2.3.4 Baugrappen mit MPI vernetzen. 64 2.3.5 Baugrappen beobachten und steuern 64 2.4 Netz projektieren 65 2.4.1 Netzansicht konfigurieren... 66 2.4.2 Dezentrale Peripherie mit der Netzprojektierung konfigurieren. 67 2.4.3 Verbindungen projektieren... 68 2.4.4 Netzübergänge 71 2.4.5 Verbindungsdaten laden 72 2.4.6 Projekte im Multiprojekt abgleichen 72 12
2.5 2.5.1 2.5.2 2.5.3 2.5.4 2.5.5 2.5.6 2.5.7 2.6 2.6.1 2.6.2 2.6.3 2.6.4 2.6.5 2.7 2.7.1 2.7.2 2.7.3 2.7.4 2.7.5 2.7.6 2.7.7 2.7.8 3 3.1 3.1.1 3.1.2 3.1.3 3.2 3.2.1 3.2.2 3.2.3 3.2.4 3.3 3.3.1 3.3.2 3.3.3 3.3.4 3.3.5 3.3.6 3.3.7 S7-Programm erstellen 74 Einführung 74 Symboltabelle 75 Programmeditor 76 Umverdrahten 81 Operandenvorrang 81 Referenzdaten 82 Sprachen-Einstellung 84 Online-Betrieb 85 Zielsystem anschließen 85 Schutz des Anwenderprogramms 86 CPU-Informationen 87 Anwenderprogramm in die CPU laden 88 Bausteinhantierung 88 Programm testen 91 Hardware diagnostizieren... 91 STOP-Ursache ermitteln 91 Variablen beobachten und steuern 92 Variablen forcen 94 Peripherieausgänge freischalten. 95 Test- und Prozessbetrieb 95 KOP/FUP-Programmstatus... 96 Datenoperanden beobachten und steuern 97 SIMATICS7-Programm.... 99 Programmbearbeitung 99 Programmbearbeitungsarten... 99 Prioritätsklassen 101 Festlegungen zur Programmbearbeitung 101 Bausteine 104 Bausteinarten 104 Bausteinstruktur 106 Bausteineigenschaften 107 Bausteinschnittstelle 109 Codebaustein programmieren.. 112 Baustein öffnen 112 Bausteinfenster 112 Übersichtenfenster 113 Netzwerke programmieren.... 114 Operandenadressierung 115 KOP-Elemente editieren 116 FUP-Elemente editieren 118 3.4 Datenbaustein programmieren. 120 3.4.1 Datenbaustein erzeugen 120 3.4.2 Datenbaustein-Typen 120 3.4.3 Bausteinfenster und Sichten.. 121 3.5 Variablen, Konstanten und Datentypen 123 3.5.1 Allgemeines zu Variablen... 123 3.5.2 Variablen adressieren 124 3.5.3 Übersicht Datentypen 126 3.5.4 Elementare Datentypen 126 3.5.5 Zusammengesetzte Datentypen. 132 3.5.6 Parametertypen 136 3.5.7 Anwenderdefinierte Datentypen 136 Basisfunktionen 138 4 Binäre Verknüpfungen... 139 4.1 Reihen- und Parallelschaltung (KOP) 139 4.1.1 Schließerkontakt und Öffnerkontakt 139 4.1.2 Reihenschaltung 140 4.1.3 Parallelschaltung 141 4.1.4 Zusammengesetzte binäre Verknüpfungen 142 4.1.5 Verknüpfungsergebnis negieren 143 4.2 Binäre Verknüpfungen (FUP). 143 4.2.1 Elementare binäre Verknüpfungen 144 4.2.2 Zusammengesetzte binäre Verknüpfungen 147 4.2.3 Verknüpfungsergebnis negieren 148 4.3 Berücksichtigung der Geberart. 148 5 Speicherfunktionen 151 5.1 KOP-Spulen 151 5.1.1 Einfache Spule 151 5.1.2 Setzen-und Rücksetzen-Spule. 151 5.1.3 Speicher-Box 153 5.2 FUP-Boxen 155 5.2.1 Zuweisen 156 5.2.2 Setzen- und Rücksetzen-Box.. 156 5.2.3 Speicher-Box 158
Inhaltsverzeichni s 5.3 Konnektoren 160 5.3.1 Konnektoren bei KOP 160 5.3.2 Konnektoren bei FUP 161 5.4 Flankenauswertung 162 5.4.1 Funktionsweise einer Flankenauswertung 162 5.4.2 Flankenauswertung bei KOP.. 162 5.4.3 Flankenauswertung bei FUP.. 164 5.5 Binäruntersetzer 165 5.5.1 Lösung in KOP 165 5.5.2 Lösung in FUP 166 5.6 Beispiel Förderbandsteuerung.. 167 6 Übertragungsfunktionen. 6.1 Allgemeines 6.2 MOVE-Box 6.2.1 Bearbeitung der MOVE-Box 6.2.2 Übertragen von Operanden. 6.2.3 Übertragen von Konstanten. 6.3 6.3.1 6.3.2 6.3.3 6.3.4 6.3.5 6.3.6 Systemfunktionen für Datenübertragung ANY-Zeiger Datenbereich kopieren Datenbereich ununterbrechbar kopieren Datenbereich füllen Lesen aus dem Ladespeicher. Schreiben in den Ladespeicher 171 171 172 172 174 175 175 176 176 176 178 178 179 7.3 Zeitverhalten als verlängerter Impuls 187 7.4 Zeitverhalten als Einschaltverzögerung 188 7.5 Zeitverhalten als speichernde Einschaltverzögerung 189 7.6 Zeitverhalten als Ausschaltverzögerung 190 7.7 IEC-Zeitfunktionen 191 7.7.1 Impulsbildung SFB 3 TP 191 7.7.2 Einschaltverzögerung SFB 4 TON 191 7.7.3 Ausschaltverzögerung SFB 5 TOF 192 8 Zählfunktionen 193 8.1 Programmieren einer Zählfunktion 193 8.2 Zähler setzen und rücksetzen... 196 8.3 Zählen 196 8.4 Abfragen einer Zählfunktion... 197 8.5 IEC-Zählfunktionen 198 8.5.1 Vorwärtszähler SFB 0 CTU... 198 8.5.2 Rückwärtszähler SFB 1 CTD... 198 8.5.3 Vorwärts-Rückwärtszähler SFB2CTUD 199 8.6 Beispiel Fördergutzähler 199 7.1 7.1.1 7.1.2 7.1.3 7.1.4 7.1.5 7.1.6 7.1.7 7.1.8 7.2 Zeitfunktionen 181 Programmieren einer Zeitfunktion 181 Allgemeine Darstellung einer Zeitfunktion 181 Starten einer Zeitfunktion... 183 Vorgabe der Zeitdauer 183 Rücksetzen einer Zeitfunktion.. 184 Abfragen einer Zeitfunktion... 184 Reihenfolge der Zeitoperationen 185 Zeit-Box in einem Strompfad (KOP) 185 Zeit-Box in einer Verknüpfung (FUP) 185 Zeitverhalten als Impuls 186 Digitalfunktionen... 203 9 Vergleichsfunktionen 204 9.1 Bearbeitung einer Vergleichsfunktion 204 9.2 Beschreibung der Vergleichsfunktionen 206 10 Arithmetische Funktionen... 208 10.1 Bearbeitung einer arithmetischen Funktion 208 10.2 Rechnen mit Datentyp INT.... 210 10.3 Rechnen mit Datentyp DINT... 211 10.4 Rechnen mit Datentyp REAL.. 212 14
11 Mathematische Funktionen.. 213 11.1 Bearbeitung einer mathematischen Funktion... 213 11.2 Winkelfunktionen 215 11.3 Arcusfunktionen 215 11.4 Sonstige mathematische Funktionen 215 12 Umwandlungsfunktionen... 218 12.1 Bearbeitung einer Umwandlungsfunktion 218 12.2 Umwandeln von INT-und DINT-Zahlen 220 12.3 Umwandlung von BCD-Zahlen. 221 12.4 Umwandlung von REAL-Zahlen 221 12.5 Sonstige Umwandlungsfunktionen 223 13 Schiebefunktionen 224 13.1 Bearbeitung einer Schiebefunktion 224 13.2 Schieben 226 13.3 Rotieren 227 14 Wortverknüpfungen 228 14.1 Bearbeitung einer Wortverknüpfung 228 14.2 Beschreibung der Wortverknüpfungen 230 Programmfluss-Steuerung 231 15 Statusbits 232 15.1 Beschreibung der Statusbits... 232 15.2 Setzen der Statusbits 233 15.3 Auswertung der Statusbits.... 235 15.4 Anwendung des B inärergebnisses 236 15.4.1 Speichern des Binärergebnisses BIE 236 15.4.2 Hauptstrompfad, EN-/ENO-Mechanismus 236 15.4.3 ENO bei selbstgeschriebenen Bausteinen 237 16 Sprungfunktionen 239 16.1 Bearbeitung einer Sprungfunktion 239 16.2 Sprung absolut 240 16.3 Sprung bei VKE = 1" 241 16.4 Sprung bei VKE = 0" 241 17 Master Control Relay 242 17.1 MCR-Abhängigkeit 242 17.2 MCR-Bereich 243 17.3 MCR-Zone 244 17.4 Peripheriebits setzen und rücksetzen 246 18 Bausteinfunktionen 247 18.1 Bausteinfunktionen für Codebausteine 247 18.1.1 Allgemeines zu Bausteinaufrufen 248 18.1.2 Aufruf-Box 249 18.1.3 CALL-Spule/Box 251 18.1.4 Bausteinendefunktion 252 18.1.5 Temporäre Lokaldaten 252 18.1.6 Statische Lokaldaten 254 18.2 Bausteinfunktionen für Datenbausteine 257 18.2.1 Zwei Datenbausteinregister... 257 18.2.2 Zugriff auf Datenoperanden.. 258 18.2.3 Datenbaustein aufschlagen... 259 18.2.4 Besonderheiten bei der Datenadressierung 260 18.3 Systemfunktionen für Datenbausteine 261 18.3.1 Erzeugen eines Datenbausteins im Arbeitsspeicher 262 18.3.2 Erzeugen eines Datenbausteins im Ladespeicher 262 18.3.3 Löschen eines Datenbausteins. 264 18.3.4 Testen eines Datenbausteins.. 264
19 Bausteinparameter 265 19.1 Bausteinparameter allgemein.. 265 19.1.1 Festlegung der Bausteinparameter 265 19.1.2 Bearbeitung der Bausteinparameter 266 19.1.3 Deklaration der Bausteinparameter 266 19.1.4 Deklaration des Funktionswerts. 267 19.1.5 Versorgung von Bausteinparametern 267 19.2 Formalparameter 268 19.3 Aktualparameter 270 19.4 Weiterreichen" von Bausteinparametern 273 19.5 Beispiele 274 19.5.1 Beispiel Förderband 274 19.5.2 Beispiel Stückgutzähler 275 19.5.3 Beispiel Zuförderung 275 Programmbearbeitung 283 20 Hauptprogramm 284 20.1 Programmgliederung 284 20.1.1 Programmstruktur 284 20.1.2 Programmorganisation 285 20.2 Zyklussteuerung 286 20.2.1 Prozessabbild-Aktualisierung.. 286 20.2.2 Zyklusüberwachungszeit... 288 20.2.3 Mindestzyklusdauer, Hintergrundbearbeitung 289 20.2.4 Reaktionszeit 290 20.2.5 Startinformation 291 20.3 Programmfunktionen 293 20.3.1 Uhrzeit 293 20.3.2 Systemzeit lesen 295 20.3.3 Betriebsstundenzähler 295 20.3.4 CPU-Speicher komprimieren.. 297 20.3.5 Warten und Stoppen 297 20.3.6 Mehrprozessorbetrieb 297 20.3.7 OB-Programmlaufzeit ermitteln. 298 20.3.8 Programmschutz ändern 301 20.4 Kommunikation über dezentrale Peripherie 302 20.4.1 PROFIBUS DP adressieren... 302 20.4.2 PROFIBUS DP projektieren... 307 20.4.3 Sonderfunktionen für PROFIBUS DP 315 20.4.4 PROFINET IO adressieren.... 320 20.4.5 PROFINET IO projektieren... 322 20.4.6 Sonderfunktionen für PROFINET IO 326 20.4.7 Funktionen für die dezentrale Peripherie 331 20.5 Globaldatenkommunikation... 338 20.5.1 Grundlagen 338 20.5.2 GD-Kommunikation projektieren 340 20.5.3 Systemfunktionen für GD-Kommunikation 342 20.6 S7-Basiskommunikation 342 20.6.1 Stationsinterne S7-Basiskommunikation 342 20.6.2 Systemfunktionen für stationsinterne S7-Basiskommunikation 343 20.6.3 Stationsexterne S7-Basiskommunikation 345 20.6.4 Systemfunktionen für stationsexterne S7-Basis-kommunikation 346 20.7 S7-Kommunikation 348 20.7.1 Grundlagen 348 20.7.2 Zweiseitiger Datenaustausch... 350 20.7.3 Einseitiger Datenaustausch... 352 20.7.4 Druckdaten übertragen 353 20.7.5 Steuerfunktionen 353 20.7.6 Überwachungsfunktionen... 354 20.8 IE-Kommunikation 358 20.8.1 Grundlagen 358 20.8.2 Verbindungen auf-und abbauen. 359 20.8.3 Datenübertragung mit TCP native oder ISO-on-TCP.. 360 20.8.4 Datenübertragung mit UDP... 363 16
20.9 PtP-Kommunikation bei S7-300C 365 20.9.1 Grundlagen 365 20.9.2 ASCII-Treiber und Prozedur 3964(R) 366 20.9.3 Rechnerkopplung RK512... 367 20.10 Configuration in RUN 370 20.10.1 Konfigurationsänderungen vorbereiten 371 20.10.2 Konfiguration ändern 372 20.10.3 Konfiguration laden 372 20.10.4 CiR-Synchronisationszeit... 373 20.10.5 Auswirkungen auf die Programmbearbeitung 373 20.10.6 CiR-Vorgang steuern 374 21 Alarmbearbeitung 375 21.1 Allgemeines 375 21.2 Uhrzeitalarme 376 21.2.1 Bearbeitung der Uhrzeitalarme. 377 21.2.2 Uhrzeitalarme mit STEP 7 projektieren 378 21.2.3 Systemfunktionen für Uhrzeitalarme 378 21.3 Verzögerungsalarme 380 21.3.1 Bearbeitung der Verzögerungsalarme 380 21.3.2 Verzögerungsalarme mit STEP 7 projektieren 381 21.3.3 Systemfunktionen für Verzögerungsalarme 381 21.4 Weckalarme 382 21.4.1 Bearbeitung der Weckalarme.. 383 21.4.2 Weckalarme mit STEP 7 projektieren 384 21.5 Prozessalarme 385 21.5.1 Auslösung eines Prozessalarms. 385 21.5.2 Bearbeitung der Prozessalarme. 386 21.5.3 Prozessalarme mit STEP 7 projektieren 386 21.6 DPVl-Alarme 387 21.7 Mehrprozessoralarm 387 21.8 Taktsynchronalarme 390 21.8.1 Bearbeitung der Taktsynchronalarme 390 21.8.2 Prozessabbild taktsynchron aktualisieren 391 21.8.3 Taktsynchronalarme mit STEP 7 projektieren 391 21.9 Alarmereignisse hantieren... 392 21.9.1 Alarme sperren und freigeben. 392 21.9.2 Alarme verzögern und freigeben 393 21.9.3 Alarmzusatzinformation lesen. 393 22 Anlaufverhalten 396 22.1 Allgemeines 396 22.1.1 Betriebszustände 396 22.1.2 Betriebszustand HALT 397 22.1.3 Sperren der Ausgabebaugruppen 397 22.1.4 Anlauf-Organisationsbausteine. 397 22.2 Einschalten 398 22.2.1 Betriebszustand STOP 398 22.2.2 Urlöschen 399 22.2.3 Auslieferungszustand wiederherstellen 399 22.2.4 Remanenzverhalten 399 22.2.5 Anlaufparametrierung 400 22.3 Anlaufarten 400 22.3.1 Betriebszustand ANLAUF... 400 22.3.2 Kaltstart 401 22.3.3 Warmstart (Neustart) 401 22.3.4 Wiederanlauf 403 22.4 Baugruppenadresse ermitteln.. 404 22.5 Baugruppen parametrieren... 407 22.5.1 Allgemeines zum Parametrieren von Baugruppen 407 22.5.2 Systembausteine zur Baugruppenparametrierung... 409 22.5.3 Bausteine zur Datensatzübertragung 411
23 Fehlerbehandlung 413 23.1 Synchronfehler 413 23.2 Synchronfehlerereignisse hantieren 415 23.2.1 Fehlermasken 416 23.2.2 Synchronfehlerereignisse maskieren 416 23.2.3 Synchronfehlerereignisse demaskieren 417 23.2.4 Ereignisstatusregister lesen... 417 23.2.5 Ersatzwert eintragen 418 23.3 Asynchronfehler 418 23.4 Systemdiagnose 420 23.4.1 Diagnoseereignisse und Diagnosepuffer 420 23.4.2 Anwendereintrag in den Diagnosepuffer schreiben... 421 23.4.3 Auswertung des Diagnosealarms 422 23.4.4 Systemzustandsliste lesen... 422 23.5 Webserver 425 23.5.1 Webserver aktivieren 425 23.5.2 Web-Informationen auslesen.. 425 23.5.3 Web-Informationen 425 Anhang 427 24 Ergänzungen zur grafischen Programmierung 428 24.1 Bausteinschutz 428 24.2 Indirekte Adressierung 429 24.2.1 Zeiger allgemein 429 24.2.2 Bereichszeiger 429 24.2.3 DB-Zeiger 431 24.2.4 ANY-Zeiger 431 24.2.5 Variabler" ANY-Zeiger 432 24.3 Kurzbeschreibung Beispiel Telegramm" 432 25 Baustein-Bibliotheken 436 25.1 Organization Blocks 436 25.2 System Function Blocks 437 25.3 IEC Function Blocks 440 25.4 S5-S7 Converting Blocks 441 25.5 TI-S7 Converting Blocks 442 25.6 PID Control Blocks 443 25.7 Communication Blocks 443 25.8 Miscellaneous Blocks 443 25.9 SIMATICNETCP 444 25.10 Redundant IO (VI) 445 26 Funktionsvorrat KOP 446 26.1 Basisfunktionen 446 26.2 Digitalfunktionen 447 26.3 Programmfluss-Steuerung... 449 27 Funktionsvorrat FUP 450 27.1 Basisfunktionen 450 27.2 Digitalfunktionen 451 27.3 Programmfluss-Steuerung... 453 Stichwortverzeichnis 454 Abkürzungsverzeichnis 462 18