Definition und Zweck:
 Ein Datentyp ist eine grundlegende Eigenschaft einer Variable oder eines Wertes in der Programmierung, die festlegt, welche Art von Daten in dieser Variable gespeichert werden können und welche Operationen mit ihr zulässig sind. In der SPS-Programmierung ist die korrekte Wahl des Datentyps entscheidend für die Funktionalität, Effizienz und Fehlerfreiheit des Programms.
Der Datentyp bestimmt im Wesentlichen:
- Den Wertebereich: Welche Werte können gespeichert werden (z.B. ganze Zahlen, Fließkommazahlen, Text).
- Den Speicherbedarf: Wie viel Speicherplatz die Variable in der SPS belegt (z.B. 1 Bit für BOOL, 8 Bit für BYTE, 16 Bit für INT, 32 Bit für REAL).
- Die zulässigen Operationen: Welche mathematischen oder logischen Operationen mit der Variable durchgeführt werden können.
Gängige Datentypen in der SPS-Programmierung (nach IEC 61131-3):
- BOOL (Boolean): Für binäre Zustände (TRUE/FALSE, 0/1). Ideal für digitale Ein- und Ausgänge, Schalter, Lampen.
- BYTE: 8-Bit-Ganzzahl (0 bis 255). Für kompakte Bitmuster oder kleine Zählwerte.
- WORD: 16-Bit-Ganzzahl (0 bis 65535 oder -32768 bis +32767). Für Zählwerte, Alarme, Statuswörter.
- DWORD (Double Word): 32-Bit-Ganzzahl (0 bis 4.294.967.295 oder -2.147.483.648 bis +2.147.483.647). Für große Zählwerte, Zeitstempel.
- INT (Integer): 16-Bit-Ganzzahl mit Vorzeichen.
- DINT (Double Integer): 32-Bit-Ganzzahl mit Vorzeichen.
- REAL (Real Number/Float): 32-Bit-Gleitkommazahl. Für analoge Werte, Temperaturen, Drücke, da diese kontinuierliche Werte darstellen.
- LREAL (Long Real): 64-Bit-Gleitkommazahl für höhere Präzision.
- STRING: Für Textzeichenketten (z.B. Fehlermeldungen, Bedienertexte).
- TIME: Für Zeitdauern (z.B. T#5s für 5 Sekunden).
- DATE, TIME_OF_DAY (TOD), DATE_AND_TIME (DT): Für Datums- und Uhrzeitangaben.
- UDT (User Defined Type) / STRUCT: Benutzerdefinierte Datentypen, die eine Kombination verschiedener Datentypen zu einer logischen Einheit ermöglichen.
Bedeutung in der Automatisierung:
 Die korrekte Verwendung von Datentypen ist entscheidend für:
- Speichereffizienz: Vermeidung von unnötigem Speicherverbrauch.
- Genauigkeit der Berechnungen: Wahl des passenden Typs für Analogwerte oder komplexe Zahlen.
- Fehlervermeidung: Verhindert Datenüberläufe oder falsche Operationen.
- Lesbarkeit und Wartbarkeit: Klare Definitionen machen den Code verständlicher.
- Kommunikation: Sicherstellung, dass Daten zwischen SPSen, HMIs und anderen Systemen korrekt interpretiert werden.
→ Siehe auch: Variable, BOOL, INT, REAL, STRING, BYTE, Wort (Word), Doppelwort (Double Word, DWord), UDT (User Defined Type)

