找回密码
 立即注册

QQ登录

只需一步,快速开始

工控课堂 首页 工控文库 电工电气 查看内容

西门子 S7-1200的UDT数据类型是什么?

2024-9-28 22:08| 发布者: 198366809| 查看: 598| 评论: 0

摘要: PLC数据类型(UDT)从TIA博途V11版本开始,S7-1200支持PLC数据类型(UDT)。UDT是一种由多个不同数据类型元素组成的数据结构,可以嵌套到深度限制为8级的UDT类型中。UDT类型可以在DB、OB/FC/FB接口区处使用,也可以 ...
 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版本程序

关注公众号,加入500人微信群,下载100G免费资料!

最新评论

热门文章
关闭

站长推荐上一条 /1 下一条

QQ|手机版|免责声明|本站介绍|工控课堂 ( 沪ICP备20008691号-1 )

GMT+8, 2025-12-22 13:35 , Processed in 0.094913 second(s), 23 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

返回顶部