Skip to main content

对象: DUT

DUT(数据单位类型)声明用户特定的数据类型。

. 符号:
  • cds_icon_add_dut.png DUT

  • _cds_icon_textlist_dut.png 支持文本列表的枚举

你可以在应用程序下方或在 POU 观点。

创建对象时, 添加 DUT 对话框打开。在这里,您可以配置新的数据类型并从结构(结构、枚举、别名和联合)中进行选择

28. 声明用户定义数据类型的语法

TYPE <identifier> :

<data type declaration>

END_TYPE

DUT 构造

用户定义的数据类型声明位于方括号之间 TYPEEND_TYPE

TYPE <identifier> :

STRUCT

    <member declaration>

END_STRUCT

END_TYPE

一个结构用以下方法包围其成员 STRUCTEND_STRUCT。可以声明任意数量的成员,但至少要有两个。

STRUCT

TYPE <identifier> :

(

    <list of members>

) <base data type> := <initialization> ;

END_TYPE

枚举是圆括号中以逗号分隔的成员名称列表。所有成员都有相同的数据类型。

也可以为枚举分配一个文本列表。这用于本地化枚举的值。因此,该对象还具有本地化视图。

枚举

TYPE <identifier> : <data type name> ;

END_TYPE

别名是替代标识符。

Alias

TYPE <identifier> :

UNION

    <member declaration>

END_UNION

END_TYPE

工会将其成员包围为 UNIONEND_UNION。它是一种具有多个成员的数据类型,这些成员共享相同的内存位置。

UNION



506. 示例

结构声明 S_POLYGONLINE 包括成员的部分初始化

TYPE S_POLYGONLINE :
STRUCT
    aiStart : ARRAY[1..2] OF INT := [-99, -99];
    aiPoint1 : ARRAY[1..2] OF INT;
    aiPoint2 : ARRAY[1..2] OF INT;
    aiPoint3 : ARRAY[1..2] OF INT;
    aiPoint4 : ARRAY[1..2] OF INT;
    aiEnd : ARRAY[1..2] OF INT := [99, 99];
END_STRUCT
END_TYPE

结构声明 S_PENTAGON 作为 S_POLYGONLINE

TYPE S_PENTAGON EXTENDS S_POLYGONLINE :
STRUCT
    aiPoint5 : ARRAY[1..2] OF INT;
END_STRUCT
END_TYPE


507. 示例

枚举声明 E_TRAFFICSIGNAL

{attribute 'qualified_only'}
{attribute 'strict'}
TYPE E_TRAFFICSIGNAL :
(
    eRed,
    eYellow,
    eGreen := 10
);
END_TYPE

本地化视图中支持文本列表的枚举

cds_enum_textlist_example_trafficsignal.png

这个 _cds_img_button_textual_view.png 文字视图_cds_img_button_tabular_view.png 本地化视图 按钮位于编辑器的右边缘。单击按钮可在视图之间切换。



508. 示例

别名声明

TYPE A_MESSAGE : STRING[50];
END_TYPE


509. 示例

a 的声明 UNION

TYPE U_DATA :
UNION
    lrA : LREAL;
    liA : LINT;
    dwA : DWORD;
END_UNION
END_TYPE


对话框: 添加 DUT

函数: 该对话框用于配置新的 DUT 对象(数据单位类型)。

打电话: 项目添加对象DUT 菜单;应用程序对象的快捷菜单

姓名

新品的名字 DUT 数据类型

示例: S_POLYGONLINE

29. 数据类型

结构

创建一个对象,该对象声明一个结构,该结构将具有不同数据类型的多个变量组合成一个逻辑单元

在结构中声明的变量称为成员。

示例: S_POLYGONLINE

高级

standard icon: 将现有结构扩展到更多成员

在输入字段中,指定现有结构。现有结构的成员在新结构中自动可用。

示例: S_PENTAGON

枚举

创建一个对象,该对象声明将多个整数常量组合成逻辑单元的枚举

在枚举中声明的常量也称为枚举值。

示例: E_TRAFFICSIGNAL

枚举也可以有文本列表。这用于本地化枚举的值。因此,该对象还具有本地化视图。

添加文本列表支持

_cds_icon_option_deactivated.png: 不支持任何文本列表的枚举

standard icon: 枚举,另外存储枚举值的文本列表

文本列表允许您本地化枚举值的名称。

示例: ETL_TRAFFICSIGNAL

注意:对于现有的枚举类型,可以随时添加或删除文本列表支持。

对象快捷菜单中的命令用于此目的:

添加文本列表支持

移除对文本列表的支持

提示:例如,本地化文本可以在可视化中显示。在这种情况下,可视化元素的文本输出显示当前语言中的符号枚举值,而不是数字枚举值。当在中指定了支持文本列表的枚举 文本变量 可视化元素的属性,它获得以下附加属性:

< <enumeration name> >.

示例:

在可视化中,使用变量 PLC_PRG.eTrafficLight 类型的 ETL_TRAFFICSIGNAL

ETL_TRAFFICSIGNAL 是一个支持文本列表的枚举。然后,可视化元素的属性编辑器中的条目如下所示:

PLC_PRG.eTrafficLight <ETL_TRAFFICSIGNAL>.

有关更多信息,另请参阅: 使用文本

提示:当您在应用程序中编辑枚举类型时,关闭应用程序时会打开一个提示,询问是否应自动更新受影响的可视化效果。

别名

创建一个对象,该对象声明一个别名,使用该别名为基本类型、数据类型或函数块声明备用名称

示例: A_MESSAGE

联盟

创建一个对象,该对象声明一个联合体,该联合将具有不同数据类型的多个成员合并为一个逻辑单元

所有成员的偏移量都相同,因此它们占用相同的内存。联盟的内存要求由其 “最大” 成员的内存要求决定。

示例: U_DATA

添加

关闭对话框并创建新对象

该对象显示为 cds_icon_add_dut.png 设备树或设备中的符号 POU 观点。当还存储了该对象的文本列表时, _cds_icon_textlist_dut.png 显示符号。