S7-300PLC课件-13结构化编程

上传人:206****923 文档编号:54866809 上传时间:2018-09-20 格式:PPT 页数:48 大小:838.50KB
返回 下载 相关 举报
S7-300PLC课件-13结构化编程_第1页
第1页 / 共48页
S7-300PLC课件-13结构化编程_第2页
第2页 / 共48页
S7-300PLC课件-13结构化编程_第3页
第3页 / 共48页
S7-300PLC课件-13结构化编程_第4页
第4页 / 共48页
S7-300PLC课件-13结构化编程_第5页
第5页 / 共48页
点击查看更多>>
资源描述

《S7-300PLC课件-13结构化编程》由会员分享,可在线阅读,更多相关《S7-300PLC课件-13结构化编程(48页珍藏版)》请在金锄头文库上搜索。

1、结构化编程,程序设计方法:线性化编程、模块化编程和结构化编程。,第七章 结构化编程,线性化编程是将整个用户程序放在组织块OB1中,在CPU循环扫描时执行OB1中的全部指令。其特点是结构简单、但效率低下。另一方面,某些相同或相近的操作需要多次执行,这样会造成不必要的编程工作。再者,由于程序结构不清晰,会造成管理和调试的不方便。所以在编写大型程序时,避免线性化编程。,模块化编程是将程序根据功能分为不同的逻辑块,且每一逻辑块完成的功能不同。在OB1中可以根据条件调用不同的功能或功能块。其特点是易于分工合作,调试方便。由于逻辑块是有条件的调用,所以可以提高CPU的利用率。,结构化编程是将过程要求类似或

2、相关的任务归类,在功能或功能块中编程,形成通用解决方案。通过不同的参数调用相同的功能或通过不同的背景数据块调用相同的功能块。 其特点是结构化编程必须对系统功能进行合理分析、分解和综合,所以对设计人员的要求较高,另外,当使用结构化编程方法时,需要对数据进行管理。,传送带系统中所有交流电机的通用逻辑控制块; 装配线机械中所有电磁线圈的通用逻辑控制块; 造纸机器中所有驱动装置的通用逻辑控制块。,结构化编程,OB 1,练习,电动机启保停电路 按下按钮,一个数加1,当此数值超过20时,输出指示,利用局部数据进行控制,FC1 (数学功能),OB1,FC1,Input1,Input2,Input3,Outp

3、ut_A,FC1,Input1,Input2,Input3,Output_A,MW5,3369,MW10,QW12,QW20,MW2,6869,MW16,I0.5,I0.5,( ),M5.1,O,#TEMP1 #INPUT3,#Output_A,0.0,2.0,4.0,6.0,8.0,in,in,in,out,temp,int,int,int,int,int,sample measure 1,constant,offset,result,intermediate,局部变量,临时变量,局部数据堆栈的大小,对于 S7-300:,局部堆栈大小,优先级,256 bytes,1,27,总容量: 1.5

4、Kbyte (CPU 313316),启动程序 (只执行一次),循环扫描程序,块所需要的局部数据区的长度,rechts,程序所占用的局部数据区的总长度,练习1: 使用临时变量,QW6,示例:计算公式,Disturb_ input,Report_ memory,Acknowledge,Edge_ mem_bit,Display,Flash_freq,FC 20,调用,可以分配参数的块,A i 1.2 R m 40.0 A i 1.3 Fp m 40.1 S m 40.0 A m 40.0 A m 10.3 O Anm 40.0 A i 1.3 = Q 4.3,不可以 分配参数的块,M 40.0,

5、M 40.1,I 1.3,I 1.2,Q 4.3,M 10.3,实际参数,A #Acknowledge R #Report memory A #Disturb_input FP #Edge_mem_bit S #Report_memory A #Report_memory A #Flash_freq O AN #Report_memory A #Disturb_input = #Display,可以分配参数的块,程序,定义形式参数,使用方法,图形显示,只能读,在块的左侧,只能写,在块的右侧,参数类型,输入参数,输出参数,输入/输出 参数,定义,in,out,In_out,可读/可写,在块的左侧

6、,形式参数,编辑一个可分配参数的块,对于无参数分配的块,此处可能是: 绝对地址: I1.3 符号地址: “End_left”,Disturb_input,Acknowledge,Flash_freq,Edge_mem_bit,Display,ENO,EN,FC20,调用一个分配了参数的块,Network 3: First Call,Network 4: Second Call,M40.1,“Position error”,“End left”,“Acknow.button”,M10.3,M40.0,“End right”,Q4.1,“Acknow.button”,M10.3,M40.2,符号的

