广东湘恒智能科技有限公司
主营产品: 西门子PLC,西门子模块,西门子触摸屏,西门子变频器,西门子伺服电机驱动,电缆,西门子全系列
SIMATIC S7-1200的UDT数据类型是什么?
发布时间:2024-11-22
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所示。


展开全文
拨打电话 微信咨询 发送询价