Skip to main content

変換: 整数

演算子は整数値をターゲット型に変換し、型変換された値を返します。変換する数値が範囲制限を超える場合、数値の最初のバイトは無視されます。

呼び出し構文: <整数型>_TO_<標準型> ( <オペランド> )

オペランド

データタイプ

説明

変数、リテラル

__UXINT | __XINT | __XWORD | BIT | BOOL | BYTE | DATE | DATE_AND_TIME | DINT | DT | DWORD | INT | LDATE | LDATE_AND_TIME | LDT | LINT | LREAL | LTIME | LTOD | LWORD | REAL | SINT |STRING | TIME | TOD | TIME_OF_DAY | UDINT | UINT | ULINT | USINT | WORD | WSTRING

Integer

STRING, WSTRING

12. 演算子: <整数型>_TO_<標準型> (行列)

__UXINT

__XINT

__XWORD

BIT

BYTE

DINT

DWORD

INT

LINT

LWORD

SINT

UDINT

UINT

ULINT

USINT

WORD

__UXINT

-

__XINT_TO___UXINT

__XWORD_TO_UXINT

BIT_TO___UXINT

BYTE_TO___UXINT

DINT_TO___UXINT

DWORD_TO___UXINT

INT_TO___UXINT

LINT_TO___UXINT

LWORD_TO___UXINT

SINT_TO___UXINT

UDINT_TO___UXINT

UINT_TO___UXINT

ULINT_TO___UXINT

USINT_TO___XINT

WORD_TO___XINT

__XINT

__UXINT_TO___XINT

-

__XWORD_TO_XINT

BIT_TO___XINT

BYTE_TO___XINT

DINT_TO___XINT

DWORD_TO___XINT

INT_TO___XINT

LINT_TO___XINT

LWORD_TO___XINT

SINT_TO___XINT

UDINT_TO___XINT

UINT_TO___XINT

ULINT_TO___XINT

USINT_TO___XINT

WORD_TO___XINT

__XWORD

__UXINT_TO___XWORD

__XINT_TO___XWORD

-

BIT_TO___XWORD

BYTE_TO___XWORD

DINT_TO___XWORD

DWORD_TO___XWORD

INT_TO___XWORD

LINT_TO___XWORD

LWORD_TO___XWORD

SINT_TO___XWORD

UDINT_TO___XWORD

UINT_TO___XWORD

ULINT_TO___XWORD

USINT_TO___XWORD

WORD_TO___XWORD

BIT

__UXINT_TO_BIT

__XINT_TO_BIT

__XWORD_TO_BIT

-

BYTE_TO_BIT

DINT_TO_BIT

DWORD_TO_BIT

INT_TO_BIT

LINT_TO_BIT

LWORD_TO_BIT

SINT_TO_BIT

UDINT_TO_BIT

UINT_TO_BIT

ULINT_TO_BIT

USINT_TO_BIT

WORD_TO_BIT

BOOL

__UXINT_TO_BOOL

__XINT_TO_BOOL

__XWORD_TO_BOOL

BIT_TO_BOOL

BYTE_TO_BOOL

DINT_TO_BOOL

DWORD_TO_BOOL

INT_TO_BOOL

LINT_TO_BOOL

LWORD_TO_BOOL

SINT_TO_BOOL

UDINT_TO_BOOL

UINT_TO_BOOL

ULINT_TO_BOOL

USINT_TO_BOOL

WORD_TO_BOOL

Byte

__UXINT_TO_BYTE

__XINT_TO_BYTE

__XWORD_TO_BYTE

BIT_TO_BYTE

-

DINT_TO_BYTE

DWORD_TO_BYTE

INT_TO_BYTE

LINT_TO_BYTE

LWORD_TO_BYTE

SINT_TO_BYTE

UDINT_TO_BYTE

UINT_TO_BYTE

ULINT_TO_BYTE

USINT_TO_BYTE

WORD_TO_BYTE

DATE

