版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
S7-300中UDT与STRUCT型数据总结S7-300中UDT与STRUCT型数据总结/NUMPAGES23S7-300中UDT与STRUCT型数据总结S7-300中UDT与STRUCT型数据总结UDT型说明:
从数据类型的意义上说UDT并不被CPU所识别,而是在离线程序中自定义(组合)的数据类型。S7
程序的自定义数据类型并不能装载到S7
CPU中。UDT是由递增的编辑器创建并编辑或由源文件的编译而生成。当在块调用中进行变量传递时是不能将UDT作为内存地址区域来传递的。因此推荐将传递的变量指定为字节数据类型并与其数据长度相一致,或者使用
UDT的符号名来定义
IN,OUT
和IN_OUT参数,因为系统将自动生成相对应的地址。下表介绍了如何创建和参数化
UDT
类型变量的过程。我们将以两组各十台相同的电机为例。UDT1对应这些电机的所有输入变量。
序号步骤1在STEP7项目中插入自定义数据类型。如图01鼠标选中“block”文件夹并点击右键,再弹出菜单中选择命令“InsertNewObject>DataType”。
图012在“Properties-DataType”对话框中输入UDT1的符号名(这里以“Motor”为例)后点击OK确认。图023打开UDT1并输入相关数据类型的变量及其初始值。图03为UDT1变量声明的例子。图034然后通过菜单命令“Insert>S7Block>DataBlock”在STEP7项目中添加一个数据块DB1,并在“Properties-DataBlock”属性对话框中为其定义符号名(例如此例为“Halle_Motoren”(Hall-Motors))。点击OK确认。
图045打开DB1将变量数据类型定义为UDT1(符号名“Motor”)。例如图05所示:两个数组(ARRAY)变量,每组包括10个以UDT1为数据类型的变量(编号1到10)。图05由于此例两组电机是独立的,所以在DB1中要为每一组电机创建数据结构。例如第一组的数据结构定义为数据类型为UDT1的数组“Array[1..10]”,符号名为“Halle_1_Motor”。6选择菜单命令“View>DataView”可显示所有DB1数据。图06注意事项:
在数据块中变量定义为
UDT情况下只能对实际值进行编辑。即可以在数据块的数据视图中输入变量的当前值。初始值“InitialValue”纵栏显示的是在定义UDT
变量时所设的初值。只是在DB块第一次存储时将初值作为当前值。7为FC或FB定义UDT1类型的IN参数创建FB或FC时,可以定义UDT1(Motor)类型的IN参数,如图07所示。例如,与操作语句:“U
#Eingabe.Einschalten”(A
#Input.SwitchOn)Eingabe:FC1的IN参数变量
Einschalten:UDT1中的一个变量名图07UDT数据类型同样适用于OUT
和IN_OUT参数,方法同上。8数据块DB1
的寻址及编程
图
08所示为变量定义为UDT1类型数据结构的DB1的编程例子。例如与操作:U
“Halle_Motoren”.Halle_1_Motor[2].Einschalten(“UHall_Motors.Hall_1_Motor[2].SwitchOn)Halle_Motoren:DB1的符号名Halle_1_Motor[2]:DB块数组2的变量Einschalten:UDT1中的一个变量名图089
在FC或FB
中参数化IN参数
当调用FC1时,UDT类型的输入变量必须赋值,例如可以用如下语句将第一组电机地址指针赋给输入参数。“Halle_Motoren”.Halle_1_Motor[1]
(“Hall_Motors”.Hall_1_Motor[1])图09这种参数化过程同样适用于定义为UDT类型的
OUT和IN_OUT参数的其它变量。10在交叉参考表中可以显示S7用户程序所用地址及应用(例如DB1)的列表。
图10数据块“unlinked”属性注意事项:
如果在DB块中定义了UDT数据类型并且将DB“unlinked”属性激活,对于STEP7V5.2/V5.3,如果对UDT作了修改,STEP7会应用“Checkblockconsistency”功能自动调整数据块,此时“unlinked”的属性可能会失效。当块一致性检查完成后,确保DB的“unlinked”属性依然有效,否则可作相应设置。
STEP7在线帮助可提供更多相关信息:“User-DefinedDataTypes(UDT)”“EnteringandDisplayingtheStructureofDataBlocksReferencingaUDT”“EnteringtheDataStructureofSharedDataBlocks”关键词:
块例程,自定义数据类型一、案例说明1、控制对象4个控制方式相同的电机。2、单个电机控制要求(1)按下启动按钮--电机启动,并开始计时--到达设定时间后发出电机维护提示(2)按下停止按钮--电机停止,并停止计时,但并不将时间清零。(3)电机运行时间小于设定值,时间不能复位,电机运行时间达到或。超过设定值后按下复位按钮时间置0,电机维护提示消失。(4)当电机发生故障时,电机停止运行,并发出报警,故障处理完毕后必须手动确认复位报警信号才能再次启动电机。
(5)任何时间电机停止,计时停止,电机运行,继续计时,时间只能有复位按钮可以清零。
3、要求将四个电机的所有参数放在1个DB块中,方便管理和做上位接口
二、案例分析根据控制要求得出单个电机所需I/O输入:启动、停止、故障复位、计时复位、电机维护周期、电机故障报警输出:运行、故障报警、已运行时间、电机维护提示根据案例说明3中的要求我们需要自定义结构UDT和DB块的配合使用
三、编程1、首先建立UDT结构如下图所示
2、建立存放参数的DB块,并建立以上图为结构的四个电机的数据
3、建立FB1块进行编程,首先建立接口如下图所示
程序如下
4、为四个电机分别建立FB1程序的背景DB块,从DB2到DB5如下所示
5、OB1中编写程序如下图所示
四、仿真监控
变量表监控
DB块监控Struct(结构性类型)是由不同数据类型组成的、属于复合型数据类型,它是用来定义一组相关的数据,其长度由用户定义,它与数组(Array)类型相反(ARRAY是由相同类型的数据组成的数组)。
许多关于结构类型的书籍中提到的关于电机控制系统中,把一个电机所有控制元素,如运行速度、额度电流、起动电流和运行方向等作为参数或逻辑块的局部变量,并且在全局数据块中声明,这样利用它可以结构化大量的数据并且可以用符号进行处理,由于访问结构的元素包含结构的名称,使程序更容易读,指令编写更清晰。
如电机的一组不同类型的数据(称为元素)组成的结构命名为Motor_Data,并且放在共享数据块DB1中,为了用符号访问结构中的一个元素,需要给数据块分配一个符号名,如Drive_1.
结构的关键字是‘STRUCT“,结构的结束用END_STRUCT.
这样在打开数据块DB1(符号名Drive_1),可以看到上面变量声明表为:
Address(地址)
Name(名称)
Type(类型)
Initial
Value(初始值)
0.0
Struct
0.0
Motor_Data(电机数据)
Struct
0.0
Operating_speed(运行速度)
INT
2.0
Rated_current(额定电流)
REAL
6.0
Start_current
(起动电流)
REAL
10.0
Max_temperature
(最大温度)REAL
14.0
Turning_direction
(转动方向)BOOL
=16.0
END_STRUCT
=16.0
END_STRUCT
如果访问上述结构中的某个元素,如Rated_current(额度电流),可以直接用下列指令:
L
“Drive_1”.Motor_data.Rated_current
其中,“Drive_1”是数据块的符号名,该数据块包含结构、结构名称(用点分割)在数据块的后面。结构的元素名(用点分割)跟在结构名的后面。Struct是什么数据类型
结构,属于自定义的数据类型,和C或C++或VC中的结构定义一样。
2.
在什么样的情况下需要用到
Struct
数据类型
举
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 业务流程重组与优化方案生成器
- 医院门诊高峰期管理方案
- 小学阅读资源管理办法实施方案
- 产后恢复中心运营管理方案书
- 汽车租赁行业客户管理方案
- 我国企业环境信息公开法律制度:现状、问题与完善路径探究
- 医院普通病房护理质量考核方案
- 针对2026年智慧城市建设中的交通流量预测方案
- 针对2026年AI医疗应用场景的诊疗方案
- 四型组织建设方案
- 神经细胞器膜脂质调控机制-洞察及研究
- 膀胱压力监测新课件
- 2025年山东省威海市环翠区数学六年级第一学期期末考试试题含解析
- 惠州园林管理办法
- 山西省建筑工程施工安全管理标准
- 2025山西云时代技术有限公司校园招聘160人笔试参考题库附带答案详解
- 贸易公司货权管理制度
- 生鲜采购年度工作总结
- 造价咨询项目经理责任制度
- 离婚协议书正规打印电子版(2025年版)
- FZ∕T 81008-2021 茄克衫行业标准
评论
0/150
提交评论