西门子S7-300 UDT复杂数据类型 最简易快速教程
- 格式:pdf
- 大小:1.17 MB
- 文档页数:20
UDT型说明:从数据类型的意义上说UDT 并不被CPU 所识别,而是在离线程序中自定义(组合)的数据类型。
S7 程序的自定义数据类型并不能装载到S7 CPU 中。
UDT 是由递增的编辑器创建并编辑或由源文件的编译而生成。
当在块调用中进行变量传递时是不能将UDT 作为内存地址区域来传递的。
因此推荐将传递的变量指定为字节数据类型并与其数据长度相一致,或者使用 UDT 的符号名来定义 IN, OUT 和IN_OUT 参数,因为系统将自动生成相对应的地址。
下表介绍了如何创建和参数化UDT 类型变量的过程。
我们将以两组各十台相同的电机为例。
UDT1 对应这些电机的所有输入变量。
1 在STEP 7 项目中插入自定义数据类型。
如图01 鼠标选中“block”文件夹并点击右键,再弹出菜单中选择命令“Insert NewObject > Data Type” 。
图01图023 打开UDT1 并输入相关数据类型的变量及其初始值。
图03 为UDT1 变量声明的例子。
图03图045 打开DB1 将变量数据类型定义为UDT1 (符号名“Motor”)。
例如图05 所示:两个数组(ARRAY)变量,每组包括10个以UDT1 为数据类型的变量(编号1 到10)。
图05由于此例两组电机是独立的,所以在DB1 中要为每一组电机创建数据结构。
例如第一组的数据结构定义为数据类型为UDT1 的数组“ Array[1..10] ”,符号名为“Halle_1_Motor”。
图06注意事项:在数据块中变量定义为UDT 情况下只能对实际值进行编辑。
即可以在数据块的数据视图中输入变量的当前值。
初始值“Initial Value”纵栏显示的是在定义UDT 变量时所设的初值。
只是在DB 块第一次存储时将初值作为当前值。
图07UDT 数据类型同样适用于OUT 和IN_OUT 参数,方法同上。
8 数据块DB1 的寻址及编程图 08 所示为变量定义为UDT1 类型数据结构的DB1 的编程例子。
一、基本数据类型
基本数据类型的长度不超过32位。
位(BOOL),字节(BYTE),字(WORD),双字(DOUBLE WORD),整数(INT),
双整数(DOUBLE INT),浮点数(REAL),S5TIME(SIMATIC时间),IEC时间(TIME),IEC日期(date),日计时(TIME_OF_DAY),字符(CHAR),
重点:S5TIME和IEC时间数据类型结构,二者区别
二、复杂数据类型
复杂数据类型是由其他基本数据类型组合而成的,长度超过32位的数据类型。
1.日期时间数据类型(Data_And_Time ):
2.字符串类型(String):
3.数组类型Array
4.结构(STRUCT):
5.用户定义类型(UDT):
三、参数数据类型
用于功能FC或功能块FB的数据类型
1. Pointe指针类型,6字节指针类型,传递数据块号和数据地址
2. Any指针类型,10字节指针类型,传递数据块号、数据地址、数据数量以及数据类型
艾驰商城是国内最专业的MRO工业品网购平台,正品现货、优势价格、迅捷配送,是一站式采购的工业品商城!具有10年工业用品电子商务领域研究,以强大的信息通道建设的优势,以及依托线下贸易交易市场在工业用品行业上游供应链的整合能力,为广大的用户提供了传感器、图尔克传感器、变频器、断路器、继电器、PLC、工控机、仪器仪表、气缸、五金工具、伺服电机、劳保
用品等一系列自动化的工控产品。
如需进一步了解台达PLC、西门子PLC、施耐德plc、欧姆龙PLC的选型,报价,采购,参数,图片,批发等信息,请关注艾驰商城/。
一、S7-300初始化尽量使用window2000,Windows XP。
STEP7V52或以上版本1.2 通信1、设置通信`设置或添加PC Adapter(MPI), Property 按钮Local Connection 属性页COM 1 19200,注意一般连接到计算机的串行口1。
其他参数不需要设置,注意选择PC Adapter,不要有其他的,例如pc/ppi。
1.3 硬件组态2、新建工程在SIMATIC Manager中新建工程,也可以通过wizard向导建立。
选中右边的工程名,Insert Station SIMATIC 300。
双击Hardware,从而进入HW CONFIG窗口。
Option>Insert NEW GSE文件。
把MM420, ET200等GSD文件加入。
在hw config,如图所示,插入RAC-300机架。
选中机架第二栏,双击CPU-300>CPU313C-2DP,注意准确的编号。
默认地址2。
双击DP,选择Property按钮。
选择NEW,选择1.5MBPS,如果出现警告,可以选择187kpbs。
依次在SLOT 1,2,3位置插入其他模块。
0 电源模块S7-300DI 地址:256-263DO 地址:256-259选中DP线,然后双击ET200S,如图所示,插入ET200S.选择,依次在SLOT 1,2,3位置插入其他模块。
6ES7 138-4CA00-0AA0 PM-E DC24V6ES7 134-4GB50-0AB0 2AI I 2DMU地址I address264-2676ES7 134-4JB50-0AB0 2AI RTD地址I address268-271插入MM420选择4PKW, 2PZD (PPO1)2AX地址I address 280-283 Q address 268-271全部保存1.4 下装硬件组态并检测在SIMATIC Manager中,选择工程,选择PLC>Clear/Reset,可以清除原来的配置信息。
西门子plc中UDT数据类型的用法西门子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数据类型中双击添加新数据类型2、对新建的数据类型重命名,如UDT3、在UDT中添加要用的变量,编译保存。
4、新建一个全局DB块-DB1,并在DB块中添加名称M1等,数据类型为"UDT",留意数据类型要与之前新建的数据类型名称相同。
UDT复杂数据类型建立和UDT接口的更改方法
2014年4月7日张勇于深圳启程用户自定义数据类型(User-Defined Date Types)简称UDT,是一种特殊的数据结构,用户只需对它定义一次,定义好后就可以在用户程序中作为数据类型使用。
UDT复杂数据类型的建立(我们以三台电机的控制为例)
第一步:建立UDT,定义相关接口:
第二步:建立DB(下文建立的DB1),在DB1的接口类型中选择刚才建立的UDT:
第三步:建立FB(下文建立的FB1),定义接口,编写电机控制的相关程序:
打开FB1,定义FB1里面的接口变量:
在FB1内编写如下电机启停程序:
第一步:新建立一个FB(下文建立的FB2),把FB2
做成多重背景数据:
打开FB2,定义FB2里的接口变量(做3个电机启停的背景数据):
第五步:建立FC(下文建立的FC1),编写程序,给DB1内的数据进行赋值:
在FC内编写程序:
第六步:在OB1中,调用FB2和FC1:
OK完成
在实际设备调试中,因为我们需要对功能进行调试,依据实际的调试情况,就会出现增加或者减少接口的问题,下面为大家演示在U DT中怎么增加接口:
第一步,在UDT1中增加一个接口变量:
第二步,更改DB1的源文件:
因为接口有了变化,我们检查更新编译一下各个块
的接口
第三步,在FB1中更改相关的程序:
因为接口有了变化,我们检查更新编译一下各个块的接口
第四步,在FB2内给新接口定义参数,在FC1内给新增的接口定义实际参数:
OK完成。