de:s7:elem_datatypes

Differences

This shows you the differences between two versions of the page.

de:s7:elem_datatypes [2022/04/21 15:01] ()
 1:  1:
 +====== Simatic datatypes ======
 +====== TIA Portal datatypes ======
 +|**Binaries**|
 +|//Datatyp//|//width (bits)//|//range of values//|//examples//|//S7-300/400//|//S7-1200//|//S7-1500//|
 +|BOOL (x) \\ [[de:s7:tia_datatypes#bool|conversion]] |1 \\ (S7-1500 optimized \\ 1 Byte)|FALSE or TRUE \\ BOOL#0 or BOOL#1 \\ BOOL#FALSE oder BOOL#TRUE|TRUE \\ BOOL#1 \\ BOOL#TRUE|X|X|X|
 +|BYTE (b)|8|B#16#00 .. B#16#FF \\ -128 .. +127 or 0 .. +255 \\ 2#0 .. 2#11111111|15, \\ BYTE#15, \\ B#15|X|X|X|
 +|WORD (w)|16|W#16#0000 .. W#16#FFFF \\ -32768 .. 65535 \\ B#(0, 0) .. B#(255, 255) |55555,\\ WORD#55555,\\ W#555555|X|X|X|
 +|DWORD (dw)|32|DW#16#0000 0000 .. DW#16#FFFF FFFF|DW#16#DEAD BEEF \\ B#(111, 222, 255, 200)|X|X|X|
 +|LWORD (lw)|64|LW#16#0000 0000 0000 0000 .. \\ LW#16#FFFF FFFF FFFF FFFF \\ -9223372036854775808 .. \\ 18446744073709551615|LW#16#DEAD BEEF DEAD BEEF \\ B#(111, 222, 255, 200, 111, 222, 255, 200)|-|-|X|
 +|**Integers**|
 +|//Datatyp//|//width (bits)//|//range of values//|//examples//|//S7-300/400//|//S7-1200//|//S7-1500//|
 +|SINT (si)|8|-128 bis 127 \\ (hex nur poz.) 16#0 bis 16#7F|+42, SINT#+42 \\ 16#1A, SINT#16#2A|-|X|X|
 +|INT (i)|16|-32768 bis 32767 \\ (hex nur poz.) 16#0 bis 16#7FFF |+1234, INT#+3221 \\ 16#1ABC|X|X|X|
 +|DINT (di)|32|-2147483648 bis +2147483647 \\ (hex nur poz.) \\ 16#00000000 bis 16#7FFFFFFF|123456, DINT#123456, \\ 16#1ABC BEEF|X|X|X|
 +|USINT (usi)|8|0 bis 255|42, USINT#42 \\ 16#FF|-|X|X|
 +|UINT (ui)|16|0 bis 65535|12345, UINT#12345 \\ 16#BEEF|-|X|X|
 +|UDINT (udi)|32|0 bis 4294967295|1234567890, UDINT#1234567890 |-|X|X|
 +|LINT (li)|64|-9223372036854775808 bis +9223372036854775807|+1234567890123456789, LINT#+1234567890123456789|-|-|X|
 +|ULINT (uli)|64|0 bis 18446744073709551615|123456789012345, ULINT#123456789012345|-|-|X|
 +|**floating point numbers**|
 +|//Datatyp//|//width (bits)//|//range of values//|//examples//|//S7-300/400//|//S7-1200//|//S7-1500//|
 +|REAL ( r)|32|-3.402823e+38 bis -1.175 495e-38 \\ bis \\ +1.175 495e-38 bis +3.402823e+38|0.0, REAL#0.0 \\ 1.0e-13, REAL#1.0e-13|X|X|X|
 +|LREAL (lr)|64|-1.7976931348623158e+308 bis -2.2250738585072014e-308 \\ bis \\ +2.2250738585072014e-308 bis +1.7976931348623158e+308|0.0, LREAL#0.0|-|X|X|
 +|**Times**|
 +|//Datatyp//|//width (bits)//|//range of values//|//examples//|//S7-300/400//|//S7-1200//|//S7-1500//|
 +|S5TIME (s5t) \\ [[#s5time|→details]]|16|S5T#0H_0M_0S_0MS bis S5T#2H_46M_30S_0MS|S5T#10s, S5TIME#10s|X|-|X|
 +|TIME (t)|32|T#-24d20h31m23s648ms bis T#+24d20h31m23s647ms|T#13d14h15m16s630ms, TIME#1d2h3m4s5ms|X|X|X|
 +|LTIME (lt)|64|LT#-106751d23h47m16s854ms775us808ns bis LT#+106751d23h47m16s854ms775us807ns|LT#1000d10h15m24s130ms152us15ns, LTIME#200d2h2m1s8ms652us315ns|-|-|X|
 +|**Timer operations:** **[[de:s7:scl_reference_timers#iec_timers|IEC timers]]**, **[[de:s7:scl_reference_timers#ton|TON]]** (Generate on-delay),  **[[de:s7:scl_reference_timers#tof|TOF]]** (Generate off-delay),  **[[de:s7:scl_reference_timers#tp|TP]]** (Generate pulse),  **[[de:s7:scl_reference_timers#tonr|TONR]]** (Time accumulator) ||||||
 +|**Counters**|
 +|//Datatyp//|//width (bits)//|//range of values//|//examples//|//S7-300/400//|//S7-1200//|//S7-1500//|
 +|CHAR (c)|8|ASCII-Zeichensatz|'A', CHAR#'A'|X|X|X|
 +|WCHAR (wc)|16|Unicode-Zeichensatz|WCHAR#'A'|-|X|X|
 +|STRING (s) \\ [[#string|→details]]|n+2 (Byte)|0 bis 254 Zeichen (n)|'Name', STRING#'OB121'|X|X|X|
 +|WSTRING (ws)|n+2 (Word)|0 bis 16382 Zeichen (n)|WSTRING#'OB121'|-|X|X|
 +|**Counter operations:** **[[de:s7:scl_reference_math#ctu|CTU]]** (count up), **[[de:s7:scl_reference_math#ctd|CTD]]** (count down), **[[de:s7:scl_reference_math#ctud|CTUD]]** (count up and down) ||||||
 +|**Date & time**|
 +|//Datatyp//|//width (bits)//|//range of values//|//examples//|//S7-300/400//|//S7-1200//|//S7-1500//|
 +|DATE (d)|16|D#1990-01-01 bis D#2168-12-31|D#2020-08-14, DATE#2020-08-14|X|X|X|
 +|TOD (tod) \\ (TIME_OF_DAY)|32|TOD#00:00:00.000 bis TOD#23:59:59.999|TOD#11:22:33.444, \\ TIME_OF_DAY#11:22:33.444|X|X|X|
 +|LTOD (ltod) \\ (LTIME_OF_DAY)|64|LTOD#00:00:00.000000000 bis \\ LTOD#23:59:59.999999999|LTOD#11:22:33.444_555_111, \\ LTIME_OF_DAY#11:22:33.444_555_111|-|-|X|
 +|DT (dt) \\ (DATE_AND_TIME)|64|Min.: DT#1990-01-01-0:0:0 \\ Max.: DT#2089-12-31-23:59:59.999|DT#2020-08-14-2:44:33.111, \\ DATE_AND_TIME#2020-08-14-11:22:33.444|X|-|X|
 +|LDT (ldt) \\ (L_DATE_AND_TIME)|64|Min.: LDT#1970-01-01-0:0:0.000000000, 16#0 \\ Max.: LDT#2262-04-11-23:47:16.854775807, \\ 16#7FFF_FFFF_FFFF_FFFF|LDT#2020-08-14-1:2:3.4|-|-|X|
 +|DTL (dtl)|96|Min.: DTL#1970-01-01-00:00:00.0 \\ Max.: DTL#2554-12-31-23:59:59.999999999|DTL#2020-08-14-10:12:13.23|-|X|X|
 +|**Pointers**|
 +|//Datatyp//|//width (bits)//|//range of values//|//examples//|//S7-300/400//|//S7-1200//|//S7-1500//|
 +|POINTER (p)|48||Symbolisch: "DB"."Tag" \\ Absolut: \\ P#10.0 \\ P#DB4.DBX3.2|X|-|X|
 +|ANY (any)|80||Symbolisch: \\ "DB".StructVariable.ErsteKomponente \\  Absolut: P#DB11.DBX12.0 INT 3 \\ P#M20.0 BYTE 10|X|-|X|
 +|VARIANT (var)|0||Symbolisch:\\ "Daten_TIA_Portal".\\ StructVariable.ErsteKomponente \\ Absolut: %MW10 \\ P#DB10.DBX10.0 INT 12|-|X|X|
  
 +
 +====== Elementare Datentypen Simatic classic ======
 +| ** Typ und Beschreibung ** | ** Größe in Bits ** | ** Formatoptionen ** | ** Bereichs- und Nummernnotation \\ (niedrigster bis höchster Wert) ** | ** Beispiel in STL ** |
 +|BOOL (Bit)|  1|Boolean text |TRUE/FALSE |TRUE|
 +|BYTE (Byte)|  8|Hexadecimal number|B#16#0 to B#16#FF |L B#16#10\\ L byte#16#10|
 +|WORD (Word)|  16|Binary number|2#0 to 2#1111_1111_1111_1111|L 2#0001_0000_0000_0000|
 +|Hexadecimal number|W#16#0 to W#16#FFFF|L W#16#1000\\ L word#16#1000|
 +|BCD|C#0 to C#999|L C#998|
 +|Decimal number unsigned|B#(0,0) to B#(255,255)|L B#(10,20)\\ L byte#(10,20)|
 +|DWORD (Double word)|  32|Binary number|2#0 to 2#1111_1111_1111_1111_\\ 1111_1111_1111_1111| L 2#1000_0001_0001_1000_\\ 1011_1011_0111_1111 |
 +|Hexadecimal number|W#16#0000_0000 to W#16#FFFF_FFFF|L DW#16#00A2_1234\\ L dword#16#00A2_1234|
 +|Decimal number unsigned|B#(0,0,0,0) to B#(255,255,255,255)|L B#(1, 14, 100, 120)\\ L byte#(1,14,100,120)|
 +|INT (Integer)|  16|Decimal number signed|-32768 to 32767|L 101|
 +|DINT (Double integer)|  32|Decimal number signed|L#-2147483648 to L#2147483647|L L#101|
 +|REAL (Floating-point number)|  32|IEEE Floating-point number|Upper limit +/-3.402823e+38\\ Lower limit +/-1.175495e-38|L 1.234567e+13|
 +|S5TIME (SIMATIC time)|  16|S7 time in steps of 10ms (default)|S5T#0H_0M_0S_10MS to\\ S5T#2H_46M_30S_0MS and\\ S5T#0H_0M_0S_0MS|L S5T#0H_1M_0S_0MS\\ L S5TIME#0H_1H_1M_0S_0MS|
 +|TIME (IEC time)|  32|IEC time in steps of 1 ms, integer signed|T#24D_20H_31M_23S_648MS\\ to\\ T#24D_20H_31M_23S_647MS|L T#0D_1H_1M_0S_0MS\\ L TIME#0D_1H_1M_0S_0MS|
 +|DATE (IEC date)|  16|IEC date in steps of 1 day|D#1990-1-1 to\\ D#2168-12-31|L D#1996-3-15\\ L DATE#1996-3-15|
 +|TIME _OF_DAY (Time)|  32|Time in steps of 1 ms|TOD#0:0:0.0 to\\ TOD#23:59:59.999|L TOD#1:10:3.3\\ L TIME_OF_DAY#1:10:3.3|
 +|CHAR (Character)|  8|ASCII characters|A', 'B' etc.|L 'E'|
 +
 +====== Details ======
 +===== String =====
 +Zeichenfolgentypen in S7 werden nicht wie Zeichenfolgen im C-Stil mit NULL //"terminated"//. Sie haben stattdessen 2 "versteckte" Zeichen, die den Zeichenfolgendaten vorangehen. Das erste versteckte Zeichen ist die maximale Größe der Zeichenfolge, die im obigen Beispiel 'n' ist, und das zweite ausgeblendete Zeichen ist die tatsächliche Länge der Zeichenfolge (d. H. Die Anzahl der gespeicherten Zeichen).
 +
 +Die String-Definition MyStr: STRING [10]: = "abcdef" würde also die folgende ASCII-Codes enthalten: 
 +
 +10, 06, 97, 98, 99, 100, 101, 102
 +
 +10: maximale (deklarierte) Länge der Zeichenfolge \\
 +06: die aktuelle Länge der Zeichenfolge \\
 +97, 98: "a", "b",..
 +===== S5TIME =====
 +
 +   * Unterstriche in Uhrzeit und Datum sind optional
 +   * Es müssen nicht alle Zeiteinheiten angegeben werden (zum Beispiel: T # 5h10s ist gültig)
 +   * Maximaler Zeitwert = 9.990 Sekunden oder 2H_46M_30S
 +
 +==== S5TIME Struktur ====
 +{{:de:s7:s5timeformat.png?400|"S5TIME" Format}}
 +
 +|Time base|Binary Code|
 +|10 ms|00|
 +|100 ms|01|
 +|1 s|10|
 +|10 s|11|
  • de/s7/elem_datatypes.txt
  • 2022/04/21 15:01
  • ()