Conversione: Intero
Gli operatori convertono un valore intero nel tipo di destinazione e restituiscono un valore convertito in base al tipo. Se il numero da convertire supera il limite di intervallo, i primi byte del numero vengono ignorati.
Sintassi della chiamata: <tipo intero>_TO_<tipo standard> ( <operando> )
| Operando | Tipo di dati | Descrizione | 
|---|---|---|
| Variabile, letterale |   | 
|   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|   | - |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   | 
|   |   | - |   |   |   |   |   |   |   |   |   |   |   |   |   |   | 
|   |   |   | - |   |   |   |   |   |   |   |   |   |   |   |   |   | 
|   |   |   |   | - |   |   |   |   |   |   |   |   |   |   |   |   | 
|   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   | 
|   |   |   |   |   | - |   |   |   |   |   |   |   |   |   |   |   | 
|   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   | 
|   |   |   |   |   |   | - |   |   |   |   |   |   |   |   |   |   | 
|   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   | 
|   |   |   |   |   |   |   | - |   |   |   |   |   |   |   |   |   | 
|   |   |   |   |   |   |   |   | - |   |   |   |   |   |   |   |   | 
|   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   | 
|   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   | 
|   |   |   |   |   |   |   |   |   | - |   |   |   |   |   |   |   | 
|   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   | 
|   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   | 
|   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   | 
|   |   |   |   |   |   |   |   |   |   | - |   |   |   |   |   |   | 
|   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   | 
|   |   |   |   |   |   |   |   |   |   |   | - |   |   |   |   |   | 
|   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   | 
|   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   | 
|   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   | 
|   |   |   |   |   |   |   |   |   |   |   |   | - |   |   |   |   | 
|   |   |   |   |   |   |   |   |   |   |   |   |   | - |   |   |   | 
|   |   |   |   |   |   |   |   |   |   |   |   |   |   | - |   |   | 
|   |   |   |   |   |   |   |   |   |   |   |   |   |   |   | - |   | 
|   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   | - | 
|   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   | 
Conversione in una stringa
Gli operatori che convertono un valore in una stringa di tipo STRING O WSTRING richiedono un operando che corrisponda al tipo di dati di destinazione.
Quando un tipo di dati più grande viene convertito in un tipo di dati più piccolo, i byte di ordine più alto (anteriore) vengono troncati. Quando un tipo di dati più piccolo viene convertito in un tipo di dati più grande, i byte di ordine più alto vengono riempiti con zeri.
Dichiarazione in ST di FB_ConvertIntegersFromInt
FUNCTION_BLOCK FB_ConvertIntegersFromInt
VAR
    uxiReturn: __UXINT;
    xiReturn: __XINT;
    xwReturn: __XWORD;
    bitReturn: BIT;
    xReturn: BOOL;
    bReturn: BYTE;
    dateReturn: DATE;
    diReturn: DINT;
    dtReturn: DATE_AND_TIME;
    dwReturn: DWORD;
    liReturn: LINT;
    lrReturn: LREAL;
    lwReturn: LWORD;
    siReturn: SINT;
    sReturn: STRING;
    timReturn: TIME;
    todReturn: TIME_OF_DAY;
    udiReturn: UDINT;
    uiReturn: UINT;
    usiReturn: USINT;
    wReturn: WORD;
    wsReturn: WSTRING;
    uliReturn: ULINT;
END_VARImplementazione in ST di FB_ConvertIntegersFromInt
uxiReturn := INT_TO___UXINT(127); xiReturn := INT_TO___XINT(127); xwReturn := INT_TO___XWORD(127); bitReturn := INT_TO_BIT(127); xReturn := INT_TO_BOOL(127); bReturn := INT_TO_BYTE(127); dateReturn := INT_TO_DATE(127); diReturn := INT_TO_DINT(127); dtReturn := INT_TO_DT(127); dwReturn := INT_TO_DWORD(127); liReturn := INT_TO_LINT(127); lrReturn := INT_TO_LREAL(127); lwReturn := INT_TO_LWORD(127); siReturn := INT_TO_SINT(127); sReturn := INT_TO_STRING(127); timReturn := INT_TO_TIME(127); todReturn := INT_TO_TOD(127); udiReturn := INT_TO_UDINT(127); uiReturn := INT_TO_UINT(127); uliReturn := INT_TO_ULINT(127); usiReturn := INT_TO_USINT(127); wReturn := INT_TO_WORD(127); wsReturn := INT_TO_WSTRING(127);
Dichiarazione in ST di FB_ConvertIntegersToInt
FUNCTION_BLOCK FB_ConvertIntegersToInt
VAR
    iReturn_uxi: INT;
    iReturn_xi: INT;
    iReturn_xw: INT;
    iReturn_bit: INT;
    iReturn_bool: INT;
    iReturn_b: INT;
    iReturn_d: INT;
    iReturn_di: INT;
    iReturn_dt: INT;
    iReturn_dw: INT;
    iReturn_li: INT;
    iReturn_lr: INT;
    iReturn_lw: INT;
    iReturn_r: INT;
    iReturn_si: INT;
    iReturn_s: INT;
    iReturn_tim: INT;
    iReturn_tod: INT;
    iReturn_tod_0: INT;
    iReturn_udi: INT;
    iReturn_ui: INT;
    iReturn_uli: INT;
    iReturn_usi: INT;
    iReturn_w: INT;
    iReturn_ws: INT;
