automatisieren mit...

10
Automatisieren mit STEP7inAWLundSCL Speicherprogrammierbare Steuerungen SIMATIC S7-300/400 von Hans Berger Publicis MCD Verlag

Upload: others

Post on 30-Aug-2019

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Automatisieren mit STEP7inAWLundSCLdigitale-objekte.hbz-nrw.de/storage2/2018/06/16/file_251/7932690.pdf · 8.6.1 Vorwärtszähler SFB 0 CTU ... 166 8.6.2 Rückwärtszähler SFB 1

Automatisieren mit STEP7inAWLundSCL Speicherprogrammierbare Steuerungen

SIMATIC S7-300/400

von Hans Berger

Publicis MCD Verlag

Page 2: Automatisieren mit STEP7inAWLundSCLdigitale-objekte.hbz-nrw.de/storage2/2018/06/16/file_251/7932690.pdf · 8.6.1 Vorwärtszähler SFB 0 CTU ... 166 8.6.2 Rückwärtszähler SFB 1

Inhaltsverzeichnis

Inhaltsverzeichnis

Einführung 21

1 Automatisierungssystem SIMATIC S7-300/400 22

1.1 Aufbau des Automatisierungs-systems 22

1.1.1 Komponenten 22

1.1.2 S7-300-Station 22

1.1.3 S7-400-Station 24

1.1.4 Speicherbereiche der Zentral­baugruppe 25

1.2 Dezentrale Peripherie 27

1.2.1 DP-Mastersystem 27

1.2.2 DP-Master 28

1.2.3 DP-Slaves 28

1.2.4 Kopplung zu PROFIBUS-PA . . 29

1.2.5 Kopplung zum AS-Interface. . . 30

1.2.6 Kopplung zu einer seriellen Schnittstelle 31

1.3 Kommunikation 31

1.3.1 Einführung 31

1.3.2 Subnetze 33

1.3.3 Kommunikationsdienste 35

1.3.4 Verbindungen 36

1.4 Baugruppenadressen 37

1.4.1 Signalweg 37

1.4.2 Steckplatzadresse 38

1.4.3 Baugruppenanfangsadresse . . . 38

1.4.4 Diagnoseadresse 39

1.4.5 Adressen für Busteilnehmer . . . 39

1.5 Operandenbereiche 39

1.5.1 Nutzdatenbereich 39

1.5.2 Prozeßabbild 40

1.5.3 Merker 41

2 Programmiersoftware STEP 7 . 43

2.1 STEP 7 Basis 43

2.1.1 Installation 43

2.1.2 Autorisierung 43

2.1.3 SIMATIC Manager 44

2.1.4 Projekte und Bibliotheken . . . . 45

2.1.5 Online-Hilfe 47

2.2 Projekt bearbeiten 48

2.2.1 Projekt anlegen 48

2.2.2 Verwalten, reorganisieren und archivieren 49

2.2.3 Projektversionen 50

2.3 Station konfigurieren 51

2.3.1 Baugruppen anordnen 52

2.3.2 Baugruppen adressieren 53

2.3.3 Baugruppen parametrieren . . . . 53

2.3.4 Baugruppen mit MPI vernetzen. . 54

2.4 Netz projektieren 54

2.4.1 Netzansicht konfigurieren 56

2.4.2 DP-Mastersystem mit der Netzprojektierung konfigurieren . 56

2.4.3 Verbindungen projektieren . . . . 57

2.4.4 Verbindungsdaten laden 60

2.5 S7-Programm erstellen 61

2.5.1 Einführung 61

2.5.2 Symboltabelle 61

2.5.3 AWL-Programmeditor 63

2.5.4 SCL-Programmeditor 66

2.5.5 Umverdrahten 69

2.5.6 Operandenvorrang 69

2.5.7 Referenzdaten 70

12

Page 3: Automatisieren mit STEP7inAWLundSCLdigitale-objekte.hbz-nrw.de/storage2/2018/06/16/file_251/7932690.pdf · 8.6.1 Vorwärtszähler SFB 0 CTU ... 166 8.6.2 Rückwärtszähler SFB 1

