西门子S7-300 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完成。
S7-300中UDT与STRUCT型数据总结
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 的编程例子。
西门子S7-300系列PLC数据类型
一、基本数据类型
基本数据类型的长度不超过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教程
02
西门子s7-300编程
s7-300编程语言介绍
S7-300编程语言
LAD
STL
FBD
西门子的S7-300系列PLC主要 使用STEP 7编程软件进行编程, 支持多种编程语言,包括LAD (梯形图)、STL(语句表)和 FBD(功能块图)。这些语言各 有特点,适合不同的应用场景 和编程习惯。
LAD是最常见的PLC编程语言 ,它使用图形化方式表示逻辑 控制,直观易懂,适合初学者 使用。
在故障。
听诊法
通过听设备运行时的声音,判 断是否存在异常响动或杂音, 从而判断故障部位。
触摸法
通过触摸设备的表面、温度等 ,判断设备是否过热、振动等 异常现象。
测试法
通过使用专业的测试工具和软 件,对设备的各项性能进行测 试,从而确定故障的原因和部
位。
s7-300的日常维护
定期检查
定期对设备进行外观、电源、电缆等检查, 确保设备正常运行。
02
它具有强大的指令集和数据处理能力,能够处理复 杂的逻辑和控制任务。
03
S7-300具有高可靠性和长寿命,能够在恶劣的工业 环境中稳定运行。
s7-300的硬件组成
在此添加您的文本17字
S7-300的硬件组成包括中央处理单元(CPU)、信号模块、 通讯模块、功能模块和接口模块等。
在此添加您的文本16字
PLC与HMI的通讯
02
通过以太网协议,实现S7-300 PLC与HMI设备的实时数据交换
和监控。
PLC与上位机的通讯
03
通过以太网协议,实现S7-300 PLC与上位机的数据交换和远程
监控。
04
西门子s7-300故障诊断与维护
S7-300_PLC课件 数据块中的数据存储,组织快,结构化编程
自动
S7-300 / 400 S7-300
手动
Power ON STOP->RUN
清除过程映像,非保持的M, T, C
执行 OB 100 允许输出
是
STOP
循
执行OB1
循 环
输出 PIQ
读入 PII 执行 OB1 输出 PIQ
环
青岛大学-西门子先进自动化技术实验室
青岛大学自动化工程学院
SIEMENS
例如 OB20 (优先级 3) =延时中断。 检测到一个信号后 延迟3.25s 执行。
OB号 OB 1 OB 10 OB 20 OB 35 OB 40 OB 82
OB 类型 循环程序 日期时间中断 延时中断 循环中断 硬件中断 错误处理
优先级 1 2 3 12 16 26 / 28
青岛大学-西门子先进自动化技术实验室
序号 1 步骤
设置CPU的参数,使得在课程结束时执行 日期时间中断。
结果
2
根据要求生成、保存、下装OB10。
3
测试程序的功能
在课程结束时,蜂鸣器发出声音。
4
禁止日期时间中断,并将修改的配置下装。
青岛大学-西门子先进自动化技术实验室
青岛大学自动化工程学院
SIEMENS
练习4: 利用时间中断实现定时检测
青岛大学-西门子先进自动化技术实验室 青岛大学自动化工程学院
SIEMENS
错误组织块应用举例
青岛大学-西门子先进自动化技术实验室
青岛大学自动化工程学院
SIEMENS
错误处理OB块中的附加信息
OB 122 (访问错误)中的附加信息
变量 OB122_EV_CLASS OB122_SW_FLT OB122_PRIORITY OB122_OB_NUMBR OB122_BLK_TYPE 类型 BYTE BYTE BYTE BYTE BYTE 描述 事件类别, IDs = B#16#29 错误代码: (可能的值为: B#16#42, B#16#43, B#16#44, B#16#45) 发生错误的OB块的优先级 OB块的号码 (122) 发生错误的块的类型: B#16#88: OB? B#16#8A: DB? B#16#8C: FC? B#16#8E: FB? 内存区域和访问类型 发生错误处的内存地址 导致错误的MC7指令所在块的地址 导致错误的MC7 指令的相对地址 OB块被调用的日期和时刻
S7-300 简明教程课件
典型电气控制系统分析
➢ 起保停控制线路、多地点控制线路; ➢ 三相异步电动机按顺序工作的连锁控制
线路; ➢ 起动控制电路:如星形—三角形降压启
动线路; ➢ 制动控制线路:如三相笼型异步电动机
反接制动控制电路; ➢ 工作台往复运动控制线路。
双击该组件,或选择菜单命令编辑 > 对象属性。 鼠标右键:将光标移到组件上,按下鼠标右键,然 后从弹出式菜单中选择对象属性命令。 CPU属性 CPU属性对系统特性具有特殊意义。在CPU的对话框 中,可以设置下列各项,例如:启动特性、用于中断的本 地数据区及优先级、存储区、保持性能、时钟存储器、保 护级别以及口令 - 仅举其中一小部分实例。STEP 7 "了解" 可以设置的内容以及设置范围。 在CPU的"常规"标签页中,或通过CPU接口属性,可 以将参数分配给接口(例如,MPI或集成PROFIBUS-DP接 口)。通过这些对话框,还可以访问要与CPU连接的相应子 网的属性对话框。
从可编程控制器上传时的限制条件
下列限制条件适用于从可编程控制器上传至编程设备的数据: 块不包含任何用于参数、变量和标签的符号名称 块不包含任何注释 所有系统数据会随整个程序一同上传,系统只能继续处理属于"组态
硬件"应用程序的系统数据 不能更进一步处理用于全局数据通讯(GD)和组态与符号相关消息的数
图2-25 在PLCSIM中监视、修改变量
3、PLCSIM与真实PLC的差别
PLCSIM提供了方便、强大的仿真模拟功能。与真实PLC相比,它的 灵活性更高,提供了许多PLC硬件无法实现的功能,使用也更方便。但是同 时软件毕竟无法完全取代真实的硬件,不可能实现完全的仿真。用户利用 PLCSIM进行模拟调试时,必须了解它与真实PLC系统的差别。
S7-300使用说明书
一、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,可以清除原来的配置信息。
西门子S7300教程第3章-PPT精品文档53页
Date: 2019/10/7
Page: 17 返回本节
4. SIMATIC 管理器自定义选项设置(1/2)
设置常规选项
Date: 2019/10/7
Page: 18 返回本节
4. SIMATIC 管理器自定义选项设置(2/2)
设置语言
Date: 2019/10/7
Page: 19 返回上级
5. PG/PC接口设置(1/3)
5.硬件组态(6/6)
编译硬件组态(完成后的窗口) 系统自动创建程序文件夹 包含一个循环组织块OB1
Date: 2019/10/7
Page: 39 返回上级
6.编辑符号表(1/2)
方法1:从LAD/STL/FBD编辑器打开符号表
Date: 2019/10/7
Page: 40 返回上级
6.编辑符号表(2/2)
Page: 14 返回本章
1.启动SIMATIC管理器
Date: 2019/10/7
启动SIMATIC管理器
Page: 15 返回本节
2.SIMATIC管理器界面
可访问网络节点 S7 存储卡 下 载 工 具 ( D ownload) 离 线 工 具 ( O fflin e) 在 线 工 具 ( O nline) 查看工具
§3.3.2 简单设计示例:电动机起停控制
PLC端子接线图 使用向导创建STEP 7项目 手动创建STEP 7项目 插入S7-300工作站 硬件组态 编辑符号表 程序编辑窗口 在OB1中编辑LAD程序 在OB1中编辑STL程序 在OB1中编辑FBD程序
Date: 2019/10/7
§3.3.1 设计流程 §3.3.2 简单设计示例
Date: 2019/10/7
西门子plc中UDT数据类型的用法
西门子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",留意数据类型要与之前新建的数据类型名称相同。
西门子S7300教程第3章 PPT资料共53页
② ③
①
项目向导2/4
Date: 2019/11/26
Page: 28 返回上级
2.使用项目向导创建STEP 7项目(3/4)
②
①
项目向导3、4
Date: 2019/11/26
Page: 29 返回上级
2.使用项目向导创建STEP 7项目(4/4)
完成项目创建,项目名:My_Prj1
Date: 2019/11/26
5.硬件组态(2/6)
带有插槽的机架(导轨)
槽号 模块列表
版本号
输入模块地址
放置模块型号
订货号
MPI 子网地址
输出模块地址
插入0号导轨:(0)UR
Date: 2019/11/26
Page: 35 返回上级
配置电源模块
5.硬件组态(3/6)
配置 CPU
配置数字量输入模块
配置数字量输出模块
插入各种S7-300模块
Page: 30 返回上级
3.手动创建STEP 7项目(1/2)
新建项目窗口
Date: 2019/11/26
Page: 31 返回上级
3.手动创建STEP 7项目(2/2)
所创建的项目,项目名:My_Prj2
Date: 2019/11/26
Page: 32 返回上级
4.插入S7-300工作站
在My_Prj2项目内插入S7-300工作站:SIMATIC 300(1)
PG740
Date: 2019/11/26
Page: 5 返回本节
§3.1.3 STEP 7的安装(1/8)
选择安装语言及安装程序
Date: 2019/11/26
Page: 6 返回本节
西门子S7-300高级编程培训教材,内部教材 5、STEP 7中的数据类型和变量
Meas_value[10]: Real • 一维数组: 域名:ARRAY[最小索引..最大索引] OF 数据类型; • 多维数组: 域名: ARRAY[最小索引1..最大索引1,最小索引2..最大索引2,...] OF数据类型; 索引:数据类型INT(-32768...32767)
示例: 数组变量的声明:
Date: File:
2013-8-15 PRO2_05E.4
SITRAIN TraininP 7中的基本数据类型
关键字
BOOL BYTE WORD DWORD
CHAR
长度(单位:位)
1 8 16 32
8
类型常数示例
1或0 B#16#A9 W#16#12AF DW#16#ADAC1EF5
SITRAIN Training for
Automation and Drives
STEP 7参数类型
关键字
TIMER
长度(位)
16
示例
Contact time: TIMER . SI #Contact_time NoCompParts: COUNTER . LC #No_Comp_Parts Recall: BLOCK_FB . UC #Recall Measure: POINTER . L P##Measure . Measured Values: ANY . L P##Meas_Values .
LAD中的分支 STL表示
分支位置
来自本地数据堆栈的 帮助变量
SIMATIC S7
Siemens AG 2001. All rights reserved.
Date: File:
2013-8-15 PRO2_05E.11
SITRAIN Training for
