Builtin Functions
There are various builtin functions available in the Turck Structured Text compiler. These functions are not defined in any library but are directly implemented in the runtime. They can be used without any imports and are available globally.
STRING FUNCTIONS
Section titled “STRING FUNCTIONS”STR_LEN
Section titled “STR_LEN”Returns the length of the string. Will throw an exception if no null char is present in string.
STR_LEN : UDINTVAR_IN_OUT STRING: ARRAY OF USINTEND_VARSTR_TO_UDINT
Section titled “STR_TO_UDINT”Converts a string to an unsigned double integer.
STR_TO_UDINT : UDINTVAR_IN_OUT STRING: ARRAY OF USINTEND_VARVAR_INPUT BASE: UDINTEND_VARSTR_TO_DINT
Section titled “STR_TO_DINT”Converts a string to a signed double integer.
STR_TO_DINT : DINTVAR_IN_OUT STRING: ARRAY OF USINTEND_VARVAR_INPUT BASE: UDINTEND_VARUDINT_TO_STR
Section titled “UDINT_TO_STR”Converts a unsigned double integer to a string.
UDINT_TO_STR : UDINTVAR_INPUT SOURCE: UDINTEND_VARVAR_IN_OUT STRING: ARRAY OF USINTEND_VARVAR_INPUT BASE: UDINTEND_VARDINT_TO_STR
Section titled “DINT_TO_STR”Converts a signed double integer to a string.
DINT_TO_STR : DINTVAR_INPUT SOURCE: DINTEND_VARVAR_IN_OUT STRING: ARRAY OF USINTEND_VARVAR_INPUT BASE: UDINTEND_VARTIMER FUNCTIONS
Section titled “TIMER FUNCTIONS”START_TIMER
Section titled “START_TIMER”START_TIMER: UDINTVAR_IN_OUT TIMER: TIMEREND_VARVAR_INPUT EXPIRATION_TIME: UDINTEND_VAREXPIRED
Section titled “EXPIRED”EXPIRED: UDINTVAR_IN_OUT TIMER: TIMEREND_VARGET_TIME
Section titled “GET_TIME”GET_TIME: UDINTVAR_IN_OUT TIMER: TIMEREND_VARMIN MAX ABS
Section titled “MIN MAX ABS”MIN_DINT
Section titled “MIN_DINT”MIN_DINT: DINTVAR_INPUT ONE: DINT; TWO: DINT;END_VARMIN_INT
Section titled “MIN_INT”MIN_INT: INTVAR_INPUT ONE: INT; TWO: INT;END_VARMIN_SINT
Section titled “MIN_SINT”MIN_SINT: SINTVAR_INPUT ONE: SINT; TWO: SINT;END_VARMIN_UDINT
Section titled “MIN_UDINT”MIN_UDINT: UDINTVAR_INPUT ONE: UDINT; TWO: UDINT;END_VARMIN_UINT
Section titled “MIN_UINT”MIN_UINT: UINTVAR_INPUT ONE: UINT; TWO: UINT;END_VARMIN_USINT
Section titled “MIN_USINT”MIN_USINT: USINTVAR_INPUT ONE: USINT; TWO: USINT;END_VARMAX_DINT
Section titled “MAX_DINT”MAX_DINT: DINTVAR_INPUT ONE: DINT; TWO: DINT;END_VARMAX_INT
Section titled “MAX_INT”MAX_INT: INTVAR_INPUT ONE: INT; TWO: INT;END_VARMAX_SINT
Section titled “MAX_SINT”MAX_SINT: SINTVAR_INPUT ONE: SINT; TWO: SINT;END_VARMAX_UDINT
Section titled “MAX_UDINT”MAX_UDINT: UDINTVAR_INPUT ONE: UDINT; TWO: UDINT;END_VARMAX_UINT
Section titled “MAX_UINT”MAX_UINT: UINTVAR_INPUT ONE: UINT; TWO: UINT;END_VARMAX_USINT
Section titled “MAX_USINT”MAX_USINT: USINTVAR_INPUT ONE: USINT; TWO: USINT;END_VARABS_DINT
Section titled “ABS_DINT”ABS_DINT: DINTVAR_INPUT ONE: DINT;END_VARABS_INT
Section titled “ABS_INT”ABS_INT: INTVAR_INPUT ONE: INT;END_VARABS_SINT
Section titled “ABS_SINT”ABS_SINT: SINTVAR_INPUT ONE: SINT;END_VARABS_UDINT
Section titled “ABS_UDINT”ABS_UDINT: UDINTVAR_INPUT ONE: UDINT;END_VARABS_UINT
Section titled “ABS_UINT”ABS_UINT: UINTVAR_INPUT ONE: UINT;END_VARABS_USINT
Section titled “ABS_USINT”ABS_USINT: USINTVAR_INPUT ONE: USINT;END_VARGET SET
Section titled “GET SET”LE_GET_UINT
Section titled “LE_GET_UINT”LE_GET_UINT: UINTVAR_IN_OUT ARR: ARRAY OF ANY;END_VARVAR_INPUT OFFSET: UDINT;END_VARBE_GET_UINT
Section titled “BE_GET_UINT”BE_GET_UINT: UINTVAR_IN_OUT ARR: ARRAY OF ANY;END_VARVAR_INPUT OFFSET: UDINT;END_VARLE_GET_UDINT
Section titled “LE_GET_UDINT”LE_GET_UDINT: UDINTVAR_IN_OUT ARR: ARRAY OF ANY;END_VARVAR_INPUT OFFSET: UDINT;END_VARBE_GET_UDINT
Section titled “BE_GET_UDINT”BE_GET_UDINT: UDINTVAR_IN_OUT ARR: ARRAY OF ANY;END_VARVAR_INPUT OFFSET: UDINT;END_VARLE_SET_UINT
Section titled “LE_SET_UINT”LE_SET_UINT: UDINTVAR_INOUT ARR: ARRAY OF ANY;END_VARVAR_INPUT OFFSET: UDINT; VALUE: UDINT;END_VARBE_SET_UINT
Section titled “BE_SET_UINT”BE_SET_UINT: UDINTVAR_INOUT ARR: ARRAY OF ANY;END_VARVAR_INPUT OFFSET: UDINT; VALUE: UDINT;END_VARLE_SET_UDINT
Section titled “LE_SET_UDINT”LE_SET_UDINT: UDINTVAR_INOUT ARR: ARRAY OF ANY;END_VARVAR_INPUT OFFSET: UDINT; VALUE: UDINT;END_VARBE_SET_UDINT
Section titled “BE_SET_UDINT”BE_SET_UDINT: UDINTVAR_INOUT ARR: ARRAY OF ANY;END_VARVAR_INPUT OFFSET: UDINT; VALUE: UDINT;END_VARTriggers
Section titled “Triggers”Change Of State. Returns TRUE if value has changed since last call.
F_COS: USINTVAR_INPUT VALUE: UDINT;END_VARR_TRIG
Section titled “R_TRIG”Rising trigger. Returns TRUE if value changed to TRUE since last call.
R_TRIG: USINTVAR_INPUT VALUE: UDINT;END_VARF_TRIG
Section titled “F_TRIG”Falling trigger. Returns TRUE if value changed to FALSE since last call.
F_TRIG: USINTVAR_INPUT VALUE: UDINT;END_VARF_COS_M
Section titled “F_COS_M”Change Of State. Returns TRUE if value has changed since last call. Functionality similar to F_COS but F_COS_M requires an explicit memory variable.
F_COS_M: USINTVAR_INPUT VALUE: UDINT;END_VARVAR_IN_OUT MEM: UDINT;END_VARR_TRIG_M
Section titled “R_TRIG_M”Rising trigger. Returns TRUE if value changed to TRUE since last call. Functionality similar to R_TRIG but R_TRIG_M requires an explicit memory variable.
R_TRIG_M: USINTVAR_INPUT VALUE: UDINT;END_VARVAR_IN_OUT MEM: UDINT;END_VARF_TRIG_M
Section titled “F_TRIG_M”Falling trigger. Returns TRUE if value changed to FALSE since last call. Functionality similar to F_TRIG but F_TRIG_M requires an explicit memory variable.
F_TRIG_M: USINTVAR_INPUT VALUE: UDINT;END_VARVAR_IN_OUT MEM: UDINT;END_VAR];