Inhaltsverzeichnis

2.6 Online-Betrieb 71

2.6.1 Zielsystem anschließen 71 2.6.2 Schutz des Anwenderprogramms 72 2.6.3 CPU-Informationen 73 2.6.4 Anwenderprogramm in die CPU

laden 73

2.6.5 Bausteinhantierung 74

2.7 Programm testen 75

2.7.1 Hardware diagnostizieren . . . . 75

2.7.2 STOP-Ursache ermitteln 76 2.7.3 Variablen beobachten und steuern 76 2.7.4 Variablen forcen 78 2.7.5 Peripherieausgänge freischalten . 79 2.7.6 AWL-Programmstatus 80 2.7.7 SCL-Programme testen 81

3 SIMATICS7-Programm. . . . 83

3.1 Programmbearbeitung 83

3.1.1 Programmbearbeitungsarten. . . 83 3.1.2 Prioritätsklassen 85 3.1.3 Festlegungen zur Programm­

bearbeitung 86

3.2 Bausteine 86

3.2.1 Bausteinarten 86 3.2.2 Bausteinstruktur 88 3.2.3 Bausteineigenschaften 89

3.3 Variablen adressieren 91

3.3.1 Variablen absolut adressieren . . 91 3.3.2 Indirekte Adressierung 92 3.3.3 Variablen symbolisch adressieren 92

3.4 Codebaustein mit AWL programmieren 94

3.4.1 Aufbau einer AWL-Anweisung . 94 3.4.2 AWL-Codebaustein inkrementell

programmieren 94 3.4.3 AWL-Codebaustein quellorientiert

programmieren 97

3.5 Codebaustein mit SCL programmieren 101

3.5.1 Aufbau einer SCL-Anweisung. . 101 3.5.2 SCL-Codebaustein

programmieren 101

3.6 Datenbaustein programmieren . 104

3.6.1 Datenbaustein inkrementell programmieren 104

3.6.2 Datenbaustein quellorientiert programmieren 106

3.7 Variablen und Konstanten . . . 108

3.7.1 Allgemeines zu Variablen . . . 108

3.7.2 Allgemeines zu Datentypen. . . 109

3.7.3 Elementare Datentypen 111

3.7.4 Zusammengesetzte Datentypen . 111

3.7.5 Parametertypen 112

Basisfunktionen 113

4 Binäre Verknüpfungen . . . . 114

4.1 Bearbeitung einer binären Verknüpfung 114

4.2 Elementare binäre Verknüpfungen 116

4.2.1 UND-Funktion 117

4.2.2 ODER-Funktion 117

4.2.3 Exklusiv-ODER-Funktion . . . 118

4.2.4 Berücksichtigung der Geberart . 119

4.3 Verknüpfungsergebnis negieren 120

4.4 Zusammengesetzte binäre Verknüpfungen 120

4.4.1 Bearbeitung von Klammer­ausdrücken 121

4.4.2 ODER-Verknüpfung von UND-Funktionen 122

4.4.3 UND-Verknüpfung von ODER-und Exklusiv-ODER-Funktionen 123

4.4.4 Exklusiv-ODER-Verknüpfung von UND-Funktionen 123

4.4.5 Verknüpfung von ODER-Funktionen und Exklusiv-ODER-Funktionen . . 123

4.4.6 Negation von Klamme­rausdrücken 124

5 Speicherfunktionen 125

5.1 Zuweisung 125

5.2 Setzen und Rücksetzen 125

Page 4: Automatisieren mit STEP7inAWLundSCLdigitale-objekte.hbz-nrw.de/storage2/2018/06/16/file_251/7932690.pdf · 8.6.1 Vorwärtszähler SFB 0 CTU ... 166 8.6.2 Rückwärtszähler SFB 1

Inhalts verzeichni s

5.3 RS-Speicherfunktion 126

