IBH Link UA:Variablen Syntax: Unterschied zwischen den Versionen

Aus IBHsoftec Wiki
Wechseln zu: Navigation, Suche
(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

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).