Alias

概述

用户定义的数据类型 alias 可用于声明基本类型、数据类型或功能块的别名。

添加 DUT 对话框中选择类型 = 别名

DUT 中 Alias 声明

TYPE A_MESSAGE : STRING[50];
END_TYPE

语法

TYPE <DUT name> : <type name>;
END_TYPE

<type name> 允许使用以下类型:

  • <basic type name>

  • <data type name>

  • <function block name>

具有特定长度的 STRINGARRAY 类型变量的示例

声明部分:

TYPE FRAME : ARRAY[0..1499] OF BYTE; END_TYPE
TYPE SYMBOL : STRING(512); END_TYPE

调用:

PROGRAM PLC_PRG
VAR
    frameF : FRAME;
    symbolS : SYMBOL;
END_VAR

需要不同初始值的变量的示例

对于需要与编译器提供的初始值不同的初始值的变量的 alias 数据类型,此示例有效。

TYPE INDEX : DINT := -1; END_TYPE

变量应用值子集的示例

对于要应用原始类型值的特定子集的特定类型变量的 alias 数据类型,此示例有效。

{attribute 'qualified_only'}
VAR_GLOBAL CONSTANT
    c_diMaxRune : DINT := DINT#16#0010FFFF;
END_VAR
TYPE RUNE : DINT(0..GVL.c_diMaxRune); END_TYPE

来自其他命名空间的类型示例

例如,对于来自从属库以使其可用于当前命名空间的类型,此示例有效。

TYPE ENCODING: SBB.ENCODING; END_TYPE (*ENUM*)
TYPE RUNE : UTF8.RUNE;  END_TYPE (*SUBTYPE*)
TYPE INFO : STR.INFO;  END_TYPE (*STRUCT*)
TYPE IBuilder : SBB.IBuilder; END_TYPE (*INTERFACE*)
TYPE Range: SBB.Range; END_TYPE (*FUNCTION_BLOCK*)

由于从属库的类型成为您自己的库的一部分,因此容器库在大多数情况下变得多余。