Skip to content

ST Supported Datatypes Coming Soon

This section lists all the supported IEC 61131-3 Structured Text datatypes.

Standard Datatypes

NameSizeProperties
BOOL8 bitSigned
BYTE8 bitUnsigned
WORD16 bitUnsigned
DWORD32 bitUnsigned
LWORD64 bitunsigned
SINT8 bitSigned
USINT8 bitUnsigned
INT16 bitSigned
UINT16 bitUnsigned
DINT32 bitSigned
UDINT32 bitUnsigned
LINT64 bitSigned
ULINT64 bitUnsigned
REAL32 bitFloat
LREAL64 bitFloat
__VOIDUndefined

Declaration examples

ST
A := BOOL#0
A := TRUE
A := UNIT#2
A := abc=USINT#16#FFFF

Strings

NameSizeEncoding
STRINGn+1UTF-8
WSTRING2n+2UTF-16

String simple examples

ST
A : STRING;
A : STRING[10];
A : WSTRING := 'Hello World';
A : STRING[20] := 'Hello World';

Date & Time

NameSizeInternally stored as
TIME64 bitTimespan in nanoseconds
TIME_OF_DAY64 bitNanoseconds since Jan 1, 1970 UTC
DATE64 bitNanoseconds since Jan 1, 1970 UTC
DATE_AND_TIME64 bitNanoseconds since Jan 1, 1970 UTC

Date examples

ST
A : DATE := DATE#2024-04-02;
A : DATE := DATE#1-12-24;
A : DATE := D#2024-1-1;

Date & Time examples

ST
A : DATE_AND_TIME := DATE_AND_TIME#2024-05-02-14:20:10.25;
A : DATE_AND_TIME := DATE_AND_TIME#1-11-24-00:00:1;
A : DATE_AND_TIME := DT#2024-11-1-23:59:59.999;

Time Of Day examples

ST
A : TIME_OF_DAY := TIME_OF_DAY#15:06:3.35;
A : TIME_OF_DAY := TIME_OF_DY#1:00:1;
A : TIME_OF_DAY := TOD#23:59:59.999;

Time examples

ST
A : TIME := TIME#4d1h8m8s11ms;
A : TIME := T#3d4.4h;
A : TIME := T#-11s3ms23ns;

Structure type supported

Example

ST
TYPE ANALOG_CHANNEL_CONFIGURATION :
    STRUCT
        RANGE : ANALOG_SIGNAL_RANGE ; MIN_SCALE : ANALOG_DATA ; MAX_SCALE : ANALOG_DATA;
    END_STRUCT; 
ANALOG_16_INPUT_CONFIGURATION :
    STRUCT
        SIGNAL_TYPE : ANALOG_SIGNAL_TYPE;
        FILTER_PARAMETER : SINT (0..99);
        CHANNEL : ARRAY [1..16] OF ANALOG_CHANNEL_CONFIGURATION;
    END_STRUCT ; 
END_TYPE

Enumerated type

Example

ST
TYPE 
    ANALOG_SIGNAL_TYPE : (SINGLE_ENDED, DIFFERENTIAL); 
END_TYPE

Sub-range type

Example

ST
TYPE 
    ANALOG_DATA : INT (-4095..4095); 
END_TYPE

Array type

Example

ST
TYPE ANALOG_16_INPUT_DATA : 
    ARRAY [1..16] OF ANALOG_DATA; 
END_TYPE