__UXINT_TO_DATE

__XINT_TO_DATE

__XWORD_TO_DATE

BIT_TO_DATE

BYTE_TO_DATE

DINT_TO_DATE

DWORD_TO_DATE

INT_TO_DATE

LINT_TO_DATE

LWORD_TO_DATE

SINT_TO_DATE

UDINT_TO_DATE

UINT_TO_DATE

ULINT_TO_DATE

USINT_TO_DATE

WORD_TO_DATE

DINT

__UXINT_TO_DINT

__XINT_TO_DINT

__XWORD_TO_DINT

BIT_TO_DINT

BYTE_TO_DINT

-

DWORD_TO_DINT

INT_TO_DINT

LINT_TO_DINT

LWORD_TO_DINT

SINT_TO_DINT

UDINT_TO_DINT

UINT_TO_DINT

ULINT_TO_DINT

USINT_TO_DINT

WORD_TO_DINT

DT

__UXINT_TO_DT

__XINT_TO_DT

__XWORD_TO_DT

BIT_TO_DT

BYTE_TO_DT

DINT_TO_DT

DWORD_TO_DT

INT_TO_DT

LINT_TO_DT

LWORD_TO_DT

SINT_TO_DT

UDINT_TO_DT

UINT_TO_DT

ULINT_TO_DT

USINT_TO_DT

WORD_TO_DT

DWORD

__UXINT_TO_DWORD

__XINT_TO_DWORD

__XWORD_TO_DWORD

BIT_TO_DWORD

BYTE_TO_DWORD

DINT_TO_DWORD

-

INT_TO_DWORD

LINT_TO_DWORD

LWORD_TO_DWORD

SINT_TO_DWORD

UDINT_TO_DWORD

UINT_TO_DWORD

ULINT_TO_DWORD

USINT_TO_DWORD

WORD_TO_DWORD

INT

__UXINT_TO_INT

__XINT_TO_INT

__XWORD_TO_INT

BIT_TO_INT

BYTE_TO_INT

DINT_TO_INT

DWORD_TO_INT

-

LINT_TO_INT

LWORD_TO_INT

SINT_TO_INT

UDINT_TO_INT

UINT_TO_INT

ULINT_TO_INT

USINT_TO_INT

WORD_TO_INT

LDATE

__UXINT_TO_LDATE

__XINT_TO_LDATE

__XWORD_TO_LDATE

BIT_TO_LDATE

BYTE_TO_LDATE

DINT_TO_LDATE

DWORD_TO_LDATE

INT_TO_LDATE

LINT_TO_LDATE

LWORD_TO_LDATE

SINT_TO_LDATE

UDINT_TO_LDATE

UINT_TO_LDATE

ULINT_TO_LDATE

USINT_TO_LDATE

WORD_TO_LDATE

LDT

__UXINT_TO_LDT

__XINT_TO_LDT

__XWORD_TO_LDT

BIT_TO_LDT

BYTE_TO_LDT

DINT_TO_LDT

DWORD_TO_LDT

INT_TO_LDT

LINT_TO_LDT

LWORD_TO_LDT

SINT_TO_LDT

UDINT_TO_LDT

UINT_TO_LDT

ULINT_TO_LDT

USINT_TO_LDT

WORD_TO_LDT

LINT

__UXINT_TO_LINT

__XINT_TO_LINT

__XWORD_TO_LINT

BIT_TO_LINT

BYTE_TO_LINT

DINT_TO_LINT

DWORD_TO_LINT

INT_TO_LINT

-

LWORD_TO_LINT

SINT_TO_LINT

UDINT_TO_LINT

UINT_TO_LINT

ULINT_TO_LINT

USINT_TO_LINT

WORD_TO_LINT

LREAL

__UXINT_TO_LREAL

__XINT_TO_LREAL

__XWORD_TO_LREAL

BIT_TO_LREAL

BYTE_TO_LREAL

DINT_TO_LREAL

DWORD_TO_LREAL