5.3.1 Speicherfunktion mit vorrangigem Rücksetzen . . . . 126

5.3.2 Speicherfunktion mit vorrangigem Setzen 126

5.3.3 Speicherfunktion innerhalb

einer binären Verknüpfung . . . 128

5.4 Flankenauswertung 129

5.4.1 Positive Flanke 129

5.4.2 Negative Flanke 130

5.4.3 Testen eines Impulsmerkers . . . 131

5.4.4 Flankenauswertung innerhalb einer binären Verknüpfung . . . 131

5.4.5 Binäruntersetzer 131

5.5 Beispiel Förderbandsteuerung. . 132

6 Übertragungsfunktionen. . . . 136

6.1 Allgemeines zum Laden und Transferieren 136

6.2 Ladefunktionen 138

6.2.1 Allgemeine Darstellung einer Ladefunktion 138

6.2.2 Laden von Operanden 138

6.2.3 Laden von Konstanten 140

6.3 Transferfunktionen 140

6.3.1 Allgemeine Darstellung einer Transferfunktion 140

6.3.2 Transferieren zu Operanden . . . 141

6.4 Akkumulatorfunktionen 141

6.4.1 Direkte Übertragung zwischen den Akkumulatoren 142

6.5 Bytes im Akkumulator 1 tauschen 143

6.6 Systemfunktionen für Datenübertragung 143

6.6.1 Datenbereich kopieren 143

6.6.2 Datenbereich ununterbrechbar kopieren 144

6.6.3 Datenbereich füllen 145

6.6.4 STRING-Variablen kopieren . . 145

7 Zeitfunktionen 146

7.1 Programmieren einer Zeitfunktion 146

7.1.1 Starten einer Zeitfunktion . . . . 146

7.1.2 Vorgabe der Zeitdauer 147

7.1.3 Rücksetzen einer Zeitfunktion . . 148

7.1.4 Freigeben einer Zeitfunktion . . . 148

7.1.5 Abfragen einer Zeitfunktion . . . 148

7.1.6 Reihenfolge der Zeitoperationen . 149

7.1.7 Beispiel Taktgenerator 149

7.2 Zeitverhalten als Impuls 150

7.3 Zeitverhalten als verlängerter Impuls 152

7.4 Zeitverhalten als Einschalt­verzögerung 154

7.5 Zeitverhalten als speichernde Einschaltverzögerung 156

7.6 Zeitverhalten als Ausschalt­verzögerung 158

7.7 IEC-Zeitfunktionen 160

7.7.1 Impulsbüdung SFB 3 TP 160

7.7.2 Einschaltverzögerung SFB 4 TON 161

7.7.3 Ausschaltverzögerung SFB5TOF 161

8 Zählfunktionen 162

8.1 Zähler setzen und rücksetzen. . . 162

8.2 Zählen 163

8.3 Abfragen einer Zählfunktion . . . 164

8.4 Freigeben einer Zählfunktion. . . 164

8.5 Reihenfolge der Zähloperationen. 165

8.6 IEC-Zählfunktionen 166

8.6.1 Vorwärtszähler SFB 0 CTU . . . 166

8.6.2 Rückwärtszähler SFB 1 CTD. . . 167

8.6.3 Vorwärts-Rückwärtszähler SFB2CTUD 167

8.7 Beispiel Fördergutzähler 168

14

Page 5: Automatisieren mit STEP7inAWLundSCLdigitale-objekte.hbz-nrw.de/storage2/2018/06/16/file_251/7932690.pdf · 8.6.1 Vorwärtszähler SFB 0 CTU ... 166 8.6.2 Rückwärtszähler SFB 1

Digitalfunktionen 171

9 Vergleichsfunktionen 172

9.1 Allgemeine Darstellung einer Vergleichsfunktion 172

9.2 Beschreibung der Vergleichs­funktionen 173

9.3 Vergleichsfunktion in einer Verknüpfung 174

10 Arithmetische Funktionen . . . 176

