第六章结构化编程

上传人:z*** 文档编号:243012727 上传时间:2024-09-13 格式:PPT 页数:16 大小:165.50KB
返回 下载 相关 举报
第六章结构化编程_第1页
第1页 / 共16页
第六章结构化编程_第2页
第2页 / 共16页
第六章结构化编程_第3页
第3页 / 共16页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第六章 结构化编程,主讲:程子华,6.1,程序设计方法,在,STEP7,中有三种编程方法:线性化编程、模块化编程、结构化编程。,线性化编程:线性化编程是将整个程序都放在循环控制组织块,OB1,中。在整个程序执行的过程中,每一步都被扫描,适用与一些比较简单的程序。如果是编写大型程序,要避免线性化编程。,模块化编程:将程序分成根据功能分成不同的逻辑块,没一逻辑块的功能不同,然后在,OB1,中可以根据条件调用不同的功能块,特点是易于分工合作,调试方便。,结构化编程:结构化编程是将过程要求中类似或相似的任务归类,在功能或功能块中编程,形成通用的解决方案。,一。块的分类,操作系统,用户程序,系统程序,组织块(,OB,),直接有系统调用,功能块(,FB,),由其他逻辑块调用,功能(,FC,),由其他逻辑块调用。,数据块(,DB,),,系统功能(,SFC,),系统功能块(,SFB,),系统数据块(,SDB,),二。块的含义及调用,(一),.,功能(,FC,),功能是用户所编写的无固定存储区的块。它为不带“记忆”的逻辑块。所谓不带“记忆”表示没有背景数据块。当完成操作后,数据不能保持。这些数据为临时变量,对于那些需要保存的数据只能通过共享数据块(,SB,)来存储。调用功能时,需要用实参来代替形参。,(二)。功能块(,FB,),功能块是用户所编写的有固定存储区的块。,FB,为带“记忆”的逻辑块。它有一个数据结构与功能块参数表完全相同的数据块(,DB,)。我们称该数据块为背景数据块,当数据块背执行时,数据块背调用;功能块结束,调用随之结束。存放在背景数据块中的数据在,FB,块结束以后,仍能继续保持,具有“记忆”功能。,一个功能块可以有多个背景数据块,使功能块可以被不同的对象使用。,数据块包含共享数据块和背景数据块两种类型,共享数据块存储的是全局变量,所有的逻辑块都可以从共享数据块中读取数据,背景数据块则从属于某个功能块,用于传递参数。,块的调用即为子程序调用,块可以嵌套调用,嵌套的层数与,CPU,的型号有关。,三,.,块的结构,块是有变量声明表和程序组成的。,变量声明表。每个逻辑块都有变量声明表,而变量声明表是用来说明块的局部数据,局部数据包含参数和局部变量两大类型,在不同的的逻辑块中可以重复声明和使用同一个局部数据,因为它们在每一个块中有效一次。,变量名,类 型,说 明,输入,IN,为调用逻辑块提供数据,输入给逻辑块。,输出,OUT,从逻辑块中输出数据结果,输入,/,输出,IN_OUT,参数值可以输入,也可以输出,静态变量,STAT,静态变量存储于背景数据块中,块调用结束后,变量被保留,临时变量,TEMP,临时变量存储于,L,堆栈中,块执行结束后,变量消失。,局部数据声明类型,6.2,功能和功能块编程及调用举例,一。 功能和功能块的编程步骤:,1.,定义局部变量,首先定义形参和临时变量。,2.,编写执行程序,在编程中使用变量名。,3.,在,OB1,中调用这个功能块。,案例,1.,做一个具有控制电动机正反转的功能,输入信号是正转,反转,停止,输出信号是电机正转,电机反转。,案例,2,:设计故障,I1.3,出现时,在操作面板上用一个指示灯(,Q4.3,)来指示,指示灯以,2HZ,的频率闪烁,系统复位输入是,I1.2,,用来检测故障是否存在,如果故障存在,指示灯停止闪烁,转为常亮,故障消除,指示灯熄灭。,二,.,功能块编程及举例,FB,块带有一个存储区,即背景数据块,那么背景数据块是如何生成的,有,2,中方法。,1,)在调用,FB,并为它指定一个背景数据块后,如果该数据块并不存在,则弹出一下提示信息:,”,Instance data block,DBx,does not exist. Do you want to generate it ?”,单击,”,Yes”,按钮可自动生成一个新的背景数据块。,2,)创建一个新的数据块时,选择其属性为“,Data block referencing a function block”,。,功能块,FB,的优点:当编写,FC,的程序时,用户必须寻找空的标志区或数据区来存储需要保持的数据,并且要自己编写程序来保存他们;而,FB,的静态变量可由,STEP7,的软件自动保存。,通过案例,2,说明,FC,和,FB,的区别,6.3 FC,和,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,),。编程要求起动和停止按钮使运行线圈工作或停止。转速达到给定转速时,显示转速达到预设值的指示灯亮。故障使故障灯亮。复位故障后,故障指示灯灭。,3.,将走马灯封装在,FC,中,输入为:起动和停止按钮,左转和右转按钮,(,Left,Right,),,定时间隔,(Time),,初值设置,(Initial),以及移位间隔,(Interval),;输出为,8,位(,Show,),
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 小学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!