変換: STRING、WSTRING
演算子は文字列を変換します(STRING
また WSTRING
)指定されたターゲットデータ型に変換し、型変換された値を返します。
意味のある結果をもたらす変換は、オペランドがIEC61131-3規格に準拠したターゲットデータ型と一致する場合にのみ可能です。これは、オペランドの値がターゲットデータ型の有効な定数(リテラル)に対応する場合に当てはまります。
変換可能な文字列には次のものが含まれます。
タイププレフィックス付きの番号(例:
'16#FFFFFFFF'
)。グループ化文字付きの番号(例:
'2#1111_1111'
)。注:国際的な重みとメジャーのグループ化文字(シンスペース)は受け入れられません。アンダースコアのみが受け入れられます。
浮動小数点数、これも指数表記(例:
'9.876'
また'1.2E-34'
)。注:浮動小数点数は変換できません。カンマは次の文字のように扱われ、切り捨てられます。
プレフィックスとサイズを使用した時刻、時刻、および日付の指定(例:
'T#2h'
、'DT#2019-9-9-12:30:30.9'
)。無限の値(例:
'1.7E+400'
)。追加のキャラクター 後 数字(例:
'2m'
また'3.14'
)。これらは切り捨てられます。追加の文字 前 番号は許可されていません。
前のスペース(例:
'3.14'
)。
呼び出し構文: STRING_TO_<ターゲットタイプ>(<オペランド>) 、 WSTRING_TO_<ターゲットタイプ>(<オペランド>)
STRING/WSTRING_TO_<target type>
演算子: STRING | 演算子: WSTRING | 例 | 戻り値 | 説明 |
---|---|---|---|---|
|
| |||
|
| |||
|
| |||
|
| |||
|
|
|
| |
|
| |||
|
|
|
| 構文: |
|
| 出力データ型が大きい場合、情報が失われる可能性があります。 | ||
|
|
|
| 構文: |
|
| |||
|
|
|
| |
|
| 構文: 日付のみ表示されます。 | ||
|
| 構文: | ||
|
| |||
|
|
|
| |
|
|
|
| |
|
| 構文: | ||
|
|
|
| |
|
|
|
| より大きな値の範囲から変換する場合、情報が失われたり、未定義の結果が返されたりする可能性があります。 |
|
| |||
- |
|
|
| |
|
|
|
| |
|
|
|
| |
|
| |||
|
| |||
|
|
|
| |
|
| |||
|
| |||
| - |
|
|
ブール値への変換
オペレーター STRING_TO_BOOL
:の値 TRUE
オペランド値が 'TRUE'
また 'true'
。一方で、 FALSE
のために返されます 'True'
。
オペレーター WSTRING_TO_BOOL
:の値 TRUE
オペランド値が "TRUE"
また "true"
。一方で、 FALSE
のために返されます "True"
。