10.1 Allgemeine Darstellung einer arithmetischen Funktion 176

10.2 Rechnen mit Datentyp INT . . . 177

10.3 Rechnen mit Datentyp DINT . . 178

10.4 Rechnen mit Datentyp REAL . . 179

10.5 Aufeinanderfolgende arithmetische Funktionen . . . . 180

10.6 Addieren von Konstanten zum Akkumulator 1 181

10.7 Dekrementieren, Inkrementieren 182

11 Mathematische Funktionen . . 183

11.1 Bearbeitung einer mathematischen Funktion . . . . 183

11.2 Winkelfunktionen 184

11.3 Arcusfunktionen 184

11.4 Sonstige mathematische Funktionen 184

12 Umwandlungsfunktionen . . . 186

12.1 Bearbeitung einer Umwandlungs­funktion 186

12.2 Umwandeln von INT-und DINT-Zahlen 187

12.3 Umwandlung von BCD-Zahlen . 188

12.4 Umwandlung von REAL-Zahlen 188

12.5 Sonstige Umwandlungsfunktionen 189

13 Schiebefunktionen 191

13.1 Bearbeitung der Schiebefunktionen 191

13.2 Schieben 192

13.3 Rotieren 195

14 Wortverknüpfungen 196

14.1 Bearbeitung einer Wortverknüpfung 196

14.2 Beschreibung der Wortverknüpfungen 198

Programmflußsteuerung 199

15 Statusbits 200

15.1 Beschreibung der Statusbits. . . 200

15.2 Setzen der Statusbits und Binäranzeigen 202

15.3 Auswertung der Statusbits . . . 204

15.4 Anwendung des Binärergebnisses 206

16 Sprungfunktionen 208

16.1 Programmierung einer Sprungfunktion 208

16.2 Sprung absolut 209

16.3 Sprungfunktionen mit

VKE und BIE 209

16.4 Sprungfunktionen mit A0 und AI 210

16.5 Sprungfunktionen mit OV und OS. 212

16.6 Sprungverteiler 213

16.7 Schleifensprung 213

17 Master Control Relay 214

17.1 MCR-Abhängigkeit 214

17.2 MCR-Bereich 215

17.3 MCR-Zone 216

17.4 Peripheriebits setzen und rücksetzen 216

18

18.1

Bausteinfunktionen 218

Bausteinfunktionen für Codebausteine 218

18 18 18 18 18 18

1.1 Allgemeines zu Bausteinaufrufen 219 1.2 Aufrufanweisung CALL . . . . 219 1.3 Aufrufanweisungen UC und CC 220 1.4 Bausteinendefunktionen . . . . 221 1.5 Temporäre Lokaldaten 222 1.6 Statische Lokaldaten 224

Page 6: Automatisieren mit STEP7inAWLundSCLdigitale-objekte.hbz-nrw.de/storage2/2018/06/16/file_251/7932690.pdf · 8.6.1 Vorwärtszähler SFB 0 CTU ... 166 8.6.2 Rückwärtszähler SFB 1

Inhaltsverzeichnis

18.2 Bausteinfunktionen für Datenbausteine . . . . 226

18.2.1 Zwei Datenbausteinregister . . . 227 18.2.2 Zugriff auf Datenoperanden . . . 228 18.2.3 Datenbaustein aufschlagen . . . 230 18.2.4 Datenbausteinregister tauschen . 230 18.2.5 Datenbausteinlänge und -nummer 231 18.2.6 Besonderheiten bei der

Datenadessierung 231

18.3 Systemfunktionen für Datenbausteine 233

18.3.1 Erzeugen eines Datenbausteins . 233 18.3.2 Löschen eines Datenbausteins. . 233 18.3.3 Testen eines Datenbausteins. . . 234

18.4 Nulloperationen 234

18.4.1 NOP-Anweisungen 234 18.4.2 Bildaufbau-Anweisungen . . . . 234

19

19.1

19.1.1

19.1.2

19.1.3

19.1.4 19.1.5

19.2

