Page tree

Diese Dokumentation ist nicht aktuell!

Gehen Sie bitte zu: http://help.logicals.com/lco3docu/latest/user-documentation/de.


Skip to end of metadata
Go to start of metadata

Sie können folgende Datentypen in Ihrer Anwendung verwenden:

Anwenderdefinierte Datentypen

Ein →anwenderdefinierter Datentyp ist ein →Datentyp, den Sie selbst deklariert haben. Informieren Sie sich unter:

Elementare Datentypen

logi.CAD 3 unterstützt folgende elementare Datentypen:

Datentyp (= →Schlüsselwort)Beschreibung

I: Standard-→Initialisierungswert
U: Untergrenze
O: Obergrenze

BOOL

boolesche

I: 0 oder FALSE

U: 1 (entsprechend Schlüsselwort TRUE)

O: wie Standard-Initialisierungswert (I)

SINTkurze ganze Zahl (short integer)

I: 0

U: -128 (1)

O: 127 (1)

INTganze Zahl (→Integer)

I: 0

U: -32_768 (1) (2)

O: 32_767 (1)

DINTdoppelte ganze Zahl (double integer)

I: 0

U: -2_147_483_648 (1) (2)

O: 2_147_483_647 (1)

LINTlange ganze Zahl (long integer)

I: 0

U: -9_223_372_036_854_775_808 (1) (2)

O: 9_223_372_036_854_775_807 (1)

USINTvorzeichenlose kurze ganze Zahl (unsigned short integer)

I: 0

U: wie Standard-Initialisierungswert (I) (1)

O: 255 (1)

UINTvorzeichenlose ganze Zahl (→Unsigned Integer)

I: 0

U: wie Standard-Initialisierungswert (I) (1)

O: 65_535 (1) (2)

UDINTvorzeichenlose doppelte ganze Zahl (unsigned double integer)

I: 0

U: wie Standard-Initialisierungswert (I) (1)

O: 4_294_967_295 (1) (2)

ULINTvorzeichenlose lange ganze Zahl (unsigned long integer)

I: 0

U: wie Standard-Initialisierungswert (I) (1)

O: 18_446_744_073_709_551_615 (1) (2)

REAL

reelle Zahl (3)

I: 0.0

U: -3.402_823_466e+38 (1) (2) (4)

O: 3.402_823_466e+38 (1) (4)

Werte im Bereich von -1.4e-45 bis 1.4e-45 können von logi.CAD 3 nicht verarbeitet werden (Ausnahme: 0.0 wird verarbeitet). Solche Werte ergeben einen →Unterlauf.

LREAL

I: 0.0

U: -1.797_693_134_862_315_7e+308 (1) (2) (4)

O: 1.797_693_134_862_315_7e+308 (1) (4)

Werte im Bereich von -4.9e-324 bis 4.9e-324 können von logi.CAD 3 nicht verarbeitet werden (Ausnahme: 0.0 wird verarbeitet). Solche Werte ergeben einen →Unterlauf.

TIMEZeitdauer

I: T#0s

U: T#-89_468_321d19h42m34s400ms (2) (entspricht -7730063005354.4s)

O: T#89_468_321d19h42m34s400ms (6) (entspricht 7730063005354.4s)

DATE(nur) Datum

I: DATE#1970-01-01 (7)

U: wie Standard-Initialisierungswert (I)

O: DATE#246_925-12-11 (6) (7) 

TIME_OF_DAY oder TOD(nur) Uhrzeit

I: TOD#00:00:00 (5)

U: wie Standard-Initialisierungswert (I)

O: TOD#23:59:59.999_000_000 (2) (5) (6)

DATE_AND_TIME oder DTDatum und Uhrzeit

I: DT#1970-01-01-00:00:00.000_000_000 (2) (5) (7) 

U: wie Standard-Initialisierungswert (I)

O: DT#246_925-12-11-19:42:34.400  (5) (6) (7) 

STRINGEinzel-Byte-→Zeichenfolge mit variabler Länge

I: '' (leer)

keine Unter-/Obergrenze, da beliebige Zeichenfolge möglich ist

CHAREinzel-Byte-Zeichen

I: '$00' (entsprechend dem Dezimalwert 0 im ANSI-C-Zeichensatz) (8)

U: wie Standard-Initialisierungswert (I)

O: '$FF' (entsprechend dem ÿ-Zeichen bzw. dem Dezimalwert 255 im ANSI-C-Zeichensatz) (8)


BYTE→Bitfolge der Länge 8

I: 16#00

U: wie Standard-Initialisierungswert (I) (1)

O: 16#FF (1)

WORDBitfolge der Länge 16

I: 16#0000

U: wie Standard-Initialisierungswert (I) (1)

O: 16#FFFF (1)

DWORDBitfolge der Länge 32

I: 16#0000_0000 (2)

U: wie Standard-Initialisierungswert (I) (1)

O: 16#FFFF_FFFF (1)

LWORDBitfolge der Länge 64

I: 16#0000_0000_0000_0000 (2)

U: wie Standard-Initialisierungswert (I) (1)

O: 16#FFFF_FFFF_FFFF_FFFF (1)

Hinweise:

(1) Bei diesem Datentyp ist es möglich, die Untergrenze (U) oder Obergrenze (O) mit Hilfe der Begriffe MIN oder MAX zuzuweisen – siehe FAQ-Artikel: Wie wird der Minimalwert oder Maximalwert eines Datentyps zugewiesen? 