宣言
FUNCTION_BLOCK FB_ConvertStrings VAR_INPUT END_VAR VAR_OUTPUT END_VAR VAR xReturn_0: BOOL; xReturn_1: BOOL; dateReturn: DATE; dtReturn: DATE_AND_TIME; iReturn: INT; lrReturn: LREAL; lrReturn_0: LREAL; lwReturn: LWORD; lwReturn_0: LWORD; lwReturn_1: LWORD; ltReturn: LTIME; ltReturn_0: LTIME; ltReturn_1: LTIME; ltReturn_2: LTIME; rReturn: REAL; rReturn_0: REAL; timReturn: TIME; timReturn0: TIME; timReturn1: TIME; timReturn2: TIME; todReturn: TIME_OF_DAY; todReturn0: TIME_OF_DAY; todReturn1: TIME_OF_DAY; todReturn2: TIME_OF_DAY; uliReturn: ULINT; uliReturn_0: ULINT; uliReturn_1: ULINT; wReturn: WORD; wReturn_0: WORD; wReturn_1: WORD; wstrReturn: WSTRING; wstrReturn_0: WSTRING; dtReturn2: DATE_AND_TIME; END_VAR
実装
FUNCTION_BLOCK FB_ConvertStrings VAR_INPUT END_VAR VAR_OUTPUT END_VAR VAR xReturn_0: BOOL; xReturn_1: BOOL; dateReturn: DATE; dtReturn: DATE_AND_TIME; iReturn: INT; lrReturn: LREAL; lrReturn_0: LREAL; lwReturn: LWORD; lwReturn_0: LWORD; lwReturn_1: LWORD; ltReturn: LTIME; ltReturn_0: LTIME; ltReturn_1: LTIME; ltReturn_2: LTIME; rReturn: REAL; rReturn_0: REAL; timReturn: TIME; timReturn0: TIME; timReturn1: TIME; timReturn2: TIME; todReturn: TIME_OF_DAY; todReturn0: TIME_OF_DAY; todReturn1: TIME_OF_DAY; todReturn2: TIME_OF_DAY; uliReturn: ULINT; uliReturn_0: ULINT; uliReturn_1: ULINT; wReturn: WORD; wReturn_0: WORD; wReturn_1: WORD; wstrReturn: WSTRING; wstrReturn_0: WSTRING; END_VAR xReturn_0 := STRING_TO_BOOL('FALSE'); xReturn_1 := STRING_TO_BOOL('TRUE'); dateReturn := STRING_TO_DATE('DATE#2019-9-9'); dtReturn := STRING_TO_DT('DT#2019-9-9-1:1:1.1'); iReturn := STRING_TO_INT('123abc'); lrReturn := STRING_TO_LREAL('4.94E-323'); lrReturn_0 := STRING_TO_LREAL('1.7E+308'); lwReturn := STRING_TO_LWORD('16#FFFF_FFFF_FFFF_FFFF'); lwReturn_0 := STRING_TO_LWORD('16#0123456789ABCDEF'); lwReturn_1 := STRING_TO_LWORD('16#0123456789ABCDEF'); ltReturn := STRING_TO_LTIME('LTIME#213503d23h34m33s709ms551us615ns'); ltReturn_0 := STRING_TO_LTIME('LTIME#0ns'); ltReturn_1 := STRING_TO_LTIME('LTIME#1ms'); ltReturn_2 := STRING_TO_LTIME('LTIME#2s'); rReturn := STRING_TO_REAL('6.543e21'); rReturn_0 := STRING_TO_REAL('1.234'); timReturn := STRING_TO_TIME('T#5d4h3m2s'); timReturn0 := STRING_TO_TIME('TIME#1s'); timReturn1 := STRING_TO_TIME('1s'); timReturn2 := STRING_TO_TIME('TIME#5s'); todReturn := STRING_TO_TOD('TOD#12:0:0.1'); todReturn0 := STRING_TO_TOD('TOD#0:0:0.0'); todReturn1 := STRING_TO_TOD('20:15'); todReturn2 := STRING_TO_TOD('TOD#20:15'); uliReturn := STRING_TO_ULINT('18446744073709551615'); uliReturn_0 := STRING_TO_ULINT('1'); uliReturn_1 := STRING_TO_ULINT('0'); wReturn := STRING_TO_WORD('16#FFFF_0000'); wReturn_0 := STRING_TO_WORD('34abc'); wReturn_1 := STRING_TO_WORD('16#34abc'); wstrReturn := STRING_TO_WSTRING('Hello World!'); wstrReturn_0 := STRING_TO_WSTRING('123456789');
宣言
FUNCTION_BLOCK FB_ConvertWstrings VAR_INPUT END_VAR VAR_OUTPUT END_VAR VAR xReturn_0: BOOL; xReturn_1: BOOL; dateReturn: DATE; dtReturn: DATE_AND_TIME; iReturn: INT; lrReturn: LREAL; lrReturn_0: LREAL; lwReturn: LWORD; lwReturn_0: LWORD; lwReturn_1: LWORD; ltReturn: LTIME; ltReturn_0: LTIME; ltReturn_1: LTIME; ltReturn_2: LTIME; rReturn: REAL; rReturn_0: REAL; timReturn: TIME; timReturn0: TIME; timReturn1: TIME; timReturn2: TIME; todReturn: TIME_OF_DAY; todReturn0: TIME_OF_DAY; todReturn1: TIME_OF_DAY; todReturn2: TIME_OF_DAY; uliReturn: ULINT; uliReturn_0: ULINT; uliReturn_1: ULINT; wReturn: WORD; wReturn_0: WORD; wReturn_1: WORD; wstrReturn: WSTRING; wstrReturn_0: WSTRING; END_VAR
STでの実装
FUNCTION_BLOCK FB_ConvertWstrings VAR xReturn_0: BOOL; xReturn_1: BOOL; dateReturn: DATE; dtReturn: DATE_AND_TIME; iReturn: INT; lrReturn: LREAL; lrReturn_0: LREAL; lwReturn: LWORD; lwReturn_0: LWORD; lwReturn_1: LWORD; ltReturn: LTIME; ltReturn_0: LTIME; ltReturn_1: LTIME; ltReturn_2: LTIME; rReturn: REAL; rReturn_0: REAL; timReturn: TIME; timReturn0: TIME; timReturn1: TIME; timReturn2: TIME; todReturn: TIME_OF_DAY; todReturn0: TIME_OF_DAY; todReturn1: TIME_OF_DAY; todReturn2: TIME_OF_DAY; uliReturn: ULINT; uliReturn_0: ULINT; uliReturn_1: ULINT; wReturn: WORD; wReturn_0: WORD; wReturn_1: WORD; wstrReturn: WSTRING; wstrReturn_0: WSTRING; END_VAR xReturn_0 := WSTRING_TO_BOOL("FALSE"); xReturn_1 := WSTRING_TO_BOOL("TRUE"); dateReturn := WSTRING_TO_DATE("DATE#2019-9-9"); dtReturn := WSTRING_TO_DT("DT#2019-9-9-1:1:1.1"); iReturn := WSTRING_TO_INT("123abc"); lrReturn := WSTRING_TO_LREAL("4.94E-323"); lrReturn_0 := WSTRING_TO_LREAL("1.7E+308"); lwReturn := WSTRING_TO_LWORD("16#FFFF_FFFF_FFFF_FFFF"); lwReturn_0 := WSTRING_TO_LWORD("16#0123456789ABCDEF"); lwReturn_1 := WSTRING_TO_LWORD("16#0123456789ABCDEF"); ltReturn := WSTRING_TO_LTIME("LTIME#213503d23h34m33s709ms551us615ns"); ltReturn_0 := WSTRING_TO_LTIME("LTIME#0ns"); ltReturn_1 := WSTRING_TO_LTIME("LTIME#1ms"); ltReturn_2 := WSTRING_TO_LTIME("LTIME#2s"); rReturn := WSTRING_TO_REAL("6.543e21"); rReturn_0 := WSTRING_TO_REAL("1.234"); timReturn := WSTRING_TO_TIME("T#5d4h3m2s"); timReturn0 := WSTRING_TO_TIME("TIME#1s"); timReturn1 := WSTRING_TO_TIME("1s"); timReturn2 := WSTRING_TO_TIME("TIME#5s"); todReturn := WSTRING_TO_TOD("TOD#12:0:0.1"); todReturn0 := WSTRING_TO_TOD("TOD#0:0:0.0"); todReturn1 := WSTRING_TO_TOD("20:15"); todReturn2 := WSTRING_TO_TOD("TOD#20:15"); uliReturn := WSTRING_TO_ULINT("18446744073709551615"); uliReturn_0 := WSTRING_TO_ULINT("1"); uliReturn_1 := WSTRING_TO_ULINT("0"); wReturn := WSTRING_TO_WORD("16#FFFF_0000"); wReturn_0 := WSTRING_TO_WORD("34abc"); wReturn_1 := WSTRING_TO_WORD("16#34abc");