19.3

19.4

19.5

19.5.1 19.5.2 19.5.3

Bausteinparameter

Bausteinparameter allgemein . .

Festlegung der Baustein­parameter Bearbeitung der Baustein­parameter Deklaration der Baustein­parameter Deklaration des Funktionswerts. Versorgung von Baustein­parametern

Formalparameter

Aktualparameter

„Weiterreichen" von Baustein­parametern

Beispiele

Beispiel Förderband Beispiel Stückgutzähler Beispiel Zuförderung

235

235

235

236

236 238

238

238

242

245

246

246 247 247

Programmbearbeitung 251

20 Hauptprogramm 252

20.1 Programmgliederung 252

20.1.1 Programmstruktur 252 20.1.2 Programmorganisation 253

20.2 Zyklussteuerung 254

20.2.1 Prozeßabbild-Aktualisierung. . . 254

20.2.2 Zyklusüberwachungszeit 256

20.2.3 Mindestzyklusdauer, Hintergrundbearbeitung 257

20.2.4 Reaktionszeit 258

20.2.5 Startinformation 259

20.3 Programmfunktionen 260

20.3.1 Echtzeituhr 260

20.3.2 Systemzeit lesen 261

20.3.3 Betriebsstundenzähler 261

20.3.4 CPU-Speicher komprimieren. . . 262

20.3.5 Warten und Stoppen 262

20.3.6 Mehrprozcssorbetrieb 263

20.4 Kommunikation über Dezentrale Peripherie 264

20.4.1 Dezentrale Peripherie adressieren . 264

20.4.2 Dezentrale Peripherie projektieren 268

20.4.3 Systemfunktionen für Dezentrale Peripherie 276

20.5 Globaldatenkommunikalion . . . 279

20.5.1 Grundlagen 279

20.5.2 GD-Kommunikation projektieren. 281

20.5.3 Systemfunktionen für GD-Kommunikation 283

20.6 SFC-Kommunikation 284

20.6.1 Stationsinterne SFC-Kommunikation 284

20.6.2 Systemfunktionen für stations­interne SFC-Kommunikation. . . 285

20.6.3 Stationsexterne SFC-Kommunikation 286

20.6.4 Systemfunktionen für stations­externe SFC-Kommunikation. . . 288

20.7 SFB-Kommunikation 290

20.7.1 Grundlagen 290

20.7.2 Zweiseitiger Datenaustausch . . . 291

20.7.3 Einseitiger Datenaustausch . . . . 294

20.7.4 Druckdaten übertragen 294

20.7.5 Steuerfunktionen 295

20.7.6 Überwachungsfunktionen . . . . 296

16

Page 7: Automatisieren mit STEP7inAWLundSCLdigitale-objekte.hbz-nrw.de/storage2/2018/06/16/file_251/7932690.pdf · 8.6.1 Vorwärtszähler SFB 0 CTU ... 166 8.6.2 Rückwärtszähler SFB 1

Inhaltsverzeichnis

21 Alarmbearbeitung 298

21.1 Allgemeines 298

21.2 Prozeßalarme 300

21.2.1 Auslösung eines Prozeßalarms. . 300 21.2.2 Bearbeitung der Prozeßalarme. . 300 21.2.3 Prozeßalarme mit STEP 7

projektieren 301

21.3 Weckalarme 301

21.3.1 Bearbeitung der Weckalarme . . 301 21.3.2 Weckalarme mit STEP 7

projektieren 302

21.4 Uhrzeitalarme 303

21.4.1 Bearbeitung der Uhrzeitalarme . 303 21.4.2 Uhrzeitalarme mit STEP 7

projektieren 304 21.4.3 Systemfunktionen für

Uhrzeitalarme 304

21.5 Verzögerungsalarme 306

21.5.1 Bearbeitung der Verzögerungsalarme 306

21.5.2 Verzögerungsalarme mit STEP 7 projektieren 306

21.5.3 Systemfunktionen für Verzögerungsalarme 307

