im tia portal - gbvinhaltsverzeichnis 2.6 sonstigebaugruppen 62 2.6.1 anschaltungsbaugruppen 62...
TRANSCRIPT
Automatisieren mit
SIMATIC S7-400
im TIA Portal
Projektieren, Programmieren und Testen
mit STEP 7 Professional
von Hans Berger
Publicis Publishing
Inhaltsverzeichnis
Inhaltsverzeichnis
1 Einführung 22
1.1 Übersicht Automatisierungssystem S7-400 22
1.1.1 Automatisierungsgerät SIMATIC S7-400 23
1.1.2 Übersicht STEP 7 Professional VI 1 24
1.1.3 Fünf Programmiersprachen 26
1.1.4 Bearbeitung des Anwenderprogramms 28
1.1.5 Datenhaltung im SIMATIC-Automatisierungssystem 30
1.2 Einführung in STEP 7 Professional VI 1 31
1.2.1 STEP 7 installieren 31
1.2.2 Automation License Manager 32
1.2.3 STEP 7 Professional starten 32
1.2.4 Portalansicht 32
1.2.5 Hilfe-Informationssystem 34
1.2.6 Die Fenster der Projektansicht 34
1.2.7 Bedienoberfläche anpassen 37
1.3 Ein SIMATIC-Projekt bearbeiten 37
1.3.1 Strukturierte Darstellung der Projektdaten 38
1.3.2 Projektdaten und Editoren für eine PLC-Station 39
1.3.3 Ein Projekt erstellen und bearbeiten 42
1.3.4 Bibliotheken anlegen und bearbeiten 45
2 Automatisierungssystem SIMATIC S7-400 46
2.1 Komponenten einer S7-400-Station 46
2.2 CPU-Baugruppen S7-400 50
2.2.1 CPU-Varianten 50
2.2.2 Bedien-und Anzeigeelemente 51
2.2.3 SIMATIC Memory Card 53
2.2.4 Speicherbereiche in einer S7-400-Station 54
2.2.5 Busschnittstellen 55
2.2.6 Schnittstellenmodul IF 964-DP 57
2.3 Signalbaugruppen 57
2.3.1 Digitaleingabebaugruppen 57
2.3.2 Digitalausgabebaugruppen 58
2.3.3 Analogeingabebaugruppen 59
2.3.4 Analogausgabebaugruppe 60
2.4 Funktionsbaugruppen 60
2.5 Kommunikationsbaugruppen 61
8
Inhaltsverzeichnis
2.6 Sonstige Baugruppen 62
2.6.1 Anschaltungsbaugruppen 62
2.6.2 Stromversorgungsbaugruppen 63
2.7 SIPLUS S7-400 64
3 Gerätekonfiguration 66
3.1 Einführung 66
3.2 Eine Station konfigurieren 69
3.2.1 Eine PLC-Station hinzufügen 69
3.2.2 Eine Baugruppe hinzufügen 70
3.2.3 Ein Erweiterungsgerät hinzufügen 71
3.3 Baugruppen parametrieren 71
3.3.1 Die CPU-Eigenschaften parametrieren 72
3.3.2 Baugruppen adressieren 75
3.3.3 Signalbaugruppen parametrieren 77
3.4 Netz projektieren 78
3.4.1 Einführung, Übersicht 78
3.4.2 Stationen vernetzen 79
3.4.3 Teilnehmeradressen in einem Subnetz 81
3.4.4 Verbindungen 82
3.4.5 Ein MPI-Subnetz projektieren 85
3.4.6 EinPROFIBUS-Subnetz projektieren 86
3.4.7 Ein PROFINET-Subnetz projektieren 87
3.4.8 Ein PtP-Subnetz projektieren 91
4 Variablen, Adressierung und Datentypen 94
4.1 Operanden und Variablen 94
4.1.1 Einführung, Übersicht 94
4.1.2 Operandenbereiche Eingänge und Ausgänge 96
4.1.3 Operandenbereich Merker 98
4.1.4 Operandenbereich Daten 99
4.1.5 Operandenbereich temporäre Lokaldaten 99
4.2 Adressierung von Operanden und Variablen 101
4.2.1 Signalweg 101
4.2.2 Absolute Adressierung von Variablen 102
4.2.3 Symbolische Adressierung von Variablen 107
4.2.4 Adressierung von Konstanten 108
4.3 Indirekte Adressierung 109
4.3.1 Speicherindirekte Adressierung mit AWL 110
4.3.2 Registerindirekte Adressierung mit AWL 113
4.3.3 Arbeiten mit den Adressregistern bei AWL 114
4.3.4 Direkter Zugriff auf komplexe Lokalvariablen mit AWL 122
4.3.5 Indirekte Adressierung bei SCL 124
4.4 Elementare Datentypen 126
4.4.1 Einführung 126
9
Inhaltsverzeichnis
4.4.2 Bitfolge-Datentypen BOOL, BYTE, WORD und DWORD 128
4.4.3 BCD-Zahlen BCD16 und BCD32 129
4.4.4 Festpunkt-Datentypen mit Vorzeichen INT und DINT 131
4.4.5 Gleitpunkt-Datentyp REAL 131
4.4.6 Datentyp CHAR 132
4.4.7 Datentypen für Zeitdauern und Zeitpunkte 133
4.5 Zusammengesetzte Datentypen 135
4.5.1 Zeichenkette STRING 135
4.5.2 Datentyp ARRAY 137
4.5.3 Datentyp STRUCT 139
4.6 Parametertypen und Zeiger 141
4.6.1 Parametertypen 141
4.6.2 Zeiger 143
4.6.3 „Variabler" ANY-Zeiger bei AWL 146
4.6.4 „Variabler" ANY-Zeiger bei SCL 148
4.7 PLC-Datentypen 148
4.8 Startinformation 150
5 Programmbearbeitung 151
5.1 Betriebszustände der CPU-Baugruppe 151
5.1.1 Betriebszustand STOP 152
5.1.2 Betriebszustand ANLAUF 153
5.1.3 Betriebszustand RUN 157
5.1.4 Betriebszustand HALT 157
5.1.5 CPUurlöschen 158
5.1.6 Auslieferungszustand wiederherstellen 158
5.1.7 Remanenzverhalten von Operanden 159
5.2 Anwenderprogramm erstellen 159
5.2.1 Programmentwurf 159
5.2.2 Programmbearbeitung 163
5.2.3 Bausteinarten 165
5.2.4 Bausteineigenschaften bearbeiten 167
5.2.5 Bausteinschnittstelle 171
5.2.6 Beispiel zur Verwendung von Bausteinparametern 172
5.3 Bausteine aufrufen 174
5.3.1 Allgemeines zu Aufrufen von Codebausteinen 174
5.3.2 Aufruf von Funktionen (FC) 175
5.3.3 Aufruf von Funktionsbausteinen (FB) 176
5.3.4 „Weiterreichen" von Bausteinparametern 180
5.4 Anlaufprogramm 181
5.4.1 Anlauf-Organisationsbausteine OB 100, OB 101 und OB 102 181
5.4.2 Baugruppenadresse ermitteln 181
5.4.3 Baugruppen parametrieren 183
5.5 Hauptprogramm 187
5.5.1 Organisationsbaustein OB 1 187
10
Inhaltsverzeichnis
5.5.2 Prozessabbild 187
5.5.3 Zykluszeit und Reaktionszeit 193
5.5.4 Mindestzykluszeit und Hintergrundbearbeitung 195
5.5.5 Programm komprimieren, anhalten, stoppen und schützen 197
5.5.6 Uhrzeit 199
5.5.7 Systemzeit und OB-Laufzeit ermitteln 202
5.5.8 Betriebsstundenzähler 207
5.6 Alarmbearbeitung' 208
5.6.1 Einführung zur Alarmbearbeitung 208
5.6.2 Prioritätsklassen 210
5.6.3 Uhrzeitalarme, Organisationsbausteine OB 10 bis OB 17 210
5.6.4 Verzögerungsalarme, Organisationsbausteine OB 20 bis 23 215
5.6.5 Weckalarme, Organisationsbausteine OB 30 bis 38 218
5.6.6 Prozessalarme, Organisationsbausteine OB 40 bis OB 47 220
5.6.7 DPVl-Alarme, Organisationsbausteine OB 55 bis 57 221
5.6.8 Taktsynchronalarme, Organisationsbausteine OB 61 bis OB 64 223
5.6.9 Alarmzusatzinformation lesen 225
5.7 Fehlerbehandlung 226
5.7.1 Fehlerursachen und Fehlerreaktion 226
5.7.2 Synchronfehler 227
5.7.3 Synchronfehlerbearbeitung sperren und freigeben 229
5.7.4 Ersatzwert eintragen 232
5.7.5 Asynchronfehler 232
5.7.6 Alarme und Asynchronfehler sperren, verzögern und freigeben 238
5.8 Diagnose 240
5.8.1 Diagnosealarm, Organisationsbaustein OB 82 240
5.8.2 Systemzustandsliste lesen 241
5.8.3 Startinformation lesen 242
5.8.4 Verbindungszustand ermitteln 243
5.8.5 Systemdiagnose mit Report System Errors 245
5.9 Meldungen projektieren 247
5.9.1 Einführung 247
5.9.2 Meldungen nach dem Meldenummerverfahren projektieren 251
5.9.3 Meldebausteine für PLC-Meldungen mit Instanzdaten 256
5.9.4 Meldebausteine für PLC-Meldungen ohne Instanzdaten 259
5.9.5 Bausteine für das Arbeiten mit Meldungen 260
5.9.6 Anwender-Diagnosemeldung projektieren 263
5.9.7 CPU-Meldungsanzeige 265
6 Programmeditor 267
6.1 Einführung 267
6.2 PLC-Variablentabelle 268
6.2.1 PLC-Variablentabellen bearbeiten 268
6.2.2 PLC-Variablen definieren 268
6.2.3 PLC-Variablentabelle exportieren und importieren 270
6.2.4 Konstantentabellen 271
11
Inhaltsverzeichnis
6.3 Codebaustein programmieren 271
6.3.1 Einen neuen Codebaustein anlegen 271
6.3.2 Arbeitsbereich des Programmeditors für Codebausteine 273
6.3.3 Bausteineigenschaften für Codebausteine festlegen 274
6.3.4 Bausteinschnittstelle programmieren 275
6.3.5 Steuerungsfunktion programmieren 276
6.3.6 Variablen editieren 281
6.3.7 Mit Programmkommentaren arbeiten 284
6.4 Datenbaustein programmieren 285
6.4.1 Einen neuen Datenbaustein anlegen 285
6.4.2 Arbeitsbereich des Programmeditors für Datenbausteine 286
6.4.3 Bausteineigenschaften für Datenbausteine festlegen 287
6.4.4 Datenvariablen deklarieren 287
6.4.5 Datenvariablen in Globaldatenbausteinen eingeben 288
6.5 Bausteine übersetzen 289
6.5.1 Übersetzung starten 289
6.5.2 SCL-Bausteine übersetzen 290
6.5.3 Fehler nach der Übersetzung beheben 291
6.6 Programminformationen 292
6.6.1 Querverweisliste 292
6.6.2 Belegungsplan 294
6.6.3 Aufrufstruktur 296
6.6.4 Abhängigkeitsstruktur 297
6.6.5 Konsistenzprüfung 297
6.6.6 Speicherauslastung der CPU 298
7 Kontaktplan KOP 300
7.1 Einführung 300
7.1.1 Programmieren mit KOP allgemein 300
7.1.2 Programmelemente des Kontaktplans 302
7.2 Binäre Verknüpfungen mit KOP programmieren 302
7.2.1 Schließerkontakt und Öffnerkontakt 302
7.2.2 Reihen-und Parallelschaltung von Kontakten 304
7.2.3 T-Abzweig, offener Parallelzweig 305
7.2.4 Verknüpfungsergebnis negieren 306
7.2.5 Flankenauswertung einer Binärvariablen 307
7.2.6 Vergleich-Kontakte 307
7.3 Speicherfunktionen mit KOP programmieren 308
7.3.1 Einfache Spule, Zuweisung 308
7.3.2 Setzen-und Rücksetzen-Spule 310
7.3.3 Speicherndes Verhalten durch Selbsthaltung 310
7.3.4 Spulen mit Zeitverhalten 311
7.3.5 Spulen mit Zählerverhalten 312
7.4 Q-Boxen mit KOP programmieren 313
7.4.1 Speicher-Boxen 314
7.4.2 Flankenauswertung des Stromflusses 314
12
Inhaltsverzeichnis
7.4.3 SIMATIC-Zeitfunktionen 315
7.4.4 SIMATIC-Zählfunktionen 316
7.4.5 IEC-Zeitfunktionen 316
7.4.6 IEC-Zählfunktionen 318
7.5 EN/ENO-Boxen mit KOP programmieren 319
7.5.1 Übertragungsfunktion, MOVE 320
7.5.2 Arithmetische Funktionen 320
7.5.3 Mathematische Funktionen 321
7.5.4 Konvertierungsfunktionen 322
7.5.5 Schiebefunktionen 323
7.5.6 Wortverknüpfungen 324
7.6 Programmfluss bei KOP steuern 326
7.6.1 Mit Statusbits im Kontaktplan arbeiten 326
7.6.2 EN/ENO-Mechanismus bei KOP 328
7.6.3 Sprungfunktionen 329
7.6.4 Bausteinfunktionen 330
7.6.5 Master Control Relay (MCR) 332
8 Funktionsplan FUP 334
8.1 Einführung 334
8.1.1 Programmieren mit FUP allgemein 334
8.1.2 Programmelemente des Funktionsplans 336
8.2 Binäre Verknüpfungen mit FUP programmieren 337
8.2.1 Abfrage auf Signalzustand „1" und auf Signalzustand „0" 337
8.2.2 Eine binäre Verknüpfung im Funktionsplan programmieren 338
8.2.3 UND-Funktion 339
8.2.4 ODER-Funktion 339
8.2.5 Exklusiv-ODER-Funktion 339
8.2.6 Kombinierte binäre Verknüpfungen, Verknüpfungsergebnis negieren 340
8.2.7 T-Abzweig 341
8.2.8 Flankenauswertung von Binärvariablen 342
8.2.9 Vergleichsfunktionen 342
8.3 Standard-Boxen mit FUP programmieren 343
8.3.1 Zuweisung-Box 343
8.3.2 Setzen-und Rücksetzen-Box 344
8.3.3 Standard-Boxen mit Zeitverhalten 346
8.3.4 Standard-Boxen mit Zählerverhalten 346
8.4 Q-Boxen mit FUP programmieren 347
8.4.1 Speicher-Boxen 348
8.4.2 Flankenauswertung des Verknüpfungsergebnisses 349
8.4.3 SIMATIC-Zeitfunktionen 349
8.4.4 SIMATIC-Zählfunktionen 350
8.4.5 IEC-Zeitfunktionen 351
8.4.6 IEC-Zählfunktionen 352
8.5 EN/ENO-Boxen mit FUP programmieren 353
8.5.1 Übertragungsfunktion MOVE 354
13
Inhaltsverzeichnis
8.5.2 Arithmetische Funktionen 355
8.5.3 Mathematische Funktionen 356
8.5.4 Konvertierungsfunktionen 356
8.5.5 Schiebefunktionen 358
8.5.6 Wortverknüpfungen 359
8.6 Programmfluss bei FUP steuern 360
8.6.1 Mit Statusbits im Funktionsplan arbeiten 360
8.6.2 EN/ENO-Mechanismus bei FUP 362
8.6.3 Sprungfunktionen 364
8.6.4 Bausteinfunktionen 364
8.6.5 Master Control Relay (MCR) 366
9 Anweisungsliste AWL 369
9.1 Einführung 369
9.1.1 Programmieren mit AWL allgemein 369
9.1.2 Aufbau einer AWL-Anweisung 370
9.2 Binäre Verknüpfungen mit AWL programmieren 371
9.2.1 Bearbeitung einer binären Verknüpfung, Verknüpfungsschritt 371
9.2.2 Abfrage auf Signalzustand „1" und auf Signalzustand „0" 373
9.2.3 Eine binäre Verknüpfung in Anweisungsliste programmieren 375
9.2.4 UND-Funktion 375
9.2.5 ODER-Funktion 376
9.2.6 Exklusiv-ODER-Funktion 376
9.2.7 Kombinierte binäre Verknüpfungen 376
9.2.8 Verknüpfungsergebnis steuern 379
9.3 Speicherfunktionen mit AWL programmieren 380
9.3.1 Zuweisung 380
9.3.2 Setzen und Rücksetzen 381
9.3.3 Flankenauswertung 381
9.4 Zeit- und Zählfunktionen mit AWL programmieren 382
9.4.1 SIMATIC-Zeitfunktionen 382
9.4.2 SIMATIC-Zählfunktionen 384
9.4.3 IEC-Zeitfunktionen 385
9.4.4 IEC-Zählfunktionen 386
9.5 Digitalfunktionen mit AWL programmieren 387
9.5.1 Übertragungsfunktionen 387
9.5.2 Vergleichsfunktionen 389
9.5.3 Arithmetische Funktionen 392
9.5.4 Mathematische Funktionen 395
9.5.5 Konvertierungsfunktionen 396
9.5.6 Schiebefunktionen 397
9.5.7 Wortverknüpfungen 399
9.6 Programmfluss bei AWL steuern 401
9.6.1 Mit Statusbits in der Anweisungsliste arbeiten 402
9.6.2 EN/ENO-Mechanismus bei AWL 404
9.6.3 Sprungfunktionen 406
14
Inhaltsverzeichnis
9.6.4 Sprungverteiler 407
9.6.5 Schleifensprung 407
9.6.6 Bausteinfunktionen 408
9.6.7 Master Control Relay (MCR) 411
9.7 Weitere AWL-Funktionen 412
9.7.1 Akkumulatorfunktionen 412
9.7.2 Addieren von Konstanten zum Akkumulator 1 415
9.7.3 Dekrementieren, Inkrementieren 416
9.7.4 Nullanweisungen 418
10 Structured Control Language SCL 419
10.1 Einführung in die Programmierung mit SCI 419
10.1.1 Programmieren mit SCL allgemein 419
10.1.2 SCL-Anweisungen und Operatoren 421
10.2 Binäre Verknüpfungen mit SCL programmieren 423
10.2.1 Abfrage auf Signalzustand „1" und auf Signalzustand „0" 423
10.2.2 UND-Funktion 424
10.2.3 ODER-Funktion 425
10.2.4 Exklusiv-ODER-Funktion 425
10.2.5 Kombinierte binäre Verknüpfungen 425
10.2.6 Verknüpfungsergebnis negieren 426
10.3 Speicherfunktionen mit SCL programmieren 427
10.3.1 Wertzuweisung einer Binärvariablen 427
10.3.2 Setzen und Rücksetzen 427
10.3.3 Flankenauswertung 427
10.4 Zeit-und Zählfunktionen mit SCL programmieren 428
10.4.1 SIMATIC-Zeitfunktionen 428
10.4.2 SIMATIC-Zählfunktionen 429
10.4.3 IEC-Zeitfunktionen 430
10.4.4 IEC-Zählfunktionen 431
10.5 Digitalfunktionen mit SCL programmieren 432
10.5.1 Übertragungsfunktion, Wertzuweisimg einer Digitalvariablen 432
10.5.2 Vergleichsfunktionen 432
10.5.3 Arithmetische Funktionen 433
10.5.4 Mathematische Funktionen 434
10.5.5 Konvertierungsfunktionen 435
10.5.6 Schiebefunktionen 437
10.5.7 Wortverknüpfungen, logischer Ausdruck 437
10.6 Programmfluss mit SCL steuern 438
10.6.1 Mit der Variablen ENO arbeiten 438
10.6.2 EN/ENO-Mechanismus bei SCL 440
10.6.3 Kontrollanweisungen 442
10.6.4 Bausteinfunktionen 449
15
Inhaltsverzeichnis
11 Ablaufsteuerung S7-GRAPH 453
11.1 Einführung 453
11.1.1 Was ist eine Ablaufsteuerung? 453
11.1.2 Eigenschaften einer Ablaufsteuerung 454
11.1.3 Programm für eine Ablaufsteuerung, Mengengerüst 455
11.1.4 Betriebsarten 455
11.1.5 Vorgehen bei der Projektierung 456
11.2 Elemente einer Ablaufsteuerung 457
11.2.1 Schritte und Transitionen 457
11.2.2 Sprünge in einer Ablaufsteuerung 458
11.2.3 Verzweigungen einer Ablaufkette 458
11.2.4 GRAPH-spezifische Variablen 460
11.2.5 Permanente Anweisungen 461
11.2.6 Schritt-und Transitionsfunktionen 461
11.2.7 Bearbeitung von Aktionen 465
11.3 Eine Ablaufsteuerung projektieren 471
11.3.1 Den GRAPH-Funktionsbaustein programmieren 472
11.3.2 Projektieren der Kettenstruktur 473
11.3.3 Schritte und Transitionen programmieren 474
11.3.4 Permanente Anweisungen programmieren 476
11.3.5 Bausteinübergreifende Meldungen projektieren 476
11.3.6 Attribute des GRAPH-Funktionsbausteins 477
11.3.7 GRAPH-Funktionsbaustein anwenden 478
11.4 Ablaufsteuerung testen 479
11.4.1 GRAPH-Funktionsbaustein laden 480
11.4.2 Einstellungen zum Programmtest 480
11.4.3 Betriebsarten verwenden 481
11.4.4 Ablaufkette synchronisieren 482
11.4.5 Mit Programmstatus testen 483
12 Basisfunktionen 485
12.1 Binäre Verknüpfungen 485
12.1.1 Einführung 485
12.1.2 Arbeiten mit Binärsignalen 486
12.1.3 UND-Funktion, Reihenschaltung 489
12.1.4 ODER-Funktion, Parallelschaltung 490
12.1.5 Exklusiv-ODER-Funktion, Antivalenzfunktion 490
12.1.6 Verknüpfungsergebnis negieren, NOT-Kontakt 491
12.2 Speicherfunktionen 493
12.2.1 Einführung 49312.2.2 Standardspule, Zuweisung 493
12.2.3 Einzelnes Setzen und Rücksetzen 493
12.2.4 Vorrangiges Setzen und Rücksetzen, Speicherfunktion 495
12.2.5 Flankenauswertung 497
12.3 SIMATIC-Zeitfunktionen 502
12.3.1 Übersicht 502
16
Inhaltsverzeichnis
12.3.2 Programmieren einer Zeitfunktion 505
12.3.3 Zeitverhalten als Impuls 507
12.3.4 Zeitverhalten als verlängerter Impuls 509
12.3.5 Zeitverhalten als Einschaltverzögerung 511
12.3.6 Zeitverhalten als speichernde Einschaltverzögerung 513
12.3.7 Zeitverhalten als Ausschaltverzögerung 515
12.4 IEC-Zeitfunktionen 517
12.4.1 Einführung 517
12.4.2 Impulsbildung TP 518
12.4.3 Einschaltverzögerung TON 519
12.4.4 Ausschaltverzögerung TOF 520
12.5 SIMATIC-Zählfunktionen 521
12.5.1 Übersicht 521
12.5.2 Programmieren einer Zählfunktion 523
12.5.3 Funktionsweise einer Zählfunktion 525
12.5.4 Freigeben einer Zählfunktion bei AWL 527
12.6 IEC-Zählfunktionen 528
12.6.1 Einführung 528
12.6.2 Vorwärtszähler CTU 529
12.6.3 Rückwärtszähler CTD 530
12.6.4 Vorwärts/Rückwärtszähler CTUD 532
13 Digitalfunktionen 533
13.1 Allgemeines 533
13.2 Übertragungsfunktionen 534
13.2.1 Allgemeines zur „einfachen" Übertragungsfunktion 534
13.2.2 MOVE-Boxbei KOP und FUP 534
13.2.3 Laden und Transferieren bei AWL 536
13.2.4 Wertzuweisungen bei SCL 537
13.2.5 Datenbereich im Arbeitsspeicher kopieren und füllen 539
13.2.6 Speicherbereich steuern bei MCR-Abhängigkeit 542
13.3 Vergleichsfunktionen 544
13.3.1 Ausführung der „einfachen" Vergleichsfunktion 544
13.3.2 VergleichsfunktionT_COMP 546
13.3.3 Vergleichsfunktion S_COMP 547
13.4 Arithmetische Funktionen 548
13.4.1 Allgemeine Funktionsbeschreibung 548
13.4.2 Datentypen und Statusbits bei einer arithmetischen Funktion 548
13.4.3 Ausführung der arithmetischen Funktion 551
13.4.4 Arithmetische Funktionen für Datum und Uhrzeit 552
13.5 Mathematische Funktionen 553
13.5.1 Allgemeine Funktionsbeschreibung 553
13.5.2 Allgemeine Ausführung einer mathematischen Funktion 553
13.5.3 Winkelfunktionen SIN, COS, TAN 555
13.5.4 ArcusfunktionenASIN, ACOS, ATAN 555
13.5.5 Sonstige mathematische Funktionen 556
17
Inhaltsverzeichnis
13.6 Konvertierungsfunktionen 557
13.6.1 Implizite Datentypwandlung 557
13.6.2 Datentypwandlung von Festpunktzahlen 559
13.6.3 Datentypwandlung von Gleitpunktzahlen 561
13.6.4 Datentypwandlung für Datum/Uhrzeit mit T_CONV 563
13.6.5 Datentypwandlung für Datentyp STRING mit S_CONV 565
13.6.6 Datentypwandlung von Hexadezimalzahlen 567
13.6.7 Skalieren und Deskalieren 568
13.6.8 Sonstige Konvertierungsfunktionen 570
13.7 Schiebefunktionen 571
13.7.1 Allgemeine Funktionsbeschreibung 571
13.7.2 Allgemeine Ausführung einer Schiebefunktion 571
13.7.3 Rechts schieben 573
13.7.4 Links schieben 574
13.7.5 Rechts rotieren 575
13.7.6 Links rotieren 575
13.7.7 Rotieren durch das Anzeigenbit AI (AWL) 576
13.8 Logikfunktionen 576
13.8.1 Wortverknüpfungen 576
13.8.2 Invertieren 579
13.8.3 Bit codieren und Bitnummer setzen 580
13.8.4 Auswahl-und Begrenzerfunktionen 581
13.9 Funktionen für Zeichenketten 583
14 Programmfluss-Steuerung 587
14.1 Statusbits 588
14.1.1 Beschreibung der Statusbits 588
14.1.2 Steuern der Statusbits 590
14.1.3 Verknüpfungsergebnis setzen und rücksetzen 591
14.1.4 Binärergebnis steuern 592
14.1.5 Auswertung der Statusbits 595
14.2 Sprungfunktionen 596
14.2.1 Einführung 596
14.2.2 Absoluter Sprung 596
14.2.3 Bedingte Sprungfunktionen 598
14.2.4 Von den Statusbits abhängige Sprungfunktionen 599
14.3 Bausteinende-Funktionen 602
14.3.1 Bausteinende-Funktion RET (KOP und FUP) 602
14.3.2 Bausteinende-Funktionen BEB, BEA und BE (AWL) 603
14.3.3 RETURN-Anweisung (SCL) 604
14.4 Aufruf von Codebausteinen 604
14.4.1 Allgemeines zu Bausteinaufrufen 604
14.4.2 Aufruf einer Funktion (FC) 605
14.4.3 Aufruf eines Funktionsbausteins (FB) 607
14.4.4 Wechsel zu einem Baustein ohne Bausteinparameter 609
18
Inhaltsverzeichnis
14.5 Datenbausteinfunktionen 611
14.5.1 Datenbaustein aufschlagen 612
14.5.2 Zusätzliche Datenbausteinfunktionen bei AWL 613
14.5.3 Datenbaustein erzeugen, löschen und testen 614
14.6 Master Control Relay 616
14.6.1 Einführung 616
14.6.2 MCR-Abhängigkeit 616
14.6.3 MCR-Bereich und MCR-Zone 618
14.6.4 MCR-Bereich und MCR-Zone bei einem Bausteinwechsel 618
14.6.5 Anweisungen für das Master Control Relay 620
15 Online-Betrieb und Programmtest 621
15.1 Programmiergerät an die PLC-Station anschließen 622
15.1.1 Einstellungen am Programmiergerät 622
15.1.2 Das Programmiergerät mit der PLC-Station verbinden 623
15.1.3 Den Online-Betrieb einschalten 624
15.2 Projektdaten übertragen 625
15.2.1 Die Projektdaten erstmalig laden 625
15.2.2 Die Projektdaten nachladen 628
15.2.3 Schutz des Anwenderprogramms 629
15.2.4 Online-Projekt ohne Offline-Projekt bearbeiten 630
15.2.5 Mit der Memory Card arbeiten 631
15.3 Bausteinhantierung 632
15.3.1 Einen Baustein in die CPU-Baugruppe laden 632
15.3.2 Die Online-Version des Bausteins bearbeiten 633
15.3.3 Einen Baustein löschen 633
15.3.4 Den Arbeitsspeicher komprimieren 634
15.3.5 Datenbausteine offline/online 634
15.3.6 Bausteine vergleichen 636
15.4 Hardware-Diagnose 638
15.4.1 Status-Anzeigen an den Baugruppen 638
15.4.2 Diagnose-Informationen 639
15.4.3 Diagnosepuffer 640
15.4.4 Diagnose-Funktionen 641
15.4.5 Online-Tools 642
15.4.6 Weitere Diagnose-Informationen über das Programmiergerät 642
15.5 Anwenderprogramm testen 643
15.5.1 Prozess-und Testbetrieb 644
15.5.2 Aufrufumgebung definieren 645
15.5.3 Testen mit Programmstatus 645
15.5.4 Testen im Einzelschrittmodus 650
15.5.5 PLC-Variablen beobachten 652
15.5.6 Datenvariablen beobachten 653
15.5.7 Testen mit Beobachtungstabellen 654
15.5.8 Peripherieausgänge freischalten 659
15.5.9 Testen mit der Force-Tabelle 660
19
Inhaltsverzeichnis
16 Dezentrale Peripherie 663
16.1 Einführung, Übersicht 663
16.2 Dezentrales Peripheriesystem ET 200 664
16.2.1 ET200L 664
16.2.2 ET200M 664
16.2.3 ET200S 665
16.2.4 ET200iSP 666
16.2.5 ET200R 666
16.2.6 ET200eco 666
16.2.7 ET200pro 667
16.3 PROFINET 10 668
16.3.1 Komponenten von PROFINET 10 668
16.3.2 Adressen bei PROFINET 10 670
16.3.3 Spezielle PROFINET-Konfigurationen 674
16.3.4 PROFINET 10 projektieren 675
16.3.5 Kopplungsbaugruppen für PROFINET 10 678
16.3.6 Echtzeit-Kommunikation bei PROFINET 10 680
16.4 PROFIBUS DP 681
16.4.1 Komponenten von PROFIBUS DP 681
16.4.2 Adressen bei PROFIBUS DP 685
16.4.3 PROFIBUS DP projektieren 689
16.4.4 Kopplungsbaugruppen für PROFIBUS DP 692
16.4.5 Sonderfunktionen für PROFIßUS DP 694
16.5 Systembausteine für dezentrale Peripherie 698
16.5.1 Systembausteine für PROFIBUS DP 698
16.5.2 Systembausteine für PROFIBUS DP und PROFINET 10 702
16.5.3 Systembaustein für PROFINET 10 705
17 Kommunikation 707
17.1 Übersicht 707
17.2 S7-Basiskommunikaüon 708
17.2.1 Grundlagen der stationsinternen S7-Basiskommunikation 708
17.2.2 Stationsinterne S7-Basiskommunikation projektieren 709
17.2.3 Systembausteine für stationsinterne S7-Basiskommunikation 709
17.2.4 Grundlagen der stationsexternen S7-Basiskommunikation 711
17.2.5 Stationsexterne S7-Basiskommunikation projektieren 712
17.2.6 Systembausteine für stationsexterne S7-Basiskommunikation 713
17.3 S7-Kommunikation 716
17.3.1 Grundlagen 716
17.3.2 S7-Kommunikation projektieren 716
17.3.3 Einseitiger Datenaustausch 718
17.3.4 Zweiseitiger Datenaustausch 720
17.3.5 Steuerfunktionen 722
17.3.6 Überwachungsfunktionen 724
17.3.7 Druckdaten senden 725
20
Inhaltsverzeichnis
17.4 Open User Communication 726
17.4.1 Grundlagen 726
17.4.2 Verbindungen auf- und abbauen 728
17.4.3 Datenübertragung mit TCP native oder ISO-on-TCP 730
17.4.4 Datenübertragung mit UDP 733
17.5 Punkt-zu-Punkt-Kommunikation 735
17.5.1 Grundlagen 735
17.5.2 Datenübertragung mit der Prozedur 3964(R) 735
17.5.3 Datenübertragung mit dem Protokoll RK 512 737
17.5.4 Datenübertragung mit dem ASCII-Treiber 739
18 Anhang 741
18.1 Arbeiten mit Quelldateien 741
18.1.1 Allgemeines Vorgehen 741
18.1.2 Einen Codebaustein in der Quelldatei programmieren 743
18.1.3 Einen Datenbaustein in der Quelldatei programmieren 746
18.1.4 Einen PLC-Datentyp in der Quelldatei programmieren 750
18.2 Projekte migrieren 751
18.3 Simulation mit dem TIA Portal 754
18.3.1 Unterschiede zu einer realen CPU-Baugruppe 754
18.3.2 Simulation starten und speichern 755
18.3.3 Die Simulation bedienen 756
18.3.4 Programm mit der Simulation testen 759
18.3.5 Weitere Funktionen von PLCSIM 760
18.4 Webserver 762
18.4.1 Webserver aktivieren 762
18.4.2 Web-Informationen auslesen 762
18.4.3 Standard-Webseiten 763
18.5 Ablage von lokalen Variablen 767
18.5.1 Ablage in Global-Datenbausteinen 767
18.5.2 Ablagein Instanz-Datenbausteinen 769
18.5.3 Ablage in den temporären Lokaldaten 769
18.5.4 Datenablage der Bausteinparameter einer Funktion (FC) 769
18.5.5 Datenablage der Bausteinparameter eines Funktionsbausteins (FB) . 772
1.8.5.6 Datenablage einer Lokalinstanz in einer Multiinstanz 773
Stichwortverzeichnis 777
21