Herunterladen Inhalt Inhalt Diese Seite drucken
Siemens SIMATIC S7-300 Referenzhandbuch
Vorschau ausblenden Andere Handbücher für SIMATIC S7-300:
Inhaltsverzeichnis

Werbung

s
SIMATIC
Anweisungsliste (AWL)
für S7-300/400
Referenzhandbuch
Diese Dokumentation ist Bestandteil des
Dokumentationspaketes mit der Bestellnummer:
6ES7810-4CA08-8AW1
Ausgabe 03/2006
A5E00706959-01
Vorwort
Inhaltsverzeichnis
Bitverknüpfung
Vergleicher
Umwandler
Zähler
DB-Aufruf
Sprünge
Festpunkt-Funktionen
Gleitpunkt-Funktionen
Laden/Transferieren
Programmsteuerung
Schieben/Rotieren
Zeiten
Wortverknüpfung
Akkumulator-Operationen
Anhang
AWL-Operationen Übersicht
Programmierbeispiele
Parameterübergabe
Index
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C

Werbung

Inhaltsverzeichnis
loading

Inhaltszusammenfassung für Siemens SIMATIC S7-300

  • Seite 1 Vorwort Inhaltsverzeichnis Bitverknüpfung SIMATIC Vergleicher Umwandler Anweisungsliste (AWL) Zähler für S7-300/400 DB-Aufruf Sprünge Referenzhandbuch Festpunkt-Funktionen Gleitpunkt-Funktionen Laden/Transferieren Programmsteuerung Schieben/Rotieren Zeiten Wortverknüpfung Akkumulator-Operationen Anhang AWL-Operationen Übersicht Diese Dokumentation ist Bestandteil des Programmierbeispiele Dokumentationspaketes mit der Bestellnummer: 6ES7810-4CA08-8AW1 Parameterübergabe Index Ausgabe 03/2006 A5E00706959-01...
  • Seite 2 Bedienung und Instandhaltung voraus. Marken Alle mit dem Schutzrechtsvermerk ® gekennzeichneten Bezeichnungen sind eingetragene Marken der Siemens AG. Die übrigen Bezeichnungen in dieser Schrift können Marken sein, deren Benutzung durch Dritte für deren Zwecke die Rechte der Inhaber verletzen kann. Haftungsausschluss Wir haben den Inhalt der Druckschrift auf Übereinstimmung mit der beschriebenen Hard- und Software...
  • Seite 3: Zweck Des Handbuchs

    Vorwort Zweck des Handbuchs Dieses Handbuch unterstützt Sie bei der Erstellung von Anwenderprogrammen in der Programmiersprache AWL. Es beschreibt die Sprachelemente der Programmiersprache AWL, ihre Syntax und Funktionsweise. Erforderliche Grundkenntnisse Dieses Handbuch richtet sich an Programmierer von S7-Programmen, Inbetriebsetzer und Servicepersonal. Zum Verständnis des Handbuchs sind allgemeine Kenntnisse auf dem Gebiet der Automatisierungstechnik erforderlich.
  • Seite 4 Vorwort Dokumentationspakete zu STEP 7 Das vorliegende Handbuch zu AWL setzt theoretische Kenntnisse über S7-Programme voraus, die Sie in der Online-Hilfe zu STEP 7 nachlesen können. Da die Sprachpakete auf der Basissoftware STEP 7 aufsetzen, sollten Sie bereits Kenntnisse im Umgang mit der Basissoftware STEP 7 und deren Dokumentation haben.
  • Seite 5: Online-Hilfe

    Handbuch und Online-Hilfe wechseln. Weitere Unterstützung Bei Fragen zur Nutzung der im Handbuch beschriebenen Produkte, die Sie hier nicht beantwortet finden, wenden Sie sich bitte an Ihren Siemens-Ansprechpartner in den für Sie zuständigen Vertretungen und Geschäftsstellen. Ihren Ansprechpartner finden Sie unter: http://www.siemens.com/automation/partner...
  • Seite 6: Technical Support

    Vorwort Technical Support Sie erreichen den Technical Support für alle A&D-Produkte Über das Web-Formular für den Support Request http://www.siemens.de/automation/support-request Telefon: + 49 180 5050 222 Fax: + 49 180 5050 223 Weitere Informationen zu unserem Technical Support finden Sie im Internet unter http://www.siemens.de/automation/service...
  • Seite 7: Inhaltsverzeichnis

    Inhaltsverzeichnis Bitverknüpfung....................... 1-1 Bitverknüpfungsoperationen Übersicht............. 1-1 Und......................1-3 Und Nicht....................1-4 O Oder ......................1-5 Oder Nicht ....................1-6 X Exklusiv Oder ....................1-7 Exklusiv Oder Nicht ................. 1-8 Und vor Oder ..................... 1-9 Und mit Verzweigung................1-10 1.10 UN( Und Nicht mit Verzweigung..............1-11 1.11 O( Oder mit Verzweigung ................
  • Seite 8 Inhaltsverzeichnis 3.15 Runden einer Gleitpunktzahl zur Ganzzahl ........3-15 3.16 TRUNC Runden einer Gleitpunktzahl durch Abschneiden......3-16 3.17 RND+ Runden einer Gleitpunktzahl zur nächsthöheren Ganzzahl ..... 3-17 3.18 RND- Runden einer Gleitpunktzahl zur nächstniederen Ganzzahl ..... 3-18 Zähler..........................4-1 Zähloperationen Übersicht ................4-1 FR Freigabe Zähler..................
  • Seite 9 Inhaltsverzeichnis Festpunkt-Funktionen ....................7-1 Festpunkt-Funktionen Übersicht............... 7-1 Auswerten der Bits im Statuswort bei Festpunkt-Funktionen......7-2 +I Addiere AKKU 1 und 2 als Ganzzahl (16 Bit)..........7-3 -I Subtrahiere AKKU 1 von 2 als Ganzzahl (16 Bit)........7-4 *I Multipliziere AKKU 1 und 2 als Ganzzahl (16 Bit)........7-5 /I Dividiere AKKU 2 durch 1 als Ganzzahl (16 Bit) .........
  • Seite 10 Inhaltsverzeichnis Programmsteuerung....................10-1 10.1 Programmsteuerungsoperationen Übersicht..........10-1 10.2 BE Bausteinende ..................10-2 10.3 BEB Bausteinende bedingt................10-3 10.4 BEA Bausteinende absolut................10-4 10.5 CALL Bausteinaufruf..................10-5 10.6 FB aufrufen ..................... 10-8 10.7 FC aufrufen....................10-10 10.8 SFB aufrufen....................10-12 10.9 SFC aufrufen ....................
  • Seite 11 Inhaltsverzeichnis Wortverknüpfung ......................13-1 13.1 Wortverknüpfungsoperationen Übersicht ............13-1 13.2 UW UND-Wort (16 Bit).................. 13-2 13.3 OW ODER-Wort (16 Bit)................13-4 13.4 XOW EXKLUSIV-ODER-Wort (16 Bit) ............13-6 13.5 UD UND-Doppelwort (32 Bit)................ 13-8 13.6 OD ODER-Doppelwort (32 Bit)..............13-10 13.7 XOD EXKLUSIV-ODER-Doppelwort (32 Bit)..........
  • Seite 12 Inhaltsverzeichnis Anweisungsliste (AWL) für S7-300/400 A5E00706959-01...
  • Seite 13: Bitverknüpfung

    Bitverknüpfung Bitverknüpfungsoperationen Übersicht Beschreibung Bitverknüpfungsoperationen arbeiten mit den Zahlen "1" und "0". Diese Zahlen bilden die Basis des Dualsystems und werden "Binärziffern" oder kurz "Bits" genannt. Im Zusammenhang mit U, O, XO und Ausgängen steht eine "1" für "logisch JA" und eine "0" für "logisch NEIN". Die Bitverknüpfungsoperationen interpretieren die Signalzustände "1"...
  • Seite 14 Bitverknüpfung Mit folgenden Operationen können Sie das VKE verändern: • NOT Negiere VKE • SET Setze VKE (=1) • CLR Rücksetze VKE (=0) • SAVE Sichere VKE im BIE-Bit Folgende Operationen reagieren auf einen Wechsel im VKE: • FN Flanke Negativ (1 -> 0) •...
  • Seite 15: U Und

    Bitverknüpfung Format U <Bit> Operand Datentyp Speicherbereich <Bit> BOOL E, A, M, L, D, T, Z Beschreibung U fragt das adressierte Bit auf den Signalzustand "1" ab und führt eine UND- Verknüpfung des Abfrageergebnisses mit dem VKE durch. Mit der Operation UND können Sie auch direkt das Statuswort abfragen. Verwenden Sie hierzu die folgenden Operanden: ==0, <>0, >0, <0, >=0, <=0, OV, OS, UO, BIE.
  • Seite 16: Un Und Nicht

    Bitverknüpfung Und Nicht Format UN <Bit> Operand Datentyp Speicherbereich <Bit> BOOL E, A, M, L, D, T, Z Beschreibung UN fragt das adressierte Bit auf den Signalzustand "0" ab und führt eine UND-Verknüpfung des Abfrageergebnisses mit dem VKE durch. Mit der Operation UND NICHT können Sie auch direkt das Statuswort abfragen. Verwenden Sie hierzu die folgenden Operanden: ==0, <>0, >0, <0, >=0, <=0, OV, OS, UO, BIE.
  • Seite 17: O Oder

    Bitverknüpfung O Oder Format O <Bit> Operand Datentyp Speicherbereich <Bit> BOOL E, A, M, L, D, T, Z Beschreibung O fragt das adressierte Bit auf den Signalzustand "1" ab und führt eine ODER-Verknüpfung des Abfrageergebnisses mit dem VKE durch. Mit der Operation ODER können Sie auch direkt das Statuswort abfragen. Verwenden Sie hierzu die folgenden Operanden: ==0, <>0, >0, <0, >=0, <=0, OV, OS, UO, BIE.
  • Seite 18: On Oder Nicht

    Bitverknüpfung Oder Nicht Format ON <Bit> Operand Datentyp Speicherbereich <Bit> BOOL E, A, M, L, D, T, Z Beschreibung ON fragt das adressierte Bit auf den Signalzustand "0" ab und führt eine ODER-Verknüpfung des Abfrageergebnisses mit dem VKE durch. Mit der Operation ODER NICHT können Sie auch direkt das Statuswort abfragen. Verwenden Sie hierzu die folgenden Operanden: ==0, <>0, >0, <0, >=0, <=0, OV, OS, UO, BIE.
  • Seite 19: Exklusiv Oder

    Bitverknüpfung X Exklusiv Oder Format X <Bit> Operand Datentyp Speicherbereich <Bit> BOOL E, A, M, L, D, T, Z Beschreibung X fragt das adressierte Bit auf den Signalzustand "1" ab und führt eine EXKLUSIV ODER-Verknüpfung des Abfrageergebnisses mit dem VKE durch. Sie können die Exklusiv-ODER-Funktion auch mehrfach nacheinander anwenden.
  • Seite 20: Xn Exklusiv Oder Nicht

    Bitverknüpfung Exklusiv Oder Nicht Format XN <Bit> Operand Datentyp Speicherbereich <Bit> BOOL E, A, M, L, D, T, Z Beschreibung XN fragt das adressierte Bit auf den Signalzustand "0" ab und führt eine EXKLUSIV ODER-Verknüpfung des Abfrageergebnisses mit dem VKE durch. Mit der Operation EXKLUSIV ODER NICHT können Sie auch direkt das Statuswort abfragen.
  • Seite 21: O Und Vor Oder

    Bitverknüpfung Und vor Oder Format Beschreibung Die Operation O führt nach der Regel UND vor ODER die Verknüpfung ODER auf UND-Verknüpfungen aus. Statuswort schreibt: - Beispiel AWL-Programm Relais-Schaltplan Stromschiene M 10.1 E 0.0 E 0.0 M 10.0 E 0.2 E 0.2 M 10.0 M 0.3 M 0.3...
  • Seite 22: Und Mit Verzweigung

    Bitverknüpfung Und mit Verzweigung Format Beschreibung U( (UND mit Verzweigung) speichert die Bits VKE und OR sowie eine Operationskennung im Klammerstack. Der Klammerstack kann maximal 7 Einträge enthalten. Statuswort schreibt: - Beispiel AWL-Programm Relais-Schaltplan Stromschiene E 0.0 E 0.0 M 10.0 M 10.0 E 0.2 E 0.2...
  • Seite 23 Bitverknüpfung 1.10 UN( Und Nicht mit Verzweigung Format Beschreibung UN( (UND NICHT mit Verzweigung) speichert die Bits VKE und OR sowie eine Operationskennung im Klammerstack. Der Klammerstack kann maximal 7 Einträge enthalten. Statuswort schreibt: - Anweisungsliste (AWL) für S7-300/400 1-11 A5E00706959-01...
  • Seite 24 Bitverknüpfung 1.11 O( Oder mit Verzweigung Format Beschreibung O( (ODER mit Verzweigung) speichert die Bits VKE und OR sowie eine Operationskennung im Klammerstack. Der Klammerstack kann maximal 7 Einträge enthalten. Statuswort schreibt: - Anweisungsliste (AWL) für S7-300/400 1-12 A5E00706959-01...
  • Seite 25: Oder Nicht Mit Verzweigung

    Bitverknüpfung 1.12 Oder Nicht mit Verzweigung Format Beschreibung ON( (ODER NICHT mit Verzweigung) speichert die Bits VKE und OR sowie eine Operationskennung im Klammerstack. Der Klammerstack kann maximal 7 Einträge enthalten. Statuswort schreibt: - Anweisungsliste (AWL) für S7-300/400 1-13 A5E00706959-01...
  • Seite 26: Exklusiv Oder Mit Verzweigung

    Bitverknüpfung 1.13 Exklusiv Oder mit Verzweigung Format Beschreibung X( (EXKLUSIV ODER mit Verzweigung) speichert die Bits VKE und OR sowie eine Operationskennung im Klammerstack. Der Klammerstack kann maximal 7 Einträge enthalten. Statuswort schreibt: - Anweisungsliste (AWL) für S7-300/400 1-14 A5E00706959-01...
  • Seite 27: Exklusiv Oder Nicht Mit Verzweigung

    Bitverknüpfung 1.14 Exklusiv Oder Nicht mit Verzweigung Format Beschreibung XN( (EXKLUSIV ODER NICHT mit Verzweigung) speichert die Bits VKE und OR sowie eine Operationskennung im Klammerstack. Der Klammerstack kann maximal 7 Einträge enthalten. Statuswort schreibt: - Anweisungsliste (AWL) für S7-300/400 1-15 A5E00706959-01...
  • Seite 28: Verzweigung Schließen

    Bitverknüpfung 1.15 Verzweigung schließen Format Beschreibung ) (Verzweigung schließen) löscht einen Eintrag aus dem Klammerstack, stellt das Bit OR wieder her, verknüpft das im Stackeintrag enthaltene VKE mit dem aktuellen VKE entsprechend der Operationskennung und weist das Ergebnis dem VKE zu. Handelt es sich bei der Operationskennung um UND oder UND NICHT, wird zusätzlich das OR-Bit berücksichtigt.
  • Seite 29 Bitverknüpfung Beispiel Relais-Schaltplan AWL-Programm Stromschiene E 0.0 E 0.0 M 10.0 M 10.0 E 0.2 E 0.2 M 10.3 M 10.3 M 10.1 M 10.1 A 4.0 A 4.0 Spule Anweisungsliste (AWL) für S7-300/400 1-17 A5E00706959-01...
  • Seite 30: Zuweisung

    Bitverknüpfung 1.16 Zuweisung Format = <Bit> Operand Datentyp Speicherbereich <Bit> BOOL E, A, M, L, D Beschreibung = <Bit> schreibt bei eingeschaltetem Master Control Relay (MCR = 1) das VKE in das adressierte Bit. Bei MCR = 0 wird statt dem VKE der Wert "0" in das adressierte Bit geschrieben.
  • Seite 31: R Rücksetze

    Bitverknüpfung 1.17 R Rücksetze Format R <Bit> Operand Datentyp Speicherbereich <Bit> BOOL E, A, M, L, D Beschreibung R (Rücksetze Bit) schreibt bei VKE = 1 und bei eingeschaltetem Master Control Relay (MCR = 1) den Wert "0" in das adressierte Bit. Bei MCR = 0 wird das adressierte Bit nicht verändert.
  • Seite 32: S Setze

    Bitverknüpfung 1.18 S Setze Format S <Bit> Operand Datentyp Speicherbereich <Bit> BOOL E, A, M, L, D Beschreibung S (Setze Bit) schreibt bei VKE = 1 und bei eingeschaltetem Master Control Relay (MCR = 1) den Wert "1" in das adressierte Bit. Bei MCR = 0 wird das adressierte Bit nicht verändert.
  • Seite 33: Not Negiere Vke

    Bitverknüpfung 1.19 Negiere VKE Format Beschreibung NOT negiert das VKE. Statuswort schreibt: - Anweisungsliste (AWL) für S7-300/400 1-21 A5E00706959-01...
  • Seite 34: Set Setze Vke (=1)

    Bitverknüpfung 1.20 Setze VKE (=1) Format Beschreibung SET setzt das VKE auf den Signalzustand "1". Statuswort schreibt: - Beispiel AWL-Programm Signalzustand Verknüpfungsergebnis (VKE) = M 10.0 = M 15.1 = M 16.0 = M 10.1 = M 10.2 Anweisungsliste (AWL) für S7-300/400 1-22 A5E00706959-01...
  • Seite 35: Clr Rücksetze Vke (=0)

    Bitverknüpfung 1.21 CLR Rücksetze VKE (=0) Format Beschreibung CLR setzt das VKE auf den Signalzustand "0". Statuswort schreibt: - Beispiel AWL-Programm Signalzustand Verknüpfungsergebnis (VKE) = M 10.0 = M 15.1 = M 16.0 = M 10.1 = M 10.2 Anweisungsliste (AWL) für S7-300/400 1-23 A5E00706959-01...
  • Seite 36: Save Sichere Vke Im Bie-Bit

    Bitverknüpfung 1.22 SAVE Sichere VKE im BIE-Bit Format SAVE Beschreibung SAVE speichert das VKE im BIE-Bit. Das Erstabfragebit /ER wird dabei nicht zurückgesetzt. Aus diesem Grund wird bei einer UND-Verknüpfung im nächsten Netzwerk der Zustand des BIE-Bits mitverknüpft. Die Verwendung von SAVE und eine nachfolgende Abfrage des BIE-Bits im gleichen Baustein oder in unterlagerten Bausteinen wird nicht empfohlen, da das BIE-Bit durch zahlreiche dazwischen liegende Operationen verändert werden kann.
  • Seite 37: Fn Flanke Negativ

    Bitverknüpfung 1.23 FN Flanke Negativ Format FN <Bit> Operand Datentyp Speicherbereich Speicherbereich <Bit> BOOL E, A, M, L, D Flankenmerker, speichert den vorherigen Signalzustand des VKE. Beschreibung FN <Bit> (Flanke Negativ) erkennt eine fallende Flanke, wenn das VKE von "1" auf "0"...
  • Seite 38 Bitverknüpfung Definition Steigende Flanke Fallende Flanke Zeit Beispiel Wenn das Automatisierungssystem eine negative Flanke an Kontakt E 1.0 erkennt, aktiviert es den Ausgang A 4.0 für einen OB1-Zyklus. AWL-Programm Signalzustandsdiagramme E 1.0 E 1.0 M 1.0 M 1.0 A 4.0 A 4.0 Zyklus-Nr.
  • Seite 39: Fp Flanke Positiv

    Bitverknüpfung 1.24 FP Flanke Positiv Format FP <Bit> Operand Datentyp Speicherbereich Speicherbereich <Bit> BOOL E, A, M, L, D Flankenmerker, speichert den vorherigen Signalzustand des VKE. Beschreibung FP <Bit> (Flanke Positiv) erkennt eine steigende Flanke, wenn das VKE von "0" auf "1"...
  • Seite 40 Bitverknüpfung Definition Steigende Flanke Fallende Flanke Zeit Beispiel Wenn das Automatisierungssystem eine steigende Flanke an Kontakt E 1.0 erkennt, aktiviert es den Ausgang A 4.0 für einen OB1-Zyklus. AWL-Programm Signalzustandsdiagramme E 1.0 E 1.0 M 1.0 M 1.0 A 4.0 A 4.0 Zyklus-Nr.
  • Seite 41: Vergleicher

    Vergleicher Vergleichsoperationen Übersicht Beschreibung Verglichen werden die Werte von AKKU 2 und AKKU 1 entsprechend der folgenden Vergleichsarten: == AKKU 2 ist gleich AKKU 1 <> AKKU 2 ist ungleich AKKU 1 > AKKU 2 ist größer als AKKU 1 <...
  • Seite 42: Vergleiche Ganzzahlen (16 Bit)

    Vergleicher Vergleiche Ganzzahlen (16 Bit) Format ==I, <>I, >I, <I, >=I, <=I Beschreibung Die Operationen Vergleiche Ganzzahlen (16 Bit) vergleichen den Inhalt von AKKU2-L mit dem Inhalt von AKKU1-L. Die Inhalte von AKKU2-L und AKKU1-L werden als Ganzzahlen (16 Bit) ausgewertet. Das Ergebnis des Vergleichs wird vom VKE und den relevanten Bits des Statusworts angezeigt.
  • Seite 43: D Vergleiche Ganzzahlen (32 Bit)

    Vergleicher ? D Vergleiche Ganzzahlen (32 Bit) Format ==D, <>D, >D, <D, >=D, <=D Beschreibung Die Operationen Vergleiche Ganzzahlen (32 Bit) vergleichen den Inhalt von AKKU 2 mit dem Inhalt von AKKU 1. Die Inhalte von AKKU 2 und AKKU 1 werden als Ganzzahlen (32 Bit) ausgewertet.
  • Seite 44: R Vergleiche Gleitpunktzahlen (32 Bit)

    Vergleicher ? R Vergleiche Gleitpunktzahlen (32 Bit) Format ==R, <>R, >R, <R, >=R, <=R Beschreibung Die Operationen Vergleiche Gleitpunktzahlen (32-Bit, IEEE-FP) vergleichen den Inhalt von AKKU 2 mit dem Inhalt von AKKU 1. Die Inhalte von AKKU 1 und AKKU 2 werden als Gleitpunktzahlen (32-Bit, IEEE-FP) ausgewertet.
  • Seite 45: Umwandler

    Umwandler Umwandlungsoperationen Übersicht Beschreibung Mit den folgenden Operationen können Sie binär-codierte Dezimalzahlen und Ganzzahlen in andere Zahlenarten umwandeln: • BTI BCD wandeln in Ganzzahl (16 Bit) • ITB Ganzzahl (16 Bit) wandeln in BCD • BTD BCD wandeln in Ganzzahl (32 Bit) •...
  • Seite 46: Bti Bcd Wandeln In Ganzzahl (16 Bit)

    Umwandler BCD wandeln in Ganzzahl (16 Bit) Format Beschreibung BTI (Dezimal-Dual-Umwandlung einer dreistelligen BCD-Zahl) wertet den Inhalt von AKKU1-L als eine dreistellige binär-codierte Dezimalzahl (BCD) aus und wandelt diese in eine Ganzzahl (16 Bit) um. Das Ergebnis wird in AKKU1-L gespeichert.
  • Seite 47: Itb Ganzzahl (16 Bit) Wandeln In Bcd

    Umwandler Ganzzahl (16 Bit) wandeln in BCD Format Beschreibung ITB (Dual-Dezimal-Umwandlung einer Ganzzahl, 16 Bit) wertet den Inhalt von AKKU1-L als eine Ganzzahl (16 Bit) aus und wandelt diese in eine dreistellige binär-codierte Dezimalzahl (BCD) um. Das Ergebnis wird in AKKU1-L gespeichert.
  • Seite 48: Btd Bcd Wandeln In Ganzzahl (32 Bit)

    Umwandler BCD wandeln in Ganzzahl (32 Bit) Format Beschreibung BTD (Dezimal-Dual-Umwandlung einer siebenstelligen BCD-Zahl) wertet den Inhalt von AKKU 1 als eine siebenstellige binär-codierte Dezimalzahl (BCD) aus und wandelt diese in eine Ganzzahl (32 Bit) um. Das Ergebnis wird in AKKU 1 gespeichert.
  • Seite 49: Itd Ganzzahl (16 Bit) Wandeln In Ganzzahl (32 Bit)

    Umwandler Ganzzahl (16 Bit) wandeln in Ganzzahl (32 Bit) Format Beschreibung ITD (Umwandlung einer Ganzzahl, 16 Bit, in eine Ganzzahl, 32 Bit) wertet den Inhalt von AKKU1-L als Ganzzahl (16 Bit) aus und wandelt diese in eine Ganzzahl (32 Bit) um. Das Ergebnis wird in AKKU 1 gespeichert. AKKU 2 wird nicht verändert.
  • Seite 50: Dtb Ganzzahl (32 Bit) Wandeln In Bcd

    Umwandler Ganzzahl (32 Bit) wandeln in BCD Format Beschreibung DTB (Dual-Dezimal-Umwandlung einer Ganzzahl, 32 Bit) wertet den Inhalt von AKKU 1 als eine Ganzzahl (32 Bit) aus und wandelt diese in eine siebenstellige binär-codierte Dezimalzahl um. Das Ergebnis wird in AKKU 1 gespeichert. Bit 0 bis Bit 27 geben den Wert der BCD-Zahl an.
  • Seite 51: Dtr Ganzzahl (32 Bit) Wandeln In Gleitpunktzahl (32 Bit, Ieee-Fp)

    Umwandler DTR Ganzzahl (32 Bit) wandeln in Gleitpunktzahl (32 Bit, IEEE-FP) Format Beschreibung DTR (Umwandlung einer Ganzzahl, 32 Bit, in eine Gleitpunktzahl, 32 Bit, IEEE-FP) wertet den Inhalt von AKKU 1 als eine Ganzzahl (32 Bit) aus und wandelt diese in eine Gleitpunktzahl (32 Bit, IEEE-FP) um.
  • Seite 52: Invi 1-Komplement Ganzzahl (16 Bit)

    Umwandler INVI 1-Komplement Ganzzahl (16 Bit) Format INVI Beschreibung INVI (1-Komplement Ganzzahl, 16 Bit) bildet das Einerkomplement des 16-Bit- Wertes in AKKU1-L. Beim Bilden des Einerkomplements werden die einzelnen Bits umgekehrt, d. h. die Nullen werden durch Einsen ersetzt und die Einsen durch Nullen.
  • Seite 53: Invd 1-Komplement Ganzzahl (32 Bit)

    Umwandler INVD 1-Komplement Ganzzahl (32 Bit) Format INVD Beschreibung INVD (1-Komplement Ganzzahl, 32 Bit) bildet das Einerkomplement des 32-Bit- Wertes in AKKU 1. Beim Bilden des Einerkomplements werden die einzelnen Bits umgekehrt, d. h. die Nullen werden durch Einsen ersetzt und die Einsen durch Nullen.
  • Seite 54: Negi 2-Komplement Ganzzahl (16 Bit)

    Umwandler 3.10 NEGI 2-Komplement Ganzzahl (16 Bit) Format NEGI Beschreibung NEGI (2-Komplement Ganzzahl, 16 Bit) bildet das Zweierkomplement des 16-Bit- Wertes in AKKU1-L. Beim Bilden des Zweierkomplements werden die einzelnen Bits umgekehrt, d. h. die Nullen werden durch Einsen ersetzt und die Einsen durch Nullen.
  • Seite 55: Negd 2-Komplement Ganzzahl (32 Bit)

    Umwandler 3.11 NEGD 2-Komplement Ganzzahl (32 Bit) Format NEGD Beschreibung NEGD (2-Komplement Ganzzahl, 32 Bit) bildet das Zweierkomplement des 32-Bit- Wertes in AKKU 1. Beim Bilden des Zweierkomplements werden die einzelnen Bits umgekehrt, d. h. die Nullen werden durch Einsen ersetzt und die Einsen durch Nullen.
  • Seite 56: Negr Negiere Gleitpunktzahl

    Umwandler 3.12 NEGR Negiere Gleitpunktzahl Format NEGR Beschreibung NEGR (Negiere Gleitpunktzahl, 32 Bit, IEEE-FP) negiert die Gleitpunktzahl (32 Bit, IEEE-FP) in AKKU 1. Die Operation kehrt den Status von Bit 31 in AKKU 1 um (Vorzeichen der Mantisse). Das Ergebnis wird in AKKU 1 gespeichert. Statuswort schreibt: - Beispiel...
  • Seite 57: Taw Tausche Reihenfolge Der Bytes Im Akku 1-L (16 Bit)

    Umwandler 3.13 Tausche Reihenfolge der Bytes im AKKU 1-L (16 Bit) Format Beschreibung TAW kehrt die Reihenfolge der Bytes in AKKU1-L um. Das Ergebnis wird in AKKU1-L gespeichert. AKKU1-H und AKKU 2 werden nicht verändert. Statuswort schreibt: - Beispiel Erläuterung MW10 //Lade den Wert von MW10 in AKKU 1.
  • Seite 58: Tad Tausche Reihenfolge Der Bytes Im Akku 1 (32 Bit)

    Umwandler 3.14 Tausche Reihenfolge der Bytes im AKKU 1 (32 Bit) Format Beschreibung TAD kehrt die Reihenfolge der Bytes in AKKU 1 um. Das Ergebnis wird in AKKU 1 gespeichert. AKKU 2 wird nicht verändert. Statuswort schreibt: - Beispiel Erläuterung MD10 //Lade den Wert von MD10 in AKKU 1.
  • Seite 59: Rnd Runden Einer Gleitpunktzahl Zur Ganzzahl

    Umwandler 3.15 Runden einer Gleitpunktzahl zur Ganzzahl Format Beschreibung RND (Umwandlung einer Gleitpunktzahl, 32 Bit, IEEE-FP, in eine Ganzzahl, 32 Bit) wertet den Inhalt von AKKU 1 als eine Gleitpunktzahl (32 Bit, IEEE-FP) aus. Die Operation wandelt die Gleitpunktzahl (32 Bit, IEEE-FP) in eine Ganzzahl (32 Bit) um und rundet das Ergebnis zur nächsten Ganzzahl.
  • Seite 60: Trunc Runden Einer Gleitpunktzahl Durch Abschneiden

    Umwandler 3.16 TRUNC Runden einer Gleitpunktzahl durch Abschneiden Format TRUNC Beschreibung TRUNC (Umwandlung einer Gleitpunktzahl, 32 Bit, IEEE-FP, in eine Ganzzahl, 32 Bit) wertet den Inhalt von AKKU 1 als eine Gleitpunktzahl (32 Bit, IEEE-FP) aus. Die Operation wandelt die Gleitpunktzahl (32 Bit, IEEE-FP) in eine Ganzzahl (32 Bit) um.
  • Seite 61: Rnd+ Runden Einer Gleitpunktzahl Zur Nächsthöheren Ganzzahl

    Umwandler 3.17 RND+ Runden einer Gleitpunktzahl zur nächsthöheren Ganzzahl Format RND+ Beschreibung RND+ (Umwandlung einer Gleitpunktzahl, 32 Bit, IEEE-FP, in eine Ganzzahl, 32 Bit) wertet den Inhalt von AKKU 1 als eine Gleitpunktzahl (32 Bit, IEEE-FP) aus. Die Operation wandelt die Gleitpunktzahl (32 Bit, IEEE-FP) in eine Ganzzahl (32 Bit) um und rundet das Ergebnis zur kleinsten ganzen Zahl, die größer oder gleich der umgewandelten Gleitpunktzahl ist (IEEE-Rundungsmodus "Round to +infinity").
  • Seite 62: Rnd- Runden Einer Gleitpunktzahl Zur Nächstniederen Ganzzahl

    Umwandler 3.18 RND- Runden einer Gleitpunktzahl zur nächstniederen Ganzzahl Format RND- Beschreibung RND- (Umwandlung einer Gleitpunktzahl, 32 Bit, IEEE-FP, in eine Ganzzahl, 32 Bit) wertet den Inhalt von AKKU 1 als eine Gleitpunktzahl (32 Bit, IEEE-FP) aus. Die Operation wandelt die Gleitpunktzahl (32 Bit, IEEE-FP) in eine Ganzzahl (32 Bit) um und rundet das Ergebnis zu der nächsten ganzen Zahl, die kleiner oder gleich der umgewandelten Gleitpunktzahl ist (IEEE-Rundungsmodus "Round to - infinity").
  • Seite 63: Zähler

    Zähler Zähloperationen Übersicht Beschreibung 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. Das Programmieren mit AWL unterstützt 256 Zähler. Die bei Ihrer CPU verfügbare Anzahl von Zählern entnehmen Sie bitte deren technischen Daten.
  • Seite 64: Fr Freigabe Zähler

    Zähler FR Freigabe Zähler Format FR <Zähler> Operand Datentyp Speicherbereich Beschreibung <Zähler> COUNTER Zähler; Bereich hängt von der CPU Beschreibung FR <Zähler> löscht den Flankenmerker, der den adressierten Zähler auf Vorwärts- bzw. Rückwärtszählen setzt, wenn das VKE von "0" auf "1" wechselt. Die Freigabe des Zählers ist nicht erforderlich, wenn ein Zähler gesetzt werden soll oder wenn die normale Zählfunktion ausgeführt wird.
  • Seite 65: L Lade Aktuellen Zählwert Als Ganzzahl In Akku 1

    Zähler L Lade aktuellen Zählwert als Ganzzahl in AKKU 1 Format L <Zähler> Operand Datentyp Speicherbereich Beschreibung <Zähler> COUNTER Zähler; Bereich hängt von der CPU Beschreibung L <Zähler> lädt den aktuellen Zählwert des adressierten Zählers als Ganzzahl in AKKU1-L, nachdem zuvor der Inhalt von AKKU 1 in AKKU 2 gespeichert wurde. Statuswort schreibt: - Anweisungsliste (AWL) für S7-300/400...
  • Seite 66 Zähler Beispiel Erläuterung //Lade den Zählwert des Zählers Z3 im Binärformat in AKKU1-L. Zählerwort für Zähler Z3 im Speicher Zählwert (0 bis 999) binär codiert Inhalt von AKKU1-L nach der Ladeanweisung L Z3 Alle "0" Zählwert (0 bis 999) binär codiert Anweisungsliste (AWL) für S7-300/400 A5E00706959-01...
  • Seite 67: Lc Lade Aktuellen Zählwert Als Bcd In Akku 1

    Zähler LC Lade aktuellen Zählwert als BCD in AKKU 1 Format LC <Zähler> Operand Datentyp Speicherbereich Beschreibung <Zähler> COUNTER Zähler; Bereich hängt von der CPU Beschreibung LC <Zähler> lädt den aktuellen Zählwert des adressierten Zählers als BCD-Zahl in AKKU 1, nachdem zuvor der Inhalt von AKKU 1 in AKKU 2 gespeichert wurde. Statuswort schreibt: - Anweisungsliste (AWL) für S7-300/400...
  • Seite 68 Zähler Beispiel Erläuterung //Lade den Zählwert des Zählers Z3 im BCD-Format in AKKU1-L. Zählerwort für Zähler Z3 im Speicher Zählwert (0 bis 999) binär codiert Inhalt von AKKU1-L nach der Ladeanweisung LC Z3 Hunderter Zehner Einer Zählwert in BCD Anweisungsliste (AWL) für S7-300/400 A5E00706959-01...
  • Seite 69: R Rücksetze Zähler

    Zähler R Rücksetze Zähler Format R <Zähler> Operand Datentyp Speicherbereich Beschreibung <Zähler> COUNTER Zähler, der zurückgesetzt werden soll; Bereich hängt von der CPU Beschreibung R <Zähler> lädt den Zählwert "0" in den adressierten Zähler, wenn das VKE = 1 ist. Statuswort schreibt: - Beispiel...
  • Seite 70: S Setze Zählerstartwert

    Zähler S Setze Zählerstartwert Format S <Zähler> Operand Datentyp Speicherbereich Beschreibung <Zähler> COUNTER Zähler, der voreingestellt werden soll; Bereich hängt von der CPU ab. Beschreibung S <Zähler> lädt den Zählwert aus AKKU1-L in den adressierten Zähler, wenn das VKE von "0" auf "1" wechselt. Der Zählwert in AKKU 1 muß als BCD-Zahl zwischen "0"...
  • Seite 71: Zv Zählen Vorwärts

    Zähler ZV Zählen vorwärts Format ZV <Zähler> Operand Datentyp Speicherbereich Beschreibung <Zähler> COUNTER Zähler; Bereich hängt von der CPU Beschreibung ZV <Zähler> erhöht den Zählwert des adressierten Zählers um "1", wenn das VKE von "0" auf "1" wechselt und der Zählwert kleiner als "999" ist. Wenn der Zählwert den oberen Grenzwert "999"...
  • Seite 72: Zr Zählen Rückwärts

    Zähler ZR Zählen rückwärts Format ZR <Zähler> Operand Datentyp Speicherbereich Beschreibung <Zähler> COUNTER Zähler; Bereich hängt von der CPU Beschreibung ZR <Zähler> vermindert den Zählwert des adressierten Zählers um "1", wenn das VKE von "0" auf "1" wechselt und der Zählwert größer als "0" ist. Wenn der Zählwert den unteren Grenzwert "0"...
  • Seite 73: Db-Aufruf

    DB-Aufruf Datenbausteinoperationen Übersicht Beschreibung Mit der Operation AUF (Öffne Datenbaustein) können Sie einen globalen Datenbaustein oder einen Instanz-Datenbaustein öffnen. Es kann gleichzeitig im Programm je ein globaler Datenbaustein und ein Instanz-Datenbaustein geöffnet sein. Folgende Datenbausteinoperationen stehen Ihnen zur Verfügung: • AUF Datenbaustein öffnen •...
  • Seite 74: Auf Datenbaustein Öffnen

    DB-Aufruf AUF Datenbaustein öffnen Format AUF <Datenbaustein> Operand Datenbausteintyp Quelladresse <Datenbaustein> DB, DI 1 bis 65535 Beschreibung AUF <Datenbaustein> öffnet einen Datenbaustein als Global-Datenbaustein oder als Instanz-Datenbaustein. Es können jeweils ein Global-Datenbaustein und ein Instanz-Datenbaustein gleichzeitig geöffnet sein. Statuswort schreibt: - Beispiel Erläuterung AUF DB10...
  • Seite 75: Tdb Tausche Global-Db Und Instanz-Db

    DB-Aufruf TDB Tausche Global-DB und Instanz-DB Format Beschreibung TDB vertauscht die Datenbausteinregister. Ein Global-Datenbaustein wird so zum Instanz-Datenbaustein und umgekehrt. Statuswort schreibt: - Anweisungsliste (AWL) für S7-300/400 A5E00706959-01...
  • Seite 76: L Dblg Lade Länge Global-Db In Akku 1

    DB-Aufruf L DBLG Lade Länge Global-DB in AKKU 1 Format L DBLG Beschreibung L DBLG (Lade die Länge des Global-Datenbausteins) lädt die Länge des Global- Datenbausteins in AKKU 1, nachdem zuvor der Inhalt von AKKU 1 in AKKU 2 gespeichert wurde. Statuswort schreibt: - Beispiel...
  • Seite 77: L Dbno Lade Nummer Global-Db In Akku 1

    DB-Aufruf L DBNO Lade Nummer Global-DB in AKKU 1 Format L DBNO Beschreibung L DBNO (Lade die Nummer des Global-Datenbausteins) lädt die Nummer des geöffneten Global-Datenbausteins in AKKU1, nachdem zuvor der Inhalt von AKKU 1 in AKKU 2 gespeichert wurde. Statuswort schreibt: - Anweisungsliste (AWL) für S7-300/400...
  • Seite 78: L Dilg Lade Länge Instanz-Db In Akku 1

    DB-Aufruf L DILG Lade Länge Instanz-DB in AKKU 1 Format L DILG Beschreibung L DILG (Lade die Länge des Instanz-Datenbausteins) lädt die Länge des Instanz- Datenbausteins in AKKU 1, nachdem zuvor der Inhalt von AKKU 1 in AKKU 2 gespeichert wurde. Statuswort schreibt: - Beispiel...
  • Seite 79: L Dino Lade Nummer Instanz-Db In Akku 1

    DB-Aufruf L DINO Lade Nummer Instanz-DB in AKKU 1 Format L DINO Beschreibung L DINO (Lade die Nummer des Instanz-Datenbausteins) lädt die Nummer des geöffneten Instanz-Datenbausteins in AKKU 1, nachdem zuvor der Inhalt von AKKU 1 in AKKU 2 gespeichert wurde. Statuswort schreibt: - Anweisungsliste (AWL) für S7-300/400...
  • Seite 80 DB-Aufruf Anweisungsliste (AWL) für S7-300/400 A5E00706959-01...
  • Seite 81: Sprünge

    Sprünge Sprungoperationen Übersicht Beschreibung Sprungoperationen ermöglichen es, den Programmablauf zu unterbrechen, um die Bearbeitung an einem anderen Punkt wiederaufzunehmen. Mit der Operation LOOP können Sie einen Programmteil mehrmals aufrufen. Als Operand einer Sprungoperation bzw. der Operation LOOP dient eine Sprungmarke. Die Sprungmarke kann aus bis zu vier Zeichen bestehen, von denen das erste Zeichen ein Buchstabe sein muß.
  • Seite 82 Sprünge Die folgenden Operationen unterbrechen den Programmablauf abhängig vom Signalzustand eines Bits im Statuswort: • SPBI Springe, wenn BIE = 1 • SPBIN Springe, wenn BIE = 0 • SPO Springe, wenn OV = 1 • SPS Springe, wenn OS = 1 Die folgenden Operationen unterbrechen den Programmablauf abhängig vom Ergebnis einer vorhergehenden Operation: •...
  • Seite 83: Spa Springe Absolut

    Sprünge SPA Springe absolut Format SPA <Sprungmarke> Operand Beschreibung <Sprungmarke> Symbolischer Name des Sprungziels. Beschreibung SPA <Sprungmarke> unterbricht den linearen Programmablauf und springt unabhängig vom Inhalt des Statusworts an das Sprungziel. Der lineare Programmablauf wird am Sprungziel fortgesetzt. Das Sprungziel wird durch eine Sprungmarke angegeben.
  • Seite 84: Spl Sprungleiste

    Sprünge SPL Sprungleiste Format SPL <Sprungmarke> Operand Beschreibung <Sprungmarke> Symbolischer Name des Sprungziels. Beschreibung SPL <Sprungmarke> (Springe über Sprungleiste) ermöglicht das Programmieren von Fallunterscheidungen. Die Zielsprungleiste, die maximal 255 Einträge enthält, beginnt unmittelbar nach der Operation SPL und endet vor der Sprungmarke, die der Operand SPL angibt.
  • Seite 85 Sprünge Beispiel Erläuterung //Lade die Nummer des Sprungziels in AKKU1-L-L. SPL LSTX //Sprungziel, wenn AKKU1-L-L > 3 ist. SPA SEG0 //Sprungziel, wenn AKKU1-L-L = 0 ist. SPA SEG1 //Sprungziel, wenn AKKU1-L-L = 1 ist. SPA COMM //Sprungziel, wenn AKKU1-L-L = 2 ist. SPA SEG3 //Sprungziel, wenn AKKU1-L-L = 3 ist.
  • Seite 86: Spb Springe, Wenn Vke = 1

    Sprünge SPB Springe, wenn VKE = 1 Format SPB <Sprungmarke> Operand Beschreibung <Sprungmarke> Symbolischer Name des Sprungziels. Beschreibung Wenn VKE = 1, unterbricht SPB <Sprungmarke> den linearen Programmablauf und springt an das Sprungziel. Der lineare Programmablauf wird am Sprungziel fortgesetzt. Das Sprungziel wird durch eine Sprungmarke angegeben. Es kann sowohl vorwärts als auch rückwärts gesprungen werden.
  • Seite 87: Spbn Springe, Wenn Vke = 0

    Sprünge SPBN Springe, wenn VKE = 0 Format SPBN <Sprungmarke> Operand Beschreibung <Sprungmarke> Symbolischer Name des Sprungziels. Beschreibung Wenn VKE = 0, unterbricht SPBN <Sprungmarke> den linearen Programmablauf und springt an das Sprungziel. Der lineare Programmablauf wird am Sprungziel fortgesetzt. Das Sprungziel wird durch eine Sprungmarke angegeben. Es kann sowohl vorwärts als auch rückwärts gesprungen werden.
  • Seite 88: Spbb Springe, Wenn Vke = 1 Und Rette Vke Ins Bie

    Sprünge SPBB Springe, wenn VKE = 1 und rette VKE ins BIE Format SPBB <Sprungmarke> Operand Beschreibung <Sprungmarke> Symbolischer Name des Sprungziels. Beschreibung Wenn VKE = 1, unterbricht SPBB <Sprungmarke> den linearen Programmablauf und springt an das Sprungziel. Der lineare Programmablauf wird am Sprungziel fortgesetzt.
  • Seite 89: Spbnb Springe, Wenn Vke = 0 Und Rette Vke Ins Bie

    Sprünge SPBNB Springe, wenn VKE = 0 und rette VKE ins BIE Format SPBNB <Sprungmarke> Operand Beschreibung <Sprungmarke> Symbolischer Name des Sprungziels. Beschreibung Wenn VKE = 0, unterbricht SPBNB <Sprungmarke> den linearen Programmablauf und springt an das Sprungziel. Der lineare Programmablauf wird am Sprungziel fortgesetzt.
  • Seite 90: Spbi Springe, Wenn Bie = 1

    Sprünge SPBI Springe, wenn BIE = 1 Format SPBI <Sprungmarke> Operand Beschreibung <Sprungmarke> Symbolischer Name des Sprungziels. Beschreibung Ist das Statusbit BIE = 1, unterbricht SPBI <Sprungmarke> den linearen Programmablauf und springt an das Sprungziel. Der lineare Programmablauf wird am Sprungziel fortgesetzt. Das Sprungziel wird durch eine Sprungmarke angegeben.
  • Seite 91: Spbin Springe, Wenn Bie = 0

    Sprünge SPBIN Springe, wenn BIE = 0 Format SPBIN <Sprungmarke> Operand Beschreibung <Sprungmarke> Symbolischer Name des Sprungziels. Beschreibung Ist das Statusbit BIE = 0, unterbricht SPBIN <Sprungmarke> den linearen Programmablauf und springt an das Sprungziel. Der lineare Programmablauf wird am Sprungziel fortgesetzt. Das Sprungziel wird durch eine Sprungmarke angegeben.
  • Seite 92: Spo Springe, Wenn Ov = 1

    Sprünge 6.10 SPO Springe, wenn OV = 1 Format SPO <Sprungmarke> Operand Beschreibung <Sprungmarke> Symbolischer Name des Sprungziels. Beschreibung Ist das Statusbit OV = 1, unterbricht SPO <Sprungmarke> den linearen Programmablauf und springt an das Sprungziel. Der lineare Programmablauf wird am Sprungziel fortgesetzt.
  • Seite 93 Sprünge Beispiel Erläuterung MW10 //Multiplikation des Inhalts von MW10 mit "3". OVER //Springe, wenn das Ergebnis den maximalen Bereich überschreitet (OV = 1). MW10 //Der Programmablauf wird hier fortgesetzt, wenn der Sprung nicht ausgeführt wird. NEXT OVER: //Der Programmablauf wird nach dem Sprung zur Sprungmarke OVER hier fortgesetzt.
  • Seite 94: Sps Springe, Wenn Os = 1

    Sprünge 6.11 SPS Springe, wenn OS = 1 Format SPS <Sprungmarke> Operand Beschreibung <Sprungmarke> Symbolischer Name des Sprungziels. Beschreibung Ist das Statusbit OS = 1, unterbricht SPS <Sprungmarke> den linearen Programmablauf und springt an das Sprungziel. Der lineare Programmablauf wird am Sprungziel fortgesetzt.
  • Seite 95 Sprünge Beispiel Erläuterung EW10 MW12 DBW25 MW14 OVER //Springe, wenn Überlauf in einer der 3 vorhergehenden Operationen, OS = 1, auftritt (siehe Hinweis). MW16 //Der Programmablauf wird hier fortgesetzt, wenn der Sprung nicht ausgeführt wird. M 4.0 M 4.0 NEXT OVER: M 4.0 //Der Programmablauf wird nach dem Sprung zur Sprungmarke OVER...
  • Seite 96: Spz Springe, Wenn Ergebnis = 0

    Sprünge 6.12 SPZ Springe, wenn Ergebnis = 0 Format SPZ <Sprungmarke> Operand Beschreibung <Sprungmarke> Symbolischer Name des Sprungziels. Beschreibung Sind die Statusbits A1 = 0 und A0 = 0, unterbricht SPZ <Sprungmarke> den linearen Programmablauf und springt an das Sprungziel. Der lineare Programmablauf wird am Sprungziel fortgesetzt.
  • Seite 97: Spn Springe, Wenn Ergebnis <> 0

    Sprünge 6.13 SPN Springe, wenn Ergebnis <> 0 Format SPN <Sprungmarke> Operand Beschreibung <Sprungmarke> Symbolischer Name des Sprungziels. Beschreibung Ist das Ergebnis, das von den Statusbits A1 und A0 angezeigt wird, größer oder kleiner als Null (A1 = 0/A0 = 1 oder A1 = 1/A0 = 0), unterbricht SPN <Sprungmarke>...
  • Seite 98: Spp Springe, Wenn Ergebnis > 0

    Sprünge 6.14 SPP Springe, wenn Ergebnis > 0 Format SPP <Sprungmarke> Operand Beschreibung <Sprungmarke> Symbolischer Name des Sprungziels. Beschreibung Sind die Statusbits A1 = 1 und A0 = 0, unterbricht SPP <Sprungmarke> den linearen Programmablauf und springt an das Sprungziel. Der lineare Programmablauf wird am Sprungziel fortgesetzt.
  • Seite 99: Spm Springe, Wenn Ergebnis

    Sprünge 6.15 SPM Springe, wenn Ergebnis < 0 Format SPM <Sprungmarke> Operand Beschreibung <Sprungmarke> Symbolischer Name des Sprungziels. Beschreibung Sind die Statusbits A1 = 0 und A0 = 1, unterbricht SPM <Sprungmarke> den linearen Programmablauf und springt an das Sprungziel. Der lineare Programmablauf wird an dem Sprungziel fortgesetzt.
  • Seite 100: Sppz Springe, Wenn Ergebnis >= 0

    Sprünge 6.16 SPPZ Springe, wenn Ergebnis >= 0 Format SPPZ <Sprungmarke> Operand Beschreibung <Sprungmarke> Symbolischer Name des Sprungziels. Beschreibung Ist das Ergebnis, das von den Statusbits A1 und A0 angezeigt wird, größer als oder gleich Null (A1 = 0/A0 = 0 oder A1 = 1/A0 = 0), unterbricht SPPZ <Sprungmarke> (Springe, wenn das Ergebnis >= 0) den linearen Programmablauf und springt an das Sprungziel.
  • Seite 101: Spmz Springe, Wenn Ergebnis

    Sprünge 6.17 SPMZ Springe, wenn Ergebnis <= 0 Format SPMZ <Sprungmarke> Operand Beschreibung <Sprungmarke> Symbolischer Name des Sprungziels. Beschreibung Ist das Ergebnis, das von den Statusbits A1 und A0 angezeigt wird, kleiner als oder gleich Null (A1 = 0/A0 = 0 oder A1 = 0/A0 = 1), unterbricht SPMZ <Sprungmarke> (Springe, wenn das Ergebnis <= 0) den linearen Programmablauf und springt an das Sprungziel.
  • Seite 102: Spu Springe, Wenn Ergebnis Ungültig

    Sprünge 6.18 SPU Springe, wenn Ergebnis ungültig Format SPU <Sprungmarke> Operand Beschreibung <Sprungmarke> Symbolischer Name des Sprungziels. Beschreibung Sind die Statusbits A1 = 1 und A0 = 1, unterbricht SPU <Sprungmarke> den linearen Programmablauf und springt an das Sprungziel. Der lineare Programmablauf wird am Sprungziel fortgesetzt.
  • Seite 103 Sprünge Beispiel Erläuterung MD10 //Division des Inhalts von MD10 durch den Inhalt von ED2. ERRO //Springe, wenn Division durch Null (d. h. ED2 = "0"). MD14 //Der Programmablauf wird hier fortgesetzt, wenn der Sprung nicht ausgeführt wird. M 4.0 M 4.0 NEXT ERRO: M 4.0...
  • Seite 104: Loop Programmschleife

    Sprünge 6.19 LOOP Programmschleife Format LOOP <Sprungmarke> Operand Beschreibung <Sprungmarke> Symbolischer Name des Sprungziels. Beschreibung LOOP <Sprungmarke> (Dekrementiere AKKU1-L und springe, wenn AKKU1-L <> 0) vereinfacht die Programmierung von Schleifen. Der Schleifenzähler ist eine vorzeichenlose Ganzzahl (16 Bit) und befindet sich in AKKU1-L. Die Anweisung springt an das angegebene Sprungziel.
  • Seite 105: Beispiel Zur Berechnung Der Fakultät Von 5 (5!)

    Sprünge Beispiel zur Berechnung der Fakultät von 5 (5!) Erläuterung //Lade die Ganzzahl-Konstante (32 Bit) in den AKKU 1. MD20 //Transferiere den Inhalt von AKKU 1 in MD20 (Initialisierung). //Lade die Anzahl der Schleifenzyklen in AKKU1-L. NEXT: MW10 //Sprungmarke = Anfang der Schleife / Transferiere AKKU1-L in Schleifenzähler.
  • Seite 106 Sprünge Anweisungsliste (AWL) für S7-300/400 6-26 A5E00706959-01...
  • Seite 107: Festpunkt-Funktionen

    Festpunkt-Funktionen Festpunkt-Funktionen Übersicht Beschreibung Festpunkt-Funktionen verknüpfen den Inhalt von AKKU 1 und 2 miteinander. Das Ergebnis wird in AKKU 1 abgelegt. Bei CPUs mit zwei Akkus bleibt der Inhalt von AKKU 2 unverändert. Bei CPUs mit vier Akkus werden die Inhalte von AKKU 3 in AKKU 2, und von AKKU 4 in AKKU 3 kopiert.
  • Seite 108: Auswerten Der Bits Im Statuswort Bei Festpunkt-Funktionen

    Festpunkt-Funktionen Auswerten der Bits im Statuswort bei Festpunkt- Funktionen Beschreibung Die Festpunkt-Funktionen beeinflussen die Bits A1, A0, OV und OS im Statuswort. Die folgenden Tabellen zeigen den Signalzustand der Bits des Statusworts für die Ergebnisse von Operationen mit Festpunktzahlen (16 Bit, 32 Bit). Gültiger Bereich 0 (Null) 16 Bit: -32 768 <= Ergebnis <...
  • Seite 109: I Addiere Akku 1 Und 2 Als Ganzzahl (16 Bit)

    Festpunkt-Funktionen +I Addiere AKKU 1 und 2 als Ganzzahl (16 Bit) Format Beschreibung +I (Addiere Ganzzahlen, 16 Bit) addiert den Inhalt von AKKU1-L zum Inhalt von AKKU2-L und speichert das Ergebnis in AKKU1-L. Die Inhalte von AKKU1-L und AKKU2-L werden als Ganzzahlen (16 Bit) ausgewertet. Die Operation wird ausgeführt, ohne das VKE zu berücksichtigen oder zu beeinflussen.
  • Seite 110: I Subtrahiere Akku 1 Von 2 Als Ganzzahl (16 Bit)

    Festpunkt-Funktionen -I Subtrahiere AKKU 1 von 2 als Ganzzahl (16 Bit) Format Beschreibung -I (Subtrahiere Ganzzahlen, 16 Bit) subtrahiert den Inhalt von AKKU1-L vom Inhalt von AKKU2-L und speichert das Ergebnis in AKKU1-L. Die Inhalte von AKKU1-L und AKKU2-L werden als Ganzzahlen (16 Bit) ausgewertet. Die Operation wird ausgeführt, ohne das VKE zu berücksichtigen oder zu beeinflussen.
  • Seite 111: I Multipliziere Akku 1 Und 2 Als Ganzzahl (16 Bit)

    Festpunkt-Funktionen *I Multipliziere AKKU 1 und 2 als Ganzzahl (16 Bit) Format Beschreibung *I (Multipliziere Ganzzahlen, 16 Bit) multipliziert den Inhalt von AKKU2-L mit dem Inhalt von AKKU1-L. Die Inhalte von AKKU1-L und AKKU2-L werden als Ganzzahlen (16 Bit) ausgewertet. Das Ergebnis wird als Ganzzahl (32 Bit) in AKKU 1 gespeichert.
  • Seite 112: I Dividiere Akku 2 Durch 1 Als Ganzzahl (16 Bit)

    Festpunkt-Funktionen /I Dividiere AKKU 2 durch 1 als Ganzzahl (16 Bit) Format Beschreibung /I (Dividiere Ganzzahlen, 16 Bit) dividiert den Inhalt von AKKU2-L durch den Inhalt von AKKU1-L. Die Inhalte von AKKU1-L und AKKU2-L werden als Ganzzahlen (16 Bit) ausgewertet. Das Ergebnis wird in AKKU 1 gespeichert und besteht aus zwei Ganzzahlen (16 Bit), dem Quotienten und dem Divisionsrest.
  • Seite 113 Festpunkt-Funktionen Beispiel Erläuterung EW10 //Der Wert von EW10 wird in AKKU1-L geladen. MW14 //Lade den Inhalt von AKKU1-L in AKKU2-L. Lade den Wert von MW14 in AKKU1- //Dividiere AKKU2-L durch AKKU1-L, speichere das Ergebnis in AKKU 1: AKKU1- L: Quotient, AKKU1-H: Divisionsrest MD20 //Der Inhalt von AKKU 1 (Ergebnis) wird nach MD20 transferiert.
  • Seite 114: Addiere Ganzzahlkonstante (16, 32 Bit)

    Festpunkt-Funktionen + Addiere Ganzzahlkonstante (16, 32 Bit) Format + <Ganzzahlkonstante> Operand Datentyp Beschreibung <Ganzzahlkonstante> Konstante, (16 bzw. 32 Bit) Konstante, die addiert werden soll Beschreibung + <Ganzzahlkonstante> addiert die Ganzzahlkonstante zum Inhalt von AKKU 1 und speichert das Ergebnis in AKKU 1. Die Operation wird ausgeführt, ohne die Statusbits zu berücksichtigen oder zu beeinflussen.
  • Seite 115 Festpunkt-Funktionen Beispiel 2 Erläuterung EW12 EW14 //Addiere AKKU1-L und 100, speichere das Ergebnis in AKKU 1-L. >I //Ist AKKU 2 > AKKU 1 bzw. gilt EW 12 > (EW14 + 100), SPB NEXT //dann springe zur Sprungmarke NEXT. Beispiel 3 Erläuterung MD20 MD24...
  • Seite 116: D Addiere Akku 1 Und 2 Als Ganzzahl (32 Bit)

    Festpunkt-Funktionen +D Addiere AKKU 1 und 2 als Ganzzahl (32 Bit) Format Beschreibung +D (Addiere Ganzzahlen, 32 Bit) addiert den Inhalt von AKKU 1 zum Inhalt von AKKU 2 und speichert das Ergebnis in AKKU 1. Die Inhalte von AKKU 1 und AKKU 2 werden als Ganzzahlen (32 Bit) ausgewertet.
  • Seite 117: D Subtrahiere Akku 1 Von 2 Als Ganzzahl (32 Bit)

    Festpunkt-Funktionen -D Subtrahiere AKKU 1 von 2 als Ganzzahl (32 Bit) Format Beschreibung -D (Subtrahiere Ganzzahlen, 32 Bit) subtrahiert den Inhalt von AKKU 1 vom Inhalt von AKKU 2 und speichert das Ergebnis in AKKU 1. Die Inhalte von AKKU 1 und AKKU 2 werden als Ganzzahlen (32 Bit) ausgewertet.
  • Seite 118: D Multipliziere Akku 1 Und 2 Als Ganzzahl (32 Bit)

    Festpunkt-Funktionen 7.10 *D Multipliziere AKKU 1 und 2 als Ganzzahl (32 Bit) Format Beschreibung *D (Multipliziere Ganzzahlen, 32 Bit) multipliziert den Inhalt von AKKU 1 mit dem Inhalt von AKKU 2. Die Inhalte von AKKU 1 und AKKU 2 werden als Ganzzahlen (32 Bit) ausgewertet.
  • Seite 119: D Dividiere Akku 2 Durch 1 Als Ganzzahl (32 Bit)

    Festpunkt-Funktionen 7.11 /D Dividiere AKKU 2 durch 1 als Ganzzahl (32 Bit) Format Beschreibung /D (Dividiere Ganzzahlen, 32 Bit) dividiert den Inhalt von AKKU 2 durch den Inhalt von AKKU1. Die Inhalte von AKKU 1 und AKKU 2 werden als Ganzzahlen (32 Bit) ausgewertet.
  • Seite 120 Festpunkt-Funktionen Beispiel: "13 dividiert durch 4" Inhalt von AKKU 2 vor der Operation (ED10): "13" Inhalt von AKKU 1 vor der Operation (MD14): "4" Operation /D (AKKU 2 / AKKU 1): "13/4" Inhalt von AKKU 1 nach der Operation (Quotient): "3"...
  • Seite 121: Mod Divisionsrest Ganzzahl (32 Bit)

    Festpunkt-Funktionen 7.12 MOD Divisionsrest Ganzzahl (32 Bit) Format Beschreibung MOD (Divisionsrest von Ganzzahlen, 32 Bit) dividiert den Inhalt von AKKU 2 durch den Inhalt von AKKU 1. Die Inhalte von AKKU 1 und AKKU 2 werden als Ganzzahlen (32 Bit) ausgewertet. Das Ergebnis wird in AKKU 1 gespeichert. Das Ergebnis enthält nur den Divisionsrest, nicht den Quotienten (mit der Operation /D erhalten Sie den Quotienten).
  • Seite 122 Festpunkt-Funktionen Beispiel: "13 dividiert durch 4" Inhalt von AKKU 2 vor der Operation (ED10): "13" Inhalt von AKKU 1 vor der Operation (MD14): "4" Operation /D (AKKU 2 / AKKU 1): "13/4" Inhalt von AKKU 1 nach der Operation (Divisionsrest): "1"...
  • Seite 123: Gleitpunkt-Funktionen

    Gleitpunkt-Funktionen Gleitpunkt-Funktionen Übersicht Beschreibung Gleitpunkt-Funktionen verknüpfen den Inhalt von AKKU 1 und 2 miteinander. Das Ergebnis wird in AKKU 1 abgelegt. Bei CPUs mit zwei Akkus bleibt der Inhalt von AKKU 2 unverändert. Bei CPUs mit vier Akkus werden die Inhalte von AKKU 3 in AKKU 2, und von AKKU 4 in AKKU 3 kopiert.
  • Seite 124: Auswerten Der Bits Im Statuswort Bei Gleitpunkt-Funktionen

    Gleitpunkt-Funktionen Auswerten der Bits im Statuswort bei Gleitpunkt- Funktionen Beschreibung Die Gleitpunkt-Funktionen beeinflussen die Bits A1, A0, OV und OS im Statuswort. Die folgenden Tabellen zeigen den Signalzustand der Bits im Statuswort für die Ergebnisse von Operationen mit Gleitpunktzahlen (32 Bit). Gültiger Bereich +0, -0 (Null) -3,402823E+38 <...
  • Seite 125: Grundoperationen

    Gleitpunkt-Funktionen Grundoperationen 8.3.1 +R Addiere AKKU 1 und 2 als Gleitpunktzahl (32 Bit) Format Beschreibung +R (Addiere Gleitpunktzahlen, 32-Bit, IEEE-FP) addiert den Inhalt von AKKU 1 zum Inhalt von AKKU 2 und speichert das Ergebnis in AKKU 1. Die Inhalte von AKKU 1 und AKKU 2 werden als Gleitpunktzahlen (32-Bit, IEEE-FP) ausgewertet.
  • Seite 126 Gleitpunkt-Funktionen Beispiel Erläuterung AUF DB10 ED10 //Der Wert von ED10 wird in AKKU 1 geladen. MD14 //Lade den Inhalt von AKKU 1 in AKKU 2. Lade den Wert von MD14 in AKKU 1. //Addiere AKKU 2 und AKKU 1, speichere das Ergebnis in AKKU 1. DBD25 //Der Inhalt von AKKU 1 (Ergebnis) wird nach DBD25 in DB10 transferiert.
  • Seite 127: R Subtrahiere Akku 1 Von 2 Als Gleitpunktzahl (32 Bit)

    Gleitpunkt-Funktionen 8.3.2 -R Subtrahiere AKKU 1 von 2 als Gleitpunktzahl (32 Bit) Format Beschreibung -R (Subtrahiere Gleitpunktzahlen, 32-Bit, IEEE-FP) subtrahiert den Inhalt von AKKU 1 vom Inhalt von AKKU 2 und speichert das Ergebnis in AKKU 1. Die Inhalte von AKKU 1 und AKKU 2 werden als Gleitpunktzahlen (32-Bit, IEEE-FP) ausgewertet.
  • Seite 128 Gleitpunkt-Funktionen Beispiel Erläuterung AUF DB10 ED10 //Der Wert von ED10 wird in AKKU 1 geladen. MD14 //Lade den Inhalt von AKKU 1 in AKKU 2. Lade den Wert von MD14 in AKKU 1. //Subtrahiere AKKU 2 von AKKU 1, speichere das Ergebnis in AKKU 1. DBD25 //Der Inhalt von AKKU 1 (Ergebnis) wird nach DBD25 in DB10 transferiert.
  • Seite 129: R Multipliziere Akku 1 Und 2 Als Gleitpunktzahl (32 Bit)

    Gleitpunkt-Funktionen 8.3.3 *R Multipliziere AKKU 1 und 2 als Gleitpunktzahl (32 Bit) Format Beschreibung *R (Multipliziere Gleitpunktzahlen, 32-Bit, IEEE-FP) multipliziert den Inhalt von AKKU 2 mit dem Inhalt von AKKU 1. Die Inhalte von AKKU 1 und AKKU 2 werden als Gleitpunktzahlen (32-Bit, IEEE-FP) ausgewertet.
  • Seite 130: R Dividiere Akku 2 Durch 1 Als Gleitpunktzahl (32 Bit)

    Gleitpunkt-Funktionen 8.3.4 /R Dividiere AKKU 2 durch 1 als Gleitpunktzahl (32 Bit) Format Beschreibung /R (Dividiere Gleitpunktzahlen, 32-Bit, IEEE-FP) dividiert den Inhalt von AKKU 2 durch den Inhalt von AKKU 1. Die Inhalte von AKKU 1 und AKKU 2 werden als Gleitpunktzahlen (32-Bit, IEEE-FP) ausgewertet.
  • Seite 131: Abs Absolutwert Einer Gleitpunktzahl (32 Bit, Ieee-Fp)

    Gleitpunkt-Funktionen 8.3.5 ABS Absolutwert einer Gleitpunktzahl (32 Bit, IEEE-FP) Format Beschreibung ABS (Absolutwert einer Gleitpunktzahl, 32-Bit, IEEE-FP) bildet den Absolutwert einer Gleitpunktzahl (32-Bit, IEEE-FP) in AKKU 1. Das Ergebnis wird in AKKU 1 gespeichert. Die Operation wird ausgeführt, ohne die Statusbits zu berücksichtigen oder zu beeinflussen.
  • Seite 132: Erweiterte Operationen

    Gleitpunkt-Funktionen Erweiterte Operationen 8.4.1 Bilden des Quadrats einer Gleitpunktzahl (32 Bit) Format Beschreibung SQR (Bilden des Quadrats einer Gleitpunktzahl, 32-Bit, IEEE-FP) berechnet das Quadrat einer Gleitpunktzahl (32-Bit, IEEE-FP) in AKKU 1. Das Ergebnis wird in AKKU 1 gespeichert. Die Operation beeinflußt die Bits A1, A0, OV und OS des Statusworts.
  • Seite 133: Sqrt Bilden Der Quadratwurzel Einer Gleitpunktzahl (32 Bit)

    Gleitpunkt-Funktionen 8.4.2 SQRT Bilden der Quadratwurzel einer Gleitpunktzahl (32 Bit) Format SQRT Beschreibung SQRT (Bilden der Quadratwurzel einer Gleitpunktzahl, 32-Bit, IEEE-FP) berechnet die Quadratwurzel einer Gleitpunktzahl (32-Bit, IEEE-FP) in AKKU 1. Das Ergebnis wird in AKKU 1 gespeichert. Der Eingangswert muß größer oder gleich Null sein. Das Ergebnis ist dann positiv.
  • Seite 134: Exp Bilden Des Exponentialwerts Einer Gleitpunktzahl (32 Bit)

    Gleitpunkt-Funktionen 8.4.3 Bilden des Exponentialwerts einer Gleitpunktzahl (32 Bit) Format Beschreibung EXP (Bilden des Exponentialwerts einer Gleitpunktzahl, 32-Bit, IEEE-FP) berechnet den Exponentialwert (Exponentialwert zur Basis e) einer Gleitpunktzahl (32-Bit, IEEE-FP) in AKKU 1. Das Ergebnis wird in AKKU 1 gespeichert. Die Operation beeinflußt die Bits A1, A0, OV und OS des Statusworts.
  • Seite 135: Ln Bilden Des Natürlichen Logarithmus Einer Gleitpunktzahl (32 Bit)

    Gleitpunkt-Funktionen 8.4.4 Bilden des natürlichen Logarithmus einer Gleitpunktzahl (32 Bit) Format Beschreibung LN (Bilden des natürlichen Logarithmus einer Gleitpunktzahl, 32-Bit, IEEE-FP) berechnet den natürlichen Logarithmus (Logarithmus zur Basis e) einer Gleitpunktzahl (32-Bit, IEEE-FP) in AKKU 1. Das Ergebnis wird in AKKU 1 gespeichert.
  • Seite 136: Sin Bilden Des Sinus Eines Winkels Als Gleitpunktzahlen (32 Bit)

    Gleitpunkt-Funktionen 8.4.5 Bilden des Sinus eines Winkels als Gleitpunktzahlen (32 Bit) Format Beschreibung SIN (Bilden des Sinus von Winkeln als Gleitpunktzahlen, 32-Bit, IEEE-FP) berechnet den Sinus von einem Winkel, der im Bogenmaß angegeben wird. Der Winkel muß als Gleitpunktzahl in AKKU 1 vorliegen. Das Ergebnis wird in AKKU 1 gespeichert.
  • Seite 137: Cos Bilden Des Cosinus Eines Winkels Als Gleitpunktzahlen (32 Bit)

    Gleitpunkt-Funktionen 8.4.6 Bilden des Cosinus eines Winkels als Gleitpunktzahlen (32 Bit) Format Beschreibung COS (Bilden des Cosinus von Winkeln als Gleitpunktzahlen, 32-Bit, IEEE-FP) berechnet den Cosinus von einem Winkel, der im Bogenmaß angegeben wird. Der Winkel muß als Gleitpunktzahl in AKKU 1 vorliegen. Das Ergebnis wird in AKKU 1 gespeichert.
  • Seite 138: Tan Bilden Des Tangens Eines Winkels Als Gleitpunktzahlen (32 Bit)

    Gleitpunkt-Funktionen 8.4.7 Bilden des Tangens eines Winkels als Gleitpunktzahlen (32 Bit) Format Beschreibung TAN (Bilden des Tangens von Winkeln als Gleitpunktzahlen, 32-Bit, IEEE-FP) berechnet den Tangens von einem Winkel, der im Bogenmaß angegeben wird. Der Winkel muß als Gleitpunktzahl in AKKU 1 vorliegen. Das Ergebnis wird in AKKU 1 gespeichert.
  • Seite 139: Asin Bilden Des Arcussinus Einer Gleitpunktzahl (32 Bit)

    Gleitpunkt-Funktionen 8.4.8 ASIN Bilden des Arcussinus einer Gleitpunktzahl (32 Bit) Format ASIN Beschreibung ASIN (Bilden des Arcussinus einer Gleitpunktzahl, 32-Bit, IEEE-FP) berechnet den Arcussinus einer Gleitpunktzahl in AKKU 1. Zulässiger Wertebereich für den Eingangswert: -1 <= Eingangswert <= +1 Das Ergebnis ist ein Winkel, der im Bogenmaß angegeben wird. Der Wert liegt in dem folgenden Bereich: - π...
  • Seite 140: Acos Bilden Des Arcuscosinus Einer Gleitpunktzahl (32 Bit)

    Gleitpunkt-Funktionen 8.4.9 ACOS Bilden des Arcuscosinus einer Gleitpunktzahl (32 Bit) Format ACOS Beschreibung ACOS (Bilden des Arcuscosinus einer Gleitpunktzahl, 32-Bit, IEEE-FP) berechnet den Arcuscosinus einer Gleitpunktzahl in AKKU 1. Zulässiger Wertebereich für den Eingangswert: -1 <= Eingangswert <= +1 Das Ergebnis ist ein Winkel, der im Bogenmaß angegeben wird. Der Wert liegt in dem folgenden Bereich: 0 <= Arcuscosinus (AKKU 1) <= π...
  • Seite 141: Atan Bilden Des Arcustangens Einer Gleitpunktzahl (32 Bit)

    Gleitpunkt-Funktionen 8.4.10 ATAN Bilden des Arcustangens einer Gleitpunktzahl (32 Bit) Format ATAN Beschreibung ATAN (Bilden des Arcustangens einer Gleitpunktzahl, 32-Bit, IEEE-FP) berechnet den Arcustangens einer Gleitpunktzahl in AKKU 1. Das Ergebnis ist ein Winkel, der im Bogenmaß angegeben wird. Der Wert liegt in dem folgenden Bereich: - π...
  • Seite 142 Gleitpunkt-Funktionen Anweisungsliste (AWL) für S7-300/400 8-20 A5E00706959-01...
  • Seite 143: Laden/Transferieren

    Laden/Transferieren Lade- und Transferoperationen Übersicht Beschreibung Die Lade- und Transferoperationen ermöglichen es Ihnen, den Informationsaustausch zwischen Ein- oder Ausgabebaugruppen und Speicherbereichen oder zwischen Speicherbereichen zu programmieren. Die CPU führt diese Operationen in jedem Zyklus als unbedingte Operationen aus, d. h. sie werden vom Verknüpfungsergebnis einer Operation nicht beeinflußt.
  • Seite 144: L Lade

    Laden/Transferieren L Lade Format L <Operand> Operand Datentyp Speicherbereich Quelladresse <Operand> BYTE E, A, PE, M, L, D, 0...65535 Pointer, Parameter WORD 0...65534 DWORD 0...65532 Beschreibung L <Operand> lädt den Inhalt des adressierten Bytes, Wortes oder Doppelwortes in AKKU 1, nachdem zuvor der alte Inhalt von AKKU 1 in AKKU 2 gespeichert wurde und AKKU 1 auf "0"...
  • Seite 145: Inhalt Von Akkumulator

    Laden/Transferieren Inhalt von Akkumulator 1 Inhalt von AKKU 1 AKKU1-H-H AKKU1-H-L AKKU1-L-H AKKU1-L-L vor Ausführung der Ladeoperation XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX nach Ausführung von L MB10 (L <Byte>) 00000000 00000000 00000000 <MB10> nach Ausführung von L MW10 (L <Wort>) 00000000 00000000 <MB10>...
  • Seite 146: L Stw Lade Statuswort In Akku 1

    Laden/Transferieren L STW Lade Statuswort in AKKU 1 Format L STW Beschreibung L STW (Operation L mit dem Operand STW) lädt AKKU 1 mit dem Inhalt des Statusworts. Die Operation wird ausgeführt, ohne die Statusbits zu berücksichtigen oder zu beeinflussen. Hinweis Bei den CPUs der Familie S7-300 werden die Bits des Statusworts /ER, STA und OR nicht durch die Anweisung L STW geladen.
  • Seite 147: Lar1 Lade Adreßregister 1 Mit Inhalt Von Akku 1

    Laden/Transferieren LAR1 Lade Adreßregister 1 mit Inhalt von AKKU 1 Format LAR1 Beschreibung LAR1 lädt das Adreßregister AR1 mit dem Inhalt von AKKU 1 (32 Bit-Pointer). AKKU 1 und AKKU 2 werden nicht verändert. Die Operation wird ausgeführt, ohne die Statusbits zu berücksichtigen oder zu beeinflussen. Statuswort schreibt: - Anweisungsliste (AWL) für S7-300/400...
  • Seite 148: Lar1 Lade Adreßregister 1 Mit Pointer (32 Bit-Format)

    Laden/Transferieren LAR1 <D> Lade Adreßregister 1 mit Pointer (32 Bit-Format) Format LAR1 <D> Operand Datentyp Speicherbereich Quelladresse <D> DWORD D, M, L 0...65532 Pointerkonstante Beschreibung LAR1 <D> lädt das Adreßregister AR1 mit dem Inhalt des adressierten Doppelworts <D> oder einer Pointerkonstante. AKKU 1 und AKKU 2 werden nicht verändert.
  • Seite 149: Lar1 Ar2 Lade Adreßregister 1 Mit Inhalt Von Adressregister 2

    Laden/Transferieren LAR1 AR2 Lade Adreßregister 1 mit Inhalt von Adressregister 2 Format LAR1 AR2 Beschreibung LAR1 AR2 (Operation LAR1 mit dem Operand AR2) lädt das Adreßregister AR1 mit dem Inhalt von Adreßregister AR2. AKKU 1 und AKKU 2 werden nicht verändert.
  • Seite 150: Lar2 Lade Adreßregister 2 Mit Ganzzahl (32 Bit)

    Laden/Transferieren LAR2 <D> Lade Adreßregister 2 mit Ganzzahl (32 Bit) Format LAR2 <D> Operand Datentyp Speicherbereich Quelladresse <D> DWORD D, M, L 0...65532 Pointerkonstante Beschreibung LAR2 <D> lädt das Adreßregister AR 2 mit dem Inhalt des adressierten Doppelworts <D> oder einer Pointerkonstante. AKKU 1 und AKKU 2 werden nicht verändert.
  • Seite 151: T Transferiere

    Laden/Transferieren T Transferiere Format T <Operand> Operand Datentyp Speicherbereich Quelladresse <Operand> BYTE E, A, PA, M, L, D 0...65535 WORD 0...65534 DWORD 0...65532 Beschreibung T <Operand> transferiert (kopiert) bei eingeschaltetem Master Control Relay (MCR = 1) den Inhalt von AKKU 1 in die Zieladresse. Bei MCR = 0 wird der Wert "0"...
  • Seite 152: T Stw Transferiere Akku 1 In Statuswort

    Laden/Transferieren 9.10 T STW Transferiere AKKU 1 in Statuswort Format T STW Beschreibung T STW (Operation T mit dem Operand STW) transferiert Bit 0 bis Bit 8 von AKKU 1 in das Statuswort. Die Operation wird ausgeführt, ohne die Statusbits zu berücksichtigen. Statuswort schreibt: x Beispiel...
  • Seite 153: Tar Tausche Adreßregister 1 Mit 2

    Laden/Transferieren 9.11 TAR Tausche Adreßregister 1 mit 2 Format Beschreibung TAR (Tausche Adreßregister) tauscht die Inhalte der Adreßregister AR 1 und AR 2. Die Operation wird ausgeführt, ohne die Statusbits zu berücksichtigen oder zu beeinflussen. Der Inhalt von Adreßregister AR 1 wird verschoben in Adreßregister AR 2 und der Inhalt von Adreßregister AR 2 wird verschoben in Adreßregister AR 1.
  • Seite 154: Tar1 Transferiere Adreßregister 1 Nach Zieladresse (32-Bit-Pointer)

    Laden/Transferieren 9.13 TAR1 <D> Transferiere Adreßregister 1 nach Zieladresse (32-Bit-Pointer) Format TAR1 <D> Operand Datentyp Speicherbereich Quelladresse <D> DWORD D, M, L 0...65532 Beschreibung TAR1 <D> transferiert den Inhalt von Adreßregister AR 1 in das adressierte Doppelwort <D>. Als Zielbereiche sind Merkerdoppelwörter (MD), Lokaldaten- Doppelwörter (LD), Datendoppelwörter (DBD) und Instanzdoppelwörter (DID) möglich.
  • Seite 155: Tar1 Ar2 Transferiere Adreßregister 1 In Adreßregister 2

    Laden/Transferieren 9.14 TAR1 AR2 Transferiere Adreßregister 1 in Adreßregister 2 Format TAR1 AR2 Beschreibung TAR1 AR2 (Operation TAR1 mit dem Operand AR2) transferiert den Inhalt von Adreßregister AR 1 in Adreßregister AR 2. AKKU 1 und AKKU 2 werden nicht verändert. Die Operation wird ausgeführt, ohne die Statusbits zu berücksichtigen oder zu beeinflussen.
  • Seite 156: Tar2 Transferiere Adreßregister 2 Nach Zieladresse (32-Bit-Pointer)

    Laden/Transferieren 9.16 TAR2 <D> Transferiere Adreßregister 2 nach Zieladresse (32-Bit-Pointer) Format TAR2 <D> Operand Datentyp Speicherbereich Quelladresse <D> DWORD D, M, L 0...65532 Beschreibung TAR2 <D> transferiert den Inhalt von Adreßregister AR 2 in das adressierte Doppelwort <D>. Als Zielbereiche sind Merkerdoppelwörter (MD), Lokaldaten- Doppelwörter (LD), Datendoppelwörter (DBD) und Instanzdoppelwörter (DID) möglich.
  • Seite 157: Programmsteuerung

    Programmsteuerung 10.1 Programmsteuerungsoperationen Übersicht Beschreibung Folgende Operationen stehen Ihnen zur Programmsteuerung zur Verfügung: • BE Bausteinende • BEB Bausteinende bedingt • BEA Bausteinende absolut • CALL Bausteinaufruf • CC Bedingter Bausteinaufruf • UC Unbedingter Bausteinaufruf • FB aufrufen • FC aufrufen •...
  • Seite 158: Be Bausteinende

    Programmsteuerung 10.2 BE Bausteinende Format Beschreibung BE (Bausteinende) unterbricht den Programmablauf im aktuellen Baustein und springt zu dem Baustein, der den aktuellen Baustein aufgerufen hat. Der Programmablauf wird mit der ersten Anweisung nach dem Bausteinaufruf fortgesetzt. Der aktuelle Lokaldatenbereich wird freigegeben und der vorherige Lokaldatenbereich wird zum aktuellen Lokaldatenbereich.
  • Seite 159: Beb Bausteinende Bedingt

    Programmsteuerung 10.3 BEB Bausteinende bedingt Format Beschreibung Wenn VKE = 1, dann unterbricht BEB (Bausteinende bedingt) den Programmablauf im aktuellen Baustein und springt zu dem Baustein, der den aktuellen Baustein aufgerufen hat. Der Programmablauf wird mit der ersten Anweisung nach dem Bausteinaufruf fortgesetzt. Der aktuelle Lokaldatenbereich wird freigegeben und der vorherige Lokaldatenbereich wird zum aktuellen Lokaldatenbereich.
  • Seite 160: Bea Bausteinende Absolut

    Programmsteuerung 10.4 BEA Bausteinende absolut Format Beschreibung BEA (Bausteinende absolut) unterbricht den Programmablauf im aktuellen Baustein und springt zu dem Baustein, der den aktuellen Baustein aufgerufen hat. Der Programmablauf wird mit der ersten Anweisung nach dem Bausteinaufruf fortgesetzt. Der aktuelle Lokaldatenbereich wird freigegeben und der vorherige Lokaldatenbereich wird zum aktuellen Lokaldatenbereich.
  • Seite 161: Call Bausteinaufruf

    Beschreibung CALL <Kennung des Codebausteins> dient zum Aufruf von Funktionen (FCs) und Funktionsbausteinen (FBs) beziehungsweise zum Aufruf der von Siemens gelieferten Standardfunktionen (SFCs) und Standardfunktionsbausteinen (SFBs). Die Operation CALL ruft die FC und SFC oder den FB und SFB auf, die oder den Sie als Operanden eingeben, unabhängig vom VKE oder einer anderen...
  • Seite 162: Übertragen Von Parametern (Arbeiten Sie Hierzu Im Inkrementellen Bearbeitungsmodus)

    Programmsteuerung Übertragen von Parametern (arbeiten Sie hierzu im inkrementellen Bearbeitungsmodus) Der aufrufende Baustein kann mit dem aufgerufenen Baustein über die Variablenliste Parameter austauschen. Die Variablenliste wird in Ihrem AWL-Programm automatisch ergänzt, wenn Sie eine gültige Anweisung CALL eingeben. Wenn Sie einen FB bzw. einen SFB oder eine FC bzw. eine SFC aufrufen und die Variablendeklarationstabelle des aufgerufenen Bausteins über Deklarationen vom Typ IN, OUT und IN_OUT verfügt, werden diese Variablen im Programm des aufrufenden Bausteins als Liste der Formalparameter ergänzt.
  • Seite 163: Beispiel 2: Aufruf Einer Sfc Ohne Parameter

    Programmsteuerung Beispiel 2: Aufruf einer SFC ohne Parameter CALL SFC43 //Rufe SFC43 auf, um die Zeitüberwachung neu zu starten (ohne Parameter). Beispiel 3: Aufruf des FB99 mit Instanz-Datenbaustein DB1 CALL FB99,DB16 Formalparameter Aktualparameter MAX_RPM := #RPM1_MAX MIN_RPM := #RPM1 MAX_POWER := #POWER1 MAX_TEMP := #TEMP1...
  • Seite 164: Fb Aufrufen

    Programmsteuerung 10.6 FB aufrufen Format CALL FB n1, DB n1 Beschreibung Die Operation dient zum Aufruf von selbsterstellten Funktionsbausteinen (FBs). Die Operation CALL ruft den FB auf, den Sie als Operanden eingeben haben, unabhängig vom VKE oder einer anderen Bedingung. Wenn Sie einen FB mit CALL aufrufen, müssen Sie ihn mit einem Instanz-Datenbaustein versehen.
  • Seite 165: Beispiel 1: Aufruf Des Fb99 Mit Instanz-Datenbaustein Db1

    Programmsteuerung Beispiel 1: Aufruf des FB99 mit Instanz-Datenbaustein DB1 CALL FB99,DB1 Formalparameter Aktualparameter MAX_RPM := #RPM1_MAX MIN_RPM := #RPM1 MAX_POWER := #POWER1 MAX_TEMP := #TEMP1 Beispiel 2: Aufruf des FB99 mit Instanz-Datenbaustein DB2 CALL FB99,DB2 Formalparameter Aktualparameter MAX_RPM := #RPM2_MAX MIN_RPM := #RPM2 MAX_POWER...
  • Seite 166: Fc Aufrufen

    Programmsteuerung 10.7 FC aufrufen Format CALL FC n Hinweis Wenn Sie mit dem AWL-Editor arbeiten, muß sich die Angabe (n) auf bereits vorhandene gültige Bausteine beziehen. Die symbolischen Namen müssen Sie ebenfalls vorher definieren. Beschreibung Die Operation dient zum Aufruf von Funktionen (FCs). Die Operation CALL ruft die FC auf, die Sie als Operanden eingeben, unabhängig vom VKE oder einer anderen Bedingung.
  • Seite 167: Beispiel: Zuordnung Von Parametern Zu Dem Aufruf Der Funktion Fc6

    Programmsteuerung Statuswort schreibt: - Beispiel: Zuordnung von Parametern zu dem Aufruf der Funktion FC6 CALL Formalparameter Aktualparameter NO OF TOOL := MW100 TIME OUT := MW110 FOUND := A 0.1 ERROR := A 100.0 Anweisungsliste (AWL) für S7-300/400 10-11 A5E00706959-01...
  • Seite 168: Sfb Aufrufen

    Format CALL SFB n1, DB n2 Beschreibung Die Operation dient zum Aufruf der von Siemens gelieferten Standardfunktionsbausteine (SFBs). Die Operation CALL ruft die SFB auf, die Sie als Operanden eingeben, unabhängig vom VKE oder einer anderen Bedingung. Wenn Sie einen SFB mit CALL aufrufen, müssen Sie ihn mit einem Instanz- Datenbaustein versehen.
  • Seite 169 Programmsteuerung Beispiel CALL SFB4,DB4 Formalparameter Aktualparameter E0.1 T#20s M0.0 MW10 Hinweis Jeder Aufruf eines SFBs muß über einen Instanz-Datenbaustein verfügen. In dem obigen Beispiel müssen die Bausteine SFB4 und DB4 vor dem Aufruf vorhanden sein. Anweisungsliste (AWL) für S7-300/400 10-13 A5E00706959-01...
  • Seite 170: Sfc Aufrufen

    Namen müssen Sie ebenfalls vorher definieren. Beschreibung Die Operation dient zum Aufruf von Siemens gelieferten Standardfunktionen (SFCs). Die Operation CALL ruft die SFC auf, die Sie als Operanden eingeben, unabhängig vom VKE oder einer anderen Bedingung. Nach der Bearbeitung des aufgerufenen Bausteins wird das Programm des aufrufenden Bausteins weiterbearbeitet.
  • Seite 171: Beispiel: Aufruf Einer Sfc Ohne Parameter

    Programmsteuerung Statuswort schreibt: - Beispiel: Aufruf einer SFC ohne Parameter Erläuterung CALL SFC43 //Rufe SFC43 auf, um die Zeitüberwachung neu zu starten (ohne Parameter). Anweisungsliste (AWL) für S7-300/400 10-15 A5E00706959-01...
  • Seite 172: Multiinstanz Aufrufen

    Programmsteuerung 10.10 Multiinstanz aufrufen Format CALL # Variablenname Beschreibung Eine Multiinstanz entsteht durch die Deklaration einer statischen Variable vom Datentyp eines Funktionsbausteins. Nur bereits deklarierte Multiinstanzen werden im Programmelementekatalog aufgeführt. Statuswort schreibt: - 10.11 Baustein aus einer Bibliothek aufrufen Die im SIMATIC Manager bekannten Bibliotheken werden Ihnen im Programmelemente-Katalog zur Auswahl angeboten.
  • Seite 173: Cc Bedingter Bausteinaufruf

    Programmsteuerung 10.12 CC Bedingter Bausteinaufruf Format CC <Kennung des Codebausteins> Beschreibung CC <Kennung des Codebausteins> (bedingter Bausteinaufruf) ruft bei VKE = 1 einen Codebaustein vom Typ FC oder FB ohne Parameter auf. Die Operation CC gleicht der Operation CALL, mit dem Unterschied, daß keine Parameter übergeben werden können.
  • Seite 174: Uc Unbedingter Bausteinaufruf

    Programmsteuerung 10.13 UC Unbedingter Bausteinaufruf Format UC <Kennung des Codebausteins> Beschreibung UC <Kennung des Codebausteins> (unbedingter Bausteinaufruf) ruft einen Codebaustein vom Typ FC, FB, SFC oder SFB auf. Die Operation UC gleicht der Operation CALL, mit dem Unterschied, daß keine Parameter übergeben werden können.
  • Seite 175: Das Master Control Relay

    Programmsteuerung 10.14 Das Master Control Relay Wichtige Hinweise zur Benutzung der MCR-Funktionalität Warnung Um das Risiko möglicher Personen- oder Sachschäden auszuschließen, verwenden Sie das MCR niemals als Ersatz für ein festverdrahtetes, mechanisches Master Control Relay, das als NOT-AUS-Einrichtung dient. Definition des Master Control Relay (MCR) Das Master Control Relay wird in Relais-Kontaktplänen für das Aktivieren und Deaktivieren des Signalflusses verwendet.
  • Seite 176 Programmsteuerung MCRA - Aktiviere MCR-Bereich, MCRD - Deaktiviere MCR-Bereich Die Operationen MCRA und MCRD müssen immer paarweise verwendet werden. Anweisungen, die zwischen MCRA und MCRD programmiert sind, sind vom Status des MCR-Bits abhängig. Die Anweisungen, die sich außerhalb einer MCRA-MCRD-Folge befinden, sind nicht vom Status des MCR-Bits abhängig. Bei Aufruf von FCs und FBs müssen Sie die MCR-Abhängigkeit in diesen Bausteinen programmieren.
  • Seite 177: Wichtige Hinweise Zur Benutzung Der Mcr-Funktionalität

    Programmsteuerung 10.15 Wichtige Hinweise zur Benutzung der MCR- Funktionalität Vorsicht bei Bausteinen, in denen mit MCRA das Master Control Relay aktiviert wurde: • Wenn das MCR abgeschaltet ist, wird in Programmabschnitten zwischen MCR( und )MCR durch alle Zuweisungen (T, =) der Wert 0 geschrieben! •...
  • Seite 178: Mcr

    Programmsteuerung 10.16 MCR( Sichere VKE im MCR-Stack, Beginn MCR-Bereich Wichtige Hinweise zur Benutzung der MCR-Funktionalität Format MCR( Beschreibung MCR( (Öffne einen MCR-Bereich) speichert das VKE im MCR-Stack und öffnet einen MCR-Bereich. MCR-Bereich: Anweisungen zwischen der Operation MCR( und der dazugehörigen Operation )MCR. Die Operationen MCR( und )MCR müssen immer paarweise verwendet werden.
  • Seite 179 Programmsteuerung Beispiel Erläuterung MCRA //Aktiviere MCR-Bereich. E 1.0 MCR( //Speichere das VKE im MCR-Stack, öffne einen MCR-Bereich. Das MCR ist "EIN", wenn das VKE = 1 (E 1.0 = 1) ist. Das MCR ist "AUS", wenn das VKE = 0 (E 1.0 = 0) ist. E 4.0 A 8.0 //Wenn das MCR = "AUS"...
  • Seite 180: Mcr Beende Mcr-Bereich

    Programmsteuerung 10.17 )MCR Beende MCR-Bereich Wichtige Hinweise zur Benutzung der MCR-Funktionalität Format )MCR Beschreibung )MCR (Beende einen MCR-Bereich) löscht einen Eintrag aus dem MCR-Stack und beendet einen MCR-Bereich. Der letzte Eintrag des MCR-Stacks wird frei und auf "1" gesetzt. Die Operationen MCR( und )MCR müssen immer paarweise verwendet werden.
  • Seite 181: Mcra Aktiviere Mcr-Bereich

    Programmsteuerung 10.18 MCRA Aktiviere MCR-Bereich Wichtige Hinweise zur Benutzung der MCR-Funktionalität Format MCRA Beschreibung MCRA (Aktivierung des Master Control Relay) schaltet die MCR-Abhängigkeit für die Anweisungen ein, die dieser Operation folgen. Die Operationen MCRA und MCRD (Deaktivierung des Master Control Relay) müssen immer paarweise verwendet werden.
  • Seite 182: Mcrd Deaktiviere Mcr-Bereich

    Programmsteuerung 10.19 MCRD Deaktiviere MCR-Bereich Wichtige Hinweise zur Benutzung der MCR-Funktionalität Format MCRD Beschreibung MCRD (Deaktivierung des Master Control Relay) schaltet die MCR-Abhängigkeit für die Anweisungen aus, die dieser Operation folgen. Die Operationen MCRD und MCRA (Aktivierung des Master Control Relay) müssen immer paarweise verwendet werden.
  • Seite 183: Schieben/Rotieren

    Schieben/Rotieren 11.1 Schiebeoperationen 11.1.1 Schiebeoperationen Übersicht Beschreibung Mit den Schiebeoperationen können Sie den Inhalt des niederwertigen Worts von AKKU 1 oder den Inhalt des gesamten Akkumulators bitweise nach links oder rechts schieben (siehe auch CPU-Register). Ein Schieben um n Bits nach links multipliziert den Akkumulatorinhalt mit 2 hoch n;...
  • Seite 184: Ssi Schiebe Vorzeichen Rechts Ganzzahl (16 Bit)

    Schieben/Rotieren 11.1.2 Schiebe Vorzeichen rechts Ganzzahl (16 Bit) Formate SSI <Anzahl> Operand Datentyp Beschreibung <Anzahl> Ganzzahl, vorzeichenlos Anzahl der Bitstellen, um die geschoben werden soll; Bereich von 0 bis 15 Beschreibung SSI (Schiebe Ganzzahl vorzeichenrichtig nach rechts) schiebt nur den Inhalt von AKKU1-L bitweise nach rechts.
  • Seite 185: Beispiele

    Schieben/Rotieren Beispiele Inhalt AKKU1-H AKKU1-L 31 ..16 15 ..0 vor Ausführung von SSI 6 0101 1111 0110 0100 1001 1101 0011 1011 nach Ausführung von SSI 6 0101 1111 0110 0100 1111...
  • Seite 186: Ssd Schiebe Vorzeichen Rechts Ganzzahl (32 Bit)

    Schieben/Rotieren 11.1.3 SSD Schiebe Vorzeichen rechts Ganzzahl (32 Bit) Formate SSD <Anzahl> Operand Datentyp Beschreibung <Anzahl> Ganzzahl, vorzeichenlos Anzahl der Bitstellen, um die geschoben werden soll; Bereich von 0 bis 32 Beschreibung SSD (Schiebe Ganzzahl, 32 Bit, vorzeichenrichtig nach rechts) schiebt den gesamten Inhalt von AKKU 1 bitweise nach rechts.
  • Seite 187 Schieben/Rotieren Beispiele Inhalt AKKU1-H AKKU1-L 31 ..16 15 ..0 vor Ausführung von SSD 7 1000 1111 0110 0100 0101 1101 0011 1011 nach Ausführung von SSD 7 1111 1111 0001...
  • Seite 188: Slw Schiebe Links Wort (16 Bit)

    Schieben/Rotieren 11.1.4 SLW Schiebe links Wort (16 Bit) Formate SLW <Anzahl> Operand Datentyp Beschreibung <Anzahl> Ganzzahl, vorzeichenlos Anzahl der Bitstellen, um die geschoben werden soll; Bereich von 0 bis 32 Beschreibung SLW (Schiebe links Wort) schiebt nur den Inhalt von AKKU1-L bitweise nach links. In die Bitstellen, die durch das Schieben frei werden, werden Nullen geschrieben.
  • Seite 189 Schieben/Rotieren Beispiele Inhalt AKKU1-H AKKU1-L 31 ..16 15 ..0 vor Ausführung von SLW 5 0101 1111 0110 0100 0101 1101 0011 1011 nach Ausführung von SLW 5 0101 1111 0110 0100...
  • Seite 190: Srw Schiebe Rechts Wort (16 Bit)

    Schieben/Rotieren 11.1.5 SRW Schiebe rechts Wort (16 Bit) Formate SRW <Anzahl> Operand Datentyp Beschreibung <Anzahl> Ganzzahl, vorzeichenlos Anzahl der Bitstellen, um die geschoben werden soll; Bereich von 0 bis 15 Beschreibung SRW (Schiebe rechts Wort) schiebt nur den Inhalt von AKKU1-L bitweise nach rechts.
  • Seite 191 Schieben/Rotieren Beispiele Inhalt AKKU1-H AKKU1-L 31 ..16 15 ..0 vor Ausführung von SRW 6 0101 1111 0110 0100 0101 1101 0011 1011 nach Ausführung von SRW 6 0101 1111 0110 0100...
  • Seite 192: Sld Schiebe Links Doppelwort (32 Bit)

    Schieben/Rotieren 11.1.6 SLD Schiebe links Doppelwort (32 Bit) Formate SLD <Anzahl> Operand Datentyp Beschreibung <Anzahl> Ganzzahl, vorzeichenlos Anzahl der Bitstellen, um die geschoben werden soll; Bereich von 0 bis 32 Beschreibung SLD (Schiebe links Doppelwort) schiebt den gesamten Inhalt von AKKU 1 bitweise nach links.
  • Seite 193 Schieben/Rotieren Beispiele Inhalt AKKU1-H AKKU1-L 31 ..16 15 ..0 vor Ausführung von SLD 5 0101 1111 0110 0100 0101 1101 0011 1011 nach Ausführung von SLD 5 1110 1100 1000...
  • Seite 194: Srd Schiebe Rechts Doppelwort (32 Bit)

    Schieben/Rotieren 11.1.7 SRD Schiebe rechts Doppelwort (32 Bit) Formate SRD <Anzahl> Operand Datentyp Beschreibung <Anzahl> Ganzzahl, vorzeichenlos Anzahl der Bitstellen, um die geschoben werden soll; Bereich von 0 bis 32 Beschreibung SRD (Schiebe rechts Doppelwort) schiebt den gesamten Inhalt von AKKU 1 bitweise nach rechts.
  • Seite 195 Schieben/Rotieren Beispiele Inhalt AKKU1-H AKKU1-L 31 ..16 15 ..0 vor Ausführung von SRD 7 0101 1111 0110 0100 0101 1101 0011 1011 nach Ausführung von SRD 7 0000 0000 1011 1110...
  • Seite 196: Rotieroperationen

    Schieben/Rotieren 11.2 Rotieroperationen 11.2.1 Rotieroperationen Übersicht Beschreibung Mit den Rotieroperationen können Sie den gesamten Inhalt von AKKU 1 bitweise nach rechts oder links rotieren. Die frei gewordenen Stellen werden mit den Signalzuständen der Bits aufgefüllt, die aus dem Akkumulator geschoben werden. Die Zahl, die auf eine Rotieroperation folgt oder ein Wert im niederwertigen Byte des niederwertigen Worts von AKKU 2 gibt an, um wie viele Bits rotiert werden soll.
  • Seite 197 Schieben/Rotieren Beschreibung RLD (Rotiere links Doppelwort) rotiert den gesamten Inhalt von AKKU 1 bitweise nach links. In die Bitstellen, die durch das Rotieren frei werden, werden die Signalzustände der Bits geschrieben, die aus dem AKKU 1 geschoben werden. Das zuletzt rotierte Bit wird in das Statusbit A1 geladen. Die Anzahl an Bitstellen, um die rotiert werden soll, wird entweder von dem Operanden <Anzahl>...
  • Seite 198: Rrd Rotiere Rechts Doppelwort (32 Bit)

    Schieben/Rotieren 11.2.3 RRD Rotiere rechts Doppelwort (32 Bit) Formate RRD <Anzahl> Operand Datentyp Beschreibung <Anzahl> Ganzzahl, vorzeichenlos Anzahl der Bitstellen, um die rotiert werden soll; Bereich von 0 bis 32 Beschreibung RRD (Rotiere rechts Doppelwort) rotiert den gesamten Inhalt von AKKU 1 bitweise nach rechts.
  • Seite 199 Schieben/Rotieren Beispiele Inhalt AKKU1-H AKKU1-L 31 ..16 15 ..0 vor Ausführung von RRD 4 0101 1111 0110 0100 0101 1101 0011 1011 nach Ausführung von RRD 4 1011 0101 1111...
  • Seite 200: Rlda Rotiere Akku 1 Links Über A1-Anzeige (32 Bit)

    Schieben/Rotieren 11.2.4 RLDA Rotiere Akku 1 links über A1-Anzeige (32 Bit) Format RLDA Beschreibung RLDA (Rotiere links Doppelwort über A1) rotiert den Inhalt von AKKU 1 um eine Bitposition nach links herum durch das Anzeigebit A1. Die Statusbits A0 und OV werden auf "0"...
  • Seite 201: Rrda Rotiere Akku 1 Rechts Über A1-Anzeige (32 Bit)

    Schieben/Rotieren 11.2.5 RRDA Rotiere Akku 1 rechts über A1-Anzeige (32 Bit) Format RRDA Beschreibung RRDA (Rotiere rechts Doppelwort über A1) rotiert den Inhalt von AKKU1 um eine Bitposition nach rechts herum durch das Anzeigebit A1. Die Statusbits A0 und OV werden auf "0" zurückgesetzt. Statuswort schreibt: - Beispiele...
  • Seite 202 Schieben/Rotieren Anweisungsliste (AWL) für S7-300/400 11-20 A5E00706959-01...
  • Seite 203: Zeiten

    Zeiten 12.1 Zeitoperationen Übersicht Beschreibung Unter "Speicherbereiche und Komponenten einer Zeit" finden Sie Informationen zum Einstellen und zur Auswahl der richtigen Zeit. Folgende Zeitoperationen stehen Ihnen zur Verfügung: • FR Freigabe Timer • L Lade aktuellen Zeitwert als Ganzzahl in AKKU 1 •...
  • Seite 204: Speicherbereiche Und Komponenten Einer Zeit

    Zeiten 12.2 Speicherbereiche und Komponenten einer Zeit Speicherbereich Zeiten haben einen eigenen reservierten Speicherbereich in Ihrer CPU. Dieser Speicherbereich reserviert ein 16-Bit-Wort für jeden Zeitoperanden. Das Programmieren mit FUP unterstützt 256 Zeiten. Wie viele Zeitworte in Ihrer CPU zur Verfügung stehen, entnehmen Sie bitte deren technischen Daten. Folgende Funktionen greifen auf den Speicherbereich der Zeiten zu: •...
  • Seite 205: Bit-Konfiguration In Akku

    Zeiten Zeitbasis Die Bits 12 und 13 des Timerworts enthalten die Zeitbasis binär-codiert. Die Zeitbasis definiert das Intervall, in dem der Zeitwert um eine Einheit vermindert wird. Die kleinste Zeitbasis beträgt 10 ms, die größte 10 s. Zeitbasis Binärcode für Zeitbasis 10 ms 100 ms 10 s...
  • Seite 206: Auswahl Der Richtigen Zeit

    Zeiten Auswahl der richtigen Zeit Die Übersicht über die 5 verschiedenen Zeiten soll Ihnen helfen, die für Ihre Zwecke adäquate Zeit auszuwählen. E 0.0 A 4.0 SI A 4.0 SV A 4.0 SE A 4.0 SS A 4.0 SA Zeiten Erklärung Die maximale Zeit, in der das Ausgangssignal auf "1"...
  • Seite 207: Fr Freigabe Timer

    Zeiten 12.3 FR Freigabe Timer Format FR <Zeit> Operand Datentyp Speicherbereich Beschreibung <Zeit> TIMER Nummer der Zeit; Bereich hängt von der CPU ab Beschreibung FR <Zeit> löscht den Flankenmerker, der für das Starten der adressierten Zeit verwendet wird, wenn das VKE von "0" auf "1" wechselt. Ein Wechsel des VKE-Bits von "0"...
  • Seite 208 Zeiten Beispiel Erläuterung E 2.0 //Gib die Zeit T1 frei. E 2.1 S5T#10s //Richte eine Voreinstellung von 10 Sekunden in AKKU 1 ein. //Starte die Zeit T1 als Impuls. E 2.2 //Setze Zeit T1 zurück. //Frage den Signalzustand der Zeit T1 ab. A 4.0 //Lade den aktuellen Zeitwert der Zeit T1 als Binärzahl.
  • Seite 209: L Lade Aktuellen Zeitwert Als Ganzzahl In Akku 1

    Zeiten 12.4 L Lade aktuellen Zeitwert als Ganzzahl in AKKU 1 Format L <Zeit> Operand Datentyp Speicherbereich Beschreibung <Zeit> TIMER Nummer der Zeit; Bereich hängt von der CPU ab Beschreibung L <Zeit> lädt den aktuellen Zeitwert aus dem adressierten Timerwort ohne Zeitbasis als binäre Ganzzahl in den AKKU1-L, nachdem zuvor der Inhalt von AKKU 1 in AKKU 2 geladen wurde.
  • Seite 210 Zeiten Beispiel Erläuterung //Lade AKKU1-L mit dem aktuellen Zeitwert der Zeit T1 im Binärcode. Timerwort für die Zeit T1 im Speicher Zeitbasis Zeitwert (0 bis 999) binär-codiert 00 = 10 ms 01 = 100 ms 10 = 1 s 11 = 10 s Inhalt von AKKU 1-L nach der...
  • Seite 211: Lc Lade Aktuellen Zeitwert Als Bcd In Akku 1

    Zeiten 12.5 LC Lade aktuellen Zeitwert als BCD in AKKU 1 Format LC <Zeit> Operand Datentyp Speicherbereich Beschreibung <Zeit> TIMER Nummer der Zeit; Bereich hängt von der CPU ab Beschreibung LC <Zeit> lädt den aktuellen Zeitwert und die Zeitbasis aus dem adressierten Timerwort als binär-codierte Dezimalzahl (BCD) in AKKU 1, nachdem zuvor der Inhalt von AKKU 1 in AKKU 2 geladen wurde.
  • Seite 212 Zeiten Beispiel Erläuterung //Lade AKKU1-L mit der Zeitbasis und dem aktuellen Zeitwert der Zeit T1 im BCD-Format in AKKU1-L. Timerwort für die Zeit T1 im Speicher Zeitbasis Zeitwert (0 bis 999) binär-codiert 00 = 10 ms 01 = 100 ms LC T1 10 = 1 s 11 = 10 s...
  • Seite 213: R Rücksetze Timer

    Zeiten 12.6 R Rücksetze Timer Format R <Zeit> Operand Datentyp Speicherbereich Beschreibung <Zeit> TIMER Nummer der Zeit; Bereich hängt von der CPU ab Beschreibung R <Zeit> beendet die aktuelle Zeitfunktion und löscht den Zeitwert und die Zeitbasis des adressierten Timerworts, wenn das VKE von "0" nach "1" wechselt. Auch wenn die Zeit nicht gestartet wird (VKE=0), muß...
  • Seite 214: Si Zeit Als Impuls

    Zeiten 12.7 SI Zeit als Impuls Format SI <Zeit> Operand Datentyp Speicherbereich Beschreibung <Zeit> TIMER Nummer der Zeit; Bereich hängt von der CPU ab Beschreibung SI <Zeit> startet die adressierte Zeit, wenn das VKE von "0" auf "1" wechselt. Die programmierte Zeitdauer läuft ab, solange das VKE = 1 ist.
  • Seite 215 Zeiten Beispiel Erläuterung E 2.0 //Gib die Zeit T1 frei. E 2.1 S5T#10s //Richte eine Voreinstellung von 10 Sekunden in AKKU 1 ein. //Starte die Zeit T1 als Impuls. E 2.2 //Setze die Zeit T1 zurück. //Frage den Signalzustand der Zeit T1 ab. A 4.0 //Lade den aktuellen Zeitwert der Zeit T1 als Binärzahl.
  • Seite 216: Sv Zeit Als Verlängerter Impuls

    Zeiten 12.8 SV Zeit als verlängerter Impuls Format SV <Zeit> Operand Datentyp Speicherbereich Beschreibung <Zeit> TIMER Nummer der Zeit; Bereich hängt von der CPU ab Beschreibung SV <Zeit> startet die adressierte Zeit, wenn das VKE von "0" auf "1" wechselt. Die programmierte Zeitdauer läuft ab, auch wenn das VKE inzwischen auf "0"...
  • Seite 217 Zeiten Beispiel Erläuterung E 2.0 //Gib die Zeit T1 frei. E 2.1 S5T#10s //Richte eine Voreinstellung von 10 Sekunden in AKKU 1 ein. //Starte die Zeit T1 als verlängerten Impuls. E 2.2 //Setze die Zeit T1 zurück. //Frage den Signalzustand der Zeit T1 ab. A 4.0 //Lade den aktuellen Zeitwert der Zeit T1 als Binärzahl.
  • Seite 218: Se Zeit Als Einschaltverzögerung

    Zeiten 12.9 SE Zeit als Einschaltverzögerung Format SE <Zeit> Operand Datentyp Speicherbereich Beschreibung <Zeit> TIMER Nummer der Zeit; Bereich hängt von der CPU ab Beschreibung SE <Zeit> startet die adressierte Zeit, wenn das VKE von "0" auf "1" wechselt. Die programmierte Zeitdauer läuft ab, solange das VKE = 1 ist.
  • Seite 219 Zeiten Beispiel Erläuterung E 2.0 //Gib die Zeit T1 frei. E 2.1 S5T#10s //Richte eine Voreinstellung von 10 Sekunden in AKKU 1 ein. //Starte die Zeit T1 als Einschaltverzögerung. E 2.2 //Setze die Zeit T1 zurück. //Frage den Signalzustand der Zeit T1 ab. A 4.0 //Lade den aktuellen Zeitwert der Zeit T1 als Binärzahl.
  • Seite 220: Ss Zeit Als Speichernde Einschaltverzögerung

    Zeiten 12.10 SS Zeit als speichernde Einschaltverzögerung Format SS <Zeit> Operand Datentyp Speicherbereich Beschreibung <Zeit> TIMER Nummer der Zeit; Bereich hängt von der CPU ab Beschreibung SS <Zeit> (Starte Zeit als speichernde Einschaltverzögerung) startet die adressierte Zeit, wenn das VKE von "0" auf "1" wechselt. Die programmierte Zeitdauer läuft ab, auch wenn das VKE inzwischen auf "0"...
  • Seite 221 Zeiten Beispiel Erläuterung E 2.0 //Gib die Zeit T1 frei. E 2.1 S5T#10s //Richte eine Voreinstellung von 10 Sekunden in AKKU 1 ein. //Starte die Zeit T1 als speichernde Einschaltverzögerung. E 2.2 //Setze die Zeit T1 zurück. //Frage den Signalzustand der Zeit T1 ab. A 4.0 //Lade den aktuellen Zeitwert der Zeit T1 als Binärzahl.
  • Seite 222: Sa Zeit Als Ausschaltverzögerung

    Zeiten 12.11 SA Zeit als Ausschaltverzögerung Format SA <Zeit> Operand Datentyp Speicherbereich Beschreibung <Zeit> TIMER Nummer der Zeit; Bereich hängt von der CPU ab Beschreibung SA <Zeit> startet die adressierte Zeit, wenn das VKE von "1" auf "0" wechselt. Die programmierte Zeit läuft ab, solange das VKE = 0 ist.
  • Seite 223 Zeiten Beispiel Erläuterung E 2.0 //Gib die Zeit T1 frei. E 2.1 S5T#10s //Richte eine Voreinstellung von 10 Sekunden in AKKU 1 ein. //Starte die Zeit T1 als Ausschaltverzögerung. E 2.2 //Setze die Zeit T1 zurück. //Frage den Signalzustand der Zeit T1 ab. A 4.0 //Lade den aktuellen Zeitwert der Zeit T1 als Binärzahl.
  • Seite 224 Zeiten Anweisungsliste (AWL) für S7-300/400 12-22 A5E00706959-01...
  • Seite 225: Wortverknüpfung

    Wortverknüpfung 13.1 Wortverknüpfungsoperationen Übersicht Beschreibung Durch Wortverknüpfungsoperationen werden Paare von Wörtern (16 Bits) oder Doppelwörtern (32 Bits) entsprechend der Booleschen Logik bitweise miteinander verknüpft. Jedes der beiden Wörter oder Doppelwörter muss sich in einem der beiden Akkumulatoren befinden. Bei der Verknüpfung von Wörtern wird der Inhalt des niederwertigen Worts von AKKU 2 mit dem Inhalt des niederwertigen Worts von AKKU 1 verknüpft.
  • Seite 226: Uw Und-Wort (16 Bit)

    Wortverknüpfung 13.2 UW UND-Wort (16 Bit) Format UW <Konstante> Operand Datentyp Beschreibung <Konstante> WORD, Bitmuster, das mit AKKU1-L durch UND verknüpft werden soll. Konstante (16 Bit) Beschreibung UW (UND-Wort) verknüpft den Inhalt von AKKU1-L mit AKKU2-L bzw. einer Konstanten (16 Bit) bitweise gemäß der booleschen UND-Verknüpfung. Nur wenn die entsprechenden Bits von beiden Wörtern, die verknüpft werden sollen, "1"...
  • Seite 227: Beispiele

    Wortverknüpfung Beispiele 15 ..0 AKKU 1 vor Ausführung von UW 0101 1001 0011 1011 AKKU2-L oder Konstante (16 Bit) 1111 0110 1011 0101 Ergebnis (AKKU 1) nach Ausführung von UW 0101 0000 0011 0001 Beispiel 1 Erläuterung EW20...
  • Seite 228: Ow Oder-Wort (16 Bit)

    Wortverknüpfung 13.3 OW ODER-Wort (16 Bit) Format OW <Konstante> Operand Datentyp Beschreibung <Konstante> WORD, Bitmuster, das mit AKKU1-L durch ODER verknüpft werden soll. Konstante (16 Bit) Beschreibung OW (ODER-Wort) verknüpft den Inhalt von AKKU1-L mit AKKU2-L bzw. einer Konstanten (16 Bit) bitweise gemäß der booleschen ODER-Verknüpfung. Wenn mindestens eines der entsprechenden Bits der beiden Wörter, die verknüpft werden sollen, "1"...
  • Seite 229 Wortverknüpfung Beispiele 15 ..0 AKKU 1 vor Ausführung von OW 0101 0101 0011 1011 AKKU2-L oder Konstante (16 Bit) 1111 0110 1011 0101 Ergebnis (AKKU 1) nach Ausführung von OW 1111 0111 1011 1111 Beispiel 1 Erläuterung EW20...
  • Seite 230: Xow Exklusiv-Oder-Wort (16 Bit)

    Wortverknüpfung 13.4 XOW EXKLUSIV-ODER-Wort (16 Bit) Format XOW <Konstante> Operand Datentyp Beschreibung <Konstante> WORD, Bitmuster, das mit AKKU1-L durch EXKLUSIV ODER verknüpft werden soll. Konstante (16 Bit) Beschreibung XOW (EXKLUSIV-ODER-Wort) verknüpft den Inhalt von AKKU1-L mit AKKU2-L bzw. einer Konstanten (16 Bit) bitweise gemäß der booleschen EXKLUSIV-ODER- Verknüpfung.
  • Seite 231 Wortverknüpfung Beispiele 15 ..0 AKKU 1 vor Ausführung von XOW 0101 0101 0011 1011 AKKU2-L oder Konstante (16 Bit) 1111 0110 1011 0101 Ergebnis (AKKU 1) nach Ausführung von XOW 1010 0011 1000 1110 Beispiel 1 Erläuterung EW20...
  • Seite 232: Ud Und-Doppelwort (32 Bit)

    Wortverknüpfung 13.5 UD UND-Doppelwort (32 Bit) Format UD <Konstante> Operand Datentyp Beschreibung <Konstante> DWORD, Bitmuster, das mit AKKU1 durch UND verknüpft werden soll. Konstante (32 Bit) Beschreibung UD (UND-Doppelwort) verknüpft den Inhalt von AKKU 1 mit AKKU 2 bzw. einer Konstanten (32 Bit) bitweise gemäß...
  • Seite 233 Wortverknüpfung Beispiele 31 ..0 AKKU 1 vor Ausführung von UD 0101 0000 1111 1100 1000 1001 0011 1011 AKKU 2 oder Konstante (32 Bit): 1111 0011 1000 0101 0111 0110 1011 0101 Ergebnis (AKKU 1) nach Ausführung von UD 0101 0000 1000 0100 0000 0000 0011 0001 Beispiel 1 Erläuterung...
  • Seite 234: Od Oder-Doppelwort (32 Bit)

    Wortverknüpfung 13.6 OD ODER-Doppelwort (32 Bit) Format OD <Konstante> Operand Datentyp Beschreibung <Konstante> DWORD, Bitmuster, das mit AKKU1 durch ODER verknüpft werden soll. Konstante (32 Bit) Beschreibung OD (ODER-Doppelwort) verknüpft den Inhalt von AKKU 1 mit AKKU 2 bzw. einer Konstanten (32 Bit) bitweise gemäß...
  • Seite 235 Wortverknüpfung Beispiele 31 ..0 AKKU 1 vor Ausführung von OD 0101 0000 1111 1100 1000 0101 0011 1011 AKKU 2 oder Konstante (16 Bit): 1111 0011 1000 0101 0111 0110 1011 0101 Ergebnis (AKKU 1) nach Ausführung von OD 1111 0011 1111 1101 1111 0111 1011 1111 Beispiel 1 Erläuterung...
  • Seite 236: Xod Exklusiv-Oder-Doppelwort (32 Bit)

    Wortverknüpfung 13.7 XOD EXKLUSIV-ODER-Doppelwort (32 Bit) Format XOD <Konstante> Operand Datentyp Beschreibung <Konstante> DWORD, Bitmuster, das mit AKKU1 durch EXKLUSIV ODER verknüpft werden soll. Konstante (32 Bit) Beschreibung XOD (EXKLUSIV-ODER-Doppelwort) verknüpft den Inhalt von AKKU 1 mit AKKU 2 bzw. einer Konstanten (32 Bit) bitweise gemäß der booleschen EXKLUSIV-ODER- Verknüpfung.
  • Seite 237 Wortverknüpfung Beispiele 31 ..0 AKKU 1 vor Ausführung von XOD 0101 0000 1111 1100 1000 0101 0011 1011 AKKU 2 oder Konstante (32 Bit): 1111 0011 1000 0101 0111 0110 1011 0101 Ergebnis (AKKU 1) nach Ausführung von XOD 1010 0011 0111 1001 1111 0011 1000 1110 Beispiel 1 Erläuterung...
  • Seite 238 Wortverknüpfung Anweisungsliste (AWL) für S7-300/400 13-14 A5E00706959-01...
  • Seite 239: Akkumulator-Operationen

    Akkumulator-Operationen 14.1 Akkumulatoroperationen Übersicht Beschreibung Folgende Operationen stehen Ihnen zur Verfügung, um den Inhalt von einem oder mehreren Akkumulatoren bzw. Adreßregistern zu bearbeiten: • TAK Tausche AKKU 1 mit AKKU 2 • PUSH CPU mit zwei Akkus • PUSH CPU mit vier Akkus •...
  • Seite 240: Tak Tausche Akku 1 Mit Akku 2

    Akkumulator-Operationen 14.2 TAK Tausche AKKU 1 mit AKKU 2 Format Beschreibung TAK (Tausche AKKU 1 mit AKKU 2) tauscht den Inhalt von AKKU 1 mit dem Inhalt von AKKU 2. Die Operation wird ausgeführt, ohne die Statusbits zu berücksichtigen oder zu beeinflussen. Die Inhalte von AKKU 3 und AKKU 4 bleiben unverändert (bei CPUs mit vier Akkus).
  • Seite 241: Push Cpu Mit Zwei Akkus

    Akkumulator-Operationen 14.3 PUSH CPU mit zwei Akkus Format PUSH Beschreibung PUSH (AKKU 1 in AKKU 2) kopiert den gesamten Inhalt von AKKU 1 in AKKU 2. AKKU 1 wird nicht verändert. Die Operation wird ausgeführt, ohne die Statusbits zu berücksichtigen oder zu beeinflussen. Statuswort schreibt: - Beispiel...
  • Seite 242: Push Cpu Mit Vier Akkus

    Akkumulator-Operationen 14.4 PUSH CPU mit vier Akkus Format PUSH Beschreibung PUSH (CPU mit vier Akkus) kopiert den Inhalt von AKKU 3 in AKKU 4, den Inhalt von AKKU 2 in AKKU 3, und den Inhalt von AKKU 1 in AKKU 2. AKKU 1 wird nicht verändert.
  • Seite 243: Pop Cpu Mit Zwei Akkus

    Akkumulator-Operationen 14.5 CPU mit zwei Akkus Format Beschreibung POP (CPU mit zwei Akkus) kopiert den gesamten Inhalt von AKKU 2 in AKKU 1. AKKU 2 wird nicht verändert. Die Operation wird ausgeführt, ohne die Statusbits zu berücksichtigen oder zu beeinflussen. Statuswort schreibt: - Beispiel...
  • Seite 244: Cpu Mit Vier Akkus

    Akkumulator-Operationen 14.6 CPU mit vier Akkus Format Beschreibung POP (CPU mit vier Akkus) kopiert den Inhalt von AKKU 2 in AKKU 1, den Inhalt von AKKU 3 in AKKU 2, und den Inhalt von AKKU 4 in AKKU 3. AKKU 4 wird nicht verändert.
  • Seite 245: Ent Enter Akku-Stack

    Akkumulator-Operationen 14.7 Enter AKKU-Stack Format Beschreibung ENT (Enter AKKU-Stack) kopiert den Inhalt von AKKU 3 in AKKU 4 und den Inhalt von AKKU 2 in AKKU 3. Wenn Sie die Operation ENT direkt vor einer Ladeoperation programmieren, können Sie damit ein Zwischenergebnis in AKKU 3 retten.
  • Seite 246: Leave Leave Akku-Stack

    Akkumulator-Operationen 14.8 LEAVE Leave AKKU-Stack Format LEAVE Beschreibung LEAVE (Leave AKKU-Stack) kopiert den Inhalt von AKKU 3 in AKKU 2 und den Inhalt von AKKU 4 in AKKU 3. Wenn Sie die Operation LEAVE direkt vor einer Schiebe- oder Rotieroperation programmieren, die Akkumulatoren verknüpft, dann funktioniert die Operation LEAVE wie eine arithmetische Operation.
  • Seite 247 Akkumulator-Operationen Beispiel Erläuterung MB22 //Lade den Wert von MB22. INC 1 //Inkrementiere AKKU 1 (MB 22) um 1, speichere das Ergebnis in AKKU1-L-L. MB22 //Transferiere den Inhalt von AKKU1-L-L (Ergebnis) zurück nach MB22. Anweisungsliste (AWL) für S7-300/400 14-9 A5E00706959-01...
  • Seite 248: Dec Dekrementiere Akku 1-L-L

    Akkumulator-Operationen 14.10 DEC Dekrementiere AKKU 1-L-L Format DEC <Ganzzahl, 8 Bit> Operand Datentyp Beschreibung <Ganzzahl, 8 Bit> Konstante Konstante, die von AKKU1-L-L subtrahiert wird; (Ganzzahl, 8 Bit) Bereich von 0 bis 255 Beschreibung DEC <Ganzzahl, 8 Bit> (Dekrementiere AKKU1-L-L) subtrahiert die Ganzzahl (8 Bit) vom Inhalt von AKKU1-L-L und speichert das Ergebnis in AKKU1-L-L.
  • Seite 249: Ar1 Addiere Akku 1 Zum Adreßregister 1

    Akkumulator-Operationen 14.11 +AR1 Addiere AKKU 1 zum Adreßregister 1 Formate +AR1 +AR1 <P#Byte.Bit> Operand Datentyp Beschreibung <P#Byte.Bit> Pointerkonstante Adresse, die zu AR1 addiert wird. Beschreibung +AR1 (Addiere zu AR1) addiert einen Versatz, der entweder in der Anweisung oder in AKKU1-L angegeben wird, zum Inhalt von AR1. Die Ganzzahl (16 Bit) wird zunächst vorzeichenrichtig auf 24 Bit erweitert und danach zu den niederwertigsten 24 Bit von AR1 (Teil der relativen Adresse in AR1) addiert.
  • Seite 250: Ar2 Addiere Akku 1 Zum Adreßregister 2

    Akkumulator-Operationen 14.12 +AR2 Addiere AKKU 1 zum Adreßregister 2 Formate +AR2 +AR2 <P#Byte.Bit> Operand Datentyp Beschreibung <P#Byte.Bit> Pointerkonstante Adresse, die zu AR2 addiert wird. Beschreibung +AR2 (Addiere zu AR2) addiert einen Versatz, der entweder in der Anweisung oder in AKKU1-L angegeben wird, zum Inhalt von AR2. Die Ganzzahl (16 Bit) wird zunächst vorzeichenrichtig auf 24 Bit erweitert und danach zu den niederwertigsten 24 Bit von AR 2 (Teil der relativen Adresse in AR2) addiert.
  • Seite 251 Akkumulator-Operationen Beispiel 1 Erläuterung +300 //Lade den Wert in AKKU1-L. +AR2 //Addiere AKKU1-L (Ganzzahl, 16-Bit) zu AR 2. Beispiel 2 Erläuterung +AR2 P#300.0 //Addiere den Versatz 300.0 zu AR 2. Anweisungsliste (AWL) für S7-300/400 14-13 A5E00706959-01...
  • Seite 252: Bld Bildbefehl (Nulloperation)

    Akkumulator-Operationen 14.13 BLD Bildbefehl (Nulloperation) Format BLD <Zahl> Operand Beschreibung <Zahl> Kennummer der Operation BLD; Bereich von 0 bis 255 Beschreibung BLD <Zahl> (Bildbefehl; Nulloperation) führt keine Funktion aus und beeinflußt die Statusbits nicht. Die Operation dient dem Programmiergerät (PG) zum grafischen Bildaufbau.
  • Seite 253: Nop 0 Nulloperation

    Akkumulator-Operationen 14.14 NOP 0 Nulloperation Format NOP 0 Beschreibung NOP 0 (Operation NOP mit dem Operand "0") führt keine Funktion aus und beeinflußt die Statusbits nicht. Der Operationscode enthält ein Bitmuster mit 16 Nullen. Die Operation ist nur für das Programmiergerät (PG) wichtig, wenn ein Programm angezeigt wird.
  • Seite 254 Akkumulator-Operationen Anweisungsliste (AWL) für S7-300/400 14-16 A5E00706959-01...
  • Seite 255: Awl-Operationen Übersicht

    AWL-Operationen Übersicht AWL-Operationen sortiert nach deutscher Mnemonik (SIMATIC) Deutsche Englische Operation/ Funktion Beschreibung Mnemonic Mnemonik Bitverknüpfung Zuweisung Bitverknüpfung Verzweigung schließen Festpunkt-Funktion Multipliziere AKKU 1 und 2 als Ganzzahl (32 Bit) Festpunkt-Funktion Multipliziere AKKU 1 und 2 als Ganzzahl (16 Bit) Gleitpunkt-Funktion Multipliziere AKKU 1 und 2 als Gleitpunktzahl (32 Bit) Festpunkt-Funktion...
  • Seite 256 AWL-Operationen Übersicht Deutsche Englische Operation/ Funktion Beschreibung Mnemonic Mnemonik Umwandler BCD wandeln in Ganzzahl (16 Bit) CALL CALL Programmsteuerung Baustein aus einer Bibliothek aufrufen CALL CALL Programmsteuerung Bausteinaufruf CALL CALL Programmsteuerung Multiinstanz aufrufen Programmsteuerung Bedingter Bausteinaufruf Bitverknüpfung Rücksetze VKE (=0) Gleitpunkt-Funktion Bilden des Cosinus eines Winkels als Gleitpunktzahlen (32 Bit)
  • Seite 257 AWL-Operationen Übersicht Deutsche Englische Operation/ Funktion Beschreibung Mnemonic Mnemonik Zeiten Lade aktuellen Zeitwert als BCD in AKKU 1 (der aktuelle Zeitwert kann eine Zahl im Bereich von 0 bis 255 sein, zum Beispiel: LC T 32) LEAVE LEAVE Akkumulator Leave AKKU-Stack Gleitpunkt-Funktion Bilden des natürlichen Logarithmus einer Gleitpunktzahl (32 Bit)
  • Seite 258 AWL-Operationen Übersicht Deutsche Englische Operation/ Funktion Beschreibung Mnemonic Mnemonik Bitverknüpfung Setze Zähler Setze Zählerstartwert (der aktuelle Zähler kann eine Zahl im Bereich von 0 bis 255 sein, zum Beispiel: S Z 15) Zeiten Zeit als Ausschaltverzögerung SAVE SAVE Bitverknüpfung Sichere VKE im BIE-Bit Zeiten Zeit als Einschaltverzögerung Bitverknüpfung...
  • Seite 259 AWL-Operationen Übersicht Deutsche Englische Operation/ Funktion Beschreibung Mnemonic Mnemonik Laden/Transferieren Tausche Adreßregister 1 mit 2 TAR1 TAR1 Laden/Transferieren Transferiere Adreßregister 1 in Adreßregister 2 TAR1 TAR1 Laden/Transferieren Transferiere Adreßregister 1 in AKKU 1 TAR1 TAR1 Laden/Transferieren Transferiere Adreßregister 1 nach Zieladresse (32-Bit- Pointer) TAR2 TAR2...
  • Seite 260: Awl-Operationen Sortiert Nach Englischer Mnemonik (International)

    AWL-Operationen Übersicht AWL-Operationen sortiert nach englischer Mnemonik (International) Englische Deutsche- Operation/ Funktion Beschreibung Mnemonik Mnemonik Bitverknüpfung Zuweisung Bitverknüpfung Verzweigung schließen Festpunkt-Funktion Multipliziere AKKU 1 und 2 als Ganzzahl (32 Bit) Festpunkt-Funktion Multipliziere AKKU 1 und 2 als Ganzzahl (16 Bit) Gleitpunkt-Funktion Multipliziere AKKU 1 und 2 als Gleitpunktzahl (32 Bit) Festpunkt-Funktion...
  • Seite 261 AWL-Operationen Übersicht Englische Deutsche- Operation/ Funktion Beschreibung Mnemonik Mnemonik Programmsteuerung Bedingter Bausteinaufruf Zähler Zählen rückwärts Datenbaustein Tausche Global-DB und Instanz-DB Bitverknüpfung Rücksetze VKE (=0) Gleitpunkt-Funktion Bilden des Cosinus eines Winkels als Gleitpunktzahlen (32 Bit) Zähler Zählen vorwärts Festpunkt-Funktion Subtrahiere AKKU 1 von 2 als Ganzzahl (32 Bit) Akkumulator Dekrementiere AKKU 1 Umwandler...
  • Seite 262 AWL-Operationen Übersicht Englische Deutsche- Operation/ Funktion Beschreibung Mnemonik Mnemonik L DBNO L DBNO Datenbaustein Lade Nummer Global-DB in AKKU 1 L DILG L DILG Datenbaustein Lade Länge Instanz-DB in AKKU 1 L DINO L DINO Datenbaustein Lade Nummer Instanz-DB in AKKU 1 Laden/Transferieren Lade Zähler...
  • Seite 263 AWL-Operationen Übersicht Englische Deutsche- Operation/ Funktion Beschreibung Mnemonik Mnemonik Bitverknüpfung Oder Nicht mit Verzweigung Datenbaustein Aufschlage Datenbaustein Wortverknüpfung ODER-Wort (16 Bit) Akkumulator CPU mit vier Akkus Akkumulator CPU mit zwei Akkus PUSH PUSH Akkumulator PUSH CPU mit vier Akkus PUSH PUSH Akkumulator PUSH CPU mit zwei Akkus...
  • Seite 264 AWL-Operationen Übersicht Englische Deutsche- Operation/ Funktion Beschreibung Mnemonik Mnemonik Laden/Transferieren Transferiere T STW T STW Transferiere AKKU 1 T STW Transferiere AKKU 1 in Statuswort in Statuswort Akkumulator Tausche AKKU 1 mit AKKU 2 Gleitpunkt-Funktion Bilden des Tangens eines Winkels als Gleitpunktzahlen (32 Bit) TAR1 TAR1...
  • Seite 265: Programmierbeispiele

    Programmierbeispiele Programmierbeispiele Übersicht Praktische Anwendungen Jede AWL-Operation löst eine bestimmte Funktion aus. Durch Kombination der Operationen in einem Programm können Sie eine breite Palette von Automatisierungsaufgaben ausführen. Hier einige Beispiele für praktische Anwendungen: Steuern eines Förderbandes durch Bitverknüpfungsoperationen Erfassen der Richtung eines Förderbandes durch Bitverknüpfungsoperationen Generieren eines Taktimpulses durch Zeitoperationen Überwachen des Lagerbereichs durch Zähl- und Vergleichsoperationen Berechnungen mit arithmetischen Operationen für Ganzzahlen...
  • Seite 266: Bitverknüpfungsoperationen Beispiel

    Programmierbeispiele Bitverknüpfungsoperationen Beispiel Beispiel 1: Steuern eines Förderbandes Das folgende Bild zeigt ein Förderband, das elektrisch in Gang gesetzt werden kann. Am Anfang des Bandes befinden sich zwei Druckschalter, S1 für START und S2 für STOP. Am Ende des Bandes befinden sich ebenfalls zwei Druckschalter, S3 für START und S4 für STOP.
  • Seite 267: Absolute Und Symbolische Programmierung

    Programmierbeispiele Absolute und symbolische Programmierung Sie können ein Programm zum Steuern des Förderbandes schreiben, indem Sie die verschiedenen Komponenten des Förderbandsystems mit Hilfe von absoluten Adressen oder Symbolen darstellen. Die von Ihnen gewählten Symbole setzen Sie in der Symboltabelle mit den absoluten Adressen in Beziehung (siehe Online-Hilfe zu STEP 7).
  • Seite 268: Anweisungsliste Zum Steuern Des Förderbandes

    Programmierbeispiele Anweisungsliste zum Steuern des Förderbandes Erläuterung E 1.1 //Durch Drücken einer der beiden Startschalter wird der Motor eingeschaltet. E 1.3 A 4.0 E 1.2 //Durch Drücken einer der beiden Stoppschalter oder Öffnen eines Öffners am Ende des Bandes wird der Motor ausgeschaltet. E 1.4 E 1.5 A 4.0...
  • Seite 269 Programmierbeispiele Absolute und symbolische Programmierung Sie können ein Programm schreiben, das die Richtungsanzeige für das Förderbandsystem aktiviert, indem Sie die verschiedenen Komponenten des Fördersystems mit Hilfe von absoluten Adressen oder Symbolen darstellen. Die von Ihnen gewählten Symbole setzen Sie in der Symboltabelle mit den absoluten Adressen in Beziehung (siehe Online-Hilfe zu STEP 7).
  • Seite 270: Anweisungsliste Zur Richtungserfassung Eines Förderbandes

    Programmierbeispiele Anweisungsliste zur Richtungserfassung eines Förderbandes Erläuterung E 0.0 //Wenn an E 0.0 ein Wechsel des Signalzustands von "0" auf "1" auftritt (positive Flanke) und gleichzeitig der Signalzustand an E 0.1 "0" ist, dann bewegt sich das Paket auf dem Band nach links M 0.0 E 0.1 A 4.1...
  • Seite 271: Zeitoperationen Beispiel

    Programmierbeispiele Zeitoperationen Beispiel Taktgeber Zur Erzeugung eines sich periodisch wiederholenden Signals können Sie einen Taktgeber oder ein Blinkrelais verwenden. Taktgeber finden sich häufig in Meldesystemen, die das Blinken von Anzeigeleuchten steuern. Wenn Sie S7-300 einsetzen, können Sie eine Taktgeberfunktion implementieren, indem Sie die zeitgesteuerte Verarbeitung in speziellen Organisationsbausteinen verwenden.
  • Seite 272: Erzielen Einer Bestimmten Frequenz

    Programmierbeispiele Signalabfrage Eine Signalabfrage der Zeit T1 liefert für die Anweisung UN T1 folgendes Verknüpfungsergebnis: 250 ms Sobald die Zeit abgelaufen ist, wird die Zeit erneut gestartet. Daher liefert die Signalabfrage, die von der Anweisung UN T1 ausgeführt wird, nur kurz den Signalzustand ”1”.
  • Seite 273: Signalzustände Der Bits Von Merkerbyte Mb

    Programmierbeispiele Anweisungsliste Erläuterung M10.0 //M10.0 ist "1", wenn ein Fehler auftritt. Tritt ein Fehler auf, //dann blinkt die Fehlerlampe mit einer Frequenz von 1 Hz auf. M100.1 A 4.0 Signalzustände der Bits von Merkerbyte MB 100 Zyklus Bit 7 Bit 6 Bit 5 Bit 4 Bit 3...
  • Seite 274: Zähl- Und Vergleichsoperationen Beispiel

    Programmierbeispiele Zähl- und Vergleichsoperationen Beispiel Lagerbereich mit Zähler und Vergleicher Das folgende Bild zeigt ein System mit zwei Förderbändern und einem temporären Lagerbereich dazwischen. Förderband 1 transportiert die Pakete zum Lagerbereich. Eine Lichtschranke am Ende des Förderbandes 1 neben dem Lagerbereich ermittelt, wie viele Pakete in den Lagerbereich transportiert werden.
  • Seite 275: Anweisungsliste, Die Die Anzeigeleuchten Aktiviert

    Programmierbeispiele Anweisungsliste, die die Anzeigeleuchten aktiviert Erläuterung E 0.0 //Jeder durch die Lichtschranke 1 generierte Impuls //erhöht den Zählwert des Zählers Z1 um "1", wodurch die Zahl der Pakete //gezählt wird, die in den Lagerbereich transportiert werden. E 0.1 //Jeder durch die Lichtschranke 2 generierte Impuls //vermindert den Zählwert des Zählers Z1 um "1", wodurch die Zahl der //Pakete gezählt wird, die den Lagerbereich verlassen.
  • Seite 276: Arithmetische Operationen Mit Ganzzahlen Beispiel

    Programmierbeispiele Arithmetische Operationen mit Ganzzahlen Beispiel Berechnen einer Gleichung Das folgende Programmbeispiel zeigt, wie Sie mit drei arithmetischen Operationen für Ganzzahlen und den Operationen L und T das gleiche Ergebnis erzielen, wie die folgende Gleichung: MD4 = ((EW0 + DB5.DBW3) x 15) / MW2 Anweisungsliste Erläuterung //Lade den Wert von Eingangswort EW0 in AKKU 1.
  • Seite 277: Wortverknüpfungsoperationen Beispiel

    Programmierbeispiele Wortverknüpfungsoperationen Beispiel Heizen eines Ofens Der Bediener startet das Heizen des Ofens, indem er den Startschalter drückt. Mit den digitalen Vorwählschaltern kann er die Dauer der Heizzeit festlegen. Der Wert, den er setzt, gibt die Sekunden im binär-codierten Dezimalformat (BCD) an. Digitale Vorwählschalter zum Stellen der BCD-Ziffern Ofen...
  • Seite 278 Programmierbeispiele Anweisungsliste (AWL) für S7-300/400 B-14 A5E00706959-01...
  • Seite 279: Parameterübergabe

    Parameterübergabe Die Parameter eines Bausteins werden als Wert übergeben. Bei Funktionsbausteinen wird innerhalb des aufgerufenen Bausteins eine Kopie des Aktualparameterwertes im Instanz-DB verwendet. Bei Funktionen liegt eine Kopie des Aktualwertes im Lokaldatenstack. Zeiger werden nicht kopiert. Vor dem Aufruf werden die INPUT-Werte in den Instanz-DB bzw auf den L-Stack kopiert. Nach dem Aufruf werden die OUTPUT-Werte zurück in die Variablen kopiert.
  • Seite 280 Parameterübergabe Anweisungsliste (AWL) für S7-300/400 A5E00706959-01...
  • Seite 281 Index ==R ..............2-4 <>R ..............2-4 >R..............2-4 <R..............2-4 ) ..............1-16 >=R ..............2-4 <=R ..............2-4 > *D..............7-12 *I ..............7-5 >=I ..............2-2 *R..............8-7 >I ..............2-2 /D ............7-13, 7-14 1-Komplement Ganzzahl (16 Bit) ....3-8 /I ............7-6, 7-7 1-Komplement Ganzzahl (32 Bit) ....3-9 /R ..............
  • Seite 282 Index AWL-Operationen sortiert nach deutscher DEC............14-10 Mnemonik (SIMATIC) ........A-1 Dekrementiere AKKU 1-L-L......14-10 AWL-Operationen sortiert nach englischer Dividiere AKKU 2 durch 1 als Mnemonik (International) ......A-6 Ganzzahl (16 Bit)........7-6 Dividiere AKKU 2 durch 1 als Ganzzahl (32 Bit)........7-13 Dividiere AKKU 2 durch 1 als Gleitpunktzahl (32 Bit) ........8-8 Baustein aus einer Bibliothek aufrufen..
  • Seite 283 Index NEGD ............3-11 NEGI ............3-10 L ............4-3, 9-2 Negiere Gleitpunktzahl .........3-12 L DBLG ............5-4 Negiere VKE..........1-21 L DBNO ............5-5 NEGR ............3-12 L DILG ............5-6 NOP 0............14-15 L DINO............5-7 NOP 1............14-16 L STW............9-4 NOT..............1-21 Lade............... 9-2 Nulloperation ........14-15, 14-16 Lade Adreßregister 1 mit Inhalt von Adressregister 2.........
  • Seite 284 Index Rotiere links Doppelwort (32 Bit)....11-14 Springe Rotiere rechts Doppelwort (32 Bit) ..... 11-16 wenn BIE = 0 ..........6-11 Rotieroperationen Übersicht ...... 11-14 wenn BIE = 1 ..........6-10 RRD ..........11-16, 11-17 wenn Ergebnis < 0........6-19 RRDA............11-19 wenn Ergebnis <= 0 .........6-21 Rücksetze ............
  • Seite 285 Index Transferiere Adreßregister 1 in Adreßregister 2 ........9-15 Transferiere Adreßregister 1 in AKKU 1 ..9-13 Transferiere Adreßregister 1 nach Vergleiche Ganzzahlen (16 Bit)......2-2 Zieladresse (32-Bit-Pointer) ..... 9-14 Vergleiche Ganzzahlen (32 Bit)......2-3 Transferiere Adreßregister 2 in AKKU 1 ..9-16 Vergleiche Gleitpunktzahlen (32 Bit) ....2-4 Transferiere Adreßregister 2 nach Vergleichsoperationen Übersicht....2-1...
  • Seite 286: Index

    Index Anweisungsliste (AWL) für S7-300/400 Index-2 A5E00706959-01...

Diese Anleitung auch für:

Simatic s7-400

Inhaltsverzeichnis