21.6 Mehrprozessoralarm 308

21.7 Alarmereignisse hantieren . . . . 309

22 Anlaufverhalten 311

22.1 Allgemeines 311

22.1.1 Bctriebszustände 311 22.1.2 Betriebszustand HALT 312 22.1.3 Sperren der Ausgabebaugruppen . 312 22.1.4 Anlauf-Organisationsbausteine . 313

22.2 Einschalten 313

22.2.1 Betriebszustand STOP 313 22.2.2 Urlöschen 314 22.2.3 Remanenzverhalten 314 22.2.4 Anlaufparametrierung 315

22.3 Anlaufarten 315

22.3.1 Betriebszusland ANLAUF. . . . 315 22.3.2 Kaltstart 317 22.3.3 Neustarl (Warmstart) 317 22.3.4 Wiederanlauf 318

22.4 Baugruppenadresse ermitteln . . 318

22.5 Baugruppen parametrieren . . . 320

23 Fehlerbehandlung 323

23.1 Synchronfehler 323

23.2 Synchronfehlerercignisse hantieren 324

23.2.1 Fehlermasken 324

23.2.2 Synchronfehlerereignisse maskieren 326

23.2.3 Synchronfehlcrereignisse demaskieren 327

23.2.4 Ereignisstatusregister lesen . . . 327

23.2.5 Ersatzwert eintragen 327

23.3 Asynchronfehler 327

23.4 Systemdiagnose 330

23.4.1 Diagnoseereignisse und Diagnosepuffer 330

23.4.2 Anwendereintrag in den Diagnosepuffer s c h r e i b e n . . . . 330

23.4.3 Auswertung des Diagnosealarms 331

23.4.4 Systemzustandsliste lesen. . . . 331

Variablenhantierung 333

24 Datentypen 334

24.1 Elementare Datentypen 334

24.1.1 Deklaration elementarer Datentypen 334

24.1.2 BOOL, BYTE. WORD, DWORD, CHAR 335

24.1.3 Zahlendarstellungen 336

24.1.4 Zeitdarstellungen 338

24.2 Zusammengesetzte Datentypen. 339

24.2.1 DATE_AND_TIME 339

24.2.2 STRING 340

24.2.3 ARRAY 341

24.2.4 STRUCT 343

24.3 Anwenderdefinierte Datentypen. 345

24.3.1 UDT inkrementell programmieren 345

24.3.2 UDT quellorientierl programmieren 345

17

Page 8: Automatisieren mit STEP7inAWLundSCLdigitale-objekte.hbz-nrw.de/storage2/2018/06/16/file_251/7932690.pdf · 8.6.1 Vorwärtszähler SFB 0 CTU ... 166 8.6.2 Rückwärtszähler SFB 1

Inhaltsverzeichnis

25 Indirekte Adressierung . . . . 347

25.1 Zeiger 347

25.1.1 Bereichszeiger 347 25.1.2 DB-Zeiger 349 25.1.3 ANY-Zeiger 349

25.2 Arten der indirekten Adressierung bei AWL 350

25.2.1 Allgemeines 350 25.2.2 Indirekt adressierbare Operanden 351 25.2.3 Speicherindirekte Adressierung . 351 25.2.4 Registerindirekte bereichsinterne

Adressierung 353 25.2.5 Registerindirekte bereichsüber­

greifende Adressierung 353 25.2.6 Zusammenfassung 354

25.3 Arbeiten mit den Adreßregistern . 354

25.3.1 Laden in ein Adreßregister . . . 354 25.3.2 Transferieren aus einem

Adreßregister 354 25.3.3 Tausche Adreßregister 356 25.3.4 Addieren zum Adreßregister . . 356

25.4 Besonderheiten bei der indirekten Adressierung 357

25.4.1 Verwendung des Adreßregisters AR 1 357

25.4.2 Verwendung des Adreßregisters AR2 357

25.4.3 Einschränkungen bei statischen Lokaldaten 359

26 Direkter Variablenzugriff . . . 360

