已阅读5页,还剩11页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第六章结构化编程 主讲 程子华 6 1程序设计方法 在STEP7中有三种编程方法 线性化编程 模块化编程 结构化编程 线性化编程 线性化编程是将整个程序都放在循环控制组织块OB1中 在整个程序执行的过程中 每一步都被扫描 适用与一些比较简单的程序 如果是编写大型程序 要避免线性化编程 模块化编程 将程序分成根据功能分成不同的逻辑块 没一逻辑块的功能不同 然后在OB1中可以根据条件调用不同的功能块 特点是易于分工合作 调试方便 结构化编程 结构化编程是将过程要求中类似或相似的任务归类 在功能或功能块中编程 形成通用的解决方案 一 块的分类 操作系统 用户程序 系统程序 组织块 OB 直接有系统调用 功能块 FB 由其他逻辑块调用 功能 FC 由其他逻辑块调用 数据块 DB 系统功能 SFC 系统功能块 SFB 系统数据块 SDB 二 块的含义及调用 一 功能 FC 功能是用户所编写的无固定存储区的块 它为不带 记忆 的逻辑块 所谓不带 记忆 表示没有背景数据块 当完成操作后 数据不能保持 这些数据为临时变量 对于那些需要保存的数据只能通过共享数据块 SB 来存储 调用功能时 需要用实参来代替形参 二 功能块 FB 功能块是用户所编写的有固定存储区的块 FB为带 记忆 的逻辑块 它有一个数据结构与功能块参数表完全相同的数据块 DB 我们称该数据块为背景数据块 当数据块背执行时 数据块背调用 功能块结束 调用随之结束 存放在背景数据块中的数据在FB块结束以后 仍能继续保持 具有 记忆 功能 一个功能块可以有多个背景数据块 使功能块可以被不同的对象使用 数据块包含共享数据块和背景数据块两种类型 共享数据块存储的是全局变量 所有的逻辑块都可以从共享数据块中读取数据 背景数据块则从属于某个功能块 用于传递参数 块的调用即为子程序调用 块可以嵌套调用 嵌套的层数与CPU的型号有关 三 块的结构 块是有变量声明表和程序组成的 变量声明表 每个逻辑块都有变量声明表 而变量声明表是用来说明块的局部数据 局部数据包含参数和局部变量两大类型 在不同的的逻辑块中可以重复声明和使用同一个局部数据 因为它们在每一个块中有效一次 局部数据声明类型 6 2功能和功能块编程及调用举例 一 功能和功能块的编程步骤 1 定义局部变量 首先定义形参和临时变量 2 编写执行程序 在编程中使用变量名 3 在OB1中调用这个功能块 案例1 做一个具有控制电动机正反转的功能 输入信号是正转 反转 停止 输出信号是电机正转 电机反转 案例2 设计故障I1 3出现时 在操作面板上用一个指示灯 Q4 3 来指示 指示灯以2HZ的频率闪烁 系统复位输入是I1 2 用来检测故障是否存在 如果故障存在 指示灯停止闪烁 转为常亮 故障消除 指示灯熄灭 二 功能块编程及举例 FB块带有一个存储区 即背景数据块 那么背景数据块是如何生成的 有2中方法 1 在调用FB并为它指定一个背景数据块后 如果该数据块并不存在 则弹出一下提示信息 InstancedatablockDBxdoesnotexist Doyouwanttogenerateit 单击 Yes 按钮可自动生成一个新的背景数据块 2 创建一个新的数据块时 选择其属性为 Datablockreferencingafunctionblock 功能块FB的优点 当编写FC的程序时 用户必须寻找空的标志区或数据区来存储需要保持的数据 并且要自己编写程序来保存他们 而FB的静态变量可由STEP7的软件自动保存 通过案例2说明FC和FB的区别 6 3FC和FB程序设计实例 任务描述 工业搅拌过程如下 两种配料 A B 在一个混合罐中由搅拌器混合在一起 之后通过排料阀排出 工业搅拌示意图如下图所示 系统分为4个区 配料A 配料B 搅拌区排料区 电动机和泵有3台 配料A进料泵 配料B进料泵 搅拌电动机 阀门有5个 配料A入口阀 配料A进料阀 配料B入口阀 配料B进料阀 排料阀 各个区域的功能如下 配料A和配料B的每个配料管都配有一个入口阀和进料阀 还有一个进料泵 配料管中还有流量传感器 检查是否有配料流过 区域功能为 1 进料泵当罐的液面传感器指示2 混合罐装满后 进料泵必须关闭 进料泵当排料阀打开时 进料泵同样也要关闭 3 阀门在启动进料泵1s后 必须打开入口阀和进料阀 4 阀门在进料泵停止后 阀门必须关闭 防止配料泄漏 5 故障检测进料泵启动7s之后 流量传感器会报溢出 6 故障检测进料运行时 若流量传感器没有流量信号 则进料泵关闭 7 维护进料泵启动次数大于50次 必须维护 搅拌区的混合罐中装有3个传感器 灌装满传感器 装满之后 触点断开 罐不空传感器 罐液体最低限位 达到最低限位 触点关闭 搅拌区功能为 1 搅拌电动机当液面指示 液面高度低于最低限位 时 或者排料阀打开时 搅拌电动机必须停止 2 故障检测如果搅拌电动机在启动后10s内没有达到电动机的额定转速 则电动机必须断开 3 维护搅拌电动机的启动次数超过50次 进行维护 排料区中成品的排出由螺线管阀门控制 排料区的功能为 1 罐空时 阀门必须关闭 2 当搅拌电动机工作时 或者罐空时排料阀必须关闭 这一要求与搅拌区功能的第一项要求一致 在进行系统设计之前 首先分析系统功能 可以看出系统有多台电动机和多个阀门 如果直接用线性化或模块编程 会有较多的重复编程 而用结构化编程可以减少工作量 结构化编程分析 在进行系统设计之前 首先分析系统功能 可以看出系统有多台电动机和多个阀门 如果直接用线性化或模块编程 会有较多的重复编程 而用结构化编程可以减少工作量 将电动机设计封装在FB1中 以不同的数据块分别表示不同的电动机 配料A的进料泵 DB1 配料B的进料泵 DB2 搅拌电动机 DB3 阀门用FC来封装 分别表示配料A和B的入口阀 进料阀和排料阀 分层结构图如下图所示 习题 1 试用FC封装风扇控制 要求为 电动机起动 Engine On 后 起动延时定时器 Timmer On 延时 Time 之后将风扇起动 Fan On 2 试用FB封装发动机的控制 发动机有两种类型 汽油机和柴油机 要求为 输入为起动 Switch On 停止 Switch Off 故障 Failure 复位故障 Reset 和转速设置 Actual Speed 静态变量为 转速预设值 Preset Speed 输出为运行 Engine On 转速达到设置转速指示灯 Achieve Speed L 和故障指示灯 Failure L 编程要求起动和停止按钮使运行线圈工作
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 储能项目后期评估与升级方案
- 十五五规划纲要:体育康复技术的研发与服务优化
- 2026年虚拟现实教育软件公司广告宣传合规管理制度
- 2026年能源加工公司特种设备安全管理制度
- 水上沉桩施工方案
- 数智赋能万亿产业:“十五五”重点行业转型实践
- 2025湖南高速建设工程限公司招聘25人易考易错模拟试题(共500题)试卷后附参考答案
- 2025湖北武汉车都集团下属子公司员工招聘12人易考易错模拟试题(共500题)试卷后附参考答案
- 2025浙江平阳县公用事业投资限公司招聘22名劳务派遣人员易考易错模拟试题(共500题)试卷后附参考答案
- 医院保洁试题及答案题库
- 船舶电喷柴油机MANBW共轨技术讲课文档
- 煤矿工人心理健康教育
- 马蹄内翻足的治疗与护理
- 腾讯外包流程管理办法
- 护理管理中的“十不交十不接”原则
- 电力安规考试题库及答案
- 儿科进修汇报讲课件
- 房屋安全培训课件
- 垃圾清运合同 垃圾清运承包方案(九篇)
- 2025年住房城乡建设领域现场专业人员“三新”技术网络培训考试题库及答案(共130题)
- 中考体适能训练协议书
评论
0/150
提交评论