7、,寻址方式,符号,局部符号 形式参数,M40.3,Q5.4,Report_memory,LAD/FBD,STL,在块调用时使用EN/ENO参数,CALL FC 1 NOP 0,FC 1,EN,ENO,? . ?,无条件调用,FC 20 的变量声明表,练习2: 生成一个分配了参数的FC块,1.,练习3: 调用一个分配了参数的FC块,Disturb_input,Report_memory,Acknowledge,Edge_mem_bit,Display,Flash_freq,第一次调用FC20时 的参数分配,M 40.0,M 40.1,I 1.3,I 1.2,Q 5.3,M 10.3,FC 20,

8、Disturb_input,Report_memory,Acknowledge,Edge_mem_bit,Display,Flash_freq,M 40.2,M 40.3,I 1.4,I 1.2,Q 5.4,M 10.3,FC 20,第二次调用FC20时 的参数分配,练习,将最近采集的三个数求平均,进行滤波处理。,先采用模块化编程实现此功能,接着采用结构化编程实现,最后引出FB块。,FB块,FB 2 EN Disturb. input Acknowledge Display Flash freq. ENO,DB 2,OB 1,FB块的变量声明表,用FB实现的故障信息显示,FB的声明表,生成背景

9、数据块,1. 在FB调用时生成背景数据块,多重背景模型,DB10,普通背景模型,FB20,OB 1,Call FB20, DB10Disturb._Input:=Acknowledge:=Flash_Freq:=Display:=,Parameters and static variables of the 2nd. call of FB20,Call Dist_2Disturb._Input:=Acknowledge:=Flash_Freq:=Display:=,Parameters and static variables of the 1st. call of FB20,Call Dis

10、t_1Disturb._Input:=Acknowledge:=Flash_Freq:=Display:=,练习4: 编写一个FB块,FB 20 的变量声明表,1.,练习5: 调用FB并调试,插入/删除块的参数可能遇到的问题,Save,调用被修改过的块时应做的更正,当调用块被打开时:,单击鼠标右键,练习6: 多台设备的风扇监控功能,A,B,C,=1,S_ODT,TIMER_NO,ACKN,SIG,&,A,B,C,R,S,Q,=1,FLT,FC101,REPORT,A,B,C,ACKN,TIMER_NO,TV,FLT,SIG,功能,符号,练习7: 风扇监控功能的扩展,A,B,C,=1,S_ OD

11、T,TIMER_NO,ACKN,SIG,&,A,B,C,R,S,Q,=1,FLT,FC101,REPORT,A,B,C,ACKN,TIMER_NO,TV,FLT,功能,符号,ENAB,&,ENAB,ENAB,SIG,练习8: 识别变量的类型,TYPE OF VARIABLE,总结: 块的调用, CALL FC1 UC FC1 CC FC1,STL,LAD,FBD,FC1,FB,无参数,无背景数据块, UC FB1 CC FB1,CALL,无参数,语言,FC,FC1,控制任务描述:在发动机控制系统工程实例中,被控对象是一个“汽油发动机”和一个对该汽油发动机进行散热的“风扇”,一个“柴油发动机”和

12、一个对该柴油发动机进行散热的“风扇”。对这些被控对象,有相应的起动、停止按钮控制其状态的改变,并要求这两个发动机在起动的同时,对应的风扇要同时起动对其散热,当发动机停止运行时,风扇要延时4秒后再关闭,以保证发动机充分的散热。,发动机控制系统工程,发动机控制系统结构化程序的结构示意图,1、 创建符号地址表,2、发动机控制功能块(FBl)的程序设计,输入:,定义FB1的输入、输出参数。这些定义包括变量名、数据类型和声明类型。,输出:,静态变量:,FB1功能块的程序设计,汽油机数据块DB1的内容,3、风扇控制功能(FCl)的程序设计,定义FC1的输入、输出参数。这些定义包括变量名、数据类型和声明类型。,输入:,输出:,FBl功能块的程序设计,4、组织块(OB1)的程序设计,发电机控制系统组织块OB1的指令程序,功能和功能块的调用必须用实参代替形参,因为形参是在功能或功能块的变量声明表中定义的。为保证功能或功能块对同一类设备的通用性,在编程中不能使用实际对应的存储区地址参数,而是使用抽象参数,这就是形参。而块在调用时,必须将实际参数(实参)替代形参,从而可以通过功能或功能块实现对具体设备的控制。这里必须注意:实参的数据类型必须与形参一致。,总结,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业/管理/HR > 其它文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号