26.1 Variablenadresse laden 360

26.2 Datenablage von Variablen . . . 362

26.2.1 Ablage in Global-Datenbausteinen 362 26.2.2 Ablage in Instanz-Datenbausteinen 362 26.2.3 Ablage in den temporären

Lokaldaten 362

26.3 Datenablage bei Parameterübergabe 365

26.3.1 Parameterablage bei Funktionen 365 26.3.2 Parameterablage bei Funktions­

bausteinen 367 26.3.3 „Variabler" ANY-Zeiger . . . . 368

26.4 Kurzbeschreibung „Beispiel Telegramm" 370

Structured Control Language (SCL) . 377

27 Einführung, Sprachelemente. . 378

27.1 Einbindung in SIMATIC 378

27.1.1 Installation 378

27.1.2 Projekt einrichten 378 27.1.3 SCL-Quelle editieren 378 27.1.4 Symboltabelle ausfüllen 380 27.1.5 SCL-Programm ü b e r s e t z e n . . . . 380 27.1.6 SCL-Bausteine laden 380 27.1.7 SCL-Bausteine testen 380 27.1.8 Operanden und Datentypen. . . . 381

27.2 Adressierung 382

27.2.1 Absolute Adressierung 382 27.2.2 Symbolische Adressierung . . . . 382 27.2.3 Indirekte Adressierung

bei SCL 382

27.3 Operatoren 384

27.4 Ausdrücke 384

27.4.1 Arithmetische Ausdrücke 384 27.4.2 Vergleichsausdrücke 386 27.4.3 Logische Ausdrücke 386

27.5 Wertzuweisungen 386

27.5.1 Zuweisung für elementare Datentypen 386

27.5.2 Zuweisung von DT- und STRING-Variablen 386

27.5.3 Zuweisung von Strukturen . . . . 387

27.5.4 Zuweisung von Feldern 387

28 Kontrollanweisungen 388

28.1 IF-Anweisung 388

28.2 CASE-Anweisung 389

28.3 FOR-Anweisung 389

28.4 WHILE-Anweisung 390

28.5 REPEAT-Anweisung 390

28.6 CONTINUE-Anweisung 391

28.7 EXIT-Anweisung 391

28.8 RETURN-Anweisung 391

28.9 GOTO-Anweisung 392

18

Page 9: Automatisieren mit STEP7inAWLundSCLdigitale-objekte.hbz-nrw.de/storage2/2018/06/16/file_251/7932690.pdf · 8.6.1 Vorwärtszähler SFB 0 CTU ... 166 8.6.2 Rückwärtszähler SFB 1

Inhaltsverzeichnis

29 SCL-Bausteine 393

29.1 Allgemeines zu SCL-Bausteinen 393

29.2 SCL-Bausteine programmieren . 394

29.2.1 Funktion FC ohne Funktionswert 394 29.2.2 Funktion FC mit Funktionswert . 394 29.2.3 Funktionsbaustein FB 395 29.2.4 Temporäre Lokaldaten 395 29.2.5 Statische Lokaldaten 395 29.2.6 Formalparameter 396

29.3 SCL-Bausteine aufrufen 397

29.3.1 Funktion FC ohne Funktionswert 397 29.3.2 Funktion FC mit Funktionswert

397 29.3.3 Funktionsbaustein mit eigenem Daten­

baustein 398 29.3.4 Funktionsbaustein als

Lokal instanz 398 29.3.5 Aktualparameter 399

29.4 EN/ENO-Mechanismus 399

29.4.1 OK-Variable 399 29.4.2 ENO-Ausgang 400 29.4.3 EN-Eingang 400

30 SCL-Funktionen 401

30.1 Zeitfunktionen 401

30.2 Zählfunktionen 402

30.3 Mathematische Funktionen . . . 403

30.4 Schieben und Rotieren 403

30.5 Konvertierungsfunktionen . . . . 404

30.5.1 Implizite Konvertierungs­funktionen 404

