



注意

如果类型转换运算符的操作数值超出了目标数据类型的值范围,那么结果输出将取决于处理器类型,因此是未定义的。例如,当操作数负值从LREAL
转换为目标数据类型UINT
时,就会出现这种情况。
从较大的数据类型转换为较小的数据类型时,可能会丢失信息。
运算符将日期和时间值转换为指定的数据类型,并返回类型转换后的值。
调用语法
<variable name> := <date and time conversion operator> ( <operand> ); <operand> = <variable name> | <literal>
数据类型DATE
和DT
在内部使用相同的存储格式,并存储为DWORD
。DATE
的分辨率为 1 天。DT
的分辨率为 1 秒。两者都从 1970 年 1 月 1 日开始。TOD
以DWORD
的形式存储,分辨率为 1 毫秒。
操作符
DATE_TO___UXINT DATE_TO___XINT DATE_TO___XWORD DATE_TO_BIT DATE_TO_BOOL DATE_TO_BYTE DATE_TO_DINT DATE_TO_DT DATE_TO_DWORD DATE_TO_INT DATE_TO_LINT DATE_TO_LREAL DATE_TO_LTIME DATE_TO_LWORD DATE_TO_REAL DATE_TO_SINT DATE_TO_STRING DATE_TO_TIME DATE_TO_TOD DATE_TO_UDINT DATE_TO_UINT DATE_TO_ULINT DATE_TO_USINT DATE_TO_WORD DATE_TO_WSTRING DT_TO___UXINT DT_TO___XINT DT_TO___XWORD DT_TO_BIT DT_TO_BOOL DT_TO_BYTE DT_TO_DATE DT_TO_DINT DT_TO_DWORD DT_TO_INT DT_TO_LINT DT_TO_LREAL DT_TO_LTIME DT_TO_LWORD DT_TO_REAL DT_TO_SINT DT_TO_STRING DT_TO_TIME DT_TO_TOD DT_TO_UDINT DT_TO_UINT DT_TO_ULINT DT_TO_USINT DT_TO_WORD DT_TO_WSTRING TOD_TO___UXINT TOD_TO___XINT TOD_TO___XWORD TOD_TO_BOOL TOD_TO_BIT TOD_TO_BYTE TOD_TO_DATE TOD_TO_DINT TOD_TO_DT TOD_TO_DWORD TOD_TO_INT TOD_TO_LINT TOD_TO_LREAL TOD_TO_LTIME TOD_TO_LWORD TOD_TO_REAL TOD_TO_SINT TOD_TO_STRING TOD_TO_TIME TOD_TO_UDINT TOD_TO_UINT TOD_TO_ULINT TOD_TO_USINT TOD_TO_WORD TOD_TO_WSTRING
长操作符
LDATE_TO___UXINT LDATE_TO___XINT LDATE_TO___XWORD LDATE_TO_BIT LDATE_TO_BOOL LDATE_TO_BYTE LDATE_TO_DATE LDATE_TO_DINT LDATE_TO_DT LDATE_TO_DWORD LDATE_TO_INT LDATE_TO_LDT LDATE_TO_LINT LDATE_TO_LREAL LDATE_TO_LTIME LDATE_TO_LTOD LDATE_TO_LWORD LDATE_TO_REAL LDATE_TO_SINT LDATE_TO_STRING LDATE_TO_TIME LDATE_TO_TOD LDATE_TO_UDINT LDATE_TO_UINT LDATE_TO_ULINT LDATE_TO_USINT LDATE_TO_WORD LDATE_TO_WSTRING LDT_TO___UXINT LDT_TO___XINT LDT_TO___XWORD LDT_TO_BIT LDT_TO_BOOL LDT_TO_BYTE LDT_TO_DATE LDT_TO_DINT LDT_TO_DWORD LDT_TO_INT LDT_TO_LDATE LDT_TO_LINT LDT_TO_LREAL LDT_TO_LTIME LDT_TO_LTOD LDT_TO_LWORD LDT_TO_REAL LDT_TO_SINT LDT_TO_STRING LDT_TO_TIME LDT_TO_TOD LDT_TO_UDINT LDT_TO_UINT LDT_TO_ULINT LDT_TO_USINT LDT_TO_WORD LDT_TO_WSTRING LTOD_TO___UXINT LTOD_TO___XINT LTOD_TO___XWORD LTOD_TO_BOOL LTOD_TO_BIT LTOD_TO_BYTE LTOD_TO_DATE LTOD_TO_DINT LTOD_TO_DT LTOD_TO_DWORD LTOD_TO_INT LTOD_TO_LDATE LTOD_TO_LDT LTOD_TO_LINT LTOD_TO_LREAL LTOD_TO_LTIME LTOD_TO_LWORD LTOD_TO_REAL LTOD_TO_SINT LTOD_TO_STRING LTOD_TO_TIME LTOD_TO_UDINT LTOD_TO_UINT LTOD_TO_ULINT LTOD_TO_USINT LTOD_TO_WORD LTOD_TO_WSTRING
转换为布尔值
只有当操作数的值可以解释为 "0 "时,运算符才返回FALSE
。
|
|
|
|
|
|
|
|
|
|
|
|
转换为整数
数据类型DATE
和DT
内部使用相同的存储格式,即DWORD
。DATE
的分辨率为 1 天。DT
的分辨率为 1 秒。两者都从 1970 年 1 月 1 日开始。
TOD
存储为DWORD
,分辨率为 1 毫秒。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
转换为字符串




注意

转换为STRING
或 WSTRING
在将类型转换为STRING
或WSTRING
时,键入的值将作为字符串左对齐,如果太长则截断。因此,要为类型转换运算符<>_TO_STRING
和<>_TO_WSTRING
声明足够长的返回变量,以便字符串在不进行任何操作的情况下有足够的空间。
将DATE
,DATE_AND_TIME
,TIME_OF_DAY
,DT
或TOD
类型的操作数传递给运算符进行数据和时间转换时,会转换为常量语法(字面语法)。生成的字符串包含关键字D#
、DT#
或TOD#
,然后是大小及其数据和时间单位,如 IEC 61131-3 规范所示。
示例

示例
FBD 执行语言
控制器处于在线模式,以便监控变量。
