S7-PCI315:Befehlsvorrat: Unterschied zwischen den Versionen
Aus IBHsoftec Wiki
Joscha (Diskussion | Beiträge) |
Joscha (Diskussion | Beiträge) |
||
Zeile 553: | Zeile 553: | ||
=== Indirekte Adressierung === | === Indirekte Adressierung === | ||
− | |||
− | + | {| class="wikitable" | |
− | + | |- | |
− | Funktionsbeschreibung | + | ! Operation !! Operand !! Funktionsbeschreibung |
− | + | |- | |
− | LAR1 | + | |style="width: 5em"| LAR1 ||style="width: 5em"| ||style="width: 20em"| AR1 laden |
− | + | |- | |
− | + | | LAR2 || || AR2 laden | |
− | + | |- | |
− | AR1 laden | + | | || MD || mit Merkerdoppelwort |
− | + | |- | |
− | LAR2 | + | | || LD || mit Lokaldatendoppelwort |
− | + | |- | |
− | + | | || DBD || mit Datenbausteindoppelwort | |
− | + | |- | |
− | AR2 laden | + | | || DID || mit Instanz-Datenbausteindoppelwort |
− | + | |- | |
− | + | | LAR1 || || AR1 laden mit Inhalt aus Akku1 | |
− | + | |- | |
− | MD | + | | LAR2 || || AR2 laden mit Inhalt aus Akku1 |
− | + | |- | |
− | mit Merkerdoppelwort | + | | LAR1 || AR2 || AR1 laden mit Inhalt aus A2 |
− | + | |- | |
− | + | | LAR1 || P# || AR1 laden mit Zeiger | |
− | + | |- | |
− | LD | + | | LAR2 || P# || AR2 laden mit Zeiger |
− | + | |- | |
− | mit Lokaldatendoppelwort | + | | TAR1 || || Schreibe AR1 |
− | + | |- | |
− | + | | TAR2 || || Schreibe AR2 | |
− | + | |- | |
− | DBD | + | | || MD || in Merkerdoppelwort |
− | + | |- | |
− | mit Datenbausteindoppelwort | + | | || LD || in Lokaldatendoppelwort |
− | + | |- | |
− | + | | || DBD || in Datenbausteindoppelwort | |
− | + | |- | |
− | DID | + | | || DID || in Instanz-Datenbausteindoppelwort |
− | + | |- | |
− | mit Instanz-Datenbausteindoppelwort | + | | TAR1 || || Schreibe AR1 in Akku1 |
− | + | |- | |
− | LAR1 | + | | TAR2 || || Schreibe AR2 in Akku1 |
− | + | |- | |
− | + | | TAR1 || AR2 || AR1 nach AR2 transferieren | |
− | + | |- | |
− | AR1 laden mit Inhalt aus Akku1 | + | | TAR || || AR1 mit AR2 tauschen |
− | + | |- | |
− | LAR2 | + | | +AR1 || || Addiere Akku1 zu AR1 |
− | + | |- | |
− | + | | +AR2 || || Addiere Akku1 zu AR2 | |
− | + | |- | |
− | AR2 laden mit Inhalt aus Akku1 | + | | +AR1 || P# || Addiere Pointer zu AR1 |
− | + | |- | |
− | LAR1 | + | | +AR2 || P# || Addiere Pointer zu AR2 |
− | + | |} | |
− | AR2 | + | |
− | + | ||
− | AR1 laden mit Inhalt aus A2 | + | |
− | + | ||
− | LAR1 | + | |
− | + | ||
− | P# | + | |
− | + | ||
− | AR1 laden mit Zeiger | + | |
− | + | ||
− | LAR2 | + | |
− | + | ||
− | P# | + | |
− | + | ||
− | AR2 laden mit Zeiger | + | |
− | + | ||
− | TAR1 | + | |
− | + | ||
− | + | ||
− | + | ||
− | Schreibe AR1 | + | |
− | + | ||
− | TAR2 | + | |
− | + | ||
− | + | ||
− | + | ||
− | Schreibe AR2 | + | |
− | + | ||
− | + | ||
− | + | ||
− | MD | + | |
− | + | ||
− | in Merkerdoppelwort | + | |
− | + | ||
− | + | ||
− | + | ||
− | LD | + | |
− | + | ||
− | in Lokaldatendoppelwort | + | |
− | + | ||
− | + | ||
− | + | ||
− | DBD | + | |
− | + | ||
− | in Datenbausteindoppelwort | + | |
− | + | ||
− | + | ||
− | + | ||
− | DID | + | |
− | + | ||
− | in Instanz-Datenbausteindoppelwort | + | |
− | + | ||
− | TAR1 | + | |
− | + | ||
− | + | ||
− | + | ||
− | Schreibe AR1 in Akku1 | + | |
− | + | ||
− | TAR2 | + | |
− | + | ||
− | + | ||
− | + | ||
− | Schreibe AR2 in Akku1 | + | |
− | + | ||
− | TAR1 | + | |
− | + | ||
− | AR2 | + | |
− | + | ||
− | AR1 nach AR2 transferieren | + | |
− | + | ||
− | TAR | + | |
− | + | ||
− | + | ||
− | + | ||
− | AR1 mit AR2 tauschen | + | |
− | + | ||
− | +AR1 | + | |
− | + | ||
− | + | ||
− | + | ||
− | Addiere Akku1 zu AR1 | + | |
− | + | ||
− | +AR2 | + | |
− | + | ||
− | + | ||
− | + | ||
− | Addiere Akku1 zu AR2 | + | |
− | + | ||
− | +AR1 | + | |
− | + | ||
− | P# | + | |
− | + | ||
− | Addiere Pointer zu AR1 | + | |
− | + | ||
− | +AR2 | + | |
− | + | ||
− | P# | + | |
− | + | ||
− | Addiere Pointer zu AR2 | + | |
=== Sonstige Operationen === | === Sonstige Operationen === |
Version vom 2. August 2012, 08:51 Uhr
Inhaltsverzeichnis
- 1 Operationsvorrat
- 2 Binäre Verknüpfungsoperationen
- 3 Sonstige Verknüpfungen
- 4 Master Control Relay
- 5 Lade / Transferoperationen
- 6 Peripheriezugriffe
- 7 Akkumulatorbefehle
- 8 Schiebe- und Rotieroperationen
- 9 Zeitoperationen
- 10 Zähloperationen
- 11 Wortoperationen
- 12 Arithmetische Operationen
- 13 Umwandlungsfunktionen
Operationsvorrat
Die S7-PCI315 besitzt den kompletten Befehlsvorrat der SIMATIC® S7-315 CPU.
Binäre Verknüpfungsoperationen
Operation | Operand | Funktionsbeschreibung |
---|---|---|
U | UND mit Abfrage auf ,,1“ | |
UN | UND mit Abfrage auf ,,0“ | |
O | ODER mit Abfrage auf ,,1“ | |
ON | ODER mit Abfrage auf ,,0“ | |
X | Exklusiv-ODER mit Abfrage auf ,,1“ | |
XN | Exklusiv-ODER mit Abfrage auf ,,0“ | |
E | eines Eingangs | |
A | eines Ausgangs | |
M | eines Merkers | |
L | eines Lokaldatenbits | |
T | einer Zeitfunktion | |
Z | einer Zählfunktion | |
DBX | eines Globaldatenbits | |
DIX | eines Instanzdatenbits | |
==0 | Ergebnis gleich Null | |
<>0 | Ergebnis ungleich Null | |
>0 | Ergebnis größer Null | |
>=0 | Ergebnis größer-gleich Null | |
<0 | Ergebnis kleiner Null | |
<=0 | Ergebnis kleiner-gleich Null | |
UO | ungültiges Ergebnis | |
OV | Overflow | |
OS | Überlauf (speichernd) | |
BIE | Binärergebnis |
Sonstige Verknüpfungen
Operation | Operand | Funktionsbeschreibung |
---|---|---|
U( | UND Klammer auf | |
UN( | UND-NICHT Klammer auf | |
O( | ODER Klammer auf | |
ON( | ODER-NICHT Klammer auf | |
X( | Exklusiv-ODER Klammer auf | |
XN( | Exklusiv-ODER-NICHT Klammer auf | |
) | Klammer zu | |
O | ODER-Verknüpfung von UND | |
NOT | VKE negieren | |
SET | VKE setzen | |
CLR | VKE rücksetzen | |
SAVE | VKE ins BIE retten |
Operation | Operand | Funktionsbeschreibung |
---|---|---|
= | Zuweisung | |
S | Setze | |
R | Rücksetze | |
FP | Positive Flanke | |
FN | Negative Flanke | |
E | eines Eingangsbits | |
A | eines Ausgangsbits | |
M | eines Merkerbits | |
L | eines Lokaldatenbits | |
DBX | eines Datenbits | |
DIX | eines Instanz-Datenbits |
Master Control Relay
Operation | Operand | Funktionsbeschreibung |
---|---|---|
MCRA | MCR-Bereich aktivieren | |
MCRD | MCR-Bereich deaktivieren | |
MCR( | MCR-Zone öffnen | |
)MCR | MCR-Zone schließen |
Lade / Transferoperationen
Operation | Operand | Funktionsbeschreibung |
---|---|---|
L | Operand laden | |
T | Operand transferieren | |
EB | Eingangsbyte | |
EW | Eingangswort | |
ED | Eingangsdoppelwort | |
AB | Ausgangsbyte | |
AW | Ausgangsdoppelwort | |
AD | Ausgangsdoppelwort | |
MB | Merkerbyte | |
MW | Merkerwort | |
MD | Merkerdoppelwort | |
LB | Lokaldatenbyte | |
LW | Lokaldatenwort | |
LD | Lokaldatendoppelwort | |
DBB | Datenbausteinbyte | |
DBW | Datenbausteinwort | |
DBD | Datenbausteindoppelwort | |
DIB | Instanz-Datenbausteinbyte | |
DIW | Instanz-Datenbausteinwort | |
DID | Instanz-Datenbausteindoppelwort | |
STW | Statuswort | |
L | konst | Laden einer Konstanten |
L | #Pointer | Laden eines Zeigers |
L | T | Zeitwert |
LC | T | Zeitwert (BCD codiert) |
L | Z | Zähler |
LC | C | Zähler (BCD codiert) |
L | DBNO | Lade Datenbausteinnummer |
L | DBLG | Lade Datenbausteinlänge |
L | DINO | Lade Datenbausteinnummer (Instanz-DB) |
L | DILG | Lade Datenbausteinlänge (Instanz-DB) |
Peripheriezugriffe
Operation | Operand | Funktionsbeschreibung |
---|---|---|
L | PEB | Peripherieeingangsbyte |
L | PEW | Peripherieeingangswort |
L | PED | Peripherieeingangsdoppelwort |
T | PAB | Peripherieausgangsbyte |
T | PAW | Peripherieausgangswort |
T | PAD | Peripherieausgangsdoppelwort |
Akkumulatorbefehle
Operation | Operand | Funktionsbeschreibung |
---|---|---|
PUSH | Akkus ,,nach oben“ schieben | |
POP | Akkus ,,nach unten“ schieben | |
ENT | Akkus schieben (ohne Al) A2->A3, A3->A4 | |
LEAVE | Akkus schieben (ohne Al) A4->A3, A3->A2 | |
TAK | Akku 1 und Akku 2 tauschen | |
TAW | Akku 1 Bytes 0 und 1 tauschen | |
TAD | Akku 1 alle Bytes tauschen |
Schiebe- und Rotieroperationen
Operation | Operand | Funktionsbeschreibung |
---|---|---|
SLW | Schieben links wortweise | |
SLD | Schieben links doppelwortweise | |
SRW | Schieben rechts wortweise | |
SRD | Schieben rechts doppelwortweise | |
SSI | Schieben mit Vorzeichen wortweise | |
SSD | Schieben mit Vorzeichen doppelwortweise | |
RLD | Rotieren links doppelwortweise | |
RLDA | Rotieren links durch Al | |
RRDA | Rotieren rechts durch Al | |
RRD | Rotieren rechts doppelwortweise | |
konst | um feste Anzahl von Bits | |
Schiebezahl im Akku 2 |
Zeitoperationen
Operation | Operand | Funktionsbeschreibung |
---|---|---|
SI | T | Starten als Impuls |
SV | T | Starten als verlängerter Impuls |
SE | T | Starten als Einschaltverzögerung |
SS | T | Starten als speichernde Einschaltverzögerung |
SA | T | Starten als Ausschaltverzögerung |
R | T | Zeitfunktion rücksetzen |
FR | T | Zeitfunktion freigeben |
Zähloperationen
Operation | Operand | Funktionsbeschreibung |
---|---|---|
ZV | Z | Zählfunktion vorwärtszählen |
ZR | Z | Zählfunktion rückwärtszählen |
S | Z | Zählfunktion setzen |
R | Z | Zählfunktion rücksetzen |
FR | Z | Zählfunktion freigeben |
Wortoperationen
Operation | Operand | Funktionsbeschreibung |
---|---|---|
UW | UND wortweise | |
UD | UND doppelwortweise | |
OW | ODER wortweise | |
OD | ODER doppelwortweise | |
XOW | Exklusiv-ODER wortweise | |
XOD | Exklusiv-ODER doppelwortweise | |
konst | Mit einer Wort- bzw. Doppelwortkonstanten | |
mit dem Inhalt von Akku 2 |
Arithmetische Operationen
Operation | Operand | Funktionsbeschreibung |
---|---|---|
==I | Integervergleich GLEICH | |
<>I | Integervergleich UNGLEICH | |
>I | Integervergleich GRÖSSER | |
>=I | Integervergleich GRÖSSER GLEICH | |
<I | Integervergleich KLEINER | |
<=I | Integervergleich KLEINER GLEICH | |
==D | Doppel-Integervergleich GLEICH | |
<>D | Doppel-Integervergleich UNGLEICH | |
>D | Doppel-Integervergleich GRÖSSER | |
>=D | Doppel-Integervergleich GRÖSSER GLEICH | |
<D | Doppel-Integervergleich KLEINER | |
<=D | Doppel-Integervergleich KLEINER GLEICH | |
==R | REAL-Zahl Vergleich GLEICH | |
<>R | REAL-Zahl Vergleich UNGLEICH | |
>R | REAL-Zahl Vergleich GRÖSSER | |
>=R | REAL-Zahl Vergleich GRÖSSER GLEICH | |
<R | REAL-Zahl Vergleich KLEINER | |
<=R | REAL-Zahl Vergleich KLEINER GLEICH | |
SIN | Sinus | |
COS | Cosinus | |
TAN | Tangens | |
ASIN | Arcussinus | |
ACOS | Arcuscosinus | |
ATAN | Arcustangens | |
SQR | Quadrieren | |
SQRT | Wurzel (Radizieren) | |
EXP | Exponent zur Basis e | |
LN | Natürlicher Logarithmus | |
+I | Integer Addition | |
-I | Integer Subtraktion | |
*I | Integer Multiplikation | |
/I | Integer Division | |
+D | Doppel-Integer Addition | |
-D | Doppel-Integer Subtraktion | |
*D | Doppel-Integer Multiplikation | |
/D | Doppel-Integer Division | |
+R | Realzahl Addition | |
-R | Realzahl Subtraktion | |
*R | Realzahl Multiplikation | |
/R | Realzahl Division | |
MOD | Doppel-Integer Division (Rest) | |
+ | konst | Addieren einer Konstante |
+P# | konst | Addieren eines Zeigers |
DEC | Dekrementieren | |
INC | Inkrementieren |
Umwandlungsfunktionen
Operation | Operand | Funktionsbeschreibung |
---|---|---|
ITD | Wandlung INT nach DINT | |
ITB | Wandlung INT nach BCD | |
DTB | Wandlung DINT nach BCD | |
DTR | Wandlung DINT nach REAL | |
BTI | Wandlung BCD nach INT | |
BTD | Wandlung BCD nach DINT | |
RND | Rundung zur nächsten ganzen Zahl | |
RND+ | Rundung zur nächstgrößeren Zahl | |
RND- | Rundung zur nächstkleineren Zahl | |
TRUNC | ohne Rundung | |
INVI | INT-Einerkomplement | |
INVD | DINT-Einerkomplement | |
NEGI | INT-Negation | |
NEGD | DINT-Negation | |
NEGR | REAL-Negation | |
ABS | REAL-Betragsbildung |
Sprungoperationen
Operation | Operand | Funktionsbeschreibung |
---|---|---|
SPA | Ziel | Sprung absolut (unbedingt) |
SPB | Ziel | Sprung wenn VKE = 1 |
SPBB | Ziel | Sprung wenn VKE = 1 (VKE speichern) |
SPBN | Ziel | Sprung wenn VKE = 0 |
SPBNB | Ziel | Sprung wenn VKE = 0 (VKE speichern) |
SPBI | Ziel | Sprung wenn BIE = 1 |
SPBIN | Ziel | Sprung wenn BIE = 0 |
SPZ | Ziel | Sprung bei Vergleichsergebnis = 0 |
SPN | Ziel | Sprung bei Vergleichsergebnis ≠ 0 |
SPP | Ziel | Sprung bei Vergleichsergebnis > 0 |
SPPZ | Ziel | Sprung bei Vergleichsergebnis >= 0 |
SPM | Ziel | Sprung bei Vergleichsergebnis < 0 |
SPMZ | Ziel | Sprung bei Vergleichsergebnis <= 0 |
SPU | Ziel | Sprung bei Vergleichsergebnis ungültig |
SPO | Ziel | Sprung bei Overflow |
SPS | Ziel | Sprung bei speicherndem Overflow |
SPL | Ziel | Sprungverteiler |
LOOP | Ziel | Schleife |
Aufruf-Operationen
Operation | Operand | Funktionsbeschreibung |
---|---|---|
CALL FB | Sprung zum Funktionsbaustein | |
CALL FC | Sprung zur Funktion | |
CALL SFB | Sprung zum System-Funktionsbaustein | |
CALL SFC | Sprung zur System-Funktion | |
UC FB | Funktionsbaustein absolut aufrufen | |
CC FB | Funktionsbaustein bedingt aufrufen | |
UC FC | Funktion absolut aufrufen | |
CC FC | Funktion bedingt aufrufen | |
BEA | Bausteinende absolut | |
BEB | Bausteinende bedingt | |
BE | Bausteinende | |
AUF | DB | Datenbaustein öffnen |
DI | Instanz-Datenbaustein öffnen | |
TDB | Datenbausteinregister tauschen |
Indirekte Adressierung
Operation | Operand | Funktionsbeschreibung |
---|---|---|
LAR1 | AR1 laden | |
LAR2 | AR2 laden | |
MD | mit Merkerdoppelwort | |
LD | mit Lokaldatendoppelwort | |
DBD | mit Datenbausteindoppelwort | |
DID | mit Instanz-Datenbausteindoppelwort | |
LAR1 | AR1 laden mit Inhalt aus Akku1 | |
LAR2 | AR2 laden mit Inhalt aus Akku1 | |
LAR1 | AR2 | AR1 laden mit Inhalt aus A2 |
LAR1 | P# | AR1 laden mit Zeiger |
LAR2 | P# | AR2 laden mit Zeiger |
TAR1 | Schreibe AR1 | |
TAR2 | Schreibe AR2 | |
MD | in Merkerdoppelwort | |
LD | in Lokaldatendoppelwort | |
DBD | in Datenbausteindoppelwort | |
DID | in Instanz-Datenbausteindoppelwort | |
TAR1 | Schreibe AR1 in Akku1 | |
TAR2 | Schreibe AR2 in Akku1 | |
TAR1 | AR2 | AR1 nach AR2 transferieren |
TAR | AR1 mit AR2 tauschen | |
+AR1 | Addiere Akku1 zu AR1 | |
+AR2 | Addiere Akku1 zu AR2 | |
+AR1 | P# | Addiere Pointer zu AR1 |
+AR2 | P# | Addiere Pointer zu AR2 |
Sonstige Operationen
Operation
Operand
Funktionsbeschreibung
NOP
0
Nulloperation
NOP
1
Nulloperation
BLD
konst
Bildaufbau