分享

SIMATIC S7-1200的UDT数据类型是什么?

 PLC发烧友 2024-04-26 发布于广东
PLC数据类型(UDT)

从TIA博途V11版本开始,S7-1200支持PLC数据类型(UDT)。

UDT是一种由多个不同数据类型元素组成的数据结构,可以嵌套到深度限制为8级的UDT类型中。

UDT类型可以在DB、OB/FC/FB接口区处使用,也可以在PLC变量表中使用。UDT类型可以作为一个变量整体使用,也可以作为其组成元素单独使用。在创建DB块时,可以直接创建UDT类型的DB,其中只包含一个UDT类型的变量。这样可以在DB中统一管理UDT类型的数据,方便重复使用和修改。

UDT类型在程序中可与Variant、DB_ANY类型及相关指令配合使用,在理论上,可以将其视为Struct类型的升级替代,其功能与Struct类型基本完全兼容。


UDT建立及应用案例

1、新建UDT

在CPU菜单下,点击“PLC数据类型”选项中的“创建新数据类型”按钮,如图1所示。   

图1 新建UDT

2、在弹出页面中,你可以添加所需的变量、类型、初始值、注释等信息,就像图2所示。

图2 定义UDT内的变量

3、在图2中,右键点击红框处并选择“属性”,然后在“常规”选项中可以修改该数据类型的名称,如图3所示。   

图3 修改UDT名称

4、DB中使用,如图4所示。

图4 定义UDT类型的变量

5、程序中使用,类似于Struct,如图5所示。

图5 UDT的使用

6、根据UDT定义DB块,如图6所示。

图6 建立UDT类型的DB

当你打开一个DB块时,你会注意到与在DB中直接创建UDT变量相比,层级结构有所不同。在这种配置下,使用内部变量时,体验几乎没有差异。在这种模式下,除非对UDT进行更改,否则DB块中的内容将无法修改,如图7所示,变量呈灰色,表示无法编辑。

图7 UDT类型的DB展开

7、自TIA博途V14SP1版本起,用户能够复制那些结构一致但名称不同的UDT变量,如图8-11所示。

图8 定义不同名称的UDT,但内部变量类型相同

图9 使用UDT建立变量

图10 UDT类型间的MOVE

SCL的版本程序,如图11所示:

图11 SCL版本程序


UDT在PLC变量表的应用

如何实现功能:需将Profinet IO通讯中的I点送入DB,将DB送入Q点,如图12-16所示。

1、建立I点和Q点两个UDT,元素变量类型及排布设置参照通讯对象

图12   I点定义的UDT

图13 Q点定义的UDT

2、PLC变量表和DB块使用UDT

图14 PLC变量表中使用图12-13定义的UDT    

图15 DB块中使用的UDT类型定义变量

3、写MOVE程序传递

图16 程序详情

SCL版本程序如图17所示。

图17 SCL版本程序

来源:技成培训网,作者:技成-胡志豪,未经授权不得转载!

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多