西门子plc中UDT数据类型的用法

西门子plc中UDT数据类型的用法,第1张

西门子plc中UDT数据类型的用法

一、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直接接受。

大家看西门子S7-300的程序的上传就知道了,将一个带有UDT的程序下载到PLC中,然后新建一个PLC,上传程序,在传上来的程序中你是找不到UDT的。

UDT更像是对DB结构的注释!

下面教大家如何在博途里使用UDT.

1、 在项目树中》PLC数据类型中双击添加新数据类型

西门子plc中UDT数据类型的用法,202815usatd0ed0qzzc8ul.jpg,第2张

2、 对新建的数据类型重命名,如UDT

西门子plc中UDT数据类型的用法,202815iwymbmbsjkhgwglw.jpg,第3张

3、 在UDT中添加要用的变量,编译保存。

西门子plc中UDT数据类型的用法,202816sx3mfa3f8azcj5h3.jpg,第4张

4、 新建一个全局DB块-DB1,并在DB块中添加名称M1等,数据类型为“UDT”,注意数据类型要与之前新建的数据类型名称相同。

西门子plc中UDT数据类型的用法,202816y108h4p840pof1zj.jpg,第5张

5、 新建一个FB块-FB1,在FB1的接口中按如图所示添加,注意在InOut接口中添加的名称为M的变量的数据类型为UDT。

西门子plc中UDT数据类型的用法,202816f3xiqxqkttsorit9.jpg,第6张

6、 在FB1中编写如下程序,编译保存,使FB的接口与UDT中的数据建立联系。

西门子plc中UDT数据类型的用法,202817fsaqqqpi6j11aqpi.jpg,第7张

西门子plc中UDT数据类型的用法,202817dpnuux66rwxwmwtt.jpg,第8张

7、 在DB1中调用FB1,在M接口选择“DB1”,然后选择“M1”。

西门子plc中UDT数据类型的用法,202817o1j547xj1jjjyxqx.jpg,第9张

西门子plc中UDT数据类型的用法,202818fvy6e5ci9qv3vt1q.jpg,第10张

西门子plc中UDT数据类型的用法,202818o19m6756fsm7779v.jpg,第11张

8、 多次调用FB2时,改变M接口即可。

西门子plc中UDT数据类型的用法,202818a3qvzmhrvww58buk.jpg,第12张

西门子plc中UDT数据类型的用法,202815szmb4brjmb1bg1bj.jpg,第13张

责任编辑:lq

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/dianzi/2496305.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-08-04
下一篇 2022-08-04

发表评论

登录后才能评论

评论列表(0条)

保存