30.5.2 Explizite Konvertierungs­funktionen 404

30.6 Eigene Funktionen mit SCL programmieren 406

30.7 Eigene Funktionen mit AWL programmieren 408

30.8 Kurzbeschreibung der SCL-Beispiele 409

30.8.1 Beispiel Fördertechnik 409 30.8.2 Beispiel Telegramm 409 30.8.3 Allgemeine Beispiele 410

31 IEC-Funktionen 411

31.1 Konvertierungsfunktionen . . . 411

31.2 Vergleichsfunktionen 413

31.3 STRING-Funktionen 414

31.4 Datum/Uhrzeit-Funktionen . . . 416

31.5 Numerische Funktionen 418

Anhang 419

32 S5/S7-Konverter 420

32.1 Allgemeines 420

32.2 Vorbereiten 421

32.2.1 Ablauffähigkeit auf dem Zielsystem prüfen 421

32.2.2 Programmablaufeigenschaften prüfen 421

32.2.3 Baugruppen prüfen 422 32.2.4 Operanden prüfen 424

32.3 Konvertieren 425

32.3.1 Makroserstellen 425 32.3.2 Konvertierung vorbereiten . . . 426 32.3.3 Konverter starten 426 32.3.4 Konvertierbare Funktionen . . . 426

32.4 Nachbearbeiten 428

32.4.1 STEP 7-Projekt anlegen 428 32.4.2 Nichtkonvertierbare Funktionen. 428 32.4.3 Adressenänderungen 429 32.4.4 Indirekte Adressierung 429 32.4.5 Zugriff auf „überlange"

Datenbausteine 431 32.4.6 Arbeiten mit Absolutadressen . 431 32.4.7 Parameterversorgung 432 32.4.8 Sonderfunktions-Organisations-

bausteine 432 32.4.9 Fehlerbehandlung 432

33 Baustein-Bibliotheken 435

33.1 Organization Blocks 435

33.2 System Function Blocks . . . . 436

33.3 IEC Function Blocks 438

33.4 S5-S7 Converting Blocks . . . . 439

33.5 TI-S7 Converting Blocks . . . . 440

33.6 PID Control Blocks 440

33.7 Communication Blocks 440

Page 10: Automatisieren mit STEP7inAWLundSCLdigitale-objekte.hbz-nrw.de/storage2/2018/06/16/file_251/7932690.pdf · 8.6.1 Vorwärtszähler SFB 0 CTU ... 166 8.6.2 Rückwärtszähler SFB 1

Inhaltsverzeichnis

34 Operationsübersicht AWL . . 441

34.1 Basisfunktionen 441

34.1.1 Binäre Verknüpfungen 441 34.1.2 Speicherfunktionen 442 34.1.3 Übertragungsfunktionen 442 34.1.4 Zeitfunktionen 442 34.1.5 Zählfunktionen 442

34.2 Digitalfunktionen 442

34.2.1 Vergleichsfunktionen 442 34.2.2 Mathematische Funktionen . . . 443 34.2.3 Arithmetische Funktionen . . . . 443 34.2.4 Umwandlungsfunktionen . . . . 443 34.2.5 Schiebefunktionen 443 34.2.6 Wortverknüpfungen 443

34.3 Programmflußsteuerung 444

34.3.1 Sprungfunktionen 444 34.3.2 Master Control Relay 444 34.3.3 Bausteinfunktionen 444

34.4 Indirekte Adressierung 444

35 Anweisungs- und Funktionsübersicht

SCL 445

35.1 Operatoren 445

35.2 Kontrollanweisungen 445

35.3 Bausteinaufrufe 445

35.4 SCL-Standardfunktionen 446

35.4.1 Zeitfunktionen 446

35.4.2 Zählfunktionen 446

35.4.3 Konvertierungsfunktionen . . . . 446

35.4.4 Mathematische Funktionen. . . . 447

35.4.5 Schieben und Rotieren 447

Stichwortverzeichnis 448

Abkürzungsverzeichnis 455

20