INT_TO_LREAL

LINT_TO_LREAL

LWORD_TO_LREAL

SINT_TO_LREAL

UDINT_TO_LREAL

UINT_TO_LREAL

ULINT_TO_LREAL

USINT_TO_LREAL

WORD_TO_LREAL

LTIME

__UXINT_TO_LTIME

__XINT_TO_LTIME

__XWORD_TO_LTIME

BIT_TO_LTIME

BYTE_TO_LTIME

DINT_TO_LTIME

DWORD_TO_LTIME

INT_TO_LTIME

LINT_TO_LTIME

LWORD_TO_LTIME

SINT_TO_LTIME

UDINT_TO_LTIME

UINT_TO_LTIME

ULINT_TO_LTIME

USINT_TO_LTIME

WORD_TO_LTIME

LTOD

__UXINT_TO_LTOD

__XINT_TO_LTOD

__XWORD_TO_LTOD

BIT_TO_LTOD

BYTE_TO_LTOD

DINT_TO_LTOD

DWORD_TO_LTOD

INT_TO_LTOD

LINT_TO_LTOD

LWORD_TO_LTOD

SINT_TO_LTOD

UDINT_TO_LTOD

UINT_TO_LTOD

ULINT_TO_LTOD

USINT_TO_LTOD

WORD_TO_LTOD

LWORD

__UXINT_TO_LWORD

__XINT_TO_LWORD

__XWORD_TO_LWORD

BIT_TO_LWORD

BYTE_TO_LWORD

DINT_TO_LWORD

DWORD_TO_LWORD

INT_TO_LWORD

LINT_TO_LWORD

-

SINT_TO_LWORD

UDINT_TO_LWORD

UINT_TO_LWORD

ULINT_TO_LWORD

USINT_TO_LWORD

WORD_TO_LWORD

REAL

__UXINT_TO_REAL

__XINT_TO_REAL

__XWORD_TO_REAL

BIT_TO_REAL

BYTE_TO_REAL

DINT_TO_REAL

DWORD_TO_REAL

INT_TO_REAL

LINT_TO_REAL

LWORD_TO_REAL

SINT_TO_REAL

UDINT_TO_REAL

UINT_TO_REAL

ULINT_TO_REAL

USINT_TO_REAL

WORD_TO_REAL

SINT

__UXINT_TO_SINT

__XINT_TO_SINT

__XWORD_TO_SINT

BIT_TO_SINT

BYTE_TO_SINT

DINT_TO_SINT

DWORD_TO_SINT

INT_TO_SINT

LINT_TO_SINT

LWORD_TO_SINT

-

UDINT_TO_SINT

UINT_TO_SINT

ULINT_TO_SINT

USINT_TO_SINT

WORD_TO_SINT

STRING

__UXINT_TO_STRING

__XINT_TO_STRING

__XWORD_TO_STRING

BIT_TO_STRING

BYTE_TO_STRING

DINT_TO_STRING

DWORD_TO_STRING

INT_TO_STRING

LINT_TO_STRING

LWORD_TO_STRING

SINT_TO_STRING

UDINT_TO_STRING

UINT_TO_STRING

ULINT_TO_STRING

USINT_TO_STRING

WORD_TO_STRING

TIME

__UXINT_TO_TIME

__XINT_TO_TIME

__XWORD_TO_TIME

BIT_TO_TIME

BYTE_TO_TIME

DINT_TO_TIME

DWORD_TO_TIME

INT_TO_TIME

LINT_TO_TIME

LWORD_TO_TIME

SINT_TO_TIME

UDINT_TO_TIME

UINT_TO_TIME

ULINT_TO_TIME

USINT_TO_TIME

WORD_TO_TIME

TOD

__UXINT_TO_TOD

__XINT_TO_TOD

__XWORD_TO_TOD

BIT_TO_TOD

BYTE_TO_TOD

DINT_TO_TOD

DWORD_TO_TOD

INT_TO_TOD