(2) Das einzelne Unterstrich-Zeichen _ ist zur besseren Lesbarkeit als Trennzeichen für Werte eingefügt, _ ist für die Werte nicht signifikant. Werte mit _ werden von logi.CAD 3 korrekt interpretiert. 

(3) Ungenauigkeiten bei Gleitkommazahlen (betrifft die Datentypen REAL und LREAL):

Aufgrund der internen Darstellung von Gleitkommazahlen können sich Ungenauigkeiten bei der Verarbeitung von REAL- und LREAL-Werten ergeben. Diese Ungenauigkeiten können bewirken, dass Operationen mit solchen Werten zu einem nicht erwarteten Ergebnis führen. Dies betrifft auch Systembausteine, die REAL- und/oder LREAL-Werte verarbeiten.

(4) REAL-Werte werden intern als "Float-Wert" und LREAL-Werte als "Double-Werte" verwaltet.

Das IEEE-Float-Format sieht für die Darstellung folgende Bestimmungen vor:

REAL

24-Bit-Mantisse
Durch die 24-Bit-Mantisse für REAL-Werte sind 6 Stellen des Werts signifikant. Da sich die 7. Stelle in den meisten Fällen ebenfalls noch – jedoch nicht immer – auf den Rundungswert auswirkt, werden 6 Stellen in jedem Fall als signifikant vorgegeben.

LREAL

53-Bit-Mantisse
Durch die 53-Bit-Mantisse für LREAL-Werte sind 15 Stellen signifikant.

Bei Verwendung eines →Controllino oder →Arduino Nano als SPS vermeiden Sie die Verwendung von Bausteinen/Variablen, die LREAL-Werte verarbeiten/liefern. Details: siehe Zielsystem-spezifische Eigenschaften und Einschränkungen

(5) Werte für TIME_OF_DAY und DATE_AND_TIME sind Zeitangaben in der koordinierten Weltzeit (UTC = Coordinated Universal Time) – unabhängig von dem Zielsystem, das Sie verwenden. Eine Liste über die Zeitzonen pro Land (= Abweichung von UTC) finden Sie z.B. unter http://en.wikipedia.org/wiki/List_of_time_zones_by_country (Stand: 29. Juli 2012). Die Sommerzeit ist in der Liste nicht berücksichtigt. Beispiel: UTC+1 = Ortszeit Berlin (Deutschland), Paris (Frankreich), Rom (Italien) oder Wien (Österreich). Bei einer UTC-Zeit von 13:52 ergibt sich also eine Ortszeit 14:52 (Winterzeit) für z.B. Berlin, Paris, Rom oder Wien.

(6) Der Wertbereich und die Auflösung für TIME, DATETIME_OF_DAY und DATE_AND_TIME ist abhängig von der eingesetzten →SPS. Daher ist der angegebene Wert für die Obergrenze ein Annäherungswert. Die tatsächliche Obergrenze für Ihre Anwendung kann jedoch von diesem Wert abweichen. Siehe Zielsystem-spezifische Eigenschaften und Einschränkungen.

(7) 

Die Untergrenze für DATE bzw. DATE_AND_TIME ist für Literale gültig. Aufgrund von Berechnungen oder Konvertierungen kann logi.CAD 3 Werte bis zu DATE#0001-01-01 bzw. DT#0001-01-01-00:00:00.000_000_000 verarbeiten und darstellen.
 
Werte < DATE#0001-01-01 bzw. DT#0001-01-01-00:00:00.000_000_000 werden in Sekunden im Format OVF(Zahl) angezeigt, und zwar relativ zu DATE#1970-01-01 bzw. DT#1970-01-01-00:00:00.000_000_000.

(8) 

Kombinationen von 3 Zeichen, beginnend mit dem Dollar-Zeichen ($) und gefolgt von 2 Hexadezimal-Ziffern, werden in logi.CAD 3 als entsprechendes Zeichen des ANSI-C-Zeichensatzes interpretiert.

Auf diese Weise können Sie Sonderzeichen, wie z.B. Umlaute, für Einzel-Byte-Zeichenfolgen eingeben. Derzeit werden solche Sonderzeichen in logi.CAD 3 (z.B. in der Sicht Variablenwerte) jedoch so ausgegeben, wie sie eingegeben wurden.
Hier eine Auswahl an Sonderzeichen (eine Liste des ANSI-Zeichensatzes finden Sie unter http://ascii-table.com/ansi-codes.php):

DezimalwertHexadezimal-ZifferEinzugebenSonderzeichen
12880$80
163A3$A3
£
169A9$A9
©
174AE$AE
®
177B1$B1
±
178B2$B2² (hochgestellte Ziffer "2")
179B3$B3³ (hochgestellte Ziffer "3")
188BC $BC 
¼
189BD$BD
½
190BE$BE
¾

196

C4$C4Ä
214D6$D6Ö
220DC$DCÜ
223DF$DFß
228E4$E4
ä
246F6$F6ö
252FC$FCü

Falls die Zeichenkombination '$00' einem einzelnen Zeichen einer STRING-Variable zugewiesen wird, endet die Zeichenfolge der STRING-Variable an dieser Position. Solche Zeichenfolge werden auch in der Sicht Variablenwerte bei $00 terminiert.
In Zuweisungen wird jedoch die vollständige Zeichenfolge übernommen. So ist es möglich, dass die Sicht Variablenwerte einzelne Zeichen hinter $00 darstellt, falls Sie auf zugewiesenen Zeichen hinter $00 zugreifen.