IBH Link UA:Variablen Syntax: Unterschied zwischen den Versionen
(Die Seite wurde neu angelegt: „== Gemeinsame Syntax für S5 und S7: == {|class="wikitable" |- ! Operand !! Bereich !! Datentyp |- | En.n|| Eingangsbits (2) || Bool (VT_BOOL) |- | EBn || Ein…“) |
(kein Unterschied)
|
Version vom 1. September 2016, 10:40 Uhr
Inhaltsverzeichnis
Gemeinsame Syntax für S5 und S7:
Operand | Bereich | Datentyp |
---|---|---|
En.n | Eingangsbits (2) | Bool (VT_BOOL) |
EBn | Eingangsbytes (1) | Unsigned Byte (VT_UI1) |
EWn | Eingangsworte(1) | Unsigned Word (VT_UI2) |
EDn | Eingangsdoppelworte (1) | Unsigned DWord (VT_UI4) |
ETn[Stringlänge] | Text aus dem Eingangsbereich (3) | Character Array (VT_BSTR) |
An.n | Ausgangsbits (2) | Bool(VT_BOOL) |
ABn | Ausgangsbytes (1) | Unsigned Byte (VT_UI1) |
AWn | Ausgangsworte (1) | Unsigned Word (VT_UI2) |
ADn | Ausgangsdoppelworte (1) | Unsigned DWord (VT_UI4) |
ATn[Stringlänge] | Text aus dem Ausgangsbereich (3) | Character Array (VT_BSTR) |
Mn.n | Merkerbits (2) | Bool(VT_BOOL) |
MBn | Merkerbytes (1) | Unsigned Byte (VT_UI1) |
MWn | Merkerworte (1) | Unsigned Word (VT_UI2) |
MDn | Merkerdoppelworte (1) | Unsigned DWord (VT_UI4) |
MTn[Stringlänge] | Text aus dem Merkerbereich (3) | Character Array (VT_BSTR) |
Syntax bei S5:
Operand | Bereich | Datentyp |
---|---|---|
Dn.n,nr | Datenbits, DB | Bool (VT_BOOL) |
DRn,nr | Rechtes Datenbyte, DB | Unsigned Byte (VT_UI1) |
DLn,nr | Linkes Datenbyte, DB | Unsigned Byte (VT_UI1) |
DWn,nr | Datenwort, DB (1) | Unsigned Word (VT_UI2) |
DSn,nr | Datenwort, DB (1) | Signed short Integer (VT_I2) |
DDn,nr | Datendoppelwort, DB (1) | Unsigned DWord (VT_UI4) |
DVn,nr | Datendoppelwort, DB (1) | Signed long integer (VT_I4) |
DFn,nr | Datendoppelwort, DB (1) | Float (VT_R4) |
DTn[Stringlänge] | Text aus Datenbaustein (3) | Character Array (VT_BSTR) |
DXn.n,nr | Datenbits, DX | Bool (VT_BOOL) |
DXRn,nr | Rechtes Datenbyte, DX | Unsigned Byte (VT_UI1) |
DXLn,nr | Linkes Datenbyte, DX | Unsigned Byte (VT_UI1) |
DXWn,nr | Datenwort, DX (1) | Unsigned Word (VT_UI2) |
DXSn,nr | Datenwort, DX (1) | Signed short Integer (VT_I2) |
DXDn,nr | Datendoppelwort, DX (1) | Unsigned DWord (VT_UI4) |
DXVn,nr | Datendoppelwort, DX (1) | Signed long integer (VT_I4) |
DXFn,nr | Datendoppelwort, DX (1) | Float (VT_R4) |
DXTn[Stringlänge] | Text aus DX Datenbaustein (3) | Character Array (VT_BSTR) |
Sn.n | S-Merkerbits (2) | Bool (VT_BOOL) |
SYn | S-Merkerbytes (1) | Unsigned Byte (VT_UI1) |
SWn | S-Merkerworte (1) | Unsigned Word (VT_UI2) |
SSn | S-Merkerworte (1) | Signed short Integer (VT_I2) |
SDn | S-Merkerdoppelworte (1) | Unsigned DWord (VT_UI4) |
SVn | S-Merkerdoppelworte (1) | Signed long integer (VT_I4) |
SFn | S-Merkerdoppelworte (1) | Float (VT_R4) |
STn[Stringlänge] | Text aus dem S-Merkerbereich (3) | Character Array (VT_BSTR) |
Syntax bei S7:
Operand | Bereich | Datentyp |
---|---|---|
DBn.DBXn.n | DB, Datenbits (2) | Bool (VT_BOOL) |
DBn.DBBn | DB, Datenbyte (1) | Unsigned Byte (VT_UI1) |
DBn.DBCn | DB, Datenbyte (1) | Signed Char (VT_I1) |
DBn.DBWn | DB, Datenwort (1) | Unsigned Word (VT_UI2) |
DBn.DBSn | DB, Datenwort (1) | Signed Int (VT_I2) |
DBn.DBDn | DB, Datendoppelwort (1) | Unsigned DWord (VT_UI4) |
DBn.DBVn | DB, Datendoppelwort (1) | Signed DWord (VT_I4) |
DBn.DBRn | DB, Real (1) | Real (VT_R4) |
DBn.DBLn | DB, LongLong (64 Bit) (1) | LONGLONG (VT_I8) |
DBn.DBUn | DB, ULongLong (64 Bit) (1) | ULONGLONG (VT_UI8) |
DBn.DBZn | DB, S7 - DATE_AND_TIME (1) | Date (VT_DATE) |
DBn.DBTn[Stringlänge] | Text aus Datenbaustein (3) | Character Array (VT_BSTR) |
(1) Bei diesen Operanden kann das Suffix [Anzahl] angehängt werden, um Arrays zu lesen/schreiben. Beispiel: Steuerungsname.DB10.DBB2[5] liest 5 Bytes ab dem DBB2. Steuerungsname.MW4[7] liest 7 Worte ab dem MW4.
(2) Bei Bitoperanden kann ebenfalls das Suffix [Anzahl] angehängt werden, um Arrays zu lesen/schreiben. Arrays of Bool müssen immer mit dem Bit 0 beginnen. Beispiel: Steuerungsname.DB10.DBX2.0[5] liest 5 Bits ab dem DBX2.0. Steuerungsname.M4.0[7] liest 7 Bits ab dem M4.0. Die Zeichenfolge Steuerungsname. M4.3[4] hingegen ist nicht erlaubt. Beim Schreiben wird immer das gesamte Byte beschrieben.
(3) Werden Strings absolut angegeben, so kann keine Überprüfung stattfinden, ob es sich um deklarierte Strings handelt. Bei S7 Steuerungen haben Strings 2 Byte mit führenden Informationen über den String, die deklarierte Länge und die derzeitige Länge. Da diese Informationen bei absoluter Angabe fehlen, werden die Strings als reine Zeichenketten der mit [Stringlänge] angegebenen Länge behandelt. Ist beim Schreiben, der Text kürzer als die über [Stringlänge] angegebenen Länge, so wird der Rest mitNullen aufgefüllt.
Die 'signed' Datentypen sind auch bei absoluter Adressierung für die S7 vorhanden. Normalerweise wird jedoch davon ausgegangen, dass dies über die Konfigurationsoberfläche IBH OPCEditor eingestellt wird.
Adressierung des DB einer S7-200:
Die Schreibweise entspricht der S7-300 Schreibweise. Auf ein Variablenbyte des Datenbausteins kann in S7-300 Schreibweise folgendermaßen zugegriffen werden: VB 2 (S7-200) = DB1.DBB2 (S7-300). Der Datenbaustein ist immer der DB1. Ein Variablenwort VW 2 (S7-200) = DB1.DBW2 (S7-300). Ein Variablendoppelwort VD 2 (S7-200) = DB1.DBD2 (S7-300).