LINT_TO_TOD

LWORD_TO_TOD

SINT_TO_TOD

UDINT_TO_TOD

UINT_TO_TOD

ULINT_TO_TOD

USINT_TO_TOD

WORD_TO_TOD

UDINT

__UXINT_TO_UDINT

__XINT_TO_UDINT

__XWORD_TO_UDINT

BIT_TO_UDINT

BYTE_TO_UDINT

DINT_TO_UDINT

DWORD_TO_UDINT

INT_TO_UDINT

LINT_TO_UDINT

LWORD_TO_UDINT

SINT_TO_UDINT

-

UINT_TO_UDINT

ULINT_TO_UDINT

USINT_TO_UDINT

WORD_TO_UDINT

UINT

__UXINT_TO_UINT

__XINT_TO_UINT

__XWORD_TO_UINT

BIT_TO_UINT

BYTE_TO_UINT

DINT_TO_UINT

DWORD_TO_UINT

INT_TO_UINT

LINT_TO_UINT

LWORD_TO_UINT

SINT_TO_UINT

UDINT_TO_UINT

-

ULINT_TO_UINT

USINT_TO_UINT

WORD_TO_UINT

ULINT

__UXINT_TO_ULINT

__XINT_TO_ULINT

__XWORD_TO_ULINT

BIT_TO_ULINT

BYTE_TO_ULINT

DINT_TO_ULINT

DWORD_TO_ULINT

INT_TO_ULINT

LINT_TO_ULINT

LWORD_TO_ULINT

SINT_TO_ULINT

UDINT_TO_ULINT

UINT_TO_ULINT

-

USINT_TO_ULINT

WORD_TO_ULINT

USINT

__UXINT_TO_USINT

__XINT_TO_USINT

__XWORD_TO_USINT

BIT_TO_USINT

BYTE_TO_USINT

DINT_TO_USINT

DWORD_TO_USINT

INT_TO_USINT

LINT_TO_USINT

LWORD_TO_USINT

SINT_TO_USINT

UDINT_TO_USINT

UINT_TO_USINT

ULINT_TO_USINT

-

WORD_TO_USINT

WORD

__UXINT_TO_WORD

__XINT_TO_WORD

__XWORD_TO_WORD

BIT_TO_WORD

BYTE_TO_WORD

DINT_TO_WORD

DWORD_TO_WORD

INT_TO_WORD

LINT_TO_WORD

LWORD_TO_WORD

SINT_TO_WORD

UDINT_TO_WORD

UINT_TO_WORD

ULINT_TO_WORD

USINT_TO_WORD

-

WSTRING

__UXINT_TO_WSTRING

__XINT_TO_WSTRING

__XWORD_TO_WSTRING

BIT_TO_WSTRING

BYTE_TO_WSTRING

DINT_TO_WSTRING

DWORD_TO_WSTRING

INT_TO_WSTRING

LINT_TO_WSTRING

LWORD_TO_WSTRING

SINT_TO_WSTRING

UDINT_TO_WSTRING

UINT_TO_WSTRING

ULINT_TO_WSTRING

USINT_TO_WSTRING

WORD_TO_WSTRING



文字列への変換

値を型の文字列に変換する演算子 STRING また WSTRING ターゲットデータ型と一致するオペランドが必要です。

168. 例: 関数ブロック – ConvertIntegers

大きいデータ型が小さいデータ型に変換されると、上位(先頭)のバイトが切り捨てられます。小さいデータ型が大きいデータ型に変換されると、より上位のバイトがゼロで埋められます。

FB_ConvertIntegersFromInt の ST での宣言

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_VAR

FB_ConvertIntegersFromInt の ST での実装

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);

FB_ConvertIntegersToInt の ST での宣言

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

FB_ConvertIntegersToInt の ST での実装

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();

実行

_cds_img_conversions_from_int.png


169. 例: FBD での ConvertIntegers
_cds_img_fbd_convert_int_to_time.png