272
Vorwort, Inhaltsverzeichnis Produktübersicht 1 Aufbau und Elemente von AWL 2 Adressierung 3 Akkumulatoroperationen und Adreßregisteranweisungen 4 Bitverknüpfungsoperationen 5 Zeitoperationen 6 Zähloperationen 7 Lade- und Transferoperationen 8 Festpunktarithmetik 9 Gleitpunktarithmetik 10 Vergleichsoperationen 11 Umwandlungsoperationen 12 Wortverknüpfungsoperationen 13 Schiebe- und Rotieroperationen 14 Datenbausteinoperationen 15 Sprungoperationen 16 Operationen zur Programmsteuerung 17 Anhänge Glossar, Stichwortverzeichnis 10/98 C79000-G7000-C565 Ausgabe 01 Anweisungsliste (AWL) für S7-300/400 Referenzhandbuch Dieses Referenzhandbuch ist Bestandteil des Dokumentationspaketes mit der Bestellnummer: 6ES7810-4CA04-8AR0 SIMATIC S7

Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

Vorwort, Inhaltsverzeichnis

Produktübersicht 1

Aufbau und Elemente von AWL 2

Adressierung 3

Akkumulatoroperationen undAdreßregisteranweisungen 4

Bitverknüpfungsoperationen 5

Zeitoperationen 6

Zähloperationen 7

Lade- und Transferoperationen 8

Festpunktarithmetik 9

Gleitpunktarithmetik 10

Vergleichsoperationen 11

Umwandlungsoperationen 12

Wortverknüpfungsoperationen 13

Schiebe- und Rotieroperationen 14

Datenbausteinoperationen 15

Sprungoperationen 16

Operationen zur Programmsteuerung 17

Anhänge

Glossar, Stichwortverzeichnis10/98

C79000-G7000-C565

Ausgabe 01

Anweisungsliste ( AWL)für S7-300/400

Referenzhandbuch

Dieses Referenzhandbuch ist Bestandteil desDokumentationspaketes mit der Bestellnummer:

6ES7810-4CA04-8AR0

SIMATIC S7

Page 2: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

Dieses Handbuch enthält Hinweise, die Sie zu Ihrer persönlichen Sicherheit sowie zur Ver-meidung von Sachschäden beachten müssen. Die Hinweise sind durch ein Warndreieck her-vorgehoben und je nach Gefährdungsgrad folgendermaßen dargestellt:

!Gefahr

bedeutet, daß Tod, schwere Körperverletzung oder erheblicher Sachschaden eintretenwerden, wenn die entsprechenden Vorsichtsmaßnahmen nicht getroffen werden.

!Warnung

bedeutet, daß Tod, schwere Körperverletzung oder erheblicher Sachschaden eintretenkönnen, wenn die entsprechenden Vorsichtsmaßnahmen nicht getroffen werden.

!Vorsicht

bedeutet, daß eine leichte Körperverletzung oder ein Sachschaden eintreten können, wenndie entsprechenden Vorsichtsmaßnahmen nicht getroffen werden.

Hinweis

ist eine wichtige Information über das Produkt, die Handhabung des Produktes oder denjeweiligen Teil der Dokumentation, auf den besonders aufmerksam gemacht werden soll.

Beachten Sie folgendes:

!Warnung

Dieses Produkt darf nur für die im Katalog und in der technischen Beschreibung vorgesehe-nen Einsatzfälle und nur in Verbindung mit von Siemens empfohlenen bzw. zugelassenenFremdgeräten und -komponenten verwendet werden.

SIMATIC�, SIMATIC HMI� und SIMATIC NET� sind eingetragene Marken derSIEMENS AG.

Die übrigen Bezeichnungen in dieser Schrift könnenWarenzeichen sein, deren Benutzungdurch Dritte für deren Zwecke die Rechte der Inhaber verletzen können.

Wir haben den Inhalt der Druckschrift auf Übereinstimmung mit derbeschriebenen Hard- und Software geprüft. Dennoch könnenAbweichungen nicht ausgeschlossen werden, so daß wir für dievollständige Übereinstimmung keine Gewähr übernehmen. DieAngaben in dieser Druckschrift werden regelmäßig überprüft, undnotwendige Korrekturen sind in den nachfolgenden Auflagenenthalten. Für Verbesserungsvorschläge sind wir dankbar.

HaftungsausschlußCopyright Siemens AG 1998 All rights reserved

Weitergabe sowie Vervielfältigung dieser Unterlage, Verwertungund Mitteilung ihres Inhalts ist nicht gestattet, soweit nichtausdrücklich zugestanden. Zuwiderhandlungen verpflichten zuSchadenersatz. Alle Rechte vorbehalten, insbesondere für den Fallder Patenterteilung oder GM-Eintragung.

Siemens AGBereich Automatisierungs- und AntriebstechnikGeschäftsgebiet Industrie-AutomatisierungssystemePostfach 4848, D-90327 Nürnberg

� Siemens AG 1998Technische Änderungen bleiben vorbehalten.

Siemens Aktiengesellschaft C79000-G7000-C565

Sicherheitstech-nische Hinweise

Bestimmungsge-mäßer Gebrauch

Marken

Page 3: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

iiiAnweisungsliste (AWL) für S7-300/400C79000-G7000-C565-01

Vorwort

Dieses Handbuch unterstützt Sie bei der Erstellung von Anwender-programmen in der Programmiersprache AWL.

Es beschreibt die Sprachelemente der Programmiersprache AWL, ihre Syntaxund Funktionsweise.

Dieses Handbuch richtet sich an Programmierer von S7-Programmen,Inbetriebsetzer und Servicepersonal. Allgemeine Kenntnisse auf dem Gebietder Automatisierungstechnik werden vorausgesetzt.

Dieses Handbuch ist gültig für die Programmiersoftware STEP 7 abVersion 5.0.

AWL entspricht der in der Norm DIN EN-61131-3 ( int. IEC 1131-3) festgelegtenSprache ”Anweisungsliste” (engl. Instruction List), wobei hinsichtlich derOperationen wesentliche Unterschiede bestehen. Genaue Aussagen zurNormerfüllung finden Sie in der Normerfüllungstabelle in der NORM.TAB-Datei von STEP 7.

Zweck des Hand-buchs

Leserkreis

Gültigkeitsbereichdes Handbuchs

Normerfüllungnach IEC 1131-3

Page 4: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

ivAnweisungsliste (AWL) für S7-300/400

C79000-G7000-C565-01

Das vorliegende Handbuch zu AWL setzt theoretische Kenntnisse überS7-Programme voraus, die Sie in der Online-Hilfe zu STEP 7 nachlesenkönnen. Da die Sprachpakete auf der Basissoftware STEP 7 aufsetzen, solltenSie bereits Kenntnisse im Umgang mit der Basissoftware STEP 7 und derenDokumentation haben.

Handbücher Zweck Bestell-Nummer

STEP 7-Grundwissen mit

� Erste Schritte und Übungen mit STEP 7V5.0

� Programmieren mit STEP 7 V5.0

� Hardware konfigurieren und Verbindungenprojektieren mit STEP 7 V5.0

� Von S5 nach S7, Umsteigerhandbuch

Das Grundwissen für technischesPersonal, das das Vorgehen zur Reali-sierung von Steuerungsaufgaben mitSTEP 7 und S7-300/400 beschreibt.

6ES7810-4CA04-8AA0

STEP 7-Referenzwissen mit

� Handbücher KOP/FUP/AWL fürS7-300/400

� Standard- und Systemfunktionen fürS7-300/400

Das Referenzwissen zum Nachschla-gen, das die ProgrammiersprachenKOP, FUP und AWL sowie Stan-dard- und Systemfunktionen ergän-zend zum STEP 7-Grundwissen be-schreibt.

6ES7810-4CA04-8AR0

Online-Hilfen Zweck Bestell-Nummer

Hilfe zu STEP 7 Das Grundwissen zum Programmie-ren und Hardware konfigurieren mitSTEP 7 als Online-Hilfe

Bestandteil der Basissoft-ware STEP 7

Referenzhilfen zu AWL/KOP/FUP

Referenzhilfe zu SFBs/SFCs

Referenzhilfe zu Organisationsbausteinen

Kontextsensitives Referenzwissen Bestandteil der Basissoft-ware STEP 7

Auf die Inhalte der Online-Hilfe können Sie wie folgt zugreifen:

� Kontext-sensitive Hilfe zum markierten Objekt über Menübefehl Hilfe >Hilfe zum Kontext über Funktionstaste F1 oder über Fragezeichen inder Funktionsleiste.

� Hilfe zu STEP 7 über Menübefehl Hilfe > Hilfethemen

Hinweise auf weitere Dokumentation sind mit Hilfe von Literaturnummern inSchrägstrichen /.../ angegeben. Anhand dieser Nummern können Sie demLiteraturverzeichnis am Ende des Handbuchs den genauen Titel derDokumentation entnehmen.

Voraussetzungen

Zugriffe auf dieOnline-Hilfe

Literaturhinweise

Vorwort

Page 5: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

vAnweisungsliste (AWL) für S7-300/400C79000-G7000-C565-01

Das SIMATIC Customer Support bietet Ihnen über die Online-Dienste um-fangreiche zusätzliche Informationen zu den SIMATIC-Produkten:

� Allgemeine aktuelle Informationen erhalten Sie

– im Internet unter http://www.ad.siemens.de/simatic

– über Fax-Polling Nr. 08765-93 02 77 95 00

� Aktuelle Produkt–Informationen und Downloads, die beim Einsatz nütz-lich sein können:

– im Internet unter http://www.ad.siemens.de/support/html_00/

– über das Bulletin Board System (BBS) in Nürnberg (SIMATICCustomer Support Mailbox) unter der Nummer +49 (911) 895-7100.

Verwenden Sie zur Anwahl der Mailbox ein Modem mit bis zuV.34 (28,8 kBaud), dessen Parameter Sie wie folgt einstellen: 8, N, 1,ANSI, oder wählen Sie sich per ISDN (x.75, 64 kBit) ein.

Bei weiteren Fragen wenden Sie sich bitte an Ihren Siemens-Ansprechpartnerin den für Sie zuständigen Vertretungen und Geschäftsstellen. Die Adressenfinden Sie z.B. in Katalogen und in Compuserve (go autforum).

Darüber hinaus steht Ihnen unsere SIMATIC Basis Hotline zur Verfügung:

� in Nürnberg, Deutschland

– von Mo–Fr. 07:00 bis 17:00 (Ortszeit) unter Telefon +49 (911)895–7000

– oder E–Mail: [email protected]

� in Johnson City (TN), USA

– von Mo–Fr. 08:00 bis 17:00 (Ortszeit) unter Telefon +1 423 461–2522

– oder E–Mail: [email protected]

� in Singapur

– von Mo–Fr. 08:30 bis 17:30 (Ortszeit) unter Telefon +65 740–7000

– oder E–Mail: [email protected]

Weltweit rund um die Uhr steht Ihnen über die SIMATIC Card die SIMATICPremium Hotline zur Verfügung (Telefon: +49 (911) 895-7777).

Um Ihnen den Einstieg in das Automatisierungssystem SIMATIC S7 zu er-leichtern, bieten wir entsprechende Kurse an. Wenden Sie sich bitte an Ihrregionales Trainingscenter oder das zentrale Trainigscenter in Nürnberg unterder Telefonnummer +49 (911) 895–3154.

SIMATIC CustomerSupport Online-Dienste

Weitere Unterstüt-zung

Kurse für SIM ATIC-Produkte

Vorwort

Page 6: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

viAnweisungsliste (AWL) für S7-300/400

C79000-G7000-C565-01

Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten zu können, bitten wir Sie, uns hierbei zu unterstützen. BeiAnmerkungen zum vorliegenden Handbuch oder zur Online-Hilfe füllen Siebitte den Fragebogen am Ende des Handbuchs aus und schicken Sie ihn andie dort angegebene Adresse. Bitte tragen Sie dort auch Ihre persönlicheBewertung ein.

Rückmeldungenzu Handbuch undOnline-Hilfe

Vorwort

Page 7: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

viiAnweisungsliste (AWL) für S7-300/400C79000-G7000-C565-01

Inhaltsverzeichnis

Vorwort iii. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1 Produktübersicht 1-1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2 Aufbau und Elemente von AWL 2-1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2.1 Aufbau einer Anweisung 2-2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2.2 Bedeutung der CPU-Register in Anweisungen 2-10. . . . . . . . . . . . . . . . . . . . . . .

3 Adressierung 3-1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3.1 Unmittelbare Adressierung 3-2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3.2 Direkte Adressierung 3-2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3.3 Speicherindirekte Adressierung 3-3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3.4 Adreßregister 3-6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3.5 Registerindirekte, bereichsinterne Adressierung 3-7. . . . . . . . . . . . . . . . . . . . . .

3.6 Registerindirekte, bereichsübergreifende Adressierung 3-11. . . . . . . . . . . . . . .

4 Akkumulatoroperationen und Adreßregisteranweisungen 4-1. . . . . . . . . . . . . . . . . .

4.1 Übersicht 4-2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4.2 ENT und LEAVE 4-3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4.3 Inkrementieren und Dekrementieren 4-6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4.4 +AR1 und +AR2: Addieren einer Konstanten zu Adreßregister 1 oder Adreßregister 2 4-7. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

5 Bitverknüpfungsoperationen 5-1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

5.1 Verknüpfungsoperationen mit Bitoperanden 5-2. . . . . . . . . . . . . . . . . . . . . . . . .

5.2 Bitverknüpfungsoperationen und Relaisschaltkreise 5-6. . . . . . . . . . . . . . . . . .

5.3 Auswerten von Bedingungen mit UND, ODER und EXKLUSIV ODER 5-10. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

5.4 Verknüpfungsoperationen von Klammerausdrücken und UND vor ODER 5-14. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

5.5 Flankenoperationen: FP, FN 5-16. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

5.6 Abschließen einer Verknüpfungskette 5-20. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

5.7 Operationen Setze und Rücksetze: S und R 5-21. . . . . . . . . . . . . . . . . . . . . . . . .

5.8 Operation Zuweisung (=) 5-24. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

5.9 Negieren, Setzen, Rücksetzen und Sichern des VKE 5-26. . . . . . . . . . . . . . . . .

Page 8: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

viiiAnweisungsliste (AWL) für S7-300/400

C79000-G7000-C565-01

6 Zeitoperationen 6-1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

6.1 Übersicht 6-2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

6.2 Speicherbereiche und Komponenten einer Zeit 6-3. . . . . . . . . . . . . . . . . . . . . .

6.3 Laden, Starten, Rücksetzen und Freigeben einer Zeit 6-5. . . . . . . . . . . . . . . . .

6.4 Beispiele für Zeiten 6-7. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

6.5 Operanden und Bereiche für Zeitoperationen 6-17. . . . . . . . . . . . . . . . . . . . . . . .

6.6 Auswahl der richtigen Zeit 6-18. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

7 Zähloperationen 7-1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

7.1 Übersicht 7-2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

7.2 Setzen, Rücksetzen und Freigeben eines Zählers 7-3. . . . . . . . . . . . . . . . . . . .

7.3 Vorwärts- und Rückwärtszählen 7-5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

7.4 Laden eines Zählwerts als Ganzzahl 7-6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

7.5 Laden eines Zählwerts im BCD-Format 7-7. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

7.6 Beispiel eines Zählers 7-8. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

7.7 Operanden und Bereiche für Zähloperationen 7-10. . . . . . . . . . . . . . . . . . . . . . .

8 Lade- und Transferoperationen 8-1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

8.1 Übersicht 8-2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

8.2 Laden und Transferieren 8-3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

8.3 Lesen oder Transferieren des Statusworts 8-6. . . . . . . . . . . . . . . . . . . . . . . . . . .

8.4 Laden der Zeit- und Zählwerte als Ganzzahlen 8-7. . . . . . . . . . . . . . . . . . . . . . .

8.5 Laden der Zeit- und Zählwerte im BCD-Format 8-9. . . . . . . . . . . . . . . . . . . . . .

8.6 Laden und Transferieren zwischen Adreßregistern 8-11. . . . . . . . . . . . . . . . . . .

8.7 Laden der Informationen aus einem Datenbaustein 8-12. . . . . . . . . . . . . . . . . . .

9 Festpunktarithmetik 9-1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

9.1 Grundrechenoperationen 9-2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

9.2 Addieren einer Ganzzahl zu AKKU 1 9-6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

10 Gleitpunktarithmetik 10-1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

10.1 Grundrechenoperationen 10-2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

10.2 Bilden des Betrags einer Gleitpunktzahl 10-6. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

10.3 Erweiterte Rechenoperationen 10-7. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

10.4 Bilden des Quadrats bzw. der Quadratwurzel einer Gleitpunktzahl 10-9. . . . . .

10.5 Bilden des natürlichen Logarithmus einer Gleitpunktzahl 10-11. . . . . . . . . . . . . .

10.6 Bilden des Exponentialwerts einer Gleitpunktzahl 10-12. . . . . . . . . . . . . . . . . . . .

10.7 Bilden von trigonometrischen Funktionen von Winkeln als Gleitpunktzahlen 10-13. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Inhaltsverzeichnis

Page 9: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

ixAnweisungsliste (AWL) für S7-300/400C79000-G7000-C565-01

11 Vergleichsoperationen 11-1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

11.1 Übersicht 11-2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

11.2 Vergleichen zweier Ganzzahlen 11-3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

11.3 Vergleichen zweier Gleitpunktzahlen 11-5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

12 Umwandlungsoperationen 12-1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

12.1 Umwandeln von binär-codierten Dezimalzahlen und Ganzzahlen 12-2. . . . . . .

12.2 Umwandeln von Gleitpunktzahlen (32 Bit) in Ganzzahlen (32 Bit) 12-8. . . . . . .

12.3 Umkehren der Reihenfolge der Bytes in AKKU 1 12-13. . . . . . . . . . . . . . . . . . . . .

12.4 Bilden der Komplemente von Ganzzahlen und Wechseln des Vorzeichens einer Gleitpunktzahl 12-14. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

13 Wortverknüpfungsoperationen 13-1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

13.1 Übersicht 13-2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

13.2 Wortverknüpfungsoperationen (16 Bit) 13-3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

13.3 Wortverknüpfungen (32 Bit) 13-6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

14 Schiebe- und Rotieroperationen 14-1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

14.1 Schiebeoperationen 14-2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

14.2 Rotieroperationen 14-6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

15 Datenbausteinoperationen 15-1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

15.1 Öffnen der Datenbausteine 15-2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

15.2 Tauschen der Datenbausteinregister 15-2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

15.3 Laden der Längen und Nummern von Datenbausteinen 15-3. . . . . . . . . . . . . . .

16 Sprungoperationen 16-1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

16.1 Übersicht 16-2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

16.2 Absolute Sprungoperationen 16-3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

16.3 Vom Verknüpfungsergebnis abhängige Sprungoperationen 16-4. . . . . . . . . . . .

16.4 Von den Bits BIE, OV oder OS des Statusworts abhängige Sprungoperationen 16-5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

16.5 Vom Inhalt der Bits A1 und A0 des Statusworts abhängige Sprungoperationen 16-6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

16.6 Programmschleife 16-8. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

17 Operationen zur Programmsteuerung 17-1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

17.1 Parametrierung bei Aufruf von FCs und FBs 17-2. . . . . . . . . . . . . . . . . . . . . . . . .

17.2 Aufrufen der Funktionen und Funktionsbausteine mit CALL 17-3. . . . . . . . . . . .

17.3 Aufrufen der Funktionen und Funktionsbausteine mit CC und UC 17-7. . . . . .

17.4 Funktionen des Master Control Relay 17-10. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

17.5 Operationen für das Master Control Relay 17-11. . . . . . . . . . . . . . . . . . . . . . . . . . .

17.6 Bausteinende 17-16. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Inhaltsverzeichnis

Page 10: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

xAnweisungsliste (AWL) für S7-300/400

C79000-G7000-C565-01

A Alphabetische Liste der Operationen A-1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

A.1 Liste der deutschen und internationalen Mnemonik A-2. . . . . . . . . . . . . . . . . . .

A.2 Alphabetische Liste der deutschen Beschreibungen A-12. . . . . . . . . . . . . . . . . .

B Programmierbeispiele B-1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

B.1 Übersicht B-2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

B.2 Bitverknüpfungsoperationen B-3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

B.3 Zeitoperationen B-7. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

B.4 Zähl- und Vergleichsoperationen B-10. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

B.5 Arithmetische Operationen mit Ganzzahlen B-12. . . . . . . . . . . . . . . . . . . . . . . . . .

B.6 Wortverknüpfungsoperationen B-14. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

C Quelldateien - Reservierte Schlüsselwörter C-1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

D Literaturverzeichnis D-1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Glossar Glossar-1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Stichwortverzeichnis Index-1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Inhaltsverzeichnis

Page 11: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

1-1Anweisungsliste (AWL) für S7-300/400C79000-G7000-C565-01

Produktübersicht

AWL steht für Anweisungsliste. AWL ist eine textuelle Programmiersprache,die zur Erstellung des Anweisungsteils von Codebausteinen genutzt werdenkann. Die Syntax der Anweisungen ähnelt der Assemblersprache: auf Befehlebzw. Operationen folgen Operanden.

AWL ist unter den Programmiersprachen, mit denen die S7-Steuerungenprogrammiert werden können, diejenige, die dem Maschinencode MC7 derS7-CPUs am nächsten steht. Dadurch kann man mit ihr Steuerungsaufgabensehr speicherplatz- und laufzeitoptimal programmieren.

Die Programmiersprache AWL stellt Ihnen alle Elemente zur Verfügung, diefür die Erstellung eines vollständigen Anwenderprogramms erforderlich sind.AWL hat einen mächtigen Befehlssatz. Über 130 verschiedene Grund-operationen sowie eine umfassende Palette an Operanden und derenAdressierung stehen Ihnen zur Verfügung. Das gleiche gilt für das Konzeptder Funktionen und Funktionsbausteine, mit deren Hilfe ein AWL-Programmm übersichtlich strukturiert werden kann.

Das AWL-Programmierpaket ist integrierter Bestandteil der BasissoftwareSTEP 7. Damit stehen Ihnen nach der Installation Ihrer STEP 7-Software alleEditor-, Compiler- und Testfunktionen für AWL zur Verfügung.

Mit AWL können Sie Ihr Anwenderprogramm erstellen

� mit einem inkrementellen Editor. Hierin ist die Eingabe der baustein-lokalen Datenstruktur komfortabel über Tabelleneditoren gelöst.

� als Quelldatei im Texteditor. Im mitgelieferten Editor wird Ihnen dieTexteingabe durch Bausteinvorlagen vereinfacht.

Da neben AWL auch die Programmiersprachen FUP und KOP in die Basis-software integriert sind, können Sie zwischen den Sprachen wechseln undsomit jeweils die geeignete Darstellung für eine Bausteinprogrammierungwählen.

Generell gilt, Programme, die in KOP oder FUP geschrieben sind, könnenproblemlos in AWL dargestellt werden. Bei der Umsetzung von KOP-Programmen in FUP-Programme und umgekehrt, werden Programm-elemente, die in der Zielsprache nicht darstellbar sind, in AWL angezeigt.

Was bedeutetAWL?

Die Programmier-sprache AWL

Das Programmier-paket

1

Page 12: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

1-2Anweisungsliste (AWL) für S7-300/400

C79000-G7000-C565-01

Page 13: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

2-1Anweisungsliste (AWL) für S7-300/400C79000-G7000-C565-01

Aufbau und Elemente von AWL

Im Kapitel finden Sie auf Seite

2.1 Aufbau einer Anweisung 2-2

2.2 Bedeutung der CPU-Register in Anweisungen 2-10

Kapitelübersicht

2

Page 14: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

2-2Anweisungsliste (AWL) für S7-300/400

C79000-G7000-C565-01

2.1 Aufbau einer Anweisung

Abhängig von ihrem Aufbau werden Anweisungen in eine der beidenfolgenden Hauptgruppen eingeordnet (siehe auch Bild 2-1):

� Anweisungen, die nur aus der Operation bestehen (zum Beispiel NOT,siehe hierzu Kapitel 5.9).

� Anweisungen, die aus einer Operation und einem Operanden bestehen(siehe Tabellen 2-1 bis 2-5 und Tabelle 2-9).

Anweisungen der 1. Gruppe

Operation und OperandNur Operation

Anweisungen der 2. Gruppe

Bild 2-1 Hauptgruppen der Anweisungen

Der Operand einer Anweisung gibt eine Konstante oder eine Adresse an, beider die Operation einen Wert (Datenobjekt) findet, mit dem sie eineVerknüpfung ausführen kann. Der Operand kann einen symbolischen Namenoder eine absolute Bezeichnung haben. Er kann auf die folgenden Elementezeigen (siehe auch Tabellen 2-1 bis 2-9):

� Eine Konstante, den Wert einer Zeit oder eines Zählers oder eine ASCII-Zeichenkette, die bzw. der in Akkumulator 1 (AKKU 1) geladen werdensoll (z. B. L +27, siehe Tabelle 2-1).

� Ein Bit im Statuswort des Automatisierungssystems (z. B. U UO, sieheTabelle 2-2).

� Einen symbolischen Namen (z. B. U MOTOR_EIN, siehe Tabelle 2-3).

� Einen Datenbaustein und eine Adresse innerhalb dieses Datenbaustein-bereichs (z. B. L DB4.DBD10, siehe Tabelle 2-4).

� Eine Funktion (FC), einen Funktionsbaustein (FB), eine integrierteSystemfunktion (SFC) oder einen integrierten Systemfunktionsbaustein(SFB) und die Nummer der Funktion bzw. des Funktionsbausteins (sieheTabelle 2-5).

� Ein Operandenkennzeichen und eine Adresse innerhalb des Speicher-bereichs, den das Operandenkennzeichen angibt (z.B. U E 1.0 oderU E [AR 1,P#4.3], siehe Tabelle 2-9).

Die Tabellen 2-1 bis 2-9 zeigen verschiedene Anweisungen, von denen jedeaus einer Operation und einem Operanden besteht.

Komponenteneiner Anweisung

Operand einerAnweisung

Aufbau und Elemente von AWL

Page 15: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

2-3Anweisungsliste (AWL) für S7-300/400C79000-G7000-C565-01

Tabelle 2-1 zeigt Ihnen, wie Sie einen konstanten Wert als Operanden einerAnweisung verwenden.

Tabelle 2-1 Operanden, die auf einen Wert oder eine Zeichenkette zeigen

Anweisung

Operation Operand Beschreibung= KONSTANTE

g

L +27 Lade Ganzzahl 27 in AKKU 1.

L ’ENDE’ Lade die ASCII-Zeichen ’ENDE’ in AKKU 1.

Der Operand einer AWL-Operation kann sich auf ein Bit oder mehrere Bitsim Statuswort des Automatisierungssystems beziehen (siehe Kapitel 2.2). DieOperation fragt den Signalzustand eines einzelnen Bits im Statuswort ab(z.B. U BIE) und reagiert darauf, oder sie wertet die Bitverknüpfung vonzwei der Bits aus (z.B. U UO).

Tabelle 2-2 Operanden, die sich auf ein Bit im Statuswort beziehen

Anweisung

Operation OperandBeschreibung

Bit im Statuswort

Beschre bung

U BIE Die ”1” oder ”0” in Bit 8 des Statuswortes wird ver-knüpft.

U UO Die Operation wertet die Bitverknüpfung in den Status-bits A1 und A0 aus, um zu überprüfen, ob eine be-stimmte Bedingung erfüllt wurde. So gibt zum Beispieldie Verknüpfung von ”1” und ”1” ”unzulässig” an, d. h.einer der Werte in einer Gleitpunktoperation war keinegültige Gleitpunktzahl.

Konstante Werte

Bit im Statuswort

Aufbau und Elemente von AWL

Page 16: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

2-4Anweisungsliste (AWL) für S7-300/400

C79000-G7000-C565-01

Tabelle 2-3 zeigt Ihnen, wie Sie einen symbolischen Namen als Operandeneiner Anweisung verwenden. Symbolische Namen müssen Sie global (in derSymboltabelle) oder lokal (in einem Baustein) vereinbart haben, wenn Sie siein AWL-Anweisungen benutzen wollen.

Tabelle 2-3 Operanden, die auf einen symbolischen Namen zeigen

Anweisung

Operation Operand BeschreibungSymbol

g

U MOTOR.EIN Führe eine UND-Verknüpfung des Bits aus, dessensymbolischer Name MOTOR.EIN lautet. In diesemBeispiel kann der symbolische Name MOTOR.EINnur ein Bit im Speicherbereich Datenbaustein (D)oder Element einer Struktur ”MOTOR” darstellen.

L DREHZAHL Lade den Byte-, Wort- oder Doppelwortwert, des-sen symbolischer Name DREHZAHL lautet, inAKKU 1.

Tabelle 2-4 zeigt Ihnen, wie Sie einen Datenbaustein und eine Adresse indiesem Datenbaustein als den Operanden einer Anweisung verwenden.

Tabelle 2-4 Operanden, die auf einen Datenbaustein oder eine Adresse in einemDatenbaustein zeigen

Anweisung

Operation OperandBeschreibung

Datenbausteinund Adresse

Beschre bung

L DB4.DBD10 Lade Datendoppelwort DBD10 aus DatenbausteinDB4 in AKKU 1.

U DB10.DBX4.3 Führe eine UND-Verknüpfung des DatenbitsDBX4.3 aus Datenbaustein DB10 aus.

SymbolischeNamen

Datenbaustein undAdresse im Daten-baustein

Aufbau und Elemente von AWL

Page 17: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

2-5Anweisungsliste (AWL) für S7-300/400C79000-G7000-C565-01

Tabelle 2-5 zeigt Ihnen, wie Sie eine Funktion (FC), einen Funktionsbaustein(FB), eine integrierte Systemfunktion (SFC), einen integriertenSystemfunktionsbaustein (SFB) und die Nummer der Funktion bzw. desFunktionsbausteins als Operanden einer Operation verwenden.

Tabelle 2-5 Operanden, die auf eine Funktion, einen Funktionsbaustein, eineSystemfunktion oder einen Systemfunktionsbaustein zeigen

Anweisung

Operation OperandBeschreibung

FC, FB, SFC,SFB undNummer

Beschre bung

CALL FB10, DB 10 Rufe Funktionsbaustein FB10 mit Instanz-Daten-baustein DB10 auf.

CALL SFC43 Rufe Systemfunktion SFC43 auf.

Einige Operanden bestehen aus einem Operandenkennzeichen und einerAdresse innerhalb des im Operandenkennzeichen angegebenenSpeicherbereichs. Ein Operandenkennzeichen kann zu den folgenden dreiArten gehören (siehe Tabellen 2-6 bis 2-8):

� Ein Operandenkennzeichen, das den Speicherbereich und die Größe einesDatenobjekts in diesem Bereich wie folgt angibt (siehe Tabelle 2-6):

– Speicherbereich, in dem die Operation einen Wert (Datenobjekt)findet, mit dem sie eine Verknüpfung ausführt (z.B. ”E” für Pro-zeßabbild der Eingänge).

– Größe eines Werts (Datenobjekts), mit dem die Operation eineVerknüpfung ausführen soll (z.B. B für ”Byte”, W für ”Wort” und Dfür ”Doppelwort”).

� Ein Operandenkennzeichen, das einen Speicherbereich, nicht jedoch dieGröße des Datenobjekts in diesem Bereich angibt (z.B. ein Kennzeichenfür den Bereich T (Zeiten), Z (Zähler) oder DB bzw. DI (Datenbaustein)und die Nummer der Zeit, des Zählers oder des Datenbausteins) (sieheTabelle 2-7).

� Ein Operandenkennzeichen, das die Größe eines Datenobjekts ohne denSpeicherbereich angibt. Der Speicherbereich ist in der Operandenadresse,die auf das Operandenkennzeichen folgt, codiert (siehe Tabelle 2-8).

FCs, FBs, SFCsund SFBs

Operanden-kennzeichen

Aufbau und Elemente von AWL

Page 18: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

2-6Anweisungsliste (AWL) für S7-300/400

C79000-G7000-C565-01

Tabelle 2-6 Operandenkennzeichen, das den Speicherbereich und die Größe des Datenobjekts angibt

Adressierungsart Operation Operandenkennzeichen: OperandenadresseSpeicher-bereich

Größe des Datenobjekts(Bit, wenn nicht anders

angegeben)

Direkt U E 0.0

Direkt L E B 10

Speicherindirekt U E [MD2]

Speicherindirekt L E B [DID4]

Registerindirekt, be-reichsintern

U E [AR1, P#4.3]

Registerindirekt, be-reichsintern

T L D [AR2, P#53.0]

Tabelle 2-7 Operandenkennzeichen, das den Speicherbereich, aber keine Größe des Datenobjekts angibt

Adressierungsart Operation Operandenkennzeichen:Speicherbereich

Nummer oderAdresse der

Nummer

Direkt AUF DB 5

Direkt SI T 7

Speicherindirekt AUF DB [LW2]

Speicherindirekt S Z [MW44]

Tabelle 2-8 Operandenkennzeichen, das die Größe des Datenobjekts, aber keinen Speicherbereich angibt

Adressierungsart Operation Größe des Datenobjekts(Bit, wenn nicht anders

angegeben)

Operandenadresse

Registerindirekt, be-reichsübergreifend

U [AR1, P#4.3]

Registerindirekt, be-reichsübergreifend

L B [AR1, P#100.0]

Tabelle 2-9 Operanden, die aus Operandenkennzeichen und Operandenadresse bestehen

Anweisung

Operation OperandBeschreibung

Operan-denkenn-zeichen

Adresse imSpeicher-

bereich oderRegister

Beschre bung

U E 1.0 Führe eine UND-Verknüpfung des Eingangsbits E 1.0 aus.

U E [MD2] Führe eine UND-Verknüpfung des Eingangsbits aus. Die genaueAdresse befindet sich im Merkerdoppelwort MD2.

L Z 1 Lade den Zählwert des Zählers Z1 in AKKU 1.

Aufbau und Elemente von AWL

Page 19: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

2-7Anweisungsliste (AWL) für S7-300/400C79000-G7000-C565-01

Wenn Sie mit einer Operation arbeiten, deren Operandenkennzeichen einenSpeicherbereich Ihres Automatisierungssystems angibt, und mit einemDatenobjekt, daß von der Größe her entweder ein Wort oder ein Doppelwortist (siehe Tabelle 2-6), müssen Sie berücksichtigen, daß sich auf dieSpeicheradresse immer als Byteadresse bezogen wird. Diese Byteadresse istdie Nummer des höchstwertigen Bytes innerhalb des Worts oderDoppelworts. Der Operand in der in Bild 2-2 gezeigten Operation beziehtsich beispielsweise auf vier aufeinanderfolgende Bytes imSpeicherbereich M, angefangen bei Byte 10 (MB10) bis Byte 13 (MB13).

Operation: L MD10

Operandenkennzeichen Byteadresse

Bild 2-2 Beispiel für eine Speicheradresse, auf die sich in Form einer Byteadressebezogen wird

Bild 2-3 zeigt Datenobjekte mit den folgenden Größen:

� Doppelwort: Merkerdoppelwort MD10

� Wort: Merkerwörter MW10, MW11 und MW12

� Byte: Merkerbytes MB10, MB11, MB12 und MB13

Wenn Sie absolute Operanden verwenden, die von der Breite her ein Wortoder ein Doppelwort sind, dann stellen Sie sicher, daß Sie Byte-Zuweisungenvermeiden, die sich überlappen.

MB10 MB11 MB12 MB13

MW11

MW10 MW12

MSB LSB

0|15

16|15MD10

031

015

Bild 2-3 Bezug auf Speicheradresse in Form einer Byteadresse

Die meisten Operanden in AWL beziehen sich auf Speicherbereiche. Diefolgende Tabelle zeigt die Arten und ihre Funktionen

Arbeiten mit Wortoder Doppelwortals Datenobjekt

Speicherbereicheund ihreFunktionen

Aufbau und Elemente von AWL

Page 20: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

2-8Anweisungsliste (AWL) für S7-300/400

C79000-G7000-C565-01

Tabelle 2-10 Speicherbereiche und ihre Funktionen

Bereichs-Bereichszugriff über

Bere chs-name Funktion des Speicherbereichs Einheiten der folgen-

den Größen:Abk.

Prozeßabbildder Eingänge

Zu Beginn des Zyklus liest das Betriebssystem die Eingängeaus dem Prozeß und zeichnet die Werte in diesem Bereich auf.Das Programm kann diese Werte bei seiner zyklischenBearbeitung verwenden.

EingangEingangsbyteEingangswortEingangsdoppelwort

EEBEWED

Prozeßabbildder Ausgänge

Während des Zyklus errechnet das Programm dieAusgangswerte und legt sie in diesem Bereich ab. Am Ende desZyklus liest das Betriebssystem die errechneten Ausgangswerteaus diesem Bereich und sendet sie zu den Prozeßausgängen.

AusgangAusgangsbyteAusgangswortAusgangsdoppelwort

AABAWAD

Merker Dieser Bereich stellt Speicherplatz zur Verfügung fürZwischenergebnisse, die das Programm errechnet hat.

MerkerMerkerbyteMerkerwortMerkerdoppelwort

MMBMWMD

Peripherie-bereichEingänge:ext. Eingänge

Dieser Bereich ermöglicht Ihrem Programm den direktenZugriff auf die Eingabe- und Ausgabebaugruppen (periphereEingänge und Ausgänge).

PeripherieeingangsbytePeripherieeingangswortPeripherieeingangs-Doppelwort

PEBPEWPED

Peripherie-bereichAusgänge:ext. Ausgänge

PeripherieausgangsbytePeripherieausgangswortPeripherieausgangs-Doppelwort

PABPAWPAD

Zeiten Zeiten sind Funktionselemente in AWL. Dieser Bereich stelltSpeicherplatz für Zeitzellen zur Verfügung. In diesem Bereichgreift der Zeitimpulsgeber auf die Zeitzellen zu, um sie durchVerminderung des Zeitwertes zu aktualisieren. Zeitoperationengreifen hier auf die Zeitzellen zu.

Zeit (T) T

Zähler Zähler sind Funktionselemente in AWL. Dieser Bereich stelltSpeicherplatz für Zähler zur Verfügung. Zähloperationengreifen hier auf sie zu.

Zähler (Z) Z

Datenbaustein In diesem Bereich sind Daten enthalten, auf die von jedemBaustein aus zugegriffen werden kann. Falls Sie zwei verschie-dene Datenbausteine gleichzeitig öffnen müssen, können Sieden einen mit der Anweisung ”AUF DB” und den anderen mitder Anweisung ”AUF DI” öffnen. Auf diese Weise kann dieCPU unterscheiden, auf welchen der beiden Datenbausteine IhrProgramm zugreifen will, wenn beide geöffnet sind.Ob hl Si it d A i ”AUF DI” f j d b li bi

Datenbaustein, geöffnetmit der Anweisung”AUF DB”:DatenbitDatenbyteDatenwortDatendoppelwort

DBXDBBDBWDBD

Obwohl Sie mit der Anweisung ”AUF DI” auf jeden beliebigenDatenbaustein zugreifen können, wird diese Anweisung jedochhauptsächlich für das Öffnen von Instanz-Datenbausteinenverwendet, die Funktionsbausteinen (FBs) undSystemfunktionsbausteinen (SFBs) zugeordnet sind. WeitereInformationen zu FBs und SFBs entnehmen Sie derOnline-Hilfe zu STEP 7.

Datenbaustein, geöffnetmit der Anweisung”AUF DI”:DatenbitDatenbyteDatenwortDatendoppelwort

DIXDIBDIWDID

Lokaldaten Dieser Bereich enthält bausteintemporäre Daten einesCodebausteins (OB, FB oder FC). Diese Daten heißen auchdynamische Lokaldaten. Sie dienen als Zwischenspeicher.Wenn der Codebaustein geschlossen wird, gehen diese Datenverloren. Die Daten sind im Lokaldaten-Stack (L-Stack)enthalten.

Temporäre LokaldatenTemporäresLokaldatenbyteTemp. LokaldatenwortTemporäresLokaldaten-Doppelwort

LLB

LWLD

Aufbau und Elemente von AWL

Page 21: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

2-9Anweisungsliste (AWL) für S7-300/400C79000-G7000-C565-01

Tabelle 2-11 listet die maximalen Adreßbereiche der verschiedenen Speicher-bereiche auf. Die Adreßbereiche für Ihre CPU entnehmen Sie bitte dementsprechenden technischen Daten der CPU. Die Funktion der Speicher-bereiche ist in Tabelle 2-10 erklärt.

Tabelle 2-11 Speicherbereiche und ihre Adreßbereiche

BereichsnameBereichszugriff über

M i l Ad ßb i hBere chsnameEinheiten der folgenden Größen: Abk. Maximaler Adreßbereich

Prozeßabbild derEingänge

EingangEingangsbyteEingangswortEingangsdoppelwort

EEBEWED

0.0 bis 65 535.70 bis 65 5350 bis 65 5340 bis 65 532

Prozeßabbild derAusgänge

AusgangAusgangsbyteAusgangswortAusgangsdoppelwort

AABAWAD

0.0 bis 65 535.70 bis 65 5350 bis 65 5340 bis 65 532

Merker Merker MerkerbyteMerkerwortMerkerdoppelwort

MMBMWMD

0.0 bis 65535.70 bis 655350 bis 655340 bis 65532

PeripheriebereichEingänge:Externe Eingänge

PeripherieeingangsbytePeripherieeingangswortPeripherieeingangs-Doppelwort

PEBPEWPED

0 bis 65 5350 bis 65 5340 bis 65 532

PeripheriebereichAusgänge:Externe Ausgänge

PeripherieausgangsbytePeripherieausgangswortPeripherieausgangs-Doppelwort

PABPAWPAD

0 bis 65 5350 bis 65 5340 bis 65 532

Zeit Zeit T 0 bis 65 535

Zähler Zähler Z 0 bis 65 535

Datenbaustein Datenbaustein, geöffnet mit der Anweisung”AUF DB”:

Datenbit im DatenbausteinDatenbyteDatenwortDatendoppelwort

DBXDBBDBWDBD

0.0 bis 65 535.70 bis 65 5350 bis 65 5340 bis 65 532

Datenbaustein, geöffnet mit der Anweisung”AUF DI”:

Datenbit im Instanz-DBDatenbyteDatenwortDatendoppelwort

DIXDIBDIWDID

0.0 bis 65 535.70 bis 65 5350 bis 65 5340 bis 65 532

Lokaldaten LokaldatenbitLokaldatenbyteLokaldatenwortLokaldaten-Doppelwort

LLBLWLD

0.0 bis 65 535.70 bis 65 5350 bis 65 5340 bis 65 532

Aufbau und Elemente von AWL

Page 22: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

2-10Anweisungsliste (AWL) für S7-300/400

C79000-G7000-C565-01

2.2 Bedeutung der CPU-Register in Anweisungen

Die Akkumulatoren (AKKUs) sind Universalregister für die Verarbeitung vonBytes, Wörtern und Doppelwörtern. Sie sind 32 Bit breit. Sie können ausdem Speicher Konstanten oder Werte als Operanden in den Akkumulatorladen und dort verknüpfen. Ebenso können Sie das Ergebnis einer Operationvon AKKU 1 zu einer Operandenadresse transferieren. Bild 2-4 zeigt dieBereiche eines Akkumulators.

Der Stack-Mechanismus für die Akkumulatorverwaltung sieht wie folgt aus:

� Eine Ladeoperation wirkt immer auf AKKU 1 und rettet den alten Inhaltin AKKU 2.

� Eine Transferoperation verändert die Akkumulatoren nicht (aus-genommen die Operationen TAR1 und TAR2).

� Die Operation TAK tauscht den Inhalt der AKKUs 1 und 2.

Informationen über die Akkumulatorverwaltung bei arithmetischenOperationen entnehmen Sie dem Kapitel 9.1.

0781516232431

AKKU (1 oder 2)NiederwertigesWort

HöherwertigesWort

NiederwertigesByte

HöherwertigesByte

HöherwertigesByte

NiederwertigesByte

Bild 2-4 Bereiche eines Akkumulators

Der Klammerstack ist ein Speicherbereich, den die Verknüpfungsoperationenvon Klammerausdrücken U(, O(, X(, UN(, ON( und XN( verwenden. Er istein Byte breit. Diese Operationen speichern das aktuelleVerknüpfungsergebnis (VKE) im Klammerstack und beginnen eine neueVerknüpfungskette.

Der Klammerstack kann bis zu sieben Einträge aufnehmen. Ein Eintrag imKlammerstack besteht aus den Bits VKE, BIE und OR des Statuswortes undeinem Funktionscode, der angibt, welche Verknüpfung ausgeführt werdensoll (U, UN, O, ON, X oder XN).

Die Operation ) schließt einen Klammerausdruck und führt folgendeFunktionen aus:

� Holt einen Eintrag aus dem Klammerstack.

� Holt die Bits OR und BIE.

� Definiert das neue VKE durch Verknüpfen des aktuellen VKE (d. h. dasVKE des Klammerausdrucks) mit dem VKE des Stackeintrags nach demFunktionscode (siehe Kapitel 5.4).

Akkumulatoren

Klammerstack

Aufbau und Elemente von AWL

Page 23: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

2-11Anweisungsliste (AWL) für S7-300/400C79000-G7000-C565-01

Bild 2-5 zeigt den Aufbau eines Eintrags im Klammerstack. Im Anschluß andas Bild folgt eine Erläuterung der Bits des Klammerstack-Byte.

2427 26 25 2023 22 21

BIE OR0 0 VKE Funktionscode

Bild 2-5 Aufbau eines Eintrags im Klammerstack

Das Klammerstack-Byte enthält folgende Bits (siehe auch Bild 2-5):

� nicht zugewiesene Bits (Bits 7 und 6 mit Signalzustand ”0”),

� das gespeicherte Binärergebnis (BIE),

� das gespeicherte Verknüpfungsergebnis (VKE),

� das gespeicherte OR-Bit in den Funktionen U( und UN(. Null wird injeder anderen Funktion gespeichert,

� den Funktionscode (in den Bits 2, 1 und 0).

Funktionscode

Die Operation ) bestimmt die Funktion, die für die Verknüpfung desKlammer-VKE mit dem VKE aus dem Klammereintrag verwendet werdensoll, anhand des Funktionscodes. Tabelle 2-12 listet die Bitkombinationendes Funktionscodes für jede Funktionsart auf.

Tabelle 2-12 Funktionscode des Klammerstack-Bytes

Operationsfunktion Funktionscode 2 Funktionscode 1 Funktionscode 0

U( 0 0 0

UN( 0 0 1

O( 0 1 0

ON( 0 1 1

X( 1 0 0

XN( 1 0 1

Aufbau und Elemente von AWL

Page 24: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

2-12Anweisungsliste (AWL) für S7-300/400

C79000-G7000-C565-01

Klammerstack mit Einträgen und Pointer

Der Klammerstack sowie der Klammerstack-Pointer müssen im Unter-brechungs-Stack gespeichert oder vom Unterbrechungs-Stack geholt werden,wenn die Schichten gewechselt werden. Die Zahl im Klammerstack-Pointergibt an, wieviele Einträge im Klammerstack vorhanden sind (siehe Bild 2-6).

15 7 0

SteigendeAdressen

Klammerstack-Pointer

Klammerstack-Eintrag 7

Klammerstack-Eintrag 5

Klammerstack-Eintrag 3

Klammerstack-Eintrag 1

Klammerstack-Eintrag 6

Klammerstack-Eintrag 4

Klammerstack-Eintrag 2

Bild 2-6 Aufbau eines Klammerstacks mit Einträgen und Pointer

Das Statuswort enthält Bits, auf die Sie im Operanden der Bit- undWortverknüpfungsoperationen zugreifen können. Bild 2-7 zeigt den Aufbaudes Statusworts. Die folgenden Kapitel erläutern die Bedeutung der Bits 0bis 8.

28215... ...29 2427 26 25 2023 22 21

BIE OSA1 A0 OV /EROR STA VKE

Bild 2-7 Aufbau des Statusworts

Das Bit 0 des Statuswortes wird Erstabfragebit genannt (/ER-Bit: sieheBild 2-8). Der Signalzustand ”0” im /ER-Bit gibt an, daß die nächsteVerknüpfungsoperation in Ihrem Programm eine neue Verknüpfungskettebeginnt. (Der Schrägstrich vor der Abkürzung ER gibt an, daß das /ER-Bitnegiert ist).

Jede Verknüpfungsoperation fragt den Signalzustand des /ER-Bits und desangesprochenen Operanden ab. Ist das /ER-Bit ”0”, dann speichert dieOperation das Ergebnis der Signalzustandsabfrage im VKE-Bit des Status-worts (zu VKE-Bit: siehe nächstes Kapitel) und setzt das /ER-Bit auf 1.Dieser Vorgang wird Erstabfrage genannt (siehe Bild 2-8 und Kapitel 5.6).

Ist der Signalzustand des /ER-Bits gleich ”1”, dann verknüpft eine Operationdas Ergebnis ihrer Signalzustandsabfrage am von ihr angesprochenenKontakt mit dem Wert, der im vorherigen VKE-Bit gespeichert wurde (sieheBild 2-8).

Eine Kette von Verknüpfungsoperationen endet immer mit einer Aus-gabeoperation (S, R oder =, siehe Kapitel 5.7 und 5.8), einer Sprungopera-tion, die sich auf das Verknüpfungsergebnis bezieht (SPB, siehe Kapitel 16)oder einem Klammerausdruck U(, O(, X( UN(, ON( oder XN( (siehe Kapitel5.4). Diese Operationen setzen das /ER-Bit auf ”0” zurück (siehe Bild 2-8).

Statuswort

Erstabfrage

Aufbau und Elemente von AWL

Page 25: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

2-13Anweisungsliste (AWL) für S7-300/400C79000-G7000-C565-01

Das Bit 1 des Statusworts wird VKE-Bit genannt (VKE steht für”Verknüpfungsergebnis”, siehe Bild 2-7). Dieses Bit speichert das Ergebniseiner Verknüpfungsoperation oder einer Vergleichsoperation.

Die zweite Operation in einer Kette von Verknüpfungsoperationen fragt z. B.den Signalzustand eines Kontakts ab und erhält das Ergebnis ”1” oder ”0”.Die Operation verknüpft nun dieses Ergebnis nach den Regeln der Boole-schen Logik mit dem Wert, der im VKE-Bit des Statusworts gespeichert ist(siehe oben ”Erstabfrage” und Kapitel 5). Das Ergebnis dieserVerknüpfungsoperation wird im VKE-Bit des Statusworts gespeichert undersetzt den vorherigen Wert im VKE-Bit. Jede nachfolgende Operation in derKette führt eine Verknüpfung mit zwei Werten aus: mit dem Ergebnis derSignalabfrage am Kontakt und mit dem aktuellen VKE.

Sie können das VKE mit der Anweisung SET absolut auf ”1” setzen oder mitder Anweisung CLR absolut auf ”0” zurücksetzen. Mit einerVerknüpfungsoperation an der Erstabfrage können Sie den Inhaltsstatus einesBitspeicherplatzes dem VKE zuweisen. Mit dem VKE können Sie Sprung-operationen auslösen.

Abfrageergebnis wird mit vorherigem VKEgemäß der UND-Wahrheitstabelle verknüpft./ER-Bit bleibt ”1”.

AWL-Programm

Signalzustand amEingang (E) oderAusgang (A)

U E 1.0

UN E 1.1

= A 4.0

VKE- Bit

Abfrage-ergebnis

1 1 Erstabfrageergebnis ist in VKE-Bit gespei-chert. /ER- Bit wird auf ”1” gesetzt.

0 1

1 VKE wird Ausgangsspule zugewiesen./ER-Bit wird auf ”0” zurückgesetzt.

1

1

Erläuterung/ER- Bit

0

1

1

0

/ER-Bit = 0 gibt an, daß die nächste Opera-tion eine Verknüpfungskette beginnt.

Bild 2-8 Auswirkungen des Signalzustands des /ER-Bits bei Verknüpfungsoperationen

Das Statusbit (STA) speichert den Wert eines angesprochenen Bits. DerStatus einer Verknüpfungsoperation, die Lesezugriff auf den Speicher hat(U, UN, O, ON, X oder XN), ist immer gleich dem Wert des Bits, das dieseOperation abfragt (das Bit, mit dem sie ihre Verknüpfung ausführt). DerStatus einer Verknüpfungsoperation, die Schreibzugriff auf den Speicher hat(S, R, =) ist gleich dem Wert des Bits, in das die Operation schreibt. Fallskein Schreiben stattfindet, ist er gleich dem Wert des angesprochenen Bits.Das Statusbit hat keine Bedeutung für Verknüpfungsoperationen, die nichtauf den Speicher zugreifen. Diese Operationen setzen das Statusbit auf ”1”(STA = 1). Das Statusbit wird nicht von Operationen abgefragt. Es wirdlediglich während des Programmtests (Programmstatus) ausgewertet.

Verknüpfungs-ergebnis

Statusbit

Aufbau und Elemente von AWL

Page 26: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

2-14Anweisungsliste (AWL) für S7-300/400

C79000-G7000-C565-01

Das OR-Bit (ODER) wird benötigt, wenn Sie mit der Operation O eine UNDvor ODER-Verknüpfung ausführen. Eine UND-Verknüpfung kann folgendeOperationen enthalten: U, UN, U(, UN(, ) und NOT. Das OR-Bit zeigt diesenOperationen, daß eine zuvor ausgeführte UND-Verknüpfung den Wert ”1”geliefert hat, womit das Ergebnis der ODER-Verknüpfung vorweggenommenwird. Jede andere bitverarbeitende Operation setzt das OR-Bit zurück (sieheKapitel 5.4).

Das OV-Bit (Überlauf) zeigt einen Fehler an. Es wird von einerarithmetischen Operation oder einer Vergleichsoperation mitGleitpunktzahlen gesetzt, nachdem ein Fehler aufgetreten ist (Überlauf,unzulässige Operation, unzulässige Gleitpunktzahl). Das Bit wirdentsprechend dem Ergebnis der nächsten Arithmetik- bzw.Vergleichsoperation gesetzt.

Das OS-Bit (Überlauf, speichernd) wird zusammen mit dem OV-Bit gesetzt,wenn ein Fehler auftritt. Da das OS-Bit auch nach Beseitigung des Fehlersgesetzt bleibt, speichert es den Status des OV-Bits und zeigt an, ob in einerder zuvor ausgeführten Operationen ein Fehler aufgetreten ist. FolgendeOperationen setzen das OS-Bit zurück: SPS (Springe, wenn OS = 1),Bausteinaufrufe und Bausteinende.

Die Bits A1 und A0 (Anzeigenbits) informieren über die folgendenErgebnisse oder Bits:

� Ergebnis einer arithmetischen Operation.

� Ergebnis einer Vergleichsoperation.

� Ergebnis einer digitalen Operation.

� Bits, die durch eine Schiebe- oder Rotieroperation geschoben wurden.

Die Tabellen 2-13 bis 2-18 listen die Bedeutung von A1 und A0 auf, nach-dem Ihr Programm bestimmte Operationen ausgeführt hat.

Tabelle 2-13 A1 und A0 nach arithmetischen Operationen, ohne Überlauf

A1 A0 Erläuterung

0 0 Ergebnis = 0

0 1 Ergebnis < 0

1 0 Ergebnis > 0

Tabelle 2-14 A1 und A0 nach arithmetischen Operationen (Festpunktarithmetik), mitÜberlauf

A1 A0 Erläuterung

0 0 Negative Bereichsüberschreitung bei +I und +D

0 1 Negative Bereichsüberschreitung bei *I und *DPositive Bereichsüberschreitung bei +I, -I, +D, -D, NEGI undNEGD

1 0 Positive Bereichsüberschreitung bei *I, *D, /I und /DNegative Bereichsüberschreitung bei +I, -I, +D und -D

1 1 Division durch 0 in /I, /D und MOD

OR-Bit

OV-Bit

OS-Bit

A1 und A0

Aufbau und Elemente von AWL

Page 27: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

2-15Anweisungsliste (AWL) für S7-300/400C79000-G7000-C565-01

Tabelle 2-15 A1 und A0 nach arithmetischen Operationen (Gleitpunktarithmetik), mitÜberlauf

A1 A0 Erläuterung

0 0 Stufenweise Unterschreitung

0 1 Negative Bereichsüberschreitung

1 0 Positive Bereichsüberschreitung

1 1 Keine gültige Gleitpunktzahl

Tabelle 2-16 A1 und A0 nach Vergleichsoperationen

A1 A0 Erläuterung

0 0 AKKU 2 = AKKU 1

0 1 AKKU 2 < AKKU 1

1 0 AKKU 2 > AKKU 1

1 1 AKKU 1 oder AKKU 2 ist keine gültige Gleitpunktzahl

Tabelle 2-17 A1 und A0 nach Schiebe- und Rotieroperationen

A1 A0 Erläuterung

0 0 Zuletzt geschobenes Bit = 0

1 0 Zuletzt geschobenes Bit = 1

Tabelle 2-18 A1 und A0 nach digitalen Verknüpfungsoperationen

A1 A0 Erläuterung

0 0 Ergebnis = 0

1 0 Ergebnis <> 0

Aufbau und Elemente von AWL

Page 28: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

2-16Anweisungsliste (AWL) für S7-300/400

C79000-G7000-C565-01

Das BIE-Bit ist ein Bindeglied zwischen Bit- und Wortverarbeitung. Esermöglicht auf effiziente Art und Weise die binäre Interpretation desErgebnisses einer Wortoperation und dessen Einbindung in eine binäreVerknüpfungskette. BIE stellt bei dieser Betrachtungsweise einenmaschineninternen Merker dar, in den das VKE vor einer VKE-veränderndenWortoperation gerettet wird, damit es nach der Operation zur Fortführung derunterbrochenen Bitkette wieder zur Verfügung steht.

Das BIE-Bit ermöglicht es Ihnen, z. B. einen Funktionsbaustein (FB) odereine Funktion (FC) in AWL zu programmieren und den FB oder die FC inKOP aufzurufen (zu KOP siehe Referenzhandbuch /233/ ).

Wenn Sie einen Funktionsbaustein oder eine Funktion in KOP oder in AWLschreiben und in KOP aufrufen wollen, müssen Sie das BIE-Bit verwalten.Das BIE-Bit entspricht dem Freigabeausgang (ENO) für die KOP-Box. Mitder Operation SAVE (in AWL, siehe Kapitel 5.9) oder mit der Spulespeichern Sie ein VKE nach den folgenden Kriterien im BIE-Bit:

� Speichern Sie ein VKE von 1 im BIE-Bit, wenn der FB oder die FCfehlerfrei bearbeitet wurde.

� Speichern Sie ein VKE von 0 im BIE-Bit, wenn der FB oder die FC miteinem Fehler bearbeitet wurde.

Programmieren Sie diese Operationen an das Ende des FB oder der FC, sodaß es die letzten Operationen sind, die im Baustein ausgeführt werden.

Wenn Sie in Ihrem Programm einen Systemfunktionsbaustein (SFB) odereine Systemfunktion (SFC) aufrufen, zeigt der SFB bzw. die SFC über denSignalzustand des BIE-Bits an, ob die CPU die Funktion fehlerfrei oderfehlerhaft ausgeführt hat:

� Trat während der Bearbeitung ein Fehler auf, ist das BIE-Bit ”0”.

� Wurde die Funktion fehlerfrei bearbeitet, ist das BIE-Bit ”1”.

BIE-Bit

Aufbau und Elemente von AWL

Page 29: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

3-1Anweisungsliste (AWL) für S7-300/400C79000-G7000-C565-01

Adressierung

Im Kapitel finden Sie auf Seite

3.1 Unmittelbare Adressierung 3-2

3.2 Direkte Adressierung 3-2

3.3 Speicherindirekte Adressierung 3-3

3.4 Adreßregister 3-6

3.5 Registerindirekte, bereichsinterne Adressierung 3-7

3.6 Registerindirekte, bereichsübergreifende Adressierung 3-11

Kapitelübersicht

3

Page 30: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

3-2Anweisungsliste (AWL) für S7-300/400

C79000-G7000-C565-01

3.1 Unmittelbare Adressierung

Bei der unmittelbaren Adressierung ist der Operandenwert direkt in derOperation codiert, d. h. es folgt direkt der Wert, mit dem diese Operationarbeiten soll (z. B. Laden). Ebenso kann eine Operation ihren eigenen Wertzur Verfügung stellen (z. B. SET, siehe Tabelle 3-1).

Tabelle 3-1 Unmittelbare Adressierung

Beispiel Beschreibung

SET Setze VKE auf 1.

OW W#16#A320 ODER-Wort

L 27 Lade die Ganzzahl 27 in AKKU 1.

L ’ABCD’ Lade die ASCII-Zeichen ABCD in AKKU 1.

L B#(100,12) Lade eine Konstante als 2 Bytes (100 und 12) inAKKU 1.

L C#100 Lade den BCD-Wert 100 in AKKU 1.

3.2 Direkte Adressierung

Bei der direkten Adressierung ist die Operandenadresse in der Operationcodiert, d. h. der Operand gibt die Adresse des Werts an, den die Operationverarbeiten wird. Der Operand besteht aus den beiden folgenden Teilen:

� einem Operandenkennzeichen (z.B. ”EB” für ”Eingangsbyte”).

� einer genauen Adresse innerhalb des Speicherbereichs, den dasOperandenkennzeichen angibt.

Der Operand zeigt direkt auf die Adresse des Werts.

Tabelle 3-2 Direkte Adressierung

Beispiel Beschreibung

U E 0.0 Führe eine UND-Verknüpfung des EingangsbitsE 0.0 aus.

S L 20.0 Setze Lokaldatenbit L20.0.

= M 115.4 Weise das VKE dem Merkerbit M 115.4 zu.

L EB 0 Lade Eingangsbyte EB0 in AKKU 1.

L MW 64 Lade Merkerwort MW64 in AKKU 1.

T DBD 12 Transferiere den Inhalt von AKKU 1 ins Daten-doppelwort DBD12.

Beschreibung

Beispiele

Beschreibung

Beispiele

Adressierung

Page 31: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

3-3Anweisungsliste (AWL) für S7-300/400C79000-G7000-C565-01

3.3 Speicherindirekte Adressierung

Bei der speicherindirekten Adressierung gibt der Operand die Adresse desWerts an, den die Operation verarbeiten wird. Der Operand besteht aus denbeiden folgenden Teilen:

� einem Operandenkennzeichen (z. B. ”EB” für ”Eingangsbyte”) und

� einem Wort, das die Nummer einer Zeit (T), eines Zählers (Z), Daten-bausteins (DB), einer Funktion (FC) oder eines Funktionsbausteins (FB)enthält oder

� einem Doppelwort, das die genaue Adresse eines Werts innerhalb desSpeicherbereichs enthält, den das Operandenkennzeichen angibt.

Der Operand gibt die Adresse des Werts oder der Nummer indirekt über denPointer an. Dieses Wort oder Doppelwort kann sich in einem der folgendenBereiche befinden:

� Merker (M)

� Datenbaustein (DB)

� Instanz-Datenbaustein (DI)

� Lokaldaten (L)

Vorteil der speicherindirekten Adressierung ist, daß Sie den Operanden derAnweisung während der Programmbearbeitung dynamisch modifizieren können.

Wenn Sie mit einem speicherindirekten Operanden arbeiten, der imSpeicherbereich des Datenbausteins gespeichert ist, müssen Sie zuerst denDatenbaustein öffnen, indem Sie die Operation Aufschlage Datenbausteinverwenden. Dann können Sie das Datenwort oder das Datendoppelwort alsindirekten Operanden verwenden, wie im nachfolgenden Beispiel gezeigt:

AUF DB10L EB [DBD20]

Tabelle 3-3 Speicherindirekte Adressierung

Beispiel BeschreibungU E [MD2]oderU E [anna]

Führe UND-Verknüpfung des Eingangsbits aus. Die genaue Adresse befindet sich im Merker-doppelwort MD2 oder in der mit ”anna” bezeichneten Adresse in der Symboltabelle als Bezugauf MD2.

= DIX [DBD2] Weise VKE-Bit dem Instanz-Datenbit zu. Die genaue Adresse befindet sich im DatendoppelwortDBD2.

AUF DB [LW2] Öffne den Datenbaustein. Die Datenbausteinnummer befindet sich im Lokaldatenwort LW2.

O A [LD3]oderO A [hans]

Führe ODER-Verknüpfung des Ausgangsbits aus. Die genaue Adresse befindet sich im Lokal-datendoppelwort 3 oder in der mit ”hans” bezeichneten Adresse in der Symboltabelle als Bezugauf LD3.

Beschreibung

Verwenden derkorrekten Syntax

Beispiele

Adressierung

Page 32: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

3-4Anweisungsliste (AWL) für S7-300/400

C79000-G7000-C565-01

Es gibt zwei mögliche Pointerformate: Wort und Doppelwort. Die Abkürzungfür einen Pointer im Wortformat endet auf W (z. B. DBW). Bild 3-1 zeigt dasPointerformat für ein Wort. Die Abkürzung für einen Pointer imDoppelwortformat endet auf D (z. B. DBD). In Bild 3-2 sehen Sie dasPointerformat für ein Doppelwort.

15.. ..8 7.. ..0n n n n n n n n

Bits 0 bis 15 (nnnn nnnn nnnn nnnn): Nummer (Bereich 0 bis 65 535) einerZeit (T), eines Zählers (Z), Datenbausteins (DB), einer Funktion (FC) odereines Funktionsbausteins (FB)

n n n n n n n n

Bild 3-1 Pointer im Wortformat für die speicherindirekte Adressierung

Die folgenden beiden Beispiele zeigen, wie Sie mit einem Pointer im Wort-format arbeiten:

AWL Erläuterung

L +5T MW2AUF DB[MW2]

Lade den Wert 5 als Ganzzahl in AKKU 1.Transferiere den Inhalt von AKKU 1 ins Merkerwort MW2.Öffne Datenbaustein 5.

AWL Erläuterung

AUF DB10L +20T DBW10U T[DBW10]

Öffne Datenbaustein DB10.Lade den Wert 20 als Ganzzahl in AKKU 1.Transferiere den Inhalt von AKKU 1 ins Datenwort DBW10.Frage Signalzustand der Zeit T20 ab.

Pointerformat

Adressierung

Page 33: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

3-5Anweisungsliste (AWL) für S7-300/400C79000-G7000-C565-01

31.. ..24 23.. ..16 15.. ..8 7.. ..00 0 0 0 0 0 0 0 0 0 0 0 0 b b b b b b b b b b b b b b b b x x x

Bits 3 bis 18 (bbbb bbbb bbbb bbbb): Nummer (Bereich 0 bis 65 535) desadressierten Byte

Bits 0 bis 2 (xxx): Nummer (Bereich 0 bis 7) des adressierten Bit

Bild 3-2 Pointer im Doppelwortformat für die speicherindirekte Adressierung

Hinweis

Wenn Sie auf ein Byte, Wort oder Doppelwort zugreifen, vergewissern Siesich zunächst, daß die Bitnummer des Pointers ”0” ist.

Die folgenden beiden Beispiele zeigen, wie Sie mit einem Pointer imDoppelwortformat arbeiten:

AWL Erläuterung

L P#8.7

T MD2

U E [MD2]= A [MD2]

Lade 2#0000 0000 0000 0000 0000 0000 0100 0111 (Binärwert) inAKKU 1.Speichere die Adresse 8.7 im Merkerdoppelwort MD2.

Die Steuerung fragt den Eingang E 8.7 ab und weist seinen Si-gnalzustand dem Ausgang A 8.7 zu.

AWL Erläuterung

L P#8.0

T MD2

L EB [MD2]T MW [MD2]

Lade 2#0000 0000 0000 0000 0000 0000 0100 0000 (Binärwert) inAKKU 1.Speichere die Adresse 8 im Merkerdoppelwort MD2.

Die Steuerung lädt das Eingangsbyte EB8 und transferiert denInhalt ins Merkerwort MW8.

Adressierung

Page 34: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

3-6Anweisungsliste (AWL) für S7-300/400

C79000-G7000-C565-01

3.4 Adreßregister

Für einige Arten der indirekten Adressierung sind beim Programmieren mitAWL bestimmte Register in der CPU notwendig. Diese Register sind imfolgenden beschrieben.

Die Adreßregister AR 1 und AR 2 enthalten die bereichsinternen oderbereichsübergreifenden Adressen für die registerindirekt adressierendenOperationen. Sie sind 32 Bit breit (siehe Kapitel 3.5 und 3.6).

Pointer werden bei der registerindirekten Adressierung verwendet (sieheKapitel 3.5 und 3.6). Folgende zwei Arten stehen zur Verfügung:

� bereichsintern: für den bereichsinternen Zugriff auf Bits, Bytes, Wörterund Doppelwörter in den Speicherbereichen P, E, A, M, DBX, DIXund L,

� bereichsübergreifend: für den bereichsübergreifenden Zugriff auf Bits,Bytes, Wörter und Doppelwörter in den Speicherbereichen P, E, A, M,DBX, DIX und L.

Erläuterung

Adreßregister 1und 2

Pointer

Adressierung

Page 35: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

3-7Anweisungsliste (AWL) für S7-300/400C79000-G7000-C565-01

3.5 Registerindirekte, bereichsinterne Adressierung

Bei der registerindirekten, bereichsinternen Adressierung gibt der Operanddie Adresse des Werts an, den die Operation verarbeiten wird. Der Operandbesteht aus den beiden folgenden Teilen:

� einem Operandenkennzeichen (z. B. ”LD” für ”Lokaldaten-Doppelwort”,siehe Tabelle 2-6),

� einem Adreßregister und einem Pointer zur Angabe eines Versatzes, derzum Inhalt des Adreßregisters addiert wird, um die genaue Adresse, diedie Operation verarbeiten soll, zu ermitteln. Der Pointer wird durchP#Byte.Bit angegeben.

Der Operand zeigt indirekt auf die Adresse des Werts, und zwar über dasAdreßregister plus Versatz.

Eine Operation, die die bereichsinterne, registerindirekte Adressierungverwendet, verändert den Wert im Adreßregister nicht.

Der Operand einer Operation zeigt auf den Wert, den die Operationverarbeiten wird. Bei registerindirekter, bereichsinterner Adressierung zeigtder Operand indirekt auf die Adresse des Werts, und zwar über dasAdreßregister plus Versatz. Bild 3-3 zeigt, wie Sie die Operandenadresse fürdie Operation Zuweisung (=) in der folgenden Anweisung berechnen:

= A [AR1, P#1.1]

Inhalt des Adreßregisters AR1: 8.7 Byte 8, Bit 7

Versatz P#: 1.1 Byte 1, Bit 1

Adresse: Ausgangsbyte A 10.0 Bytes: 9, Bits: 8 (= 1 Byte)

(9 Bytes + 1 Byte = 10 Bytes)

+

Byte Bit

Bild 3-3 Berechnen der Adresse von Ausgang A [AR1, P#1.1]

Die Operandenadresse errechnen Sie, indem Sie den Byteanteil des Inhaltsdes Adreßregisters zum Byteanteil des Versatz-Pointers addieren und indemSie den Bitanteil des Inhalts des Adreßregisters zum Bitanteil desVersatz-Pointers addieren. Bei der Berechnung des Byteanteils der Adresseverwenden Sie das Dezimalsystem, bei der Berechnung des Bitanteilsverwenden Sie das Oktalsystem (8 Bit = 1 Byte). Es kann sich hier um einenÜbertrag zwischen den Bit- und Byteanteilen handeln.

Beschreibung

Berechnen derOperandenadresse

Adressierung

Page 36: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

3-8Anweisungsliste (AWL) für S7-300/400

C79000-G7000-C565-01

Tabelle 3-4 Registerindirekte, bereichsinterne Adressierung

Beispiel Beschreibung

U E [AR1, P#4.3] Führe eine UND-Verknüpfung des Eingangsbits aus.Die Adresse errechnet sich aus dem Inhalt vonAdreßregister AR 1 plus 4 Bytes plus 3 Bits.

= DIX [AR2, P#0.0] Weise das VKE-Bit dem Instanz-Datenbit zu. DieAdresse befindet sich im Adreßregister AR 2.

L EB [AR1, P#100.0] Lade das Eingangsbyte in AKKU 1. Die Adresseerrechnet sich aus dem Inhalt von AdreßregisterAR 1 plus 100 Bytes.

T LD [AR2, P#56.0] Transferiere den Inhalt von AKKU 1 in das Lokal-daten-Doppelwort LD. Die Adresse errechnet sichaus dem Inhalt von Adreßregister AR 2 plus 56Bytes.

Zur Adressierung von Lokaldaten lesen Sie bitte dieuntenstehende Warnung.

!Warnung

Mögliches Überschreiben der vom Übersetzer verwendeten Daten.

Wenn Sie auf temporäre Lokaldaten über die absolute Adressierungzugreifen, so kann es zu einem Konflikt zwischen den vom Übersetzerverwendeten Daten und den Lokaldaten kommen. Es ist möglich, daß Siedann einige der vom Übersetzer verwendeten Daten überschreiben. (DerÜbersetzer verwendet beispielsweise für das Übertragen vonFormatparametern Lokaldaten.) Lokaldaten, die der Übersetzer verwendet,sind an die symbolischen Daten geknüpft, die vom Programmierer definiertwerden.

Wenn sie auf temporäre Lokaldaten zugreifen wollen, so empfiehlt es sich,symbolische Adressierung zu wählen, und nicht absolute Adressierung.

Beispiele

Adressierung

Page 37: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

3-9Anweisungsliste (AWL) für S7-300/400C79000-G7000-C565-01

Für die registerindirekte, bereichsinterne Adressierung steht nur einmögliches Pointerformat zur Verfügung: das Doppelwort. Dieses Doppelwortenthält einen als Bitadresse codierten Operanden. Die Abkürzung für einenPointer im Doppelwortformat endet auf D (z. B. DBD). In Bild 3-4 sehen Siedas Pointerformat für ein Doppelwort.

31.. ..24 23.. ..16 15.. ..8 7.. ..00 0 0 0 0 0 0 0 0 0 0 0 0 b b b b b b b b b b b b b b b b x x x

Bit 31 = 0 kennzeichnet registerindirekte, bereichsinterne Adressierung

Bits 3 bis 18 (bbbb bbbb bbbb bbbb): Nummer (Bereich 0 bis 65 535) desadressierten Bytes

Bits 0 bis 2 (xxx): Nummer (Bereich 0 bis 7) des adressierten Bits

..3

Bild 3-4 Pointer im Doppelwortformat für die registerindirekte, bereichsinterneAdressierung

Hinweis

Wenn Sie auf ein Byte, Wort oder Doppelwort zugreifen, vergewissern Siesich zunächst, daß die Bitnummer des Pointers ”0” ist.

Pointerformat

Adressierung

Page 38: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

3-10Anweisungsliste (AWL) für S7-300/400

C79000-G7000-C565-01

Die folgenden beiden Beispiele zeigen, wie Sie mit einem Pointer imDoppelwortformat arbeiten:

AWL Erläuterung

L P#8.7

LAR1

U E [AR1, P#0.0]

= A [AR1, P#1.1]

Lade einen Pointer im Doppelwortformat auf Bitadresse 8.7 inAKKU 1.

Speichere einen Pointer im Doppelwortformat auf Bitadresse 8.7in Adreßregister AR 1.

Die CPU fügt dem Inhalt des Adreßregisters AR1 (8.7) den Ver-satz (P#0.0) hinzu und verwendet diese Adresse als Operand ei-ner UND-Verknüpfung des Bits. Der Inhalt von AR1 bleibt unver-ändert.

Die CPU weist das Verknüpfungsergebnis (VKE) einer Adresse(A 10.0) zu. Die CPU berechnet diesen Operanden, indem der In-halt des Adreßregisters AR1 (8.7) und der Versatz (P#1.1) ad-diert werden.

AWL Erläuterung

L P#8.0

LAR2

L EB [AR2, P#2.0]

T MW [AR2, P#200.0]

Lade einen Pointer im Doppelwortformat auf Bitadresse 8.0 inAKKU 1.

Speichere einen Pointer im Doppelwortformat auf Bitadresse 8.0in Adreßregister AR 2.

Die CPU lädt das Eingangsbyte EB10 in AKKU 1.

Die CPU transferiert den Inhalt von AKKU 1 ins MerkerwortMW208.

Die Adresse 208 errechnet sich aus 8 (AR 2) plus 200 (Versatz).Dies ergibt 208.

Adressierung

Page 39: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

3-11Anweisungsliste (AWL) für S7-300/400C79000-G7000-C565-01

3.6 Registerindirekte, bereichsübergreifende Adressierung

Bei der registerindirekten, bereichsübergreifenden Adressierung gibt derOperand die Adresse des Wertes an, den die Operation verarbeiten wird, undbesteht aus den beiden folgenden Teilen:

� einem Operandenkennzeichen, das die Größe eines Datenobjekts (z. B.”B” für ”Byte”, siehe Tabelle 2-8) angibt. Der Speicherbereich wird inden Bits 24, 25 und 26 des Adreßregisters angegeben.

� einem Adreßregister und einem Pointer zur Angabe eines Versatzes, derzum Inhalt des Adreßregisters addiert wird, um die genaue Adresse, diedie Operation verarbeiten soll, zu ermitteln. Der Pointer wird durchP#Byte.Bit angegeben.

Der Operand zeigt indirekt auf die Adresse des Werts, und zwar über dasAdreßregister plus Versatz.

Eine Operation, die die registerindirekte, bereichsübergreifende Adressierungverwendet, verändert den Wert im Adreßregister nicht.

Der Operand einer Operation zeigt auf den Wert, den die Operationverarbeiten wird. Bei registerindirekter, bereichsübergreifender Adressierungzeigt der Operand indirekt auf die Adresse des Werts, und zwar über dasAdreßregister plus Versatz. Bild 3-5 zeigt, wie Sie die Operandenadresse fürdie Operation Zuweisung (=) in der folgenden Anweisung berechnen:

= [AR1, P#1.1]

Inhalt des Adreßregisters AR1: 8.7 Byte 8, Bit 7

Versatz P#: 1.1 Byte 1, Bit 1

Adresse: Byte 10.0 Bytes: 9, Bits: 8 (= 1 Byte)

(9 Bytes + 1 Byte = 10 Bytes)

+

Byte Bit

Bild 3-5 Berechnen der Adresse [AR1, P#1.1]

Die Operandenadresse errechnen Sie, indem Sie den Byteanteil des Inhaltsdes Adreßregisters zum Byteanteil des Versatz-Pointers addieren und indemSie den Bitanteil des Inhalts des Adreßregisters zum Bitanteil desVersatz-Pointers addieren. Bei der Berechnung des Byteanteils der Adresseverwenden Sie das Dezimalsystem, bei der Berechnung des Bitanteilsverwenden Sie das Oktalsystem (8 Bit = 1 Byte). Es kann sich hier um einenÜbertrag zwischen den Bit- und Byteanteilen handeln.

Beschreibung

Berechnen derOperandenadresse

Adressierung

Page 40: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

3-12Anweisungsliste (AWL) für S7-300/400

C79000-G7000-C565-01

Tabelle 3-5 gibt Beispiele für die registerindirekte, bereichsübergreifendeAdressierung. Der Operand muß in den Bits 24, 25 und 26 des Pointers einezusätzliche Bereichskennung enthalten. Die angesprochenen Informationenbefinden sich im Adreßregister.

Tabelle 3-5 Registerindirekte, bereichsübergreifende Adressierung

Beispiel Beschreibung

U [AR 1, P#4.3] Führe eine UND-Verknüpfung des Bits aus. DieAdresse errechnet sich aus dem Inhalt von Adreß-register AR 1 plus 4 Bytes plus 3 Bits. Der Speicher-bereich des Bits ist in den Bits 24, 25 und 26 desAdreßregisters AR 1 angegeben.

= [AR 2, P#0.0] Weise das VKE-Bit dem Bit zu. Die Adresse des Bitbefindet sich im Adreßregister AR 2. Der Speicher-bereich des Bits ist in den Bits 24, 25 und 26 desAdreßregisters AR 2 angegeben.

L B [AR 1, P#100.0] Lade das Byte in AKKU 1. Die Adresse des Byteerrechnet sich aus Adreßregister AR 1 plus 100Bytes. Der Speicherbereich des Bytes ist in den Bits24, 25 und 26 des Adreßregisters AR 1 angegeben.

T D [AR 2, P#56.0] Transferiere den Inhalt von AKKU 1 in das Doppel-wort. Die Adresse des Doppelworts errechnet sichaus dem Inhalt des Adreßregisters AR 2 plus 56Bytes. Der Speicherbereich des Doppelwortes ist inden Bits 24, 25 und 26 des Adreßregisters AR 2angegeben.

Tabelle 3-6 listet den Binärcode in den Pointerbits 24, 25 und 26 auf, diediesen Bereich kennzeichnen.

Tabelle 3-6 Bereichskennung für die registerindirekte, bereichsübergreifendeAdressierung

Bereichskennung (Speicherbereich) Binärcode der Bits 26, 25, und 24

P (Peripheriebereich der Ein- und Ausgänge)

000

E (Prozeßabbild der Eingänge) 001

A (Prozeßabbild der Ausgänge) 010

M (Merker) 011

DBX (Datenbaustein) 100

DIX (Instanz-Datenbaustein) 101

(Lokaldaten des aufrufendenBausteins, d.h. Lokaldaten des unmittelbaren Vorgängers in der Aufrufhierarchie.

111

Beispiel

Adressierung

Page 41: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

3-13Anweisungsliste (AWL) für S7-300/400C79000-G7000-C565-01

Für die registerindirekte, bereichsübergreifende Adressierung steht nur einmögliches Pointerformat zur Verfügung: das Doppelwort. Die Abkürzung füreinen Pointer im Doppelwortformat endet auf D (z. B. DBD). In Bild 3-6sehen Sie das Pointerformat für ein Doppelwort.

31.. 26..24 23.. ..16 15.. ..8 7.. ..01 0 0 0 0 r r r 0 0 0 0 0 b b b b b b b b b b b b b b b b x x x

Bit 31 = 1 gibt registerindirekte, bereichsübergreifende Adressierung an

Bit 24, 25 und 26 (rrr): Bereichskennung (Speicherbereich, siehe Tabelle3-6

Bits 3 bis 18 (bbbb bbbb bbbb bbbb): Nummer (Bereich 0 bis 65 535) desadressierten Bytes

Bits 0 bis 2 (xxx): Nummer (Bereich 0 bis 7) des adressierten Bits

3..

Bild 3-6 Pointer im Doppelwortformat für die registerindirekte, bereichsüber-greifende Adressierung

Hinweis

Wenn Sie auf ein Byte, Wort oder Doppelwort zugreifen, vergewissern Siesich zunächst, daß die Bitnummer des Pointers ”0” ist.

Auf Lokaldaten kann nicht registerindirekt, bereichsübergreifend zugegriffenwerden!

Pointerformat

Adressierung

Page 42: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

3-14Anweisungsliste (AWL) für S7-300/400

C79000-G7000-C565-01

Die folgenden beiden Beispiele zeigen, wie Sie mit einem Pointer imDoppelwortformat arbeiten:

AWL Erläuterung

L P#E8.7

LAR1

L P#A8.7

LAR2

U [AR1, P#0.0]

= [AR2, P#1.1]

Lade einen Pointer im Doppelwortformat auf Bitadresse E 8.7 inAKKU 1.

Speichere einen Pointer im Doppelwortformat auf BitadresseE 8.7 in Adreßregister AR 1.

Lade einen Pointer im Doppelwortformat auf Bitadresse A 8.7 inAKKU 1.

Speichere einen Pointer im Doppelwortformat auf BitadresseA 8.7 in Adreßregister AR 2.

Die CPU fügt den Inhalt des Adreßregisters AR1 (P# E 8.7) undden Versatz (P#0.0) hinzu und verwendet den Operanden, auf dendas Ergebnis (E 8.7) zeigt, als Operanden einer UND-Verknüpfungdes Bits. Der Inhalt von AR1 bleibt unverändert.

Die CPU weist das Verknüpfungsergebnis (VKE) einem Operanden(A 10.0) zu. Die CPU berechnet diesen Operanden, indem der In-halt des Adreßregisters AR2 (P#A 8.7) und der Versatz (P#1.1)addiert werden und der Pointer deaktiviert wird. Der Inhalt vonAR2 bleibt unverändert.

AWL Erläuterung

L P#E8.0

LAR2

L P#M8.0

LAR1

L B [AR2, P#2.0]

T W [AR1, P#200.0]

Lade einen Pointer im Doppelwortformat auf Bitadresse E 8.0 inAKKU 1.

Speichere einen Pointer im Doppelwortformat auf BitadresseE 8.0 in Adreßregister AR 2.

Lade einen Pointer im Doppelwortformat auf Bitadresse M 8.0 inAKKU 1.

Speichere einen Pointer im Doppelwortformat auf BitadresseM 8.0 in Adreßregister AR 1.

Die CPU lädt das Eingangsbyte EB10 in AKKU 1.

Die CPU transferiert den Inhalt von AKKU 1 ins MerkerwortMW208.

Eingangsbyte 10 errechnet sich aus 8 (AR 2) plus 2 (Versatz).Merkerwort 208 errechnet sich aus 8 (AR 1) plus 200 (Versatz).Dies ergibt 208.

Adressierung

Page 43: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

4-1Anweisungsliste (AWL) für S7-300/400C79000-G7000-C565-01

Akkumulatoroperationen undAdreßregisteranweisungen

Im Kapitel finden Sie auf Seite

4.1 Übersicht 4-2

4.2 ENT und LEAVE 4-3

4.3 Inkrementieren und Dekrementieren 4-6

4.4 +AR1 und +AR2: Addieren einer Konstanten zu Adreß-register 1 oder Adreßregister 2

4-7

Kapitelübersicht

4

Page 44: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

4-2Anweisungsliste (AWL) für S7-300/400

C79000-G7000-C565-01

4.1 Übersicht

Die folgenden Operationen stehen Ihnen zur Verfügung, um den Inhalt voneinem oder mehreren Akkumulatoren bzw. Adreßregistern zu bearbeiten:

Mnemonik Operation Bedeutung

TAK Tausche AKKU 1 mit AKKU 2 Diese Operation tauscht den Inhalt von AKKU 1 mitdem Inhalt von AKKU 2.

PUSHmit zwei Akkus

Kopiere AKKU 1 in AKKU 2 Diese Operation kopiert den Inhalt von AKKU 1 inAKKU 2.

POPmit zwei Akkus

Kopiere AKKU 2 in AKKU 1 Diese Operation kopiert den Inhalt von AKKU 2 inAKKU 1.

PUSHmit vier Akkumula-toren

Kopiere AKKU 3 in AKKU 4,AKKU 2 in AKKU 3, AKKU 1 inAKKU 2

Diese Operation kopiert den Inhalt von AKKU 3 inAKKU 4, den Inhalt von AKKU 2 in AKKU 3 undden Inhalt von AKKU 1 in AKKU 2.

POPmit vier Akkumula-toren

Kopiere AKKU 2 in AKKU 1,AKKU 3 in AKKU 2, AKKU 4 inAKKU 3

Diese Operation kopiert den Inhalt von AKKU 2 inAKKU 1, den Inhalt von AKKU 3 in AKKU 2 undden Inhalt von AKKU 4 in AKKU 3.

ENT Enter Akku-Stack Diese Operation kopiert den Inhalt von AKKU 3 inAKKU 4 und den Inhalt von AKKU 2 in AKKU 3.

LEAVE Leave Akku-Stack Diese Operation kopiert den Inhalt von AKKU 3 inAKKU 2 und den Inhalt von AKKU 4 in AKKU 3.

INC Inkrementiere AKKU 1 Diese Operation erhöht den Inhalt des niederwerti-gen Bytes im niederwertigen Wort von AKKU 1 umdie 8-Bit-Konstante, die in der Anweisung angege-ben ist. Die Konstante kann im Bereich von 0 bis255 liegen.

DEC Dekrementiere AKKU 1 Diese Operation verringert den Inhalt des niederwer-tigen Bytes im niederwertigen Wort von AKKU 1um die 8-Bit-Konstante, die in der Anweisung ange-geben ist. Die Konstante kann im Bereich von 0 bis255 liegen.

+AR1, +AR2 Addiere AKKU 1 zu Adreßregister Diese Operation addiert den Inhalt des niederwerti-gen Worts von AKKU 1 zu Adreßregister 1 bzw. 2.

+AR1 P#Byte.Bit,+AR2 P#Byte.Bit

Addiere Konstante zu AdreßregisterDiese Operation addiert eine Konstante zu dem In-halt von Adreßregister 1 bzw. 2.

BLD Bildbefehl Diese Operation führt keine Funktion aus und beein-flußt die Statusbits nicht. Die Operation ist nur fürdas Programmiergerät (PG) wichtig, wenn ein Pro-gramm angezeigt wird. Der Operand <Zahl> ist dieKennummer der Operation BLD und wird vom Pro-grammiergerät erzeugt.

NOP 0

NOP 1

Nulloperation 0

Nulloperation 1

Diese Operationen führen weder eine Operation aus,noch beeinflussen sie den Inhalt des Statusworts.Die Operationen NOP 1 und NOP 0 sind zumRückübersetzen erforderlich. Der Operationscodeenthält ein Bitmuster mit 16 Nullen bzw. 16 Einsen.

Nähere Informationen zum Tauschen der Reihenfolge der Bytes in AKKU 1entnehmen Sie dem Kapitel 12.3.

Akkumulatoroperationen

Page 45: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

4-3Anweisungsliste (AWL) für S7-300/400C79000-G7000-C565-01

4.2 ENT und LEAVE

Mit den Operationen ENT (Enter Akku-Stack) und LEAVE (LeaveAkku-Stack) können Sie die folgenden Funktionen ausführen:

� Die Operation ENT kopiert den Inhalt von AKKU 3 in AKKU 4 und denInhalt von AKKU 2 in AKKU 3. Wenn Sie die Operation ENT direkt voreiner Ladeoperation programmieren, dann schiebt die Operation ENTAKKU 2 und AKKU 3 tiefer in den Stack.

� Die Operation LEAVE kopiert den Inhalt von AKKU 3 in AKKU 2 undden Inhalt von AKKU 4 in AKKU 3. Wenn Sie die Operation LEAVEdirekt vor einer Schiebe- oder Rotieroperation programmieren, dieAkkumulatoren verknüpft, dann funktioniert die Operation LEAVE wieeine arithmetische Operation.

Bild 4-1 zeigt, wie die Operation ENT arbeitet.

031

AKKU 3 AKKU 3

AKKU 4 AKKU 4031

031 031

I II III IV

V VI VII VIII

V VI VII VIII

ENT

IX X XI XII

031

AKKU 1 AKKU 1

AKKU 2 AKKU 2031

031 031

IX X XI XII

XIII XIV XV XVI XIII XIV XV XVI

IX X XI XII

Bild 4-1 Kopieren des Inhalts von AKKU 3 in AKKU 4 und des Inhalts von AKKU 2 in AKKU 3 mit derOperation ENT

Beschreibung

ENT

Akkumulatoroperationen

Page 46: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

4-4Anweisungsliste (AWL) für S7-300/400

C79000-G7000-C565-01

Bild 4-2 zeigt, wie die Operation LEAVE arbeitet.

031

AKKU 3 AKKU 3

AKKU 4 AKKU 4031

031 031

I II III IV

V VI VII VIII

031

AKKU 1 AKKU 1

AKKU 2 AKKU 2031

031 031

IX X XI XII

XIII XIV XV XVI

LEAVE

I II III IV

I II III IV

V VI VII VIII

XIII XIV XV XVI

Bild 4-2 Kopieren des Inhalts von AKKU 3 in AKKU 2 und des Inhalts von AKKU 4 in AKKU 3 mit derOperation LEAVE

Der folgende Programmausschnitt zeigt die Verwendung der Operation ENT.

Die in den Datendoppelwörtern DBD0 und DBD4 liegenden Gleitpunkt-zahlen sollen addiert werden. Die Summe ist durch die Differenz der in denDatendoppelwörtern DBD8 und DBD12 liegenden Gleitpunktzahlen zudividieren.

DBD16 =DBD0 + DBD4

DBD8 – DBD12

Das Ergebnis soll in Datendoppelwort DBD16 abgelegt werden.

Die Operation ENT dient in diesem Beispiel dazu, das Zwischenergebnis(DBD0+DBD4), das in AKKU 2 steht, in AKKU 3 zu retten. DerSubtraktionsbefehl (–R) kopiert das in AKKU 3 gerettete Zwischenergebnisim Anschluß an die Subtraktion wieder in AKKU 2.

LEAVE

Beispiel

Akkumulatoroperationen

Page 47: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

4-5Anweisungsliste (AWL) für S7-300/400C79000-G7000-C565-01

AWL Erläuterung

L DBD0

L DBD4

+R

L DBD8

ENT

L DBD12

–R

/R

T DBD16

Lade den Wert aus Datendoppelwort DBD0 in AKKU 1(Dieser Wert muß Gleitpunktformt haben).Kopiere den Wert aus AKKU 1 in AKKU 2Lade den Wert aus Datendoppelwort DBD4 in AKKU 1.(Dieser Wert muß Gleitpunktformat haben.)Addiere die Inhalte von AKKU 1 und AKKU 2 alsGleitpunktzahlen (32 Bit, IEEE-FP) und speichere das Ergebnisin AKKU 1.Kopiere den Wert aus AKKU 1 in AKKU 2.Lade den Wert aus Datendoppelwort DBD8 in AKKU 1Kopiere den Inhalt von AKKU 3 in AKKU 4.Kopiere den Inhalt von AKKU 2 (Zwischenergebnis) in AKKU 3.Kopiere den Inhalt von AKKU 1 in AKKU 2.Lade den Inhalt aus Datendoppelwort DBD12 in AKKU 1.Subtrahiere den Inhalt von AKKU 1 vom Inhalt von AKKU 2. Spei-chere das Ergebnis in AKKU 1. Kopiere den Inhalt von AKKU 3 inAKKU 2.Dividiere den Inhalt von AKKU 2 durch den Inhalt von AKKU 1.Speichere das Ergebnis in AKKU 1.Transferiere das Ergebnis (AKKU 1) in das DatendoppelwortDBD16.

Akkumulatoroperationen

Page 48: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

4-6Anweisungsliste (AWL) für S7-300/400

C79000-G7000-C565-01

4.3 Inkrementieren und Dekrementieren

Mit den Operationen INC (Inkrementiere AKKU 1) und DEC (DekrementiereAKKU 1) können Sie folgende Funktionen ausführen:

� Die Operation INC erhöht den Inhalt des niederwertigen Bytes imniederwertigen Wort von AKKU 1 um die 8-Bit-Konstante, die in derAnweisung angegeben ist. Die Konstante kann im Bereich zwischen 0und 255 liegen.

� Die Operation DEC vermindert den Inhalt des niederwertigen Bytes imniederwertigen Wort von AKKU 1 um die 8-Bit-Konstante, die in derAnweisung angegeben ist. Die Konstante kann im Bereich zwischen 0und 255 liegen.

Die Operationen INC und DEC werden unabhängig vom VKE ausgeführt.Diese Operationen beeinflussen weder das VKE, noch verändern sie eines derBits im Statuswort.

Hinweis

Diese Operationen eignen sich nicht für arithmetische Operationen (16 oder32 Bit), da vom niederwertigen Byte des niederwertigen Worts von AKKU 1nichts in das höherwertige Byte des niederwertigen Worts von AKKU 1übertragen wird. Für arithmetische Operationen (16 oder 32 Bit) verwendenSie die Operation +I bzw. +D.

Das folgende Programmbeispiel zeigt, wie die Operation INC innerhalb einerProgrammschleife (Loop) arbeitet, die durch einen bedingten Sprungausgelöst wurde.

AWL Erläuterung

L 1T MB10

M1: L MB10INC 1T MB10..L B#16#5<= ISPB M1

Rumpf der Schleifenoperation.

Setze Schleifenzähler auf ”1”.

Lade den Inhalt von Merkerbyte MB10 in AKKU 1.Inkrementiere den Schleifenzähler um ”1”.Transferiere den Inhalt von AKKU 1 ins Merkerbyte MB10.Anweisungsteil, der 5 mal bearbeitet wird

Wenn das Programm die Programmschleife nicht fünfmal durchlau-fen hat, kehre zur Schleifenoperation zurück.

Beschreibung

Beispiel

Akkumulatoroperationen

Page 49: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

4-7Anweisungsliste (AWL) für S7-300/400C79000-G7000-C565-01

4.4 +AR1 und +AR2: Addieren einer Konstanten zu Adreßregister 1oder Adreßregister 2

Mit den Operationen +AR1 und +AR2 können Sie zu dem Inhalt vonAdreßregister 1 bzw. Adreßregister 2 einen Wert addieren:

Tabelle 4-1 Addieren eines Werts zu dem Inhalt von Adreßregistern

Operation Operand Funktion

+AR1 – Addiert den Inhalt des niederwertigenWorts von AKKU 1 zu dem Inhalt vonAdreßregister 1.

+AR2 – Addiert den Inhalt des niederwertigenWorts von AKKU 1 zu dem Inhalt vonAdreßregister 2.

+AR1 P#Byte.Bit:(Bereich 0.0 bis 4 095.7)1

Addiert eine Pointer-Konstante zu demInhalt von Adreßregister 1.

+AR2 P#Byte.Bit:(Bereich 0.0 bis 4 095.7)1

Addiert eine Pointer-Konstante zu demInhalt von Adreßregister 2.

1 Die Bits 24, 25 und 26 des Adreßregisters werden nicht geändert. Diese Bits zeigen denSpeicherbereich an.

Hinweis

Das Adreßregister AR2 wird bei der Bearbeitung von Multiinstanzenverwendet. Wenn Sie daher den Befehl ”+AR2” programmieren, so solltenSie zuvor den Inhalt des AR2 ”retten” und später wieder zurückladen.

Im folgenden sind einige Beispielanweisungen mit den Operationen +AR1und +AR2 aufgeführt. Wenn Sie das Pointerformat in AKKU 1 laden unddann eine der Operationen +AR1 bzw. +AR2 verwenden, wie in den beidenersten Anweisungen in dem Beispiel, dann steht Ihnen ein Bereich von 0.0bis 8191.7 zur Verfügung.

AWL Erläuterung

L P#250.7+AR1

TAR2 #SAVE_AR2

+AR2 P#126.7..L AR2 #SAVE_AR2

Lade eine Pointer-Konstante (250.7) in AKKU 1.Addiere den Akkuinhalt (250.7) zu dem Inhalt von Adreßregi-ster 1.Wegen Multiinstanzen, die AR2 als Basis verwenden

Addiere eine Pointer-Konstante (126.7) zu dem Inhalt von Adreß-register 2.

AR2 restaurieren

Beschreibung

Beispiele

Akkumulatoroperationen

Page 50: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

4-8Anweisungsliste (AWL) für S7-300/400

C79000-G7000-C565-01

Akkumulatoroperationen

Page 51: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

5-1Anweisungsliste (AWL) für S7-300/400C79000-G7000-C565-01

Bitverknüpfungsoperationen

Im Kapitel finden Sie auf Seite

5.1 Verknüpfungsoperationen mit Bitoperanden 5-2

5.2 Bitverknüpfungsoperationen und Relaisschaltkreise 5-6

5.3 Auswerten von Bedingungen mit UND, ODER undEXKLUSIV ODER

5-10

5.4 Verknüpfungsoperationen von Klammerausdrücken undUND vor ODER

5-14

5.5 Flankenoperationen: FP, FN 5-16

5.6 Abschließen einer Verknüpfungskette 5-20

5.7 Operationen Setze und Rücksetze: S und R 5-21

5.8 Operation Zuweisung (=) 5-24

5.9 Negieren, Setzen, Rücksetzen und Sichern des VKE 5-26

Kapitelübersicht

5

Page 52: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

5-2Anweisungsliste (AWL) für S7-300/400

C79000-G7000-C565-01

5.1 Verknüpfungsoperationen mit Bitoperanden

Für Verknüpfungsoperationen mit Bitoperanden gibt es folgende Grund-operationen:

� U (UND) und seine negierte Form UN (UND NICHT).

� O (ODER) und seine negierte Form ON (ODER NICHT).

� X (EXKLUSIV ODER) und seine negierte Form XN (EXKLUSIV ODERNICHT).

Diese Operationen führen folgende Grundfunktionen aus:

� Zustandsabfrage eines Bitoperanden auf ”1” (aktiviert, ein) oder ”0”(nicht aktiviert, aus).

� Zustandsabfrage einer Zeitzelle (Timer) oder eines Zählers auf ”0” (Wertder Zelle = 0) oder auf ”1” (Wert der Zelle > 0).

Das Verknüpfungsergebnis wird in Abhängigkeit vom /ER-Bit gebildet:

� Ist /ER = ”0”, wird das Ergebnis der Zustandsabfrage unverändert imVerknüpfungsergebnis abgelegt (Beginn einer Verknüpfungskette).

� Ist /ER = ”1”, wird das Ergebnis der Zustandsabfrage entsprechend derWahrheitstabelle der logischen Operation (U, O, X) verknüpft und imVerknüpfungsergebnis abgelegt.

Das Verknüpfungsergebnis zu Beginn einer Verknüpfungskette kann anhandder folgenden Wahrheitstabelle ermittelt werden:

Mnemonic Operation Status desOperanden

Ergebnis im VKE

U UND 01

01

UN UND NICHT 01

10

O ODER 01

01

ON ODER NICHT 01

10

X EXKLUSIV ODER 01

01

XN EXKLUSIV ODER NICHT 01

10

Erläuterung

Wahrheitstabellebei Beginn einerVerknüpfungskette

Bitverknüpfungsoperationen

Page 53: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

5-3Anweisungsliste (AWL) für S7-300/400C79000-G7000-C565-01

Das Verknüpfungsergebnis ab der zweiten Bitverknüpfungsoperation kannanhand der folgenden Wahrheitstabelle ermittelt werden:

Mnemonic Operation VKEvor Ausführung

Status desOperan-

den

Ergebnisim VKE

U UND 0011

0101

0001

UN UND NICHT 0011

0101

0010

O ODER 0011

0101

0111

ON ODER NICHT 0011

0101

1011

X EXKLUSIV ODER 0011

0101

0110

XN EXKLUSIV ODERNICHT

0011

0101

1001

Der Operand, den die Operationen ansprechen, kann ein Bit, eine Zeitzelleoder ein Zähler sein. Die Operation greift über eine der folgenden Operande-narten auf den Kontakt zu:

� Operandenkennzeichen und Adresse innerhalb des Speicherbereichs, dendas Operandenkennzeichen angibt (siehe Tabellen 5-1 bis 5-3).

� Bit, Zeit oder Zähler als Parameter transferiert (siehe Tabelle 5-4).

� Bedingung, ausgedrückt durch Bits im Statuswort (siehe Tabelle 5-8).

Wahrheitstabelleinnerhalb einerVerknüpfungskette

Operanden derGrundoperationen(U, UN, O, ON, X,XN)

Bitverknüpfungsoperationen

Page 54: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

5-4Anweisungsliste (AWL) für S7-300/400

C79000-G7000-C565-01

Tabelle 5-1 Operanden: direkte und indirekte Adressierung

Operanden- Maximaler Adreßbereich je nach Adressierungsartpkennzeichen direkt speicherindirekt registerindirekt, bereichsintern

EA

0.0 bis 65 535.7

[DBD][DID][LD][MD]

0 bis 65 532

[AR1, P#byte.bit]

[AR2, P#byte.bit]

0.0 bis 8 191.7

M0.0 bis

65535.7

[DBD][DID][LD][MD]

0 bis 65 532

[AR1, P#byte.bit]

[AR2, P#byte.bit]

0.0 bis 8 191.7

DBXDIX

L

0.0 bis 65 535.7

[DBD][DID][LD][MD]

0 bis 65 532

[AR1, P#byte.bit]

[AR2, P#byte.bit]

0.0 bis 8 191.7

Tabelle 5-2 Operanden: registerindirekte, bereichsübergreifende Adressierung

Operandenkennzeichen1) Maximaler Adreßbereich

E, A, M, DBX, DIX oder L[AR1, P# byte.bit][AR2, P# byte.bit]

0.0 bis 8 191.7

1) Der Speicherbereich ist in den Pointerbits 24, 25 und 26 codiert (siehe Kapitel 3.6).

Tabelle 5-3 Operanden: Zeiten und Zähler

Operanden- Maximaler Adreßbereich je nach Adressierungsartpkennzeichen direkt speicherindirekt

TZ

0 bis 65535

[DBW][DIW][LW][MW]

0 bis 65 534

Tabelle 5-4 Operanden: Bits, Zeiten oder Zähler als Parameter transferiert

Operand Adreßparameterformat

SymbolischerName

Bit, Zeit oder Zähler als Parameter transferiert.

Tabelle 5-5 Operanden der Bitverknüpfungsoperationen: Bits des Statusworts

Speicherbereich oder Verweisauf eine Adresse

Bits des Statusworts

>0, <0, <>0, >=0, <=0, ==0 7 und 6: Anzeigenbits (Speicherbereich)

UO 7 und 6: Anzeigenbits (Speicherbereich)

BIE 8: Binärergebnis (Adresse)

OV 5: Überlauf (Adresse)

OS 4: Überlauf, speichernd (Adresse)

Bitverknüpfungsoperationen

Page 55: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

5-5Anweisungsliste (AWL) für S7-300/400C79000-G7000-C565-01

Operation OR STA VKE /ER

UUNU(

UN(

xx00

xx11

xx––

1100

OONO(

ON(

0000

xx11

xx––

1100

XXNX(

XN(

0000

xx11

xx––

1100

= 0 x – 0

CLR 0 0 0 0

FN 0 x x 1

FP 0 x x 1

NOT – 1 x –

R 0 x – 0

S 0 x – 0

SAVE – – – –

SET 0 1 1 0

Änderung derBits desZustandswortes

Bitverknüpfungsoperationen

Page 56: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

5-6Anweisungsliste (AWL) für S7-300/400

C79000-G7000-C565-01

5.2 Bitverknüpfungsoperationen und Relaisschaltkreise

Bitverknüpfungsoperationen werden auch Relais-Operationen genannt, damit ihnen typischerweise solche Befehlsfolgen realisiert werden können, diedie Funktion von Relaisschaltungen ersetzen. Im folgenden wird erläutert,wie mit AWL-Befehlsfolgen typische Relaisschaltungen nachgebildet werdenkönnen.

Bild 5-1 zeigt die Darstellung eines Schließer-Relais-Schaltkreises mit einemKontakt zwischen einer Stromschiene und einer Spule. Im Normalzustand istder Kontakt geöffnet. Wird der Kontakt nicht aktiviert, dann bleibt er geöff-net. Der Signalzustand des geöffneten Kontakts ist ”0” (nicht aktiviert).Bleibt der Kontakt geöffnet, dann kann der Strom von der Stromschiene nichtzur Spule am Ende des Schaltkreises fließen. Wird der Kontakt aktiviert (derSignalzustand des Kontakts ist ”1”), dann fließt der Strom zur Spule.

Stromschiene

Schließer

Spule

E 1.1

A 4.0

Bild 5-1 Relais-Schaltkreis mit Schließer

Mit der Operation U (UND) oder O (ODER) können Sie den Signalzustandeines Schließers abfragen. Ist der Schließer (E 1.1 = 0) geöffnet, ist dasAbfrageergebnis ”0”, ist er geschlossen, ist das Abfrageergebnis ”1”.

Einführung

Schließer

Bitverknüpfungsoperationen

Page 57: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

5-7Anweisungsliste (AWL) für S7-300/400C79000-G7000-C565-01

Bild 5-2 zeigt die Darstellung eines Öffner-Relais-Schaltkreises mit einemKontakt zwischen einer Stromschiene und einer Spule. Im Normalzustand istder Kontakt geschlossen. Wird der Kontakt nicht aktiviert, dann bleibt ergeschlossen. Der Signalzustand des geschlossenen Kontakts ist ”0” (nichtaktiviert). Bleibt der Kontakt geschlossen, dann kann der Strom von derStromschiene durch den Kontakt fließen, und die Spule am Ende des Schalt-kreises führt Strom. Beim Aktivieren des Kontakts (der Signalzustand desKontakts ist ”1”) wird der Kontakt geöffnet und der Signalfluß zur Spuleunterbrochen.

Stromschiene

Öffner

Spule

E 1.1

A 4.0

Bild 5-2 Relais-Schaltkreis mit Öffner

Mit der Operation UN (UND NICHT) oder ON (ODER NICHT) können Sieden Signalzustand eines Öffners abfragen. Ist der Öffner geschlossen (E 1.1= 0), ist das Abfrageergebnis ”1”, ist er geöffnet, ist das Abfrageergebnis ”0”.

Bild 5-3 zeigt ein Beispiel mit einer Anweisungsliste, in der mit der Opera-tion U (UND) zwei Schließer in Reihe geschaltet werden. Der Ausgang A 4.0ist nur dann ”1” und damit die Spule stromführend, wenn beide Schließer denZustand ”1” (geschlossen) haben.

AWL-Programm

U E 1.0

U E 1.1

= A 4.0

Relais-Schaltplan

E 1.0

E 1.1

A 4.0

Bild 5-3 Reihenschaltung von Kontakten mit der Operation UND

Öffner

Signalfluß in einerReihenschaltung

Bitverknüpfungsoperationen

Page 58: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

5-8Anweisungsliste (AWL) für S7-300/400

C79000-G7000-C565-01

Bild 5-4 zeigt eine Anweisungsliste, in der mit der Operation O (ODER)zwei Schließer parallel geschaltet werden.

Der Ausgang A 4.0 ist dann ”1” und damit die Spule stromführend, wenneiner der beiden Schließer den Zustand ”1” (geschlossen) hat.

Relais-Schaltplan

O E 1.0

O E 1.1

= A 4.0

Strom-schiene

E 1.0 E 1.1

A 4.0

AWL-Programm

Bild 5-4 Parallelschaltung von Kontakten mit der Operation ODER

Die EXKLUSIV ODER-Operation in AWL entspricht einer Relaisschaltunggemäß Bild 5-5, in den jeweils ein Öffner und ein Schließer mechanisch mit-einander verbunden sind. A 4.0 ist dann ”1”, wenn E 1.0 und E 1.1 unter-schiedliche Werte besitzen.

X E 1.0

X E 1.1

= A 4.0

AWL-Programm Relais-Schaltplan

Strom-schiene

KontaktE 1.0

KontaktE 1.1

SpuleA 4.0

Bild 5-5 Parallelschaltung von Kontakten mit der Operation EXKLUSIV ODER

Signalfluß in einerParallelschaltung

EXKLUSIV ODER

Bitverknüpfungsoperationen

Page 59: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

5-9Anweisungsliste (AWL) für S7-300/400C79000-G7000-C565-01

In entsprechender Weise lassen sich mit der Operation

O E 1.0

ON E 1.1

= A 4.0

Stromschiene

E 1.0Schließer

E 1.1Öffner

A 4.0Spule

AWL-Programm

Relais-Schaltplan

AWL-Programm

Relais-Schaltplan

U E 1.0

UN E 1.1

= A 4.0

E 1.0Schließer

E 1.1Öffner

A 4.0Spule

Stromschiene

X E 1.0

XN E 1.1

= A 4.0

Stromschiene

E 1.0Schließer

E 1.1Öffner

A 4.0Spule

AWL-Programm

Relais-Schaltplan

UN: die Reihenschaltung einesÖffners realisieren

ON: die Parallelschaltung einesÖffners realisieren

XN: die gekoppelte Reihen-schaltung eines Öffners/Schließers realisieren

UN, ON, XN

Bitverknüpfungsoperationen

Page 60: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

5-10Anweisungsliste (AWL) für S7-300/400

C79000-G7000-C565-01

5.3 Auswerten von Bedingungen mit UND, ODER und EXKLUSIV ODER

Mit den Bitverknüpfungsbefehlen können Sie die Bits im Statuswort A0, A1,BIE, OV und OS abfragen. Diese Bits können zuvor durch folgendeOperationen gesetzt worden sein (Tabelle 5-6).

Tabelle 5-6 Operationen, die die Bits A0 u. A1, BIE, OV und OS des Statuswortsbeeinflussen

Operationsart Operation Kapitel indiesem

Handbuch

Festpunktarithmetik �I, �I, /I,�I, �D, �D,/D,�D, MOD

9.1

Vergleichsoperationen(Festpunktarithmetik)

==I, <>I, <I, <=I, >I, >=I, ==D,<>D, <D, <=D,>D, >=D

11.2

Gleitpunktarithmetik �R, �R,�R , /R, SQRT, SQR,LN, EXP, SIN, COS, TAN,ASIN, ACOS, ATAN

10.1

Gleitpunktzahlen: Vergleichso-perationen

==R, <>R, <R, <=R, >R, >=R 11.3

Umwandlungsoperationen ITB, DTB, RND, RND�,RND�, TRUNC, NEGI, NEGD

12.1, 12.2und 12.4

Schiebe- und Rotierfunktionen SLW, SRW, SLD, SRD, SSI,SSD, RLD, RRD, RLDA, RRDA

14.1 und14.2

Wortverknüpfung UW, OW, XOW, UD, OD, XOD 13.2

Klammerausdrücke ) 5.4

Sichere VKE in BIE-Flag SAVE 5.9

Sprungoperationen SPBB, SPBNB, SPS 16.1

Programmsteuerung BEB, BE, BEA, CC, UC 17.6

Transferoperation T STW 8.3

Beschreibung

Bitverknüpfungsoperationen

Page 61: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

5-11Anweisungsliste (AWL) für S7-300/400C79000-G7000-C565-01

Die Kombination des Bits A1 und A0 im Statuswort kann auch durch”Ersatzoperanden” (z.B. >0, ==0, <0, etc.) vereinfacht abgefragt werden.Tabelle 5-7 stellt den Zusammenhang verschiedener Bitkombinationen mitvereinfachter Abfrage dar. So kann z.B. die Kombination A1=0 und A0=1 ineine UND-Operation mit U<0 abgefragt werden.

Tabelle 5-7 Zustandskombinationen von A0 und A1 und zugehörige Abfrage-möglichkeit

Wenn folgende Signalkombination im Statuswort vorhanden ist,

dann kann Abfrage erfolgenmit

Signalzustand von A1 Signalzustand von A0

1 0 >0

0 1 <0

0oder

1

1oder

0<>0

1oder

0

0oder

0>=0

0oder

0

1oder

0<=0

0 0 ==0

1 1 UO

AWL Erläuterung

L +10 // UNTERERGRENZWERTL MW30

<=I

L +100 // OBERERGRENZWERT

-I

U <=0

= A 4.0

Lade Ganzzahl 10 als unteren Grenzwert in AKKU1-L.

Lade Wert im Merkerwort MW30 in AKKU1-L und transferiere denGanzzahlwert 10 in AKKU2–L.

Ist 10 kleiner als oder gleich dem Wert in MW30? Wenn ja, dannsetze VKE auf ”1”; ansonsten setze VKE auf ”0” zurück.

Lade Ganzzahl 100 als oberen Grenzwert in AKKU1-L und transferiere den Wert von Merkerwort MW30, der in AKKU1-L ge-speichert ist, in AKKU2–L.

Subtrahiere 100 vom Wert in MW30. Das Ergebnis setzt A1 und A0 mit einer Bitverknüpfung, die zeigt, wie sich dasErgebnis zu ”0” verhält (siehe Tabelle 5-7). Das VKE bleibtunverändert.

Ist die Bedingung <=0 entsprechend der Bitverknüpfung in A1 undA0 erfüllt? ”Ja” liefert eine ”1”, ”Nein” liefert eine ”0”(siehe Tabelle 5-7). Verknüpfe diese ”1” bzw. ”0” mit dem VKEentsprechend der UND-Wahrheitstabelle. Speichere das Ergebnisim VKE-Bit.

Schreibe Wert des VKE in Signalzustand des Ausgangs A 4.0. DieSpule am Ausgang A 4.0 wird stromführend (hat den Signalzustand”1”), wenn der Wert in MW30 größer als oder gleich 10 bzw.kleiner als oder gleich 100 ist.

Verhältnis einesErgebnisses zu 0

Bitverknüpfungsoperationen

Page 62: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

5-12Anweisungsliste (AWL) für S7-300/400

C79000-G7000-C565-01

Die Bitverknüpfungsoperationen ermöglichen es Ihrem Programm, auch dannzu reagieren, wenn das Ergebnis einer arithmetischen Operation mit Gleit-punktzahlen unzulässig ist, weil eine der Zahlen keine gültige Gleitpunktzahlist (ungültig, UO). Die Operation fragt den Signalzustand der Bits A1 und A0des Statusworts ab (siehe Tabelle 5-7).

Einige der Operationen aus Tabelle 5-6 können das Binärergebnisbit (BIE)oder die Überlaufbits (OV und OS) des Statusworts auf ”1” setzen. Siekönnen die Bitverknüpfungsoperationen U, UN, O, ON, X und XNzusammen mit den folgenden Speicherbereichen verwenden, damit IhrProgramm auf die Bits BIE, OV oder OS mit dem Signalzustand ”1”reagieren kann.

AWL Erläuterung

L MW10

L MW20

+I

T MW30

U E 0.0

U OV

= A 4.0

Lade Ganzzahl im Merkerwort MW10 in AKKU1-L.

Lade Ganzzahl im Merkerwort MW20 in AKKU1-L und transferiereden Wert von MW10 in AKKU2–L.

Addiere die beiden Ganzzahlenwerte in den Akkumulatoren.

Transferiere das Ergebnis von AKKU1-L in MW30.

Frage Signalzustand an Eingang E 0.0 auf ”1” oder ”0” ab.

Frage Bit OV des Statusworts auf ”1” oder ”0” ab.

Wenn der Signalzustand von E 0.0 ”1” ist und eine ”1” im Bit OVdes Statusworts vorhanden ist (z. B.: während der letztenarithmetischen Operation trat ein Überlauf auf), dann setze denSignalzustand von Ausgang A 4.0 auf ”1”; ansonsten setze ihnauf ”0”.

AWL Erläuterung

U BIE

= A 4.0

Frage Bit BIE des Statusworts auf ”1” oder ”0” ab.

Wenn im Bit BIE des Statusworts eine ”1” vorhanden ist, setzeden Signalzustand des Ausgangs A 4.0 auf ”1”; ansonsten setzeihn auf ”0”.

Überlauf undBinärergebnis

Bitverknüpfungsoperationen

Page 63: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

5-13Anweisungsliste (AWL) für S7-300/400C79000-G7000-C565-01

Die Bitverknüpfungsoperationen bewerten Bedingungen mit Hilfe derOperanden, die in Tabelle 5-8 aufgeführt sind.

Tabelle 5-8 Operanden der Bitverknüpfungsoperationen: Bits des Statusworts

Speicherbereich oder Verweisauf eine Adresse

Bits des Statusworts

>0, <0, <>0, >=0, <=0, ==0 7 und 6: Anzeigenbits (Speicherbereich)

UO 7 und 6: Anzeigenbits (Speicherbereich)

BIE 8: Binärergebnis (Adresse)

OV 5: Überlauf (Adresse)

OS 4: Überlauf, speichernd (Adresse)

Adressieren derBits im Statuswort

Bitverknüpfungsoperationen

Page 64: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

5-14Anweisungsliste (AWL) für S7-300/400

C79000-G7000-C565-01

5.4 Verknüpfungsoperationen von Klammerausdrücken und UND vorODER

Sie können mit den Operationen U (UND), O (ODER) und X (EXKLUSIVODER) und ihren negierten Formen UN, ON und XN Abschnitte vonVerknüpfungsketten verknüpfen, die in Klammern eingeschlossen sind(Klammerausdrücke). Steht ein Abschnitt einer Verknüpfungskette inKlammern, dann führt Ihr Programm die Operationen in den Klammern aus,bevor es die Verknüpfung ausführt, die vor dem Klammerausdruck steht.

Ebenso können Sie die Operationen UND und ODER in einer Verknüpfungs-kette ohne Klammern angeben. Es gibt die Festlegung, daß zuerst dieOperation UND ausgewertet wird und die Ergebnisse dann entsprechend derODER-Wahrheitstabelle verknüpft werden.

Die Operation, die einen Klammerausdruck öffnet, speichert das VKE dervorherigen Operation im Klammerstack. Später wird das Programm diesesgespeicherten VKE mit dem Ergebnis aus den Verknüpfungen, die innerhalbder Klammern ausgeführt wurden, verknüpfen.

AWL Erläuterung

U(O E 0.0

O M 10.0)

U(

O E 0.2

O M 10.3

)

U M 10.1

= A 4.0

Die Operationen zwischen U( und ) bilden eine normale ODER-Ver-knüpfung. Das Erstabfrageergebnis wird im VKE-Bit gespeichert.

Entsprechend der ODER-Wahrheitstabelle wird das Abfrageergebnismit dem VKE der vorherige Operation verknüpft. Diese Verknüp-fung erzeugt ein neues Ergebnis, das den Wert im VKE-Bit er-setzt.

U( kopiert den aktuellen Wert im VKE-Bit, speichert ihn imKlammerstack und beendet die vorherige Verknüpfungskette. Daherbeginnt die nächste Verknüpfungsoperation eine neue Kette undführt eine Erstabfrage aus.

Die Operationen zwischen U( und ) bilden eine normale ODER-Ver-knüpfung. Das Abfrageergebnis wird im VKE-Bit gespeichert.

Entsprechend der ODER-Wahrheitstabelle wird das Abfrageergebnismit dem VKE aus der vorherigen Operation verknüpft. Diese Ver-knüpfung erzeugt ein neues Ergebnis, das den Wert im VKE-Bitersetzt.

Die Operation ) verknüpft das VKE, das im Klammerstack gespei-chert ist (siehe Schritt 3 oben), mit dem aktuellen VKE ent-sprechend der UND-Wahrheitstabelle. Diese Operation verwendetdie UND-Wahrheitstabelle, weil das Zeichen ) einen Klammeraus-druck beendet, der mit U begann. Diese Verknüpfung bildet einneues VKE.

Diese normale UND-Verknüpfung verknüpft das neue VKE ausSchritt 6 mit dem Abfrageergebnis entsprechend der UND-Wahr-heitstabelle.

Die Operation Zuweisung (=, siehe Kapitel 5.8.) weist den Wertdes VKE der Ausgangsspule zu.

Beschreibung

Verknüpfungs-ergebnis

Bitverknüpfungsoperationen

Page 65: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

5-15Anweisungsliste (AWL) für S7-300/400C79000-G7000-C565-01

Die nachfolgende Anweisungsliste verwendet das UND-vor-ODER-Prinzip,um einen Schaltkreis zu programmieren. Per Festlegung bewertet dasProgramm die UND-Verknüpfung zuerst und verknüpft dann die Ergebnisseder UND-Verknüpfung entsprechend der ODER-Wahrheitstabelle. Klammernwerden nicht benötigt. Das Prinzip, das hier zum Tragen kommt, wird ”UNDvor ODER” genannt.

AWL Erläuterung

U E 0.0

U M 10.0

O

U E 0.2

U M 0.3

O M 10.1

= A 4.0

Das Erstabfrageergebnis wird im VKE-Bit gespeichert.

Entsprechend der UND-Wahrheitstabelle wird das Abfrageergebnismit dem VKE der vorherigen Operation verknüpft. Diese Verknüp-fung erzeugt ein neues Ergebnis, das den Wert im VKE-Bit er-setzt.

Die Operation O kopiert den aktuellen Wert im VKE-Bit, spei-chert ihn im OR-Bit und beendet die vorherige Verknüpfungsket-te. Die Operation O sichert das VKE als einen der beiden Werte,den sie verwenden wird, um eine ODER-Verknüpfung entsprechenddem UND-vor-ODER-Prinzip auszuführen.

Das Erstabfrageergebnis wird im VKE-Bit gespeichert. In jederOperation UND, die auf eine Operation ODER folgt, wird zusätz-lich zu der normalen Operation das gebildete VKE mit dem OR-Bitverknüpft.

Entsprechend der UND-Wahrheitstabelle wird das Abfrageergebnismit dem VKE verknüpft, das durch die vorhergehende Operationgebildet wurde. Diese Verknüpfung erzeugt ein neues Ergebnis,das den Wert im VKE-Bit ersetzt. In jeder Operation UND wirdzusätzlich zu der normalen Operation das gebildete VKE mit demOR-Bit verknüpft.

Die erste Operation O holt das im Klammerstack gespeicherte VKEwieder und verknüpft es mit dem aktuellen VKE. Diese Operationbildet einen neuen Wert, der im VKE-Bit als Ergebnis der UND-vor-ODER-Verknüpfung gespeichert wird. (Eine besondere Opera-tion zum Beenden einer UND-vor-ODER-Verknüpfung gibt es nicht.Ein spezieller Bitprozessor im Automatisierungssystem findetdie letzte Operation U in der UND-vor-ODER-Verknüpfung. DieOperation, die auf die letzte Operation U folgt (z. B. =, S, Roder O), schließt die UND-vor-ODER-Verknüpfung automatisch beimBerechnen des VKE.)

Die nächste Operation O verknüpft das Ergebnis der UND-vor-ODER-Verknüpfung mit dem Abfrageergebnis der zweiten OperationO.

Die Operation Zuweisung (=, siehe Kapitel 5.8) weist den Wertdes VKE der Ausgangsspule zu.

Der Ausgang A 4.0 wird stromführend (ihr Signalzustand beträgt ”1”), wenndas Ergebnis entweder des einen oder des anderen UND-Verknüpfungspaares”1” ist, oder wenn das Ergebnis der normalen ODER-Verknüpfung von M10.1 ”1” ist.

UND vor ODER

Bitverknüpfungsoperationen

Page 66: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

5-16Anweisungsliste (AWL) für S7-300/400

C79000-G7000-C565-01

5.5 Flankenoperationen: FP, FN

Sie können die Operationen FP (Flanke Positiv) und FN (Flanke Negativ) wieflankenerkennende Kontakte in einem Relais-Schaltkreis verwenden. DieseOperationen erfassen und reagieren auf Wechsel im Verknüpfungsergebnis.Ein Wechsel von ”0” auf ”1” wird ”steigende (positive) Flanke” genannt, undein Wechsel von ”1” auf ”0” ”fallende (negative) Flanke” (siehe Bild 5-6).

VKE

0 Zeit

1fallende Flanke

steigende Flanke

Bild 5-6 Darstellung steigender und fallender Flanken

Bild 5-7 zeigt eine Anweisungsliste, die es Ihrem Programm ermöglicht, aufeinen steigenden Flankenwechsel zu reagieren. Eine Erläuterung folgt nachdem Bild.

10

10

3 75

�� E�1.0

FP M 1.0

= A 4.0

Anweisungsliste

Nr. des OB1-Zyklus:

E 1.0

A 4.0

1 2 4 6 8 9

Signalzustandsdiagramm

10

M 1.0

Bild 5-7 Reaktion auf einen steigenden Flankenwechsel programmieren

Wenn das Automatisierungssystem eine steigende Flanke an Kontakt E 1.0erkennt, aktiviert es den Ausgang A 4.0 für einen OB1-Zyklus. Das Auto-matisierungssystem speichert das Verknüpfungsergebnis, das die Operation Ugeliefert hat, im Flankenmerker M 1.0 und vergleicht es mit dem VKE desvorhergehenden Zyklus. (Im Beispiel in Bild 5-7 ist das VKE der Anweisung”U E 1.0” zufällig gleich dem Signalzustand von Eingang E 1.0. Dies wirdjedoch nicht bei jedem Programm der Fall sein.) Wenn das aktuelle VKE ”1”ist und das VKE des vorherigen Zyklus, das im Merker M 1.0 gespeichertwurde, ”0” ist, dann setzt die Operation FP das VKE auf ”1”. Die OperationFP erkennt eine steigende Flanke am Kontakt (z. B. der Signalzustand desVKE hat von ”0” auf ”1” gewechselt). Gibt es keinen Wechsel im VKE (dasaktuelle VKE und das vorherige VKE, das im Flankenmerker gespeichert ist,sind beide gleich ”0” oder ”1”), dann setzt die Operation FP das VKE auf ”0”zurück.

Beschreibung

Reaktion auf einesteigende Flanke

Bitverknüpfungsoperationen

Page 67: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

5-17Anweisungsliste (AWL) für S7-300/400C79000-G7000-C565-01

Tabelle 5-9 Abfrage auf steigenden Flankenwechsel an Eingang E 1.0

Nr. desOB1-Zyklus

Signalzustandam Eingang imvorherigenZyklus

Signalzustandam Eingangim aktuellenZyklus

Hat Signalzu-stand von ”0”auf ”1” ge-wechselt?

Führt Spulean A 4.0Strom?

1 0 (Default-Wert)

0 Nein. Nein.

2 0 1 Ja. Ja.

3 1 1 Nein. Nein.

4 1 0 Nein. Nein.

5 0 0 Nein. Nein.

6 0 1 Ja. Ja.

7 1 0 Nein. Nein.

8 0 1 Ja. Ja.

9 1 1 Nein. Nein.

Tabelle 5-9 bezieht sich auf das AWL-Programm in Bild 5-7. Im allgemeinensollten Sie die Wechsel, die die Operationen FP und FN erkennen, als Wech-sel betrachten, die sich im VKE niederschlagen und nicht im Signalzustandder Kontakte. Zum Beispiel kann eine Verknüpfungskette ein VKE bilden,das nicht direkt mit dem Signalzustand eines Kontakts zusammenhängt.

Bild 5-8 zeigt eine Anweisungsliste, die es Ihrem Programm ermöglicht, aufeinen fallenden Flankenwechsel zu reagieren. Eine Erläuterung folgt imAnschluß an dieses Bild.

E 1.0

2

U� E�1.0

FN M 1.0

= A 4.0

Anweisungsliste

M 1.0

A 4.0

3 75Nr. des OB1-Zyklus: 1 4 6 8 9

Signalzustandsdiagramm

10

10

10

Bild 5-8 Reaktion auf einen fallenden Flankenwechsel programmieren

Wenn das Automatisierungssystem eine fallende Flanke an Kontakt E 1.0erkennt, aktiviert es den Ausgang A 4.0 für einen OB1-Zyklus. Das Automatisierungssystem speichert das Verknüpfungsergebnis, das dieOperation U geliefert hat, im Flankenmerker M 1.0 und vergleicht es mitdem VKE des vorherigen Zyklus (siehe Tabelle 5-10). (Im Beispiel in Bild5-8 ist das VKE der Anweisung ”U E 1.0” zufällig gleich dem Signalzustandvon Eingang E 1.0. Dies wird jedoch nicht bei jedem Programm der Fallsein.) Wenn das aktuelle VKE ”0” ist und das VKE des vorherigen Zyklus,das im Merker M 1.0 gespeichert wurde, ”1” ist, dann setzt die Operation FNdas VKE auf ”1”.

Reaktion auf einefallende Flanke

Bitverknüpfungsoperationen

Page 68: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

5-18Anweisungsliste (AWL) für S7-300/400

C79000-G7000-C565-01

Die Operation FN erkennt eine fallende Flanke am Kontakt (z. B. wenn derSignalzustand des VKE von ”1” auf ”0” gewechselt hat). Gibt es keinenWechsel im VKE (das aktuelle VKE und das vorherige VKE, das imFlankenmerker gespeichert ist, sind beide gleich ”0” oder ”1”), dann setzt dieOperation FN das VKE auf ”0” zurück.

Tabelle 5-10 Abfrage auf fallenden Flankenwechsel an Eingang E 1.0

Nr. desOB1-Zyklus

Signalzustandam Eingang imvorherigenZyklus

Signalzustandam Eingangim aktuellenZyklus

Hat Signalzu-stand von ”1”auf ”0”gewechselt?

Führt Spulean A 4.0Strom?

1 0 (Default-Wert)

0 Nein. Nein.

2 0 1 Nein. Nein.

3 1 0 Ja. Ja.

4 0 0 Nein. Nein.

5 0 1 Nein. Nein.

6 1 1 Nein. Nein.

7 1 1 Nein. Nein.

8 1 0 Ja. Ja.

9 0 0 Nein. Nein.

Tabelle 5-10 bezieht sich auf das AWL-Programm in Bild 5-8. Im allgemei-nen sollten Sie die Wechsel, die die Operationen FP und FN erkennen, alsWechsel betrachten, die sich im VKE niederschlagen und nicht im Signal-zustand der Kontakte. Zum Beispiel kann eine Verknüpfungskette ein VKEbilden, das nicht direkt mit dem Signalzustand eines Kontakts zusammen-hängt.

Der Operand, der von der Operation FP oder FN angesprochen wird, ist einBit. Die Operation greift auf den Ausgang über eine der folgendenOperandenarten zu:

� Operandenkennzeichen und Adresse innerhalb des Speicherbereichs, dendas Operandenkennzeichen angibt (siehe Tabellen 5-11 und 5-12).

� Bit als Parameter transferiert (siehe Tabelle 5-13).

AngesprochenerOperand

Bitverknüpfungsoperationen

Page 69: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

5-19Anweisungsliste (AWL) für S7-300/400C79000-G7000-C565-01

Tabelle 5-11 Operanden von FP und FN: direkte und indirekte Adressierung

Operan-den-

Maximaler Adreßbereich je nach Adressierungsart

kennzei-chen1) direkt speicherindirekt registerindirekt, bereichsintern

E2)A3)M

DBXDIX

0.0 bis65 535.7

[DBD][DID][LD][MD]

0 bis65 532

[AR 1, P#byte.bit]

[AR 2, P#byte.bit]

0.0 bis 8 191.7

1) Beachten Sie den Warnhinweis im Anschluß an diese Tabelle.2) Da das Betriebssystem das Prozeßabbild der Eingänge zu Beginn jedes Zyklus

überschreibt, wird das von der Operation FP oder FN gespeicherte VKE, das einEingangsbit des Operanden benutzt, verfälscht. Beachten Sie den Warnhinweis imAnschluß an diese Tabelle.

3) Es ist nicht empfehlenswert, einen Ausgang als Operanden für die Operation FP oderFN zu benutzen. Wenn Sie einen Ausgang beeinflussen wollen, verwenden Sie dazudie Operation S, R oder =.

!Vorsicht

Verfälschen des gespeicherten Verknüpfungsergebnisses.

Dies kann geringen Sachschaden zur Folge haben.

Wenn Sie in Ihrem Programm die Operation FP oder FN verwenden, dannwird der Merker, der der Operand dieser Operation ist, von FP oder FN aus-schließlich für deren eigene Speicherzwecke benutzt. Sie sollten daher keineOperationen verwenden, die dieses Bit verändern, da Sie ansonsten dasgespeicherte VKE verfälschen. Dieser Warnhinweis gilt für alle imOperanden angegebenen Speicherbereiche, die in Tabelle 5-11 aufgeführtsind.

Tabelle 5-12 Operanden von FP und FN: registerindirekte, bereichsübergreifendeAdressierung

Operandenkennzeichen1) Adreßbereich

E, A, M, DBX, DIX[AR 1, P#byte.bit][AR 2, P#byte.bit]

0.0 bis 8 191.7

1) Der Speicherbereich ist in AR 1 bzw. AR 2 codiert (siehe Kapitel 3.6).

Tabelle 5-13 Operanden von FP und FN: Bit als Parameter transferiert

Operand Adreßparameterformat

SymbolischerName

Bit als Parameter transferiert.

Bitverknüpfungsoperationen

Page 70: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

5-20Anweisungsliste (AWL) für S7-300/400

C79000-G7000-C565-01

5.6 Abschließen einer Verknüpfungskette

Sie können eine Verknüpfungskette mit einer der drei folgenden AWL-Operationen abschließen. Jede dieser Operationen kann ein Bit beeinflussen,welches das Ende dieser Kette darstellt.

� S (Setze): wenn das VKE im vorherigen Befehl auf ”1” gesetzt wurde,dann wird durch S der Signalzustand des angesprochenen Kontakts oderder angesprochenen Spule auf ”1” gesetzt.

� R (Rücksetze): wenn das VKE im vorherigen Befehl auf ”1” gesetztwurde, dann wird durch R der Signalzustand des angesprochenenKontakts oder der angesprochenen Spule auf ”0” zurückgesetzt;

� = (Zuweisung): Unabhängig vom Zustand des VKE wird der Wert desVKE dem angesprochenen Operanden zugewiesen.

Wenn eine Verknüpfungskette abgeschlossen wird, wird das Erstabfragebit(/ER) zurückgesetzt. Wenn der Wert im /ER-Bit ”0” ist, so heißt dies, daß dienächste Operation im Programm die erste Operation einer neuenVerknüpfungskette darstellt (siehe Kapitel 2.2, Erstabfrage). (BedingteSprunganweisungen setzen das /ER-Bit ebenfalls auf ”0” zurück; sieheKapitel 16.3 bis 16.5).

Verknüpfungsketten, die mit den Operationen U(, UN(, O( usw. gestartetwurden, müssen mit der Operation ) beendet werden. Da diese Befehle auchinmitten einer Verknüpfungskette verwendet werden können, stellen sie indieser eine Unterbrechung dar. Das heißt, daß eine neue Verknüpfunggestartet wird, bevor die ältere beendet ist. Um nach Beenden der inKlammern auszuführenden Befehle die ältere Verknüpfungskette ordnungs-gemäß weiterführen zu können, wird das alte, beim Öffnen einer Klammergerettete /ER Bit wieder ”restauriert”. Von Klammern eingerahmteProgrammteile kann man sich also als eine Art ”Zwischenrechnung”vorstellen, nach deren Abschluß ”der alte Faden wieder aufgenommen wird”.

Beschreibung

Abschließen einerVerknüpfungskette

Bitverknüpfungsoperationen

Page 71: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

5-21Anweisungsliste (AWL) für S7-300/400C79000-G7000-C565-01

5.7 Operationen Setze und Rücksetze: S und R

Mit der Operation S (Setze) können Sie den Signalzustand einesangesprochenen Bits auf ”1” setzen. (Informationen darüber, wie Sie mit derOperation S einen angesprochenen Zähler auf einen bestimmten Wert setzen:siehe Kapitel 7.2).

Mit der Operation R (Rücksetze) können Sie den Signalzustand einesangesprochenen Bits auf ”0” rücksetzen. Die Operation R kann außerdem dieangesprochene Zeit oder einen angesprochenen Zähler auf ”0” rücksetzen(siehe Kapitel 6.3 und 7.2). Die Operationen S und R schließen eineVerknüpfungskette (siehe Kapitel 5.6).

Die Operation S setzt das angesprochene Bit auf ”1”, wenn dasVerknüpfungsergebnis der vorherigen Anweisung ”1” beträgt und das MasterControl Relay (MCR) stromführend wird (d. h. sein Signalzustand ist ”1”).Wenn das MCR nicht aktiviert wird (sein Signalzustand ist ”0”), wird dasangesprochene Bit nicht verändert. Die Operation S schließt eineVerknüpfungskette ab.

Bild 5-9 zeigt, wie die Operation S den Signalzustand der von ihrangesprochenen Spule A 4.0 auf ”1” hält, bis die Operation R den Signal-zustand auf ”0” rücksetzt. Die Tatsache, daß der Signalzustand derangesprochenen Spule auf ”1” bleibt, bis ihn eine Operation R auf ”0”rücksetzt, verdeutlicht den statischen Charakter der Operation S.

Wenn im Relais-Schaltplan der Schließer an Eingang E 1.0 aktiviert wurde(der Signalzustand wird ”1”), schließt sich der Kontakt. Der Strom fließt überden Kontakt an E 1.0 und über den Öffner darunter und aktiviert dabei denAusgang A 4.0 (der Signalzustand von A 4.0 wird ”1”).

Wenn die Spule aktiviert wird, wird der Schließer an Ausgang A 4.0 gegen-über von E 1.0 geschlossen. Danach bleibt die Spule an Ausgang A 4.0aktiviert (Signalzustand ”1”), gleichgültig, ob der Kontakt an Eingang E 1.0geöffnet oder geschlossen ist. Die Spule hält sich selbst unter Spannung.

Relais-Schaltplan

Stromschiene

E 1.0Schließer

A 4.0Spule

A 4.0

AnweisungslisteU E 1.0S A 4.0U E 1.1R A 4.0

E 1.0

E 1.1

A 4.0

0

1

0

1

0

1

SignalzustandsdiagrammÖffner

E 1.1

Bild 5-9 Statisches Setzen und Rücksetzen eines Bits

Beschreibung

Setzen eines Bits

Bitverknüpfungsoperationen

Page 72: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

5-22Anweisungsliste (AWL) für S7-300/400

C79000-G7000-C565-01

Die Operation R setzt das angesprochene Bit auf ”0” zurück, wenn dasVerknüpfungsergebnis der vorherigen Operation ”1” beträgt und das MasterControl Relay (MCR) aktiviert wird (d. h. sein Signalzustand ist ”1”). Wenndas MCR nicht aktiviert wird (sein Signalzustand ist ”0”), wird dasangesprochene Bit nicht verändert. Die Operation R schließt eineVerknüpfungskette ab.

Bild 5-9 zeigt, wie die Operation R den Signalzustand der von ihrangesprochenen Spule A 4.0 auf ”0” hält, unabhängig von einem Wechsel imSignalzustand des Kontakts, der das Rücksetzen ausgelöst hat (E 1.1). DieTatsache, daß der Signalzustand der angesprochenen Spule auf ”0” bleibt, biseine Operation S ihn auf ”1” rücksetzt, verdeutlicht den statischen Charakterder Operation R.

Im Relais-Schaltplan wird die Spule an Ausgang A 4.0, die durch die Ope-ration S aktiviert wurde, nun durch Schließen des Schließers an Eingang E1.1 stromlos (ihr Signalzustand wird ”0”). Durch Schließen des Kontakts E1.1 kann Strom bis zu der Spule darunter fließen. Diese Spule öffnet denÖffner über der Spule an A 4.0, wobei der Signalfluß zur Spule unterbrochenwird. Durch Schließen des Kontakts E 1.1 wird die Operation R ausgelöst.

Der Operand, der von der Operation S angesprochen wird, kann ein Bit sein.Der Operand, der von der Operation R angesprochen wird, kann ein Bit, eineZeitnummer oder eine Zählernummer sein. Die Operanden können folgender-maßen angegeben werden:

� Operandenkennzeichen und Adresse innerhalb des Speicherbereichs, dendas Operandenkennzeichen angibt (siehe Tabellen 5-14 bis 5-16).

� Bit, Zeit oder Zähler als Parameter transferiert (siehe Tabelle 5-17).

Tabelle 5-14 Operanden von S und R: direkte und indirekte Adressierung

Operan-den-

Maximaler Adreßbereich je nach Adressierungsart

kennzei-chen direkt speicherindirekt bereichsintern, registerindirekt

EA

0.0 bis65 535.7

[DBD][DID][LD][MD]

0 bis65 532

[AR 1,P#byte.bit]

[AR 2,P#byte.bit]

0.0 bis8 191.7

M 0.0 bis 255.7

[DBD][DID][LD][MD]

0 bis65 532

[AR 1,P#byte.bit]

[AR 2,P#byte.bit]

0.0 bis8 191.7

DBXDIX

L

0.0 bis65 535.7

[DBD][DID][LD][MD]

0 bis65 532

[AR 1,P#byte.bit]

[AR 2,P#byte.bit]

0.0 bis8 191.7

Rücksetzen einesBits

AngesprochenerOperand

Bitverknüpfungsoperationen

Page 73: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

5-23Anweisungsliste (AWL) für S7-300/400C79000-G7000-C565-01

Tabelle 5-15 Operanden von S und R: registerindirekte, bereichsübergreifendeAdressierung

Operandenkennzeichen1) Maximaler Adreßbereich

E, A, M, D, DBX, DIX oder L[AR1,P#byte.bit][AR2,P#byte.bit]

0.0 bis 8191.7

1) Der Speicherbereich ist in den Pointerbits 24, 25 und 26 codiert (siehe Kapitel 3.6).

Tabelle 5-16 Operanden von R: Zeiten und Zähler

Operanden- Maximaler Adreßbereich je nach Adressierungsartpkennzeichen direkt speicherindirekt

T1)

Z0 bis 65535

[DW][DXW][LW][MW]

0 bis 65 534

1) Die Operation S, die ein angesprochenes Bit auf ”1” setzt, gilt nicht für Zeiten oderZähler. Die Operation S, die mit einem Zähler verwendet wird, setzt diesen Zählerauf einen bestimmten Wert. Zeiten werden mit Operationen für bestimmte Zeittypengestartet (siehe Kapitel 6.2, 6.3 und 7.2).

Tabelle 5-17 Operanden von S und R: Bit, Zeit oder Zähler als Parameter transferiert

Operand Adreßparameterformat

SymbolischerName

Bit, Zeit1) oder Zähler als Parameter transferiert.

1) Die Operation S gilt nicht für Zeiten. Zeiten werden mit Operationen für bestimmteZeittypen gestartet (siehe Kapitel 6.2 und 6.3).

Bitverknüpfungsoperationen

Page 74: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

5-24Anweisungsliste (AWL) für S7-300/400

C79000-G7000-C565-01

5.8 Operation Zuweisung (=)

Jede Verknüpfungsoperation liefert ein Ergebnis, das als ”Verknüpfungs-ergebnis” (VKE) bezeichnet wird. Dieses VKE ist entweder ”1” oder ”0”. BeiKontakten und Spulen zeigt ”1” an, daß Strom fließt, und ”0”, daß keinStrom fließt.

Sie können mit der Operation Zuweisung (=) das VKE der vorherigenOperation in einer Verknüpfungskette kopieren und es dann als Signalzustandder Spule zuweisen, die von der Operation = angesprochen wird. DieOperation = schließt eine Verknüpfungskette ab (siehe Kapitel 5.6).

Der Wert, den die Operation = der angesprochenen Spule zuweist, kann ”1”oder ”0” sein, abhängig vom VKE der Operation, die der Operation = voraus-geht. Anders als bei den Operationen S und R hat die Operation =dynamischen Charakter. Sie weist das VKE als Signalzustand dem Ausgangzu, der von der Operation = angesprochen wird. Bild 5-10 zeigt, wie sichdieser Wert verändert, wenn sich das VKE der Anweisung ”U E 1.0” ändert.

In Bild 5-10 ermöglicht die Operation = dem Eingangssignal an dem Kontakt(E 1.0) den Ausgang (A 4.0) zu aktivieren oder zu deaktivieren (d. h. durchZuweisen des VKE der vorherigen Operation setzt oder rücksetzt die Opera-tion = den Ausgang A 4.0).

Relais-Schaltplan

Stromschiene

A 4.0Spule

Anweisungsliste

U E 1.0= A 4.0

E 1.0

A 4.0

0

1

0

1

Signalzustandsdiagramm

E 1.0

Bild 5-10 Dynamisches Setzen und Rücksetzen eines Bits

Beschreibung

Setzen oder Rück-setzen eines Bits

Bitverknüpfungsoperationen

Page 75: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

5-25Anweisungsliste (AWL) für S7-300/400C79000-G7000-C565-01

Der Operand, der von der Operation = angesprochen wird, kann ein Bit sein.Die Operation greift auf die Spule über eine der folgenden Operandenartenzu:

� Operandenkennzeichen und Adresse innerhalb des Speicherbereichs, dendas Operandenkennzeichen angibt (siehe Tabelle 5-18 und 5-19).

� Bit als Parameter transferiert (siehe Tabelle 5-20).

Tabelle 5-18 Operanden von =: direkte und indirekte Adressierung

Operanden-Maximaler Adreßbereich je nach Adressierungsart

Operanden-kennzeichen direkt speicherindirekt

bereichsintern, registerindi-rekt

EA

0.0 bis65 535.7

[DBD][DID][LD][MD]

0 bis65 532

[AR1,P#byte.bit]

[AR2,P#byte.bit]

0.0 bis8 191.7

M0.0 bis65535

[DBD][DID][LD][MD]

0 bis65 532

[AR1,P#byte.bit]

[AR2,P#byte.bit]

0.0 bis8 191.7

DBXDIX

L

0.0 bis65 535.7

[DBD][DID][LD][MD]

0 bis65 532

[AR1,P#byte.bit]

[AR2,P#byte.bit]

0.0 bis8 191.7

Tabelle 5-19 Operanden von =: registerindirekte, bereichsübergreifende Adressierung

Operandenkennzeichen1) Maximaler Bereich der Adreßparameter

E, A, M, D, DBX, DIX oder L[AR1,P#byte.bit][AR2,P#byte.bit]

0.0 bis 8 191.7

1) Der Speicherbereich ist in den höchstwertigen 8 Bits von AR 1 bzw. AR 2 codiert

Tabelle 5-20 Operanden von =: Bit als Parameter transferiert

Operand Adreßparameterformat

SymbolischerName

Bit als Parameter transferiert.

Operanden

Bitverknüpfungsoperationen

Page 76: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

5-26Anweisungsliste (AWL) für S7-300/400

C79000-G7000-C565-01

5.9 Negieren, Setzen, Rücksetzen und Sichern des VKE

Sie können mit den folgenden Operationen das Verknüpfungsergebnis (VKE),das im VKE-Bit im Statuswort des Automatisierungssystems gespeichert ist,verändern (siehe Kapitel 5.8):

Mnemonik Operation Bedeutung

NOT Negiere VKE Negieren (Umkehren) des aktuellen VKE

SET Setze VKE Setzen des aktuellen VKE auf ”1”

CLR Rücksetze VKE Rücksetzen des aktuellen VKE auf ”0”

SAVE Sichere VKE im BIE-Flag Sichern des aktuellen VKE im Bit des Status-worts

Da diese Operationen das VKE direkt beeinflussen, besitzen sie keineOperanden.

Sie können mit der Operation NOT in Ihrem Programm das aktuelle VKEnegieren (umkehren). Ist das aktuelle VKE ”0”, dann ändert die OperationNOT es in ”1” wenn das OR-Bit nicht gesetzt ist. Ist das aktuelle VKE ”1”,dann ändert NOT es in ”0”, wenn das OR-Bit nicht gesetzt ist. DieseOperation ist nützlich, um Ihr Programm beispielsweise durch Wechseln vonpositiver zu negativer Schaltung zu verkürzen (siehe Beispiel in Kapitel B.3:Zeiten).

Sie können mit der Operation SET in Ihrem Programm das VKE-Bit absolutauf ”1” setzen. Bild 5-11 zeigt, wie die Operation SET in einem Programmarbeitet.

Sie können mit der Operation CLR in Ihrem Programm das VKE-Bit absolutauf ”0” rücksetzen. CLR setzt auch /ER-, OR- und STA-Bits auf ”0”. DieVerknüpfungskette ist dann beendet. Bild 5-11 zeigt, wie die Operation CLRin einem Programm arbeitet.

Sie können mit der Operation SAVE in Ihrem Programm das VKE für einenzukünftigen Gebrauch sichern oder das BIE-Bit des Statusworts im Automa-tisierungssystem beeinflussen, so z. B., wenn Sie Funktionsbausteine (FBs)und Funktionen (FCs) für KOP-Programmierboxen programmieren.

Operation Wirkung auf die Bits des Statusworts

BIE A1 A0 OV OS OR STA VKE /ER

NOT – 1 x –

SET 0 1 1 0

CLR 0 0 0 0

SAVE x

Beschreibung

Negieren des VKE

Setzen des VKEauf ”1”

Rücksetzen desVKE auf ”0”

Sichern des VKE

Bitverknüpfungsoperationen

Page 77: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

5-27Anweisungsliste (AWL) für S7-300/400C79000-G7000-C565-01

Das Programm in Bild 5-11 zeigt die Anwendung der Operationen SET undCLR zum absoluten Setzen oder Rücksetzen eines Bits.

Anweisungsliste Signalzustand Verknüpfungsergebnis (VKE)

SET

= M 10.0

= M 15.1

= M 16.0

CLR

= M 10.1

= M 10.2

1

0

1

1

1

0

0

Bild 5-11 Absolutes Setzen und Rücksetzen eines Bits mit SET und CLR

Sie können die Anweisungen im Programm, das in Bild 5-11 abgebildet ist,in einem Anlauf-Organisationsbaustein (OB) verwenden. Nachdem Sie IhrAutomatisierungssystem eingeschaltet haben, bearbeitet es den Anlauf-OBmit den darin enthaltenen Anweisungen. Nachdem das Automatisierungs-system alle Anweisungen ausgeführt hat, haben die folgenden Merkerbitsunabhängig von den Bedingungen einen bestimmten Signalzustand:

� Der Signalzustand der Merker M 10.0, M 15.1 und M 16.0 ist ”1”.

� Der Signalzustand der Merker M 10.1 und M 10.2 ist ”0”.

Anwenden vonSET und CLR

Bitverknüpfungsoperationen

Page 78: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

5-28Anweisungsliste (AWL) für S7-300/400

C79000-G7000-C565-01

Bitverknüpfungsoperationen

Page 79: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

6-1Anweisungsliste (AWL) für S7-300/400C79000-G7000-C565-01

Zeitoperationen

Im Kapitel finden Sie auf Seite

6.1 Übersicht 6-2

6.2 Speicherbereiche und Komponenten einer Zeit 6-3

6.3 Laden, Starten, Rücksetzen und Freigeben einer Zeit 6-5

6.4 Beispiele für Zeiten 6-7

6.5 Operanden und Bereiche für Zeitoperationen 6-17

6.6 Auswahl der richtigen Zeit 6-18

Kapitelübersicht

6

Page 80: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

6-2Anweisungsliste (AWL) für S7-300/400

C79000-G7000-C565-01

6.1 Übersicht

Zeiten sind Funktionselemente der Programmiersprache STEP 7, diezeitgesteuerte Abläufe ausführen und überwachen. Die Zeitoperationenermöglichen es Ihrem Programm, folgende Funktionen auszuführen:

� Wartezeiten ermöglichen. Beispiel: Nach einem Spritzgußverfahren mußdie Form zwei Sekunden lang geschlossen bleiben. Ihr Programm stelltsicher, daß zwei Sekunden verstreichen, bevor das Spritzgußteil aus derForm freigegeben wird.

� Überwachungszeiten ermöglichen. Beispiel: Nachdem Sie den Start-schalter gedrückt haben, überwacht das Programm 30 Sekunden lang dieDrehzahl eines Motors.

� Impulse erzeugen. Beispiel: Ihr Programm liefert Impulse, durch die eineLampe zum Blinken gebracht wird.

� Zeit messen. Beispiel: Ihr Programm kann bestimmen, wieviel Zeitbenötigt wird, bis ein Behälter gefüllt ist.

Die Programmiersprache AWL der Programmiersoftware STEP 7 bietetIhnen folgende Zeitoperationen:

� Starten einer Zeit als:

– SI: Impuls

– SV: verlängerten Impuls

– SE: Einschaltverzögerung

– SS: speichernde Einschaltverzögerung

– SA: Ausschaltverzögerung

� R: Rücksetzen einer Zeit

� FR: Freigeben einer Zeit

� Laden einer Zeit in einem der folgenden Formate:

– L: binär-codiert

– LC: BCD-codiert

� U, UN, O, ON, X, XN: Signalzustandsabfrage einer Zeit, Verknüpfen desErgebnisses (siehe Kap. 5).

Bild 6-1 faßt die Operationen zusammen, die ein Timerwort als Operandenverwenden.

Freigabe einerZeit (FR)

Rücksetzen einer Zeit (R)

Laden einer Zeit (L, LC)Signalzustandsabfrage einer Zeit (U, O, X, UN, ON, XN)

Starten einer Zeit (SI, SV, SE, SS, SA)

Timerwort

Bild 6-1 Operationen, die ein Timerwort als Operanden verwenden

Definition

Welche Opera-tionen stehenIhnen zurVerfügung?

Zeitoperationen

Page 81: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

6-3Anweisungsliste (AWL) für S7-300/400C79000-G7000-C565-01

6.2 Speicherbereiche und Komponenten einer Zeit

Zeiten haben einen eigenen reservierten Speicherbereich in Ihrer CPU.Dieser Speicherbereich reserviert ein 16-Bit-Wort für jeden Zeitoperanden.Das Programmieren mit AWL unterstützt 256 Zeiten. Wieviele Zeitworte inIhren CPUs zur Verfügung stehen, entnehmen Sie bitte deren technischenDaten.

Folgende Funktionen greifen auf den Speicherbereich der Zeiten zu:

� Zeitoperationen

� Aktualisieren der Timerwörter über Zeitimpulsgeber. Diese FunktionIhrer CPU im RUN-Zustand vermindert einen bestimmten Wert um je-weils eine Einheit in einem Intervall, das von der Zeitbasis festgelegtwurde, bis der Zeitwert gleich ”0” ist.

Die Bits 0 bis 9 des Timerworts enthalten den Zeitwert binär-codiert. DerZeitwert gibt eine Anzahl von Einheiten an. Das Aktualisieren der Zeitvermindert den Zeitwert um jeweils eine Einheit in einem Intervall, das vonder Zeitbasis festgelegt wurde. Der Zeitwert wird solange vermindert, bis ergleich ”0” ist. Sie können einen Zeitwert im dualen, hexadezimalen oderbinär-codierten Dezimalformat (BCD) in das niederwertige Wort vonAKKU 1 laden. Der Zeitbereich umfaßt 0 bis 9 990 Sekunden.

Mit der folgenden Syntax können Sie einen vordefinierten Zeitwert laden.

� L W#16#wxyz

– mit: w = Zeitbasis (d. h. Zeitintervall oder Auflösung)

– xyz = Zeitwert im BCD-Format

� L S5T#aH_bbM_ccS_dddMS

– mit: a = Stunden, bb = Minuten, cc = Sekunden undddd = Millisekunden.

– Die Zeitbasis wird automatisch gewählt und der Wert zur nächst-niederen Zahl mit dieser Zeitbasis gerundet.

Sie können einen Zeitwert von max. 9 990 Sekunden bzw. 2H_46M_30Seingeben.

Speicherbereich

Zeitwert

Zeitoperationen

Page 82: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

6-4Anweisungsliste (AWL) für S7-300/400

C79000-G7000-C565-01

Die Bits 12 und 13 des Timerworts enthalten die Zeitbasis binär-codiert. DieZeitbasis definiert das Intervall, in dem der Zeitwert um eine Einheitvermindert wird. Die kleinste Zeitbasis beträgt 10 ms; die größte 10 s.

Tabelle 6-1 Zeitbasis und Binärcode

Zeitbasis Binärcode für Zeitbasis

10 ms 00

100 ms 01

1 s 10

10 s 11

Da Zeitwerte nur in einem Zeitintervall gespeichert werden, werden Werte,die keine genauen Vielfache des Zeitintervalls sind, abgeschnitten. Werte,deren Auflösung für den gewünschten Bereich zu groß ist, werdenabgerundet, so daß der gewünschte Bereich erzielt wird, nicht jedoch diegewünschte Auflösung. Tabelle 6-2 zeigt die möglichen Auflösungen und diezugehörigen Bereiche.

Tabelle 6-2 Auflösung und Bereiche der Zeitbasis

Auflösung Zeitbasis

0,01 Sekunde 10MS bis 9S_990MS

0,1 Sekunde 100MS bis 1M_39S_900MS

1 Sekunde 1S bis 16M_39S

10 Sekunden 10S bis 2HR_46M_30S

Wird eine Zeit gestartet, so wird der Inhalt des AKKU 1 als Zeitwertverwendet. Die Bits 0 bis 11 des AKKU1-L enthalten den Zeitwert imbinär-codierten Dezimalformat (BCD-Format: jede Gruppe von vier Bitsenthält den Binärcode für einen Dezimalwert). Die Bits 12 und 13 enthaltendie Zeitbasis im Binärcode (siehe Tabelle 6-1). Bild 6-2 zeigt den Inhalt desAKKU1-L, nachdem Sie den Zeitwert 127 mit der Zeitbasis 1 Sekundegeladen haben (siehe auch Kapitel 8.5).

Zeitbasis1 Sekunde

Irrelevant: Diese Bits werden nicht beachtet, wenn die Zeit gestartet wird

Zeitwert im BCD-Format (0 bis 999)

15... ...8 7... ...0

1 2 7

x x 1 0 0 0 0 1 0 0 1 0 0 1 1 1

Bild 6-2 Inhalt des AKKU1-L für den Zeitwert 127 mit der Zeitbasis eine Sekunde

Zeitbasis

Bit-Konfigurationin AKKU 1

Zeitoperationen

Page 83: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

6-5Anweisungsliste (AWL) für S7-300/400C79000-G7000-C565-01

6.3 Laden, Starten, Rücksetzen und Freigeben einer Zeit

In Ihrem AWL-Programm können Sie mit drei Anweisungen die folgendenOperationen auslösen:

� Abfragen eines Signalzustands auf ”0” oder ”1” (z. B. U E 2.1).

� Laden eines Zeitwerts und einer zugehörigen Zeitbasis (z. B. L EW0).

� Starten einer Zeit als:

– Impuls (SI, z. B. SI T 1)

– verlängerten Impuls (SV)

– Einschaltverzögerung (SE)

– speichernde Einschaltverzögerung (SS)

– Ausschaltverzögerung (SA)

In Ihrem AWL-Programm startet ein Wechsel im Verknüpfungsergebnis(VKE) vor einer Startoperation die Zeit. Ein Wechsel im VKE von ”1” auf”0” startet eine Zeit als Ausschaltverzögerung (SA); ein Wechsel von ”0” auf”1” startet eine der anderen Möglichkeiten. Die programmierte Zeit und dieOperationen zum Start der Zeit müssen direkt auf die Verknüpfung folgen,die die Bedingung für das Starten der Zeit liefert. Kapitel 6.4 gibt Beispielefür die fünf möglichen Startoperationen für Zeiten.

Das Laden eines Zeitwerts als Ganzzahl oder als BCD-Zahl ist in Kap. 8.4und 8.5 beschrieben.

Da die Zeit von einer eingestellten Zeit aus rückwärts gegen Null läuft,müssen Sie die Zeit mit einer Startzeit versehen. Wenn Sie eine Zeit in IhremProgramm starten, übernimmt die CPU die Startzeit aus dem AKKU 1. DerZeitbereich reicht von 0 bis 9 990 Sekunden.

Bild 6-3 zeigt ein Beispiel für das Starten einer Zeit als Impuls. Wechselt derSignalzustand an Eingang E 2.1 von ”0” auf ”1”, so wird die Zeit gestartet.Bild 6-3 bezieht sich auf das folgende AWL-Programm:

AWL Erläuterung

U E 2.1L S5T#00H02M23S00MSSI T1

Frage Signalzustand an Eingang E 2.1 ab.Lade Startzeit in AKKU 1.Starte Zeit T1 als Impuls.

E 2.1

Frage E 2.1 nach Wechselvon ”0” auf ”1” ab.

Zeit wird mit der Startzeit gestartet, die in AKKU 1 angegeben ist.

Signalzustandsdiagramm:

0

0

1

1

Bild 6-3 Starten einer Zeit als Impuls

Beschreibung

Laden

Startzeit

Beispiel für dasStarten einer Zeit

Zeitoperationen

Page 84: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

6-6Anweisungsliste (AWL) für S7-300/400

C79000-G7000-C565-01

Eine Zeit setzen Sie mit der Operation R (Rücksetze) zurück. Die CPU setzteine Zeit zurück, wenn das Verknüpfungsergebnis unmittelbar vor derOperation R in Ihrem Programm ”1” ist. Solange das VKE vor einerOperation R ”1” beträgt, bildet eine Operation U, O oder X, die denSignalzustand einer Zeit abfragt, das Ergebnis ”0” und eine Operation UN,ON oder XN das Ergebnis ”1”.

Das Rücksetzen einer Zeit stoppt die aktuelle Zeitfunktion und setzt den Zeit-wert auf ”0” zurück.

Ein Wechsel im Verknüpfungsergebnis von ”0” auf ”1” vor einerFreigabeoperation (FR) gibt eine Zeit frei. Dieser Wechsel im Signalzustandist immer nötig, um eine Zeit freizugeben. Die CPU führt die Operation FRnur auf einer steigenden Signalflanke aus.

Zum Starten oder für die normale Funktion einer Zeit wird die Freigabe nichtbenötigt. Die Freigabe wird lediglich dazu verwendet, eine laufende Zeitnachzutriggern, d. h. sie wieder anlaufen zu lassen. Dieser Wiederanlauf istnur dann möglich, wenn die Startoperation weiterhin mit dem VKE ”1”bearbeitet wird.

Rücksetzen einerZeit

Freigabe einer Zeitzum Wiederanlauf

Zeitoperationen

Page 85: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

6-7Anweisungsliste (AWL) für S7-300/400C79000-G7000-C565-01

6.4 Beispiele für Zeiten

Das Programmieren mit der Anweisungsliste bietet Ihnen fünf verschiedeneZeiten. Im folgenden AWL-Programm sind Beispiele für alle Zeitenenthalten.

Die Bilder 6-4 und 6-5 geben Beispiele für eine Zeit als Impuls. Dieumrahmten Zahlen in den Bildern weisen auf die Erläuterungen hin, die sichan Bild 6-4 anschließen. Die Bilder beziehen sich auf das folgendeAWL-Programm:

AWL Erläuterung

U E 2.0FR T1U E 2.1L S5T#00H02M23S00MSSI T1U E 2.2R T1U T1= A 4.0L T1T MW10LC T1T MW12

Freigabe der Zeit T1.

Starte Zeit T1 als Impuls.

Setze Zeit T1 zurück.

Signalzustandsabfrage der Zeit T1.

Lade Zeit T1.

E 2.0

E 2.1

E 2.2

A 4.0

VKE am Freigabeeingang

VKE am Starteingang

VKE am Rücksetzeingang

Timerreaktion

Signalzustandsabfrageam Timerausgang

Lade Zeit: L, LC

t

� ��

t = programmierte Startzeit

Bild 6-4 Beispiel für eine Zeit als Impuls, Teil 1

Einführung

Zeit als Impuls: SI

Zeitoperationen

Page 86: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

6-8Anweisungsliste (AWL) für S7-300/400

C79000-G7000-C565-01

Die folgende Liste beschreibt die Elemente der Bilder 6-4 und 6-5:

� Wechselt das VKE von ”0” auf ”1” am Starteingang, so startet diesdie Zeit. Die programmierte Zeit t beginnt dann abzulaufen.

� Liegt am Starteingang ein VKE von ”0” an, dann wird die Zeitzurückgesetzt.

� Die Signalzustandsabfrage am Ausgang A 4.0 ergibt einenSignalzustand von ”1” für die gesamte Dauer der Zeitoperation.

� Liegt am Rücksetzeingang ein VKE von ”1” an, dann wird die Zeitzurückgesetzt. Solange ein Signalzustand von ”1” am Starteinganganliegt, hat ein Wechsel im VKE von ”1” auf ”0” amRücksetzeingang keinerlei Einfluß auf die Zeit.

� Ein Wechsel im VKE von ”0” auf ”1” am Starteingang beigleichzeitigem Rücksetzsignal veranlaßt die Zeit, kurzzeitig zustarten. Dann jedoch setzt sie sofort zurück aufgrund der OperationRücksetze, die im Programm direkt folgt (im Impulsdiagramm inBild 6-4 als Impulslinie dargestellt). Für diesen Impuls gibt es keinAbfrageergebnis, vorausgesetzt, daß die Reihenfolge derOperationen, wie sie oben abgebildet sind, eingehalten wird.

� Wechselt das VKE von ”0” auf ”1” am Freigabeeingang, währenddie Zeit läuft, so läßt dies die Zeit wieder neu anlaufen. Dieprogrammierte Zeit wird als aktuelle Zeit für den Wiederanlaufverwendet. Ein Wechsel des VKE von ”1” auf ”0” amFreigabeeingang hat keinen Einfluß.

� Wechselt das VKE von ”0” auf ”1” am Freigabeeingang, währenddie Zeit nicht läuft und gleichzeitig noch immer ein VKE von ”1”am Starteingang anliegt, wird die Zeit ebenfalls als Impuls mit derprogrammierten Zeit gestartet.

� Wechselt das VKE von ”0” auf ”1” am Freigabeeingang beigleichzeitigem VKE von ”0” am Starteingang, so hat dies keinenEinfluß auf die Zeit.

E 2.0

E 2.1

E 2.2

A 4.0

t

t

���

VKE am Freigabeeingang

VKE am Starteingang

VKE am Rücksetzeingang

Timerreaktion

Signalzustandsabfrageam Timerausgang

Lade Zeit: L, LC

t = programmierte Startzeit

Bild 6-5 Beispiel für eine Zeit als Impuls, Teil 2

Zeitoperationen

Page 87: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

6-9Anweisungsliste (AWL) für S7-300/400C79000-G7000-C565-01

Die Bilder 6-6 und 6-7 geben Beispiele für eine Zeit als verlängerten Impuls.Die umrahmten Zahlen in den Bildern weisen auf die Erläuterungen hin, diesich an Bild 6-6 anschließen. Die Bilder beziehen sich auf das folgendeAWL-Programm:

AWL Erläuterung

U E 2.0FR T1U E 2.1L S5T#00H02M23S00MSSV T1U E 2.2R T1U T1= A 4.0L T1T MW10LC T1T MW12

Freigabe der Zeit T1.

Starte Zeit T1 als verlängerten Impuls.

Setze Zeit T1 zurück.

Signalzustandsabfrage der Zeit T1.Lade Zeit T1 binär codiert

Lade Zeit T1 BCD-codiert.

E 2.0

E 2.1

E 2.2

A 4.0

t

� �� �

VKE am Frei-gabeeingang

VKE am Starteingang

VKE am Rücksetz-eingang

Timerreaktion

Signalzu-standsabfrageam Timer-ausgangLade Zeit: L, LC

t = programmierte Startzeit

Bild 6-6 Beispiel für eine Zeit als verlängerten Impuls, Teil 1

Zeit als verlän-gerter Impuls: SV

Zeitoperationen

Page 88: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

6-10Anweisungsliste (AWL) für S7-300/400

C79000-G7000-C565-01

Die folgende Liste beschreibt die Elemente der Bilder 6-6 und 6-7:

� Wechselt das VKE von ”0” auf ”1” am Starteingang, so startet diesdie Zeit. Die programmierte Zeit t läuft dann ab, unabhängig voneinem späteren Wechsel des VKE von ”1” auf ”0” am Starteingang.

� Wenn das VKE von ”0” auf ”1” wechselt, bevor die Zeit abgelaufenist, wird die Zeit mit der ursprünglich programmierten Zeitnachgetriggert.

� Die Signalzustandsabfrage am Ausgang A 4.0 ergibt das Ergebnis”1” für die gesamte Dauer der Zeitoperation.

� Liegt am Rücksetzeingang ein VKE von ”1” an, dann wird die Zeitzurückgesetzt. Solange ein Signalzustand von ”1” am Starteinganganliegt, hat ein Wechsel im VKE von ”1” auf ”0” amRücksetzeingang keinerlei Einfluß auf die Zeit.

� Ein Wechsel im VKE von ”0” auf ”1” am Starteingang beigleichzeitigem Rücksetzsignal veranlaßt die Zeit, kurzzeitig zustarten. Dann jedoch setzt sie sofort zurück aufgrund der OperationRücksetze, die im Programm direkt folgt (im Impulsdiagramm inBild 6-6 als Impulslinie dargestellt). Für diesen Impuls gibt es keinAbfrageergebnis, vorausgesetzt, daß die Reihenfolge derOperationen, wie sie oben abgebildet sind, eingehalten wird.

� Wechselt das VKE von ”0” auf ”1” am Freigabeeingang, währenddie Zeit läuft, so läßt dies die Zeit wieder neu anlaufen. Dieprogrammierte Zeit wird als aktuelle Zeit für den Wiederanlaufverwendet. Ein Wechsel im VKE von ”1” auf ”0” amFreigabeeingang hat keinen Einfluß.

� Wechselt das VKE von ”0” auf ”1” am Freigabeeingang, währenddie Zeit nicht läuft und gleichzeitig noch immer das VKE ”1” amStarteingang anliegt, dann wird die Zeit ebenfalls als Impuls mit derprogrammierten Zeit gestartet.

� Wechselt das VKE von ”0” auf ”1” am Freigabeeingang beigleichzeitigem VKE von ”0” am Starteingang, so hat dies keinenEinfluß auf die Zeit.

E 2.0

E 2.1

E 2.2

A 4.0

t

t

���

t

VKE am Frei-gabeeingang

VKE am Starteingang

VKE amRücksetz-eingang

Timerreaktion

Signalzu-standsabfrageam Timer-ausgangLade Zeit: L, LC

t = programmierte Startzeit

Bild 6-7 Beispiel für eine Zeit als verlängerten Impuls, Teil 2

Zeitoperationen

Page 89: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

6-11Anweisungsliste (AWL) für S7-300/400C79000-G7000-C565-01

Die Bilder 6-8 und 6-9 geben Beispiele für eine Zeit alsEinschaltverzögerung. Die umrahmten Zahlen in den Bildern weisen auf dieErläuterungen hin, die sich an Bild 6-8 anschließen. Die Bilder beziehen sichauf das folgende AWL-Programm:

AWL Erläuterung

U E 2.0FR T1U E 2.1L S5T#00H02M23S00MSSE T1U E 2.2R T1U T1= A 4.0L T1T MW10LC T1T MW12

Freigabe der Zeit T1.

Starte Zeit T1 als Einschaltverzögerung.

Setze Zeit T1 zurück.

Signalzustandsabfrage der Zeit T1.

Lade Zeit T1.

E 2.0

E 2.1

E 2.2

t

t

VKE am Frei-gabeeingang

VKE am Starteingang

VKE am Rücksetz-eingang

Timerreaktion

Signalzu-standsabfrageam Timer-ausgangLade Zeit: L, LC

t = programmierte Startzeit

A 4.0

Bild 6-8 Beispiel für eine Zeit als Einschaltverzögerung, Teil 1

Zeit als Einschalt-verzögerung: SE

Zeitoperationen

Page 90: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

6-12Anweisungsliste (AWL) für S7-300/400

C79000-G7000-C565-01

Die folgende Liste beschreibt die Elemente der Bilder 6-8 und 6-9:

� Wechselt das VKE von ”0” auf ”1” am Starteingang, so startet diesdie Zeit. Die programmierte Zeit t beginnt dann abzulaufen.

� Wenn am Starteingang ein VKE von ”0” anliegt, wird die Zeitzurückgesetzt.

� Die Signalzustandsabfrage am Ausgang A 4.0 ergibt einenSignalzustand von ”1”, wenn die Zeit abgelaufen und derStarteingang ”1” ist.

� Wenn am Rücksetzeingang ein VKE von ”1” anliegt, wird die Zeitzurückgesetzt. Solange ein Signalzustand von ”1” am Starteinganganliegt, hat ein Wechsel im VKE von ”1” auf ”0” amRücksetzeingang keinerlei Einfluß auf die Zeit.

� Ein Wechsel im VKE von ”0” auf ”1” am Starteingang beigleichzeitigem Rücksetzsignal veranlaßt die Zeit, kurzzeitig zustarten. Dann jedoch setzt sie sofort zurück aufgrund der OperationRücksetze, die im Programm direkt folgt (im Impulsdiagramm inBild 6-8 als Impulslinie dargestellt). Für diesen Impuls gibt es keinAbfrageergebnis, vorausgesetzt, daß die Reihenfolge derOperationen, wie sie oben abgebildet sind, eingehalten wird.

� Wechselt das VKE von ”0” auf ”1” am Freigabeeingang, währenddie Zeit läuft, so läßt dies die Zeit wieder neu anlaufen. Dieprogrammierte Zeit wird als aktuelle Zeit für den Wiederanlaufverwendet. Ein Wechsel im VKE von ”1” auf ”0” amFreigabeeingang hat keinen Einfluß.

� Wechselt das VKE von ”0” auf ”1” am Freigabeeingang und folgteine normale Zeitoperation, so wird die Zeit nicht beeinflußt.

� Wechselt das VKE von ”0” auf ”1” am Freigabeeingang nachRücksetzen der Zeit und bei gleichzeitigem VKE von ”1” amStarteingang, so startet dies die Zeit. Die programmierte Zeit wirdals aktuelle Zeit verwendet.

E 2.0

E 2.1

E 2.2

A 4.0

t

�� �

VKE am Frei-gabeeingang

VKE am Starteingang

VKE am Rücksetz-eingang

Timerreaktion

Signalzu-standsabfrageam Timer-ausgangLade Zeit: L, LC

t = programmierte Startzeit

Bild 6-9 Beispiel für eine Zeit als Einschaltverzögerung, Teil 2

Zeitoperationen

Page 91: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

6-13Anweisungsliste (AWL) für S7-300/400C79000-G7000-C565-01

Die Bilder 6-10 und 6-11 geben Beispiele für eine Zeit als speicherndeEinschaltverzögerung. Die umrahmten Zahlen in den Bildern weisen auf dieErläuterungen hin, die sich an Bild 6-10 anschließen. Die Bilder beziehensich auf das folgende AWL-Programm:

AWL Erläuterung

U E 2.0FR T1U E 2.1L S5T#00H02M23S00MSSS T1U E 2.2R T1U T1= A 4.0L T1T MW10LC T1T MW12

Freigabe der Zeit T1.

Starte Zeit T1 als speichernde Einschaltverzögerung.

Setze Zeit T1 zurück.

Signalzustandsabfrage der Zeit T1.

Lade Zeit T1.

E 2.0

E 2.1

E 2.2

t

� �

VKE am Frei-gabeeingang

VKE am Starteingang

VKE am Rücksetz-eingang

Timerreaktion

Signalzu-standsabfrageam Timer-ausgangLade Zeit: L, LC

t = programmierte Startzeit

A 4.0

Bild 6-10 Beispiel für eine Zeit als speichernde Einschaltverzögerung, Teil 1

Die folgende Liste beschreibt die Elemente der Bilder 6-10 und 6-11:

� Wechselt das VKE von ”0” auf ”1” am Starteingang, so startet diesdie Zeit. Die programmierte Zeit t läuft dann ab, unabhängig voneinem späteren Wechsel des VKE von ”1” auf ”0” am Starteingang.

� Die Signalzustandsabfrage am Timerausgang ergibt ”1”, wenn dieZeit abgelaufen ist.

Zeit als spei-chernde Einschalt-verzögerung: SS

Zeitoperationen

Page 92: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

6-14Anweisungsliste (AWL) für S7-300/400

C79000-G7000-C565-01

� Das Ergebnis der Signalzustandsabfrage am Ausgang A 4.0 wechseltnur dann auf ”0”, wenn das VKE am Rücksetzeingang ”1” beträgt.

� Wenn am Rücksetzeingang ein VKE von ”1” anliegt, wird die Zeitzurückgesetzt. Solange ein Signalzustand von ”1” am Starteinganganliegt, hat ein Wechsel des VKE von ”1” auf ”0” amRücksetzeingang keinerlei Einfluß auf die Zeit.

� Ein Wechsel im VKE von ”0” auf ”1” am Starteingang beigleichzeitigem Rücksetzsignal veranlaßt die Zeit, kurzzeitig zustarten. Dann jedoch setzt sie sofort zurück aufgrund der OperationRücksetze, die im Programm direkt folgt (im Impulsdiagramm inBild 6-10 als Impulslinie dargestellt). Für diesen Impuls gibt es keinAbfrageergebnis, vorausgesetzt, daß die Reihenfolge derOperationen, wie sie oben abgebildet sind, eingehalten wird.

� Wechselt das VKE am Freigabeeingang von ”0” auf ”1”, währenddie Zeit läuft und das VKE am Starteingang der Zeit ”1” ist, so läßtdies die Zeit wieder neu anlaufen. Die programmierte Zeit wird alsaktuelle Zeit für den Wiederanlauf verwendet. Ein Wechsel im VKEvon ”1” auf ”0” am Freigabeeingang hat keinen Einfluß auf die Zeit.

� Die Zeit wird nicht beeinflußt, wenn das VKE nach einer normalenZeitoperation am Freigabeeingang von ”0” auf ”1” wechselt.

� Wechselt das VKE am Freigabeeingang von ”0” auf ”1”, währenddie Zeit läuft und das VKE am Starteingang der Zeit ”0” ist, dannwird die Zeit nicht beeinflußt.

� Wechselt das VKE am Freigabeeingang von ”0” auf ”1”, wenn dieZeit zurückgesetzt wurde und das VKE am Starteingang nochimmer ”1” ist, dann wird die Zeit neu gestartet. Die programmierteZeit wird als aktuelle Zeit für den Wiederanlauf verwendet.

ttt

� � � �

� �

E 2.0

E 2.1

E 2.2

VKE am Frei-gabeeingang

VKE amStarteingang

VKE am Rücksetz-eingang

Timerreaktion

Signalzu-standsabfrageam Timer-ausgangLade Zeit: L, LC

t = programmierte Startzeit

A 4.0

Bild 6-11 Beispiel für eine Zeit als speichernde Einschaltverzögerung, Teil 2

Zeitoperationen

Page 93: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

6-15Anweisungsliste (AWL) für S7-300/400C79000-G7000-C565-01

Die Bilder 6-12 und 6-13 geben Beispiele für eine Zeit alsAusschaltverzögerung. Die umrahmten Zahlen in den Bildern weisen auf dieErläuterungen hin, die sich an Bild 6-12 anschließen. Die Bilder beziehensich auf das folgende AWL-Programm:

AWL Erläuterung

U E 2.0FR T1U E 2.1L S5T#00H02M23S00MSSA T1U E 2.2R T1U T1= A 4.0L T1T MW10LC T1T MW12

Freigabe der Zeit T1.

Starte Zeit T1 als Ausschaltverzögerung.

Setze Zeit T1 zurück.Signalzustandsabfrage der Zeit T1.

Lade Zeit T1.

t t

� � � � �

� �

� �

E 2.0

E 2.1

E 2.2

VKE am Frei-gabeeingang

VKE am Starteingang

VKE am Rücksetz-eingang

Timerreaktion

Signalzu-standsabfrageam Timer-ausgangLade Zeit: L, LC

t = programmierte Startzeit

A 4.0

Bild 6-12 Beispiel für eine Zeit als Ausschaltverzögerung, Teil 1

Zeit als Ausschalt-verzögerung: SA

Zeitoperationen

Page 94: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

6-16Anweisungsliste (AWL) für S7-300/400

C79000-G7000-C565-01

Die folgende Liste beschreibt die Elemente der Bilder 6-12 und 6-13:

� Wechselt das VKE von ”0” auf ”1” am Starteingang, so ergibt sicheine Änderung von ”0” auf ”1” am Ausgang A 4.0. Ein Wechsel imVKE von ”1” auf ”0” am Starteingang startet die Zeit. Dieprogrammierte Zeit t läuft dann ab.

� Wenn am Starteingang erneut ein VKE von ”1” auftritt, wird dieZeit zurückgesetzt.

� Die Signalzustandsabfrage am Ausgang A 4.0 der Zeit ergibt einenSignalzustand von ”1”, wenn das VKE am Starteingang ”1” beträgtund die Zeit noch nicht abgelaufen ist.

� Liegt ein VKE von ”1” am Rücksetzeingang an, dann wird die Zeitzurückgesetzt. Eine Signalzustandsabfrage der Zeit ergibt dann ”0”.Wechselt das VKE von ”1” auf ”0” am Rücksetzeingang, so hat dieskeinen Einfluß auf die Zeit.

� Liegt eine ”1” am Rücksetzeingang an, während die Zeit nicht läuft,so hat dies keinen Einfluß auf die Zeit.

� Ein Wechsel im VKE von ”1” auf ”0” am Starteingang beigleichzeitigem Rücksetzsignal veranlaßt die Zeit, kurzzeitig zustarten. Dann jedoch setzt sie sofort zurück aufgrund der OperationRücksetze, die im Programm direkt folgt (im Impulsdiagramm inBild 6-12 als Impulslinie dargestellt). Die Signalzustandsabfrage derZeit ergibt dann ”0”.

� Die Zeit wird nicht beeinflußt, wenn das VKE am Freigabeeingangvon ”0” auf ”1” wechselt, während die Zeit nicht läuft. Ein Wechselim VKE von ”1” auf ”0” hat ebenfalls keinen Einfluß auf die Zeit.

� Wechselt das VKE am Freigabeeingang von ”0” auf ”1”, währenddie Zeit läuft, dann wird die Zeit neu gestartet. Die programmierteZeit wird als aktuelle Zeit für den Wiederanlauf verwendet.

t

� ��

E 2.0

E 2.1

E 2.2

VKE am Freigabeeingang

VKE am Starteingang

VKE am Rücksetzeingang

Timerreaktion

Signalzustandsabfrageam Timerausgang

Lade Zeit: L, LC

t = programmierte Startzeit

A 4.0

Bild 6-13 Beispiel für eine Zeit als Ausschaltverzögerung, Teil 2

Zeitoperationen

Page 95: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

6-17Anweisungsliste (AWL) für S7-300/400C79000-G7000-C565-01

6.5 Operanden und Bereiche für Zeitoperationen

Die Tabellen 6-3 und 6-4 zeigen die Adressierungsarten, Operanden undAdreßbereiche für Zeitoperationen.

Tabelle 6-3 Operanden, Bereiche und Adressierungsarten für Zeitoperationen

Adreßbereich je nach Adressierungsart

direkt speicherindirekt

0 bis 65535

[DBW][DIW][LW][MW]

0 bis 65 534

Tabelle 6-4 Operand der Zeit als Parameter transferiert

Operand Adreßparameterformat

SymbolischerName

Zeit als Parameter transferiert.

Zeitoperationen

Page 96: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

6-18Anweisungsliste (AWL) für S7-300/400

C79000-G7000-C565-01

6.6 Auswahl der richtigen Zeit

Bild 6-14 bietet einen Überblick über die fünf verschiedenen Zeiten, die inKapitel 6.4 beschrieben wurden. Diese Übersicht soll Ihnen helfen, die fürIhre Zwecke adäquate Zeit auszuwählen.

Das Ausgangssignal wechselt nur von ”0” auf ”1”, wenn dasEingangssignal von ”0” auf ”1” wechselt. Das Ausgangssignalbleibt auf ”1”. Die Zeit wird gestartet, wenn das Eingangssignalvon ”0” auf ”1” wechselt.

E 2.1

A 4.0

SV:

SE:

SS:

SA:

Eingangssignal

Ausgangssignal(Zeit als Impuls) t

SI:

t

t

t

t

Die maximale Zeit, in der das Ausgangssignal auf ”1” bleibt,ist gleich dem programmierten Zeitwert t. DasAusgangssignal bleibt für eine kürzere Zeit auf ”1”, wenn dasEingangssignal auf ”0” wechselt.

Das Ausgangssignal bleibt für die programmierte Zeit auf ”1”,unabhängig davon, wie lange das Eingangssignal auf ”1”bleibt.

Das Ausgangssignal wechselt nur von ”0” auf ”1”, wenn dieprogrammierte Zeit abgelaufen ist, und das Eingangssignalnoch immer ”1” beträgt.

Das Ausgangssignal wechselt von ”0” auf ”1”, wenn dieprogrammierte Zeit abgelaufen ist, unabhängig davon, wielange das Eingangssignal auf ”1” bleibt.

A 4.0Ausgangssignal(Zeit als verlän-gerter Impuls)

A 4.0Ausgangssignal(Zeit als Ein-schaltverzögerung)

A 4.0Ausgangssignal(Zeit als speich.Einschaltverzögerung)

A 4.0Ausgangssignal(Zeit als Aus-schaltverzögerung)

Bild 6-14 Auswahl der richtigen Zeit

Zeitoperationen

Page 97: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

7-1Anweisungsliste (AWL) für S7-300/400C79000-G7000-C565-01

Zähloperationen

Im Kapitel finden Sie auf Seite

7.1 Übersicht 7-2

7.2 Setzen, Rücksetzen und Freigeben eines Zählers 7-3

7.3 Vorwärts- und Rückwärtszählen 7-5

7.4 Laden eines Zählwerts als Ganzzahl 7-6

7.5 Laden eines Zählwerts im BCD-Format 7-7

7.6 Beispiel eines Zählers 7-8

7.7 Operanden und Bereiche für Zähloperationen 7-10

Kapitelübersicht

7

Page 98: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

7-2Anweisungsliste (AWL) für S7-300/400

C79000-G7000-C565-01

7.1 Übersicht

Ein Zähler ist ein Funktionselement der Programmiersprache STEP 7.

Zähler haben einen eigenen reservierten Speicherbereich in Ihrer CPU.Dieser Speicherbereich reserviert ein Wort von 16 Bit für jeden Zähler. DasProgrammieren mit AWL unterstützt 256 Zähler. Die bei Ihrer CPU verfüg-bare Anzahl von Zählern entnehmen Sie bitte deren technischen Daten.

Zähloperationen sind die einzigen Funktionen, die Zugriff auf den für Zählerreservierten Speicherbereich haben.

Die Programmiersprache AWL der Programmiersoftware STEP 7 bietetIhnen folgende Zähloperationen:

� S: Setzen

� R: Rücksetzen

� ZV: Vorwärtszählen

� ZR: Rückwärtszählen

� FR: Zähler freigeben

� Zähler in einem der folgenden Formate laden:

– L: binär-codiert

– LC: BCD-codiert

� U, UN, O, ON, X, XN: Signalzustand eines Zählers abfragen und dasErgebnis verknüpfen. Eine Signalzustandsabfrage mit der Operation U, Ooder X ergibt das Ergebnis ”1”, wenn der Zählwert größer als ”0” ist. Eine Signalzustandsabfrage mit der Operation U, O oder X ergibt dasErgebnis ”0”, wenn der Zählwert gleich ”0” ist.

Bild 7-1 faßt die Operationen zusammen, die ein Zählerwort als Operandenverwenden.

Zähler freigeben (FR)Rückwärtszählen (ZR)

Zählwert laden (L, LC)

Zählerwort

Zähler setzen (S)Vorwärtszählen (ZV) Zähler rücksetzen (R)

Signalzustandsabfrage eines Zählers (U, UN, O, ON, X, XN)

Bild 7-1 Operationen, die ein Zählerwort als Operanden verwenden können.

Definition

Welche Operatio-nen stehen Ihnenzur Verfügung?

Zähloperationen

Page 99: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

7-3Anweisungsliste (AWL) für S7-300/400C79000-G7000-C565-01

7.2 Setzen, Rücksetzen und Freigeben eines Zählers

Um einen Zähler zu setzen, fügen Sie drei Anweisungen in IhremAWL-Programm ein, damit die folgenden Operationen ausgelöst werden:

� Abfragen eines Signalzustands nach ”0” oder ”1” (z. B. U E 2.3).

� Laden eines Zählwerts (z.B. L C# 3) in das niederwertige Wort vonAKKU 1.

� Setzen eines Zählers mit dem geladenen Zählwert (z. B. S Z 1). Durchdiese Operation wird der Zählwert von AKKU 1 in das Zählerwort über-tragen.

In Ihrem AWL-Programm setzt ein Wechsel im Verknüpfungsergebnis von”0” auf ”1” vor der Operation Setzen (S) den Zähler auf den programmiertenZählwert. Der programmierte Zählwert und die Operation Setzen müssendirekt auf die Verknüpfungsoperation folgen, die die Bedingungen zumSetzen des Zählers liefert.

Ein Zähler wird auf einen bestimmten Wert gesetzt, indem Sie diesen Wert indas niederwertige Wort von AKKU 1 laden und sofort anschließend diesenZähler setzen. Wenn Sie in Ihrem Programm einen Zähler setzen, sucht dieCPU den Zählwert im AKKU 1. Nun überträgt die CPU den Zählwert vomAkkumulator in das Zählerwort, das Sie in Ihrer Operation Setzen (z B. S Z1)festgelegt haben. Der Bereich des Zählwerts liegt zwischen 0 und 999.

Bild 7-2 zeigt ein Beispiel für das Setzen eines Zählers. Wechselt derSignalzustand von ”0” auf ”1” am Eingang E 2.3, so wird der Zähler gesetzt.Bild 7-2 bezieht sich auf das folgende AWL-Programm.

AWL Erläuterung

U E 2.3L C# 3S Z1

Signalzustandsabfrage an Eingang E 2.3. Wenn Signalzustand ”1” ist, lade Zählwert 3 in AKKU 1. Setze Zähler Z1 auf den Zählwert 3. Diese Operation bewegt denZählwert 3 vom Akkumulator in das Zählerwort 1.

E 2.3

Abfrage von E 2.3 nachWechsel von ”0” auf ”1”.

Zähler wird auf den Wert gesetzt, der in der Ladeoperation angegeben ist.

Signalzustandsdiagramm:

0

0

1

1

Bild 7-2 Setzen eines Zählers

Beschreibung

Startwert

Beispiel für dasSetzen eines Zäh-lers

Zähloperationen

Page 100: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

7-4Anweisungsliste (AWL) für S7-300/400

C79000-G7000-C565-01

Einen Zähler setzen Sie mit der Operation R (Rücksetze) zurück. Die CPUsetzt einen Zähler zurück, wenn das Verknüpfungsergebnis unmittelbar vorder Operation Rücksetzen in Ihrem Programm ”1” ist. Solange das VKE voreiner Operation R ”1” beträgt, bildet die Operation U, O oder X, die denSignalzustand eines Zählers abfragt, das Ergebnis ”0” und eine OperationUN, ON oder XN das Ergebnis ”1”.

Wenn Ihr Programm einen Zähler rücksetzt, löscht es ihn, d. h. es setzt ihnauf den Wert ”0”.

Wenn der Zähler durch ein statisches Signal am Eingang Rücksetzen undunabhängig vom VKE der anderen Zählereingänge zurückgesetzt werdensoll, dann müssen Sie die Operation zum Rücksetzen direkt nach derOperation zum Setzen, Vorwärts- oder Rückwärtszählen und vor dieSignalabfrage oder Ladeoperation schreiben (siehe Kapitel 7.3).

Die Zählerprogrammierung sollte sich also an die folgende Reihenfolgehalten (siehe auch Programmierbeispiel in Kapitel 7.6).

1. Vorwärtszählen

2. Rückwärtszählen

3. Zähler setzen

4. Zähler rücksetzen

5. Signalzustand des Zählers abfragen

6. Zählwert laden (Zählwert lesen)

Ein Wechsel im Verknüpfungsergebnis der Operation FR (Freigabe) von ”0”auf ”1” gibt einen Zähler frei. Die CPU führt die Operation FR nur bei einersteigenden Signalflanke aus.

Eine Zählerfreigabe wird weder für das normale Setzen eines Zählers, nochfür normale Zähloperationen benötigt. Eine Freigabe wird lediglich dazuverwendet, einen Zähler dann zu setzen bzw. vorwärts oder rückwärts zuzählen, wenn eine positive Flanke (Wechsel von ”0” auf ”1”) vor derentsprechenden Zähloperation benötigt wird und die Signalabfrage vor derentsprechenden Operation das VKE ”1” hat.

Rücksetzen einesZählers

Freigabe einesZählers zumWiederanlauf

Zähloperationen

Page 101: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

7-5Anweisungsliste (AWL) für S7-300/400C79000-G7000-C565-01

7.3 Vorwärts- und Rückwärtszählen

In Ihrem AWL-Programm erhöht ein Wechsel im Verknüpfungsergebnis von”0” auf ”1” vor einer Anweisung zum Vorwärtszählen (ZV) den Zähler.Jedesmal, wenn direkt vor einer Operation Vorwärtszählen das VKE von ”0”auf ”1” wechselt, wird der Zählwert um 1 Einheit erhöht.

Wenn der Zählwert seinen oberen Grenzwert von 999 erreicht, erhöht er sichnicht weiter, und jeder folgende Wechsel im Signalzustand am EingangVorwärtszählen ist wirkungslos. Überläufe (OV) sind nicht vorgesehen.

AWL Erläuterung

U E 0.1ZV Z1

Wenn ein Wechsel der positiven Flanke an Eingang E 0.1 auf-tritt, wird Zählwert Z 1 um 1 Einheit erhöht.

In Ihrem AWL-Programm vermindert ein Wechsel im Verknüpfungsergebnisvon ”0” auf ”1” vor einer Anweisung zum Rückwärtszählen (ZR) den Zähler.Jedesmal, wenn direkt vor einer Operation Rückwärtszählen das VKE von”0” auf ”1” wechselt, wird der Zählwert um 1 Einheit vermindert.

Wenn der Zählwert seinen unteren Grenzwert von ”0” erreicht, vermindert ersich nicht weiter, und jeder folgende Wechsel im Signalzustand am EingangRückwärtszählen ist wirkungslos. Der Zähler zählt nicht mit negativenWerten.

AWL Erläuterung

U E 0.2ZR Z1

Wenn ein Wechsel der positiven Flanke an Eingang E 0.2 auf-tritt, wird Zählwert Z 1 um 1 Einheit vermindert.

Vorwärtszählen -Beschreibung

Rückwärtszählen -Beschreibung

Zähloperationen

Page 102: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

7-6Anweisungsliste (AWL) für S7-300/400

C79000-G7000-C565-01

7.4 Laden eines Zählwerts als Ganzzahl

Ein Zählwert ist in einem Zählerwort binär-codiert gespeichert. Mit derfolgenden Operation können Sie den binär-codierten Zählwert aus einemZählerwort auslesen und binär-codiert in das niederwertige Wort vonAKKU 1 laden:

L <Zählerwort>

Diese Art des Ladens bezeichnet man als direktes Laden eines Zählwerts.

AWL Erläuterung

L Z1 Lade den binär-codierten Zählwert von Zähler Z1 in AKKU1-L.

0 0 0 0 0 0

9 0

X X X X X X

Zählwert

Zählerwort fürZ1 (binär)

AKKU1-L (binär)

1015

15 10 09

Bild 7-3 Laden eines Zählwerts in AKKU 1 mit der Ladeoperation L

Der Wert, der als Ergebnis der Ladeoperation L in AKKU 1 enthalten ist,kann zur weiteren Verarbeitung verwendet werden. Sie können jedoch keinenWert aus dem Akkumulator in das Zählerwort transferieren. Wenn Sie einenZähler mit einem bestimmten Zählwert starten wollen, benötigen Sie dieentsprechende Operation zum Setzen des Zählers.

Beschreibung

Zähloperationen

Page 103: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

7-7Anweisungsliste (AWL) für S7-300/400C79000-G7000-C565-01

7.5 Laden eines Zählwerts im BCD-Format

Ein Zählwert ist in einem Zählerwort binär-codiert gespeichert. Mit derfolgenden Operation können Sie den Zählwert aus einem Zählerwort auslesenund BCD-codiert in das niederwertige Wort von AKKU 1 laden:

LC <Zählerwort>

Diese Art des Ladens bezeichnet man als Laden eines Zählwerts im BCD-Format.

Der Wert, der als Ergebnis der Operation LC im niederwertigen Wort vonAKKU 1 enthalten ist, hat das gleiche Format, das benötigt wird, um einenZähler zu setzen.

AWL Erläuterung

LC Z1 Lade den Zählwert von Zähler Z1 im BCD-Format in AKKU1-L.

Zählwert

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

Zählwert im BCD-Format

15

102 101 100

14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

BCD-codiert

0 0 0 0

(Hunderter) (Zehner) (Einer)

Zählerwort für Z1

AKKU1-L

Bild 7-4 Laden eines Zählwerts in AKKU 1 mit der Operation LC

Der Wert, der im Akkumulator als Ergebnis der Operation LC enthalten ist,kann zur weiteren Verarbeitung verwendet werden, so z. B. zumTransferieren des Werts zu den Ausgängen, um ein Display anzusteuern.

Beschreibung

Zähloperationen

Page 104: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

7-8Anweisungsliste (AWL) für S7-300/400

C79000-G7000-C565-01

7.6 Beispiel eines Zählers

Bild 7-5 gibt ein Beispiel für das Vorwärtszählen, Rückwärtszählen, Setzenund Rücksetzen eines Zählers, die Signalzustandsabfrage eines Zählers unddas Laden eines Zählwerts. Das Beispiel hält sich an die Programmierfolge,die in Kapitel 7.2 empfohlen wurde. Die umrahmten Zahlen weisen auf dieErläuterungen hin, die sich an das Bild anschließen. Die Liste, die Sie unterBild 7-5 finden, erklärt die Elemente des AWL-Programms.

ÎÎÎÎÎÎ

E 2.0 Freigabe

E 2.1VorwärtszählenE 2.2Rückwärts-zählen

E 2.3 Setzen

E 2.4Rücksetzen

Zählerreaktion

Signalzustands-abfrage vonZählerausgangA 4.0

MW10 LadenMW12 ÎÎÎ

ÎÎÎ

ÎÎÎÎÎÎ

� �

��

Bild 7-5 Beispiel für Zähloperationen

Zähloperationen

Page 105: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

7-9Anweisungsliste (AWL) für S7-300/400C79000-G7000-C565-01

Die folgende Liste beschreibt die Elemente aus Bild 7-5:

� Ein Wechsel des VKE von ”0” auf ”1” am Eingang Setzen setzt denZähler auf den Zählwert 3. Ein Wechsel von ”1” auf ”0” amEingang Setzen hat keinen Einfluß auf den Zähler.

� Ein Wechsel des VKE von ”0” auf ”1” am Eingang Rückwärts-zählen vermindert den Zähler um eins. Ein Wechsel von ”1” auf ”0”am Eingang Rückwärtszählen hat keinen Einfluß auf den Zähler.

� Das Ergebnis der Anweisung zur Signalzustandsabfrage U Z1 ist”0”, wenn der Zählwert ”0” ist.

� Ein Wechsel des VKE von ”0” auf ”1” am Eingang Vorwärtszählenerhöht den Zähler um eins. Ein Wechsel von ”1” auf ”0” amEingang Vorwärtszählen hat keinen Einfluß auf den Zähler.

� Bei einem VKE von ”1” am Eingang Rücksetzen wird der Zählerzurückgesetzt. Die Signalzustandsabfrage ergibt ”0”. Ein Wechseldes VKE von ”1” auf ”0” am Eingang Rücksetzen hat keinenEinfluß auf den Zähler.

� Ein Wechsel des VKE von ”0” auf ”1” am Eingang Vorwärtszählenbei gleichzeitigem Rücksetzsignal veranlaßt den Zähler, sich kurz-zeitig zu erhöhen, dann jedoch aufgrund der im Programm direktfolgenden Operation Rücksetzen sofort wieder rückzusetzen. (Diekurzzeitige Erhöhung wird in Bild 7-5 durch eine Impulslinie imImpulsdiagramm angezeigt). Die Signalzustandsabfrage ergibt ”0”.

� Ein Wechsel des VKE von ”0” auf ”1” am Freigabeeingang beigegebener Anweisung zum Vorwärts- und Rückwärtszählenveranlaßt den Zähler, sich kurzzeitig zu erhöhen, sich dann jedochaufgrund der im Programm direkt folgenden OperationRückwärtszählen sofort wieder zu vermindern. (Die kurzzeitigeErhöhung wird in Bild 7-5 durch eine Impulslinie im Impuls-diagramm angezeigt) . Ein Wechsel von ”1” auf ”0” amFreigabeeingang hat keinen Einfluß auf den Zähler.

AWL Erläuterung

U E 2.0FR Z 1U E 2.1ZV Z 1U E 2.2ZR Z 1U E 2.3L C# 3S Z 1U E 2.4R Z 1U Z 1= A 4.0L Z 1T MW10LC Z 1T MW12

Aktiviere Zähler Z 1.

Vorwärtszählen (Erhöhung um 1).

Rückwärtszählen (Verminderung um 1).

Setze Zähler Z 1.

Setze Zähler Z 1 zurück.

Signalzustandsabfrage an Zähler Z 1.Lade Zähler Z 1 (binär-codiert)

Lade Zähler Z 1 (BCD-codiert).

Zähloperationen

Page 106: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

7-10Anweisungsliste (AWL) für S7-300/400

C79000-G7000-C565-01

7.7 Operanden und Bereiche für Zähloperationen

Die Tabelle 7-1 zeigt die Adressierungsarten, Operanden und Adreßbereichefür Zähloperationen.

Tabelle 7-1 Operanden, Bereiche und Adressierungsarten für Zähloperationen

Adreßbereich je nach Adressierungsart

direkt speicherindirekt

0 bis 65535

[DBW][DIW][LW][MW]

0 bis 65 534

Zähloperationen

Page 107: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

8-1Anweisungsliste (AWL) für S7-300/400C79000-G7000-C565-01

Lade- und Transferoperationen

Im Kapitel finden Sie auf Seite

8.1 Übersicht 8-2

8.2 Laden und Transferieren 8-3

8.3 Lesen oder Transferieren des Statusworts 8-6

8.4 Laden der Zeit- und Zählwerte als Ganzzahlen 8-7

8.5 Laden der Zeit- und Zählwerte im BCD-Format 8-9

8.6 Laden und Transferieren zwischen Adreßregistern 8-11

8.7 Laden der Informationen aus einem Datenbaustein 8-12

Kapitelübersicht

8

Page 108: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

8-2Anweisungsliste (AWL) für S7-300/400

C79000-G7000-C565-01

8.1 Übersicht

Die Lade- (L) und Transferoperationen (T) ermöglichen es Ihnen, denInformationsaustausch zwischen Ein- oder Ausgabebaugruppen undSpeicherbereichen oder zwischen Speicherbereichen zu programmieren. DieCPU führt diese Operationen in jedem Zyklus als unbedingte Operationenaus, d.h. sie werden vom Verknüpfungsergebnis einer Operation nichtbeeinflußt.

Die Lade- und Transferoperationen ermöglichen den Informationsaustauschzwischen den folgenden Peripherie- oder Speicherbereichen:

� Ein- und Ausgabebaugruppen und folgende Speicherbereiche:

– Prozeßabbilder der Eingänge und Ausgänge

– Merker

– Zeiten und Zähler

– Datenbereiche

� Prozeßabbilder der Eingänge und Ausgänge und folgende Speicher-bereiche:

– Merker

– Zeiten und Zähler

– Datenbereiche

� Zeiten und Zähler und folgende Speicherbereiche:

– Prozeßabbilder der Eingänge und Ausgänge

– Merker

– Datenbereiche

Die Lade- und Transferoperationen tauschen die Informationen über denAkkumulator aus. Die Ladeoperation L schreibt (lädt) den Inhalt derangesprochenen Quelladresse in AKKU 1, wobei sie alle dort enthaltenenInformationen in AKKU 2 schiebt. Der alte Inhalt von AKKU 2 wirdüberschrieben. Die Transferoperation T kopiert den Inhalt von AKKU 1 undschreibt ihn in den Speicher des angesprochenen Ziels. Da dieTransferoperation T die Informationen, die im AKKU 1 enthalten sind, nurkopiert, ist diese auch noch für andere Operationen verfügbar.

Die Lade- und Transferoperationen können Informationen in Bytes (8 Bits),Wörtern (16 Bits) und Doppelwörtern (32 Bits) bearbeiten.

Der Akkumulator ist 32 Bit breit. Daten, die weniger als 32 Bits umfassen,werden im Akkumulator rechtsbündig angeordnet. Die übrigen Bits desAkkumulators werden mit Nullen aufgefüllt.

31 16 15 0LADENQuelle

TRANSFERIEREN Ziel

AKKU 1

Definition

Informations-austausch

Austauschvorgang

Lade- und Transferoperationen

Page 109: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

8-3Anweisungsliste (AWL) für S7-300/400C79000-G7000-C565-01

8.2 Laden und Transferieren

Sie können mit den Lade- oder Transferoperation Informationen von oder inAKKU 1 transferieren. Die Informationen können dabei die folgendenGrößen haben:� Byte (B, 8 Bits)� Wort (W, 16 Bits)� Doppelwort (D, 32 Bits)

Ein Byte wird in das niederwertige Byte des niederwertigen Wortes vonAKKU 1 geladen. Ein Wort wird in das niederwertige Wort von AKKU 1geladen. Nicht genutzte Bytes werden beim Laden im AKKU auf Null zu-rückgesetzt.

Die Ladeoperation kann auf Konstanten von 8, 16 und 32 Bits wie auchASCII-Zeichen zugreifen. Diese Adressierungsart nennt man unmittelbareAdressierung (siehe Kapitel 3.1 und Tabelle 8-1).

Tabelle 8-1 Operanden der Ladeoperationen: unmittelbare Adressierung

Operand Beispiel Erläuterung

±.. L +5 Lade eine Konstante (Ganzzahl, 16 Bit) in AKKU 1.

B#(..,..) L B#(1,10)

L B#(1,10,5,4)

Lade eine Konstante als 2 Bytes in AKKU 1.(In diesem Beispiel liegt 10 im niederwertigen Byte des niederwertigen Worts vonAKKU 1; die 1 liegt im höherwertigen Byte des niederwertigen Worts von AKKU1, siehe Bild 2-4.)Lade eine Konstante als 4 Bytes in AKKU 1.(In diesem Beispiel liegen 4 und 5 jeweils im niederwertigen und höherwertigenByte des niederwertigen Worts von AKKU 1; 10 und 1 liegen jeweils im nieder-und höherwertigen Byte des höherwertigen Worts von AKKU 1, siehe Bild 2-4.)

L# L L#+5 Lade eine 32-Bit-Ganzzahl-Konstante in AKKU 1.

16#.. L B#16#EFL W#16#FAFBL DW#16#1FFE_1ABC

Lade Hexadezimalkonstante (8 Bit) in AKKU 1.Lade Hexadezimalkonstante (16 Bit) in AKKU 1.Lade Hexadezimalkonstante (32 Bit) in AKKU 1.

2#.. L 2#1111_0000_1111_0000L 2#1111_0000_1111_0000 _1111_0000_1111_0000

Lade Binärkonstante (16 Bit) in AKKU 1.Lade Binärkonstante (32 Bit) in AKKU 1.

’..’ L ’AB’L ’ABCD’

Lade 2 Zeichen in AKKU 1.Lade 4 Zeichen in AKKU 1.

C#.. L C#1000 Lade Zählerkonstante (16 Bit) in AKKU 1.

S5TIME#.. L S5TIME#2S ��� ��������������� ��� ��� �� ���� ��

.. L 1.0E+5 Lade Gleitpunktzahl (32 Bit, IEEE-FP) in AKKU 1.

P#.. L P#E1.0L P##StartL P#ANNA

Lade einen Pointer (32 Bit) in AKKU 1.Lade einen Pointer (32 Bit) auf eine Lokalvariable (Start) in AKKU 1.Lade einen Pointer auf den angegebenen Parameter in AKKU 1. (Dieser Be-fehl lädt den relativen Adreßoffset des angegebenen Parameters. Um in mul-tiinstanzfähigen FBs den absoluten Offset im Instanz-Datenbaustein zu ermit-teln, muß zu diesem Wert noch der Inhalt des AR2-Registers addiert werden.

D# L D#1994-3-15 Lade ein Datum (16 Bit) in AKKU 1.

T# LT#0D_1H_1M_0S_0MS

Lade einen Zeitwert (32 Bit) in AKKU 1.

TOD# L TOD#1:10:3.3 Lade einen Uhrzeitwert (32 Bit) in AKKU 1.

Beschreibung

UnmittelbareAdressierung

Lade- und Transferoperationen

Page 110: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

8-4Anweisungsliste (AWL) für S7-300/400

C79000-G7000-C565-01

Die Lade- und Transferoperationen können durch direkte oder indirekteAdressierung auf ein Byte (B), Wort (W) oder Doppelwort (D) in den folgendenSpeicherbereichen zugreifen (siehe auch Kapitel 3.2, 3.3, 3.5):

� Prozeßabbild der Eingänge und Ausgänge (Operandenkennzeichen EB,EW, ED, AB, AW, AD).

� Externe Eingänge und Ausgänge (Operandenkennzeichen PEB, PEW,PED, PAB, PAW, PAD). Externe Eingänge können nur als Operanden vonLadeoperationen, externe Ausgänge nur als Operanden von Transfer-operationen fungieren.

� Bitspeicher (Operandenkennzeichen MB, MW, MD).

� Datenbaustein (Operandenkennzeichen DBB, DBW, DBD, DIB, DIW,DID).

� Lokaldaten (temporäre Lokaldaten, Operandenkennzeichen LB, LW, LD)

Tabelle 8-2 listet die Operanden der Lade- und Transferoperationen auf, diedie direkte und indirekte Adressierung verwenden.

Tabelle 8-2 Operanden der Lade- und Transferoperationen: direkte und indirekteAdressierung

Operan- Maximaler Adreßbereich je nach Adressierungsartpdenkenn-zeichen

direkt speicherindirekt registerindirekt,bereichsintern

EBEWED

ABAWAD

0 bis 65 5350 bis 65 5340 bis 65 532

0 bis 65 5350 bis 65 5340 bis 65 532

[DBD][DID][LD][MD]

0 bis 65 532

[AR 1, P#byte.bit]

[AR 2, P#byte.bit]0 bis 8 191

PEBPEWPED(nur L)

PABPAWPAD(nur T)

0 bis 65 5350 bis 65 5340 bis 65 532

0 bis 65 5350 bis 65 5340 bis 65 532

[DBD][DID][LD][MD]

0 bis 65 532

[AR 1, P#byte.bit]

[AR 2, P#byte.bit]0 bis 8 191

MBMWMD

0 bis 655350 bis 655340 bis 65532

[DBD][DID][LD][MD]

0 bis 65 532

[AR 1, P#byte.bit]

[AR 2, P#byte.bit]0 bis 8 191

DBBDBWDBD

DIBDIWDID

LBLWLD

0 bis 65 5350 bis 65 5340 bis 65 532

0 bis 65 5350 bis 65 5340 bis 65 532

0 bis 65 5350 bis 65 5340 bis 65 532

[DBD][DID][LD][MD]

0 bis 65 532

[AR 1, P#byte.bit]

[AR 2, P#byte.bit]0 bis 8 191

Direkte undindirekteAdressierung

Lade- und Transferoperationen

Page 111: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

8-5Anweisungsliste (AWL) für S7-300/400C79000-G7000-C565-01

Die Lade- und Transferoperationen können auf ein Byte (B), Wort (W) oderDoppelwort (D) durch die registerindirekte, bereichsübergreifendeAdressierung zugreifen (siehe Kapitel 3.6).

Tabelle 8-3 Operanden der Lade- und Transferoperationen: registerindirekte,bereichsübergreifende Adressierung

Operandenkennzeichen1) Adreßbereich

B (Byte), W (Wort), D (Doppelwort)[AR 1, P#byte.bit][AR 2, P#byte.bit]

0 bis 8 191

1) Dieser Speicherbereich ist in den Bits 24 bis 31 des Adreßregisters AR 1 oder AR 2codiert (siehe Kapitel 3.6).

Die Lade- und Transferoperationen können als Operanden ebenfalls ein Byte,Wort oder Doppelwort verwenden, das als Parameter transferiert wird.

Tabelle 8-4 Operanden der Lade- und Transferoperationen: Byte, Wort oderDoppelwort als Parameter transferiert

Operand Adreßparameterformat

SymbolischerName

Byte, Wort oder Doppelwort als Parameter transferiert

Indirekte,bereichsüber-greifendeAdressierung

Byte, Wort oderDoppelwort alsParameter

Lade- und Transferoperationen

Page 112: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

8-6Anweisungsliste (AWL) für S7-300/400

C79000-G7000-C565-01

8.3 Lesen oder Transferieren des Statusworts

Mit der Ladeoperation L können Sie die Bits 0 bis 8 des Statusworts inAKKU 1 laden (siehe Bild 8-1). Die Bits 9 bis 31 des AKKU 1 werden auf”0” zurückgesetzt. Die Anweisung können Sie dem Beispiel entnehmen, dassich an Bild 8-1 anschließt.

Hinweis

Bei den CPUs der Familie S7-300 werden die Bits des Statusworts /ER, STAund OR nicht durch die Anweisung L STW geladen. Lediglich Bit 1, 4, 5, 6,7 und 8 werden an die entsprechenden Bitpositionen des niederwertigenWorts von AKKU 1 geladen.

28215... ...29 2427 26 25 2023 22 21

BIE OSA1 A0 OV /EROR STA VKE

Bild 8-1 Aufbau des Statusworts

AWL Erläuterung

L STW Lade Bit 0 bis Bit 8 des Statusworts in das niederwertige Wortvon AKKU 1.

Mit der Transferoperation T können Sie den Inhalt des AKKU 1 in dasStatuswort transferieren (siehe Bild 8-1). Die Anweisung können Sie demfolgenden Beispiel entnehmen.

AWL Erläuterung

T STW Transferiere den Inhalt von AKKU 1 in das Statuswort.

Laden desStatusworts

Transferieren desStatusworts

Lade- und Transferoperationen

Page 113: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

8-7Anweisungsliste (AWL) für S7-300/400C79000-G7000-C565-01

8.4 Laden der Zeit- und Zählwerte als Ganzzahlen

Ein Zeitwert ist in einem Timerwort binär-codiert gespeichert. Mit derfolgenden Ladeoperation L können Sie den dualen Zeitwert aus einemTimerwort auslesen und im gleichen Format in das niederwertige Wort vonAKKU 1 laden:

L <Timerwort>

Diese Art des Ladens bezeichnet man als direktes Laden eines Zeitwerts.

Der Zeitwert im Timerwort wird bei der Bearbeitung des Anwenderpro-gramms in der CPU von seinem Startwert aus bis auf ”0” vermindert. WennSie die Ladeoperation L mit einem Timerwort als Operanden verwenden,erhalten Sie einen Wert zwischen der Startzeit des Timerworts und ”0”. DieZeit, die vom Zeitpunkt des Starts an abläuft, errechnet sich aus der Differenzzwischen der Startzeit und der aktuell abgelesenen Zeit.

AWL Erläuterung

L T1 Lade den binär-codierten Zeitwert der Zeit T1 direkt in AKKU1-L.

0 0 0 0 0 0

9 0

X X X X X X

AKKU1-L

1015

15 10 0

Timerwort

Zeit

Bild 8-2 Laden eines Zeitwerts in AKKU 1 mit der Operation L

Sie können den Wert, der im Akkumulator als Ergebnis der Ladeoperationenthalten ist, zur weiteren Verarbeitung verwenden. Sie können jedoch kei-nen Wert aus dem Akkumulator in das Timerwort transferieren.

Hinweis

Wenn Sie mit der Ladeoperation L ein Timerwort auslesen, erhalten Sie ei-nen Wert zwischen 0 und 999. Sie erhalten jedoch nicht die Zeitbasis, diemit dem Zeitwert geladen wurde.

Laden einesZeitwerts

Lade- und Transferoperationen

Page 114: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

8-8Anweisungsliste (AWL) für S7-300/400

C79000-G7000-C565-01

Ein Zählwert ist im Zählerwort binär-codiert gespeichert. Mit der folgendenLadeoperation L können Sie den binär-codierten Zählwert aus einemZählerwort auslesen und im gleichen Format in das niederwertige Wort vonAKKU 1 laden:

L <Zählerwort>

Diese Art des Ladens bezeichnet man als direktes Laden eines Zählwerts.

AWL Erläuterung

L Z1 Lade den binär-codierten Zählwert des Zählers Z1 direkt in AK-KU1-L.

0 0 0 0 0 0

9 0

X X X X X X

Zählwert

Zählerwort fürZ 1

AKKU1-L

1015

15 10 0

Bild 8-3 Laden eines Zählwerts in AKKU 1 mit der Operation L

Sie können den Wert, der im Akkumulator als Ergebnis der Ladeoperation Lenthalten ist, zur weiteren Verarbeitung verwenden. Sie können jedoch kei-nen Wert aus dem Akkumulator in das Zählerwort transferieren. Wenn Sieeinen Zähler mit einem bestimmten Zählwert starten wollen, benötigen Siedazu die entsprechende Operation zum Setzen des Zählers (siehe Kapi-tel 7.2).

Laden einesZählwerts

Lade- und Transferoperationen

Page 115: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

8-9Anweisungsliste (AWL) für S7-300/400C79000-G7000-C565-01

8.5 Laden der Zeit- und Zählwerte im BCD-Format

Ein Zeitwert ist in einem Timerwort binär-codiert gespeichert. Mit derfolgenden Ladeoperation können Sie den Zeitwert BCD-codiert aus einemTimerwort auslesen und in das niederwertige Wort von AKKU 1 laden:

LC <Timerwort>

Zusätzlich zum Zeitwert wird die Zeitbasis geladen. Der Wert, der als Ergeb-nis der Operation LC im niederwertigen Wort von AKKU 1 enthalten ist,besitzt genau das Format, das zum Starten einer Zeit benötigt wird. Diese Artdes Ladens bezeichnet man als direktes Laden eines Zeitwerts im BCD-For-mat.

Der Zeitwert im Timerwort wird von seinem Startwert aus bis auf ”0” ver-mindert. Wenn Sie die Operation LC mit einem Timerwort als Operandenverwenden, erhalten Sie einen Wert zwischen der Startzeit des Timerwortsund ”0”. Die Zeit, die vom Zeitpunkt des Starts an abläuft, errechnet sich ausder Differenz zwischen Startzeit und der aktuell abgelesenen Zeit.

AWL Erläuterung

LC T1 Lade Zeit und Zeitbasis von T1 im BCD-Format in AKKU1-L.

Timerwort

AKKU1-L

15 10 9 0Zeit

BCD-codiert

13 1214

15 013 1214 11

102 101 100Zeit-basis (Hunderter) (Zehner) (Einer)

11

0 0

Zeitbasis

Bild 8-4 Laden eines Zeitwerts in AKKU 1 mit der Operation LC

Der Wert, der im Akkumulator als Ergebnis der Operation LC enthalten ist,kann zur weiteren Verarbeitung verwendet werden, so z. B. zum Transferie-ren des Werts zu den Ausgängen, um ein Display anzusteuern. Sie könnenjedoch keinen Wert aus dem Akkumulator in das Timerwort transferieren.

Laden einesZeitwerts im BCD-Format

Lade- und Transferoperationen

Page 116: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

8-10Anweisungsliste (AWL) für S7-300/400

C79000-G7000-C565-01

Ein Zählwert ist im Zählerwort binär-codiert gespeichert. Mit der folgendenLadeoperation können Sie den Zählwert BCD-codiert aus einem Zählerwortauslesen und in das niederwertige Wort von AKKU 1 laden:

LC <Zählerwort>

Diese Art des Ladens bezeichnet man als direktes Laden eines Zählwerts imBCD-Format. Der Wert, der als Ergebnis der Operation LC im nieder-wertigen Wort von AKKU 1 enthalten ist, hat genau das Format, das für dasSetzen des Zählers benötigt wird.

Ein Zählwert ist im Zählerwort binär-codiert gespeichert. Sie können denZählwert BCD-codiert in das niederwertige Wort von AKKU 1 laden (BCD-Format, siehe Bild 8-5). Mit der Operation LC können Sie einen Zähl-wert im BCD-Format auslesen.

AWL Erläuterung

LC Z1 Lade den Zählwert von Zähler Z1 im BCD-Format direkt inAKKU1-L.

Zählwert

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

Zählwert im BCD-Format

15

102 101 100

14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

BCD-codiert

0 0 0 0

(Hunderter) (Zehner) (Einer)

Zählerwort für Z1

AKKU1-L

X X X X X X

Bild 8-5 Laden eines Zählwerts in AKKU 1 mit der Operation LC

Der Wert, der als Ergebnis der Operation LC im Akkumulator enthalten ist,kann für eine weitere Verarbeitung verwendet werden, so z. B. zumTransferieren des Werts zu den Ausgängen, um ein Display anzusteuern. Siekönnen jedoch keinen Wert aus dem Akkumulator in das Zählerworttransferieren.

Laden einesZählwerts im BCD-Format

Lade- und Transferoperationen

Page 117: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

8-11Anweisungsliste (AWL) für S7-300/400C79000-G7000-C565-01

8.6 Laden und Transferieren zwischen Adreßregistern

Mit den folgenden Operationen ermöglicht Ihr Programm der CPU einenInformationsaustausch zwischen Adreßregistern oder den Austausch zweierRegisterinhalte:

Operation Bedeutung

LAR1 Lädt den Inhalt des adressierten Bereichs in das Adreßregister 1. Istkein Operand angegeben, dann lädt LAR1 den Inhalt von AKKU 1 indas Adreßregister 1. LAR1 kann ebenso AR 2 als Operanden verwen-den, d. h., LAR1 kann den Inhalt von AR 2 in AR 1 laden.

LAR2 Lädt den Inhalt des adressierten Bereiches in das Adreßregister 2. Istkein Operand angegeben, dann lädt LAR2 den Inhalt von AKKU 1 indas Adreßregister 2.

TAR1 Transferiert den Inhalt des Adreßregisters 1 an das Ziel, auf das dieOperation zugreift. Ist kein Operand angegeben, dann transferiertTAR1 den Inhalt des Adreßregisters 1 in AKKU 1. TAR1 kann zudemAR 2 als Operanden verwenden, d. h., TAR1 kann den Inhalt vonAR 1 in AR 2 transferieren.

TAR2 Transferiert den Inhalt des Adreßregisters 2 an das Ziel, auf das dieOperation zugreift. Ist kein Operand angegeben, dann transferiertTAR2 den Inhalt des Adreßregisters 2 in AKKU 1.

TAR Tauscht den Inhalt von AR 1 mit dem von AR 2.

Die Operationen LAR1 und LAR2 können auf 32-Bit-Konstanten zugreifen.Diese Adressierungsart nennt man unmittelbare Adressierung (siehe Kapitel3.1). Die unmittelbare Adresse wird verwendet, um einen 32-Bit-Pointerunmittelbar in das Adreßregister zu laden (siehe Tabelle 8-5).

LAR1 P#{Bereich}, Byte{.Bit}

mit {Bereich} = {E, A, M, D, DX, L}Byte = 0 bis 65 535{.Bit} = 0 bis 7

Tabelle 8-5 LAR1 und LAR2: unmittelbare Adressierung

Beispiel Beschreibung

LAR1 P#E 0.0 Lädt den bereichsübergreifenden PointerP#E 0.0 in Adreßregister 1.

LAR2 P#0.0 Lädt den bereichsinternen Pointer mit derAdresse 0 in Adreßregister 2.

LAR1 P##Start Lädt den bereichsübergreifenden Pointerauf die Lokalvariable (Start) inAdreßregister 1.

Beschreibung

UnmittelbareAdressierung

Lade- und Transferoperationen

Page 118: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

8-12Anweisungsliste (AWL) für S7-300/400

C79000-G7000-C565-01

Mit den Operationen LAR1, LAR2, TAR1 und TAR2 können Sie direktadressieren.

Tabelle 8-6 LAR1, LAR2, TAR1, TAR2: direkte Adressierung

Operation Direkt Operandenkennzeichen undBereich

LAR1 {LEER} 1) oder AR 2 DBDDID

bi 65 5LAR2 {LEER} 1) LDMD

0 bis 65 532

TAR1 {LEER} 2) oder AR 2 DBDDID

bi 65 5TAR2 {LEER} 2) LDMD

0 bis 65 532

1) {LEER} Ist kein Operand angegeben, so lädt LAR1/LAR2 den Inhalt von AKKU 1 indas Adreßregister.

2) {LEER} Ist kein Operand angegeben, so transferiert TAR1/TAR2 den Inhalt desAdreßregisters in AKKU 1.

8.7 Laden der Informationen aus einem Datenbaustein

Sie können mit einer Ladeoperation die Länge oder Nummer eines Daten-bausteins in AKKU 1 laden. Tabelle 8-7 faßt die Operanden für diese Art desLadens zusammen. Nähere Informationen zum Laden der Länge oder derNummer eines Datenbausteins in AKKU 1 finden Sie in Kapitel 15.3.

Tabelle 8-7 Laden der Länge oder Nummer eines Datenbausteins in AKKU 1

Operand Erläuterung

DBLG Lädt die Länge (in Bytes) eines globalen Datenbausteins in AKKU 1.

DILG Lädt die Länge (in Bytes) eines Instanz-Datenbausteins in AKKU 1.

DBNO Lädt die Nummer eines globalen Datenbausteins in AKKU 1.

DINO Lädt die Nummer eines Instanz-Datenbausteins in AKKU 1.

DirekteAdressierung

Lade- und Transferoperationen

Page 119: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

9-1Anweisungsliste (AWL) für S7-300/400C79000-G7000-C565-01

Festpunktarithmetik

Im Kapitel finden Sie auf Seite

9.1 Grundrechenoperationen 9-2

9.2 Addieren einer Ganzzahl zu AKKU 1 9-6

Kapitelübersicht

9

Page 120: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

9-2Anweisungsliste (AWL) für S7-300/400

C79000-G7000-C565-01

9.1 Grundrechenoperationen

Tabelle 9-1 listet die AWL-Operationen auf, mit denen Sie Ganzzahlen(16 Bit und 32 Bit) addieren, subtrahieren, multiplizieren oder dividierenkönnen.

Tabelle 9-1 Grundrechenoperationen für Ganzzahlen (16 Bit und 32 Bit)

Operation Größe inBit

Funktion

+I 16 Addiert den Inhalt des niederwertigen Worts der AKKUs 1und 2 und speichert das Ergebnis im niederwertigen Wortvon AKKU 1.

-I 16 Subtrahiert den Inhalt des niederwertigen Worts vonAKKU 1 vom Inhalt des niederwertigen Worts von AKKU2 und speichert das Ergebnis im niederwertigen Wort vonAKKU 1.

�I 16 Multipliziert den Inhalt der niederwertigen Wörter derAKKUs 1 und 2 und speichert das Ergebnis (32 Bit) inAKKU 1.

/I 16 Dividiert den Inhalt des niederwertigen Worts von AKKU 2durch den Inhalt des niederwertigen Worts von AKKU 1.Das Ergebnis wird im niederwertigen Wort von AKKU 1gespeichert. Der Divisionsrest wird im höherwertigen Wortvon AKKU 1 gespeichert.

+D 32 Addiert den Inhalt der AKKUs 1 und 2 und speichert dasErgebnis in AKKU 1.

-D 32 Subtrahiert den Inhalt von AKKU 1 vom Inhalt von AKKU 2 und speichert das Ergebnis in AKKU 1.

�D 32 Multipliziert AKKU 1 mit dem Inhalt von AKKU 2 undspeichert das Ergebnis in AKKU 1.

/D 32 Dividiert den Inhalt von AKKU 2 durch den Inhalt vonAKKU 1 und speichert den Quotienten in AKKU 1.

MOD 32 Dividiert den Inhalt von AKKU 2 durch den Inhalt vonAKKU 1 und speichert den Divisionsrest als Ergebnis inAKKU 1.

Die Funktionsbeschreibungen in Tabelle 9-1 zeigen, daß die arithmetischenOperationen den Inhalt der AKKUs 1 und 2 miteinander verknüpfen. DasErgebnis wird in AKKU 1 abgelegt. Der Inhalt von AKKU 2 bleibt unverän-dert.

Bei CPUs mit 4 AKKUs werden anschließend die Inhalte von AKKU 3 inAKKU 2 und von AKKU 4 in AKKU 3 kopiert. Der alte Inhalt von AKKU 4bleibt unverändert.

Beschreibung

BeziehungzwischenarithmetischenOperationen undAkkumulatoren

Festpunktarithmetik

Page 121: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

9-3Anweisungsliste (AWL) für S7-300/400C79000-G7000-C565-01

Die Operation Addiere AKKU 1 und 2 als Ganzzahl (16 Bit) (+I) weist dieCPU an, den Inhalt des niederwertigen Worts von AKKU 1 und desniederwertigen Worts von AKKU 2 zu addieren und das Ergebnis imniederwertigen Wort von AKKU 1 zu speichern. Diese Operationüberschreibt den alten Inhalt des niederwertigen Worts von AKKU 1. Deralte Inhalt von AKKU 2 und das höherwertige Wort von AKKU 1 bleibenunverändert (siehe Bild 9-1). Ein Programmbeispiel schließt sich an Bild 9-2an.

AKKU 2

AKKU 1

AKKU 2

AKKU 1

31 016 15

31 016 15

IV III

II I

IV III

+ I

II III + I

Akkumulator-Inhalt vorarithmetischer Operation

Akkumulator-Inhalt nacharithmetischer Operation

Bild 9-1 Addieren zweier Ganzzahlen

Die Operation Addiere AKKU 1 und 2 als Ganzzahl (16 Bit) (+I) weist dieCPU an, den Inhalt des niederwertigen Worts von AKKU 1 und des nieder-wertigen Worts von AKKU 2 zu addieren und das Ergebnis im nieder-wertigen Wort von AKKU 1 zu speichern. Diese Operation überschreibt denalten Inhalt des niederwertigen Worts von AKKU 1. Anschließend werdendie Inhalte von AKKU 3 in AKKU 2 und von AKKU 4 in AKKU 3 kopiert.AKKU 4 und das höherwertige Wort von AKKU 1 bleiben unverändert (sieheBild 9-2).

AKKU 2

AKKU 1

AKKU 2

AKKU 1

31 016 15

31 016 15

IV III

II I

VI V

+ I

II III + I

Akkumulator-Inhalt vorarithmetischer Operation

Akkumulator-Inhalt nacharithmetischer Operation

AKKU 3 AKKU 331 016 15

VI V VIII VII

AKKU 4 AKKU 431 016 15

VIII VII VIII VII

Bild 9-2 Addieren zweier Ganzzahlen bei CPUs mit 4 AKKUs

Verknüpfen zweierGanzzahlen(16 Bit) bei CPUsmit 2 AKKUs

Verknüpfen zweierGanzzahlen(16 Bit) bei CPUsmit 4 AKKUs

Festpunktarithmetik

Page 122: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

9-4Anweisungsliste (AWL) für S7-300/400

C79000-G7000-C565-01

AWL Erläuterung

L MW10L DBW12

+I

T DBW14

Lade den Wert aus Merkerwort MW10 in AKKU 1.Lade den Wert aus Datenwort DBW12 in AKKU 1.Der alte Inhalt von AKKU 1 wird in AKKU 2 geschoben.Die CPU wertet den Inhalt der niederwertigen Wörter der AKKUs 1und 2 als Ganzzahlen (16 Bit) aus, addiert sie und speichertdas Ergebnis im niederwertigen Wort von AKKU 1. Transferiere den Inhalt des niederwertigen Worts von AKKU 1 (das Ergebnis) in das Datenwort DBW14.

Die arithmetischen Operationen beeinflussen die folgenden Bits des Status-worts:

� A1 und A0

� OV

� OS

Ein Strich (-) bei einem der in der Tabelle aufgeführten Bits bedeutet, daßdieses Bit nicht vom Ergebnis der arithmetischen Operation beeinflußt wird.Mit den Operationen aus Tabelle 9-5 können Sie diese Bits des Statuswortsauswerten.

Tabelle 9-2 Signalzustand der Bits im Statuswort: Rechenergebnis innerhalb desgültigen Bereichs

Gültiger Bereich für das Ergebnis bei Bits des Statuswortsg gGanzzahlen (16 und 32 Bit) A1 A0 OV OS

0 (Null) 0 0 0 -

16 Bit: -32 768 � Ergebnis � 0 (negative Zahl)32 Bit: -2 147 483 648 � Ergebnis � 0 (negativeZahl)

0 1 0 -

16 Bit: 32 767 � Ergebnis �0 (positive Zahl)32 Bit: 2 147 483 647 � Ergebnis �0 (positiveZahl)

1 0 0 -

Tabelle 9-3 Signalzustand der Bits im Statuswort: Rechenergebnis außerhalb desgültigen Bereichs

Ungültiger Bereich für das Ergebnis bei Bits des Statuswortsg g gGanzzahlen (16 und 32 Bit) A1 A0 OV OS

16 Bit: Ergebnis � 32 767 (positive Zahl)32 Bit: Ergebnis � 2 147 483 647 (positive Zahl)

1 0 1 1

16 Bit: Ergebnis � -32 768 (negative Zahl)32 Bit: Ergebnis � -2 147 483 648 (negative Zahl)

0 1 1 1

Auswerten der Bitsim Statuswort

Ergebnis gültig

Ergebnisungültig

Festpunktarithmetik

Page 123: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

9-5Anweisungsliste (AWL) für S7-300/400C79000-G7000-C565-01

Tabelle 9-4 Signalzustand der Bits im Statuswort: arithmetische Operationen mitGanzzahlen (32 Bit) +D, /D und MOD

OperationBits des Statusworts

Operat onA1 A0 OV OS

+D: Ergebnis = -4 294 967 296 0 0 1 1

/D oder MOD: Division durch 0 1 1 1 1

Tabelle 9-5 Operationen, die die Bits A1, A0, OV und OS auswerten

Operation Verweis auf Bit imStatuswort oderSprungmarke

Bits im Statuswort,die ausgewertet wer-den (mit X markiert)

Kapitel indiesem

Handbuch

U,O,X,UN,ON,XN >0, <0, <>0, >=0, <=0,==0, UO, OV, OS

A1, A0, OV, OS 5.3

SPO <Sprungmarke> OV 16.4

SPS <Sprungmarke> OS 16.4

SPU <Sprungmarke> A1 und A0 16.5

SPZ <Sprungmarke> A1 und A0 16.5

SPN <Sprungmarke> A1 und A0 16.5

SPP <Sprungmarke> A1 und A0 16.5

SPM <Sprungmarke> A1 und A0 16.5

SPMZ <Sprungmarke> A1 und A0 16.5

SPPZ <Sprungmarke> A1 und A0 16.5

Festpunktarithmetik

Page 124: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

9-6Anweisungsliste (AWL) für S7-300/400

C79000-G7000-C565-01

9.2 Addieren einer Ganzzahl zu AKKU 1

Mit der Operation Addiere Ganzzahl-Konstante können Sie eineGanzzahl-Konstante zum Inhalt des niederwertigen Worts von AKKU 1addieren. Tabelle 9-6 listet die Möglichkeiten auf. Diese Operationenbeeinflussen die Bits im Statuswort nicht.

Tabelle 9-6 Addieren einer Ganzzahl zu AKKU 1

Operation Operand Funktion

+ + Ganzzahl (16 Bit) Addiert eine 16-Bit-Ganzzahl-Konstante zum Inhalt desniederwertigen Worts von AKKU 1. Das Ergebnis wird inAKKU 1 gespeichert. Der alte Inhalt des niederwertigen Wortsvon AKKU 1 wird überschrieben. AKKU 2 und dashöherwertige Wort von AKKU 1 bleiben unverändert.

+ + L# Ganzzahl (32 Bit) Addiert eine 32-Bit-Ganzzahl-Konstante zum Inhalt vonAKKU 1. Das Ergebnis wird in AKKU 1 gespeichert. Der alteInhalt dieses Akkumulators wird überschrieben. AKKU 2bleibt unverändert.

Nachfolgend sind zwei Programme abgebildet, die die Operation AddiereGanzzahl-Konstante enthalten.

AWL Erläuterung

L MW10L MW20+I+ -5T MW14

Lade den Wert aus MW10 in AKKU 1.Lade den Wert aus MW20 in AKKU 1.Addiere die 16-Bit-Werte in AKKU 1 und 2.Addiere minus 5 zum Ergebnis der Operation +I.Transferiere das neue Ergebnis in MW14.

AWL Erläuterung

L MD10L MD16+D+ L#-1T MD24

Lade den Wert aus MD10 in AKKU 1.Lade den Wert aus MD16 in AKKU 1.Addiere die 32-Bit-Werte in AKKU 1 und 2.Addiere minus 1 zum Ergebnis der Operation +D.Transferiere das neue Ergebnis in MD24.

Addieren vonGanzzahl-Konstanten (8 Bit,16 Bit und 32 Bit)

Beispiele

Festpunktarithmetik

Page 125: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

10-1Anweisungsliste (AWL) für S7-300/400C79000-G7000-C565-01

Gleitpunktarithmetik

Im Kapitel finden Sie auf Seite

10.1 Grundrechenoperationen 10-2

10.2 Bilden des Betrags einer Gleitpunktzahl 10-6

10.3 Erweiterte Rechenoperationen 10-7

10.4 Bilden des Quadrats bzw. der Quadratwurzel einer Gleit-punktzahl

10-9

10.5 Bilden des natürlichen Logarithmus einer Gleitpunktzahl 10-11

10.6 Bilden des Exponentialwerts einer Gleitpunktzahl 10-12

10.7 Bilden von trigonometrischen Funktionen von Winkeln alsGleitpunktzahlen

10-13

Kapitelübersicht

10

Page 126: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

10-2Anweisungsliste (AWL) für S7-300/400

C79000-G7000-C565-01

10.1 Grundrechenoperationen

Tabelle 10-1 listet die AWL-Operationen auf, mit denen Sie Gleitpunktzahlen(32 Bit, IEEE-FP) addieren, subtrahieren, multiplizieren und dividierenkönnen. Da die Gleitpunktzahlen (32 Bit, IEEE-FP) zum Datentyp REAL(Gleitpunktzahl) gehören, lautet die mnemotechnische Abkürzung für dieseOperationen ”R”

Tabelle 10-1 Arithmetische Operationen: Grundrechenoperationen für Gleitpunkt-zahlen (32-Bit, IEEE-FP)

Operation Funktion

+R Addiert die Gleitpunktzahlen (32 Bit, IEEE-FP) in den AKKUs 1 und 2und speichert das 32-Bit-Ergebnis in AKKU 1.

-R Subtrahiert die Gleitpunktzahl (32 Bit, IEEE-FP) in AKKU 1 von derGleitpunktzahl (32 Bit, IEEE-FP) in AKKU 2 und speichert das 32-Bit-Ergebnis in AKKU 1.

�R Multipliziert die Gleitpunktzahl (32 Bit, IEEE-FP) in AKKU 1 mit derGleitpunktzahl (32 Bit, IEEE-FP) in AKKU 2 und speichert das 32-Bit-Ergebnis in AKKU 1.

/R Dividiert die Gleitpunktzahl (32 Bit, IEEE-FP) in AKKU 2 durch dieGleitpunktzahl (32 Bit, IEEE-FP) in AKKU 1. Das 32-Bit-Ergebniswird in AKKU 1 gespeichert.

Die Funktionsbeschreibungen in Tabelle 10-1 zeigen, daß die arithmetischenOperationen den Inhalt der AKKUs 1 und 2 miteinander verknüpfen. DasErgebnis wird in AKKU 1 abgelegt. Der Inhalt von AKKU 2 bleibtunverändert.

Bei CPUs mit 4 AKKUs werden anschließend die Inhalte von AKKU 3 inAKKU 2 und von AKKU 4 in AKKU 3 kopiert. Der alte Inhalt von AKKU 4bleibt unverändert.

Beschreibung

BeziehungzwischenarithmetischenOperationen undAkkumulatoren

Gleitpunktarithmetik

Page 127: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

10-3Anweisungsliste (AWL) für S7-300/400C79000-G7000-C565-01

Die Operation Addiere AKKU 1 und AKKU 2 als Gleitpunktzahl (32 Bit,IEEE-FP) (+R) weist die CPU an, den Inhalt der AKKUs 1 und 2 zu addierenund das Ergebnis in AKKU 1 zu speichern. Diese Operation überschreibt denalten Inhalt von AKKU 1. Der alte Inhalt von AKKU 2 bleibt unverändert(siehe Bild 10-1). Ein Programmbeispiel schließt sich an Bild 10-2 an.

AKKU 2

AKKU 1

AKKU 2

AKKU 1

31 016 15

31 016 15

II

I

II

+ R

II + I

Akkumulator-Inhalt vorarithmetischer Operation

Akkumulator-Inhalt nacharithmetischer Operation

Bild 10-1 Addieren zweier Gleitpunktzahlen (IEEE-FP)

Das gleiche Schema gilt für die restlichen Operationen der Gleitpunkt-arithmetik.

Tabelle 10-2 Ergebnis der Operationen für denormalisierte Zahlen beiCPUs mit 2 AKKUs

Operation Eingangswerte ErgebnisAKKU 1 AKKU 2 AKKU 1 AKKU 2

+R a b a b

–R a b –a b

*R a b 0 b

+R a b FFFF b

Darstellung derErgebnisse beimVerknüpfen zweierGleitpunktzahlenbei CPUs mit2 AKKUs

Gleitpunktarithmetik

Page 128: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

10-4Anweisungsliste (AWL) für S7-300/400

C79000-G7000-C565-01

Die Operation Addiere AKKU 1 und AKKU 2 als Gleitpunktzahl (32 Bit,IEEE-FP) (+R) weist die CPU an, den Inhalt der AKKUs 1 und 2 zu addierenund das Ergebnis in AKKU 1 zu speichern. Diese Operation überschreibt denalten Inhalt von AKKU 1. Anschließend werden die Inhalte von AKKU 3 inAKKU 2 und von AKKU 4 in AKKU 3 kopiert (siehe Bild 10-2).

AKKU 4

AKKU 3

AKKU 4

AKKU 3

31 016 15

31 016 15

IV

III

IV

IV

Akkumulator-Inhalt vorarithmetischer Operation

Akkumulator-Inhalt nacharithmetischer Operation

AKKU 2

AKKU 1

AKKU 2

AKKU 1

31 016 15

31 016 15

II

I

II

+ R

II + I

Bild 10-2 Addieren zweier Gleitpunktzahlen (IEEE-FP) bei CPUs mit 4 AKKUs

Das gleiche Schema gilt für die restlichen Operationen der Gleitpunkt-arithmetik.

AWL Erläuterung

L MD100L DBD4

+R

T DBD16

Lade den Wert aus Merkerdoppelwort MD100 in AKKU 1.Lade den Wert aus Datendoppelwort DBD4 in AKKU 1. Der alte In-halt von AKKU 1 wird in AKKU 2 geschoben. (Die Werte in diesenDoppelwörtern müssen Gleitpunktformat haben.) Die CPU wertet den Inhalt der AKKUs 1 und 2 als Gleitpunktzah-len (32 Bit, IEEE-FP) aus, addiert sie und speichert das Ergeb-nis in AKKU 1.Transferiere den Inhalt von AKKU 1 (das Ergebnis) in das Daten-doppelwort DBD16 (<DBD16> = <MD100> + <DBD4>).

Die arithmetischen Operationen beeinflussen folgende Bits des Statusworts:

� A1 und A0

� OV

� OS

Mit den Operationen aus Tabelle 10-5 können Sie diese Bits des Statuswortsauswerten. Tabelle 10-3 zeigt den Signalzustand der Bits des Statusworts fürdie Ergebnisse der Gleitpunktarithmetik innerhalb des gültigen Bereichs. EinStrich (-) bei einem der in der Tabelle aufgeführten Bits bedeutet, daß dasbetreffende Bit nicht vom Ergebnis der arithmetischen Operation beeinflußtwird.

Darstellung der Er-gebnisse beim Ver-knüpfen zweierGleitpunktzahlenbei CPUs mit4 AKKUs

Beispiel

Auswerten der Bitsim Statuswort

Gleitpunktarithmetik

Page 129: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

10-5Anweisungsliste (AWL) für S7-300/400C79000-G7000-C565-01

Tabelle 10-3 Signalzustand der Bits im Statuswort: Rechenergebnis mit Gleitpunkt-zahlen innerhalb des gültigen Bereichs

Gültiger Bereich für Ergebnis mit Gleitpunkt- Bits des Statuswortsg g p zahlen (32 Bit) A1 A0 OV OS

+0, -0 (Null) 0 0 0 -

-3,402823E+38 < Ergebnis < -1,175494E-38 (negative Zahl)

0 1 0 -

+1,175494E-38 < Ergebnis < 3,402823E+38 (positive Zahl)

1 0 0 -

Tabelle 10-4 Signalzustand der Bits im Statuswort: Rechenergebnis mit Gleitpunkt-zahlen außerhalb des gültigen Bereichs

Ungültiger Bereich für Ergebnis mit Gleit- Bits des Statuswortsg g gpunktzahlen (32 Bit) A1 A0 OV OS

-1,175494E-38 < Ergebnis < - 1,401298E-45 (negative Zahl) Unterschreitung

0 0 1 1

+1,401298E-45 < Ergebnis < +1,175494E-38 (positive Zahl) Unterschreitung

0 0 1 1

Ergebnis < -3,402823E+38 (negative Zahl) Überlauf

0 1 1 1

Ergebnis > 3,402823E+38 (positive Zahl) Überlauf

1 0 1 1

Tabelle 10-5 Operationen, die die Bits A1, A0, OV und OS des Statuswortsauswerten

Operation Verweis auf Bit desStatusworts oder

Sprungmarke

Bits im Statuswort,die ausgewertet wer-den (markiert durch

X)

Kapitel indiesem

Handbuch

U,O,X,UN,ON,XN >0, <0, <>0, >=0, <=0,==0, UO, OV, OS

A1, A0, OV, OS 5.3

SPO <Sprungmarke> OV 16.4

SPS <Sprungmarke> OS 16.4

SPU <Sprungmarke> A1 und A0 16.4

SPZ <Sprungmarke> A1 und A0 16.5

SPN <Sprungmarke> A1 und A0 16.5

SPP <Sprungmarke> A1 und A0 16.5

SPM <Sprungmarke> A1 und A0 16.5

SPMZ <Sprungmarke> A1 und A0 16.5

SPPZ <Sprungmarke> A1 und A0 16.5

Gleitpunktarithmetik

Page 130: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

10-6Anweisungsliste (AWL) für S7-300/400

C79000-G7000-C565-01

10.2 Bilden des Betrags einer Gleitpunktzahl

Mit der Operation ABS (Bilde Absolutwert einer Gleitpunktzahl (32 Bit,IEEE-FP)) können Sie den Betrag einer Gleitpunktzahl (32 Bit, IEEE-FP) inAKKU 1 bilden. Der Betrag ist eine nicht-negative Zahl, deren Zahlenwertgleich einer gegebenen Gleitpunktzahl ist. Bei einem Betrag ist dasVorzeichen (+ oder -) irrelevant; so ist beispielsweise 5 der Betrag von +5oder -5.

Das folgende Programm gibt ein Beispiel für die Operation ABS:

AWL Erläuterung

L DBD0L +12.3E+00

/R

T MD20

NEGR

T MD24

ABS

T MD28

Lade den Wert aus Datendoppelwort DBD0 in AKKU 1.Lade den Wert +12.3E+00 in AKKU 1. Der alte Inhalt von AKKU 1 wird in AKKU 2 geschoben.Die CPU dividiert den Inhalt von AKKU 2 durch den Inhalt vonAKKU 1 und speichert das Ergebnis in AKKU 1.Transferiere den Inhalt von AKKU 1 (das Ergebnis) in das Mer-kerdoppelwort MD20 (<MD20> = <DBD0> / 12.3).Negiere die IEEE-Gleitpunktzahl in AKKU 1 (siehe Kapitel 12.4).

Transferiere das Ergebnis von AKKU 1 in das MerkerdoppelwortMD24 (<MD24> = [-1] * <MD20>).Die CPU bildet den Betrag der IEEE-Gleitpunktzahl in AKKU 1.

Transferiere den Betrag von AKKU 1 in das Merkerdoppelwort MD28(<MD28> = ABS[<MD20>]).

Beschreibung

Beispiel

Gleitpunktarithmetik

Page 131: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

10-7Anweisungsliste (AWL) für S7-300/400C79000-G7000-C565-01

10.3 Erweiterte Rechenoperationen

Tabelle 10-6 listet die AWL-Operationen auf, mit denen Sie erweiterteRechenoperationen auf Gleitpunktzahlen (32 Bit, IEEE-FP) anwendenkönnen.

Tabelle 10-6 Erweiterte Rechenoperationen für Gleitpunktzahlen(32 Bit, IEEE-FP)

ÁÁÁÁÁÁÁÁÁÁ

Operation ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ

Funktion

ÁÁÁÁÁÁÁÁÁÁ

SQRT ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ

Berechnet die Quadratwurzel der Gleitpunktzahl (32 Bit, IEEE-FP) inAKKU 1 und speichert das 32 Bit-Ergebnis in AKKU 1.ÁÁÁÁÁ

ÁÁÁÁÁÁÁÁÁÁ

SQRÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ

Berechnet das Quadrat der Gleitpunktzahl (32 Bit, IEEE-FP) inAKKU 1 und speichert das 32 Bit-Ergebnis in AKKU 1.

ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ

LN ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ

Berechnet den natürlichen Logarithmus der Gleitpunktzahl (32 Bit,IEEE-FP) in AKKU 1 und speichert das 32 Bit-Ergebnis in AKKU 1.

ÁÁÁÁÁÁÁÁÁÁ

EXP ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ

Berechnet den Exponentialwert der Gleitpunktzahl (32 Bit, IEEE-FP)zur Basis e und speichert das 32 Bit-Ergebnis in AKKU 1.ÁÁÁÁÁ

ÁÁÁÁÁÁÁÁÁÁ

SINÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ

Berechnet den Sinus der Gleitpunktzahl (32 Bit, IEEE-FP) in AKKU 1und speichert das 32 Bit-Ergebnis in AKKU 1.

ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ

COS ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ

Berechnet den Cosinus der Gleitpunktzahl (32 Bit, IEEE-FP) inAKKU 1 und speichert das 32 Bit-Ergebnis in AKKU 1.

ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ

TAN ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ

Berechnet den Tangens der Gleitpunktzahl (32 Bit, IEEE-FP) inAKKU 1 und speichert das 32 Bit-Ergebnis in AKKU 1.

ÁÁÁÁÁÁÁÁÁÁ

ASIN ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ

Berechnet den Arcussinus der Gleitpunktzahl (32 Bit, IEEE-FP) inAKKU 1 und speichert das 32 Bit-Ergebnis in AKKU 1.

ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ

ACOSÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ

Berechnet den Arcuscosinus der Gleitpunktzahl (32 Bit, IEEE-FP) inAKKU 1 und speichert das 32 Bit-Ergebnis in AKKU 1.

ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ

ATAN ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ

Berechnet den Arcustangens der Gleitpunktzahl (32 Bit, IEEE-FP) inAKKU 1 und speichert das 32 Bit-Ergebnis in AKKU 1.

Die erweiterten Rechenoperationen arbeiten nur mit dem AKKU 1. Der Wert,auf den die Operation angewendet wird, wird in AKKU 1 erwartet. DasErgebnis wird in AKKU 1 gespeichert; der bisherige Inhalt von AKKU 1wird überschrieben. Die Inhalte von AKKU 2, AKKU 3 und AKKU 4 bleibenunverändert.

Beschreibung

BeziehungzwischenerweitertenRechenoperationenund Akkumulatoren

Gleitpunktarithmetik

Page 132: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

10-8Anweisungsliste (AWL) für S7-300/400

C79000-G7000-C565-01

Die CPU führt die in Tabelle 10-1 aufgeführten mathematischen Operationenaus, ohne das Verknüpfungsergebnis zu berücksichtigen oder zu beeinflussen.Die erweiterten Rechenoperationen beeinflussen die folgenden Bits:

� ⋅A1 und A0

� OV

� OS

Tabelle 10-7 listet die AWL-Operationen auf, mit denen Sie diese Bits aus-werten können (siehe Kapitel 5.3 und ”Auswerten der Statusbits” in diesemKapitel).

Tabelle 10-7 Erweiterte Rechenoperationen für Gleitpunktzahlen(32 Bit, IEEE-FP)

ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ

Operation ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ

Verweis auf Bits imStatuswort oderSprungmarke

ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ

Bits des Status-worts, die ausge-wertet werden

ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ

Kapitel indiesem

HandbuchÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ

U, O, X, UN, ON, XNÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ

>0, <0, <>0, >=0, <=0,==0, UO, OV, OS

ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ

A1, A0, OV, OSÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ

5.3

ÁÁÁÁÁÁÁÁÁÁÁÁÁÁ

SPO ÁÁÁÁÁÁÁÁÁÁÁÁÁÁ

<Sprungmarke> ÁÁÁÁÁÁÁÁÁÁÁÁ

OV ÁÁÁÁÁÁÁÁÁÁ

16.4

ÁÁÁÁÁÁÁÁÁÁÁÁÁÁ

SPS ÁÁÁÁÁÁÁÁÁÁÁÁÁÁ

<Sprungmarke> ÁÁÁÁÁÁÁÁÁÁÁÁ

OS ÁÁÁÁÁÁÁÁÁÁ

16.4

ÁÁÁÁÁÁÁÁÁÁÁÁÁÁ

SPU ÁÁÁÁÁÁÁÁÁÁÁÁÁÁ

<Sprungmarke> ÁÁÁÁÁÁÁÁÁÁÁÁ

A1 und A0 ÁÁÁÁÁÁÁÁÁÁ

16.4

ÁÁÁÁÁÁÁÁÁÁÁÁÁÁ

SPZ ÁÁÁÁÁÁÁÁÁÁÁÁÁÁ

<Sprungmarke> ÁÁÁÁÁÁÁÁÁÁÁÁ

A1 und A0 ÁÁÁÁÁÁÁÁÁÁ

16.5

ÁÁÁÁÁÁÁÁÁÁÁÁÁÁ

SPN ÁÁÁÁÁÁÁÁÁÁÁÁÁÁ

<Sprungmarke> ÁÁÁÁÁÁÁÁÁÁÁÁ

A1 und A0 ÁÁÁÁÁÁÁÁÁÁ

16.5

ÁÁÁÁÁÁÁÁÁÁÁÁÁÁ

SPP ÁÁÁÁÁÁÁÁÁÁÁÁÁÁ

<Sprungmarke> ÁÁÁÁÁÁÁÁÁÁÁÁ

A1 und A0 ÁÁÁÁÁÁÁÁÁÁ

16.5ÁÁÁÁÁÁÁÁÁÁÁÁÁÁ

SPM ÁÁÁÁÁÁÁÁÁÁÁÁÁÁ

<Sprungmarke> ÁÁÁÁÁÁÁÁÁÁÁÁ

A1 und A0 ÁÁÁÁÁÁÁÁÁÁ

16.5ÁÁÁÁÁÁÁÁÁÁÁÁÁÁ

SPMZ ÁÁÁÁÁÁÁÁÁÁÁÁÁÁ

<Sprungmarke> ÁÁÁÁÁÁÁÁÁÁÁÁ

A1 und A0 ÁÁÁÁÁÁÁÁÁÁ

16.5ÁÁÁÁÁÁÁÁÁÁÁÁÁÁ

SPPZ ÁÁÁÁÁÁÁÁÁÁÁÁÁÁ

<Sprungmarke> ÁÁÁÁÁÁÁÁÁÁÁÁ

A1 und A0 ÁÁÁÁÁÁÁÁÁÁ

16.5

Auswirkung dererweitertenRechenopera-tionen auf die Bitsim Statuswort

Gleitpunktarithmetik

Page 133: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

10-9Anweisungsliste (AWL) für S7-300/400C79000-G7000-C565-01

10.4 Bilden des Quadrats bzw. der Quadratwurzel einer Gleitpunktzahl

Die Operation SQR (Quadrat) berechnet das Quadrat der Gleitpunktzahl(32 Bit, IEEE-FP) in AKKU 1 und speichert das 32-Bit-Ergebnis in AKKU 1.Die Operation SQR überschreibt den alten Inhalt von AKKU 1; die Inhaltevon AKKU 2, AKKU 3 und AKKU 4 bleiben unverändert.

Die Operation SQRT (Quadratwurzel) berechnet die Quadratwurzel der Gleit-punktzahl (32 Bit, IEEE-FP) in AKKU 1 und speichert das 32-Bit-Ergebnisin AKKU 1. Der Eingangswert muß größer oder gleich Null sein. DieOperation SQRT überschreibt den alten Inhalt von AKKU 1; die Inhalte vonAKKU 2, AKKU 3 und AKKU 4 bleiben unverändert.Diese Operation gibt ein positives Ergebnis aus, wenn alle Operanden größerals “0” sind. Einzige Ausnahme: die Quadratwurzel von – 0 ist - 0.

Tabelle 10-8 Auswirkungen der Operation SQR auf die Bits A1, A0, OV und OS

Ergebnis in AKKU 1 A1 A0 OV OS

+ qNaN 1 1 1 1

+ unendlich (Überlauf) 1 0 1 1

+ normalisiert 1 0 0 –

+ denormalisiert (Unterschreitung) 0 0 1 1

+ Null 0 0 0 –

– qNaN 1 1 1 1

Der folgende Programmausschnitt zeigt anhand eines Beispiels dieVerwendung der Operation SQR.

AWL ErläuterungÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ

AUF DB17ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ

Schlage Datenbaustein DB17 auf. (Er enthalte den Eingangswertund diene auch als Ablage für das Ergebnis.)

ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ

L DBD0 ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ

Lade den Wert aus Datendoppelwort DBD0 in AKKU 1.(Dieser Wert muß Gleitpunktformat haben.)

ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ

SQR ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ

Berechne das Quadrat der Gleitpunktzahl (32 Bit, IEEE-FP) inAKKU 1. Lege das Ergebnis in AKKU 1 ab.

ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ

UN OV ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁFrage Statusbit OV auf 0 ab.

ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ

SPB OK ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ

Falls bei der Operation SQR kein Fehler aufgetreten ist, dannspringe zur Marke OK.

ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ

... ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ

(Hier erfolgt die Reaktion auf einen aufgetretenen Fehler.)

ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ

OK: T DBD4 ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ

Transferiere das Ergebnis aus AKKU 1 in das DatendoppelwortDBD4.

Beschreibung

Auswirkungenauf die Bits A1,A0, OV und OSdes Statusworts

Beispiel

Gleitpunktarithmetik

Page 134: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

10-10Anweisungsliste (AWL) für S7-300/400

C79000-G7000-C565-01

Tabelle 10-9 Auswirkungen der Operation SQRT auf die Bits A0, A1, OS und OV

Ergebnis in AKKU 1 A1 A0 OV OS

+ qNaN 1 1 1 1

+ unendlich (Überlauf) 1 0 1 1

+ normalisiert 1 0 0 –

+ denormalisiert (Unterschreitung) 0 0 1 1

+ Null 0 0 0 –

– Null 0 0 0 –

– qNaN 1 1 1 1

Der folgende Programmausschnitt zeigt anhand eines Beispiels dieVerwendung der Operation SQRT.

AWL Erläuterung

L MD10

SQRT

UN OVSPB OK

...OK: T MD20

Lade den Wert aus Merkerdoppelwort MD10 in AKKU 1.(Dieser Wert muß Gleitpunktformat haben.)Bilde die Quadratwurzel der Gleitpunktzahl (32 Bit, IEEE-FP) in AKKU 1. Lege das Ergebnis in AKKU 1 ab.Frage Statusbit OV auf 0 ab.Falls bei der Operation SQRT kein Fehler aufgetreten ist, dannspringe zur Marke OK.(Hier erfolgt die Reaktion auf einen aufgetretenen Fehler.)Transferiere das Ergebnis (AKKU 1) in das Merkerdoppelwort MD20.

Beispiel

Gleitpunktarithmetik

Page 135: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

10-11Anweisungsliste (AWL) für S7-300/400C79000-G7000-C565-01

10.5 Bilden des natürlichen Logarithmus einer Gleitpunktzahl

Die Operation LN (Natürlicher Logarithmus) berechnet den natürlichenLogarithmus der Gleitpunktzahl (32 Bit, IEEE-FP) in AKKU 1 und speichertdas 32-Bit-Ergebnis in AKKU 1. Der Eingangswert muß größer Null sein.Die Operation LN überschreibt den alten Inhalt von AKKU 1; die Inhalte vonAKKU 2, AKKU 3 und AKKU 4 bleiben unverändert.

Tabelle 10-10 zeigt die Auswirkungen, die die Operation LN auf den Signal-zustand der Bits A1, A0, OV und OS des Statusworts hat. Ein “–” in derTabelle zeigt an, daß das entsprechende Bit nicht beeinflußt wird.

Tabelle 10-10 Auswirkungen der Operation LN auf die Statusbits A1, A0, OV und OS

Ergebnis in AKKU 1 A1 A0 OV OS

+ qNaN 1 1 1 1

+ unendlich (Überlauf) 1 0 1 1

+ normalisiert 1 0 0 –

+ denormalisiert (Unterschreitung) 0 0 1 1

+ Null 0 0 0 –

– Null 0 0 0 –

– denormalisiert (Unterschreitung) 0 0 1 1

– normalisiert 0 1 0 –

– unendlich (Überlauf) 0 1 1 1

– qNaN 1 1 1 1

Der folgende Programmausschnitt zeigt anhand eines Beispiels dieVerwendung der Operation LN.

AWL ErläuterungÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ

L MD10ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ

Lade den Wert aus Merkerdoppelwort MD10 in AKKU 1.(Dieser Wert muß Gleitpunktformat haben.)

ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ

LN ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁBilde den natürlichen Logarithmus der Gleitpunktzahl (32 Bit,IEEE-FP) in AKKU 1. Lege das Ergebnis in AKKU 1 ab.

ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ

UN OVÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁFrage Statusbit OV auf 0 ab.

ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ

SPB OKÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ

Falls bei der Operation LN kein Fehler aufgetreten ist, dannspringe zur Marke OK.

ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ

... ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ(Hier erfolgt die Reaktion auf einen aufgetretenen Fehler.)

ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ

OK: T MD20 ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁTransferiere das Ergebnis aus AKKU 1 in das MerkerdoppelwortMD20.

Beschreibung

Auswirkungen aufdie Bits A1, A0, OVund OS desStatusworts

Beispiel

Gleitpunktarithmetik

Page 136: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

10-12Anweisungsliste (AWL) für S7-300/400

C79000-G7000-C565-01

10.6 Bilden des Exponentialwerts einer Gleitpunktzahl

Die Operation EXP (Exponentialwert zur Basis e) berechnet den Exponen-tialwert der Gleitpunktzahl (32 Bit, IEEE-FP) in AKKU 1 zur Basis e(= 2,71828...) und speichert das 32 Bit-Ergebnis in AKKU 1. Die OperationEXP überschreibt den alten Inhalt von AKKU 1; die Inhalte von AKKU 2,AKKU 3 und AKKU 4 bleiben unverändert.

Tabelle 10-11 zeigt die Auswirkungen, die die Operation EXP auf denSignalzustand der Bits A1, A0, OV und OS des Statusworts hat. Ein “–” inder Tabelle zeigt an, daß das entsprechende Bit nicht beeinflußt wird.

Tabelle 10-11 Auswirkungen der Operation EXP auf die Bits A1, A0, OV und OS desStatusworts

Ergebnis in AKKU 1 A1 A0 OV OS

+ qNaN 1 1 1 1

+ unendlich (Überlauf) 1 0 1 1

+ normalisiert 1 0 0 –

+ denormalisiert (Unterschreitung) 0 0 1 1

+ Null 0 0 0 –

– qNaN 1 1 1 1

Der folgende Programmausschnitt zeigt anhand eines Beispiels dieVerwendung der Operation EXP.

AWL Erläuterung

ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ

L MD10 ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ

Lade den Wert aus Merkerdoppelwort MD10 in AKKU 1.(Dieser Wert muß Gleitpunktformat haben.)ÁÁÁÁÁÁÁÁ

ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ

EXPÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ

Bilde den Exponentialwert zur Basis e der Gleitpunktzahl(32 Bit, IEEE-FP) in AKKU 1. Lege das Ergebnis in AKKU 1 ab.

ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ

UN OV ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ

Frage Statusbit OV auf 0 ab.

ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ

SPB OK ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ

Falls bei der Operation EXP kein Fehler aufgetreten ist, dannspringe zur Marke OK.

ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ

... ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ

(Hier erfolgt die Reaktion auf einen aufgetretenen Fehler.)

ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ

OK: T MD20 ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ

Transferiere das Ergebnis aus AKKU 1 in das MerkerdoppelwortMD20.

Beschreibung

Auswirkungen aufdie Bits A1, A0, OVund OS desStatusworts

Beispiel

Gleitpunktarithmetik

Page 137: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

10-13Anweisungsliste (AWL) für S7-300/400C79000-G7000-C565-01

10.7 Bilden von trigonometrischen Funktionen von Winkeln als Gleit-punktzahlen

Mit den folgenden Operationen können Sie trigonometrische Funktionen vonWinkeln, die als Gleitpunktzahlen (32 Bit, IEEE-FP) dargestellt sind, bilden.Das 32 Bit-Ergebnis wird in AKKU 1 abgelegt, die Inhalte von AKKU 2,AKKU 3 und AKKU 4 bleiben unverändert.

Operation Bedeutung

SIN Bilden des Sinus einer Gleitpunktzahl von einem Winkel, der imBogenmaß angegeben wird. Sie speichern den Winkel als Gleitpunkt-zahl in AKKU 1.

ASIN Bilden des Arcussinus einer Gleitpunktzahl in AKKU 1. Das Ergebnisist ein Winkel, der im Bogenmaß angegeben wird. Der Wert liegt indem folgenden Bereich: ��/ 2 � Arcussinus (AKKU 1) � + � / 2, wobei � = 3.14...

COS Bilden des Cosinus einer Gleitpunktzahl von einem Winkel, der imBogenmaß angegeben wird. Sie speichern den Winkel als Gleitpunkt-zahl in AKKU 1.

ACOS Bilden des Arcuscosinus einer Gleitpunktzahl in AKKU 1. DasErgebnis ist ein Winkel, der im Bogenmaß angegeben wird. Der Wertliegt in dem folgenden Bereich:

0 � Arcuscosinus (AKKU 1) � + �, wobei � = 3.14...

TAN Bilden des Tangens einer Gleitpunktzahl von einem Winkel, der imBogenmaß angegeben wird. Sie speichern den Winkel als Gleitpunkt-zahl in AKKU 1

ATAN Bilden des Arcustangens einer Gleitpunktzahl in AKKU 1. DasErgebnis ist ein Winkel, der im Bogenmaß angegeben wird. Der Wertliegt in dem folgenden Bereich:

��/ 2 � Arcustangens (AKKU 1) � + � / 2, wobei � = 3.14...

Tabelle 10-12 zeigt die Auswirkungen, die die Operationen SIN, ASIN, COS,ACOS und ATAN auf den Signalzustand der Bits A1, A0, OV und OS imStatuswort haben. Tabelle 10-13 zeigt, wie die Operation TAN diese Bitsbeeinflußt. Ein “–” zeigt an, daß das entsprechende Bit nicht beeinflußt wird.

Tabelle 10-12 Auswirkungen der Operationen SIN, ASIN, COS, ACOS und ATAN

Ergebnis in AKKU 1 A1 A0 OV OS

+ qNaN 1 1 1 1

+ normalisiert 1 0 0 –

+ denormalisiert (Überlauf) 0 0 1 1

+ Null 0 0 0 –

– Null 0 0 0 –

– denormalisiert (Unterschreitung) 0 0 1 1

– normalisiert 0 1 0 –

– qNaN 1 1 1 1

Beschreibung

Auswirkungen aufdie Bits A1, A0, OVund OS desStatusworts

Gleitpunktarithmetik

Page 138: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

10-14Anweisungsliste (AWL) für S7-300/400

C79000-G7000-C565-01

Tabelle 10-13 Auswirkungen der Operation TAN auf die Bits A1, A0, OV und OS desStatusworts

Ergebnis in AKKU 1 A1 A0 OV OS

+ qNaN 1 1 1 1

+ unendlich (Überlauf) 1 0 1 1

+ normalisiert 1 0 0 –

+ denormalisiert (Unterschreitung) 0 0 1 1

+ Null 0 0 0 –

– Null 0 0 0 –

– denormalisiert (Unterschreitung) 0 0 1 1

– normalisiert 0 1 0 –

– unendlich (Überlauf) 0 1 1 1

– qNaN 1 1 1 1

Der folgende Programmausschnitt zeigt anhand eines Beispiels dieVerwendung der Operation SIN.

AWL Erläuterung

ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ

L MD10 ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ

Lade den Wert aus Merkerdoppelwort MD10 in AKKU 1.(Dieser Wert muß Gleitpunktformat haben.)

ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ

SINÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ

Bilde den Sinus der Gleitpunktzahl (32 Bit, IEEE-FP) in AKKU 1.Lege das Ergebnis in AKKU 1 ab.

ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ

T MD20 ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ

Transferiere das Ergebnis aus AKKU 1 in das MerkerdoppelwortMD20.

Der folgende Programmausschnitt zeigt anhand eines Beispiels dieVerwendung der Operation ASIN.

AWL ErläuterungÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ

L MD10 ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ

Lade den Wert aus Merkerdoppelwort MD10 in AKKU 1.(Dieser Wert muß Gleitpunktformat haben.)

ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ

ASIN ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ

Bilde den Arcussinus der Gleitpunktzahl (32 Bit, IEEE-FP) inAKKU 1. Lege das Ergebnis in AKKU 1 ab.

ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ

UN OVÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ

Frage Statusbit OV auf 0 ab.ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ

SPB OKÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ

Falls bei der Operation ASIN kein Fehler aufgetreten ist, dannspringe zur Marke OK.

ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ

... ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ

(Hier erfolgt die Reaktion auf einen aufgetretenen Fehler.)

ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ

OK: T MD20 ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ

Transferiere das Ergebnis aus AKKU 1 in das MerkerdoppelwortMD20.

Beispiel

Beispiel

Gleitpunktarithmetik

Page 139: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

10-15Anweisungsliste (AWL) für S7-300/400C79000-G7000-C565-01

Die erweiterten Rechenoperationen beeinflussen die folgenden Bits imStatuswort:

� A1 und A0

� OV

� OS

Ein Strich (–) bei einem der in der Tabelle aufgeführten Bits bedeutet, daßdieses Bit nicht vom Ergebnis der arithmetischen Operation beeinflußt wird.

Tabelle 10-14 Arcusfunktionen für Gleitpunktzahlen (32 Bit, IEEE-FP)und zulässige Wertebereiche für den Eingangswert

ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ

Gültiger Bereich für Ergebnis mit Gleitpunktzah-l (32 Bit)

ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ

Bit im Statuswort

ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ

len (32 Bit)ÁÁÁÁÁÁ

A1ÁÁÁÁÁÁ

A0ÁÁÁÁÁÁ

OVÁÁÁÁÁÁ

OS

ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ

+0, –0 (Null) ÁÁÁÁÁÁ

0ÁÁÁÁÁÁ

0ÁÁÁÁÁÁ

0 ÁÁÁÁÁÁ

ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ

–3,402823E+38 < Ergebnis < –1,175494E–38(negative Zahl)

ÁÁÁÁÁÁ

0ÁÁÁÁÁÁ

1ÁÁÁÁÁÁ

0 ÁÁÁÁÁÁ

ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ

+1,175494E–38 < Ergebnis < 3,402823E+38(positive Zahl)

ÁÁÁÁÁÁÁÁÁ

1ÁÁÁÁÁÁÁÁÁ

0ÁÁÁÁÁÁÁÁÁ

0ÁÁÁÁÁÁÁÁÁ

Tabelle 10-15 Signalzustände der Bits im Statuswort: Rechenergebnis mitGleitpunktzahlen außerhalb des gültigen Bereichs

ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ

Gültiger Bereich für Ergebnis mit Gleitpunktzah-l (32 Bit)

ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ

Bit im Statuswort

ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ

len (32 Bit) ÁÁÁÁÁÁ

A1ÁÁÁÁÁÁ

A0ÁÁÁÁÁÁ

OVÁÁÁÁÁÁ

OS

ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ

–1,175494E–38 < Ergebnis < –1,401298E–45(negative Zahl) Unterschreitung

ÁÁÁÁÁÁ

0ÁÁÁÁÁÁ

0ÁÁÁÁÁÁ

1 ÁÁÁÁÁÁ

1

ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ

+1,401298E–45 < Ergebnis < +1,175494E–38(positive Zahl) Unterschreitung

ÁÁÁÁÁÁÁÁÁ

0ÁÁÁÁÁÁÁÁÁ

0ÁÁÁÁÁÁÁÁÁ

1ÁÁÁÁÁÁÁÁÁ

1

ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ

Ergebnis < –3,402823E+38(negative Zahl) Überlauf

ÁÁÁÁÁÁÁÁÁ

0ÁÁÁÁÁÁÁÁÁ

1ÁÁÁÁÁÁÁÁÁ

1 ÁÁÁÁÁÁÁÁÁ

1

ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ

Ergebnis > 3,402823E+38(positive Zahl) Überlauf

ÁÁÁÁÁÁ

1ÁÁÁÁÁÁ

0ÁÁÁÁÁÁ

1 ÁÁÁÁÁÁ

1

Tabelle 10-16 Signalzustände der Bits im Statuswort: Eingangswert keinegültige Gleitpunktzahl oder außerhalb des gültigen Wertebereichs

ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ

Ungültiger Bereich für Eingangswert mit Gl it kt hl (32 Bit)

ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ

Bit im StatuswortÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ

Gleitpunktzahlen (32 Bit) ÁÁÁÁÁÁ

A1ÁÁÁÁÁÁ

A0ÁÁÁÁÁÁ

OVÁÁÁÁÁÁ

OSÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ

Keine gültige 32 Bit-Gleitpunktzahl(Format IEEE-FP) in AKKU 1

ÁÁÁÁÁÁÁÁÁ

1ÁÁÁÁÁÁÁÁÁ

1ÁÁÁÁÁÁÁÁÁ

1ÁÁÁÁÁÁÁÁÁ

1

ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ

Unzulässige Operation: Eingangswert in AKKU 1außerhalb des gültigen Wertebereichs

ÁÁÁÁÁÁÁÁÁ

1ÁÁÁÁÁÁÁÁÁ

1ÁÁÁÁÁÁÁÁÁ

1 ÁÁÁÁÁÁÁÁÁ

1

Auswerten der Bitsim Statuswort

Ergebnis gültig

Ergebnisungültig

Eingangswertungültig

Gleitpunktarithmetik

Page 140: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

10-16Anweisungsliste (AWL) für S7-300/400

C79000-G7000-C565-01

Gleitpunktarithmetik

Page 141: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

11-1Anweisungsliste (AWL) für S7-300/400C79000-G7000-C565-01

Vergleichsoperationen

Im Kapitel finden Sie auf Seite

11.1 Übersicht 11-2

11.2 Vergleichen zweier Ganzzahlen 11-3

11.3 Vergleichen zweier Gleitpunktzahlen 11-5

Kapitelübersicht

11

Page 142: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

11-2Anweisungsliste (AWL) für S7-300/400

C79000-G7000-C565-01

11.1 Übersicht

Mit den Vergleichsoperationen können Sie folgende Paare von Zahlenwertenmiteinander vergleichen:

� zwei Ganzzahlen (16 Bit)

� zwei Ganzzahlen (32 Bit)

� zwei Gleitpunktzahlen (Gleitpunktzahlen, 32 Bit, IEEE-FP)

Sie laden die Zahlenwerte in die AKKUs 1 und 2. Eine Vergleichsoperationvergleicht den Wert in AKKU 2 mit dem Wert in AKKU 1 nach den inTabelle 11-1 aufgeführten Kriterien.

Das Ergebnis des Vergleichs ist eine Binärziffer, d. h. entweder ”1” oder ”0”.Eine ”1” zeigt an, daß das Ergebnis des Vergleichs ”wahr” ist, eine ”0” zeigtan, daß das Ergebnis ”falsch” ist (siehe Tabelle 11-2). Dieses Ergebnis ist imVerknüpfungsergebnis-Bit gespeichert (VKE-Bit, siehe Kapitel 3.4). Siekönnen das Ergebnis in Ihrem Programm zur weiteren Verarbeitungverwenden.

Wenn die CPU eine Vergleichsoperation ausführt, setzt sie die Bits im Status-wort. Andere AWL-Operationen können die Bits des Statusworts auswerten.Die CPU führt Vergleichsoperationen unabhängig vom Verknüpfungsergebnisaus.

Tabelle 11-1 Vergleichskriterien

Art des Zahlenwertes inAKKU 2

Vergleichskriterium Operationssymbol(e) Art des Zahlenwerts inAKKU 1

ist gleich ==I==D==R

ist ungleich <>I<>D<>R

Ganzzahl (16 Bit)

Ganzzahl (32 Bit)

ist größer als >I>D>R

Ganzzahl (16 Bit)

Ganzzahl (32 Bit)Ganzzahl (32 Bit)

Gleitpunktzahl (32 Bit)

ist kleiner als <I<D<R

Ganzzahl (32 Bit)

Gleitpunktzahl (32 Bit)

ist größer als oder gleich >=I>=D>=R

ist kleiner als oder gleich <=I<=D<=R

Vergleichsoperationen

Page 143: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

11-3Anweisungsliste (AWL) für S7-300/400C79000-G7000-C565-01

11.2 Vergleichen zweier Ganzzahlen

Die Operationen Vergleiche Ganzzahlen (16 Bit) vergleichen zweiGanzzahlen (16 Bit), die Operationen Vergleiche Ganzzahlen (32 Bit)vergleichen zwei Ganzzahlen (32 Bit) gemäß den Kriterien in Tabelle 11-2.Ein Programmbeispiel schließt sich an Tabelle 11-3 an.

Tabelle 11-2 Vergleichsoperationen (Ganzzahlen, 16 und 32 Bit)

Operation ErläuterungOperat on Erläuterung

==I

==D

Vergleiche Ganzzahl (16 Bit) im niederwertigen Wort von AKKU 2 mit der Ganzzahl (16 Bit) imniederwertigen Wort von AKKU 1 auf Gleichheit.Vergleiche Ganzzahl (32 Bit) in AKKU 2 mit der Ganzzahl (32 Bit) in AKKU 1.

<>I

<>D

Vergleiche Ganzzahl (16 Bit) im niederwertigen Wort von AKKU 2 mit der Ganzzahl (16 Bit) imniederwertigen Wort von AKKU 1 auf Ungleichheit.Vergleiche Ganzzahl (32 Bit) in AKKU 2 mit der Ganzzahl (32 Bit) in AKKU 1 auf Ungleichheit.

>I

>D

Vergleiche Ganzzahl (16 Bit) im niederwertigen Wort von AKKU 2 mit der Ganzzahl (16 Bit) imniederwertigen Wort von AKKU 1 auf größer.Vergleiche Ganzzahl (32 Bit) in AKKU 2 mit der Ganzzahl (32 Bit) in AKKU 1 auf größer.

<I

<D

Vergleiche Ganzzahl (16 Bit) im niederwertigen Wort von AKKU 2 mit der Ganzzahl (16 Bit) imniederwertigen Wort von AKKU 1 auf kleiner.Vergleiche Ganzzahl (32 Bit) in AKKU 2 mit der Ganzzahl (32 Bit) in AKKU 1 auf kleiner.

>=I

>=D

Vergleiche Ganzzahl (16 Bit) im niederwertigen Wort von AKKU 2 mit der Ganzzahl (16 Bit) imniederwertigen Wort von AKKU 1 auf größer und gleich.Vergleiche Ganzzahl (32 Bit) in AKKU 2 mit der Ganzzahl (32 Bit) in AKKU 1 auf größer und gleich.

<=I

<=D

Vergleiche Ganzzahl (16 Bit) im niederwertigen Wort von AKKU 2 mit der Ganzzahl (16 Bit) imniederwertigen Wort von AKKU 1 auf kleiner und gleich.Vergleiche Ganzzahl (32 Bit) in AKKU 2 mit der Ganzzahl (32 Bit) in AKKU 1 auf kleiner und gleich.

Beschreibung

Vergleichsoperationen

Page 144: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

11-4Anweisungsliste (AWL) für S7-300/400

C79000-G7000-C565-01

Die Vergleichsoperationen für Ganzzahlen (16 und 32 Bit) setzenverschiedene Signalzustandskombinationen der Bits A1 und A0, umanzuzeigen, welche Bedingung erfüllt wurde (siehe Tabelle 11-3).

Tabelle 11-3 Zustände der Bits A1 und A0 nach einer Vergleichsoperation

Bedingung Signalzustand:Mögliche Abfrage mitden Operationen

A1 A0 U, O, X, UN, ON, XN

Akku2>Akku1 1 0 >0

Akku2<Akku1 0 1 <0

Akku2=Akku1 0 0 ==0

Akku2<>Akku10

oder1

1oder

0<>0

Akku2>=Akku11

oder0

0oder

0>=0

Akku2<=Akku10

oder0

1oder

0<=0

Das folgende Programmbeispiel zeigt, wie die Vergleichsoperationen fürGanzzahlen (16 Bit) arbeiten.

AWL Erläuterung

L MW10L EW0

==I

= A 4.0

>I

= A 4.1

<I

= A 4.2

Lade den Inhalt von Merkerwort MW10 in AKKU 1.Lade den Inhalt von Eingangswort EW0 in AKKU 1.Der alte Inhalt von AKKU 1 wird in AKKU 2 geschoben.Vergleiche den Wert im niederwertigen Wort von AKKU 2 mit demWert im niederwertigen Wort von AKKU 1, um herauszufinden, obsie gleich sind.Ausgang A 4.0 wird stromführend, wenn MW10 und EW0 gleich sind.

Vergleiche den Wert im niederwertigen Wort von AKKU 2 mit demWert im niederwertigen Wort von AKKU 1, um herauszufinden, ober größer ist als der Wert im niederwertigen Wort von AKKU 1.

Ausgang A 4.1 wird stromführend, wenn MW10 größer als EW0 ist.

Vergleiche den Wert im niederwertigen Wort von AKKU 2 mit demWert im niederwertigen Wort von AKKU 1, um herauszufinden, ober kleiner ist als der Wert im niederwertigen Wort von AKKU 1.

Ausgang A 4.2 wird stromführend, wenn MW10 kleiner als EW0 ist.

Setzen der Bits A1und A0 im Status-wort

Beispiel

Vergleichsoperationen

Page 145: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

11-5Anweisungsliste (AWL) für S7-300/400C79000-G7000-C565-01

11.3 Vergleichen zweier Gleitpunktzahlen

Die Vergleichsoperationen für Gleitpunktzahlen vergleichen zweiGleitpunktzahlen (32 Bit, IEEE-FP) nach den in Tabelle 11-4 aufgeführtenKriterien. Da die Gleitpunktzahlen (32 Bit, IEEE-FP) zum Datentyp REAL(Gleitpunktzahl) gehören, lautet die mnemotechnische Abkürzung für dieseOperationen ”R”.

Tabelle 11-4 Vergleichsoperationen (Gleitpunktzahlen, 32 Bit, IEEE-FP)

Operation ErläuterungOperat on Erläuterung

==R Vergleiche Gleitpunktzahl (32 Bit, IEEE-FP) in AKKU 2 mit der Gleit-punktzahl (32 Bit, IEEE-FP) in AKKU 1 auf Gleichheit.

<>R Vergleiche Gleitpunktzahl (32 Bit, IEEE-FP) in AKKU 2 mit der Gleit-punktzahl (32 Bit, IEEE-FP) in AKKU 1 auf Ungleichheit.

>R Vergleiche Gleitpunktzahl (32 Bit, IEEE-FP) in AKKU 2 mit der Gleit-punktzahl (32 Bit, IEEE-FP) in AKKU 1 auf größer.

<R Vergleiche Gleitpunktzahl (32 Bit, IEEE-FP) in AKKU 2 mit der Gleit-punktzahl (32 Bit, IEEE-FP) in AKKU 1 auf kleiner.

>=R Vergleiche Gleitpunktzahl (32 Bit, IEEE-FP) in AKKU 2 mit der Gleit-punktzahl (32 Bit, IEEE-FP) in AKKU 1 auf größer und gleich.

<=R Vergleiche Gleitpunktzahl (32 Bit, IEEE-FP) in AKKU 2 mit der Gleit-punktzahl (32 Bit, IEEE-FP) in AKKU 1 auf kleiner und gleich.

Die Vergleichsoperationen für Gleitpunktzahlen (32 Bit, IEEE-FP) setzenverschiedene Signalzustandskombinationen der Bits A1, A0, OV und OS desStatusworts, um anzuzeigen, welche Bedingung erfüllt wurde.

Tabelle 11-5 Zustände der Bits im Statuswort nach einer Vergleichsoperation fürGleitpunktzahlen (32 Bit, IEEE-FP)

Bedingung A1 A0 OV OS

== 0 0 0 entfällt

<>0

oder1

1oder

00 entfällt

> 1 0 0 entfällt

< 0 1 0 entfällt

>=1

oder0

0oder

00 entfällt

<=0

oder0

1oder

00 entfällt

UO 1 1 1 1

Beschreibung

Setzen der Bits imStatuswort

Vergleichsoperationen

Page 146: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

11-6Anweisungsliste (AWL) für S7-300/400

C79000-G7000-C565-01

Andere AWL-Operationen können die Bits im Statuswort auswerten (sieheKapitel 5.3 und Tabelle 11-6).

Tabelle 11-6 Operationen, die die Bits A1, A0, OV und OS des Statuswortsauswerten

Operation Verweis auf Bits des Statusworts oder Sprung-marke

Kapitel indiesem

Handbuch

U,O,X,UN,ON,XN >0, <0, <>0, >=0, <=0, ==0, UO, OV, OS 5.3

SPU <Sprungmarke> 16.4

SPZ <Sprungmarke> 16.5

SPN <Sprungmarke> 16.5

SPP <Sprungmarke> 16.5

SPM <Sprungmarke> 16.5

SPMZ <Sprungmarke> 16.5

SPPZ <Sprungmarke> 16.5

Das folgende Programmbeispiel zeigt, wie die Vergleichsoperationen fürGleitpunktzahlen (32 Bit, IEEE-FP) arbeiten.

AWL Erläuterung

L MD24

L +1.00E+00

>R

= A 4.1

<R

= A 4.2

Lade den Inhalt von Merkerdoppelwort MD24 in AKKU 1.

Lade den Wert 1.0 als eine Gleitpunktzahl (32 Bit) in AKKU 1.Der alte Inhalt von AKKU 1 wird in AKKU 2 geschoben.

Vergleiche den Wert in AKKU 2 mit dem Wert in AKKU 1, um herauszufinden, ob er größer ist als der Wert in AKKU 1.

Ausgang A 4.1 wird stromführend, wenn MD24 größer als 1.0 ist.

Vergleiche den Wert in AKKU 2 mit dem Wert in AKKU 1, um herauszufinden, ob er kleiner ist als der Wert in AKKU 1.

Ausgang A 4.2 wird stromführend, wenn MD24 kleiner als 1.0 ist.

Auswerten der Bitsim Statuswort

Beispiel

Vergleichsoperationen

Page 147: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

12-1Anweisungsliste (AWL) für S7-300/400C79000-G7000-C565-01

Umwandlungsoperationen

Im Kapitel finden Sie auf Seite

12.1 Umwandeln von binär-codierten Dezimalzahlen und Ganz-zahlen

12-2

12.2 Umwandeln von Gleitpunktzahlen (32 Bit) in Ganzzahlen(32 Bit)

12-8

12.3 Umkehren der Reihenfolge der Bytes in AKKU 1 12-13

12.4 Bilden der Komplemente und Wechseln des Vorzeichenseiner Gleitpunktzahl

12-14

Kapitelübersicht

12

Page 148: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

12-2Anweisungsliste (AWL) für S7-300/400

C79000-G7000-C565-01

12.1 Umwandeln von binär-codierten Dezimalzahlen und Ganzzahlen

Mit den folgenden Operationen können Sie binär-codierte Dezimalzahlen undGanzzahlen in andere Zahlenarten umwandeln:

Mne-monik

Operation Bedeutung

BTI BCD wandeln inGanzzahl (16 Bit)

Diese Operation wandelt einen binär-codiertenDezimalwert im niederwertigen Wort von AKKU 1 ineine Ganzzahl (16 Bit) um.

BTD BCD wandeln inGanzzahl (32 Bit)

Diese Operation wandelt einen binär-codiertenDezimalwert in AKKU 1 in eine Ganzzahl (32 Bit)um.

ITB Ganzzahl (16 Bit)wandeln in BCD

Diese Operation wandelt eine Ganzzahl (16 Bit) imniederwertigen Wort von AKKU 1 in einen binär-co-dierten Dezimalwert um.

ITD Ganzzahl (16 Bit)wandeln in Ganz-zahl

Diese Operation wandelt eine Ganzzahl (16 Bit) imniederwertigen Wort von AKKU 1 in eine Ganzzahl(32 Bit) um.

DTB Ganzzahl (32 Bit)wandeln in BCD

Diese Operation wandelt eine Ganzzahl (32 Bit) inAKKU 1 in einen binär-codierten Dezimalwert um.

DTR Ganzzahl (32 Bit)wandeln in Gleit-punktzahl (32 Bit,IEEE-FP)

Diese Operation wandelt eine Ganzzahl (32 Bit) inAKKU 1 in eine Gleitpunktzahl (32 Bit, IEEE-FP)(Gleitpunktzahl) um.

Beschreibung

Umwandlungsoperationen

Page 149: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

12-3Anweisungsliste (AWL) für S7-300/400C79000-G7000-C565-01

Die Operation BTI wandelt eine dreistellige binär-codierte Dezimalzahl imniederwertigen Wort von AKKU 1 in eine Ganzzahl (16 Bit) um (zuBCD-Zahlen: siehe Bild 12-1). Die BCD-Zahl kann im Bereich von -999 bis+999 liegen. Das Umwandlungsergebnis wird im niederwertigen Wort vonAKKU 1 gespeichert.

Vorzeichen: ”0000” steht für positiv, ”1111” für negativ.

Wert der BCD-Zahl

15

102 101 100

14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

V V V V

Hunderter Zehner Einer

Diese Bits werden bei der Umwandlung nichtverwendet.

Bild 12-1 Aufbau einer binär-codierten Dezimalzahl, die in eine Ganzzahlumgewandelt werden soll

Wenn eine Stelle einer BCD-Zahl im ungültigen Bereich zwischen 10 und 15liegt, tritt während einer versuchten Umwandlung ein BCDF-Fehler auf. Eineder folgenden Erscheinungen tritt auf:

� Die CPU geht in STOP. Im Diagnosespeicher wird ein ”BCD-Umwandlungsfehler” der Ereignisnummer 2521 eingetragen.

� Wenn OB121 programmiert ist, so wird er aufgerufen.

Das folgende Programmbeispiel enthält die Operation BTI. Bild 12-2 zeigt,wie diese Operation arbeitet.

AWL Erläuterung

L MW10BTI

T MW20

Lade den BCD-Wert aus Merkerwort MW10 in AKKU 1.Wandle den BCD-Wert in eine Ganzzahl (16 Bit) um und speicheredas Ergebnis in AKKU 1.Transferiere das Ergebnis ins Merkerwort MW20.

15... ...8 7... ...0

0 0 1 1

0 0 0 1 0 1 0 10 0 0 0

1 0 0 10 0 0 0

L MW10

BTI

T MW20 0 0 1 1

1 0 0 1

BCD in Ganzzahl

“ + ” “ 9 ” “ 1 ” “ 5 ”

MW10

MW20

“+915” BCD

“+915”Ganzzahl

Bild 12-2 Umwandeln einer BCD-Zahl in eine Ganzzahl (16 Bit) mit der Operation BTI

BCD wandeln inGanzzahl (16 Bit):BTI

Umwandlungsoperationen

Page 150: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

12-4Anweisungsliste (AWL) für S7-300/400

C79000-G7000-C565-01

Die Operation BTD wandelt eine siebenstellige binär-codierte Dezimalzahlin AKKU 1 in eine Ganzzahl (32 Bit) um (zu BCD-Zahlen: siehe Bild 12-3).Die BCD-Zahl kann im Bereich von -9 999 999 bis +9 999 999 liegen. DasUmwandlungsergebnis wird in AKKU 1 gespeichert.

Wenn eine Stelle einer BCD-Zahl im ungültigen Bereich zwischen 10 und 15liegt, tritt während einer versuchten Umwandlung ein BCDF-Fehler auf. Eineder folgenden Erscheinungen tritt auf:

� Die CPU geht in STOP. Im Diagnosespeicher wird ein ”BCD-Umwandlungsfehler” der Ereignisnummer 2521 eingetragen.

� Wenn OB121 programmiert ist, so wird er aufgerufen.

31... ...16 15... ...0

V V V V

106 105 104 103 102 101 100

Vorzeichen: ”0000” steht für positiv, ”1111” für negativ.

Wert der BCD-Zahl

Diese Bits werden bei der Umwandlung nichtverwendet.

Bild 12-3 Aufbau einer BCD-Zahl (32 Bit), die in eine Ganzzahl (32 Bit) umgewandeltwerden soll

Das folgende Programmbeispiel enthält die Operation BTD. Bild 12-4 zeigt,wie diese Operation arbeitet.

AWL Erläuterung

L MD10BTD

T MD20

Lade den BCD-Wert aus Merkerdoppelwort MD10 in AKKU 1.Wandle den BCD-Wert in eine Ganzzahl (32 Bit) um und speicheredas Ergebnis in AKKU 1.Transferiere das Ergebnis ins Merkerdoppelwort MD20.

31... ...16 15... ...0

0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 1 1 1 1 0 0 0 0 0 1 0 0 0 0 1

0 1 1 10 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 1 0 1 0 0 0 1 1 0 1

L MD10

BTD

T MD20

BCD in Ganzzahl

“ + ” “ 0 ” “ 1 ” “ 5 ”

MD10

MD20

“157821”

“+157821”

“ 7 ” “ 8 ” “ 2 ” “ 1 ”

Bild 12-4 Umwandeln einer BCD-Zahl in eine Ganzzahl (32 Bit) mit der Operation BTD

BCD wandeln inGanzzahl (32 Bit):BTD

Umwandlungsoperationen

Page 151: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

12-5Anweisungsliste (AWL) für S7-300/400C79000-G7000-C565-01

Die Operation ITB wandelt eine Ganzzahl (16 Bit) im niederwertigen Wortvon AKKU 1 in eine dreistellige binär-codierte Dezimalzahl um. DieBCD-Zahl kann im Bereich von -999 bis +999 liegen. DasUmwandlungsergebnis wird im niederwertigen Wort von AKKU 1gespeichert.

Ist die Ganzzahl zu groß, um im BCD-Format dargestellt zu werden, findetkeine Umwandlung statt. In diesem Fall werden das OV-Bit (Überlauf) unddas OS-Bit (Überlauf, speichernd) des Statusworts (siehe Kapitel 3.4) auf denSignalzustand ”1” gesetzt.

Das folgende Programmbeispiel enthält die Operation ITB. Bild 12-5 zeigt,wie diese Operation arbeitet.

AWL Erläuterung

L MW10

ITB

T MW20

Lade den Wert der Ganzzahl (16 Bit) aus Merkerwort MW10 in AKKU1.Wandle die Ganzzahl (16 Bit) in einen BCD-Wert um und speicheredas Ergebnis in AKKU 1.Transferiere das Ergebnis ins Merkerwort MW20.

15... ...8 7... ...0

0 1 0 0

0 1 1 0 0 0 1 11 1 1 1

0 0 0 11 1 1 1

L MW10

ITB

T MW20 0 0 1 1

1 1 1 0

Ganzzahl in BCD

“ - ” “ 4 ” “ 1 ” “ 3 ”

MW10

MW20 “-413” BCD

“-413”Ganzzahl

Bild 12-5 Umwandeln einer Ganzzahl (16 Bit) in eine BCD-Zahl mit der Operation ITB

Ganzzahl (16 Bit)wandeln in BCD:ITB

Umwandlungsoperationen

Page 152: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

12-6Anweisungsliste (AWL) für S7-300/400

C79000-G7000-C565-01

Die Operation ITD wandelt eine Ganzzahl (16 Bit) im niederwertigen Wortvon AKKU 1 in eine Ganzzahl (32 Bit) um. Das Umwandlungsergebnis wirdin AKKU 1 gespeichert. Das folgende Programmbeispiel enthält dieOperation ITD. Bild 12-6 zeigt, wie diese Operation arbeitet.

AWL Erläuterung

L MW10

ITD

T MD20

Lade den Wert der Ganzzahl (16 Bit) aus Merkerwort MW10 in AKKU1.Wandle den Wert der Ganzzahl (16 Bit) in eine Ganzzahl (32 Bit)um und speichere das Ergebnis in AKKU 1.Transferiere das Ergebnis ins Merkerdoppelwort MD20.

15... ...0

1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 0

1 1 1 1 0 1 1 0

L MW10

ITD

T MD20

Ganzzahl (16 Bit) in Ganzzahl (32 Bit)

MW10

MD20

”-10”Ganzzahl

31... ...16 15... ...0

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ”-10”Ganzzahl

Bild 12-6 Umwandeln einer Ganzzahl (16 Bit) in eine Ganzzahl (32 Bit) mit der Operation ITD

Die Operation DTB wandelt eine Ganzzahl (32 Bit) in AKKU 1 in einensiebenstelligen binär-codierten Dezimalwert um. Die BCD-Zahl kann in demBereich von -9 999 999 bis +9 999 999 liegen. Das Umwandlungsergebniswird in AKKU 1 gespeichert.

Ist die Ganzzahl (32 Bit) zu groß, um im BCD-Format dargestellt zu werden,findet keine Umwandlung statt. In diesem Fall werden das OV-Bit (Überlauf)und das OS-Bit (Überlauf, speichernd) des Statusworts (siehe Kapitel 3.4) aufden Signalzustand ”1” gesetzt.

Das folgende Programmbeispiel enthält die Operation DTB. Bild 12-7 zeigt,wie diese Operation arbeitet.

AWL Erläuterung

L MD10

DTB

T MD20

Lade die Ganzzahl (32 Bit) aus Merkerdoppelwort MD10 in AKKU 1.Wandle die Ganzzahl (32 Bit) in einen BCD-Wert um und speicheredas Ergebnis in AKKU 1.Transferiere das Ergebnis ins Merkerdoppelwort MD20.

31... ...16 15... ...0

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 1 0 0 0 0 1 1

0 0 0 01 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 1

L MD10

DTB

T MD20

Ganzzahl in BCD

“ - ” “ 0 ” “ 0 ” “ 0 ”

MD10

MD20

”-701”Ganzzahl

“-701”BCD

“ 0 ” “ 7 ” “ 0 ” “ 1 ”

Bild 12-7 Umwandeln einer Ganzzahl (32 Bit) in eine BCD-Zahl mit der Operation DTB

Ganzzahl (16 Bit)wandeln in Ganz-zahl (32 Bit): ITD

Ganzzahl (32 Bit)wandeln in BCD:DTB

Umwandlungsoperationen

Page 153: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

12-7Anweisungsliste (AWL) für S7-300/400C79000-G7000-C565-01

Die Operation DTR wandelt eine Ganzzahl (32 Bit) in AKKU 1 in eineGleitpunktzahl (32 Bit, IEEE-FP) um. Falls nötig, rundet die Operation dasErgebnis. Das Umwandlungsergebnis wird in AKKU 1 gespeichert. Dasfolgende Programmbeispiel enthält die Operation DTR. Bild 12-8 zeigt, wiediese Operation arbeitet.

AWL Erläuterung

L MD10

DTR

T MD20

Lade die Ganzzahl (32 Bit) aus Merkerdoppelwort MD10 in AKKU 1.

Wandle die Ganzzahl (32 Bit) in den Wert einer Gleitpunktzahl(32 Bit, IEEE-FP) um und speichere das Ergebnis in AKKU 1.

Transferiere das Ergebnis ins Merkerdoppelwort MD20.

31 ...0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 1 0 0L MD10

DTR

T MD20

Ganzzahl (32 Bit) in Gleitpunktzahl (IEEE)

MD10

MD20

“+500”Ganzzahl

30... 22...”+500” IEEE

1 BitVorzeichen der Mantisse

Exponent, 8 Bit Mantisse, 32 Bit

0 0 1 1 1 1 1 1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 1 0 0

Bild 12-8 Umwandeln einer Ganzzahl (32 Bit) in eine Gleitpunktzahl (32 Bit, IEEE FP) mit der Operation DTR

Eine Zusammenfassung der möglichen Umwandlungsoperationen finden Siein Bild 12-13 am Ende des Kapitels 12.2.

Ganzzahl (32 Bit)wandeln in Gleit-punktzahl (32-Bit,IEEE-FP): DTR

Umwandlungsoperationen

Page 154: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

12-8Anweisungsliste (AWL) für S7-300/400

C79000-G7000-C565-01

12.2 Umwandeln von Gleitpunktzahlen (32 Bit) in Ganzzahlen (32 Bit)

Mit den folgenden Operationen können Sie eine Gleitpunktzahl (32 Bit,IEEE-FP) in AKKU 1 in eine Ganzzahl (32 Bit) umwandeln. Die einzelnenOperationen unterscheiden sich in ihrer Art des Rundens.

Mne-monik

Operation Bedeutung

RND Runden zur Ganz-zahl

Diese Operation rundet die umgewandelte Zahl zurnächsten Ganzzahl. Wenn der Bruch der umgewan-delten Zahl genau zwischen einem geraden undeinem ungeraden Ergebnis liegt, wählt die Opera-tion das gerade Ergebnis.

RND+ Runden zur nächst-höheren Ganzzahl

Diese Operation rundet die umgewandelte Zahl zurkleinsten Ganzzahl, die größer als oder gleich derumgewandelten Gleitpunktzahl ist.

RND- Runden zur nächst-niederen Ganzzahl

Diese Operation rundet die umgewandelte Zahl zurgrößten Ganzzahl, die kleiner als oder gleich derumgewandelten Gleitpunktzahl ist.

TRUNC Runden mit Ab-schneiden

Diese Operation wandelt den ganzzahligen Teil derGleitpunktzahl um.

Das Umwandlungsergebnis wird in AKKU 1 gespeichert. Wenn es sich beider Zahl, die umgewandelt werden soll, nicht um eine Gleitpunktzahl handeltoder wenn es sich um eine Gleitpunktzahl handelt, die nicht als Ganzzahl(32 Bit) dargestellt werden kann, findet keine Umwandlung statt, und es wirdein Überlauf angezeigt.

Beschreibung

Umwandlungsoperationen

Page 155: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

12-9Anweisungsliste (AWL) für S7-300/400C79000-G7000-C565-01

Die Operation RND wandelt eine Gleitpunktzahl (32 Bit, IEEE-FP) inAKKU 1 in eine Ganzzahl (32 Bit) um und rundet sie zur nächsten Ganzzahl.Wenn der Bruch der umgewandelten Zahl genau zwischen einer geraden undeiner ungeraden Zahl liegt, wählt die Operation die gerade Zahl als Ergebnis.Das folgende Programmbeispiel enthält die Operation RND. Bild 12-9 zeigt,wie diese Operation arbeitet.

AWL Erläuterung

L MD10

RND

T MD20

Lade den Wert der Gleitpunktzahl (32 Bit, IEEE-FP) aus Merker-doppelwort MD10 in AKKU 1.Wandle die Gleitpunktzahl (32 Bit) in eine Ganzzahl (32 Bit)um, runde zur nächsten Ganzzahl und speichere das Ergebnis inAKKU 1.Transferiere das Ergebnis in das Merkerdoppelwort MD20.

31 ...0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0

0 1 0 0 0 0 1 0 1

T MD20

RND

L MD10

MD20

MD10

“+100”

“+100.5”IEEE

30... 22...

31 ...0

1 1 1 1 1 0 0 1 1 1 0 0

1

T MD20

RND

L MD10

MD20

MD10

“-100”

“-100.5”IEEE

30... 22...

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

IEEE in Ganzzahl (32 Bit)

Ganzzahl

IEEE in Ganzzahl (32 Bit)

Ganzzahl

1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 01 0 0

1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 01 0 01 0 0 0 0 1 0 1

Bild 12-9 Umwandeln einer Gleitpunktzahl (32 Bit, IEEE-FP) in eine Ganzzahl (32 Bit) mit der Operation RND

Runden zur Ganz-zahl: RND

Umwandlungsoperationen

Page 156: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

12-10Anweisungsliste (AWL) für S7-300/400

C79000-G7000-C565-01

Die Operation RND+ wandelt eine Gleitpunktzahl (32 Bit, IEEE-FP) inAKKU 1 in eine Ganzzahl (32 Bit) um. Die Operation rundet dieumgewandelte Zahl zur kleinsten Ganzzahl, die größer als oder gleich derumgewandelten Gleitpunktzahl ist. Das folgende Programmbeispiel enthältdie Operation RND+. Bild 12-10 zeigt, wie diese Operation arbeitet.

AWL Erläuterung

L MD10

RND+

T MD20

Lade den Wert der Gleitpunktzahl (32 Bit, IEEE-FP) aus Merker-doppelwort MD10 in AKKU 1.Wandle die Gleitpunktzahl (32 Bit) in eine Ganzzahl (32 Bit)um. Runde zur kleinsten Ganzzahl die größer als oder gleich derumgewandelten Gleitpunktzahl ist und speichere das Ergebnis inAKKU 1.Transferiere das Ergebnis ins Merkerdoppelwort MD20.

31 ...0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 1

0

T MD20

RND+

L MD10

MD20

MD10

“+101”

“+100.5”IEEE

30... 22...

31 ...0

1 1 1 1 1 0 0 1 1 1 0 0

1

T MD20

RND+

L MD10

MD20

MD10

“-100”

“-100.5”IEEE

30... 22...

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

IEEE in Ganzzahl (32 Bit)

IEEE in Ganzzahl (32 Bit)

Ganzzahl

Ganzzahl

1 0 0 0 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 01 0 0

1 0 0 0 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 01 0 0

Bild 12-10 Umwandeln einer Gleitpunktzahl (32 Bit, IEEE-FP) in eine Ganzzahl (32 Bit) mit der Operation RND+

Runden zurnächsthöherenGanzzahl (32 Bit):RND+

Umwandlungsoperationen

Page 157: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

12-11Anweisungsliste (AWL) für S7-300/400C79000-G7000-C565-01

Die Operation RND- wandelt eine Gleitpunktzahl (32 Bit, IEEE-FP) inAKKU 1 in eine Ganzzahl (32 Bit) um. Die Operation rundet dieumgewandelte Zahl zur größten Ganzzahl, die kleiner als oder gleich derumgewandelten Gleitpunktzahl ist. Das folgende Programmbeispiel enthältdie Operation RND–. Bild 12-11 zeigt, wie diese Operation arbeitet.

AWL Erläuterung

L MD10

RND-

T MD20

Lade den Wert der Gleitpunktzahl (32 Bit, IEEE-FP) aus Merker-doppelwort MD10 in AKKU 1.Wandle die Gleitpunktzahl (32 Bit) in eine Ganzzahl (32 Bit)um. Runde zur größten Ganzzahl die kleiner als oder gleich derumgewandelten Gleitpunktzahl ist und speichere das Ergebnis inAKKU 1.Transferiere das Ergebnis ins Merkerdoppelwort MD20.

31 ...0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0

0

T MD20

RND-

L MD10

MD20

MD10

“+100”Ganzzahl

“+100.5”IEEE

30... 22...

31 ...0

1 1 1 1 1 0 0 1 1 0 1 1

1

T MD20

RND-

L MD10

MD20

MD10

“-101”Ganzzahl

“-100.5”IEEE

30... 22...

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

IEEE in Ganzzahl (32 Bit)

IEEE in Ganzzahl (32 Bit)

1 0 0 0 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 01 0 0

1 0 0 0 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 01 0 0

Bild 12-11 Umwandeln einer Gleitpunktzahl (32 Bit, IEEE-FP) in eine Ganzzahl (32 Bit) mit der Operation RND–

Runden zurnächstniederenGanzzahl (32 Bit):RND-

Umwandlungsoperationen

Page 158: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

12-12Anweisungsliste (AWL) für S7-300/400

C79000-G7000-C565-01

Die Operation TRUNC wandelt eine Gleitpunktzahl (32 Bit, IEEE-FP) inAKKU 1 in eine Ganzzahl (32 Bit) um. Die Operation wandelt denganzzahligen Teil der Gleitpunktzahl um. Das folgende Programmbeispielenthält die Operation TRUNC. Bild 12-12 zeigt, wie diese Operation arbeitet.

AWL Erläuterung

L MD10

TRUNC

T MD20

Lade den Wert der Gleitpunktzahl (32 Bit, IEEE-FP) aus Mer-kerdoppelwort MD10 in AKKU 1.Wandle die Gleitpunktzahl (32 Bit) in eine Ganzzahl (32 Bit)um. Wandle den ganzzahligen Teil der Gleitpunktzahl um undspeichere das Ergebnis in AKKU 1.Transferiere das Ergebnis ins Merkerdoppelwort MD20.

31 ...0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0

0

T MD20

TRUNC

L MD10

MD20

MD10

“+100”Ganzzahl

“+100.5”IEEE

30... 22...

31 ...0

1 1 1 1 1 0 0 1 1 1 0 0

1

T MD20

TRUNC

L MD10

MD20

MD10

“-100”Ganzzahl

“-100.5”IEEE

30... 22...

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

IEEE in Ganzzahl (32 Bit)

IEEE in Ganzzahl (32 Bit)

1 0 0 0 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 01 0 0

1 0 0 0 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 01 0 0

Bild 12-12 Umwandeln einer Gleitpunktzahl (32 Bit, IEEE-FP) in eine Ganzzahl (32 Bit) mit der Operation TRUNC

Bild 12-13 faßt die Umwandlungs- und Rundungsoperationen zusammen(siehe auch Kapitel 12.1 und 12.2).

16 Bit

32 Bit

32 BitIEEE

3-stellig

7-stellig

BCD BTI Ganzzahl GleitpunktzahlITB

BTDDTB

ITD

DTR

RND, RND+, RND-,TRUNC

Bild 12-13 Übersicht über die Umwandlungs- und Rundungsoperationen

Runden mit Ab-schneiden: TRUNC

Zusammenfassungder Umwandlungs-operationen

Umwandlungsoperationen

Page 159: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

12-13Anweisungsliste (AWL) für S7-300/400C79000-G7000-C565-01

12.3 Umkehren der Reihenfolge der Bytes in AKKU 1

Mit den folgenden Operationen können Sie die Reihenfolge der Bytes imniederwertigen Wort von AKKU 1 oder im gesamten Akkumulatorumkehren:

� TAW: Tausche Reihenfolge in AKKU 1 (16 Bit)

� TAD: Tausche Reihenfolge in AKKU 1 (32 Bit)

Die Operation TAW kehrt die Reihenfolge der Bytes im niederwertigen Wortvon AKKU 1 um (siehe Bild 12-14).

31... ...16 15... ...0

0 1 0 1MD10

MD20

1 1 1 1 1 0 1 0 0 0 0 0 1 1 1 1 1 0 1 0 0 1 0 1 0 0 0 0L MD10

T MD20

TAW

0 1 0 1 1 1 1 1 1 0 1 0 0 0 0 0 0 1 0 1 0 0 0 0 1 1 1 1 1 0 1 0

Bild 12-14 Umkehren der Reihenfolge der Bytes im niederwertigen Wort von AKKU 1 mit der Operation TAW

Die Operation TAD kehrt die Reihenfolge aller Bytes in AKKU 1 um (sieheBild 12-15).

31... ...16 15... ...0

0 1 0 1MD10

MD20

1 1 1 1 1 0 1 0 0 0 0 0 1 1 1 1 1 0 1 0 0 1 0 1 0 0 0 0L MD10

T MD20

TAD

0 1 0 1 0 0 0 0 1 1 1 1 1 0 1 0 0 0 0 0 0 1 0 1 1 1 1 11 0 1 0

Bild 12-15 Umkehren der Reihenfolge der Bytes in AKKU 1 mit der Operation TAD

Beschreibung

TAW

TAD

Umwandlungsoperationen

Page 160: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

12-14Anweisungsliste (AWL) für S7-300/400

C79000-G7000-C565-01

12.4 Bilden der Komplemente von Ganzzahlen und Wechseln des Vorzei-chens einer Gleitpunktzahl

Beim Bilden des Einerkomplements einer Ganzzahl im Akkumulator werdendie einzelnen Bits umgekehrt, d. h. die Nullen werden durch Einsen und dieEinsen durch Nullen ersetzt.

Beim Bilden des Zweierkomplements einer Ganzzahl im Akkumulator werdenebenfalls die einzelnen Bits umgekehrt, d. h. die Nullen werden durch Einsenund die Einsen durch Nullen ersetzt. Dann wird +1 zum Inhalt desAkkumulators addiert. Wenn Sie das Zweierkomplement einer Ganzzahl bilden,dann entspricht dies der Multiplikation der Zahl mit –1. Das Wechseln desVorzeichens einer Gleitpunktzahl kehrt das Vorzeichenbit um.

Sie können mit den folgenden Operationen die Komplemente von Ganz-zahlen bilden oder das Vorzeichen einer Gleitpunktzahl wechseln:

Mne-monik

Operation Bedeutung

INVI 1-KomplementGanzzahl (16 Bit)

Diese Operation bildet das Einerkomplement des16-Bit-Werts im niederwertigen Wort von AKKU 1.Das Ergebnis wird im niederwertigen Wort von AKKU 1 gespeichert (siehe Bild 12-16).

INVD 1-KomplementGanzzahl (32 Bit)

Diese Operation bildet das Einerkomplement des32-Bit-Werts in AKKU 1. Das Ergebnis wird in AKKU 1 gespeichert.

NEGI 2-KomplementGanzzahl (16 Bit)

Diese Operation bildet das Zweierkomplement eines 16-Bit-Werts im niederwertigen Wort vonAKKU 1, d. h. sie multipliziert ihn mit -1. DasErgebnis wird im niederwertigen Wort von AKKU 1gespeichert (siehe Bild 12-17). Im Statuswort (sieheKapitel 3.4) setzt die Operation NEGI die Bits A1,A0, OV und OS.

NEGD 2-KomplementGanzzahl (32 Bit)

Diese Operation bildet das Zweierkomplement des32-Bit-Werts in AKKU 1, d. h. sie multipliziert ihnmit -1. Das Ergebnis wird in AKKU 1 gespeichert.Im Statuswort (siehe Kapitel 3.4) setzt die OperationNEGI die Bits A1, A0, OV und OS.

NEGR Vorzeichen einerGleitpunktzahl wech-seln

Diese Operation kehrt das Vorzeichenbit (Bit 31) derGleitpunktzahl (32 Bit, IEEE-FP) in AKKU 1 um(siehe Bild 12-18).

Beschreibung

Umwandlungsoperationen

Page 161: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

12-15Anweisungsliste (AWL) für S7-300/400C79000-G7000-C565-01

AWL-Programm

Bitmuster

L DBW30 Lade den Wert von Datenwort DBW30 in das niederwertige Wort von AKKU 1.INVI Bilde das Einerkomplement des Wert im niederwertigen Wort von AKKU 1.T DBW32 Übertrage den Inhalt des niederwertigen Worts von AKKU 1 zu Datenwort DBW32.

0 1 0 1L DBW30

T DBW32

INVI Einerkomplement Ganzzahl

1 1 0 1 0 0 1 1 1 0 0 0

1 0 1 0 0 0 1 0 1 1 0 0 0 1 1 1

Bild 12-16 Bilden des Einerkomplements einer Ganzzahl (16 Bit)

AWL-Programm

Bitmuster

L DBW40 Lade den Wert von Datenwort DBW40 in das niederwertige Wort von AKKU 1.NEGI Bilde das Zweierkomplement des Werts im niederwertigen Wort von AKKU 1.T DBW42 Übertrage den Inhalt des niederwertigen Worts von AKKU 1 zu Datenwort DBW42.

0 1 0 1L DBW40

T DBW42

NEGI Zweierkomplement Ganzzahl

1 1 0 1 0 0 1 1 1 0 0 0

1 0 1 0 0 0 1 0 1 1 0 0 1 0 0 0

“23.864”Ganzzahl

“–23.864”Ganzzahl

Bild 12-17 Bilden des Zweierkomplements einer Ganzzahl (16 Bit)

Umwandlungsoperationen

Page 162: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

12-16Anweisungsliste (AWL) für S7-300/400

C79000-G7000-C565-01

1 0 0 0 0 00 0 0 00 0 0 000 0 000 0 01 10 00 0 01 0 0

0 0 0 00 0 0 00 0 0 00 0 0 00 0 0 00100100 0000 1

0 0

037 481112Bits

Mantissen-vorzeichen:V (1 Bit)

151619202324272831

Exponent: e(8 Bit)

e = 27 + 21 = 1301.f � 2e–bias = 1,25 � 23 = 10,0[1,25 � 2(130–127) = 1,25 � 23 = 10,0]

Mantisse: f(23 Bit)

f = 2–2 = 0,25

1 0 0 0 1 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Hexadezimal-wert 4 1 2 0 0 0 0 0

Dezimalwert 10.0

AWL-Programm

L DBD62 Lade den Wert von Datendoppelwort DBD62 in AKKU 1NEGR Kehre das Vorzeichen des Werts in AKKU 1 um.T DBD66 Übertrage den Inhalt von AKKU 1 in Datendoppelwort DBD66.

L DBD62

T DBD66

NEGR Vorzeichen einer Gleitpunktzahlwechseln

Mantissenvorzeichen (0 = positiv, 1 = negativ)

Bild 12-18 Umkehren des Vorzeichens einer Gleitpunktzahl

Umwandlungsoperationen

Page 163: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

13-1Anweisungsliste (AWL) für S7-300/400C79000-G7000-C565-01

Wortverknüpfungsoperationen

Im Kapitel finden Sie auf Seite

13.1 Übersicht 13-2

13.2 Wortverknüpfungsoperationen (16 Bit) 13-3

13.3 Wortverknüpfungen (32 Bit) 13-6

Kapitelübersicht

13

Page 164: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

13-2Anweisungsliste (AWL) für S7-300/400

C79000-G7000-C565-01

13.1 Übersicht

Durch Wortverknüpfungsoperationen werden Paare von Wörtern (16 Bits)oder Doppelwörtern (32 Bits) entsprechend den Booleschen Verknüpfungenbitweise miteinander verknüpft. Jedes der beiden Wörter oder Doppelwörtermuß sich in einem der beiden Akkumulatoren befinden.

Bei der Verknüpfung von Wörtern wird der Inhalt des niederwertigen Wortsvon AKKU 2 mit dem Inhalt des niederwertigen Worts von AKKU 1verknüpft. Das Verknüpfungsergebnis wird im niederwertigen Wort vonAKKU 1 gespeichert, wobei der alte Inhalt überschrieben wird.

Bei der Verknüpfung von Doppelwörtern wird der Inhalt von AKKU 2 mitdem Inhalt von AKKU 1 verknüpft. Das Verknüpfungsergebnis wird inAKKU 1 gespeichert, wobei der alte Inhalt überschrieben wird.

Beträgt das Verknüpfungsergebnis ”0”, wird das Bit A1 des Statusworts auf”0” zurückgesetzt. Beträgt das Verknüpfungsergebnis nicht ”0”, dann wirddas Bit A1 des Statusworts auf ”1” gesetzt. In jedem Fall werden die Bits A0und OV im Statuswort auf ”0” zurückgesetzt.

Die folgenden Operationen stehen Ihnen für Wortverknüpfungen zurVerfügung:

Mnemonik Operation Bedeutung

UW Und Wort (16 Bit) Verknüpft zwei Wörter bitweise nachder UND-Wahrheitstabelle

OW Oder Wort (16 Bit) Verknüpft zwei Wörter bitweise nachder ODER-Wahrheitstabelle

XOW Exklusiv Oder Wort (16 Bit) Verknüpft zwei Wörter bitweise nachder EXKLUSIV ODER-Wahrheitsta-belle

UD Und Doppelwort (32 Bit) Verknüpft zwei Doppelwörter bitweisenach der UND-Wahrheitstabelle

OD Oder Doppelwort (32 Bit) Verknüpft zwei Doppelwörter bitweisenach der ODER-Wahrheitstabelle

XOD Exklusiv-Oder Doppelwort(32 Bit)

Verknüpft zwei Doppelwörter bitweisenach der EXKLUSIV-ODER-Wahrheitstabelle

Die Operationen UW, OW oder XOW können eine 16-Bit-Konstante alsOperanden verwenden. Die Operation verknüpft den Inhalt desniederwertigen Worts von AKKU 1 mit der 16-Bit-Konstanten.

Die Operationen UD, OD oder XOD können eine 32-Bit-Konstante alsOperanden verwenden.

Beschreibung

Akkumulator-verwaltung

Einfluß auf Bitsdes Statusworts

Welche Operatio-nen stehen Ihnenzur Verfügung?

Konstanten alsOperanden

Wortverknüpfungsoperationen

Page 165: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

13-3Anweisungsliste (AWL) für S7-300/400C79000-G7000-C565-01

13.2 Wortverknüpfungsoperationen (16 Bit)

Die Operationen UW, OW, XOW Und Wort (16 Bit), Oder Wort (16 Bit) undExklusiv-Oder Wort (16 Bit) verknüpfen Wortpaare (16 Bit) bitweiseentsprechend den Booleschen Verknüpfungen.

Mnemonic Operation VKEvor Ausführung

Operand Ergebnisim VKE

UW UND WORT 0011

0101

0001

OW ODER WORT 0011

0101

0111

XOW EXKLUSIV ODERWORT

0011

0101

0110

Bei einer Operation, die 16-Bit-Wörter verknüpft, wird der Inhalt desniederwertigen Worts von AKKU 2 mit dem Inhalt des niederwertigen Wortsvon AKKU 1 verknüpft. Das Verknüpfungsergebnis wird im niederwertigenWort von AKKU 1 gespeichert, wobei der alte Inhalt überschrieben wird. DerInhalt des höherwertigen Worts von AKKU 1 und beide Wörter von AKKU 2bleiben unverändert (siehe Bild 13-1).

AKKU 2

AKKU 1

31 016 15

31 016 15

III

II I

IV III

UW, OW, XOW

II III v. I

Akkumulator-Inhalt vorWortverknüpfungsoperation

VerknüpfungIV

v=verknüpft mit

AKKU 2

AKKU 1

Akkumulator-Inhalt nachWortverknüpfungsoperation

Bild 13-1 Verknüpfen der Inhalte der niederwertigen Wörter von AKKU 2 und 1

Beschreibung

Beziehung zu denAkkumulatoren

Wortverknüpfungsoperationen

Page 166: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

13-4Anweisungsliste (AWL) für S7-300/400

C79000-G7000-C565-01

Das folgende Programmbeispiel enthält die Operation UW. Bild 13-2 zeigt, wie diese Operation arbeitet.

AWL Erläuterung

L MW10

L MW20

UW

T MW24

Lade den Inhalt von Merkerwort MW10 in AKKU 1.

Lade den Inhalt von Merkerwort MW20 in AKKU 1.Der alte Inhalt von AKKU 1 wird in AKKU 2 geschoben.Der Inhalt des niederwertigen Worts von AKKU 2 wird bitweisenach der UND-Wahrheitstabelle mit dem Inhalt des niederwertigenWorts von AKKU 1 verknüpft. Das Ergebnis wird im niederwertigenWort von AKKU 1 gespeichert.Transferiere den Inhalt von AKKU 1 ins Merkerwort MW24.

15... ...8 7... ...0

0 1 0 1 1 1 1 0 1 0 1 0

1 0 1 0 0 1 0 1 0 1 1 1

0 1 1 0

1 0 1 0

0 0 0 0 0 1 0 0 0 0 1 00 0 1 0

MW10

MW20

MW24

UND bitweise

Bild 13-2 Verknüpfen zweier Wörter mit der Operation UW

Die Operationen UW, OW oder XOW können eine 16-Bit-Konstante alsOperanden verwenden. Die Operation verknüpft den Inhalt desniederwertigen Worts von AKKU 1 mit der 16-Bit-Konstanten, die in derAnweisung angegeben ist. Das Verknüpfungsergebnis wird im niederwertigenWort von AKKU 1 gespeichert. AKKU 2 und das höherwertige Wort vonAKKU 1 bleiben unverändert (siehe Bild 13-3).

31 016 15

31 016 15

IV III

II I

IV III

UW2#, OW2#,XOW2#

II I v. 2#

AKKU 2

AKKU 1

Akkumulator-Inhalt vorWortverknüpfungsoperation

Verknüpfung

v=verknüpft mit

AKKU 2

AKKU 1

Akkumulator-Inhalt nachWortverknüpfungsoperation

Bild 13-3 Verknüpfen des niederwertigen Worts von AKKU 1 mit einer 16-Bit-Konstanten

Beispiel für dieOperation UW

Verknüpfen vonAkkumulator undKonstante

Wortverknüpfungsoperationen

Page 167: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

13-5Anweisungsliste (AWL) für S7-300/400C79000-G7000-C565-01

Das folgende Programmbeispiel enthält die Operation UW, die dieVerknüpfung mit einer in der Anweisung angegebenen 16-Bit-Konstantenvornimmt. Bild 13-4 zeigt, wie diese Operation arbeitet.

AWL Erläuterung

L MW10

UW 2#1010_1010_0101_0101

T MW24

Lade den Inhalt von Merkerwort MW10 in AKKU 1.

Der Inhalt des niederwertigen Worts von AKKU 1 wirdnach der UND-Wahrheitstabelle bitweise mit1010_1010_0101_0101 verknüpft. Das Ergebnis wird im niederwertigen Wort von AKKU 1gespeichert.Transferiere den Inhalt von AKKU 1 ins MerkerwortMW24.

15... ...8 7... ...0

0 0 0 0

1 1 1 0 1 0 1 0

1 0 1 0 0 1 0 1

0 1 1 0

1 0 1 0

0 1 0 01 0 1 0

MW10

Wert in der AnweisungUW

MW24

UND bitweise

0 1 0 1

0 0 0 0

0 1 0 1

Bild 13-4 Operation UW mit einer 16-Bit-Konstanten

Beispiel für dieOperation UW miteiner Konstanten

Wortverknüpfungsoperationen

Page 168: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

13-6Anweisungsliste (AWL) für S7-300/400

C79000-G7000-C565-01

13.3 Wortverknüpfungen (32 Bit)

Die Operationen Und Doppelwort, Oder Doppelwort und Exklusiv-OderDoppelwort (UD, OD, XOD) verknüpfen Wortpaare (32 Bit) bitweiseentsprechend den Booleschen Verknüpfungen.

Mnemonic Operation VKEvor Ausführung

Operand Ergebnisim VKE

UD UNDDOPPELWORT

0011

0101

0001

OD ODERDOPPELWORT

0011

0101

0111

XOD EXKLUSIV ODERDOPPELWORT

0011

0101

0110

Bei Operationen, die Doppelwörter verknüpfen, wird der Inhalt von AKKU 2mit dem Inhalt von AKKU 1 verknüpft. Das Verknüpfungsergebnis wird inAKKU 1 gespeichert, wobei der alte Inhalt überschrieben wird. Der Inhaltvon AKKU 2 bleibt unverändert (siehe Bild 13-5).

31 016 15

31 016 15

IV III

II I

IV III

UD, OD, XOD

IV v. II III v. I

AKKU 2

AKKU 1

Akkumulator-Inhalt vorWortverknüpfungsoperation

Verknüpfung

v=verknüpft mit

AKKU 2

AKKU 1

Akkumulator-Inhalt nachWortverknüpfungsoperation

Bild 13-5 Verknüpfen der Inhalte von AKKU 2 und 1

Beschreibung

Beziehung zu denAkkumulatoren

Wortverknüpfungsoperationen

Page 169: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

13-7Anweisungsliste (AWL) für S7-300/400C79000-G7000-C565-01

Das folgende Programmbeispiel enthält die Operation UD. Bild 13-6 zeigt, wie diese Operation arbeitet.

AWL Erläuterung

L MD10L MD20

UD

T MD24

Lade den Inhalt von Merkerdoppelwort MD10 in AKKU 1.Lade den Inhalt von Merkerdoppelwort MD20 in AKKU 1. Der alte Inhalt von AKKU 1 wird in AKKU 2 geschoben.Der Inhalt von AKKU 2 wird nach der UND-Wahrheitstabelle bit-weise mit dem Inhalt von AKKU 1 verknüpft. Das Ergebnis wird inAKKU 1 gespeichert.Transferiere den Inhalt von AKKU 1 ins Merkerdoppelwort MD24.

0 1 0 1

31... ...16 15... ...0

0 1 1 0MD10

MD20

MD24

UND bitweise

1 0 0 1 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 1 0 0 1 1 1

1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 0 1 0 1 0 1 0 1 0 1 0 1

0 0 0 00 0 1 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1

Bild 13-6 Operation UD

Die Operation UD, OD oder XOD kann eine 32-Bit-Konstante als Operandenverwenden. Die Operation verknüpft den Inhalt von AKKU 1 mit der32-Bit-Konstanten, die in der Anweisung angegeben ist. DasVerknüpfungsergebnis wird in AKKU 1 gespeichert. AKKU 2 bleibtunverändert (siehe Bild 13-7).

31 016 15

31 016 15

IV III

II I

IV III

UD, OD, XODDW#16#

II v. DW#16# I v. DW#16#

AKKU 2

AKKU 1

Akkumulator-Inhalt vorWortverknüpfungsoperation

Verknüpfung

v=verknüpft mit

AKKU 2

AKKU 1

Akkumulator-Inhalt nachWortverknüpfungsoperation

Bild 13-7 Verknüpfen von AKKU 1 mit einer 32-Bit-Konstanten

Beispiel für dieOperation UD

Verknüpfen vonAkkumulator undKonstante

Wortverknüpfungsoperationen

Page 170: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

13-8Anweisungsliste (AWL) für S7-300/400

C79000-G7000-C565-01

Das folgende Programmbeispiel enthält die Operation UD, die dieVerknüpfung mit einer in der Anweisung angegebenen 32-Bit-Konstantenvornimmt. Bild 13-8 zeigt, wie diese Operation arbeitet.

AWL Erläuterung

L MD10UD DW#16#AAAA_5555

T MD24

Lade den Inhalt von Merkerdoppelwort MD10 in AKKU 1.Der Inhalt von AKKU 1 wird nach der UND-Wahrheitstabelle bit-weise mit DW#16#AAAA_5555 verknüpft. Das Ergebnis wird in AKKU 1 gespeichert.Transferiere den Inhalt von AKKU 1 ins Merkerdoppelwort MD24.

0 1 0 1

31... ...16 15... ...0

0 1 1 0MD10

Wert in der AnweisungUD

MD24

UND bitweise

1 0 0 1 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 1 0 0 1 1 1

1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 0 1 0 1 0 1 0 1 0 1 0 1

0 0 0 00 0 1 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1

Bild 13-8 Operation UD mit einer 32-Bit-Konstanten

Beispiel für dieOperation UD miteiner Konstanten

Wortverknüpfungsoperationen

Page 171: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

14-1Anweisungsliste (AWL) für S7-300/400C79000-G7000-C565-01

Schiebe- und Rotieroperationen

Im Kapitel finden Sie auf Seite

14.1 Schiebeoperationen 14-2

14.2 Rotieroperationen 14-6

Kapitelübersicht

14

Page 172: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

14-2Anweisungsliste (AWL) für S7-300/400

C79000-G7000-C565-01

14.1 Schiebeoperationen

Mit den Schiebeoperationen können Sie den Inhalt des niederwertigen Wortsvon AKKU 1 oder den Inhalt des gesamten Akkumulators bitweise nach linksoder rechts schieben. Ein Schieben um n Bits nach links multipliziert denAkkumulatorinhalt mit 2n, ein Schieben um n Bits nach rechts dividiert denAkkumulatorinhalt durch 2n. Wenn Sie also beispielsweise das binäreÄquivalent des Dezimalwerts 3 um 3 Bits nach links schieben, so ergibt sichdas binäre Äquivalent des Dezimalwerts 24 im Akkumulator. Schieben Siedas binäre Äquivalent des Dezimalwerts 16 um 2 Bits nach rechts, so ergibtsich das binäre Äquivalent des Dezimalwerts 4 im Akkumulator.

Die Zahl, die auf eine Schiebeoperation oder einen Wert im niederwertigenByte des niederwertigen Worts von AKKU 2 folgt, gibt an, um wieviele Bitsgeschoben werden soll. Die Stellen, die durch die Schiebeoperation frei wer-den, werden entweder mit Nullen oder dem Signalzustand des Vorzeichenbitsaufgefüllt (”0” steht für positiv, ”1” für negativ). Das zuletzt geschobene Bitwird in das Bit A1 des Statusworts geladen (siehe Bild 2-7). Die Bits A0 undOV im Statuswort werden auf ”0” rückgesetzt. Mit den Sprungoperationenkönnen Sie das Bit A1 auswerten.

Die Schiebeoperationen sind absolut, d. h. ihre Ausführung hängt nicht vonbestimmten Bedingungen ab. Sie beeinflussen das Verknüpfungsergebnisnicht.

Die folgenden Operationen schieben den Inhalt des niederwertigen Worts vonAKKU 1 bitweise nach links oder rechts:

� SLW: Schiebe links Wort (16 Bit)

� SRW: Schiebe rechts Wort (16 Bit)

Die folgenden Operationen schieben den gesamten Inhalt von AKKU 1bitweise nach links oder rechts:

� SLD: Schiebe links Doppelwort (32 Bit)

� SRD: Schiebe rechts Doppelwort (32 Bit)

In allen Fällen werden die frei gewordenen Bitpositionen mit Nullen auf-gefüllt.

Das folgende Programmbeispiel und Bild 14-1 zeigen, wie die OperationSLW arbeitet. In Tabelle 14-1 finden Sie eine Zusammenfassung allerSchiebeoperationen.

AWL Erläuterung

L MW10

SLW 6

T MW20

Lade den Inhalt von Merkerwort MW10 ins niederwertige Wort vonAKKU 1.Schiebe die Bits im niederwertigen Wort von AKKU 1 um sechsStellen nach links.Transferiere den Inhalt vom niederwertigen Wort von AKKU 1 insMerkerwort MW20.

Beschreibung

Schiebeoperatio-nen: Zahlen ohneVorzeichen

Schiebe links Wort(16 Bit): SLW

Schiebe- und Rotieroperationen

Page 173: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

14-3Anweisungsliste (AWL) für S7-300/400C79000-G7000-C565-01

15... ...8 7... ...0

0 1 0 1

0 1 0 1 0 1 0 10 0 0 0

0 1 0 01 1 0 1 0 0 0 0

1 1 1 1

0 0 0 0 1 1

6 Stellen

Das zuletzt geschobene Bit wird imBit A1 des Statusworts gespeichert.

Diese fünf Bitsgehenverloren.

Die frei gewordenenStellen werden mitNullen aufgefüllt.

Bild 14-1 Schieben der Bits im niederwertigen Wort von AKKU 1 um sechs Bits nach links

Das folgende Programmbeispiel und Bild 14-2 zeigen, wie die OperationSRD arbeitet. In Tabelle 14-1 finden Sie eine Zusammenfassung allerSchiebeoperationen.

AWL Erläuterung

L +3L MD10

SRDT MD20

Lade den Wert +3 in AKKU 1.Lade den Inhalt von Merkerdoppelwort MD10 in AKKU 1. Der alteInhalt von AKKU 1 (+3) wird in AKKU 2 geschoben.Schiebe die Bits in AKKU 1 um drei Stellen nach rechts.Transferiere den Inhalt von AKKU 1 ins Merkerdoppelwort MD20.

1 1 1

31... ...16 15... ...0

1 1 1 1 1 1 1 1 0 1 0 1 0 1 0 1 1 0 1 0 1 0 1 0 1 1 1 1 1 1 1 1

0 1 0 10 0 0 1 1 1 1 1 1 1 1 0 1 0 1 0 1 0 1 1 0 1 0 1 1 1 1 1

3 Stellen

Die frei gewordenenStellen werden mitNullen aufgefüllt.

Das zuletzt geschobene Bit wird imBit A1 des Statusworts gespeichert.

Diese beiden Bitsgehen verloren.

Bild 14-2 Schieben der Bits von AKKU 1 um drei Bits nach rechts

Schiebe rechtsWort (32 Bit): SRD

Schiebe- und Rotieroperationen

Page 174: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

14-4Anweisungsliste (AWL) für S7-300/400

C79000-G7000-C565-01

Die Operation SSI Schiebe Vorzeichen Ganzzahl (16 Bit) schiebt den Inhaltdes niederwertigen Worts von AKKU 1 einschließlich Vorzeichen bitweisenach rechts.

Die Operation SSD Schiebe Vorzeichen Ganzzahl (32 Bit) schiebt dengesamten Inhalt von AKKU 1 einschließlich Vorzeichen bitweise nach rechts.

Das Vorzeichenbit wird in die freigewordenen Bitpositionen kopiert.

Das folgende Programmbeispiel und Bild 14-3 zeigen, wie die Operation SSIarbeitet. In Tabelle 14-1 finden Sie eine Zusammenfassung allerSchiebeoperationen.

AWL Erläuterung

L MW10

SSI 4

T MW20

Lade den Inhalt von Merkerwort MW10 ins niederwertige Wort vonAKKU 1.

Schiebe die Bits im niederwertigen Wort von AKKU 1 einschließ-lich Vorzeichen um vier Stellen nach rechts.

Transferiere den Inhalt vom niederwertigen Wort von AKKU 1 insMerkerwort MW20.

15... ...8 7... ...0

1 0 1 0

0 0 0 0 1 0 1 01 0 1 0

1 1 1 11 1 1 1 0 0 0 0

1 1 1 1

4 Stellen

Das zuletzt geschobene Bit wirdim Bit A1 des Statusworts gespei-chert.

Die frei gewordenenStellen werden mit demSignalzustand des Vor-zeichenbits aufgefüllt.

1 0 1 0

Diese drei Bitsgehen verloren.

Vorzeichen

Bild 14-3 Schieben der Bits im niederwertigen Wort von AKKU 1 einschließlich Vorzeichen um vier Bits nach rechts

Schiebe-operationen: Zah-len mit Vorzeichen

SchiebeVorzeichenGanzzahl (16 Bit):SSI

Schiebe- und Rotieroperationen

Page 175: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

14-5Anweisungsliste (AWL) für S7-300/400C79000-G7000-C565-01

Tabelle 14-1 Übersicht über die Schiebeoperationen

Operation Betroffener Bereich

Richtung Angabe, um wieviele Stel-len geschoben werden soll

Frei gewor-dene Stellen

ausfüllenmit

Schiebe-bereich 1)

SLW n NiederwertigesWort von AKKU 1

Links in der Anweisung 0 n=0 bis 15

SLW NiederwertigesWort von AKKU 1

Links im niederwertigen Byte desniederwertigen Worts vonAKKU 2

0 0 bis 2552)

SLD n AKKU 1 Links in der Anweisung 0 n=0 bis 32

SLD AKKU 1 Links im niederwertigen Byte desniederwertigen Worts vonAKKU 2

0 0 bis 2553)

SRW n NiederwertigesWort von AKKU 1

Rechts in der Anweisung 0 n=0 bis 15

SRW NiederwertigesWort von AKKU 1

Rechts im niederwertigen Byte desniederwertigen Worts vonAKKU 2

0 0 bis 2552)

SRD n AKKU 1 Rechts in der Anweisung 0 n=0 bis 32

SRD AKKU 1 Rechts im niederwertigen Byte desniederwertigen Worts vonAKKU 2

0 0 bis 2553)

SSI n NiederwertigesWort von AKKU 1

Rechts in der Anweisung Vorzeichenbit n=0 bis 15

SSI NiederwertigesWort von AKKU 1

Rechts im niederwertigen Byte desniederwertigen Worts vonAKKU 2

Vorzeichenbit 0 bis 2554)

SSD n AKKU 1 Rechts in der Anweisung Vorzeichenbit n=0 bis 32

SSD AKKU 1 Rechts im niederwertigen Byte desniederwertigen Worts vonAKKU 2

Vorzeichenbit 0 bis 2555)

1) Beträgt die Anzahl der Bits, um die geschoben werden soll, 0, dann wird die Operation wie eine Nulloperationausgeführt.

2) Bei einem Wert größer als 16, ist das Ergebnis der Schiebefunktion W#16#0000 und A1 = 0.3) Bei einem Wert größer als 32, ist das Ergebnis der Schiebefunktion DW#16#0000_0000 und A1 = 0.4) Bei einem Wert größer als 15, ist das Ergebnis der Schiebefunktion je nach Vorzeichen (0 oder 1) W#16#0000

und A1 = 0 oder W#16#FFFF und A1 = 1.

5) Bei einem Wert größer als 31, ist das Ergebnis der Schiebefunktion je nach Vorzeichen der Anzahl der Bits, diegeschoben werden sollen, DW#16#0000_0000 (A1 = 0) oder DW#16#FFFF_FFFF (A1 = 1).

Schiebe- und Rotieroperationen

Page 176: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

14-6Anweisungsliste (AWL) für S7-300/400

C79000-G7000-C565-01

14.2 Rotieroperationen

Mit den Rotieroperationen können Sie den gesamten Inhalt von AKKU 1bitweise nach links oder rechts rotieren. Die Rotieroperationen lösenFunktionen aus, die den in Kapiteln 14.1 beschriebenen Schiebefunktionenähnlich sind. Die frei gewordenen Stellen werden jedoch mit denSignalzuständen der Bits aufgefüllt, die aus dem Akkumulator geschobenwerden.

Die Zahl, die auf die Rotieroperation folgt oder ein Wert im niederwertigenByte des niederwertigen Worts von AKKU 2, gibt an, um wieviele Bitsrotiert werden soll.

Je nach Operation wird die Rotation über das Bit A1 im Statuswort aus-geführt (siehe Kapitel 2.2). Das Bit A0 im Statuswort wird auf ”0” rück-gesetzt.

Folgende Rotieroperationen stehen Ihnen zur Verfügung:

� RLD: Rotiere links Doppelwort (32 Bit).

� RRD: Rotiere rechts Doppelwort (32 Bit).

� RLDA: Rotiere AKKU 1 links über A1-Anzeige (32 Bit).

� RRDA: Rotiere AKKU 1 rechts über A1-Anzeige (32 Bit).

Beträgt die Anzahl der Bits um die rotiert werden soll 0, dann wird dieOperation wie eine Nulloperation durchgeführt.

Tabelle 14-2 Übersicht über die Rotieroperationen

Operation Über A 1rotieren?

Richtung Angabe, um wieviele Stellen rotiertwerden soll

Schiebe-bereich

RLD n Nein Links in der Anweisung n=0 bis 32

RLD Nein Links im niederwertigen Byte des niederwerti-gen Worts von AKKU 2

0 bis 255

RRD n Nein Rechts in der Anweisung n=0 bis 32

RRD Nein Rechts im niederwertigen Byte des niederwerti-gen Worts von AKKU 2

0 bis 255

RLDA Ja Links – 1 (fest)

RRDA Ja Rechts – 1 (fest)

Beschreibung

Schiebe- und Rotieroperationen

Page 177: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

14-7Anweisungsliste (AWL) für S7-300/400C79000-G7000-C565-01

In Tabelle 14-2 finden Sie eine Zusammenfassung aller Rotieroperationen.Das folgende Programmbeispiel und Bild 14-4 zeigen, wie die OperationRLD arbeitet.

AWL Erläuterung

L MD10RLD 3T MD20

Lade den Inhalt von Merkerdoppelwort MD10 in AKKU 1.Rotiere die Bits in AKKU 1 um drei Stellen nach links.Transferiere den Inhalt von AKKU 1 ins Merkerdoppelwort MD20.

1 1 1

31... ...16 15... ...0

1 1 1 1 0 0 0 0 1 0 1 0 1 0 1 0 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1

0 1 1 11 0 0 0 0 1 0 1 0 1 0 1 0 0 0 0 0 1 1 1 1 0 0 0 1 1 1 1

3 Stellen

Die drei Bits, um die rotiert wur-de, werden auf die frei geworde-nen Stellen gesetzt.

Das zuletzt rotierte Bit wird inA1 gespeichert.

Bild 14-4 Rotieren der Bits von AKKU 1 um drei Bits nach links

Das folgende Programmbeispiel und Bild 14-5 zeigen, wie die OperationRRD arbeitet.

AWL Erläuterung

L +3L MD10

RRDT MD20

Lade den Wert +3 in AKKU 1.Lade den Inhalt von Merkerdoppelwort MD10 in AKKU 1. Der alteInhalt von AKKU 1 (+3) wird in AKKU 2 geschoben.Rotiere die Bits in AKKU 1 um drei Stellen nach rechts.Transferiere den Inhalt von AKKU 1 ins Merkerdoppelwort MD20.

Rotiere linksDoppelwort(32 Bit): RLD

Rotiere rechtsDoppelwort(32 Bit): RRD

Schiebe- und Rotieroperationen

Page 178: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

14-8Anweisungsliste (AWL) für S7-300/400

C79000-G7000-C565-01

1 0 1

31... ...16 15... ...0

1 0 1 0 1 0 1 0 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 1 0 1 0 1 0 1

1 1 1 01 0 1 1 0 1 0 1 0 1 0 0 0 0 0 1 1 1 1 0 0 0 0 1 1 0 1 0

3 Stellen

Das zuletzt rotierte Bitwird ebenfalls in A1 ge-speichert.

Die drei Bits, um die rotiert wurde, wer-den auf die frei gewordenen Stellen ge-setzt.

Bild 14-5 Rotieren der Bits von AKKU 1 um drei Bits nach rechts

Das folgende Programmbeispiel und Bild 14-6 zeigen, wie die OperationRLDA arbeitet.

X

1

31... ...16 15... ...0

1 0 1 0 1 0 1 0 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 1 0 1 0 1 0 1

1 0 1 00 1 0 1 0 1 0 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 1 0 1 X

1 Stelle

Das zuletzt rotierte Bitwird in A1 gespeichert.

A1

Der Signalzustand desBits A1 wird in die frei ge-wordene Stelle geladen.

Bild 14-6 Rotieren des AKKU 1 über das Bit A1 des Statusworts um ein Bit nach links

Die Operation RRDA arbeitet ähnlich wie die Operation RLDA; der einzigeUnterschied besteht darin, daß in die andere Richtung rotiert wird.

Rotiere AKKU 1links überA1-Anzeige(32 Bit): RLDA

Rotiere AKKU 1rechts überA1-Anzeige(32 Bit): RRDA

Schiebe- und Rotieroperationen

Page 179: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

15-1Anweisungsliste (AWL) für S7-300/400C79000-G7000-C565-01

Datenbausteinoperationen

Im Kapitel finden Sie auf Seite

15.1 Öffnen der Datenbausteine 15-2

15.2 Tauschen der Datenbausteinregister 15-2

15.3 Laden der Längen und Nummern von Datenbausteinen 15-3

Kapitelübersicht

15

Page 180: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

15-2Anweisungsliste (AWL) für S7-300/400

C79000-G7000-C565-01

15.1 Öffnen der Datenbausteine

Mit der Operation AUF (Aufschlage Datenbaustein) können Sie einenglobalen Datenbaustein oder einen Instanz-Datenbaustein öffnen. Es kanngleichzeitig im Programm je ein globaler Datenbaustein und ein Instanz-Datenbaustein geöffnet sein.

Die Tabellen 15-1 und 15-2 fassen die Operanden und Operandenbereiche derOperation AUF zusammen.

Tabelle 15-1 Operanden der Operation AUF

Daten-baustein-

Maximaler Adreßbereich je nach Adressierungsartbauste n-bereich direkt speicherindirekt

DBDI

1 bis 65 535

[DBW][DIW][LW][MW]

1 bis 65 534

Tabelle 15-2 Operanden der Operation AUF als Parameter transferiert

Art des geöffneten DB Adreßparameterformat

DBpara BLOCK_DB

DIpara

15.2 Tauschen der Datenbausteinregister

Mit der Operation Tausche Global-DB und Instanz-DB (TDB) können SieDatenbausteinregister tauschen. Ein Global-Datenbaustein wird so zumInstanz-Datenbaustein und umgekehrt.

Beschreibung

Adressierungs-format

Beschreibung

Datenbausteinoperationen

Page 181: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

15-3Anweisungsliste (AWL) für S7-300/400C79000-G7000-C565-01

15.3 Laden der Längen und Nummern von Datenbausteinen

Mit den folgenden Operationen können Sie die Länge oder Nummer einesDatenbausteins oder Instanz-Datenbausteins in AKKU 1 laden:

� L DBLG: Lade Länge Global-DB in AKKU. 1

� L DBNO: Lade Nummer Global-DB in AKKU 1.

� L DILG: Lade Länge Instanz-DB in AKKU 1.

� L DINO: Lade Nummer Instanz-DB in AKKU 1.

Das folgende Programmbeispiel zeigt, wie Sie die Operation L DBLGverwenden, um zur Marke FEHL zu springen, wenn die Länge eines Daten-bausteins 50 Byte oder weniger beträgt. Die Anweisung an der Marke FEHLruft die FC 10 auf, die Sie als eine entsprechende Reaktion für den Fallprogrammiert haben, das die Länge des Datenbausteins 50 Byte oder wenigerbeträgt.

AWL Erläuterung

AUF DB40

L DBLG

L +50

<=I

SPB FEHL

U E 0.0= M 1.0

BEA

FEHL: CALL FC10

Öffne Globaldaten-Baustein DB40.

Lade die Länge des geöffneten Datenbausteins in AKKU 1.

Lade die Ganzzahl +50 in AKKU 1. Der alte Inhalt von AKKU 1 (dieLänge des geöffneten Datenbausteins) wird in AKKU 2 bewegt.

Vergleiche den Inhalt von AKKU 2 (die Länge des geöffneten Daten-bausteins) mit dem Inhalt von AKKU 1 (+50).

Wenn die Länge des Datenbausteins kleiner oder gleich +50 ist,springe zur Marke FEHL. Wenn die Länge des Datenbausteins größer+50 ist, gehe zur nächsten Operation.

Das Programm fährt mit einer Operation UND fort.

Beende den aktuellen Baustein, ungeachtet des Verknüpfungsergeb-nisses.

FC10 enthält eine Reaktion für den Fall, daß die Länge des aktuellgeöffneten Bausteins (DB40) kleiner als oder gleich 50 Bytes ist.

Beschreibung

Beispiele

Datenbausteinoperationen

Page 182: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

15-4Anweisungsliste (AWL) für S7-300/400

C79000-G7000-C565-01

Das folgende Programmbeispiel zeigt, wie Sie die Operation L DBNOverwenden, um den Datenbaustein zu prüfen, der im Augenblick in IhremProgramm geöffnet ist. Mit dieser Operation können Sie feststellen, ob er ineinen bestimmten Bereich von Datenbausteinen fällt, wie z.B. DatenbausteinDB190 bis Datenbaustein DB250.

AWL Erläuterung

L DBNO

L +190

<I

SPB FEHL

L DBNO

L +250

>I

SPB FEHL

SET = M 1.0

BEA

FEHL: CALL FC10

Lade die Nummer des geöffneten Datenbausteins in AKKU 1.

Lade die Ganzzahl +190 als unteren Grenzwert in AKKU 1. Der alteInhalt von AKKU 1 (die Nummer des geöffneten Datenbausteins) wirdin AKKU 2 bewegt.

Vergleiche den Inhalt von AKKU 2 (die Nummer des geöffneten Daten-bausteins) mit dem Inhalt von AKKU 1 (+190).

Wenn die Nummer des Datenbausteins kleiner +190 ist, springe zurMarke FEHL. Wenn die Nummer des Datenbausteins nicht kleiner +190ist, gehe zur nächsten Operation.

Lade die Nummer des geöffneten Datenbausteins in AKKU 1.

Lade die Ganzzahl +250 als oberen Grenzwert in AKKU 1. Der alteInhalt von AKKU 1 (die Nummer des geöffneten Datenbausteins) wirdin AKKU 2 bewegt.

Vergleiche den Inhalt von AKKU 2 (die Nummer des geöffneten Daten-bausteins) mit dem Inhalt von AKKU 1 (+250).

Wenn die Nummer des Datenbausteins größer +250 ist, springe zurMarke FEHL. Wenn die Nummer des Datenbausteins nicht größer +250ist, gehe zur nächsten Operation.

Setze das VKE auf 1.Weise das VKE dem Merker M 1.0 zu.

Beende den aktuellen Baustein, ungeachtet des Verknüpfungsergeb-nisses.

FC10 enthält eine Reaktion für den Fall, daß die Nummer des ak-tuell geöffneten Bausteins nicht im Bereich zwischen 190 und 250liegt.

Datenbausteinoperationen

Page 183: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

16-1Anweisungsliste (AWL) für S7-300/400C79000-G7000-C565-01

Sprungoperationen

Im Kapitel finden Sie auf Seite

16.1 Übersicht 16-2

16.2 Absolute Sprungoperationen 16-3

16.3 Vom Verknüpfungsergebnis abhängige Sprungoperationen 16-4

16.4 Von den Bits BIE, OV oder OS des Statusworts abhängigeSprungoperationen

16-5

16.5 Vom Ergebnis in den Bits A1 und A0 des Statuswortsabhängige Sprungoperationen

16-6

16.6 Programmschleife 16-8

Kapitelübersicht

16

Page 184: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

16-2Anweisungsliste (AWL) für S7-300/400

C79000-G7000-C565-01

16.1 Übersicht

Mit den folgenden Sprungoperationen und der Operation LOOP können Sieden Programmablauf steuern. Diese Operationen ermöglichen es IhremProgramm, seinen linearen Ablauf zu unterbrechen, um die Bearbeitung aneinem anderen Punkt wiederaufzunehmen. Als Operand einer Sprung-operation bzw. der Operation LOOP dient eine Sprungmarke.

Operation Erläuterung

Absolute Sprungoperationen

SPA Springe absolut

SPL Sprungleiste

Bedingte Sprungoperationen, abhängig vom VKE

SPB Springe, wenn VKE = 1

SPBN Springe, wenn VKE = 0

SPBB Springe, wenn VKE = 1 und rette VKE in BIE

SPBNB Springe, wenn VKE = 0 und rette VKE in BIE

Bedingte Sprungoperationen, abhängig von BIE oder OV/OS

SPBI Springe, wenn BIE = 1

SPBIN Springe, wenn BIE = 0

SPO Springe, wenn OV = 1

SPS Springe, wenn OS = 1

Bedingte Sprungoperationen, abhängig vom Ergebnis einer Operation, codiert in A1und A0

SPZ Springe, wenn Ergebnis = 0

SPN Springe, wenn Ergebnis < > 0

SPP Springe, wenn Ergebnis > 0

SPM Springe, wenn Ergebnis < 0

SPMZ Springe, wenn Ergebnis <=0

SPPZ Springe, wenn Ergebnis >=0

SPU Springe, wenn Ergebnis ungültig

Programmschleife

LOOP Springe, wenn Inhalt von AKKU 1 > 0

Obwohl die Operationen für das Master Control Relay ebenfalls den Pro-grammablauf steuern, werden sie in diesem Kapitel nicht behandelt. Die Be-schreibung der MCR-Operationen finden Sie in den Kapiteln 17.4 und 17.5.

Eine Sprungmarke kann Operand einer Sprungoperation sein oder alsMarkierung für das Ziel einer Sprungoperation dienen. Sie besteht aus max.4 Buchstaben. Das erste Zeichen muß ein Buchstabe sein, die anderenZeichen können Buchstaben oder Zahlen sein (z. B. PRT3). AlsZielmarkierung muß die Sprungmarke zusätzlich mit einem Doppelpunktabgeschlossen werden. Der Sprungmarke muß immer eine Anweisung folgen(z. B. PRT3: NOP 0).

Operationen

Sprungmarke

Sprungoperationen

Page 185: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

16-3Anweisungsliste (AWL) für S7-300/400C79000-G7000-C565-01

16.2 Absolute Sprungoperationen

Mit den folgenden Sprungoperationen können Sie den normalen Ablauf IhresProgramms unabhängig von einer Bedingung unterbrechen:

� SPA: Springe absolut.

� SPL: Sprungleiste.

Die Operation SPA unterbricht den normalen Programmablauf und veranlaßtdas Programm, zu einer Sprungmarke zu springen (dem Operanden derOperation SPA). Die Sprungmarke markiert den Punkt, an dem dasProgramm die Bearbeitung wiederaufnehmen soll. Der Sprung wirdunabhängig von einer Bedingung ausgeführt.

Die Operation SPL ist ein Sprungverteiler. An sie schließt sich eine Reihevon absoluten Sprungmarken an (siehe Bild 16-1). Auf diese Leiste wird inAKKU 1 zugegriffen.

Start

L MB100

SPL LIST

SPA PRT0

SPA PRT1

SPA GEMP

SPA PRT3

LIST: SPA GEMP

PRT0:

SPA GEMP

PRT1:

SPA GEMP

PRT3:

GEMP:

Programm-teil 0

GemeinsamesProgramm

Auswahl gemäßProgrammteilnummer

(Sprungverteiler)

GemeinsamesProgramm

Ende

Sprungverteiler

Laden des Ziels:0 = Springe zu PRT01 = Springe zu PRT12 = Springe zu GEMP3 = Springe zu PRT33 = Springe zu LIST=0 =1 =2 =3 >3

Teil 0 Teil 1 Teil 3

Programm-teil 1

Programm-teil 3

>

Bild 16-1 Steuern des Programmablaufs durch die Operation Sprungleiste (SPL)

Beschreibung

SPA: Springe ab-solut

SPL: Sprungleiste

Sprungoperationen

Page 186: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

16-4Anweisungsliste (AWL) für S7-300/400

C79000-G7000-C565-01

16.3 Vom Verknüpfungsergebnis abhängige Sprungoperationen

Die folgenden Sprungoperationen unterbrechen den Programmablauf. IhreAusführung ist vom Verknüpfungsergebnis (VKE) abhängig, das dievorherige Anweisung gebildet hat:

� SPB: Springe, wenn VKE = 1.

� SPBN: Springe, wenn VKE = 0.

� SPBB: Springe, wenn VKE = 1 und speichere das VKE im BIE-Bit desStatusworts.

� SPBNB: Springe, wenn VKE = 0 und speichere das VKE im BIE-Bit desStatusworts.

Unabhängig von der Ausführung des Sprungs werden folgende Bits imStatuswort beschrieben:

OR := 0STA := 1VKE := 1/ER := 0

E 1.0 = 1und E 1.1 = 1

?

Start

Programmteil B

Lösche Inhalt vonMB10.

GemeinsamesProgramm

Nein VKE=1

Ja

VKE=0

Ende

U E 1.0

U E 1.1

SPBN GEMP

L 0

T MB10

GEMP:

Teil B

Gemein-samesProgramm

WennVKE=0

Bild 16-2 Steuern des Programmablaufs durch die Operation SPBN (Springe, wenn VKE = 0)

Beschreibung

Sprungoperationen

Page 187: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

16-5Anweisungsliste (AWL) für S7-300/400C79000-G7000-C565-01

16.4 Von den Bits BIE, OV oder OS des Statusworts abhängige Sprung-operationen

Die folgenden Sprungoperationen unterbrechen den Programmablauf abhän-gig vom Signalzustand eines Bits im Statuswort (siehe Kapitel 2.2).

� SPBI: Springe, wenn BIE = 1 oder SPBIN: Springe, wenn BIE = 0.� SPO: Springe, wenn OV = 1 oder SPS: Springe, wenn OS = 1.

Die Operationen Springe, wenn BIE = 1 (SPBI) und Springe, wenn BIE = 0(SPBIN) setzen die Bits OR und /ER des Statusworts auf ”0” und das STA-Bit auf ”1”. Die Operation SPS setzt das OS-Bit auf ”0” zurück.

Überlaufspeichernd?

Start

Teil C

Lösche<MB10>

Ja

Nein

SPS ODEL

ODEL: L MW12

L MW14

+ I

L MW16

- I

T MW10

SPS PRTC*

SPPZ PRTB

L +10

T MW20

SPA GEMP

PRTB: L +17

T MW30

SPA GEMP

PRTC: L 0

T MW10

GEMP:

Teil A

Teil B

Gemein-samesProgramm

Setze OS-Bitzurück

Berechne<MW10>=<MW12>+<MW14>-<MW16>

Teil A

<MW20> = 10

GemeinsamesProgramm

Ende

Ergebnis<MW10> ≥ 0

Ja

Nein

Teil B

<MW30> = 17

Berechne.

Setze OS-Bitzurück.

Teil C

* Verwenden Sie in diesem Fall nicht dieOperation SPO. Die Operation SPO fragtlediglich die vorherige Operation –I ab, obein Überlauf aufgetreten ist.

Bild 16-3 Steuern des Programmablaufs durch die Operation SPS (Springe, wenn OS = 1)

Beschreibung

Sprungoperationen

Page 188: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

16-6Anweisungsliste (AWL) für S7-300/400

C79000-G7000-C565-01

16.5 Vom Inhalt der Bits A1 und A0 des Statusworts abhängige Sprung-operationen

Die folgenden Sprungoperationen unterbrechen den Programmablaufabhängig vom Ergebnis einer vorhergehenden Operation:

� SPZ: Springe, wenn Ergebnis = 0.

� SPN: Springe, wenn Ergebnis < > 0.

� SPP: Springe, wenn Ergebnis > 0.

� SPM: Springe, wenn Ergebnis < 0.

� SPMZ: Springe, wenn Ergebnis <=0 (d.h. kleiner als oder gleich Null).

� SPPZ: Springe, wenn Ergebnis >= 0 (d.h. größer als oder gleich Null,siehe Bild 16-4).

� SPU: Springe, wenn ungültig (d.h. eine der Zahlen in einer arithmetischenOperation mit Gleitpunktzahlen ist keine gültige Gleitpunktzahl).

Abhängig vom Ergebnis der vorhergehenden Operation werden dieAnzeigenbits A1 und A0 des Statusworts beschrieben. Die Signalzuständeder Bits A1 und A0 werden von den bedingten Sprungfunktionenentsprechend Tabelle 16-1 ausgewertet und ausgelöst.

Tabelle 16-1 Beziehung zwischen A1 bzw. A0 und den bedingten Sprungoperationen

SignalzustandRechenergebnis ausgelöste Sprungoperation

A1 A0Rechenergebn s ausgelöste Sprungoperat on

0 0 =0 SPZ

1oder

0

0oder

1<>0 SPN

1 0 >0 SPP

0 1 <0 SPM

0oder

1

0oder

0>=0 SPPZ

0oder

0

0oder

1<=0 SPMZ

1 1 UO (ungültig) SPU

Beschreibung

A1 und A0 imStatuswort

Sprungoperationen

Page 189: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

16-7Anweisungsliste (AWL) für S7-300/400C79000-G7000-C565-01

Überlaufspeichernd?

Start

Teil C

Lösche<MB10>

Ja

Nein

SPS ODEL

ODEL L MW12

L MW14

+ I

L MW16

- I

T MW10

SPS PRTC*

SPPZ PRTB

L +10

T MW20

SPA GEMP

PRTB: L +17

T MW30

SPA GEMP

PRTC: L 0

T MW10

GEMP:

Teil A

Teil B

GemeinsamesProgramm

Setze OS-Bitzurück

Berechne<MW10>=<MW12>+<MW14>-<MW16>

Teil A

<MW20> = 10

GemeinsamesProgramm

Ende

Ergebnis<MW10> >= 0

Ja

Nein

Teil B

<MW30> = 17

Berechne

Setze OS-Bitzurück.

Teil C

* Verwenden Sie in diesem Fall nicht dieOperation SPO. Die Operation SPO fragtlediglich die vorherige Operation –I ab,wenn ein Überlauf aufgetreten ist.

Bild 16-4 Steuern des Programmablaufs durch die Operation SPPZ (Springe, wenn Ergebnis > = 0)

Sprungoperationen

Page 190: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

16-8Anweisungsliste (AWL) für S7-300/400

C79000-G7000-C565-01

16.6 Programmschleife

Mit der Operation LOOP (Programmschleife) können Sie einen Programmteilmehrmals aufrufen (siehe Bild 16-5). Die Operation LOOP vermindert dasniederwertige Wort von AKKU 1 um ”1”. Danach wird der Wert imniederwertigen Wort von AKKU 1 überprüft. Beträgt er nicht ”0”, dann wirdein Sprung zu der Marke in der Operation LOOP ausgeführt; andernfalls wirddie nächste Operation ausgeführt.

Sie versehen die Operation LOOP mit einer Sprungmarke, so daß sie dieStelle kennt, an die sie im Programm zurückkehren soll. Die OperationLOOP im Programm, das in Bild 16-5 gezeigt ist, hat als Operand dieSprungmarke NSTE. Durch diese Sprungmarke wird festgelegt, daß dieOperation zur Anweisung T MB 10 im Programm zurückkehrt. An dieserStelle wird Programmteil A bearbeitet. Die Operation LOOP kehrt so oft zurSprungmarke zurück, wie es im niederwertigen Wort von AKKU 1angegeben ist. Eine Möglichkeit zur Eingabe dieser Information bestehtdarin, einen Loop-Zähler zu setzen und diesen in den Akkumulator zu laden.

Loop-Zähler<>0?

Start

Programmteil A

Ja

Nein

Ende

L +5

NSTE: T MB10

L MB10

LOOP NSTE

Teil A

Initialisiere Loop-Zähler

DekrementiereLoop-Zähler um 1

InitialisiereLoop-Zähler

Bild 16-5 Mehrfachaufruf eines Programmteils mit der Operation LOOP

Beschreibung

Sprungmarke mitOperand versehen

Sprungoperationen

Page 191: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

16-9Anweisungsliste (AWL) für S7-300/400C79000-G7000-C565-01

Sie versehen eine Operation LOOP über den AKKU 1 mit einem Wert, derangibt, wie oft LOOP einen bestimmten Programmteil aufrufen soll.

Die Operation LOOP interpretiert den Loop-Zähler als Datentyp WORD.

In Tabelle 16-2 finden Sie die zwei möglichen Formate für einenLoop-Zähler.

Tabelle 16-2 Mögliches Format für einen Loop-Zähler

Wert Wertbereich Datentyp Speicherbereich

Ganzzahl1 bis 65535

(nur positiver Wert)WORD E, A, M, D, L

WortW#16#0001 bis

W#16#FFFFWORD E, A, M, D, L

Um zu vermeiden, daß eine Programmschleife öfter als notwendig ausgeführtwird, sollten Sie die folgenden Eigenschaften der Operation LOOPberücksichtigen:

� Wenn Sie den Loop-Zähler mit einer ”0” initialisieren, wird die Schleife65 535mal ausgeführt.

� Eine Initialisierung des Loop-Zählers mit negativen Ganzzahlen solltevermieden werden.

Setzen eines Loop-Zählers

Wie Sie dieOperation LOOPwirkungsvollverwenden

Sprungoperationen

Page 192: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

16-10Anweisungsliste (AWL) für S7-300/400

C79000-G7000-C565-01

Sprungoperationen

Page 193: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

17-1Anweisungsliste (AWL) für S7-300/400C79000-G7000-C565-01

Operationen zur Programmsteuerung

Im Kapitel finden Sie auf Seite

17.1 Parametrierung bei Aufruf von FCs und FBs 17-2

17.2 Aufrufen der Funktionen und Funktionsbausteine mitCALL

17-3

17.3 Aufrufen der Funktionen und Funktionsbausteine mit CCund UC

17-7

17.4 Funktionen des Master Control Relay 17-10

17.5 Operationen für das Master Control Relay 17-11

17.6 Bausteinende 17-16

Kapitelübersicht

17

Page 194: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

17-2Anweisungsliste (AWL) für S7-300/400

C79000-G7000-C565-01

17.1 Parametrierung bei Aufruf von FCs und FBs

Für den Aufruf von parametrierbaren Bausteinen sind die beiden BegriffeFormalparameter und Aktualparameter wichtig.

Ein Formalparameter ist ein Parameter, dessen Name und Datentyp bei derErstellung des parametrierbaren Bausteins festgelegt und zum Beispiel alsINPUT oder OUTPUT deklariert wurde. Beim Aufruf des Bausteins (z. B.CALL SFC 31) im inkrementellen Editor zeigt STEP 7 automatisch die Listeder Formalparameter an.

Diesen Formalparametern müssen Sie dann Aktualparameter zuweisen. EinAktualparameter ist ein Parameter, mit dessen Wert die Funktion oder derFunktionsbaustein zur Laufzeit des Anwenderprogramms arbeitet.

Das folgende Bild zeigt den Aufruf der SFC 31 ”QRY_TINT” (Uhrzeitalarmabfragen) in AWL.

Darstellung AWL

CALL SFC 31 OB_NR := 10 RET_VAL:= MW 22 STATUS := MW 100

Formalparameter

Aktualparameter

Begriffe

Operationen zur Programmsteuerung

Page 195: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

17-3Anweisungsliste (AWL) für S7-300/400C79000-G7000-C565-01

17.2 Aufrufen der Funktionen und Funktionsbausteine mit CALL

Mit der Operation Bausteinaufruf (CALL) können Sie Funktionen (FCs) undFunktionsbausteine (FBs) aufrufen, die Sie selbst für Ihr Programm erstellthaben oder die Sie von Siemens als Standardfunktionen und Standardfunk-tionsbausteine erhalten haben. Die Operation CALL ruft die FC oder den FBauf, die bzw. den Sie als Operanden angeben, unabhängig vomVerknüpfungsergebnis oder einer beliebigen anderen Bedingung.

Wenn Sie mit der Operation CALL einen Funktionsbaustein aufrufen, müssenSie ihn mit einem Instanz-Datenbaustein (Instanz-DB) versehen oder alslokale Instanz deklarieren. In diesem Instanz-Datenbaustein werden alle sta-tischen Variablen und Aktualparameter des Funktionsbausteins gespeichert.

Informationen darüber, wie Sie eine Funktion oder einen Funktionsbausteinprogrammieren bzw. wie Sie mit ihren Parametern arbeiten können, findenSie in der Online-Hilfe zu STEP 7.

Beim Aufruf einer Funktion (FC) oder eines Funktionsbausteins (FB) müssenSie den bei der Bausteinvereinbarung definierten Formalparameternentsprechende Aktualparameter zuweisen.

Der Aktualparameter, der beim Aufrufen eines Funktionsbausteins angegebenwird, muß denselben Datentyp wie der Formalparameter haben.

Die Aktualparameter, die beim Aufrufen einer Funktion oder einesFunktionsbausteins verwendet werden, werden in der Regel als symbolischeNamen angegeben. Die absolute Adressierung von Aktualparametern ist nurbei Operanden möglich, deren maximale Größe ein Doppelwort beträgt(z. B. E 1.0, MB2, AW4, ED0).

Wenn Sie Funktionen aufrufen, müssen alle Formalparameter mit Aktual-parametern versehen sein. Wenn Sie Funktionsbausteine aufrufen, müssen Sienur die Aktualparameter angeben, die sich gegenüber dem letzten Aufrufändern sollen (die Aktualparameter bleiben nach Bearbeitung des FB imInstanz-DB gespeichert).

Wenn Sie einen Funktionsbaustein aufrufen, kopiert die Operation CALLeinen der folgenden Werte in den Instanz-Datenbaustein des Funktions-bausteins, je nach dem Datentyp des Aktualparameters und nach derDeklaration des Formalparameters (EIN, AUS, EIN-AUS).

� Wert des Aktualparameters

� Pointer zum Operanden des Aktualparameters

� Pointer zum L-Stack des aufrufenden Bausteins, in dem der Wert desAktualparameters gepuffert wurde.

Beschreibung

Formal- undAktualparameter

Angeben derAktualparameter

Operationen zur Programmsteuerung

Page 196: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

17-4Anweisungsliste (AWL) für S7-300/400

C79000-G7000-C565-01

Der Aufruf erfolgt unter Angabe

� des Funktionsbausteinnamens,

� des Instanz-Datenbausteinnamens sowie

� der Parameterversorgung (Ist der Aktualparameter ein Datenbaustein,muß immer die vollständige, absolute Adresse angegeben werden, z. B.DB1.DBW2).

Der Aufruf kann absolut oder symbolisch erfolgen.

Absoluter Aufruf:

CALL FBx,DBy ( Parameterversorgung );

x = Bausteinnummery = Datenbausteinnummer

Symbolischer Aufruf:

CALL fbname,datenbausteinname (Parameterversorgung);

fbname = symbolischer Bausteinnamedatenbausteinname = symbolischer Datenbausteinname

Im folgenden Programmbeispiel wird der Funktionsbaustein FB40 mit demInstanz-Datenbaustein DB41 aufgerufen. In diesem Beispiel haben dieFormalparameter folgende Datentypen:

EIN1: BOOL EIN2: WORD AUS1: DWORD

AWL Erläuterung

CALL FB40,DB41

EIN1:= E 1.0

EIN2:= MW2

AUS1:= MD20

L MD20

Aufruf von Funktionsbaustein FB40 mit Instanz-DatenbausteinDB41.EIN1 (Formalparameter) wird E 1.0 (Aktualparameter) zugeordnet.

EIN2 (Formalparameter) wird MW2 (Aktualparameter) zugeordnet.

AUS1 (Formalparameter) wird MD20 (Aktualparameter) zugeordnet.

Mit dieser Operation greift das Programm auf den FormalparameterAUS1 zu.

Im folgenden Beispiel wird der Funktionsbaustein FB50 mit dem Instanz-Datenbaustein DB51 aufgerufen. In diesem Beispiel haben die Formal-parameter folgende Datentypen:

EIN10: BOOL AUS11: STRUCT V1: BOOL V2: INT END_STRUCT

Aufrufen eines FBmit Instanz-DB undBaustein-parametern

Beispiele

Operationen zur Programmsteuerung

Page 197: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

17-5Anweisungsliste (AWL) für S7-300/400C79000-G7000-C565-01

AWL Erläuterung

CALL FB50,DB51

EIN10:= E1.0

AUS11:= AKTPA11

Aufruf von Funktionsbaustein FB50 mit Instanz-DatenbausteinDB51.EIN10 (Formalparameter) wird E 1.0 (Aktualparameter) zugeordnet.

In diesem Fall ist es nicht möglich, einen absoluten Aktualpara-meter anzugeben (z. B. MW10), da der Formalparameter AUS11 alsStruktur definiert wurde. Stattdessen wurde der symbolischeAktualparameter AKTPA11 angegeben. Bitte beachten Sie, daß AKT-PA11 die gleiche Struktur wie der Formalparameter AUS11 habenmuß.

Der Zugriff auf die Werte der Struktur AUS11 in FB50 geschieht auffolgende Weise:

AWL Erläuterung

U AUS11.V1L AUS11.V2

Führe eine UND-Verknüpfung des Bits AUS11.V1 aus.Lade Wort AUS11.V2 in AKKU 1.

Der Aufruf erfolgt unter Angabe

� des Instanznamens (= Name einer statischen Variable vom Typ FB z)sowie

� der Parameterversorgung.

Der Aufruf ist immer symbolisch.

CALL Instanzname (Parameterversorgung);

AWL Erläuterung

FUNCTION_BLOCK FB 11VARloc_inst : FB 10;END_VARBEGIN NETWORKCALL #loc_inst (in_bool := M 0.0);

Quelldatei

Deklaration der Multiinstanz vom Datentyp FB 10

Aufruf der Multiinstanz mit SyntaxParameterversorgung(in_bool ist dabei eine im FB 10 deklarierte Variable)

Aufrufen vonMultiinstanzen

Operationen zur Programmsteuerung

Page 198: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

17-6Anweisungsliste (AWL) für S7-300/400

C79000-G7000-C565-01

Der Aufruf erfolgt unter Angabe

� des Funktionsbausteinnamens sowie

� der Parameterversorgung.

Der Aufruf kann absolut oder symbolisch erfolgen.

Absoluter Aufruf:

CALL FCx ( Parameterversorgung );

x = Bausteinnummer

Symbolischer Aufruf:

CALL fcname (Parameterversorgung);

fcname = symbolischer Bausteinname

Im folgenden Programmbeispiel wird die Funktion FC80 mit Baustein-parametern aufgerufen. In diesem Beispiel haben die Formalparameterfolgende Datentypen:

INK1: BOOL INK2: INT AUS: WORD

AWL Erläuterung

CALL FC80INK1:= M 1.0

INK2:= EW2

AUS:= AW4

Aufruf von Funktion FC80.INK1 (Formalparameter) wird M 1.0 (Aktualparameter) zugeordnet.

INK2 (Formalparameter) wird EW2 (Aktualparameter) zugeordnet.

AUS (Formalparameter) wird AW4 (Aktualparameter) zugeordnet.

Sie können eine Funktion (FC) erstellen, die einen Rückgabewert liefert(RET_VAL). Möchten Sie beispielsweise eine Rechenoperation mitGleitpunktzahlen erstellen, können Sie diesen Rückgabewert als Ausgang fürdas Ergebnis der Funktion verwenden. Wenn Sie die Funktion in IhremProgramm aufrufen, stellen Sie den Ausgang RET_VAL mit einerDoppelwortadresse zur Verfügung, so daß diese das 32-Bit-Ergebnis derRechenoperation aufnehmen kann.

Aufrufen einer FCmit Baustein-parametern

Beispiel

Aufrufen einer FC,die einen Rück-gabewert liefert

Operationen zur Programmsteuerung

Page 199: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

17-7Anweisungsliste (AWL) für S7-300/400C79000-G7000-C565-01

17.3 Aufrufen der Funktionen und Funktionsbausteine mit CC und UC

Mit den folgenden Operationen können Sie Funktionen (FC) undFunktionsbausteine (FB) auf die gleiche Weise wie mit der Operation CALLaufrufen. Sie können jedoch keine Parameter übergeben.

� Bedingter Bausteinaufruf (CC): Diese Operation ruft die Funktion bzw.den Funktionsbaustein auf, die Sie als Operanden angegeben haben. DerAufruf wird nur ausgeführt, wenn das Verknüpfungsergebnis ”1” beträgt.

� Unbedingter Bausteinaufruf (UC): Diese Operation ruft die Funktion bzw.den Funktionsbaustein auf, die Sie als Operanden angegeben haben. DerAufruf wird unabhängig vom Verknüpfungsergebnis oder einer beliebigenanderen Bedingung ausgeführt.

Bei Aufruf eines Funktionsbausteins (FB) mit der Operation CC oder UCkann dem Operanden kein Datenbaustein zugeordnet werden.

Die Operationen CC oder UC können FC und FB durch direkte oderspeicherindirekte Adressierung bzw. über als Parameter übergebene FC undFB aufrufen (siehe Tabellen 17-1 und 17-2). Der Operand ist FC bzw. FBplus die Angabe der Nummer der Funktion oder des Funktionsbausteins.

Tabelle 17-1 Operanden der Operationen CC und UC: direkte und indirekteAdressierung

FC- oderFB-Teil des

Maximaler Adreßbereich je nach AdressierungsartFB-Te l desOperanden direkt speicherindirekt

FCFB

0 bis 65 535

[DBW][DIW][LW][MW]

0 bis 65 534

Tabelle 17-2 Operanden der Operationen CC und UC: FC als Parameter transferiert

Operand Adreßparameterarten

Name des Formalpa-rameters oder ein

symbolischer Name

BLOCK_FC1

BLOCK_FB1

1 Parameter des Typs BLOCK_FC bzw. BLOCK_FB können mit der Operation CC in FCs und FBs nicht verwendet werden.

Einen FC, den Sie selbst erstellt und dem Sie beispielsweise die Nummer 12gegeben haben, können Sie mit einer der beiden folgenden Operationenaufrufen. Welche Operation Sie wählen, hängt davon ab, ob Sie den Bausteinkonditioniert oder unkonditioniert aufrufen wollen:

CC FC12 (Rufe FC12 auf, wenn VKE gleich ”1” ist)UC FC12 (Rufe FC12 unabhängig vom VKE auf)

Beschreibung

Adressierungs-format

Beispiel

Operationen zur Programmsteuerung

Page 200: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

17-8Anweisungsliste (AWL) für S7-300/400

C79000-G7000-C565-01

Abhängig vom Datentyp haben Sie verschiedene Möglichkeiten, beim Aufrufeiner Funktion oder eines Funktionsbausteins dem Formalparameter einenAktualparameter zuzuweisen. Die folgende Tabelle ist geordnet nach derLänge des Datentyps:

Tabelle 17-3 Zuweisung von Aktualparametern

FormalparameterD t t

Beispiel für Zuweisung eines Aktualparametersvom Datentyp ... Direkte Eingabe (Wert) Eingabe eines

GlobaldatumsEingabe

symbolisch1

BOOL (Bit) TRUE M 100.0

E 0.0

A 0.0

DBX 3.0

#OK_MERKER

BYTE (Byte) B#16#1F MB 100

EB 0

AB 0

#TYP_BYTE

CHAR ’K’ DBB 1 #TYP_CHAR

WORD (Wort) W#16#1F12

2#0001_1111_0001_0010

C#32

B#(5,25)

MW 100

EW 0

AW 0

DBW 2

#TYP_WORT

INT (Ganzzahl) 27

–25

#TYP_INT

S5TIME (S5-Zeit) S5T#10MS #TYP_S5_TIME

DATE (IEC-Datum) D#1995–12–24 #TYP_DATE

DWORD (Doppelwort) DW#16#FFFF_0F02

2#0001_1111_0001_0010_0001_1111_0001_0010

B#(5,4,59,8)

MD 100

ED 0

AD 0

DBD 4

#TYP_DWORT

DINT (Doppel-Ganz-zahl)

L#170

L#-350

#TYP_DINT

REAL (Gleitpunktzahl) 1.23 #TYP_REAL

TIME (IEC-Zeit) T#20MS #TYP_TIME

TIME_OF_DAY (IEC-Uhrzeit)

TOD#23:59:12.3 #TYP_TOD

Zuweisung vonAktualparametern

Operationen zur Programmsteuerung

Page 201: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

17-9Anweisungsliste (AWL) für S7-300/400C79000-G7000-C565-01

Tabelle 17-3 Zuweisung von Aktualparametern, Fortsetzung

FormalparameterD t t

Beispiel für Zuweisung eines Aktualparametersvom Datentyp ... Direkte Eingabe (Wert) Eingabe eines

GlobaldatumsEingabe

symbolisch1

DATE_AND_TIME(IEC-Datum undUhrzeit)

nicht möglich

(Variable muß z. B. als temporäre Variable deklariertwerden)

#TYP_8_BYTE

ANY (Datentyp”beliebigen” Typsund ”beliebiger”Größe)

P#M0.0 BYTE20

20 Bytes 2 ...... ab Merker 0.0 3

Präfix für ANY-Pointer

P#DB58.DBX16.0 BYTE14

14 Bytes 2 ...... im DB58 ab Datenbit 16.0 3

Präfix für ANY-Pointer

E 0.0

MB 5

AW 2

(Verwendung vonbeliebigenSTEP 7-Globalope-randen möglich)

#TYP_ANYTYP

(Deklaration vonFeldern undStrukturen)

1 Voraussetzung: Bei Globaldaten müssen Sie den Namen (=Symbol) in der globalen Symboltabelle festlegen, bevorSie das Symbol als Aktualparameter verwenden können. Bei Lokaldaten müssen Sie den Namen (=Symbol) in derDeklarationstabelle des Bausteins festlegen, bevor Sie das Symbol als Aktualparameter verwenden können.Bei Lokaldaten müssen Sie dem Symbol das Zeichen # voranstellen.

2 Die Längenangabe dürfen elementare Datentypen sein, z. B. BOOL, BYTE, WORD oder DWORD bzw. zusammen-gesetzte Datentypen, z. B. DATE_AND_TIME.

3 Immer eine Bitadresse angeben; bei Längenangaben immer Bitadresse 0 eingeben (Ausnahme: BOOL).

Um eine SFC bedingt aufzurufen in der Programmiersprache AWL, könnenSie zum Beispiel folgende Sequenz von Anweisungen benutzen:

AWL Erläuterung

U #OK_MERKERSPBNB m001CALL SFC 28 OB_NR := 10 SDT := #OUT_UHRZEIT_DATUM PERIOD := W#16#1201 RET_VAL := MW 200

m001: U BIE= M 202.3

Bedingung für den Aufruf.Falls die Bedingung nicht erfüllt ist(VKE=0), wird der Aufruf der SFC über-sprungen und das VKE in das StatusbitBIE gerettet.

Abfrage des Statusbits BIE

Bedingter Aufruf inAWL

Operationen zur Programmsteuerung

Page 202: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

17-10Anweisungsliste (AWL) für S7-300/400

C79000-G7000-C565-01

17.4 Funktionen des Master Control Relay

Das Master Control Relay (MCR) wird in Relais-Kontaktplänen für dasAktivieren und Deaktivieren des Signalflusses (Strompfad) verwendet. Eindeaktivierter Strompfad entspricht einer Operationsfolge, die einen Nullwertstatt des errechneten Wertes schreibt bzw. einer Operationsfolge, die denbestehenden Speicherwert unverändert läßt. Operationen, die durch diefolgenden Verknüpfungs- oder Transferoperationen ausgelöst werden, hängenvom MCR ab:

� =

� S

� R

� T (mit Byte, Wort oder Doppelwort verwendet)

Die Operation T, die mit Byte, Wort oder Doppelwort verwendet wird, unddie Operation = schreiben eine ”0” in den Speicher, wenn das MCR ”0” ist.Die Operationen S und R verändern den bestehenden Wert nicht.

Tabelle 17-4 Vom MCR abhängige Operationen und ihre Reaktionen auf den Signal-zustand des MCR

Signalzu-stand des

MCR

= S oder R T

0 Schreibt ”0”

(Imitiert ein Relais,das bei Spannungs-abfall in seinen Ruhe-zustand geht.)

Schreibt nicht

(Imitiert ein Relais,das bei Spannungs-abfall in seinem ak-tuellen Zustandbleibt.)

Schreibt ”0”

(Imitiert eine Kompo-nente, die bei Span-nungsausfall einenWert von ”0” liefert.)

1 Normale Bearbeitung Normale Bearbeitung Normale Bearbeitung

Beschreibung

Operationen zur Programmsteuerung

Page 203: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

17-11Anweisungsliste (AWL) für S7-300/400C79000-G7000-C565-01

17.5 Operationen für das Master Control Relay

Mit den folgenden Operationen können Sie ein Master Control Relaybearbeiten:

� MCRA Aktiviere MCR-Bereich

� MCRD Deaktiviere MCR-Bereich

� MCR( VKE in MCR-Stack sichern, Beginn MCR-Bereich

� )MCR Beende MCR-Bereich

Die folgenden Operationen aktivieren oder deaktivieren den MCR-Bereich,d. h., sie geben an, welche Operationen in Ihrem Programm vom MCRabhängen (siehe auch Bild 17-2):

� Aktiviere MCR-Bereich: MCRA

� Deaktiviere MCR-Bereich: MCRD

Die Operationen, die zwischen MCRA und MCRD programmiert sind,hängen vom Signalzustand des MCR-Bits ab. Die Operationen, die außerhalbeiner MCRA-MCRD-Sequenz programmiert sind, sind vom Signalzustanddes MCR-Bits unabhängig. Fehlt eine Operation MCRD, dann hängen dieOperationen, die zwischen den Operationen MCRA und BEA programmiertsind, vom MCR-Bit ab (siehe Bild 17-1).

Die Abhängigkeit der Funktionen (FC) und Funktionsbausteine (FB) vomMCR müssen Sie in den Bausteinen selbst programmieren. Wird dieseFunktion oder dieser Funktionsbaustein aus einer MCRA-MCRD-Sequenzaufgerufen, dann sind nicht automatisch alle Anweisungen innerhalb dieserSequenz vom MCR-Bit abhängig. Um die Operationen in einemaufgerufenen Baustein vom MCR-Bit abhängig zu machen, müssen Sie dieOperation MCRA des aufgerufenen Bausteins verwenden.

!Gefahr

Verwenden Sie die Operation MCR niemals als NOT-AUS- oder Sicherheits-einrichtung für Personen.

Übersicht

Beschreibung:MCRA, MCRD

Operationen zur Programmsteuerung

Page 204: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

17-12Anweisungsliste (AWL) für S7-300/400

C79000-G7000-C565-01

ÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀ

ÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀ

ÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀ

ÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀ

OB1

MCRA

MCRD

MCRA

MCRA

MCRA

MCRD

BEA

BEA

Vom MCR-Bit abhängige Operationen

Vom MCR-Bit unabhängige Operationen

CALL FBx

FBx FCy

CALL FCy

ÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀ

ÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀ

ÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀ

Bild 17-1 Aktivieren und Deaktivieren eines MCR-Bereichs

Operationen zur Programmsteuerung

Page 205: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

17-13Anweisungsliste (AWL) für S7-300/400C79000-G7000-C565-01

Die folgenden Operationen schalten die Funktion des Master Control Relayein oder aus:

� Sichere VKE im MCR-Stack, Beginn MCR-Bereich: MCR(

� Beende MCR-Bereich: )MCR

Sie können die Operationen MCR( und )MCR schachteln. Die maximaleSchachtelungstiefe beträgt acht, d. h. Sie können maximal achtMCR(-Operationen hintereinander schreiben, bevor Sie die Operation )MCReinfügen. Sie müssen die gleiche Anzahl von MCR(- und )MCR-Operationenprogrammieren (siehe Bild 17-3).

Sind MCR(-Operationen geschachtelt, dann wird das MCR-Bit der tieferenSchachtelungsebenen gebildet durch Verknüpfen des aktuellen VKE derOperation MCR( mit dem aktuellen MCR-Bit nach der UND-Wahrheits-tabelle.

Wenn eine Operation )MCR eine Schachtelungsebene beendet, holt sie dasMCR-Bit aus der nächsthöheren Ebene. Die Operation ) MCR der höchstenEbene setzt das MCR-Bit auf ”1”.

Die Operation MCR( und )MCR müssen Sie in Ihrem Programm immer paar-weise verwenden.

Bild 17-2 zeigt, wie ein Master Control Relay implementiert wird.

Der MCR-Kontakt wird geschlossen, wenn das MCR-Bit ”1” beträgt. DieSignalzustände der Ausgänge A 4.0 und A 4.1 werden nach dem Signal-zustand der Eingänge E 1.0 bis E 1.3 und ihren Verknüpfungen berechnet.

Der MCR-Kontakt wird geöffnet, wenn das MCR-Bit ”0” beträgt. DieAusgänge A 4.0 und A 4.1 werden auf ”0” rückgesetzt, und zwar unabhängigvon den Signalzuständen der Eingänge E 1.0 bis E 1.3.

Stromschiene

E 2.0

MCR-Kontakt

MCR-Spule

Master Control Relay durchdie Operationen MCR( und)MCR implementiert.

E 1.0 E 1.1

A 4.0 A 4.1

E 1.2

E 1.3

MCRAU E 2.0MCR(O E 1.0O E 1.1= A 4.0U E 1.2U E 1.3= A 4.1)MCRMCRD

Durch das MCR (Master Control Relay)gesteuerter Bereich, implementiert durchdie Operationen MCRA und MCRD.

Relais-SchaltplanAWL

Bild 17-2 Implementieren eines Master Control Relay

Beschreibung:MCR(, )MCR

Beispiel

Operationen zur Programmsteuerung

Page 206: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

17-14Anweisungsliste (AWL) für S7-300/400

C79000-G7000-C565-01

Bild 17-3 zeigt, wie die Operationen zur Schachtelung verwendet werdenkönnen.

MCRAU E 1.1MCR (U E 1.2MCR (U E 1.3MCR (

S M 1.0)MCR

S M 1.1)MCR

)MCRMCRD

1

1

0

1

1

0

Abfrage-ergebnis

Signal-zustand

VKE MCR-Bit der Ebene

Dieses Bit (M 1.0) bleibt unverändert,unabhängig von jeder vorherigenVerknüpfungskette, da das MCR-Bit= 0 ist.

AWL

00000

Dieses Bit (M 1.1) wird aufgrund dervorherigen Verknüpfungskette undder Funktion der Operation Sverändert, da das MCR-Bit = 1 ist.

1

1

1111

1

1

0

1

1

1111

* Das MCR-Bit der tieferen Schachtelungsebene wird gebildet. Dazu verknüpft die Operation MCR( das aktuelle VKE mit dem MCR-Bit der aktuellen Schachtelungsebene gemäß der UND-Wahrheitstabelle.

** Wenn die Operation )MCR eine Schachtelungsebene beendet, holt die Operation das MCR-Bit der nächsthöheren Ebene.

**

*

1 2 3

Bild 17-3 Schachtelung der MCR-Operationen

Operationen zur Programmsteuerung

Page 207: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

17-15Anweisungsliste (AWL) für S7-300/400C79000-G7000-C565-01

Wichtige Hinweise zur Benutzung der MCR-Funktionalität

Vorsicht bei Bausteinen, in denen mit MCRA das Master Control Relay akti-viert wurde:

� Wenn das MCR abgeschaltet ist, wird in Programmabschnitten zwischenMCR( und )MCR durch alle Zuweisungen (T=) der Wert 0 geschrieben!

� Das MCR ist genau dann abgeeschaltet, wenn vor einem MCR(-Befehldas VKE=0 war.

!Gefahr

STOP des AS oder undefiniertes Laufzeitverhalten!

Der Compiler greift für Adeßberechnungen auch schreibend auf Lokaldatenhinter den in VAR_TEMP definierten temporären Variablen zu. Daher setzenfolgende Befehlssequenzen das AS in STOP oder führen zu undefiniertemLaufzeitverhalten:

Formalparameterzugriffe

� Zugriffe auf Komponenten komplexer FC-Parameter vom Typ STRUCT,UDT, ARRAY, STRING

� Zugriffe auf Komponenten komplexer FB-Parameter vom Typ STRUCT,UDT, ARRAY, STRING aus dem Bereich IN_OUT in einem Bausteinder Bausteinversion 2.

� Zugriffe auf Parameter eines FB der Bausteinversion 2, wenn ihreAdresse größer als 8180.0 ist.

� Zugriff im FB mit Bausteinversion 2 auf einen Parameter vom TypBLOCK_DB schlägt den DB 0 auf. Nachfolgende Datenzugriffe bringendie CPU in STOP. Bei TIMER, COUNTER, BLOCK_FC, BLOCK_FBwird auch immer T 0, Z 0. FC 0 bzw. FB 0 verwendet.

Parameterübergabe

� Calls, bei denen Parameter übergeben werden.

KOP/FUP

� T-Abzweige und Konnektoren in KOP oder FUP starten mit VKE=0.

Abhilfe

Lösen Sie die genannten Befehle aus der MCR-Abhängigkeit:

1. Deaktivieren Sie das Master Control Relay mit dem MCRD-Befehl vorder betreffenden Anweisung bzw. vor dem betreffenden Netzwerk.

2. Aktivieren Sie das Master Control Relay mit dem MCRA-Befehl nachder betreffenden Anweisung bzw. nach dem betreffenden Netzwerk.

Operationen zur Programmsteuerung

Page 208: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

17-16Anweisungsliste (AWL) für S7-300/400

C79000-G7000-C565-01

17.6 Bausteinende

Die Operation Bausteinende ist eine Programmieranweisung, die dieBearbeitung eines Bausteins beendet. Sie können mit einer der beidenfolgenden Operationen einen Baustein beenden:

� Bausteinende absolut (BEA): Diese Operation beendet die Bearbeitungdes aktuellen Bausteins und übergibt die Steuerung wieder an denBaustein, der den gerade beendeten Baustein aufgerufen hat. Wenn dasProgramm auf die Operation BEA stößt, beendet es den aktuellenBaustein, unabhängig vom Verknüpfungsergebnis.

� Bausteinende bedingt (BEB): Diese Operation beendet die Bearbeitungdes aktuellen Bausteins und übergibt die Steuerung wieder an denBaustein, der den gerade beendeten Baustein aufgerufen hat. Wenn dasProgramm auf die Operation BEB stößt, beendet es den aktuellenBaustein nur, wenn das Verknüpfungsergebnis ”1” ist (VKE = 1). Wenndas VKE ”0” ist, führt das Programm die Operation Bausteinende nichtaus. Das VKE wird auf ”1” gesetzt und die Programmbearbeitung imaktuellen Baustein fortgesetzt.

Beschreibung

Operationen zur Programmsteuerung

Page 209: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

Alphabetische Liste derOperationen A

Programmierbeispiele B

Quelldateien - ReservierteSchlüsselwörter C

Literaturverzeichnis D

Anhänge

Page 210: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

Q-18Anweisungsliste (AWL) für S7-300/400

C79000-G7000-C565-01

Page 211: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

A-1Anweisungsliste (AWL) für S7-300/400C79000-G7000-C565-01

Alphabetische Liste der Operationen

Im Kapitel finden Sie auf Seite

A.1 Liste der deutschen und internationalen Mnemonik A-2

A.2 Alphabetische Liste der deutschen Beschreibungen A-12

Kapitelübersicht

A

Page 212: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

A-2Anweisungsliste (AWL) für S7-300/400

C79000-G7000-C565-01

A.1 Liste der deutschen und internationalen Mnemonik

In Tabelle A-1 finden Sie die SIMATIC- und internationale Mnemonik derAWL-Operationen mit den dazugehörigen Beschreibungen alphabetisch auf-gelistet sowie die Seite, auf der die jeweilige Operation erläutert wird.

Tabelle A-1 Liste der deutschen SIMATIC-Mnemonik und ihrer internationalen (englischen) Entsprechung in al-phabetischer Reihenfolge

SIMATIC-Mnemonik

InternationaleMnemonik

Beschreibung Seite

+ + Addiere Ganzzahlkonstante (Integer: 8, 16, 32 Bit) 9-6

= = Zuweisung 5-24

) ) Verzweigung schließen 5-14

+AR1 +AR1 Addiere AKKU 1 zum Adreßregister 1 4-7

+AR2 +AR2 Addiere AKKU 1 zum Adreßregister 2 4-7

+D +D Addiere AKKU 1 und AKKU 2 als Ganzzahl (32 Bit) 9-2

-D -D Subtrahiere AKKU 1 von AKKU 2 als Ganzzahl (32 Bit) 9-2

*D *D Multipliziere AKKU 1 mit AKKU 2 als Ganzzahl (32 Bit) 9-2

/D /D Dividiere AKKU 2 durch AKKU 1 als Ganzzahl (32 Bit) 9-2

==D ==D Vergleiche Ganzzahlen (32 Bit) >, <, >=, <=, ==, <> 11-3

+I +I Addiere AKKU 1 und AKKU 2 als Ganzzahl (16 Bit) 9-2

-I -I Subtrahiere AKKU 1 von AKKU 2 als Ganzzahl (16 Bit) 9-2

*I *I Multipliziere AKKU 1 mit AKKU 2 als Ganzzahl (16 Bit) 9-2

/I /I Dividiere AKKU 2 durch AKKU 1 als Ganzzahl (16 Bit) 9-2

==I ==I Vergleiche Ganzzahlen (16 Bit) >, <, >=, <=, ==, <> 11-3

+R +R Addiere AKKU 1 und AKKU 2 als Gleitpunktzahl (32 Bit, IEEE-FP) 10-2

-R -R Subtrahiere AKKU 1 von AKKU 2 als Gleitpunktzahl (32 Bit, IEEE-FP)10-2

*R *R Multipliziere AKKU 1 mit AKKU 2 als Gleitpunktzahl (32 Bit, IEEE-FP) 10-2

/R /R Dividiere AKKU 2 durch AKKU 1 als Gleitpunktzahl (32 Bit, IEEE-FP) 10-2

==R ==R Vergleiche Gleitpunktzahlen >, <, >=, <=, ==, <> 11-5

ABS ABS Absolutwert einer Gleitpunktzahl (32 Bit, IEEE-FP) 10-6

ACOS ACOS Arcuscosinus einer Gleitpunktzahl (32 Bit, IEEE-FP) 10-7

ASIN ASIN Arcussinus einer Gleitpunktzahl (32 Bit, IEEE-FP) 10-7

ATAN ATAN Arcustangens einer Gleitpunktzahl (32 Bit, IEEE-FP) 10-7

AUF OPN Aufschlage Datenbaustein 15-2

BEA BEU Bausteinende absolut 17-16

BEB BEC Bausteinende bedingt 17-16

BLD BLD Bildbefehl 4-2

BTD BTD BCD in Ganzzahl (32 Bit) wandeln 12-4

BTI BTI BCD in Ganzzahl (16 Bit) wandeln 12-2

CALL CALL Bausteinaufruf 17-3

CC CC Konditionierter Bausteinaufruf 17-7

Alphabetische Liste der Operationen

Page 213: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

A-3Anweisungsliste (AWL) für S7-300/400C79000-G7000-C565-01

Tabelle A-1 Liste der deutschen SIMATIC-Mnemonik und ihrer internationalen (englischen) Entsprechung in al-phabetischer Reihenfolge, Fortsetzung

SIMATIC-Mnemonik

SeiteBeschreibungInternationaleMnemonik

CLR CLR Rücksetze VKE (= 0) 5-26

COS COS Cosinus einer Gleitpunktzahl (32 Bit, IEEE-FP) 10-7

DEC DEC Dekrementiere AKKU 1 4-6

DTB DTB Ganzzahl (32 Bit) in BCD wandeln 12-6

DTR DTR Ganzzahl (32 Bit) in Gleitpunktzahl (32 Bit, IEEE-FP) wandeln 12-7

ENT ENT AKKU 3 ---> AKKU 4, AKKU 2 ---> AKKU 3 4-3

EXP EXP Exponentialwert einer Gleitpunktzahl (32 Bit, IEEE-FP) zur Basis e 10-12

FN FN Flanke Negativ 5-17

FP FP Flanke Positiv 5-16

FR FR Freigabe Zähler (Frei, FR Z 0 zu Z 255) 6-5

FR FR Freigabe Timer (Frei, FR T 0 zu T 255) 7-3

INC INC Inkrementiere AKKU 1 4-6

INVD INVD 1-Komplement Ganzzahl (32 Bit) 12-14

INVI INVI 1-Komplement Ganzzahl (16 Bit) 12-14

ITB ITB Ganzzahl (16 Bit) in BCD wandeln 12-5

ITD ITD Ganzzahl (16 Bit) in Ganzzahl (32 Bit) wandeln 12-6

L L Laden 8-3

L L Lade Länge Global-DB in AKKU 1 (L DBLG) 8-1215-2

L L Lade Nummer Global-DB in AKKU 1 (L DBNO) 8-12

L L Lade Länge Instanz-DB in AKKU 1 (L DILG) 8-1215-2

L L Lade Nummer Instanz-DB in AKKU 1 (L DINO) 8-1215-2

L L Lade Statuswort in AKKU 1 (L STW) 8-6

L L Lade aktuellen Zeitwert als Ganzzahl in AKKU 1 (der aktuelle Zeitwertkann eine Zahl im Bereich von 0 bis 255 sein, zum Beispiel: L T 32)

8-7

L L Lade aktuellen Zählerwert als Ganzzahl in AKKU 1 (der aktuelle Zähler-wert kann eine Zahl im Bereich von 0 bis 255 sein, zum Beispiel: L Z 15)

7-68-8

LAR1 LAR1 Lade Adreßregister 1 mit Inhalt von AKKU 1 (wenn kein Operand angegeben ist)

8-11

LAR1 LAR1 Lade Adreßregister 1 mit Inhalt von ... (von angegebenem Operanden)8-11

LAR1 LAR1 Lade Adreßregister 1 mit Inhalt von Adreßregister 2 (LAR1 AR2) 8-11

LAR1 LAR1 Lade Adreßregister 1 mit Ganzzahl (32 Bit, LAR1 P#area byte.bit) 8-11

LAR2 LAR2 Lade Adreßregister 2 mit Inhalt von AKKU 1 (wenn kein Operand angegeben ist)

8-11

LAR2 LAR2 Lade Adreßregister 2 mit Inhalt von ... (von angegebenem Operanden)8-11

LAR2 LAR2 Lade Adreßregister 2 mit Ganzzahl (32 Bit, LAR2 P#area byte.bit) 8-11

LC LC Lade aktuellen Zählerwert als BCD in AKKU 1 (der aktuelle Zählerwertkann eine Zahl im Bereich von 0 bis 255 sein, zum Beispiel: LC Z 15)

8-9

Alphabetische Liste der Operationen

Page 214: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

A-4Anweisungsliste (AWL) für S7-300/400

C79000-G7000-C565-01

Tabelle A-1 Liste der deutschen SIMATIC-Mnemonik und ihrer internationalen (englischen) Entsprechung in al-phabetischer Reihenfolge, Fortsetzung

SIMATIC-Mnemonik

SeiteBeschreibungInternationaleMnemonik

LC LC Lade aktuellen Zeitwert als BCD in AKKU 1 (der aktuelle Zeitwert kanneine Zahl im Bereich von 0 bis 255 sein, zum Beispiel: LC T 32)

7-78-10

LEAVE LEAVE AKKU 3 ---> AKKU 2, AKKU 4 ---> AKKU 3 4-3

LN LN Natürlicher Logarithmus einer Gleitpunktzahl (32 Bit, IEEE-FP) 10-11

LOOP LOOP Programmschleife 16-8

MCR( MCR( Sichere VKE in MCR-Stack, Beginn MCR-Bereich 17-11

)MCR MCR) Hole VKE vom MCR-Stack, Ende MCR-Bereich 17-11

MCRA MCRA Aktiviere MCR-Bereich 17-11

MCRD MCRD Deaktiviere MCR-Bereich 17-11

MOD MOD Divisionsrest Ganzzahl (32 Bit) 9-5

NEGD NEGD 2-Komplement Ganzzahl (32 Bit) 12-14

NEGI NEGI 2-Komplement Ganzzahl (16 Bit) 12-14

NEGR NEGR Vorzeichen einer Gleitpunktzahl wechseln 12-14

NOP 0 NOP 0 Nulloperation 0 4-2

NOP 1 NOP 1 Nulloperation 1 4-2

NOT NOT Negiere VKE 5-26

O O ODER 5-10

O( O( ODER mit Verzweigung 5-14

OD OD ODER Doppelwort (32 Bit) 13-6

ON ON ODER NICHT 5-9

ON( ON( ODER NICHT mit Verzweigung 5-14

OW OW ODER Wort (16 Bit) 13-3

POP POP AKKU 1 <--- AKKU 2, AKKU 2 <--- AKKU 3, AKKU 3 <--- AKKU 4 4-2

PUSH PUSH AKKU 3 ---> AKKU 4, AKKU 2 ---> AKKU 3, AKKU 1 ---> AKKU 2 4-2

R R Rücksetze 5-22

R R Rücksetze Zähler (der aktuelle Zähler kann eine Zahl von 0 bis 255 sein,zum Beispiel: R Z 15)

6-5

R R Rücksetze Timer (der aktuelle Timer kann eine Zahl im Bereich von 0 bis255 sein, zum Beispiel: R T 32)

7-4

RLD RLD Rotiere links Doppelwort (32 Bit) 14-6

RLDA RLDA Rotiere AKKU 1 links über A1-Anzeige (32 Bit) 14-6

RND RND Runden zur Ganzzahl 12-9

RND+ RND+ Runden zur nächsthöheren Ganzzahl 12-10

RND- RND- Runden zur nächstniederen Ganzzahl 12-11

RRD RRD Rotiere rechts Doppelwort (32 Bit) 14-8

RRDA RRDA Rotiere AKKU 1 rechts über A1-Anzeige (32 Bit) 14-6

S S Setze 5-21

S S Setze Zählerstartwert (der aktuelle Zähler kann eine Zahl im Bereich von0 bis 255 sein, zum Beispiel: S Z 15)

7-3

Alphabetische Liste der Operationen

Page 215: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

A-5Anweisungsliste (AWL) für S7-300/400C79000-G7000-C565-01

Tabelle A-1 Liste der deutschen SIMATIC-Mnemonik und ihrer internationalen (englischen) Entsprechung in al-phabetischer Reihenfolge, Fortsetzung

SIMATIC-Mnemonik

SeiteBeschreibungInternationaleMnemonik

SA SF Zeit als Ausschaltverzögerung 6-15

SAVE SAVE Sichere VKE im BIE-Flag 5-26

SE SD Zeit als Einschaltverzögerung 6-11

SET SET Setze VKE (= 1) 5-26

SI SP Zeit als Impuls 6-7

SIN SIN Sinus einer Gleitpunktzahl (32 Bit, IEEE-FP) 10-7

SLD SLD Schiebe links Doppelwort (32 Bit) 14-2

SLW SLW Schiebe links Wort (16 Bit) 14-2

SPA JU Springe absolut 16-3

SPB JC Springe, wenn VKE = 1 16-4

SPBB JCB Springe, wenn VKE = 1 mit BIE 16-4

SPBI JBI Springe, wenn BIE = 1 16-4

SPBIN JNBI Springe, wenn BIE = 0 16-4

SPBN JCN Springe, wenn VKE = 0 16-4

SPBNB JNB Springe, wenn VKE = 0 mit BIE 16-4

SPL JL Sprungleiste 16-3

SPM JM Springe, wenn Ergebnis < 0 16-6

SPMZ JMZ Springe, wenn Ergebnis < = 0 16-6

SPN JN Springe, wenn Ergebnis < > 0 16-6

SPO JO Springe, wenn OV = 1 16-5

SPP JP Springe, wenn Ergebnis > 0 16-6

SPPZ JPZ Springe, wenn Ergebnis > = 0 16-6

SPS JOS Springe, wenn OS = 1 16-5

SPU JUO Springe, wenn Ergebnis ungültig 16-6

SPZ JZ Springe, wenn Ergebnis = 0 16-6

SQR SQR Quadrat einer Gleitpunktzahl (32 Bit, IEEE-PF) 10-9

SQRT SQRT Quadratwurzel einer Gleitpunktzahl (32 Bit, IEEE-PF) 10-9

SRD SRD Schiebe rechts Doppelwort (32 Bit) 14-3

SRW SRW Schiebe rechts Wort (16 Bit) 14-2

SS SS Zeit als speichernde Einschaltverzögerung 6-13

SSD SSD Schiebe Vorzeichen Ganzzahl (32 Bit) 14-4

SSI SSI Schiebe Vorzeichen Ganzzahl (16 Bit) 14-4

SV SE Zeit als verlängerten Impuls starten 6-9

T T Transferieren 8-3

T T Transferiere AKKU 1 in Statuswort (T STW) 8-6

TAD CAD Tausche Reihenfolge der Bytes im AKKU 1 (32 Bit) 12-13

TAK TAK Tausche AKKU 1 mit AKKU 2 4-2

Alphabetische Liste der Operationen

Page 216: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

A-6Anweisungsliste (AWL) für S7-300/400

C79000-G7000-C565-01

Tabelle A-1 Liste der deutschen SIMATIC-Mnemonik und ihrer internationalen (englischen) Entsprechung in al-phabetischer Reihenfolge, Fortsetzung

SIMATIC-Mnemonik

SeiteBeschreibungInternationaleMnemonik

TAN TAN Tangens einer Gleitpunktzahl (32 Bit, IEEE-FP) 10-7

TAR CAR Tausche Adreßregister 1 mit Adreßregister 2 8-11

TAR1 TAR1 Transferiere Adreßregister 1 in AKKU 1 (wenn kein Operand angegebenist)

8-11

TAR1 TAR1 Transferiere Adreßregister 1 in ... (in angegebenen Operanden) 8-11

TAR1 TAR1 Transferiere Adreßregister 1 in Adreßregister 2 (TAR1 AR2) 8-11

TAR2 TAR2 Transferiere Adreßregister 2 in AKKU 1 (wenn kein Operand angegebenist)

8-11

TAR2 TAR2 Transferiere Adreßregister 2 in ... (in angegebenen Operanden) 8-11

TAW CAW Tausche Reihenfolge der Bytes im AKKU 1 (16 Bit) 12-13

TDB CDB Tausche Global-DB und Instanz-DB 15-2

TRUNC TRUNC Runden mit Abschneiden 12-12

U A UND 5-10

U( A( UND mit Verzweigung 5-14

UC UC Unkonditionierter Bausteinaufruf 17-7

UD AD UND Doppelwort (32 Bit) 13-6

UN AN UND NICHT 5-9

UN( AN( UND NICHT mit Verzweigung 5-14

UW AW UND Wort (16 Bit) 13-3

X X EXKLUSIV ODER 5-10

X( X( EXKLUSIV ODER mit Verzweigung 5-14

XN XN EXKLUSIV ODER NICHT 5-9

XN( XN( EXKLUSIV ODER NICHT mit Verzweigung 5-14

XOD XOD EXKLUSIV-ODER Doppelwort (32 Bit) 13-6

XOW XOW EXKLUSIV-ODER Wort (16 Bit) 13-3

ZR CD Zählen rückwärts 7-5

ZV CU Zählen vorwärts 7-5

Alphabetische Liste der Operationen

Page 217: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

A-7Anweisungsliste (AWL) für S7-300/400C79000-G7000-C565-01

In Tabelle A-2 finden Sie die internationale- und SIMATIC-Mnemonik derAWL-Operationen mit den dazugehörigen Beschreibungen alphabetisch auf-gelistet sowie die Seite, auf der die jeweilige Operation erläutert wird.

Tabelle A-2 Liste der internationalen (englischen) Mnemonik und ihrer deutschen SIMATIC Entsprechung in al-phabetischer Reihenfolge

InternationaleMnemonik

SIMATIC-Mnemonik

Beschreibung Seite

+ + Addiere Ganzzahlkonstante (Integer: 8, 16, 32 Bit) 9-6

= = Zuweisung 5-24

) ) Verzweigung schließen 5-14

+AR1 +AR1 Addiere AKKU 1 zum Adreßregister 1 4-7

+AR2 +AR2 Addiere AKKU 1 zum Adreßregister 2 4-7

+D +D Addiere AKKU 1 und AKKU 2 als Ganzzahl (32 Bit) 9-2

-D -D Subtrahiere AKKU 1 von AKKU 2 als Ganzzahl (32 Bit) 9-2

*D *D Multipliziere AKKU 1 mit AKKU 2 als Ganzzahl (32 Bit) 9-2

/D /D Dividiere AKKU 2 durch AKKU 1 als Ganzzahl (32 Bit) 9-2

==D ==D Vergleiche Ganzzahlen (32 Bit) >, <, >=, <=, ==, <> 11-3

+I +I Addiere AKKU 1 und AKKU 2 als Ganzzahl (16 Bit) 9-2

-I -I Subtrahiere AKKU 1 von AKKU 2 als Ganzzahl (16 Bit) 9-2

*I *I Multipliziere AKKU 1 mit AKKU 2 als Ganzzahl (16 Bit) 9-2

/I /I Dividiere AKKU 2 durch AKKU 1 als Ganzzahl (16 Bit) 9-2

==I ==I Vergleiche Ganzzahlen (16 Bit) >, <, >=, <=, ==, <> 11-3

+R +R Addiere AKKU 1 und AKKU 2 als Gleitpunktzahl (32 Bit, IEEE-FP) 10-2

-R -R Subtrahiere AKKU 1 von AKKU 2 als Gleitpunktzahl (32 Bit, IEEE-FP)10-2

*R *R Multipliziere AKKU 1 mit AKKU 2 als Gleitpunktzahl (32 Bit, IEEE-FP) 10-2

/R /R Dividiere AKKU 2 durch AKKU 1 als Gleitpunktzahl (32 Bit, IEEE-FP) 10-2

==R ==R Vergleiche Gleitpunktzahlen >, <, >=, <=, ==, <> 11-5

A U UND 5-10

A( U( UND mit Verzweigung 5-14

ABS ABS Absolutwert einer Gleitpunktzahl (32 Bit, IEEE-FP) 10-6

ACOS ACOS Arcuscosinus einer Gleitpunktzahl (32 Bit, IEEE-FP) 10-7

AD UD UND Doppelwort (32 Bit) 13-6

AN UN UND NICHT 5-9

AN( UN( UND NICHT mit Verzweigung 5-14

ASIN ASIN Arcussinus einer Gleitpunktzahl (32 Bit, IEEE-FP) 10-7

ATAN ATAN Arcustangens einer Gleitpunktzahl (32 Bit, IEEE-FP) 10-7

AW UW UND Wort (16 Bit) 13-3

BEC BEB Bausteinende bedingt 17-16

BEU BEA Bausteinende absolut 17-16

BLD BLD Bildbefehl 4-2

BTD BTD BCD in Ganzzahl (32 Bit) wandeln 12-4

Alphabetische Liste der Operationen

Page 218: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

A-8Anweisungsliste (AWL) für S7-300/400

C79000-G7000-C565-01

Tabelle A-2 Liste der internationalen (englischen) Mnemonik und ihrer deutschen SIMATIC Entsprechung in al-phabetischer Reihenfolge, Fortsetzung

InternationaleMnemonik

SeiteBeschreibungSIMATIC-Mnemonik

BTI BTI BCD in Ganzzahl (16 Bit) wandeln 12-2

CAD TAD Tausche Reihenfolge der Bytes im AKKU 1 (32 Bit) 12-13

CALL CALL Bausteinaufruf 17-3

CAR TAR Tausche Adreßregister 1 mit Adreßregister 2 8-11

CAW TAW Tausche Reihenfolge der Bytes im AKKU 1 (16 Bit) 12-13

CC CC Konditionierter Bausteinaufruf 17-7

CD ZR Zählen rückwärts 7-5

CDB TDB Tausche Global-DB und Instanz-DB 15-2

CLR CLR Rücksetze VKE (= 0) 5-26

COS COS Cosinus einer Gleitpunktzahl (32 Bit, IEEE-FP) 10-7

CU ZV Zählen vorwärts 7-5

DEC DEC Dekrementiere AKKU 1 4-6

DTB DTB Ganzzahl (32 Bit) wandeln in BCD 12-6

DTR DTR Ganzzahl (32 Bit) in Gleitpunktzahl (32 Bit, IEEE-FP) wandeln 12-7

ENT ENT AKKU 3 ---> AKKU 4, AKKU 2 ---> AKKU 3 4-3

EXP EXP Exponentialwert einer Gleitpunktzahl (32 Bit, IEEE-FP) zur Basis e 10-12

FN FN Flanke Negativ 5-17

FP FP Flanke Positiv 5-16

FR FR Freigabe Zähler (Frei, FR Z 0 zu Z 255) 6-5

FR FR Freigabe Timer (Frei, FR T 0 zu T 255) 7-3

INC INC Inkrementiere AKKU 1 4-6

INVD INVD 1-Komplement Ganzzahl (32 Bit) 12-14

INVI INVI 1-Komplement Ganzzahl (16 Bit) 12-14

ITB ITB Ganzzahl (16 Bit) in BCD wandeln 12-5

ITD ITD Ganzzahl (16 Bit) in Ganzzahl (32 Bit) wandeln 12-6

JBI SPBI Springe, wenn BIE = 1 16-4

JC SPB Springe, wenn VKE = 1 16-4

JCB SPBB Springe, wenn VKE = 1 mit BIE 16-4

JCN SPBN Springe, wenn VKE = 0 16-4

JL SPL Sprungleiste 16-3

JM SPM Springe, wenn Ergebnis < 0 16-6

JMZ SPMZ Springe, wenn Ergebnis < = 0 16-6

JN SPN Springe, wenn Ergebnis ungleich null 16-6

JNB SPBNB Springe, wenn VKE = 0 mit BIE 16-4

JNBI SPBIN Springe, wenn BIE = 0 16-4

JO SPO Springe, wenn OV = 1 16-5

JOS SPS Springe, wenn OS = 1 16-5

Alphabetische Liste der Operationen

Page 219: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

A-9Anweisungsliste (AWL) für S7-300/400C79000-G7000-C565-01

Tabelle A-2 Liste der internationalen (englischen) Mnemonik und ihrer deutschen SIMATIC Entsprechung in al-phabetischer Reihenfolge, Fortsetzung

InternationaleMnemonik

SeiteBeschreibungSIMATIC-Mnemonik

JP SPP Springe, wenn Plus 16-6

JPZ SPPZ Springe, wenn Ergebnis > = 0 16-6

JU SPA Springe absolut 16-3

JUO SPU Springe, wenn ungültig 16-6

JZ SPZ Springe, wenn Ergebnis = 0 16-6

L L Laden 8-3

L L Lade Länge Global-DB in AKKU 1 (L DBLG) 8-1215-2

L L Lade Nummer Global-DB in AKKU 1 (L DBNO) 8-12

L L Lade Länge Instanz-DB in AKKU 1 (L DILG) 8-1215-2

L L Lade Nummer Instanz-DB in AKKU 1 (L DINO) 8-1215-2

L L Lade Statuswort in AKKU 1 (L STW) 8-6

L L Lade aktuellen Zeitwert als Ganzzahl in AKKU 1 (der aktuelle Zeitwertkann eine Zahl im Bereich von 0 bis 255 sein, zum Beispiel: L T 32)

8-7

L L Lade aktuellen Zählerwert als Ganzzahl in AKKU 1 (der aktuelle Zähler-wert kann eine Zahl im Bereich von 0 bis 255 sein, zum Beispiel: L Z 15)

7-68-8

LAR1 LAR1 Lade Adreßregister 1 mit Inhalt von AKKU 1 (wenn kein Operand angegeben ist)

8-11

LAR1 LAR1 Lade Adreßregister 1 mit Inhalt von ... (von angegebenem Operanden)8-11

LAR1 LAR1 Lade Adreßregister 1 mit Inhalt von Adreßregister 2 (LAR1 AR2) 8-11

LAR1 LAR1 Lade Adreßregister 1 mit Ganzzahl (32 Bit, LAR1 P#area byte.bit) 8-11

LAR2 LAR2 Lade Adreßregister 2 mit Inhalt von AKKU 1 (wenn kein Operand angegeben ist)

8-11

LAR2 LAR2 Lade Adreßregister 2 mit Inhalt von ... (von angegebenem Operanden)8-11

LAR2 LAR2 Lade Adreßregister 2 mit Ganzzahl (32 Bit, LAR2 P#area byte.bit) 8-11

LC LC Lade aktuellen Zählerwert als BCD in AKKU 1 (der aktuelle Zählerwertkann eine Zahl im Bereich von 0 bis 255 sein, zum Beispiel: LC Z 15)

8-9

LC LC Lade aktuellen Zeitwert als BCD in AKKU 1 (der aktuelle Zeitwert kanneine Zahl im Bereich von 0 bis 255 sein, zum Beispiel: LC T 32)

7-78-10

LEAVE LEAVE AKKU 3 ---> AKKU 2, AKKU 4 ---> AKKU 3 4-3

LN LN Natürlicher Logarithmus einer Gleitpunktzahl (32 Bit, IEEE-FP) 10-11

LOOP LOOP Programmschleife 16-8

MCR( MCR( Sichere VKE in MCR-Stack, Beginn MCR-Bereich 17-11

MCR) )MCR Hole VKE vom MCR-Stack, Ende MCR-Bereich 17-11

MCRA MCRA Aktiviere MCR-Bereich 17-11

MCRD MCRD Deaktiviere MCR-Bereich 17-11

MOD MOD Divisionsrest Ganzzahl (32 Bit) 9-5

NEGD NEGD 2-Komplement Ganzzahl (32 Bit) 12-14

Alphabetische Liste der Operationen

Page 220: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

A-10Anweisungsliste (AWL) für S7-300/400

C79000-G7000-C565-01

Tabelle A-2 Liste der internationalen (englischen) Mnemonik und ihrer deutschen SIMATIC Entsprechung in al-phabetischer Reihenfolge, Fortsetzung

InternationaleMnemonik

SeiteBeschreibungSIMATIC-Mnemonik

NEGI NEGI 2-Komplement Ganzzahl (16 Bit) 12-14

NEGR NEGR Vorzeichen einer Gleitpunktzahl wechseln 12-14

NOP 0 NOP 0 Nulloperation 0 4-2

NOP 1 NOP 1 Nulloperation 1 4-2

NOT NOT Negiere VKE 5-26

O O ODER 5-10

O( O( ODER mit Verzweigung 5-14

OD OD ODER Doppelwort (32 Bit) 13-6

ON ON ODER NICHT 5-9

ON( ON( ODER NICHT mit Verzweigung 5-14

OPN AUF Aufschlage Datenbaustein 15-2

OW OW ODER Wort (16 Bit) 13-3

POP POP AKKU 1 <--- AKKU 2, AKKU 2 <--- AKKU 3, AKKU 3 <--- AKKU 4 4-2

PUSH PUSH AKKU 3 ---> AKKU 4, AKKU 2 ---> AKKU 3, AKKU 1 ---> AKKU 2 4-2

R R Rücksetze 5-22

R R Rücksetze Zähler (der aktuelle Zähler kann eine Zahl von 0 bis 255 sein,zum Beispiel: R Z 15)

6-5

R R Rücksetze Timer (der aktuelle Timer kann eine Zahl im Bereich von 0 bis255 sein, zum Beispiel: R T 32)

7-4

RLD RLD Rotiere links Doppelwort (32 Bit) 14-6

RLDA RLDA Rotiere AKKU 1 links über A1-Anzeige (32 Bit) 14-8

RND RND Runden zur Ganzzahl 12-9

RND+ RND+ Runden zur nächsthöheren Ganzzahl 12-10

RND- RND- Runden zur nächstniederen Ganzzahl 12-11

RRD RRD Rotiere rechts Doppelwort (32 Bit) 14-8

RRDA RRDA Rotiere AKKU 1 rechts über A1-Anzeige (32 Bit) 14-6

S S Setze 5-21

S S Setze Zählerstartwert (der aktuelle Zähler kann eine Zahl im Bereich von0 bis 255 sein, zum Beispiel: S Z 15)

7-3

SAVE SAVE Sichere VKE im BIE-Flag 5-26

SD SE Zeit als Einschaltverzögerung 6-11

SE SV Zeit als verlängerten Impuls starten 6-9

SET SET Setze VKE (= 1) 5-26

SF SA Zeit als Ausschaltverzögerung 6-15

SP SI Zeit als Impuls 6-7

SIN SIN Sinus einer Gleitpunktzahl (32 Bit, IEEE-FP) 10-7

SLD SLD Schiebe links Doppelwort (32 Bit) 14-2

SLW SLW Schiebe links Wort (16 Bit) 14-2

Alphabetische Liste der Operationen

Page 221: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

A-11Anweisungsliste (AWL) für S7-300/400C79000-G7000-C565-01

Tabelle A-2 Liste der internationalen (englischen) Mnemonik und ihrer deutschen SIMATIC Entsprechung in al-phabetischer Reihenfolge, Fortsetzung

InternationaleMnemonik

SeiteBeschreibungSIMATIC-Mnemonik

SQR SQR Quadrat einer Gleitpunktzahl (32 Bit, IEEE-PF) 10-9

SQRT SQRT Quadratwurzel einer Gleitpunktzahl (32 Bit, IEEE-PF) 10-9

SRD SRD Schiebe rechts Doppelwort (32 Bit) 14-3

SRW SRW Schiebe rechts Wort (16 Bit) 14-2

SS SS Zeit als speichernde Einschaltverzögerung 6-13

SSD SSD Schiebe Vorzeichen Ganzzahl (32 Bit) 14-4

SSI SSI Schiebe Vorzeichen Ganzzahl (16 Bit) 14-4

T T Transferieren 8-3

T T Transferiere AKKU 1 in Statuswort (T STW) 8-6

TAK TAK Tausche AKKU 1 mit AKKU 2 4-2

TAN TAN Tangens einer Gleitpunktzahl (32 Bit, IEEE-FP) 10-7

TAR1 TAR1 Transferiere Adreßregister 1 in AKKU 1 (wenn kein Operand angegebenist)

8-11

TAR1 TAR1 Transferiere Adreßregister 1 in ... (in angegebenen Operanden) 8-11

TAR1 TAR1 Transferiere Adreßregister 1 in Adreßregister 2 (TAR1 AR2) 8-11

TAR2 TAR2 Transferiere Adreßregister 2 in AKKU 1 (wenn kein Operand angegebenist)

8-11

TAR2 TAR2 Transferiere Adreßregister 2 in ... (in angegebenen Operanden) 8-11

TRUNC TRUNC Runden mit Abschneiden 12-12

UC UC Unkonditionierter Bausteinaufruf 17-7

X X EXKLUSIV ODER 5-10

X( X( EXKLUSIV ODER mit Verzweigung 5-14

XN XN EXKLUSIV ODER NICHT 5-9

XN( XN( EXKLUSIV ODER NICHT mit Verzweigung 5-14

XOD XOD EXKLUSIV-ODER Doppelwort (32 Bit) 13-6

XOW XOW EXKLUSIV-ODER Wort (16 Bit) 13-3

Alphabetische Liste der Operationen

Page 222: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

A-12Anweisungsliste (AWL) für S7-300/400

C79000-G7000-C565-01

A.2 Alphabetische Liste der deutschen Beschreibungen

In Tabelle A-3 finden Sie die deutschen Beschreibungen der AWL-Operatio-nen mit ihrer Mnemonik alphabetisch aufgelistet sowie die Seite, auf der diejeweilige Operation erläutert wird.

Tabelle A-3 AWL-Operationen alphabetisch geordnet nach deutscher Beschreibung

Beschreibung Mnemonik Seite

Absolutwert einer Gleitpunktzahl (32 Bit, IEEE-FP) ABS 10-6

Addiere AKKU 1 und AKKU 2 als Ganzzahl (16 Bit) +I 9-2

Addiere AKKU 1 und AKKU 2 als Ganzzahl (32 Bit) +D 9-2

Addiere AKKU 1 und AKKU 2 als Gleitpunktzahl (32 Bit, IEEE-FP) +R 10-2

Addiere AKKU 1 zum Adreßregister 1 +AR1 4-7

Addiere AKKU 1 zum Adreßregister 2 +AR2 4-7

Addiere Ganzzahlkonstante (Integer: 8, 16, 32 Bit) + 9-6

AKKU 3 ---> AKKU 4, AKKU 2 ---> AKKU 3, AKKU 1 ---> AKKU 2 PUSH 4-2

AKKU 1 <--- AKKU 2, AKKU 2 <--- AKKU 3, AKKU 3 <--- AKKU 4 POP 4-2

AKKU 3 ---> AKKU 2, AKKU 4 ---> AKKU 3 LEAVE 4-3

AKKU 3 ---> AKKU 4, AKKU 2 ---> AKKU 3 ENT 4-3

Aktiviere MCR-Bereich MCRA 17-11

Arcuscosinus einer Gleitpunktzahl (32 Bit, IEEE-FP) ACOS 10-7

Arcussinus einer Gleitpunktzahl (32 Bit, IEEE-FP) ASIN 10-7

Arcustangens einer Gleitpunktzahl (32 Bit, IEEE-FP) ATAN 10-7

Aufschlage Datenbaustein AUF 15-2

Bausteinaufruf CALL 17-3

Bausteinende absolut BEA 17-16

Bausteinende bedingt BEB 17-16

BCD in Ganzzahl (16 Bit) wandeln BTI 12-2

BCD in Ganzzahl (32 Bit) wandeln BTD 12-4

Bildbefehl BLD 4-2

Cosinus einer Gleitpunktzahl (32 Bit, IEEE-FP) COS 10-7

Deaktiviere MCR-Bereich MCRD 17-11

Dekrementiere AKKU 1 DEC 4-6

Dividiere AKKU 2 durch AKKU 1 als Ganzzahl (16 Bit) /I 9-2

Dividiere AKKU 2 durch AKKU 1 als Ganzzahl (32 Bit) /D 9-2

Dividiere AKKU 2 durch AKKU 1 als Gleitpunktzahl (32 Bit, IEEE-FP) /R 9-2

Divisionsrest Ganzzahl (32 Bit) MOD 9-5

EXKLUSIV ODER X 5-10

EXKLUSIV-ODER Doppelwort (32 Bit) XOD 13-6

EXKLUSIV ODER mit Verzweigung X( 5-14

EXKLUSIV ODER NICHT XN 5-9

Alphabetische Liste der Operationen

Page 223: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

A-13Anweisungsliste (AWL) für S7-300/400C79000-G7000-C565-01

Tabelle A-3 AWL-Operationen alphabetisch geordnet nach deutscher Beschreibung, Fortsetzung

Beschreibung SeiteMnemonik

EXKLUSIV ODER NICHT mit Verzweigung XN( 5-14

EXKLUSIV-ODER Wort (16 Bit) XOW 13-3

Exponentialwert einer Gleitpunktzahl (32 Bit, IEEE-FP) EXP 10-12

Flanke Negativ FN 5-17

Flanke Positiv FP 5-16

Freigabe Timer (Frei, FR T 0 zu T 255) FR 6-5

Freigabe Zähler (Frei, FR Z 0 zu Z 255) FR 7-3

Ganzzahl (16 Bit) in BCD wandeln ITB 12-5

Ganzzahl (16 Bit) in Ganzzahl (32 Bit) wandeln ITD 12-6

Ganzzahl (32 Bit) in BCD wandeln DTB 12-6

Ganzzahl (32 Bit) in Gleitpunktzahl (32 Bit; IEEE-FP) wandeln DTR 12-7

Hole VKE vom MCR-Stack, Ende MCR-Bereich MCR) 17-11

Inkrementiere AKKU 1 INC 4-6

1-Komplement Ganzzahl (16 Bit) INVI 12-14

1-Komplement Ganzzahl (32 Bit) INVD 12-14

2-Komplement Ganzzahl (16 Bit) NEGI 12-14

2-Komplement Ganzzahl (32 Bit) NEGD 12-14

Konditionierter Bausteinaufruf CC 17-7

Laden L 8-3

Lade Adreßregister 1 mit Ganzzahl (32 Bit, LAR1 P#area byte.bit) LAR1 8-11

Lade Adreßregister 1 mit Inhalt von ... (von angegebenem Operanden) LAR1 8-11

Lade Adreßregister 1 mit Inhalt von Adreßregister 2 (LAR1 AR2) LAR1 8-11

Lade Adreßregister 1 mit Inhalt von AKKU 1 (wenn kein Operand angegeben ist)

LAR1 8-11

Lade Adreßregister 2 mit Ganzzahl (32 Bit, LAR2 P#area byte.bit) LAR2 8-11

Lade Adreßregister 2 mit Inhalt von ... (von angegebenem Operanden) LAR2 8-11

Lade Adreßregister 2 mit Inhalt von AKKU 1 (wenn kein Operand angegeben ist)

LAR2 8-11

Lade aktuellen Zählerwert als Ganzzahl in AKKU 1 (der aktuelle Zählerwertkann eine Zahl im Bereich von 0 bis 255 sein, zum Beispiel: L Z 15)

L 7-6, 8-8

Lade aktuellen Zählerwert als BCD in AKKU 1 (der aktuelle Zählerwert kanneine Zahl im Bereich von 0 bis 255 sein, zum Beispiel: LC Z 15)

LC 7-7, 8-9

Lade aktuellen Zeitwert als Ganzzahl in AKKU 1 (der aktuelle Zeitwert kanneine Zahl im Bereich von 0 bis 255 sein, zum Beispiel: L T 32)

L 8-7

Lade aktuellen Zeitwert als BCD in AKKU 1 (der aktuelle Zeitwert kann eineZahl im Bereich von 0 bis 255 sein, zum Beispiel: LC T 32)

LC 8-9

Lade Länge Global-DB in AKKU 1 (L DBLG) L 8-12, 15-2

Lade Länge Instanz-DB in AKKU 1 (L DILG) L 8-12, 15-2

Lade Nummer Global-DB in AKKU 1 (L DBNO) L 8-12, 15-2

Lade Nummer Instanz-DB in AKKU 1 (L DINO) L 8-12, 15-2

Lade Statuswort in AKKU 1 (L STW) L 8-6

Alphabetische Liste der Operationen

Page 224: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

A-14Anweisungsliste (AWL) für S7-300/400

C79000-G7000-C565-01

Tabelle A-3 AWL-Operationen alphabetisch geordnet nach deutscher Beschreibung, Fortsetzung

Beschreibung SeiteMnemonik

Multipliziere AKKU 1 mit 2 als Ganzzahl (16 Bit) *I 9-2

Multipliziere AKKU 1 mit 2 als Ganzzahl (32 Bit) *D 9-2

Multipliziere AKKU 1 mit 2 als Gleitpunktzahl (32 Bit, IEEE-FP) *R 10-2

Natürlicher Logarithmus einer Gleitpunktzahl (32 Bit, IEEE-FP) LN 10-11

Negiere VKE NOT 5-26

Nulloperation 0 NOP 0 4-2

Nulloperation 1 NOP 1 4-2

ODER O 5-10

ODER Doppelwort (32 Bit) OD 13-6

ODER mit Verzweigung O( 5-14

ODER NICHT ON 5-9

ODER NICHT mit Verzweigung ON( 5-14

ODER Wort (16 Bit) OW 13-3

Programmschleife LOOP 16-8

Quadrat einer Gleitpunktzahl (32 Bit, IEEE-FP) SQR 10-9

Quadratwurzel einer Gleitpunktzahl (32 Bit, IEEE-FP) SQRT 10-9

Rotiere AKKU 1 links über A1-Anzeige (32 Bit) RLDA 14-8

Rotiere AKKU 1 rechts über A1-Anzeige (32 Bit) RRDA 14-8

Rotiere links Doppelwort (32 Bit) RLD 14-6

Rotiere rechts Doppelwort (32 Bit) RRD 14-7

Rücksetze R 5-22

Rücksetze Timer (der aktuelle Timer kann eine Zahl im Bereich von 0 bis 255sein, zum Beispiel: R T 32)

R 6-5

Rücksetze VKE (=0) CLR 5-26

Rücksetze Zähler (der aktuelle Zähler kann eine Zahl im Bereich von 0 bis 255sein, zum Beispiel: R Z 15)

R 7-3

Runden mit Abschneiden TRUNC 12-12

Runden zur Ganzzahl RND 12-9

Runden zur nächsthöheren Ganzzahl RND+ 12-10

Runden zur nächstniederen Ganzzahl RND- 12-11

Schiebe links Doppelwort (32 Bit) SLD 14-2

Schiebe links Wort (16 Bit) SLW 14-2

Schiebe rechts Doppelwort (32 Bit) SRD 14-3

Schiebe rechts Wort (16 Bit) SRW 14-2

Schiebe Vorzeichen Ganzzahl (16 Bit) SSI 14-4

Schiebe Vorzeichen Ganzzahl (32 Bit) SSD 14-4

Setze S 5-21

Setze VKE (= 1) SET 5-26

Setze Zählerstartwert (der aktuelle Zähler kann eine Zahl im Bereich von 0 bis255 sein, zum Beispiel: S Z 15)

S 7-3

Alphabetische Liste der Operationen

Page 225: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

A-15Anweisungsliste (AWL) für S7-300/400C79000-G7000-C565-01

Tabelle A-3 AWL-Operationen alphabetisch geordnet nach deutscher Beschreibung, Fortsetzung

Beschreibung SeiteMnemonik

Sichere VKE im BIE-Flag SAVE 5-26

Sichere VKE in MCR-Stack, Beginn MCR-Bereich MCR( 17-11

Sinus einer Gleitpunktzahl (32 Bit, IEEE-FP) SIN 10-7

Springe absolut SPA 16-3

Springe, wenn BIE = 0 SPBIN 16-5

Springe, wenn BIE = 1 SPBI 16-5

Springe, wenn Ergebnis < = 0 SPMZ 16-6

Springe, wenn Ergebnis = 0 SPZ 16-6

Springe, wenn Ergebnis > = 0 SPPZ 16-6

Springe, wenn Minus SPM 16-6

Springe, wenn OS = 1 SPS 16-5

Springe, wenn OV = 1 SPO 16-5

Springe, wenn Plus SPP 16-6

Springe, wenn ungleich null SPN 16-6

Springe, wenn ungültig SPU 16-6

Springe, wenn VKE = 0 SPBN 16-4

Springe, wenn VKE = 0 mit BIE SPBNB 16-4

Springe, wenn VKE = 1 SPB 16-4

Springe, wenn VKE = 1 mit BIE SPBB 16-4

Sprungleiste SPL 16-3

Subtrahiere AKKU 1 von AKKU 2 als Ganzzahl (16 Bit) -I 9-2

Subtrahiere AKKU 1 von AKKU 2 als Ganzzahl (32 Bit) -D 9-2

Subtrahiere AKKU 1 von AKKU 2 als Gleitpunktzahl (32 Bit, IEEE-FP) -R 10-2

Tangens einer Gleitpunktzahl (32 Bit, IEEE-FP) TAN 10-7

Tausche Adreßregister 1 mit Adreßregister 2 TAR 8-11

Tausche AKKU 1 mit AKKU 2 TAK 4-2

Tausche Global-DB und Instanz-DB TDB 15-2

Tausche Reihenfolge der Bytes im AKKU 1 (16 Bit) TAW 12-13

Tausche Reihenfolge der Bytes im AKKU 1 (32 Bit) TAD 12-13

Transferiere Adreßregister 1 in Adreßregister 2 (T AR1 AR2) TAR1 8-11

Transferiere Adreßregister 1 in AKKU 1 (wenn kein Operand angegeben ist)TAR1 8-11

Transferiere Adreßregister 1 in ... (in angegebenen Operanden) TAR1 8-11

Transferiere Adreßregister 2 in AKKU 1 (wenn kein Operand angegeben ist)TAR2 8-11

Transferiere Adreßregister 2 in ... (in angegebenen Operanden) TAR2 8-11

Transferiere AKKU 1 in Statuswort (T STW) T 8-6

Transferieren T 8-3

UND U 5-10

UND Doppelwort (32 Bit) UD 13-6

UND mit Verzweigung U( 5-14

Alphabetische Liste der Operationen

Page 226: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

A-16Anweisungsliste (AWL) für S7-300/400

C79000-G7000-C565-01

Tabelle A-3 AWL-Operationen alphabetisch geordnet nach deutscher Beschreibung, Fortsetzung

Beschreibung SeiteMnemonik

UND NICHT UN 5-9

UND NICHT mit Verzweigung UN( 5-14

UND Wort (16 Bit) UW 13-3

Unkonditionierter Bausteinaufruf UC 17-7

Vergleiche Ganzzahlen (16 Bit) >, <, >=, <=, ==, <> ==I 11-3

Vergleiche Ganzzahlen (32 Bit) >, <, >=, <=, ==, <> ==D 11-3

Vergleiche Gleitpunktzahlen >, <, >=, <=, ==, <> ==R 11-5

Verzweigung schließen ) 5-14

Vorzeichen einer Gleitpunktzahl wechseln NEGR 12-14

Zählen rückwärts ZR 7-5

Zählen vorwärts ZV 7-5

Zeit als Ausschaltverzögerung SA 6-15

Zeit als Einschaltverzögerung SE 6-11

Zeit als Impuls SI 6-7

Zeit als speichernde Einschaltverzögerung SS 6-13

Zeit als verlängerten Impuls starten SV 6-9

Zuweisung = 5-24

Alphabetische Liste der Operationen

Page 227: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

B-1Anweisungsliste (AWL) für S7-300/400C79000-G7000-C565-01

Programmierbeispiele

Im Kapitel finden Sie auf Seite

B.1 Übersicht B-2

B.2 Bitverknüpfungsoperationen B-3

B.3 Zeitoperationen B-7

B.4 Zähl- und Vergleichsoperationen B-10

B.5 Arithmetische Operationen mit Ganzzahlen B-12

B.6 Wortverknüpfungsoperationen B-14

Kapitelübersicht

B

Page 228: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

B-2Anweisungsliste (AWL) für S7-300/400

C79000-G7000-C565-01

B.1 Übersicht

Jede der in diesem Handbuch beschriebenen AWL-Operationen löst einebestimmte Funktion aus. Durch Kombination dieser Operationen in einemProgramm können Sie eine breite Palette von Automatisierungsaufgabenausführen. In diesem Kapitel finden Sie im folgenden einige Beispiele fürpraktische Anwendungen der AWL-Operationen:

� Steuern eines Förderbandes durch Bitverknüpfungsoperationen.

� Feststellen der Bewegungsrichtung auf einem Förderband durch Bit-verknüpfungsoperationen.

� Generieren eines Taktimpulses durch Zeitoperationen.

� Überwachen des Lagerbereichs durch Zähl- und Vergleichsoperationen.

� Berechnungen mit arithmetischen Operationen für Ganzzahlen.

� Einstellen der Zeitdauer für das Beheizen eines Ofens.

Wenn Sie eine ASCII-Datei erstellen, die in den Program Editor (AWL)importiert werden soll, müssen Sie sich an die in Anhang C aufgeführtenKonventionen halten.

Die Beispiele in diesem Kapitel verwenden folgende Operationen:

� U (UND) sowie UN (UND NICHT)

� = (Zuweisen)

� BE (Bausteinende) und BEB (Bausteinende bedingt)

� 16 Bit, <=, >= (Vergleiche Ganzzahlen)

� ZR (Zählen rückwärts) und ZV (Zählen vorwärts)

� FP (Flanke positiv)

� SV (Zeit als verlängerten Impuls starten)

� INC (Inkrementiere AKKU 1)

� Arithmetische Operationen mit Ganzzahlen (16 Bit)

– +I: Addiere AKKU 1 und 2 als Ganzzahl

– /I: Dividiere AKKU 2 durch 1 als Ganzzahl

– *I: Multipliziere AKKU 1 und 2 als Ganzzahl

� L (Laden) und T (Transferieren)

� NOT (Negiere VKE)

� O (ODER) und ON (ODER NICHT)

� S (Setze) und R (Rücksetze)

� UND-Wort, ODER-Wort (Wortverknüpfungen)

PraktischeAnwendungen

VerwendeteOperationen

Programmierbeispiele

Page 229: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

B-3Anweisungsliste (AWL) für S7-300/400C79000-G7000-C565-01

B.2 Bitverknüpfungsoperationen

Bild B-1 zeigt ein Förderband, das elektrisch in Gang gesetzt werden kann.Am Anfang des Bandes befinden sich zwei Druckschalter, S1 für START undS2 für STOP. Am Ende des Bandes befinden sich ebenfalls zwei Druck-schalter, S3 für START und S4 für STOP. Das Band kann von beiden Endenaus gestartet oder gestoppt werden. Außerdem stoppt der Sensor S5 dasBand, wenn ein Gegenstand auf dem Band dessen Ende erreicht.

Sie können ein Programm zum Steuern des Förderbandes aus Bild B-1schreiben, indem Sie die verschiedenen Komponenten des Förderband-systems mit Hilfe von Symbolen darstellen. Wenn Sie sich für diese Methodeentscheiden, müssen Sie eine Signalliste erstellen, um die von Ihnengewählten Symbole mit absoluten Werten in Beziehung zu setzen (sieheTabelle B-1). In Tabelle B-3 wird ein AWL-Programm, das Symbole alsOperanden verwendet, mit einem Programm verglichen, das absolute Werteals Operanden verwendet. Die Symbole definieren Sie in der Symboltabelle(siehe Hilfe zu STEP 7).

Tabelle B-1 Elemente der symbolischen Programmierung für Förderbandsysteme

SystemkomponenteAbsolute

BezeichnungSymbol Symboltabelle

Startschalter E 1.1 S1 E 1.1 S1

Stoppschalter E 1.2 S2 E 1.2 S2

Startschalter E 1.3 S3 E 1.3 S3

Stoppschalter E 1.4 S4 E 1.4 S4

Sensor E 1.5 S5 E 1.5 S5

Motor A 4.0 MOTOR_EIN A 4.0 MOTOR_EIN

MOTOR_EIN

S1S2

� Start� Stop

S3S4

� Start� Stop

Sensor S5

Bild B-1 Förderbandsystem

Steuern einesFörderbandes

SymbolischeProgrammierung

Programmierbeispiele

Page 230: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

B-4Anweisungsliste (AWL) für S7-300/400

C79000-G7000-C565-01

Sie können ein Programm zum Steuern des Förderbandes aus Bild B-1schreiben, indem Sie die verschiedenen Komponenten des Förderband-systems mit Hilfe von absoluten Werten darstellen (siehe Tabelle B-2). InTabelle B-3 wird ein AWL-Programm, das absolute Werte als Operandenverwendet, mit einem Programm verglichen, das Symbole als Operandenverwendet. An die Tabelle schließt sich eine Erläuterung des Programms an.

Tabelle B-2 Elemente der absoluten Programmierung für Förderbandsysteme

Systemkomponente Absolute Bezeichnung

Startschalter E 1.1

Stoppschalter E 1.2

Startschalter E 1.3

Stoppschalter E 1.4

Sensor E 1.5

Motor A 4.0

Tabelle B-3 Symbolische und absolute Programmierung zum Steuern einesFörderbandes

Symbolische Programmierung Absolute Programmierung

O S1O S3S MOTOR_EINO S2O S4ON S5R MOTOR_EIN

O E 1.1O E 1.3S A 4.0O E 1.2O E 1.4ON E 1.5R A 4.0

AWL Erläuterung

O E 1.1O E 1.3S A 4.0O E 1.2O E 1.4ON E 1.5R A 4.0

Durch Drücken einer der beiden Startschalter wird der Motoreingeschaltet.

Durch Drücken einer der beiden Stoppschalter oder Öffnen einesÖffners am Ende des Bandes wird der Motor abgeschaltet.

AbsoluteProgrammierung

Programmierbeispiele

Page 231: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

B-5Anweisungsliste (AWL) für S7-300/400C79000-G7000-C565-01

Bild B-2 zeigt ein Förderband, das mit zwei Lichtschranken (LS 1 und LS 2)ausgestattet ist. Die Lichtschranken sollen feststellen, in welche Richtungsich ein Paket auf dem Band bewegt. Jede dieser beiden Lichtschrankenfunktioniert wie ein Schließer (siehe Kapitel 5.1).

Sie können ein Programm schreiben, das die Richtungsanzeige für das inBild B-2 gezeigte Förderbandsystem aktiviert, indem Sie die verschiedenenKomponenten des Fördersystems – einschließlich der zur Richtungserfassungbenötigten Lichtschranken – mit Hilfe von Symbolen darstellen. Wenn Siesich für diese Methode entscheiden, müssen Sie eine Symbolliste erstellen,um die von Ihnen gewählten Symbole mit absoluten Werten in Beziehung zusetzen (siehe Tabelle B-4). In Tabelle B-6 wird ein AWL-Programm, dasSymbole als Operanden verwendet, mit einem Programm verglichen, dasabsolute Werte als Operanden verwendet. Die Symbole definieren Sie in derSymboltabelle (siehe Hilfe zu STEP 7).

Tabelle B-4 Elemente der symbolischen Programmierung zur Richtungserfassung

SystemkomponenteAbsolute

BezeichnungSymbol Symboltabelle

Lichtschranke 1 E 0.0 LS1 E 0.0 LS1

Lichtschranke 2 E 0.1 LS2 E 0.1 LS2

Anzeige für Bewegung nachrechts

A 4.0 RECHTS A 4.0 RECHTS

Anzeige für Bewegung nachlinks

A 4.1 LINKS A 4.1 LINKS

Taktmerker 1 M 0.0 TM1 M 0.0 TM1

Taktmerker 2 M 0.1 TM2 M 0.1 TM2

LS1LS2 A 4.1A 4.0

Bild B-2 Förderbandsystem mit Lichtschranken zur Richtungserfassung

Erfassen derRichtung einesFörderbandes

SymbolischeProgrammierung

Programmierbeispiele

Page 232: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

B-6Anweisungsliste (AWL) für S7-300/400

C79000-G7000-C565-01

Sie können ein Programm schreiben, um die Richtungsanzeige für das in BildB-2 gezeigte Förderbandsystem zu steuern, indem Sie die zurRichtungserfassung benötigten Lichtschranken mit Hilfe von absolutenWerten darstellen (siehe Tabelle B-5). Tabelle B-6 vergleicht einAWL-Programm, das absolute Werte als Operanden verwendet, mit einemProgramm, das Symbole als Operanden verwendet. Eine Erläuterung desProgramms schließt sich an die Tabelle an.

Tabelle B-5 Elemente der absoluten Programmierung zur Richtungserfassung

Systemkomponente Absolute Bezeichnung

Lichtschranke 1 E 0.0

Lichtschranke 2 E 0.1

Anzeige für Bewegung nach rechts A 4.0

Anzeige für Bewegung nach links A 4.1

Taktmerker 1 M 0.0

Taktmerker 2 M 0.1

Tabelle B-6 Symbolische und absolute Programmierung zur Richtungserfassung

Symbolische Programmierung Absolute Programmierung

U LS 1FP TM 1UN LS 2S LINKSU LS 2FP TM 2UN LS 1S RECHTSUN LS 1UN LS 2R RECHTSR LINKS

U E 0.0FP M 0.0UN E 0.1S A 4.1U E 0.1FP M 0.1UN E 0.0S A 4.0UN E 0.0UN E 0.1R A 4.0R A 4.1

AWL Erläuterung

U E 0.0FP M 0.0UN E 0.1S A 4.1

U E 0.1FP M 0.1UN E 0.0S A 4.0

UN E 0.0UN E 0.1R A 4.0R A 4.1

Wechselt der Signalzustand am Eingang E 0.0 von ”0” auf ”1”(steigende Flanke) und ist gleichzeitig der Signalzustand amEingang E 0.1 ”0”, dann wird das Paket auf dem Band nach linksbewegt.

Wechselt der Signalzustand an Eingang E 0.1 von ”0” auf ”1”(steigende Flanke) und ist gleichzeitig der Signalzustand vonEingang E 0.0 ”0”, dann wird das Paket auf dem Band nach rechtsbewegt. Ist eine der Lichtschranken unterbrochen, so bedeutetdies, daß sich ein Paket zwischen beiden Lichtschranken befin-det.

Sind die Lichtschranken nicht unterbrochen, dann befindet sichkein Paket zwischen den Schranken. Der Richtungsanzeiger schal-tet sich ab.

AbsoluteProgrammierung

Programmierbeispiele

Page 233: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

B-7Anweisungsliste (AWL) für S7-300/400C79000-G7000-C565-01

B.3 Zeitoperationen

Zur Erzeugung eines sich periodisch wiederholenden Signals können Sieeinen Taktgeber oder ein Blinkrelais verwenden. Taktgeber finden sich häufigin Meldesystemen, die das Blinken von Anzeigeleuchten steuern.

Wenn Sie das S7-300 einsetzen, können Sie eine Taktgeberfunktion imple-mentieren, indem Sie die zeitgesteuerte Verarbeitung in speziellen Organisa-tionsbausteinen verwenden. Das im folgenden AWL-Programm aufgeführteBeispiel zeigt den Einsatz von Zeitfunktionen, um einen Takt zu generieren.

Das folgende Beispiel zeigt, wie ein Freilauf-Taktgeber mit Hilfe einer Zeitimplementiert wird (Tastverhältnis 1:1). Die Frequenz ist in die Werteunterteilt, die in Tabelle B-7 aufgeführt sind.

AWL Erläuterung

UN T1L S5T#250msSV T1NOTBEB

L MB100INC 1T MB100

Wenn Zeit T1 abgelaufen ist, dann lade den Zeitwert 250 ms inT1 und starte T1 als verlängerten Impuls.

Negiere (kehre um) das Verknüpfungsergebnis. Beende den aktuellen Baustein, wenn die Zeit läuft.

Wenn die Zeit abgelaufen ist, dann lade den Inhalt von Merker-byte MB100, inkrementiere den Inhalt um ”1” und transferiere das Ergebnis ins Merkerbyte MB100.

Eine Signalabfrage an der Zeit T1 liefert das Verknüpfungsergebnis.

0

1

250 ms

Bild B-3 VKE für die Anweisung UN T1 im Beispiel Taktzeit

Sobald die Zeit abgelaufen ist, wird die Zeit erneut gestartet. Daher liefertdie Signalabfrage, die von der Anweisung UN T1 ausgeführt wird, nur kurzden Signalzustand ”1”. Bild B-4 zeigt, wie das negierte (umgekehrte) VKE-Bit aussieht.

0

1

250 ms

Bild B-4 Negiertes VKE-Bit der Zeit T1 im Beispiel Taktzeit

Alle 250 ms beträgt das VKE-Bit ”0”. Die Operation BEB beendet dieBearbeitung des Bausteins dann jedoch nicht. Stattdessen wird der Inhalt desMerkerbytes MB100 um ”1” inkrementiert.

Der Inhalt des Merkerbytes MB100 verändert sich alle 250 ms wie folgt:0 �1�2�3��... �254�255�0�1 ...

Taktgeber

Programmierbeispiele

Page 234: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

B-8Anweisungsliste (AWL) für S7-300/400

C79000-G7000-C565-01

Tabelle B-7 listet die Frequenzen auf, die Sie mit den einzelnen Bits desMerkerbytes MB100 erzielen können. Das sich an die Tabelle anschließendeAWL-Programm zeigt, wie Sie die erzeugten Frequenzen nutzen können.

Tabelle B-7 Frequenzen für das Beispiel Taktzeit

Bits desMB100

Frequenz in Hertz Dauer

M 100.0 2.0 0.5 s (250 ms ein/250 ms aus)

M 100.1 1.0 1 s (0.5 s ein/0.5 s aus)

M 100.2 0.5 2 s (1 s ein/1 s aus

M 100.3 0.25 4 s (2 s ein/2 s aus)

M 100.4 0.125 8 s (4 s ein/4 s aus)

M 100.5 0.0625 16 s (8 s ein/8 s aus)

M 100.6 0.03125 32 s (16 s ein/16 s aus)

M 100.7 0.015625 64 s (32 s ein/32 s aus)

AWL Erläuterung

U M10.0U M100.1= A 4.0

M 10.0 ist ”1”, wenn ein Fehler auftritt.

Tritt ein Fehler auf, dann blinkt die Fehlerlampe mit einerFrequenz von 1 Hz auf.

Erzielen einerbestimmtenFrequenz

Programmierbeispiele

Page 235: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

B-9Anweisungsliste (AWL) für S7-300/400C79000-G7000-C565-01

Tabelle B-8 listet die Signalzustände der Bits von Merkerbyte MB100 auf.Bild B-5 zeigt das VKE des Merkerbits M 100.1

Tabelle B-8 Signalzustände der Bits von Merkerbyte MB100

Zy- Signalzustände der Bits von Merkerbyte MB100 Zeit-werty

klus 7 6 5 4 3 2 1 0wertin ms

0 0 0 0 0 0 0 0 0 250

1 0 0 0 0 0 0 0 1 250

2 0 0 0 0 0 0 1 0 250

3 0 0 0 0 0 0 1 1 250

4 0 0 0 0 0 1 0 0 250

5 0 0 0 0 0 1 0 1 250

6 0 0 0 0 0 1 1 0 250

7 0 0 0 0 0 1 1 1 250

8 0 0 0 0 1 0 0 0 250

9 0 0 0 0 1 0 0 1 250

10 0 0 0 0 1 0 1 0 250

11 0 0 0 0 1 0 1 1 250

12 0 0 0 0 1 1 0 0 250

M 100.1

250 ms 0.5 s 0.75 s 1 s 1.25 s 1.5 s

T

Zeit01

Frequenz� 1T�

11 s

� 1Hz

0

Bild B-5 Signalzustand des Bits 1 von MB100 (M 100.1)

Programmierbeispiele

Page 236: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

B-10Anweisungsliste (AWL) für S7-300/400

C79000-G7000-C565-01

B.4 Zähl- und Vergleichsoperationen

Bild B-6 zeigt ein System mit zwei Förderbändern und einem temporärenLagerbereich dazwischen. Förderband 1 transportiert die Pakete zumLagerbereich. Eine Lichtschranke am Ende des Förderbandes 1 neben demLagerbereich ermittelt, wieviele Pakete in den Lagerbereich transportiertwerden. Förderband 2 transportiert Pakete von diesem temporärenLagerbereich zu einer Laderampe, wo sie zur Auslieferung beim Kunden aufLKW verladen werden. Eine Lichtschranke am Ende des Förderbandes 2neben dem Lagerbereich ermittelt, wieviele Pakete aus dem Lagerbereichheraus zur Laderampe transportiert werden.

Eine Anzeigenkonsole mit fünf Lampen zeigt an, wie weit der temporäreLagerbereich gefüllt ist. Im Anschluß an Bild B-6 finden Sie ein Beispiel fürein Programm, das die Anzeigeleuchten auf der Anzeigenkonsole aktiviert.

Lagerbereichleer

Anzeigenkonsole

Lagerbereichvoll

Lagerbereich zu90% gefüllt

Lagerbereich zu50% gefüllt

Lagerbereichnicht leer

ankommendePakete

abgehendePakete

E 0.0 E 0.1

Förderband 2Förderband 1

Lichtschranke 1 Lichtschranke 2

Temporärer Lagerbereichfür 100 Pakete

(A 4.0) (A 4.1) (A 4.2) (A 4.3) (A 4.4)

Bild B-6 Lagerbereich mit Zähler und Vergleicher

Lagerbereich mitZähler undVergleicher

Programmierbeispiele

Page 237: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

B-11Anweisungsliste (AWL) für S7-300/400C79000-G7000-C565-01

AWL Erläuterung

U E 0.0ZV Z1

U E 0.1ZR Z1

UN Z1= A 4.0U Z1= A 4.1L +50

L Z1<=I= A 4.2L +90>=I= A 4.3L Z1L 100>=I= A 4.4

Jeder durch die Lichtschranke 1 generierte Impuls erhöht denZählwert des Zählers Z1 um ”1”, wodurch die Zahl der Paketegezählt wird, die in den Lagerbereich transportiert werden.Jeder durch die Lichtschranke 2 erzeugte Impuls vermindert denZählwert des Zählers Z1 um ”1”, wodurch die Pakete gezähltwerden, die den Lagerbereich verlassen.Wenn der Zählwert ”0” beträgt, schaltet sich die Anzeigeleuchtefür die Meldung ”Lagerbereich leer” ein.Beträgt der Zählwert nicht ”0”, dann schaltet sich die Anzeige-leuchte für die Meldung ”Lagerbereich nicht leer” ein. Ist 50 kleiner als oder gleich Zählwert, dann schaltet sich dieAnzeigeleuchte für die Meldung ”Lagerbereich zu 50% voll” ein.

Ist der Zählwert größer als oder gleich 90, dann schaltet sichdie Anzeigeleuchte für die Meldung ”Lagerbereich zu 90% voll”ein.

Ist der Zählwert größer als oder gleich 100, dann schaltet sichdie Anzeigeleuchte für die Meldung ”Lagerbereich voll” ein.(Sie könnten auch über Ausgang A 4.4 das Förderband 1blockieren.)

Programmierbeispiele

Page 238: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

B-12Anweisungsliste (AWL) für S7-300/400

C79000-G7000-C565-01

B.5 Arithmetische Operationen mit Ganzzahlen

Das folgende Programmbeispiel (gilt nur für S7-300) zeigt, wie Sie mit dreiarithmetischen Operationen für Ganzzahlen und den Operationen L und T dasgleiche Ergebnis erzielen wie die folgende Gleichung:

MD4�(EW0�DB5.DBW3)� 15

MW2

AWL Erläuterung

L EW0L DB5.DBW3

+I

L +15

�I

L MW2

/I

T MD4

Lade den Wert von Eingangswort EW0 in AKKU 1.Lade den Wert des Globaldatenworts DBW3 aus dem DB5in AKKU 1.Der alte Inhalt von AKKU 1 wird in AKKU 2 geschoben.Addiere den Inhalt der niederwertigen Wörter von AKKU 1 und 2.Das Ergebnis wird im niederwertigen Wort von AKKU 1 gespei-chert. Der Inhalt von AKKU 2 und das höherwertige Wort von AKKU1 bleiben unverändert.Lade den konstanten Wert +15 in AKKU 1. Der alte Inhalt vonAKKU 1 wird in AKKU 2 geschoben.Multipliziere den Inhalt des niederwertigen Worts von AKKU 2mit dem Inhalt des niederwertigen Worts von AKKU 1. DasErgebnis wird in AKKU 1 gespeichert. Der Inhalt von AKKU 2bleibt unverändert.Lade den Wert von Merkerwort MW2 in AKKU 1. Der alte Inhalt vonAKKU 1 wird in AKKU 2 geschoben.Dividiere den Inhalt des niederwertigen Worts von AKKU 2 durchden Inhalt des niederwertigen Worts von AKKU 1. Das Ergebniswird in AKKU 1 gespeichert. Der Inhalt von AKKU 2 bleibtunverändert.Transferiere das Endergebnis ins Merkerdoppelwort MD4. DerInhalt beider Akkumulatoren bleibt unverändert.

Berechnen einerGleichung

Programmierbeispiele

Page 239: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

B-13Anweisungsliste (AWL) für S7-300/400C79000-G7000-C565-01

Bild B-7 zeigt die Beziehung des Programms zur Gleichung.

+

L EW0

L DBW3

+I

L +15

�I

L MW2

/I

T MD4

AKKU 1 AKKU2

(EW0) � (alter Inhalt)

(DBW3) � (EW0)

(EW0) + (DBW3) (EW0)

15 � (EW0) + (DBW3)

[(EW0) + (DBW3)] �15 (EW0) + (DBW3)

MW2 � [(EW0) + (DBW3)] �15

(EW0�DBW3)� 15MW2

(EW0�DBW3)� 15

(EW0�DBW3)� 15MW2

/�

MD4�(EW0�DBW5)� 15

MW2

(EW0�DBW3)� 15

Bild B-7 Beziehung von arithmetischen Operationen für Ganzzahlen zu einerGleichung (S7-300)

Programmierbeispiele

Page 240: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

B-14Anweisungsliste (AWL) für S7-300/400

C79000-G7000-C565-01

B.6 Wortverknüpfungsoperationen

Der Bediener des in Bild B-8 gezeigten Ofens startet das Heizen des Ofens,indem er den Startschalter drückt. Mit den im Bild gezeigten digitalenVorwählschaltern kann er die Dauer der Heizzeit festlegen. Der Wert, den ersetzt, gibt die Sekunden im binär-codierten Dezimalformat (BCD) an. TabelleB-9 führt die Komponenten des Heizsystems sowie ihre entsprechendenabsoluten Adressen auf, die im Programmbeispiel im Anschluß an Bild B-8verwendet wurden.

Tabelle B-9 Heizsystemkomponenten und ihre entsprechenden absoluten Adressen

Systemkomponente Absolute Adresse im AWL-Programm

Startschalter E 0.7

Digitale Vorwählschalter für Einer E 1.0 bis E 1.3

Digitale Vorwählschalter für Zehner E 1.4 bis E 1.7

Digitale Vorwählschalter für Hunderter E 0.0 bis E 0.3

Beginn Heizvorgang A 4.0

7...

Ofen

ÎÎÎ

ÎÎÎÎÎÎ

ÎÎÎÎÎÎ

1 0 0 1 0 0 0 1X X X X 0 0 0 1

WärmeA 4.0

Digitale Vorwählschalter zum Stellen der BCD-Ziffern

EW0

4 4 4

Startschalter E 0.7

7....

EB1EB0

Bits...0 ...0

Bild B-8 Verwendung der Ein- und Ausgänge für zeitbegrenzten Heizvorgang

AWL Erläuterung

U T1= A 4.0BEB

L EW0UW W#16#0FFF

OW W#16#2000

U E 0.7SV T1BE

Wenn die Zeit läuft, dann beginne den Heizvorgang.

Wenn die Zeit läuft, dann beende die Bearbeitung hier. Dadurchwird ein Neustart der Zeit T1 verhindert, wenn der Schaltergedrückt wird.Maskiere die Eingangsbits E 0.4 bis E 0.7 (d. h. setze sie auf”0” zurück). Der Zeitwert in Sekunden befindet sich in binär-codiertem Dezimalformat im niederwertigen Wort von AKKU 1.Ordne die Zeitbasis als Sekunden in Bits 12 und 13 des nieder-wertigen Worts von AKKU 1 zu.Starte die Zeit T1 als verlängerten Impuls, wenn der Schaltergedrückt wird.Beende Programmteil.

Heizen einesOfens

Programmierbeispiele

Page 241: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

C-1Anweisungsliste (AWL) für S7-300/400C79000-G7000-C565-01

Quelldateien - Reservierte Schlüsselwörter

Ein Schlüsselwort ist eine reservierte Kennung, die nicht als allgemeineKennung verwendet werden kann.

Damit ein Schlüsselwort als globales Symbol verwendet werden kann, mußes als Systemkontrollpunkt (SKP) gekennzeichnet werden.

Damit ein Schlüsselwort als bausteinlokales Symbol verwendet werden kann,muß es mit # gekennzeichnet werden.

Tabelle C-1 zeigt die bei STEP 7 reservierten Schlüsselwörter.

Tabelle C-1 Schlüsselwörter

Schlüsselwörter

A B

AB BEGIN

AD BIE

ANY BLOCK_DB

AO BLOCK_FB

AR1 BLOCK_FC

AR2 BLOCK_SDB

ARRAY BOOL

AUTHOR BYTE

AW

C DATA_BLOCK

CALL DATE

CHAR DATE_AND_TIME

COUNTER DB

DBB

DBD

DBLG

DBNO

DBW

DBX

DI

Definition

Übersicht

C

Page 242: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

C-2Anweisungsliste (AWL) für S7-300/400

C79000-G7000-C565-01

Tabelle C-1 Schlüsselwörter, Fortsetzung

Schlüsselwörter

DIB

DID

DILG

DINO

DINT

DIW

DIX

DT

DWORD

E FALSE

EB FAMILY

ED FB

END_Data_Block FC

END_Function FUNCTION

END_Function_Block FUNCTION_BLOCK

END_Organization_Block

END_Struct I

END_System_Function IB

END_System_Function_Block ID

END_Type INT

END_VAR IW

EW

KA L

KNOW_HOW_PROTECT LB

KP LD

LW

M NAME

MB NETWORK

MD NI

MW NO

OB PA

OF PAB

ORGANIZATION_BLOCK PAD

OS PAW

OV PE

Quelldateien - Reservierte Schlüsselwörter

Page 243: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

C-3Anweisungsliste (AWL) für S7-300/400C79000-G7000-C565-01

Tabelle C-1 Schlüsselwörter, Fortsetzung

Schlüsselwörter

PEB

PED

PEW

PI

PIB

PID

PIW

PQ

PQB

PQD

PQW

POINTER

Q READ_ONLY

QB REAL

QD RET_VAL

QW

S5T T

S5TIME TIME

SDB TIME_OF_DAY

SFB TIMER

SFC TITLE

STANDARD TOD

STRING TRUE

STRUCT TYPE

STW

SYSTEM_FUNCTION

SYSTEM_FUNCTION_BLOCK

UDT VAR

UNLINKED VAR_IN_OUT

UO VAR_INPUT

VAR_OUTPUT

VAR_TEMP

VERSION

VOID

WORD Z

Quelldateien - Reservierte Schlüsselwörter

Page 244: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

C-4Anweisungsliste (AWL) für S7-300/400

C79000-G7000-C565-01

Quelldateien - Reservierte Schlüsselwörter

Page 245: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

D-1Anweisungsliste (AWL) für S7-300/400C79000-G7000-C565-01

Literaturverzeichnis

/30/ Getting Started: Erste Schritte und Übungen mit STEP 7 V5.0

/70/ Handbuch: Automatisierungssystem S7-300, Aufbauen der CPU-Daten

/71/ Referenzhandbuch: Automatisierungssysteme S7-300, M7-300 Baugruppendaten

/72/ Operationsliste: Automatisierungssystem S7-300

/100/ Installationshandbuch: Automatisierungssystem S7-400, M7-400, Aufbauen

/101/ Referenzhandbuch: Automatisierungssysteme S7-400, M7-400 Baugruppendaten

/102/ Operationsliste: Automatisierungssystem S7-400

/231/ Handbuch: Hardware konfigurieren und Verbindungen projektieren mitSTEP 7 V5.0

/233/ Referenzhandbuch: Kontaktplan (KOP) für S7-300/400

/234/ Handbuch: Programmieren mit STEP 7 V5.0

/235/ Referenzhandbuch: Systemsoftware für S7-300/400System-und Standardfunktionen

/236/ Referenzhandbuch: Funktionsplan (FUP) für S7-300/400

/250/ Handbuch: S7-SCL für S7-300/400, Bausteine programmieren

/251/ Handbuch: S7-GRAPH für S7-300/400, Ablaufsteuerungen programmieren

/252/ Handbuch: S7-HiGraph für S7-300/400, Zustandsgraphen programmieren

/253/ Handbuch: C für S7-300/400, C-Programme erstellen

/254/ Handbuch: CFC für S7 und M7, Technologische Funktionen graphisch verschalten

/270/ Handbuch: S7-PDIAG für S7-300/400 Prozeßdiagnose für KOP, FUP und AWL projektieren

/271/ Handbuch: NETPRONetze grafisch projektieren

/800/ DOCPROSchaltbücher normgerecht erstellen (nur auf CD)

D

Page 246: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

D-2Anweisungsliste (AWL) für S7-300/400

C79000-G7000-C565-01

/801/ TeleService für S7, C7 und M7Fernwartung eines Automatisierungssystems (nur auf CD)

/802/ S7-PLCSIMProgrammtest mit simulierter S7-CPU (nur auf CD)

/803/ Referenzhandbuch: Systemsoftware für S7-300/400STEP 7 Standardfunktionen Teil 2 (nur auf CD)

Literaturverzeichnis

Page 247: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

Glossar-1Anweisungsliste (AWL) für S7-300/400C79000-G7000-C565-01

.Glossar

A

Bei der absoluten Adressierung wird die Adresse des zu bearbeitendenOperanden angegeben.

Bei der direkten Adressierung enthält der Operand die Speicheradresse desWertes, mit dem die Operation arbeiten soll.

Beispiel:

Die Adresse A 4.0 bezeichnet das Bit 0 im Byte 4 des Prozeßabbilds derAusgänge.

Bei der registerindirekten Adressierung gibt der Operand indirekt über einAdreßregister und einen Versatz die Adresse des Werts an, den die Operationverarbeiten wird.

Bei der speicherindirekten Adressierung gibt der Operand einer Operation dieAdresse des Werts, den die Operation verarbeiten wird, an.

Bei der symbolischen Adressierung wird der zu bearbeitende Operandsymbolisch angegeben (anstelle einer Adresse).

Bei der unmittelbaren Adressierung enthält der Operand den Wert, mit demdie Operation arbeiten soll.

Beispiel: L27 bedeutet das Laden der Konstante 27 in den Akku.

Die Adreßregister sind Bestandteil der Register, die sich imKommunikationsteil der CPU befinden. Sie dienen als Zeiger für die register-indirekte Adressierung (bei Programmierung in Anweisungsliste möglich).

Akkumulatoren sind Register in der CPU und dienen als Zwischenspeicherfür Lade-, Transfer- sowie Vergleichs-, Rechen- und Umwandlungs-operationen.

Adressierungabsolut

Adressierungdirekt

Adressierungregisterindirekt

Adressierungspeicherindirekte

Adressierungsymbolisch

Adressierungunmittelbar

Adreßregister

Akkumulator

Page 248: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

Glossar-2Anweisungsliste (AWL) für S7-300/400

C79000-G7000-C565-01

Aktualparameter ersetzen beim Aufruf eines Funktionsbausteins (FB) odereiner Funktion (FC) die Formalparameter. Beispiel: Der Formalparameter ”Start” wird ersetzt durch den Aktual-parameter ”E 3.6”.

Eine Anweisung ist die kleinste selbständige Einheit eines in einer textuellenSprache erstellten Anwenderprogrammes. Sie stellt eine Arbeitsvorschrift fürden Prozessor dar.

Die Anweisungsliste (AWL) ist eine maschinennahe, textuelle Programmier-sprache. AWL ist die Assemblersprache von STEP 5 und STEP 7. Wird einProgramm in AWL programmiert, entsprechen die einzelnen Anweisungenden Arbeitsschritten, mit denen die CPU das Programm bearbeitet.

Anwenderdefinierte Datentypen sind von Ihnen erzeugte spezielle Daten-strukturen, die Sie nach ihrer Definition im gesamten CPU-Programmverwenden. Sie können wie elementare oder zusammengesetzte Datentypenin der Variablendeklaration von Codebausteinen (FC, FB, OB) verwendetwerden oder als Vorlage für die Erstellung von Datenbausteinen mit gleicherDatenstruktur dienen.

Das Anwenderprogramm enthält alle Anweisungen und Deklarationen sowieDaten für die Signalverarbeitung, durch die eine Anlage oder ein Prozeßgesteuert werden kann. Es ist einer programmierbaren Baugruppe (z. B. CPU,FM) zugeordnet und kann in kleinere Einheiten (Bausteine) strukturiertwerden.

Die Anwenderprogrammstruktur beschreibt die Aufrufhierarchie der Bau-steine innerhalb eines S7-Programms und ermöglicht den Überblick über dieverwendeten Bausteine und deren Abhängigkeit.

Alle Bausteine müssen erst aufgerufen werden, ehe sie bearbeitet werdenkönnen. Die Reihenfolge und Schachtelung dieser Aufrufe innerhalb einesOrganisationsbausteins wird Aufrufhierarchie genannt.

Die Bits A1 und A0 (Anzeigenbits) informieren über die folgenden Ergeb-nisse oder Bits:

� Ergebnis einer arithmetischen Operation

� Ergebnis einer Vergleichsoperation

� Ergebnis einer digitalen Operation

� Bits, die durch eine Schiebe- oder Rotieroperation geschoben wurden.

Aktualparameter

Anweisung

Anweisungsliste(AWL)

Anwenderdefi-nierte Datentypen(UDT)

Anwender-programm

Anwenderpro-grammstruktur

Aufrufhierarchie

A1 und A0

Glossar

Page 249: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

Glossar-3Anweisungsliste (AWL) für S7-300/400C79000-G7000-C565-01

Eine in der Programmiersprache AWL programmierte Quelle; entsprichteiner Quell- oder Textdatei.

B

Das BIE-Bit ist ein Bindeglied zwischen Bit- und Wortverarbeitung. Esermöglicht auf effiziente Art und Weise die binäre Interpretation desErgebnisses einer Wortoperation und dessen Einbindung in eine binäreVerknüpfungskette.

C

Ein Codebausteinen ist bei SIMATIC S7 ein Baustein, der einen Teil desSTEP 7-Anwenderprogramms enthält. Im Gegensatz dazu enthält ein Daten-baustein nur Daten. Es gibt folgende Codebausteine: Organisationsbausteine(OBs), Funktionsbausteine (FBs), Funktionen (FCs), Systemfunktionsbau-steine (SFBs) und Systemfunktionen (SFCs). Bausteine werden im Ordner“Bausteine” unter dem “S7-Programm” abgelegt.

Die CPU (central processing unit) ist eine Zentralbaugruppe desAutomatisierungssystems mit Steuer- und Rechenwerk, Speicher, Betriebs-system und Schnittstellen für Programmiergeräte.

D

Datenbausteine (DB) sind Datenbereiche im Anwenderprogramm, dieAnwenderdaten enthalten. Es gibt Global-Datenbausteine, auf die von allenCodebausteinen zugegriffen werden kann und es gibt Instanz-Datenbausteine,die einem bestimmten FB-Aufruf zugeordnet sind. Datenbausteine enthaltenim Gegensatz zu allen anderen Bausteinen keine Anweisungen.

Statische Daten sind Lokaldaten eines Funktionsbausteins, die im Instanz-Datenbaustein gespeichert werden und deshalb bis zur nächsten Bearbeitungdes Funktionsbausteins erhalten bleiben.

AWL-Quelle

BIE-Bit

Codebaustein

CPU

Datenbaustein(DB)

Daten, statisch

Glossar

Page 250: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

Glossar-4Anweisungsliste (AWL) für S7-300/400

C79000-G7000-C565-01

Mit Hilfe eines Datentyps wird festgestellt, wie der Wert einer Variablen oderKonstanten im Anwenderprogramm verwendet werden soll.

Bei SIMATIC S7 stehen dem Anwender zwei Arten von Datentypen nachIEC 1131-3 zur Verfügung

� Elementare Datentypen

� Zusammengesetzte Datentypen

Elementare Datentypen sind vordefinierte Datentypen gemäß IEC 1131-3.

Beispiele:

� Datentyp ”BOOL” definiert eine binäre Variable (”Bit”);

� Datentyp ”INT” definiert eine 16-Bit-Festpunkt-Variable

Zusammengesetzte Datentypen werden vom Anwender mit der Datentyp-deklaration geschaffen. Sie haben keinen eigenen Namen und sind deshalbnicht mehrfach verwendbar. Man unterscheidet zwischen Feldern undStrukturen. Auch die Datentypen STRING und DATE AND TIME gehörenhierzu.

Im Deklarationsteil werden die Lokaldaten eines Codebausteins deklariert,wenn die Programmerstellung mit einem Texteditor erfolgt.

E

Bei der inkrementellen Eingabe eines Bausteins wird jede Zeile bzw. jedesElement sofort auf Eingabefehler (z. B. Syntax) geprüft. Eventuelle Fehlerwerden markiert und müssen vor Beenden der Eingabe korrigiert werden. Dieinkrementelle Eingabe ist z. B. möglich in den Programmiersprachen AWL,KOP und FUP.

Erstes Setzen des Verknüpfungsergebnisses.

F

Ein Feld (ARRAY) ist ein zusammengesetzter Datentyp (Datentyp, zusam-mengesetzt) bestehend aus Datenelementen gleichen Typs. Diese Datenele-mente können elementar oder zusammengesetzt sein.

Datentypen

Datentyp,elementar

Datentyp,zusammengesetzt

Deklarationsteil

Eingabeinkrementell

Erstabfrage

Feld

Glossar

Page 251: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

Glossar-5Anweisungsliste (AWL) für S7-300/400C79000-G7000-C565-01

Ein Formalparameter ist ein Platzhalter für den tatsächlichen Parameter(Aktualparameter) bei parametrierbaren Codebausteinen. Bei FB und FCwerden die Formalparameter vom Anwender deklariert, bei SFB und SFCsind sie bereits vorhanden. Beim Aufruf des Bausteins wird dem Formal-parameter ein Aktualparameter zugeordnet, so daß der aufgerufene Bausteinmit dessen aktuellen Wert arbeitet.Die Formalparameter zählen zu den Lokaldaten des Bausteins und unterteilensich nach Eingangs–, Ausgangs, und Durchgangsparametern.

Eine Funktion (FC) ist gemäß IEC 1131-3 ein Codebaustein ohne Gedächtnis.Eine Funktion bietet die Möglichkeit der Übergabe von Parametern imAnwenderprogramm. Dadurch eignen sich Funktionen zur Programmierungvon häufig wiederkehrenden komplexen Funktionen z.B. Berechnungen. Wichtig: Da kein Gedächtnis vorhanden, müssen die berchneten Werte direktnach dem FC-Aufruf weiterverarbeitet werden.

Ein Funktionsbaustein (FB) ist gemäß IEC 1131-3 ein Codebaustein mitGedächtnis. Ein FB bietet die Möglichkeit der Übergabe von Parametern imAnwenderprogramm. Dadurch eignen sich Funktionsbausteine zurProgrammierung von häufig wiederkehrenden komplexen Funktionen z.B.Regelungen, Betriebsartenanwahl. Da ein FB über ein Gedächtnis (Instanz-Datenbaustein) verfügt, kann auf dessen Parameter (z. B. Ausgänge) zu jederZeit an jeder beliebigen Stelle im Anwenderprogramm zugegriffen werden.

Der Funktionsplan ist eine der Programmiersprachen bei STEP 5 undSTEP 7. FUP benutzt zur Darstellung der Logik die von der BooleschenAlgebra bekannten logischen Boxen. Außerdem können komplexe Funktio-nen (z. B. mathematische Funktionen) direkt in Verbindung mit der logischenBox dargestellt werden. Eine Übersetzung in andere Programmiersprachen(z. B. Kontaktplan) ist möglich.

G

Ein Global-Datenbaustein ist technisch ein Datenbaustein, dessen Operandbeim Öffnen in das Adreßregister des DB geladen wird. Er liefert Speicherund Daten für alle Codebausteinsteine (FC, FB oder OB), die ausgeführtwerden sollen.

Im Gegensatz hierzu besteht die Aufgabe eines Instanz-Datenbaustein darin,als spezieller Speicher und als Daten für den Funktionsbaustein verwendet zuwerden, dem er zugeordnet wurde.

Formalparameter

Funktion(FC)

Funktionbausteine(FB)

Funktionsplan(FUP)

Global-Daten-baustein (DB)

Glossar

Page 252: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

Glossar-6Anweisungsliste (AWL) für S7-300/400

C79000-G7000-C565-01

I

Mit ”Instanz” wird der Aufruf eines Funktionbausteins bezeichnet; dabei istihm ein Instanz-Datenbaustein zugeordnet.

Ein Instanz-Datenbaustein speichert die Formalparameter und statischenDaten von Funktionsbausteinen. Ein Instanz-Datenbaustein kann einem FB-Aufruf oder einer Aufrufhierarchie von Funktionsbausteinen zugeordnet sein.

K

Der Klammerstack ist ein Speicherbereich, den die Verknüpfungsoperationenvon Klammerausdrücken U(, O(, X(, UN(, ON( und XN( verwenden. EineVerschachtelung von Bitverknüpfungsoperationen ist bis zur Tiefe 8 möglich.

Der Kontaktplan ist eine grafische Programmiersprache bei STEP 5 undSTEP 7. Die Darstellung ist genormt nach DIN 19239. Die Kontaktplan-darstellung entspricht der Darstellung eines Stromlaufplans. Im Gegensatzzur Anweisungsliste (AWL) ist bei KOP nur ein eingeschränkter Operations-vorrat darstellbar.

M

Das Master Control Relay (MCR) wird in Relais-Kontaktplänen für dasAktivieren und Deaktivieren des Signalflusses (Strompfad) verwendet. Eindeaktivierter Strompfad entspricht einer Operationsfolge, die einen Nullwertstatt des errechneten Wertes schreibt bzw. einer Operationsfolge, die denbestehenden Speicherwert unverändert läßt.

Die Mnemonik ist abgekürzte Darstellung der Operanden und derProgrammieroperationen im Programm (z. B. steht ”E” für Eingang). STEP 7unterstützt die internationale Darstellung (die auf der englischen Sprachebasiert) und die SIMATIC-Darstellung (die auf der deutschen Darstellung derOperationen und den Konventionen für SIMATIC-Adressierung beruht).

O

Ein Operand ist ein Teil einer STEP 7-Anweisung und sagt aus, womit derProzessor etwas tun soll. Er kann sowohl absolut als auch symbolisch adres-siert werden.

Instanz

Instanz-Daten-baustein (DB)

Klammerstack

Kontaktplan (KOP)

Master ControlRelay

Mnemonik

Operand

Glossar

Page 253: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

Glossar-7Anweisungsliste (AWL) für S7-300/400C79000-G7000-C565-01

Ein Operandenkennzeichen ist der Teil des Operanden einer Operation, indem Informationen enthalten sind, wie z. B. der Speicherbereich, in dem dieOperation einen Wert (Datenobjekt) findet, mit dem sie eine Verknüpfungausführt oder die Größe eines Werts (Datenobjekt), mit dem sie eineVerknüpfung ausführt. In der Anweisung ”L EB10” ist ”EB” das Operanden-kennzeichen (”E” steht für den Eingangsbereich des Speichers, ”B” steht fürein Byte in diesem Bereich).

Eine Operation ist Teil einer STEP 7-Anweisung und sagt aus, was derProzessor tun soll.

Das OR-Bit (ODER) wird benötigt, wenn Sie eine UND- vor ODER-Verknüpfung ausführen. Das OR-Bit zeigt den ODER-Operationen, daß einezuvor ausgeführte UND-Verknüpfung den Wert ”1” geliefert hat, womit dasErgebnis der ODER-Verknüpfung vorweggenommen wird. Jede anderebitverarbeitende Operation setzt das OR-Bit zurück (siehe Kapitel 5.4).

Verzeichnis auf der Benutzungsoberfläche des SIMATIC Managers, dasgeöffnet werden kann und weitere Verzeichnisse und Objekte enthalten kann.

Das Statusbit OS bedeutet ”Überlauf, speichernd”. Ein Überlauf kann bei-spielsweise nach Ausführung einer mathematischen Funktion auftreten.

Das Statusbit OS bedeutet ”Überlauf,”. Ein Überlauf kann beispielsweisenach Ausführung einer mathematischen Funktion auftreten.

P

Ein Ordner für alle Objekte einer Automatisierungslösung, unabhängig vonder Anzahl der Stationen, Baugruppen und deren Vernetzung.

Mit einem Pointer können Sie die Adresse einer Variablen identifizieren. EinPointer enthält einen Operanden anstelle eines Wertes. Wenn Sie derParameterart Pointer einen Aktualparameter zuweisen, liefern Sie dieSpeicheradresse. Mit STEP 7 können sie den Pointer entweder im Pointer-format eingeben oder einfach als Operanden (z. B. M 50.0). Im folgendenBeispiel ist das Pointerformat gezeigt, mit dem auf Daten ab M 50.0zugegriffen wird.

Operanden-kennzeichen

Operation

OR-Bit

Ordner

OS-Bit

OV-Bit

Projekt

Pointer

Glossar

Page 254: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

Glossar-8Anweisungsliste (AWL) für S7-300/400

C79000-G7000-C565-01

Q

Eine Quelle (Textdatei) ist Teil eines Programms, der mit einem grafischenoder textuellen Editor erstellt wird und aus dem durch Übersetzen das lauffä-hige Anwenderprogramm bzw. der Maschinencode für M7 entsteht.

Eine S7-Quelle wird im Ordner ”Quellen” unter dem “S7-Programm”abgelegt.

R

Referenzdaten dienen zur Kontrolle des S7-Programms und umfassen dieQuerverweisliste, den Belegungsplan, die Anwenderprogrammstruktur, dieListe nicht verwendeter Operanden und die Liste der Operanden ohneSymbol.

S

Ein Ordner für Bausteine, Quellen und Pläne für programmierbare S7-Bau-gruppen, der auch die Symboltabelle enthält.

Schlüsselwörter werden bei der quellorientierten Eingabe verwendet, um beider Programmeingabe den Beginn eines Bausteines zu kennzeichenen undum die Sektionen im Deklarationsteil von Bausteinen, den Beginn vonBausteinkommentaren und den Beginn von Überschriften zu markieren.

Grafische Benutzungsoberfläche für SIMATIC-Anwender unterWindows 95/NT zur Verwaltung von STEP 7-Projekten.

Eine Zentralbaugruppe hat bei SIMATIC S7 drei Speicherbereiche:

� den Ladebereich

� den Arbeitsbereich und

� den Systembereich.

Gerät, das als zusammengehörige Einheit an ein oder mehrere Subnetzeangeschlossen werden kann, z. B. Automatisierungssystem, Programmier-gerät, Operator Station.

Quelle

Referenzdaten

S7-Programm

Schlüsselwort

SIMATIC Manager

Speicherbereich

Station

Glossar

Page 255: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

Glossar-9Anweisungsliste (AWL) für S7-300/400C79000-G7000-C565-01

Das Statusbit (STA) speichert den Wert eines angesprochenen Bits. DerStatus einer Verknüpfungsoperation, die Lesezugriff auf den Speicher hat (U,UN, O, ON, X oder XN), ist immer gleich dem Wert des Bits, das dieseOperation abfragt (das Bit, mit dem sie ihre Verknüpfung ausführt). DerStatus einer Verknüpfungsoperation, die Schreibzugriff auf den Speicher hat(S, R, =) ist gleich dem Wert des Bits, in das die Operation schreibt. Fallskein Schreiben stattfindet, ist er gleich dem Wert des angesprochenen Bits.Das Statusbit hat keine Bedeutung für Verknüpfungsoperationen, die nichtauf den Speicher zugreifen. Diese Operationen setzen das Statusbit auf ”1”(STA = 1). Das Statusbit wird nicht von Operationen abgefragt. Es wirdlediglich während des Programmtests (Programmstatus) ausgewertet.

Das Statuswort ist Bestandteil der Register der Zentralbaugruppe. Im Status-wort befinden sich Statusinformationen und Fehlerinformationen, die im Zu-sammenhang mit der Bearbeitung von STEP 7-Befehlen auftreten. Die Sta-tusbits können vom Anwender gelesen beschrieben werden; die Fehlerbitskönnen nur gelesen werden.

Ein Symbol ist ein vom Anwender unter Berücksichtigung bestimmterSyntaxvorschriften definierter Name. Dieser Name kann nach der Festlegung,wofür er stehen soll (z. B. Variable, Datentyp, Sprungmarke, Baustein) beider Programmierung und beim Bedienen und Beobachten verwendet werden.Beispiel: Operand: E 5.0, Datentyp: Bool, Symbol: Taster Notaus.

Tabelle zur Zuordnung von Symbolen (=Name) zu Adressen für Globaldatenund Bausteine. Beispiele: Notaus (Symbol) – E 1.7 (Adresse) oder Regler(Symbol) – SFB 24 (Baustein).

Eine Systemfunktion (SFC) ist eine im Betriebssystem der S7-CPU in-tegrierte Funktion (ohne Gedächtnis), die bei Bedarf im STEP 7-Anwender-programm wie eine Funktion (FC) aufgerufen werden kann.

Ein Systemfunktionsbaustein (SFB) ist ein im Betriebssystem der S7-CPUintegrierter Funktionsbaustein (mit Gedächtnis), der bei Bedarf imSTEP 7-Anwenderprogramm wie ein Funktionsbaustein (FB) aufgerufenwerden kann.

Statusbit

Statuswort

Symbol

Symboltabelle

Systemfunktion(SFC)

Systemfunktions-baustein (SFB)

Glossar

Page 256: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

Glossar-10Anweisungsliste (AWL) für S7-300/400

C79000-G7000-C565-01

V

Die Variablendeklaration umfaßt die Angabe eines symbolischen Namens,eines Datentyps und evtl. Vorbelegungswert, Adresse und Kommentar.

In der Variablendeklarationstabelle werden die Lokaldaten eines Codebau-steins deklariert, wenn die Programmerstellung in der inkrementellen Ein-gabe (Eingabe, inkrementell) erfolgt.

In der Variablentabelle werden die Variablen zusammengestellt, diebeobachtet und gesteuert werden sollen inkl. der zugehörigen Format-angaben.

Das Verknüpfungsergebnis (VKE) ist das Ergebnis einer Verknüpfungskette,das zur binären Signalverarbeitung verwendet wird. Bestimmte Operationenwerden abhängig vom vorherigen VKE ausgeführt oder nicht.

Eine Verknüpfungskette ist der Teil eines Anwenderprogramms, der miteinem /ER-Bit mit einem Signalzustand von ”0” beginnt und endet, wenneine Operation oder ein Ereignis das /ER-Bit auf ”0” zurücksetzt. Nachdemdie CPU die erste Operation in der Kette ausgeführt hat, ist der Signalzustanddes /ER-Bits immer gleich ”1”. Bestimmte Operationen, wie z. B.Ausgabeoperationen, (z. B. S, R oder =) setzen das /ER-Bit auf ”0” zurück.Siehe auch Erstabfrage.

Variablen-deklaration

Variablendeklara-tionstabelle

Variablentabelle

Verknüpfungs-ergebnis (VKE)

Verknüpfungskette

Glossar

Page 257: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

Index-1Anweisungsliste (AWL) für S7-300/400C79000-G7000-C565-01

Stichwortverzeichnis

Zeichen)MCR. Siehe VKE vom MCR-Stack holen,

Ende bei MCR; VKE wiedereinsetzen, Endebei MCR

+I. Siehe Festpunktarithmetik, Addieren zweierGanzzahlen (16 Bit)

+R. Siehe Gleitpunktarithmetik, Addierenzweier Gleitpunktzahlen

/ER. Siehe Erstabfrage=. Siehe Zuweisung

Zahlen1er Komplement Ganzzahl (16 Bit) (INVI),

12-141er Komplement Ganzzahl (32 Bit) (INVD),

12-142er Komplement Ganzzahl (16 Bit) (NEGI),

12-142er Komplement Ganzzahl (32 Bit) (NEGD),

12-142er Komplement Gleitpunktzahl (32 Bit)

(NEGR), 12-1432 Bit, IEEE-FP. Siehe Gleitpunktarithmetik

oder Gleitpunktzahl

AA1 und A0. Siehe AnzeigenbitsAbfragen von Anzeigenbits (A1 und A0), 2-14ABS. Siehe Absolutwert, Bilde Absolutwert ei-

ner Gleitpunktzahl (32 Bit)Abschließen einer Verknüpfungskette, 5-20Absolute Adressierung, praktische Anwendung,

B-4Absolute Sprungoperationen

Springe absolut (SPA), 16-3Sprungleiste (SPL), 16-3

AbsolutwertBilde Absolutwert einer Gleitpunktzahl (32

Bit), 10-6Definition, 10-6

ACOS. Siehe Arcuscosinus

Adressierungabsolut, 17-3Bereiche, 2-9bereichsintern, registerindirekt, 3-7direkt, 3-2konstante Werte, 2-3Pointerformat

bereichsintern, registerindirekt, 3-8registerindirekt, bereichsübergreifend,

3-13speicherindirekt, 3-4

registerintern, bereichsübergreifend,3-11–3-14

speicherindirekt, 3-3symbolisch, 2-4, 17-3, B-3unmittelbar, 3-2

Adreßregister, 3-6Addieren einer Ganzzahl zum Adreßregister,

4-7Laden und transferieren zwischen Adreßre-

gistern, 8-11–8-12AKKU 1 in AKKU 2 (PUSH), 4-2AKKU 2 in AKKU 1 (POP), 4-2Akkumulator, Transferieren des Statusworts, 8-6Akkumulatoren

Addieren einer Ganzzahl zu Adreßregister 1oder Adreßregister 2, 4-7

Addieren einer Ganzzahl zu AKKU 1, 9-6Bearbeiten des Inhalts, 4-2–4-7Beschreibung, 2-10Funktion, 2-10

AKKU 1 in AKKU 2 (PUSH), 4-2AKKU 2 in AKKU 1 (POP), 4-2Dekrementiere AKKU 1 (DEC), 4-6Inkrementiere AKKU 1 (INC), 4-6

Informationsaustausch durch Verwendungder Operationen Laden und Transferie-ren, 8-2

Laden des Statusworts in AKKU 1, 8-6mit Gleitpunktarithmetik, 9-2–9-6mit Grundrechenoperationen für Gleitpunkt-

zahlen, 10-2–10-5mit Lade- und Transferoperationen, 8-2mit Vergleichsoperationen, 11-2

Page 258: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

Index-2Anweisungsliste (AWL) für S7-300/400

C79000-G7000-C565-01

mit Wortverknüpfungsoperationen, 13-2,13-3, 13-6

Tausche AKKU 1 mit AKKU 2 (TAK), 4-2Tauschen der Inhalte, 4-2Umkehren der Reihenfolge der Bytes in

AKKU 1, 12-13Tausche Reihenfolge in AKKU 1 (16 Bit)

(TAW), 12-13Tausche Reihenfolge in AKKU 1 (32 Bit)

(TAD), 12-13Zeitwert in, 6-4

Akkumulatoroperationen und Adreßregisteran-weisungen, 4-2–4-6AKKU 1 in AKKU 2 (PUSH), 4-2AKKU 2 in AKKU 1 (POP), 4-2Dekrementiere AKKU 1 (DEC), 4-6Inkrementiere AKKU 1 (INC), 4-6Tausche AKKU 1 mit AKKU 2 (TAK), 4-2

Aktiviere MCR-Bereich (MCRA), 17-11Aktualparameter, 17-2, 17-3

Zuweisung, 17-8Anweisung

Adressierungkonstante Werte, 2-3symbolische Namen, 2-4

Aufbau, 2-2–2-9Anweisungsliste, 1-1ANY, 17-9Anzeigenbits (A1 und A0)

Auswirkung der arithmetischen Operationenauf die Anzeigenbits, 10-4

Beeinflussung durch Festpunktarithmetik,9-4

Beeinflussung durch Schiebe- und Rotiero-perationen, 14-2

Beeinflussung durch Vergleichsoperationen,11-4, 11-5

Beeinflussung durch Wortverknüpfungso-perationen, 13-2

Bits im Statuswort, 2-14Operationen zur Auswertung von A1 und

A0, 11-4, 11-5Verhältnis zu bedingten Sprungoperationen,

16-6Arcuscosinus (ACOS), 10-13–10-15Arcussinus (ASIN), 10-13–10-14Arcustangens (ATAN), 10-13Arithmetische Operationen, Ganzzahl, 9-2ASIN. Siehe ArcussinusATAN. Siehe ArcustangensAUF. Siehe Aufschlage DatenbausteinAufrufen eines Programmteils, mehrfach, 16-8Aufschlage Datenbaustein (AUF), 15-2

Ausgang einer Verknüpfungskette, 5-20AWL, Bedeutung, 1-1

BBausteinaufruf (CALL), 17-3–17-6Bausteinende

Bausteinende absolut (BEA), 17-16Bausteinende bedingt (BEB), 17-16

BCD tauschen in Ganzzahl (16 Bit) (BTI), 12-2BCD tauschen in Ganzzahl (32 Bit) (BTD), 12-4BCD-Format

Laden eines Zählwerts im BCD-Format,8-10

Laden eines Zeitwerts im BCD-Format, 8-9BCDF. Siehe Fehler bei BCD-UmwandlungenBEA. Siehe Bausteinende absolutBearbeitungsreihenfolge bei Und mit Oder-Ver-

knüpfungen, 5-15BEB. Siehe Bausteinende bedingtBedingte Sprungoperationen

Springe, wenn BIE = 0 (SPBIN), 16-5Springe, wenn BIE = 1 (SPBI), 16-5Springe, wenn Ergebnis = 0 (SPZ), 16-6Springe, wenn Ergebnis <= 0 (SPMZ), 16-6Springe, wenn Ergebnis >= 0 (SPPZ), 16-6Springe, wenn minus (SPM), 16-6Springe, wenn OS = 1 (SPS), 16-5Springe, wenn OV = 1 (SPO), 16-5Springe, wenn plus (SPP), 16-6Springe, wenn ungleich 0 (SPN), 16-6Springe, wenn ungültig (SPU), 16-6Springe, wenn VKE = 0 (SPBN), 16-4Springe, wenn VKE = 0 mit BIE (SPBNB),

16-4Springe, wenn VKE = 1 (SPB), 16-4Springe, wenn VKE = 1 mit BIE (SPBB),

16-4Verhältnis zu den Anzeigenbits (A1 und A0),

16-6Beginn einer Verknüpfungskette, 2-10Beispiele, praktische Anwendungen der Opera-

tionen, B-2Bereichsinterne, registerindirekte Adressierung,

3-7–3-10BIE. Siehe BinärergebnisBIE-Bit (Binärergebnis), Bit im Statuswort,

2-16Bilden der Komplemente, 12-14

Stichwortverzeichnis

Page 259: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

Index-3Anweisungsliste (AWL) für S7-300/400C79000-G7000-C565-01

Binär-codierte Dezimalzahlen und GanzzahlenAufbau einer BCD-Zahl (32 Bit), die in eine

Ganzzahl (32 Bit) umgewandelt werdensoll, 12-4

Aufbau einer BCD-Zahl, die aus einer Ganz-zahl (16 Bit) umgewandelt werden soll,12-5

Aufbau einer BCD-Zahl, die aus einer Ganz-zahl (32 Bit) umgewandelt wurde, 12-6

Aufbau einer BCD-Zahl, die in eine Ganz-zahl (16 Bit) umgewandelt werden soll,12-2

Umwandeln, 12-2Bit, als Datentyp, 3-4Bitverknüpfung

Funktion von Akkumulatoren, 11-2Umwandlung, Überblick über Umwandeln

und Runden von Zahlen, 3-5Vergleich, 11-2Vergleichskriterien, 11-2

BitverknüpfungenVerwenden von Zählern als Bitoperand, 7-2Zähler, 7-2

Bitverknüpfungsoperation, 5-26Exklusiv Oder (X), Verwenden von Zählern

als Boolescher Operand, 7-2Exklusiv Oder Nicht (XN), Verwenden von

Zählern als Boolescher Operand, 7-2Flanke negativ (FN), 5-16, 5-19Flanke positiv (FP), 5-16, 5-19Negiere VKE (NOT), 5-26Oder (O), Verwenden von Zählern als Boole-

scher Operand, 7-2Oder Nicht (ON), Verwenden von Zählern

als Boolescher Operand, 7-2praktische Anwendung, B-3, B-6Rücksetze (R), 5-20, 5-21, 5-23, 7-8, 7-9

Zähler, 7-4Zeiten, 6-6

Rücksetze VKE (CLR), 5-26Setze (S), Zähler, 7-3, 7-8, 7-9Setze (SET), 5-20, 5-21, 5-23Setze VKE (SET), 5-26Sichere VKE im BIE-Flag (SAVE), 5-26Und (U), 5-3

Verwenden von Zählern als BoolescherOperand, 7-2

Und Nicht (UN), 5-3Verwenden von Zählern als Boolescher

Operand, 7-2Zuweisung (=), 5-20, 5-24, 5-25

Bitverknüpfungsoperationen, Verwenden vonZählern als Bitoperand, 7-2

BTD. Siehe BCD in Ganzzahl wandeln (32 Bit)BTI. Siehe BCD in Ganzzahl wandeln (16 Bit)

CCALL. Siehe Bausteinaufruf (CALL)CC. Siehe Konditionierter BausteinaufrufCLR. Siehe Operation Rücksetze VKE (CLR)COS. Siehe CosinusCosinus (COS), 10-13CPU-Register, 3-6

AkkumulatorenFunktion, 2-10Zeitwert in AKKU 1, 6-4

Klammerstack, 2-10Pointer, 3-6Statuswort, 2-12

DDatenbaustein (DB)

Lade Länge Global-DB in AKKU 1 (LDBLG), 8-12, 15-3

Lade Länge Instanz-DB in AKKU 1 (LDILG), 8-12, 15-3

Lade Nummer Global-DB in AKKU 1 (LDBNO), 8-12, 15-3

Lade Nummer Instanz-DB in AKKU 1 (LDINO), 8-12, 15-3

Längen und Nummern, Laden, 15-3–15-4Register, tauschen, 15-2Speicherbereich, 2-8

Adreßbereich, 2-9Datenbausteinoperationen

Aufschlage Datenbaustein (AUF), 15-2Lade Länge Global-DB in AKKU 1 (L

DBLG), 15-3Lade Länge Instanz-DB in AKKU 1 (L

DILG), 15-3Lade Nummer Global-DB in AKKU 1 (L

DBNO), 15-3Lade Nummer Instanz-DB in AKKU 1 (L

DINO), 15-3Tausche Global-DB und Instanz-DB (TDB),

15-2Datentypen

ANY, 17-9für Formal- und Aktualparameter, 17-3

DBLG. Siehe Lade Länge Global-DB in AKKU1

DBNO. Siehe Lade Nummer Global-DB inAKKU 1

Stichwortverzeichnis

Page 260: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

Index-4Anweisungsliste (AWL) für S7-300/400

C79000-G7000-C565-01

Deaktiviere MCR-Bereich, MCRD, 17-11DEC. Siehe Dekrementiere AKKU 1Dekrementiere AKKU 1 (DEC), 4-6Deutsche Mnemonik für die Bezeichnung der

Operationen, alphabetische Auflistung,A-2–A-11

Deutsche SIMATIC-Mnemonik für die Bezeich-nung der Operationen, A-12

DILG. Siehe Lade Länge Instanz-DB in AKKU1

DINO. Siehe Lade Nummer Instanz-DB inAKKU 1

Direkte Adressierung, 3-2DTB. Siehe Ganzzahl (32 Bit) in BCD wandelnDTR. Siehe Ganzzahl (32 Bit) in Gleitpunktzahl

wandeln (32 Bit)

EE/A (externe Ein- und Ausgänge), Speicherbe-

reich, 2-8Adreßbereich, 2-9

ENO. Siehe BIE-Bit (Binärergebnis)Erstabfrage (/ER), 2-12

Ergebnis, 2-12Exklusiv Oder (X), Verwenden von Zählern als

Boolescher Operand, 7-2Exklusiv Oder Doppelwort (XOD), 13-6Exklusiv Oder Nicht (XN), Verwenden von Zäh-

lern als Boolescher Operand, 7-2Exklusiv Oder Wort, 13-3–13-5EXP. Siehe ExponentialfunktionExponentialfunktion, EXP, 10-12

FFallender Flankenwechsel, 5-16–5-19FBs. Siehe FunktionsbausteineFCs. Siehe FunktionenFehler bei BCD-Umwandlung (BCDF), 12-3Festpunktarithmetik, 9-2

Addieren einer Ganzzahl zu Adreßregister 1oder Adreßregister 2, 4-7

Addieren einer Ganzzahl zu AKKU 1, 9-6Addieren zweier Ganzzahlen (16 Bit) (+I),

9-3Auswerten des Divisionsrests Ganzzahl (32

Bit), 9-4gültiger Bereich für Ergebnisse, 9-4praktische Anwendung, B-12–B-13

Überblick über die vier Grundrechenopera-tionen, 9-2

Verhältnis zu Akkumulatoren, 9-2Flanke negativ (FN), 5-16–5-19Flanke positiv (FP), 5-16–5-19FN. Siehe Flanke negativFormalparameter, 17-2, 17-3Format

Zählwert, 7-6Zeitwert, 6-4

FP. Siehe Flanke positivFR. Siehe FreigabeFreigabe

einer Zeit, 6-6eines Zählers, 7-4, 7-8Timer (FR), Zeiten, 6-6

Funktionen (FCs)Abhängigkeit vom Master Control Relay

(MCR), 17-11als Operand einer Operation, 2-5Aufrufen mit der Operation CALL,

17-3–17-6Aufrufen mit der Operation Konditionierter

Bausteinaufruf (CC), 17-7Aufrufen mit der Operation Unkonditionier-

ter Bausteinaufruf (UC), 17-7Funktionsbausteine (FBs)

Abhängigkeit vom Master Control Relay(MCR), 17-11

als Operand einer Operation, 2-5Aufrufen mit der Operation CALL,

17-3–17-6Aufrufen mit der Operation Konditionierter

Bausteinaufruf (CC), 17-7Aufrufen mit der Operation Unkonditionier-

ter Bausteinaufruf (UC), 17-7

GGanzzahl

Addieren einer Ganzzahl zu AKKU 1, 9-6Festpunktarithmetik, 9-2Umwandeln, 12-2

Ganzzahl (16 Bit), Vergleich zweier Ganzzahlen(16 Bit), 11-3–11-4

Ganzzahl (16 Bit) in BCD wandeln (ITB), 12-5Ganzzahl (32 Bit), Vergleich zweier Ganzzahlen

(32 Bit), 11-3Ganzzahl (32 Bit) in BCD wandeln (ITD), 12-6

Stichwortverzeichnis

Page 261: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

Index-5Anweisungsliste (AWL) für S7-300/400C79000-G7000-C565-01

Ganzzahl (32 Bit) in Gleitpunktzahl wandeln(32 Bit) (DTR), 12-7

Ganzzahlen (32 Bit) in BCD wandeln (DTB),12-6

GleitpunktarithmetikAddieren zweier Gleitpunktzahlen (+R),

10-3, 10-4Bilde Absolutwert einer Gleitpunktzahl (32

Bit, IEEE FP) (ABS), 10-6gültiger Bereich für Ergebnisse, 10-5Überblick über die vier Grundrechenopera-

tionen, 10-2Verhältnis zu Akkumulatoren, 10-2

Gleitpunktarithmetik, erweiterte OperationenArcuscosinus (ACOS), 10-13–10-15Arcussinus (ASIN), 10-13–10-14Arcustangens (ATAN), 10-13

GleitpunktzahlBilden des Absolutwerts, 10-6Vergleichen zweier Gleitpunktzahlen,

11-5–11-6

IINC. Siehe Inkrementiere AKKU 1Inkrementiere AKKU 1 (INC), 4-6Instanzdatenbaustein (Instanz-DB), für den Zu-

griff auf Daten von Formalparametern, 17-3INVD. Siehe 1er Komplement Ganzzahl (32

Bit)Invertieren von Zahlen, 12-14INVI. Siehe 1er Komplement Ganzzahl (16 Bit)ITB. Siehe Ganzzahl (16 Bit) in BCD wandelnITD. Siehe Ganzzahl (16 Bit) in Ganzzahl (32

Bit) wandeln

KKlammerausdrücke, 5-14

Und vor Oder, 5-15Klammerstack, 2-10, 5-14Komplemente, Bilden der Komplemente, 12-14Konditionierter Bausteinaufruf (CC), 17-7Konstante Werte

Addieren einer Ganzzahl zu AKKU 1, 9-6als Operanden für Wortverknüpfungsopera-

tionen, 13-2Dekrementieren von AKKU 1 um eine

8-Bit-Konstante, 4-6Inkrementieren von AKKU 1 um eine 8-Bit-

Konstante, 4-6

LL. Siehe Lade- und TransferoperationenLade Länge Global-DB in AKKU 1 (L DBLG),

15-3Lade Länge Instanz-DB in AKKU 1 (L DILG),

15-3Lade Nummer Global-DB in AKKU 1 (L

DBNO), 15-3Lade Nummer Instanz-DB in AKKU 1 (L

DINO), 15-3Lade- und Transferoperationen (L) (T),

8-2–8-12Siehe auch Operationen, Laden (L) und

Transferieren (T)Byte, Wort oder Doppelwort als Parameter,

8-5Definition, 8-2Direkte Adressierung, 8-4Indirekte Adressierung, 8-4Indirekte, bereichsübergreifende Adressie-

rung, 8-5Informationsaustausch, 8-2

über den Akkumulator, 8-2zwischen Baugruppen und Speicherberei-

chen, 8-2Lade Länge Global-DB in AKKU 1 (L

DBLG), 8-12Lade Länge Instanz-DB in AKKU 1 (L

DILG), 8-12Lade Nummer Global-DB in AKKU 1 (L

DBNO), 8-12Lade Nummer Instanz-DB in AKKU 1 (L

DINO), 8-12Laden des Status in AKKU 1, 8-6Laden und Transferieren zwischen Adreßre-

gister (LAR und TAR), 8-11–8-12Laden von Statusbits in AKKU 1, 8-6Transferieren des Inhalts von AKKU 1 in

das Statuswort, 8-6Unmittelbare Adressierung, 8-3

Laden, der Zeitbasis, 8-8Laden (L) und Transferieren (T)

Direkte Adressierung, 8-4Laden eines BCD-codierten Zählwerts in

AKKU 1, 7-7Laden der Länge eines Datenbausteins in

AKKU 1Globaldatenbaustein (L DBLG), 8-12Instanzdatenbaustein (L DILG), 8-12

Laden der Längen und Nummern von Datenbau-steinen, 15-3–15-4

Stichwortverzeichnis

Page 262: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

Index-6Anweisungsliste (AWL) für S7-300/400

C79000-G7000-C565-01

Laden der Nummer eines Datenbausteins inAKKU 1Globaldatenbaustein (L DBNO), 8-12Instanzdatenbaustein (L DINO), 8-12

Laden eines aktuellen Werts in AKKU 1 als bi-när-codierte DezimalzahlZähler, 7-2, 7-7Zeit, 6-2

Laden eines ZählwertsFormat, 7-6im BCD-Format (LC), 8-10im binär-codierten Format (L Zählerwort),

8-8Laden eines Zählwerts in AKKU 1 als Ganz-

zahl, 7-6Laden eines Zeitwerts

Bereich, 6-5Format, 6-3im BCD-Format (LC), 8-9in binär-codierten Format (L Timerwort),

8-7Laden und Transferieren zwischen Adreßregi-

stern, 8-11–8-12LAR. Siehe Laden und Transferieren zwischen

AdreßregisternLN. Siehe Natürlicher LogarithmusLokaldaten, Speicherbereich, 2-8

Adreßbereich, 2-9LOOP, 16-8

Setzen eines Loop-Zählers, 16-9Sprungmarke als Operand, 16-2, 16-8wirkungsvolle Verwendung, 16-9

MMaster Control Relay (MCR)

Abhängigkeit, 17-10, 17-11Auswirkung auf die Operation Setze (S) und

Rücksetze (R), 5-21Auswirkung auf die Operationen Setze (S)

und Rücksetze (R), 17-10Implementierung, 17-13Wichtige Hinweise zur Benutzung, 17-15

Master Control Relay (MCR) Funktionen, 17-10Schachtelung, 17-13–17-15

MCR(, 17-13Siehe auch VKE in MCR-Stack sichern, Be-

ginn bei MCRMCR-Funktionalität, Wichtige Hinweise zur

Benutzung, 17-15MCRA. Siehe Aktiviere MCR-BereichMCRD. Siehe Deaktiviere MCR-Bereich

Mehrfaches Aufrufen eines Programmteils, 16-8Merker, Speicherbereich, 2-8

Adreßbereiche, 2-9Multiplikation einer Zahl mit –1, 12-14

NNatürlicher Logarithmus, LN, 10-11NEGD. Siehe 2er Komplement Ganzzahl (32

Bit)NEGI. Siehe 2er Komplement Ganzzahl (16 Bit)Negiere VKE (NOT), 5-26NEGR. Siehe 2er Komplement Gleitpunktzahl

(32 Bit)NOP. Siehe NulloperationenNulloperation (NOP), Verwendung zur Tren-

nung aufeinanderfolgender Sprungoperatio-nen, 16-2

OOder (O), Verwenden von Zählern als Bitope-

rand, 7-2Oder Doppelwort (OD), 13-6Oder Nicht (ON), Verwenden von Zählern als

Bitoperand, 7-2Oder Wort (OW), 13-3–13-5Öffner, 5-7Operand

Artenabsolut, 13-2Bit im Statuswort, 2-3Funktion (FC), 2-5Funktionsbaustein (FB), 2-5konstante Werte, 2-3Operandenkennzeichen und Adresse, 2-5symbolisch, 2-4Systemfunktion (SFC), 2-5Systemfunktionsbaustein (SFC), 2-5

Aufschlage Datenbaustein (AUF), 15-2Beschreibung, 2-2Bits im Statuswort, 5-13Datenbaustein, 2-4für Operationen

Konditionierter Bausteinaufruf (CC),17-7

Laden (L) und Transferieren (T), 8-3–8-5Unkonditionierter Bausteinaufruf (UC),

17-7Zähler, 7-10Zeit, 6-17

Stichwortverzeichnis

Page 263: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

Index-7Anweisungsliste (AWL) für S7-300/400C79000-G7000-C565-01

Konstanten als Operand, 13-2Sprungmarke für Operation LOOP, 16-3Sprungmarke für Sprungoperation, 16-3symbolisch, 17-3Zuweisen von Operanden zu einer Operation

CALL, 17-3Operationen

Abhängigkeit vom Master Control Relay(MCR), 17-10, 17-11

Akkumulatoroperationen und Adreßregiste-ranweisungen, 4-2–4-7

alphabetische AuflistungSIMATIC-Mnemonik mit SIMATIC-Be-

schreibung, A-2–A-11SIMATIC-Beschreibung mit SIMATIC-

Mnemonik, A-12–A-16Anzeigenbits (A1 und A0) beeinflussend,

9-4, 10-4Festpunktarithmetik, 9-2

Addiere Ganzzahlkonstante (+), 9-2Auswerten des Ergebnisses aus Division

zweier Ganzzahlen (32 Bit) und Spei-chern des Divisionsrests, 9-4

gültiger Bereich für Ergebnisse, 9-4praktische Anwendung, B-12–B-13Überblick über die vier Grundrecheno-

perationen, 9-2Verhältnis zu Akkumulatoren, 9-2–9-5

Gleitpunktarithmetikgültiger Bereich für Ergebnisse, 10-5Überblick über die vier Grundrecheno-

perationen, 10-2Verhältnis zu Akkumulatoren, 10-2–10-5

Laden (L) und Transferieren (T), 8-2–8-10Byte, Wort oder Doppelwort als Parame-

ter, 8-5Definition, 8-2Indirekte Adressierung, 8-4Indirekte, bereichsübergreifende Adres-

sierung, 8-5Informationsaustausch, 8-2Laden des Statuswort in AKKU 1, 8-6Laden und Transferieren zwischen

Adreßregistern (LAR und TAR),8-11–8-12

Laden von Statusbits in AKKU 1, 8-6Transferieren des Inhalts von AKKU 1 in

das Statuswort, 8-6Unmittelbare Adressierung, 8-3

Laden und Transferieren zwischen Adreßre-gistern (LAR und TAR), 8-11

LOOP, 16-8mit Sprungmarke als Operand versehen,

16-8Setzen eines LOOP-Zählers, 16-9wirkungsvolle Verwendung, 16-9

OS-Bit (Überlauf, speichernd) beeinflussend,10-4

OV-Bit (Überlauf) beeinflussend, 10-4praktische Anwendung, B-2Programmsteuerung, Zuweisen von Operan-

den zu einem Aufruf, 17-3–17-15Rotieroperationen, 14-2, 14-6–14-8Schiebe- und Rotieroperationen, 14-2Schiebeoperationen, 14-2–14-5

Zahlen mit Vorzeichen, 14-4Zusammenfassung, 14-5

Sprungoperationen, 16-2absolut, 16-3

Vergleichsoperationen, praktische Anwen-dung, B-10

Wortverknüpfungsoperationen, 13-2–13-816 Bit, 13-3–13-532 Bit, 13-6–13-8Akkumulatorverwaltung, 13-2, 13-3,

13-6Einfluß auf Statusbits, 13-2Konstanten als Operanden, 13-2praktische Anwendung, B-14

Zähloperationen, praktische Anwendung,B-10–B-11

Zeitoperationen, 6-2–6-18praktische Anwendung, B-7

Operationen, die das Statuswort beeinflussen,5-10

OR, Bit im Statuswort, 2-14OS. Siehe OS-Bit (Überlauf, speichernd)OS-Bit (Überlauf, speichernd), Beeinflussung

durch Vergleichen zweier Gleitpunktzahlen,11-5

OV. Siehe OV-Bit (Überlauf)OV-Bit (Überlauf)

Beeinflussung durch Schiebe- und Rotiero-perationen, 14-2

Beeinflussung durch Vergleichen zweierGleitpunktzahlen, 11-5

Beeinflussung durch Wortverknüpfungso-perationen, 13-2

OW. Siehe Oder Wort

Stichwortverzeichnis

Page 264: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

Index-8Anweisungsliste (AWL) für S7-300/400

C79000-G7000-C565-01

PParallele Verzweigung, Klammerausdrücke,

5-14–5-17Parameter

Aktualparameter, 17-3Formalparameter, 17-3

Pointerformatbereichsinterne, registerindirekte Adressie-

rung, 3-9bereichsübergreifende, registerindirekte

Adressierung, 3-13speicherindirekte Adressierung, 3-4

POP, 4-2Programmieren, praktische Anwendung, B-2Programmsteuerungsoperationen

Aktiviere MCR-Bereich, 17-11Bausteinaufruf (CALL), 17-3–17-6Bausteinende absolut (BEA), 17-16Bausteinende bedingt (BEB), 17-16Deaktiviere MCR-Bereich, 17-11Funktionen des Master Control Relay

(MCR), 17-10Konditionierter Bausteinaufruf (CC), 17-7Unkonditionierter Bausteinaufruf (UC), 17-7VKE in MCR-Stack sichern, Beginn bei

MCR, 17-11, 17-13VKE vom MCR-Stack holen, Ende bei

MCR: )MCR, 17-11VKE wiedereinsetzen, Ende bei MCR:

)MCR, 17-13Zuweisen von Operanden zu einem Aufruf

(CALL), 17-3Prozeßabbild der Ausgänge, Speicherbereich,

2-8Adreßbereich, 2-9

Prozeßabbild der Eingänge, Speicherbereich,2-8Adreßbereich, 2-9

PUSH, 4-2

QQuadrat (SQR), 10-9Quadratwurzel (SQRT), 10-9Querübersetzung, zwischen KOP, FUP, AWL,

1-1

RR. Siehe Rücksetze

RegisterCPU, 3-6Operand, 3-6Prozeßabbild der Ein- und Ausgänge. Siehe

Prozeßabbild der Eingänge, Prozeßabbildder Ausgänge

Tausche Global-DB und Instanz-DB (TDB),15-2

Tauschen der Datenbausteinregister, 15-2Registerinterne, bereichsübergreifende Adres-

sierung, 3-11–3-14Reihenfolge bei Und mit Oder-Operationen,

5-15RLD. Siehe Rotieroperationen, Rotiere links

Doppelwort (32 Bit)RLDA. Siehe Rotieroperationen, Rotiere AKKU

1 links über A1-Anzeige (32 Bit)RND. Siehe Runden zur Ganzzahl (16 Bit)RND+. Siehe Runden zur nächsthöheren Ganz-

zahl (32 Bit)RND–. Siehe Runden zur nächstniederen Ganz-

zahl (32 Bit)Rotieroperationen, 14-2, 14-6–14-8

Rotiere AKKU 1 links über A1-Anzeige (32Bit) (RLDA), 14-8

Rotiere AKKU 1 rechts über A1-Anzeige(32 Bit) (RRDA), 14-8

Rotiere links Doppelwort (32 Bit) (RLD),14-6–14-8

Rotiere rechts Doppelwort (32 Bit) (RRD),14-6–14-8

RRD. Siehe Rotieroperationen, Rotiere rechtsDoppelwort (32 Bit)

RRDA. Siehe Rotieroperationen, Rotiere AKKU1 rechts über A1-Anzeige (32 Bit)

Rückgabewert, Aufrufen einer Funktion, die ei-nen Rückgabe liefert, 17-6

Rücksetze (R), 5-21–5-23Zähler, 7-4, 7-8Zeiten, 6-6

Rücksetze VKE (CLR), 5-26Rücksetzen des Verknüpfungsergebnisses, 5-26Rücksetzen einer Zeit, 6-6Rücksetzen eines Zählers, 7-4Rückwärtszählen (ZR), 7-5Runden mit Abschneiden (TRUNC), 12-12Runden von Gleitpunktzahlen (32 Bit) in Ganz-

zahlen (32 Bit), 12-8Runden von Gleitpunktzahlen in Ganzzahlen

(32 Bit), 12-8Runden von Zahlen, Überblick, 12-12

Stichwortverzeichnis

Page 265: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

Index-9Anweisungsliste (AWL) für S7-300/400C79000-G7000-C565-01

Runden zur Ganzzahl (16 Bit) (RND), 12-9Runden zur nächsthöheren Ganzzahl (32 Bit)

(RND+), 12-10Runden zur nächstniederen Ganzzahl (32 Bit)

(RND–), 12-11

SS. Siehe SetzeS5 TIME

Zeitbasis, 6-4Zeitwert, 6-3

SA. Siehe Zeit als AusschaltverzögerungSAVE. Siehe Operation Sichere VKE im BIE-

Flag (SAVE)Schiebe- und Rotieroperationen, 14-2–14-5Schiebeoperationen

Auswirkung auf Anzeigenbits A1 und A0und auf das OV-Bit (Überlauf), 14-2

Funktionsweise, 14-2Schiebe links Doppelwort (32 Bit) (SLD),

14-2, 14-5Schiebe links Wort (16 Bit) (SLW), 14-2,

14-5Schiebe rechts Doppelwort (32 Bit) (SRD),

14-2, 14-5Schiebe rechts Wort (16 Bit) (SRW), 14-2,

14-5Schiebe Vorzeichen Ganzzahl (16 Bit) (SSI),

14-4Schiebe Vorzeichen Ganzzahl (32 Bit)

(SSD), 14-4, 14-5Zusammenfassung, 14-5

Schließer, 5-6Schlüsselwörter, C-1SE. Siehe Zeit als EinschaltverzögerungSET. Siehe Setze VKE = 1Setze (S), 5-20, 5-21–5-23

Zähler, 7-3Setze VKE = 1 (SET), 5-26Setzen des Verknüpfungsergebnisses, 5-26Setzen eines Zählers, 7-3, 7-8SI. Siehe Zeit als ImpulsSichere VKE im BIE-Flag (SAVE), 5-26Sichern des Verknüpfungsergebnisses, 5-26SLD. Siehe Schiebeoperationen, Schiebe links

Doppelwort (32 Bit)SLW. Siehe Schiebeoperationen, Schiebe links

Wort (16 Bit)

SPA. Siehe Springe absolutSPB. Siehe Springe, wenn VKE = 1SPBB. Siehe Springe, wenn VKE = 1 mit BIESPBI. Siehe Springe, wenn BIE = 1SPBIN. Siehe Springe, wenn BIE = 0SPBN. Siehe Springe, wenn VKE = 0SPBNB. Siehe Springe, wenn VKE = 0 mit BIESpeicherbereiche

Adreßbereiche, 2-9Datenbaustein, 2-8E/A (externe Ein- und Ausgänge), 2-8Lokaldaten, 2-8Merker, 2-8Periepheriebereiche. Siehe Speicherbereiche,

E/A (externe Ein- und Ausgänge)Prozeßabbild der Ausgänge, 2-8Prozeßabbild der Eingänge, 2-8Zähler, 2-8Zeiten, 2-8

Speicherindirekte Adressierung, 3-3–3-5SPL. Siehe SprungleisteSPM. Siehe Springe, wenn minusSPMZ. Siehe Springe, wenn ErgebnisSPN. Siehe Springe, wenn ungleich 0SPO. Siehe Springe, wenn OV = 1SPP. Siehe Springe, wenn plusSPPZ. Siehe Springe, wenn Ergebnis >= 0Springe absolut (SPA), 16-3Springe, wenn BIE = 0 (SPBIN), 16-5Springe, wenn BIE = 1 (SPBI), 16-5Springe, wenn Ergebnis <= 0 (SPMZ), 16-6Springe, wenn Ergebnis = 0 (SPZ), 16-6Springe, wenn Ergebnis >= 0 (SPPZ), 16-6Springe, wenn minus (SPM), 16-6Springe, wenn OS = 1 (SPS), 16-5Springe, wenn OV = 1 (SPO), 16-5Springe, wenn plus (SPP), 16-6Springe, wenn ungleich 0 (SPN), 16-6Springe, wenn ungültig (SPU), 16-6Springe, wenn VKE = 0 (SPBN), 16-4Springe, wenn VKE = 0 mit BIE (SPBNB), 16-4Springe, wenn VKE = 1 (SPB), 16-4Springe, wenn VKE = 1 mit BIE (SPBB), 16-4Sprungleiste (SPL), 16-3Sprungmarke, als Operand einer Sprungopera-

tion, 16-2

Stichwortverzeichnis

Page 266: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

Index-10Anweisungsliste (AWL) für S7-300/400

C79000-G7000-C565-01

Sprungoperationen, 16-2, 16-3–16-10absolut

Springe absolut (SPA), 16-3Sprungleiste (SPL), 16-3

bedingtSpringe, wenn BIE = 0 (SPBIN), 16-5Springe, wenn BIE = 1 (SPBI), 16-5Springe, wenn Ergebnis <= 0 (SPMZ),

16-6Springe, wenn Ergebnis = 0 (SPZ), 16-6Springe, wenn Ergebnis >= 0 (SPPZ),

16-6Springe, wenn minus (SPM), 16-6Springe, wenn OS = 1 (SPS), 16-5Springe, wenn OV = 1 (SPO), 16-5Springe, wenn plus (SPP), 16-6Springe, wenn ungleich 0 (SPN), 16-6Springe, wenn ungültig (SPU), 16-6Springe, wenn VKE = 0 (SPBN), 16-4Springe, wenn VKE = 0 mit BIE

(SPBNB), 16-4Springe, wenn VKE = 1 (SPB), 16-4Springe, wenn VKE = 1 mit BIE (SPBB),

16-4Springe absolut (SPA), 16-3Sprungmarke als Operand, 16-2Übersicht, 16-2Vom Inhalt der Bits A1 und A0 abhängige

Sprungoperationen, 16-6–16-7Vom Verknüpfungsergebnis abhängige, 16-4Von den Statusbits BIE, OV oder OS abhän-

gige, 16-5SPS. Siehe Springe, wenn OS = 1SPU. Siehe Springe, wenn ungültigSPZ. Siehe Springe, wenn Ergebnis = 0SQR. Siehe QuadratSQRT. Siehe QuadratwurzelSRD. Siehe Schiebeoperationen, Schiebe rechts

Doppelwort (32 Bit)SRW. Siehe Schiebeoperationen, Schiebe rechts

Wort (16 Bit)SS. Siehe Zeit als speichernde Einschaltverzö-

gerungSSD. Siehe Schiebeoperationen, Schiebe Vorzei-

chen Ganzzahl (32 Bit)SSI. Siehe Schiebeoperationen, Schiebe Vorzei-

chen Ganzzahl (16 Bit)STA. Siehe Status (STA), StatusbitStarten einer Zeit als Impuls (SI), 6-7–6-16Status (STA), Statusbit, 2-13Statuswort

Angabe des gültigen Bereichs für Festpunk-tarithmetik, 9-4

Angabe des ungültigen Bereichs für Fest-punktarithmetik, 9-4

Anzeigenbits (A1 und A0), 2-14Abhängigkeit zu bedingtem Sprung, 16-6

Anzeigenbits (A1 und A0) nach Vergleichso-peration, 11-4, 11-5

Anzeigenbits (A1 und A0), OV-Bit (Über-lauf), die durch Wortverknüpfungsopera-tionen beeinflußt werden, 13-3

Auswerten des Ergebnisses der arithmeti-schen Operation für Ganzzahl (32 Bit),9-4

Beschreibung, 2-12Binärergebnis (BIE-Bit), 2-16Bits, die durch Festpunktarithmetik beein-

flußt werden, 9-4Bits, die durch Schiebe- und Rotieroperatio-

nen beeinflußt werden, 14-2Erstabfrage (/ER), 2-12Lesen unter Verwendung der Operation La-

den (L), 8-6Operationen, die das Statusbit auswerten,

11-4, 11-5Operationen, die das Statuswort beeinflus-

sen, 5-10OR-Bit, 2-14OS-Bit (Überlauf, speichernd), 2-14OS-Bit (Überlauf, speichernd), nach einer

Operation Vergleich zweier Gleitpunkt-zahlen, 11-5

OV-Bit (Überlauf), 2-14OV-Bit (Überlauf), nach einer Operation

Vergleich zweier Gleitpunktzahlen, 11-5Statusbit (STA), 2-13Transferieren des Inhalts von AKKU 1 in

das Statuswort, 8-6Verknüpfungsergebnis (VKE), 2-13

Steigender Flankenwechsel, 5-16–5-19STW. Siehe StatuswortSV. Siehe Zeit als verlängerten Impuls startenSymbolische Adressierung, 2-4, 17-3

praktische Anwendung, B-3Symbolische Operanden, 17-3Systemfunktionen (SFCs), als Operand einer

Operation, 2-5Systemfunktionsbausteine (SFBs), als Operand

einer Operation, 2-5

TT. Siehe Lade- und Transferoperationen

Stichwortverzeichnis

Page 267: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

Index-11Anweisungsliste (AWL) für S7-300/400C79000-G7000-C565-01

TAD. Siehe Tausche Reihenfolge in AKKU 1(TAD)

TAK. Siehe Tausche AKKU 1 mit AKKU 2TAN. Siehe TangensTangens (TAN), 10-13TAR. Siehe Laden und Transferieren zwischen

AdreßregisternTausche AKKU 1 mit AKKU 2 (TAK), 4-2Tausche Global-DB und Instanz-DB (TDB),

15-2Tausche Reihenfolge in AKKU 1 (16 Bit)

(TAW), 12-13Tausche Reihenfolge in AKKU 1 (32 Bit)

(TAD), 12-13Tauschen der AKKU-Inhalte, 4-2Tauschen der Datenbausteinregister, 15-2Tauschen der Inhalt von AKKU 1 mit AKKU 2,

4-2TAW. Siehe Tausche Reihenfolge in AKKU 1

(16 Bit)TDB. Siehe Tausche Global-DB und Instanz-DBTransferieren des Inhalts von AKKU 1 in das

Statuswort, 8-6Transferoperation (T). Siehe Operationen, La-

den (L) und Transferieren (T)Transferoperationen (T). Siehe Laden (L) und

Transferieren (T) oder Lade- und Transfero-perationen

TRUNC. Siehe Runden mit Abschneiden

UÜberlauf (OV)

Beeinflussung durch Festpunktarithmetik,9-4

Beeinflussung durch Gleitpunktarithmetik,10-4

Bit im Statuswort, 2-14Überlauf, speichernd (OS)

Beeinflussung durch Festpunktarithmetik,9-4

Beeinflussung durch Gleitpunktarithmetik,10-4

Bit im Statuswort, 2-14UC. Siehe Unkonditionierter BausteinaufrufUD. Siehe Und DoppelwortUmkehren der Reihenfolge der Bytes in AKKU

1, 12-13Umkehren von Zahlen, bitweise, 12-13Umwandeln und Runden von Zahlen, 12-8Umwandeln von binär-codierten Dezimalzahlen

und Ganzzahlen, 12-2

Umwandeln von Gleitpunktzahlen (32 Bit) inGanzzahlen (32 Bit), 12-8

Umwandlungsoperationen1er Komplement Ganzzahl (16 Bit) (INVI),

12-141er Komplement Ganzzahl (32 Bit) (INVD),

12-142er Komplement Ganzzahl (16 Bit) (NEGI),

12-142er Komplement Ganzzahl (32 Bit) (NEGD),

12-142er Komplement Gleitpunktzahl (32 Bit)

(NEGR), 12-14BCD in Ganzzahl wandeln (16 Bit) (BTI),

12-2BCD in Ganzzahl wandeln (32 Bit) (BTD),

12-4Ganzzahl (16 Bit) in Ganzzahl wandeln (32

Bit) (ITD), 12-6Ganzzahl (16 Bit) tauschen in BCD (ITB),

12-5Ganzzahl (32 Bit) tauschen in BCD (DTB),

12-6Ganzzahl (32 Bit) tauschen in Gleitpunkt-

zahl (32 Bit) (DTR), 12-7Runden mit Abschneiden (TRUNC), 12-12Runden zur Ganzzahl (32 Bit) (RND), 12-9Runden zur nächsthöheren Ganzzahl (32 Bit)

(RND+), 12-10Runden zur nächstniederen Ganzzahl (32

Bit) (RND–), 12-11Tausche Reihenfolge in AKKU 1 (16 Bit)

(TAW), 12-13Tausche Reihenfolge in AKKU 1 (32 Bit)

(TAD), 12-13Überblick über Zahlenumwandlung und

Runden, 12-12Und (U), 5-3

Verwenden von Zählern als Bitoperand, 7-2Und Doppelwort (UD), 13-6Und Nicht (UN), 5-3

Verwenden von Zählern als Bitoperand, 7-2Und vor Oder, 5-15Und Wort (UW), 13-3–13-5

Kombinieren von Akkumulator und Kon-stante, 13-3–13-5

Unkonditionierter Bausteinaufruf (UC), 17-7Unmittelbare Adressierung, 3-2UW. Siehe Und Wort

Stichwortverzeichnis

Page 268: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

Index-12Anweisungsliste (AWL) für S7-300/400

C79000-G7000-C565-01

VVergleichen zweier Ganzzahlen, 11-3–11-4Vergleichen zweier Gleitpunktzahlen, 11-5–11-6Vergleichsoperationen, 11-2

Funktion der Akkumulatoren, 11-2praktische Anwendung, B-10Vergleiche Ganzzahlen (16 Bit), 11-3–11-6Vergleiche Ganzzahlen (32 Bit), 11-3–11-6Vergleiche Gleitpunktzahlen, 11-5Vergleichskriterien, 11-2

Verknüpfungsergebnisim Klammerstack gespeichert, 5-14mit Operation Zuweisung (=), 5-24–5-25Negieren, 5-26Setzen, 5-26Sichern, 5-26Wechsel, 5-16

Verknüpfungsergebnis (VKE)Bit im Statuswort, 2-13Operationen, die das VKE nicht beeinflus-

sen, 4-6Rücksetzen, 5-26Verhältnis zu Operation Bausteinende, 17-16

VerknüpfungsketteAbschließen, 5-20Ausgang, 5-20Beginn, 2-10Definition, 2-10

Verknüpfungsoperationen mit Bitoperanden,5-2–5-5Abfragen Anzeigenbits (A1 und A0), 2-14Abfragen Überlauf, 5-12Abschließen einer Verknüpfungskette, 5-20Klammerausdrücke, 5-14

VKE. Siehe VerknüpfungsergebnisVKE in MCR-Stack sichern, Beginn bei MCR:

MCR(, 17-11VKE vom MCR-Stack holen, Ende bei MCR:

)MCR, 17-13VKE wiedereinsetzen, Ende bei MCR: )MCR,

17-11Vorwärtszählen (ZV), 7-5

WWechselnde Kontakte, 5-16–5-19Wortverknüpfungsoperationen, 13-2

16 Bit, 13-332 Bit, 13-6Akkumulatorverwaltung, 13-2, 13-3, 13-6Exklusiv Oder Doppelwort (XOD), 13-6Exklusiv Oder Wort (XOW), 13-3

Oder Doppelwort (OD), 13-6Oder Wort (OW), 13-3, 13-4praktische Anwendung, B-14Und Doppelwort (UD), 13-6, 13-7, 13-8Und Wort (UW), 13-3, 13-4, 13-5

XX. Siehe Exklusiv Oder (O)XN. Siehe Exklusiv Oder (X)XOD. Siehe Exklusiv Oder Doppelwort (XOD)XOW. Siehe Operation Exklusiv Oder Wort

(XOW)

ZZähler

Definition, 7-2Freigabe, 7-4, 7-8–7-9Komponenten, 7-2Speicherbereich, 2-8

Adreßbereich, 2-9Typen

Rückwärtszählen (ZR), 7-2, 7-8Vorwärtszählen (ZV), 7-2, 7-8

Zähloperationen, 7-2Bitverknüpfung, 7-2praktische Anwendung, B-10–B-11Rücksetze (R), 7-2, 7-4, 7-8Rückwärtszählen (ZR), 7-2, 7-5Setze (S), 7-2, 7-3, 7-8Vorwärtszählen (ZV), 7-2, 7-5Zähler BCD-codiert laden (LC), 7-2, 7-7,

8-10Zähler binär-codiert laden (L), 7-2, 7-6,

8-8Zähler freigeben (FR), 7-2, 7-4

Zählwert, Format, 7-6Zähler freigeben (FR), Zähler, 7-4, 7-8Zählwert, Format, 7-6Zeit als Ausschaltverzögerung (SA), 6-5, 6-15Zeit als Einschaltverzögerung (SE), 6-5, 6-11Zeit als Impuls (SI), 6-5Zeit als speichernde Einschaltverzögerung (SS),

6-5, 6-13Zeit als verlängerten Impuls starten, 6-5Zeitauflösung. Siehe Zeitbasis für S5 TIMEZeitbasis für S5 TIME, 6-4

Lesen, 8-9Zeiten

Arten, 6-2Auflösung. Siehe Zeitbasis für S5 TIME

Stichwortverzeichnis

Page 269: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

Index-13Anweisungsliste (AWL) für S7-300/400C79000-G7000-C565-01

Ausschaltverzögerung (SA), 6-2, 6-5, 6-15Definition, 6-2Einschaltverzögerung (SE), 6-2, 6-5, 6-11Freigabe Timer (FR), 6-6Impuls (SI), 6-2, 6-5, 6-7Komponenten, 6-3–6-4Rücksetze (R), 6-6Rücksetzen, 6-6Speicherbereich, 2-8, 6-3

Adreßbereich, 2-9speichernde Einschaltverzögerung (SS), 6-2,

6-5, 6-13Starten, 6-5Starten einer Zeit als verlängerten Impuls

(SV), 6-9Überblick, 6-18unterstützte Zahlen, 6-3verlängerter Impuls (SV), 6-2

Zeit als Impuls (SI), 6-5, 6-7Zeit als verlängerten Impuls (SV), 6-5Zeitbasis für S5 TME, 6-4Zeitoperationen, 6-2–6-21

praktische Anwendung, B-7–B-9Zeitwert, 6-3

Bereich, 6-3Syntax, 6-3

ZeitwertBereich, 6-3Format in AKKU 1, 6-4Syntax, 6-3

ZR. Siehe RückwärtszählenZuweisen von Operanden zu einer Operation

CALL, 17-3Zuweisung (=), 5-20, 5-24, 5-25ZV. Siehe Vorwärtszählen

Stichwortverzeichnis

Page 270: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

Index-14Anweisungsliste (AWL) für S7-300/400

C79000-G7000-C565-01

Stichwortverzeichnis

Page 271: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

1Anweisungsliste (AWL) für S7-300/400C79000-G7000-C565-01

An

Siemens AG

A&D AS E 81

Östliche Rheinbrückenstr. 50

76181 Karlsruhe

Absender:

Ihr Name: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

Ihre Funktion: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

Ihre Firma: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

Straße: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

Ort: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

Telefon: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

Bitte kreuzen Sie Ihren zutreffenden Industriezweig an:

� Automobilindustrie

� Chemische Industrie

� Elektroindustrie

� Nahrungsmittel

� Leittechnik

� Maschinenbau

� Petrochemie

� Pharmazeutische Industrie

� Kunststoffverarbeitung

� Papierindustrie

� Textilindustrie

� Transportwesen

� Andere _ _ _ _ _ _ __ _ _ _

Page 272: Anweisungsliste (AWL) für S7-300/400 · vi Anweisungsliste (AWL) für S7-300/400 C79000-G7000-C565-01 Um Ihnen und zukünftigen STEP 7-Anwendern eine optimale Dokumenta-tion anbieten

2Anweisungsliste (AWL) für S7-300/400

C79000-G7000-C565-01

Falls Sie auf konkrete Probleme gestoßen sind, erläutern Sie diese bitte in den fol-genden Zeilen:

_�_�_�_�_�_�_�_�_�_�_�_�_�_�_�_�_�_�_�_�_�_�_�_�_�_�_�_�_�_�_�_�_

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

Geben Sie bitte bei den folgenden Fragen Ihre persönliche Bewertung mit Wertenvon 1 = gut bis 5 = schlecht an.

1. Entspricht der Inhalt Ihren Anforderungen?

2. Sind die benötigten Informationen leicht zu finden?

3. Sind die Texte leicht verständlich?

4. Entspricht der Grad der technischen Einzelheiten Ihren Anforderungen?

5. Wie bewerten Sie die Qualität der Abbildungen und Tabellen?

Vorschläge und Anmerkungen zur Anwenderdokumentation

Ihre Anmerkungen und Vorschläge helfen uns, die Qualität und Benutzbarkeitunserer Dokumentation zu verbessern. Bitte füllen Sie diesen Fragebogen beider nächsten Gelegenheit aus und senden Sie ihn an Siemens zurück.