0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

S7-1200中UDT类型变量的使用方法

h1654155282.3538 来源:技成电工课堂 作者:技成电工课堂 2021-04-18 11:58 次阅读

今天给大家讲解一下S7-1200中UDT类型变量的使用方法,PLC数据类型我们也叫做UDT数据类型,是由多个不同数据类型元素组成的数据结构,这其中的元素可以是STRUCT、数组等复杂数据类型等等。

UDT数据类型可以在程序中同意更改或重复使用,一旦某个UDT类型发生修改,然后执行软件的全部重建功能,就可以自动更新所有使用这个数据类型的变量。

定义UDT数据类型的变量在程序中应用时,可以作为一个变量整体使用,也可以单独使用组成该变量的元素。

此外,我们还可以在创建DB块时,可以跟创建系统数据类型DB一样,直接创建UDT类型的DB,这个DB只包含一个UDT类型的变量。

UDT是用户自定义数据类型,用户有时为了方便,先创建一个UDT(和创建DB块一样),写好数据结构。

然后,在创建DB块时,如果需要可以插入建好的UDT(输入个Name,类型输入UDT的名字,比如UDT1),如果切换到数据视图,即可看到原先创建的UDT的结构了。

有时需要建立多个数据块,但数据块的结构,数据类型都是一样的,但又不能在同一个数据块中保存,这时可以先建一个UDT,通过UDT再创建其余的几个块。

举例来说,你需要控制10个电机,它们的属性都是基本相同的:如“正转(BOOL)”、“反转(BOOL)”、“速度(INT)”、“加速度(INT)”、“减速度(INT)”等,如果程序中你需要用到这些属性,那么你可能需要为10个电机都建立这些变量,如果是单独建立,你就需要建立10*5=50个变量;如果你用UDT来处理,那就简单多了。

先定义一个UDT,名字是MOTOR,里面添加上面所说的2个BOOL变量和3个INT变量(当然有需要可以添加其它数据类型的变量),然后建一个DB块,在里面建立10个变量M1~M10,数据类型就是MOTOR,保存后你会发现这10个变量都包括以上的几个属性,这样你就可以直接在程序中使用了。

也就是说UDT的作用就是方便编程者的,对于程序的运行而言不是必需的,从数据类型的角度来说,UDT甚至不会被PLC直接接受。将一个带有UDT的程序下载到PLC中,然后新建一个PLC,上传程序,在传上来的程序中你是找不到UDT的,UDT更像是对DB结构的注释!

下面我们来看一下S7-1200 PLC在博途软件中使用UDT类型变量编程的方法。

STEP1:新建UDT

在项目树下找到相应PLC站点下的“PLC数据类型”中的“添加新数据类型”,双击一下即可创建UDT。

pIYBAGB7rrWAZqgxAAGbmAhQU0w241.png

创建完后,可以对创建的UDT进行重命名,比如命名为Motor。

o4YBAGB7rruAaqt-AADmZ5HWwWs032.png

STEP2:添加UDT中的变量

在打开的工作区中添加变量、数据类型和注释等。

pIYBAGB7rsCANRn2AADqetay2R0408.png

STEP3:在DB块中使用新建的UDT数据类型

新建DB块,并打开DB块,DB块的名称为“Motor_Data”,然后在DB块中定义一个变量名称为:Motor_Control,数据类型为Motor的变量。

pIYBAGB7rsWADTM6AADxnzL4T7M210.png

ed66afa6931d4c1eabb0fb8d1ac4b2ae?from=pc

STEP4:程序中使用UDT数据类型的变量

在编写程序时,可以使用创建的UDT中的变量进行编程。

ef20031e0b1d4aaba9a0a5526fc7e4b3?from=pc

这就是S7-1200中UDT类型变量的使用方法,通过后面的软件操作截图,应该会比较容易理解,你学会了吗?
责任编辑人:CC

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 变量
    +关注

    关注

    0

    文章

    597

    浏览量

    28114
  • S7-1200
    +关注

    关注

    11

    文章

    329

    浏览量

    17228
收藏 人收藏

    评论

    相关推荐

    S7-1200如何通过附加声明来覆盖所声明的变量

    S7-1200/1500:在 FC 中使用 AT,对于 S7-1200/1500 中的 FC,覆盖变量和被覆盖变量的数据长度必须相同。如果无法通过程序实现,请检查是否可以使用片段访问来
    发表于 07-08 10:31 779次阅读

    S7-1200跟我学56-8:选型#硬声创作季

    S7-1200
    也许吧
    发布于 :2023年06月01日 09:43:32

    S7-1200跟我学56-13:不同存储区的寻址#硬声创作季

    S7-1200
    也许吧
    发布于 :2023年06月01日 09:44:01

    S7-1200跟我学56-10:PLC的工作原理#硬声创作季

    S7-1200
    也许吧
    发布于 :2023年06月01日 09:44:15

    S7-1200跟我学56-7:CPU扩展能力#硬声创作季

    S7-1200
    也许吧
    发布于 :2023年06月01日 09:44:32

    S7-1200跟我学56-12:数据的存取方式#硬声创作季

    S7-1200
    也许吧
    发布于 :2023年06月01日 09:44:56

    S7-1200跟我学56-11:支持的数据类型#硬声创作季

    S7-1200
    也许吧
    发布于 :2023年06月01日 09:45:10

    S7-1200跟我学56-3:模块安装#硬声创作季

    plccpuS7-1200
    或许
    发布于 :2023年06月07日 13:42:11

    西门子PLC S7-1200的诊断功能

    功能。本文下面就对西门子PLC S7-1200的诊断方法做一个简单介绍,供用户在编程过程中进行参考使用。二、西门子PLC S7-1200诊断功能概述西门子PLC S7-1200的CPU
    发表于 12-22 16:07

    S7-1200的程序块是怎样执行的

    S7-1200的程序块是什么?S7-1200的程序块分为哪几类?S7-1200的程序块是怎
    发表于 08-12 07:57

    S7-1200是什么?S7-1200有何功能

    S7-1200是什么?S7-1200有何功能?s7-1200的运用规模主要包含哪几类?
    发表于 09-30 06:38

    使用S7-1200系列的存储卡

    本文介绍了S7-1200系列存储卡的功能、使用方法和常见问题。
    发表于 04-30 09:41 11次下载

    S7-1200使用AT覆盖变量

    S7-1200 要访问声明变量内的数据区域,可以通过附加声明来覆盖所声明的变量。这样可以选择对不同数据类型的已声明变量进行寻址,例如,可以使
    的头像 发表于 03-11 11:10 3383次阅读

    STRUCT和UDT类型变量是什么意思

    STRUCT和UDT类型变量是表示一个完整结构或一个结构元素的结构化变量
    的头像 发表于 08-29 11:09 1712次阅读

    SCL:STRUCT和UDT类型变量的赋值

    STRUCT和UDT类型变量是表示一个完整结构或一个结构元素的结构化变量
    的头像 发表于 01-31 13:38 1065次阅读