TIA Portal Datentypen und Konversionen

Zu Konversionen springen: Konvertern

Die folgende Tabelle zusammenfasst die unterstützten und nicht unterstützten Datentypen:

DatentypNameSpeicherbedarfUnterstütztWertebereichKonvertern
Binärzahlen
BOOLbool1bit
(S7-1500
opt:
1 byte)
S7-300/400,
S7-1200,
S7-1500
FALSE oder TRUE
BOOL#0 oder BOOL#1
BOOL#FALSE oder BOOL#TRUE
16 BOOL → WORD und BYTE
WORD → 16 BOOL
BYTE → 8 BOOL
BYTEbyte8 bitS7-300/400,
S7-1200,
S7-1500
8 bit Bitmuster,
Dez: 0..255, Hex: 00..FF
16 BOOL → WORD und BYTE
BYTE → 8 BOOL
WORDword16 bitS7-300/400,
S7-1200,
S7-1500
16 bit Bitmuster16 BOOL → WORD und BYTE
WORD → 16 BOOL
STRING → DB REGS
DB REGS → STRING
DWORDdouble word32 bitS7-300/400,
S7-1200,
S7-1500
32 bit Bitmuster
LWORDlong word64 bitS7-1200,
S7-1500
64 bit Bitmuster
Ganzzahlen
SINTshort integer8 bitS7-1200,
S7-1500
Dez: -128..127, Hex: 0..7F
INTinteger16 bitS7-300/400,
S7-1200,
S7-1500
Dez: -32768..32767,
Hex: 0..7FFF
DINTdouble integer32 bitS7-300/400,
S7-1200,
S7-1500
Dez: -2147483648..+2147483647,
Hex: 0..#7FFFFFFF
USINTunsigned
short integer
8 bitS7-1200,
S7-1500
Dez: 0..255, Hex: 00..FF
UINTunsigned
integer
16 bitS7-1200,
S7-1500
Dez: 0..65535, Hex: 0000..FFFF
UDINTunsigned
double integer
32 bitS7-1200,
S7-1500
Dez: 0..4294967295,
Hex: 00000000..FFFFFFFF
LINTlong integer64 bitS7-1500Dez: -9223372036854775808..
+9223372036854775807,
Hex: 0000000000000000..
7FFFFFFFFFFFFFFF
ULINTunsigned
long integer
64 bitS7-1500Dez: 0..18446744073709551615,
Hex: 0000000000000000..
FFFFFFFFFFFFFFFF
Gleitpunktzahlen
REALreal32 bitS7-300/400,
S7-1200,
S7-1500
-3.402823e+38..-1.175 495e-38 und
+1.175 495e-38..+3.402823e+38
LREALlong real64 bitS7-1200,
S7-1500
-1.7976931348623158e+308
..-2.2250738585072014e-308 und
+2.2250738585072014e-308
..+1.7976931348623158e+308
Zeiten
S5TIMES5 time16 bitS7-300/400,
S7-1500
S5T#0H_0M_0S_0MS..
S5T#2H_46M_30S_0MS
TIMEtime32 bitS7-300/400,
S7-1200,
S7-1500
T#-24d20h31m23s648ms..
T#+24d20h31m23s647ms
LTIMElong time64 bitS7-1500LT#-106751d23h47m
16s854ms775us808ns..
LT#+106751d23h47m
16s854ms775us807ns
Zeichen
CHARcharacter8 bitS7-300/400,
S7-1200,
S7-1500
ASCII-Zeichensatz
WCHARword char16 bitS7-1200,
S7-1500
16 bit Unicode
STRINGstringLänge
+ 2 byte
S7-300/400,
S7-1200,
S7-1500
0 bis 254 ZeichenSTRING → DB REGS
DB REGS → STRING
WSTRINGword stringLänge
+ 2 word
S7-1200,
S7-1500
0 bis 16382 Zeichen
Datum und Uhrzeit
DATEdate16 bitS7-300/400,
S7-1200,
S7-1500
D#1990-01-01..D#2168-12-31
TODtime_of_day32 bitS7-300/400,
S7-1200,
S7-1500
TOD#00:00:00.000..
TOD#23:59:59.999
LTODlong
time_of_day
64 bitS7-1500LTOD#00:00:00.000000000 ..
LTOD#23:59:59.999999999
DTdate_and_time64 bitS7-300/400,
S7-1500
Min.:
DT#1990-01-01-0:0:0
Max.:
DT#2089-12-31-23:59:59.999
LDTlong
date_and_time
64 bitS7-1500Min.:
LDT#1970-01-01-0:0:0.000000000, 16#0
Max.:
LDT#2262-04-11-23:47:16.854775807,
16#7FFF_FFFF_FFFF_FFFF
DTLdate time long96 bitS7-1200,
S7-1500
Min.:
DTL#1970-01-01-00:00:00.0
Max.:
DTL#2554-12-31-23:59:59.999999999
Zeiger
POINTERpointer48 bitS7-300/400,
S7-1500
-
ANYany type80 bitS7-300/400,
S7-1500
-
VARIANTvariant-S7-1200,
S7-1500
-

Was ist in der Tabelle nicht enthalten:
BCD-Zahlen, BCD16 und BCD32. BCD-Zahlen haben keine eigenen Datentyp. Főr eine BCD-Zahl verwenden Sie den Datentyp WORD bzw. DWORD und geben in der Format in Hex W#16#xxxx bzw. W#16#xxxx_xxxx nur die Ziffern 0 bis 9 und für das Vorzeichen 0 oder F ein. Für eine positive, dreidekadige Dezimalzahl können Sie auch die Notation c#0 bis C#999 verwenden.