END_VAR
Implementazione in ST di FB_ConvertIntegersToInt
FUNCTION_BLOCK FB_ConvertIntegersFromInt
VAR_INPUT
END_VAR
VAR_OUTPUT
END_VAR
VAR
        uxiReturn: __UXINT;
        xiReturn: __XINT;
        xwReturn: __XWORD;
        bitReturn: BIT;
        xReturn: BOOL;
        bReturn: BYTE;
        dateReturn: DATE;
        diReturn: DINT;
        dtReturn: DATE_AND_TIME;
        dwReturn: DWORD;
        liReturn: LINT;
        lrReturn: LREAL;
        lwReturn: LWORD;
        siReturn: SINT;
        sReturn: STRING;
        timReturn: TIME;
        todReturn: TIME_OF_DAY;
        udiReturn: UDINT;
        uiReturn: UINT;
        usiReturn: USINT;
        wReturn: WORD;
        wsReturn: WSTRING;
        uliReturn: ULINT;
END_VAR
uxiReturn := INT_TO___UXINT(127);
xiReturn := INT_TO___XINT(127);
xwReturn := INT_TO___XWORD(127);
bitReturn := INT_TO_BIT(127);
xReturn := INT_TO_BOOL(127);
bReturn := INT_TO_BYTE(127);
dateReturn := INT_TO_DATE(127);
diReturn := INT_TO_DINT(127);
dtReturn := INT_TO_DT(127);
dwReturn := INT_TO_DWORD(127);
liReturn := INT_TO_LINT(127);
lrReturn := INT_TO_LREAL(127);
lwReturn := INT_TO_LWORD(127);
siReturn := INT_TO_SINT(127);
sReturn := INT_TO_STRING(127);
timReturn := INT_TO_TIME(127);
todReturn := INT_TO_TOD(127);
udiReturn := INT_TO_UDINT(127);
uiReturn := INT_TO_UINT(127);
uliReturn := INT_TO_ULINT(127);
usiReturn := INT_TO_USINT(127);
wReturn := INT_TO_WORD(127);
wsReturn := INT_TO_WSTRING(127);
FUNCTION_BLOCK FB_ConvertIntegersToInt
VAR_INPUT
END_VAR
VAR_OUTPUT
END_VAR
VAR
        iReturn_uxi: INT;
        iReturn_xi: INT;
        iReturn_xw: INT;
        iReturn_bit: INT;
        iReturn_bool: INT;
        iReturn_b: INT;
        iReturn_d: INT;
        iReturn_di: INT;
        iReturn_dt: INT;
        iReturn_dw: INT;
        iReturn_li: INT;
        iReturn_lr: INT;
        iReturn_lw: INT;
        iReturn_r: INT;
        iReturn_si: INT;
        iReturn_s: INT;
        iReturn_tim: INT;
        iReturn_tod: INT;
        iReturn_tod_0: INT;
        iReturn_udi: INT;
        iReturn_ui: INT;
        iReturn_uli: INT;
        iReturn_usi: INT;
        iReturn_w: INT;
        iReturn_ws: INT;
END_VAR
iReturn_uxi := __UXINT_TO_INT(18446744073709551615);
iReturn_xi := __XINT_TO_INT(9223372036854775807);
iReturn_xw := __XWORD_TO_INT(16#FFFF_FFFF_FFFF_FFFF);
iReturn_bit := BIT_TO_INT(1);
iReturn_bool := BOOL_TO_INT(TRUE);
iReturn_b := BYTE_TO_INT(2#1111_0000);
iReturn_d := DATE_TO_INT(DATE#2019-9-13);
iReturn_di := DINT_TO_INT(2147483647);
iReturn_dt := DT_TO_INT(DT#1979-1-1-00:00:00);
iReturn_dw := DWORD_TO_INT(16#FFFF_FFFF);
// iReturn_i := INT_TO_<>(iData_12);
iReturn_li := LINT_TO_INT(9223372036854775807);
iReturn_lr := LREAL_TO_INT(1.7976931348623157E+30);
iReturn_lw := LWORD_TO_INT(16#FFFF_FFFF_FFFF_FFFF);
iReturn_r := REAL_TO_INT(3.402823E+38);
iReturn_si := SINT_TO_INT(127);
iReturn_s := STRING_TO_INT('127');
iReturn_tim := TIME_TO_INT(T#49D17H2M47S295MS);
iReturn_tod := TOD_TO_INT(TOD#23:59:59.999);
iReturn_tod_0 := TOD_TO_INT(TOD#1:1:1.001);
iReturn_udi := UDINT_TO_INT(4294967295);
iReturn_ui := UINT_TO_INT(65535);
iReturn_uli := ULINT_TO_INT(18446744073709551615);
iReturn_usi := USINT_TO_INT(255);
iReturn_w := WORD_TO_INT(16#FFFF);
iReturn_ws := WSTRING_TO_INT("1234567890");
PROGRAM PLC_PRG
VAR
        fbConvertIntegersFromInt : FB_ConvertIntegersFromInt;
        fbConvertIntegersToInt : FB_ConvertIntegersToInt;
END_VAR
fbConvertIntegersFromInt();
fbConvertIntegersToInt();Esecuzione