PLC data type (UDT), Anonymous structures (STRUCT), ARRAY, Parameter types (TIMER, COUNTER,..), System data types (IEC_TIMER, IEC_SCOUNTER,..)

Das TIA-Portal bietet viele Konvertierungen (und bietet nicht viele mehr). Diese sind in der folgenden Tabelle zusammengefasst:

TypLösungKonversionen
Int"CONV"DInt, Real, Bcd16, USint, UInt, UDint, SInt, LReal und Char
DInt"CONV"Int,Real, Bcd32, USint, UInt, UDint, SInt, LReal und Char
Real"CONV"Int, DInt, USint, UInt, UDint, SInt und LReal
USint"CONV"Int, DInt, Real, UInt, UDint, SInt, LReal und Char
UInt"CONV"Int, DInt, Real, USint, UDint, SInt, LReal und Char
UDint"CONV"Int, DInt, Real, USint, UInt, SInt, LReal und Char
SInt"CONV"Int, DInt, Real, USint, UInt, UDint, LReal und Char
LReal"CONV"Int, DInt, Real, USint, UInt, UDint, SInt
Char"CONV"Int, DInt, USint, UInt, UDint, SInt und Char
Bcd16"CONV"Int
Bcd32"CONV"DInt

"CONV" Nutzen

  1. Öffnen Sie im Bausteineditor in der Palette "Anweisungen" den Ordner "Einfache Anweisungen > Umwandler" und fügen Sie per Drag & Drop die Anweisung "CONVERT" in Ihr Netzwerk ein.
  2. Nach dem Einfügen der Anweisungsbox sind die Datentypen der Anweisung noch nicht definiert und somit stehen unterhalb der Bezeichnung "CONV" noch die Platzhalter "??? to ???". Wenn Sie den Cursor über das linke Dreieck der ersten drei Fragezeichen bewegen, erscheint eine Pfeiltaste.
  3. Klicken Sie auf die linke Pfeiltaste und wählen Sie aus der sich öffnenden Klappbox den gewünschten Datentyp für den Eingangsparameter "IN" (z.B. Int).
  4. Wiederholen Sie den Vorgang auch für den Ausgangsparameter "OUT" und wählen Sie aus der rechten Klappbox den Datentyp, in den Sie den Zahlenwert konvertieren wollen (z.B. Real). In diesem Beispiel kann nun ein Zahlenwert vom Datentyp Int in den Datentyp Real ("Int to Real") konvertiert werden.

Die Seite befindet sich im Aufbau. Aktuelles Zustand: 23.01.2020

Wenn Sie einen Konverter benötigen, der hier nicht aufgeführt ist, kontaktieren Sie mich bitte. Vielleicht kann ich helfen:

https://www.facebook.com/groups/131889847534947/
(Dies ist eine geschlossene Gruppe, aber wenn Sie auf diese Seite verlinken, werden Sie automatisch eingeschlossen.)

Konvertern installieren in TIA-Portal:

  1. ZIP File: Extrahieren die heruntergeladene Zip-Datei in ein Verzeichnis
  2. TIA Portal → Devices Fenster → External source files → Add new external file → Datei wählen
  3. Online zu Offline wechseln
  4. Klicken mit der rechten Maustaste auf die eingefügte Datei in der Liste → Generate blocks from source
  5. "Block can be overwritten" Warnung → OK klicken
  6. Genießen die Zeit, die wir mit diesem Exemplar gewonnen (vielleicht danke schreiben dem Autor)
Konverter_NameDownloadBeschreibungBild_von_TIA

16 BOOL → WORD und BYTE

SCL DownloadKonvertieren bis zu 16 Bit in Wort und Bytes (HI und LO)
Baustein mit TIA 15.1 getestet.
Bei WORD to BYTE Konversion verwenden nur die ersten acht Bits und setzen den Rest auf (fix) 0.
BOOL -> WORD und BYTE

WORD → 16 BOOL

SCL DownloadWort aufteilen in 16 Bits.
Baustein mit TIA 15.1 getestet.
WORD -> 16 BOOL

BYTE → 8 BOOL

SCL DownloadByte aufteilen in 8 Bits.
Baustein mit TIA 15.1 getestet.
BYTE -> 8 BOOL

STRING → DB REGS

SCL DownloadDer Zweck des Programms besteht darin, den Text (string) für die Modbus-Kommunikation vorzubereiten. Die String wird zeichenweise in den Ziel-DB geschrieben. Achtung! Das Programm enthält keine interne DB-Überprüfung (gibt es DB oder DB-Länge). Die SPS kann aufgrund einer schlechten Parametrierung anhalten!
Baustein mit TIA 15.1 getestet. Parameters:
text: input (String)
write_db_nr: Ziel-DB Nummer (DInt)
write_db_offset: Offset in DB in Bytes (DInt)
fill_char: zusätzlichen Textbereich ausfüllen mit diese Char (Char)
Pic1
Pic2

DB REGS → STRING

SCL DownloadDer Zweck des Programms besteht darin, den Text (string) aus die Modbus-Kommunikation auslesen. Der String wird aus den Modbus-Registern zusammengestellt. Achtung! Das Programm enthält keine interne DB-Überprüfung (gibt es DB oder DB-Länge). Die SPS kann aufgrund einer schlechten Parametrierung anhalten!
Baustein mit TIA 15.1 getestet. Parameters:
read_db_nr: Quelle-DB Nummer (DInt)
read_db_offset: Offset in DB in Bytes (DInt)
fill_char: "leeren" ("00") Bytes ersetzten mit diese Char (Char)
textOut: output (String)
Pic
Liest 64 Zeichen ab Register 32 (von DB6).