【精品】s7-300plc课件-13结构化编程(可编辑.ppt
-
资源ID:86272887
资源大小:1.22MB
全文页数:48页
- 资源格式: PPT
下载积分:15金币
快捷下载
会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
【精品】s7-300plc课件-13结构化编程(可编辑.ppt
S7-300PLC课件-13结构化编程青岛大学青岛大学-西门子先进自动化技术实验室西门子先进自动化技术实验室 青岛大学自动化工程学院青岛大学自动化工程学院SIEMENS 程序设计方法:线性化编程、模块化编程程序设计方法:线性化编程、模块化编程和结构化编程。和结构化编程。第七章第七章 结构化编程结构化编程 线性化编程线性化编程是将整个用户程序放在组织块是将整个用户程序放在组织块OB1OB1中,在中,在CPUCPU循环扫描时执行循环扫描时执行OB1OB1中的全部指令。中的全部指令。其特点是结构简单、但效率低下。另一方面,其特点是结构简单、但效率低下。另一方面,某些相同或相近的操作需要多次执行,这样会某些相同或相近的操作需要多次执行,这样会造成不必要的编程工作。再者,由于程序结构造成不必要的编程工作。再者,由于程序结构不清晰,会造成管理和调试的不方便。所以在不清晰,会造成管理和调试的不方便。所以在编写大型程序时,避免线性化编程。编写大型程序时,避免线性化编程。青岛大学青岛大学-西门子先进自动化技术实验室西门子先进自动化技术实验室 青岛大学自动化工程学院青岛大学自动化工程学院SIEMENS模块化编程模块化编程是将程序根据功能分为不同的逻是将程序根据功能分为不同的逻辑块,且每一逻辑块完成的功能不同。在辑块,且每一逻辑块完成的功能不同。在OB1中可以根据条件调用不同的功能或功能中可以根据条件调用不同的功能或功能块。块。其特点是易于分工合作,调试方便。由于其特点是易于分工合作,调试方便。由于逻辑块是有条件的调用,所以可以提高逻辑块是有条件的调用,所以可以提高CPUCPU的的利用率。利用率。青岛大学青岛大学-西门子先进自动化技术实验室西门子先进自动化技术实验室 青岛大学自动化工程学院青岛大学自动化工程学院SIEMENS结构化编程结构化编程是将过程要求类似或相关的任务是将过程要求类似或相关的任务归类,在功能或功能块中编程,形成通用解归类,在功能或功能块中编程,形成通用解决方案。通过不同的参数调用相同的功能或决方案。通过不同的参数调用相同的功能或通过不同的背景数据块调用相同的功能块。通过不同的背景数据块调用相同的功能块。其特点是其特点是结构化编程必须对系统功能进行结构化编程必须对系统功能进行合理分析、分解和综合,所以对设计人员的合理分析、分解和综合,所以对设计人员的要求较高,另外,当使用结构化编程方法时,要求较高,另外,当使用结构化编程方法时,需要对数据进行管理。需要对数据进行管理。传送带系统中所有交流电机的通用逻辑控制块;传送带系统中所有交流电机的通用逻辑控制块;装配线机械中所有电磁线圈的通用逻辑控制块;装配线机械中所有电磁线圈的通用逻辑控制块;造纸机器中所有驱动装置的通用逻辑控制块。造纸机器中所有驱动装置的通用逻辑控制块。青岛大学青岛大学-西门子先进自动化技术实验室西门子先进自动化技术实验室 青岛大学自动化工程学院青岛大学自动化工程学院SIEMENS结构化编程结构化编程OB 1电机电机 1FC 1电机电机 2FC 1电机电机 3FC 1青岛大学青岛大学-西门子先进自动化技术实验室西门子先进自动化技术实验室 青岛大学自动化工程学院青岛大学自动化工程学院SIEMENS青岛大学青岛大学-西门子先进自动化技术实验室西门子先进自动化技术实验室 青岛大学自动化工程学院青岛大学自动化工程学院SIEMENS青岛大学青岛大学-西门子先进自动化技术实验室西门子先进自动化技术实验室 青岛大学自动化工程学院青岛大学自动化工程学院SIEMENS局部变量局部变量临时变量临时变量 当相关块执行完毕后被清除 临时存储在 L stack中 可在下列块中使用 OBs/FCs/FBs静态变量静态变量当相关块执行完毕后仍然 保留 永久存储在DBs中 只能在FBs中使用局部变量局部变量/数据数据(只在一个块中有效)全局变量全局变量/数据数据(在全部程序中有效)PII/PIQ I/O M/T/C DB areas符号地址符号地址绝对地址绝对地址访问方式访问方式青岛大学青岛大学-西门子先进自动化技术实验室西门子先进自动化技术实验室 青岛大学自动化工程学院青岛大学自动化工程学院SIEMENS临时变量临时变量青岛大学青岛大学-西门子先进自动化技术实验室西门子先进自动化技术实验室 青岛大学自动化工程学院青岛大学自动化工程学院SIEMENS执行的程序执行的程序局部数据堆栈的大小局部数据堆栈的大小对于对于 S7-300:局部堆栈大小局部堆栈大小优先级优先级256 bytes127总容量总容量:1.5 Kbyte(CPU 313.316)启动程序启动程序(只执行一次只执行一次)循环扫描程序循环扫描程序256 bytes256 bytes256 bytes1232时间中断时间中断日时钟中断日时钟中断延时处理中断延时处理中断循环处理中断循环处理中断循环扫描中的错误处理中断循环扫描中的错误处理中断256 bytes162826256 bytes事件驱动中断事件驱动中断硬件中断硬件中断启动过程中的错误处理中断启动过程中的错误处理中断青岛大学青岛大学-西门子先进自动化技术实验室西门子先进自动化技术实验室 青岛大学自动化工程学院青岛大学自动化工程学院SIEMENS块所需要的局部数据区的长度块所需要的局部数据区的长度rechts青岛大学青岛大学-西门子先进自动化技术实验室西门子先进自动化技术实验室 青岛大学自动化工程学院青岛大学自动化工程学院SIEMENS256 Bytes事件所占用的 L stack1OB1OB 11操作系统程序所占用的局部数据区的总长度程序所占用的局部数据区的总长度FC 2有临时变量OB1FC2FC133OB1FC144OB1FC166FC 3有临时变量OB1FC3FC155FC 1有临时变量2OB1FC127OB17青岛大学青岛大学-西门子先进自动化技术实验室西门子先进自动化技术实验室 青岛大学自动化工程学院青岛大学自动化工程学院SIEMENS练习练习1:使用临时变量使用临时变量替换为临时变量替换为临时变量QW6青岛大学青岛大学-西门子先进自动化技术实验室西门子先进自动化技术实验室 青岛大学自动化工程学院青岛大学自动化工程学院SIEMENS示例:计算公式示例:计算公式青岛大学青岛大学-西门子先进自动化技术实验室西门子先进自动化技术实验室 青岛大学自动化工程学院青岛大学自动化工程学院SIEMENSDisturb_inputReport_ memoryAcknowledgeEdge_ mem_bitDisplayFlash_freqFC 20调用调用可以分配参数的块可以分配参数的块Ai1.2Rm40.0Ai1.3Fpm40.1Sm 40.0Am40.0Am10.3OAnm 40.0Ai1.3=Q4.3不可以不可以分配参数的块分配参数的块形式参数形式参数M 40.0M 40.1I 1.3I 1.2Q 4.3M 10.3实际参数实际参数A#AcknowledgeR#Report memoryA#Disturb_inputFP#Edge_mem_bitS#Report_memoryA#Report_memoryA#Flash_freq OAN#Report_memoryA#Disturb_input=#Display 可以分配参数的块可以分配参数的块程序程序青岛大学青岛大学-西门子先进自动化技术实验室西门子先进自动化技术实验室 青岛大学自动化工程学院青岛大学自动化工程学院SIEMENS定义形式参数定义形式参数使用方法使用方法图形显示图形显示只能读在块的左侧只能写在块的右侧 参数类型参数类型输入参数输出参数输入/输出 参数 定义定义inoutIn_out可读/可写在块的左侧 形式参数形式参数青岛大学青岛大学-西门子先进自动化技术实验室西门子先进自动化技术实验室 青岛大学自动化工程学院青岛大学自动化工程学院SIEMENS编辑一个可分配参数的块编辑一个可分配参数的块对于无参数分配的块,此处可能是:绝对地址:I1.3 符号地址:“End_left”青岛大学青岛大学-西门子先进自动化技术实验室西门子先进自动化技术实验室 青岛大学自动化工程学院青岛大学自动化工程学院SIEMENSDisturb_inputAcknowledgeFlash_freqEdge_mem_bitDisplayENOENFC20调用一个分配了参数的块调用一个分配了参数的块Network 3:First CallNetwork 4:Second CallM40.1“Position error”“End left”.“Acknow.button”M10.3M40.0“End right”Q4.1“Acknow.button”M10.3M40.2符号的绝对的寻址方式寻址方式符号符号局部符号-形式参数符号表全局符号Disturb_inputAcknowledgeFlash_freqReport_memoryEdge_mem_bitDisplayENOENFC20M40.3Q5.4Report_memory青岛大学青岛大学-西门子先进自动化技术实验室西门子先进自动化技术实验室 青岛大学自动化工程学院青岛大学自动化工程学院SIEMENSLAD/FBDSTL在块调用时使用在块调用时使用EN/ENO参数参数CALLFC1 NOP 0例子?.?FC 1ENENOFC 2ENENOFC 3ENENO=FC 1ENENO?.?无条件调用AI 0.1 JNB_001 CALLFC1 _001:A BR =Q 5.0FC 1ENENOI 0.1=Q 5.0条件调用青岛大学青岛大学-西门子先进自动化技术实验室西门子先进自动化技术实验室 青岛大学自动化工程学院青岛大学自动化工程学院SIEMENSFC 20 的变量声明表的变量声明表练习练习2:生成一个分配了参数的生成一个分配了参数的FC块块无参数的块无参数的块分配了参数的块分配了参数的块 FC 20AI1.2RM40.0AI1.3FPM40.1SM 40.0AM40.0AM10.3OANM40.0AI1.3=Q5.3A#AcknowledgeR#Report_memoryA#Disturb.:2.1.青岛大学青岛大学-西门子先进自动化技术实验室西门子先进自动化技术实验室 青岛大学自动化工程学院青岛大学自动化工程学院SIEMENS练习练习3:调用一个分配了参数的调用一个分配了参数的FC块块Disturb_inputReport_memoryAcknowledgeEdge_mem_bitDisplayFlash_freq第一次调用第一次调用FC20时时的参数分配的参数分配 M 40.0M 40.1I 1.3I 1.2Q 5.3M 10.3FC 20Disturb_inputReport_memoryAcknowledgeEdge_mem_bitDisplayFlash_freqM 40.2M 40.3I 1.4I 1.2Q 5.4M 10.3FC 20第二次调用第二次调用FC20时时的参数分配的参数分配青岛大学青岛大学-西门子先进自动化技术实验室西门子先进自动化技术实验室 青岛大学自动化工程学院青岛大学自动化工程学院SIEMENS练习练习将最近采集的三个数求平均,进行滤波处理。将最近采集的三个数求平均,进行滤波处理。先采用模块化编程实现此功能,接着采用结构化编先采用模块化编程实现此功能,接着采用结构化编程实现,最后引出程实现,最后引出FB块。块。青岛大学青岛大学-西门子先进自动化技术实验室西门子先进自动化技术实验室 青岛大学自动化工程学院青岛大学自动化工程学院SIEMENSFB块块 FB 2ENDisturb.inputAcknowledgeDisplayFlash freq.ENODB 2OB 1FB块的变量声明表块的变量声明表青岛大学青岛大学-西门子先进自动化技术实验室西门子先进自动化技术实验室 青岛大学自动化工程学院青岛大学自动化工程学院SIEMENS用用FB实现的故障信息显示实现的故障信息显示FB的声明表背景数据块青岛大学青岛大学-西门子先进自动化技术实验室西门子先进自动化技术实验室 青岛大学自动化工程学院青岛大学自动化工程学院SIEMENS生成背景数据块生成背景数据块1.在在FB调用时生成背景数据块调用时生成背景数据块2.创建一个新的背景数据块创建一个新的背景数据块 青岛大学青岛大学-西门子先进自动化技术实验室西门子先进自动化技术实验室 青岛大学自动化工程学院青岛大学自动化工程学院SIEMENS多重背景模型多重背景模型DB10普通背景模型普通背景模型 FB20OB 1Call FB20,DB10Disturb._Input:=Acknowledge:=Flash_Freq:=Display:=DB11FB20Call FB20,DB11Disturb._Input:=Acknowledge:=Flash_Freq:=Display:=DB12FB20Call FB20,DB12Disturb._Input:=Acknowledge:=Flash_Freq:=Display:=多重背景模型多重背景模型 FB 100DB100Call FB100,DB100OB 1statDist_1FB20statDist_2FB20Parameters andstatic variablesof the 2nd.call of FB20Call Dist_2Disturb._Input:=Acknowledge:=Flash_Freq:=Display:=Parameters andstatic variablesof the 1st.call of FB20Call Dist_1Disturb._Input:=Acknowledge:=Flash_Freq:=Display:=青岛大学青岛大学-西门子先进自动化技术实验室西门子先进自动化技术实验室 青岛大学自动化工程学院青岛大学自动化工程学院SIEMENS练习练习4:编写一个编写一个FB块块FB 20 的变量声明表的变量声明表1.FB 20 中的部分程序中的部分程序A#AcknowledgeR#Report memoryA#Disturb.:2.青岛大学青岛大学-西门子先进自动化技术实验室西门子先进自动化技术实验室 青岛大学自动化工程学院青岛大学自动化工程学院SIEMENS练习练习5:调用调用FB并调试并调试青岛大学青岛大学-西门子先进自动化技术实验室西门子先进自动化技术实验室 青岛大学自动化工程学院青岛大学自动化工程学院SIEMENS插入插入/删除块的参数可能遇到的问题删除块的参数可能遇到的问题Save青岛大学青岛大学-西门子先进自动化技术实验室西门子先进自动化技术实验室 青岛大学自动化工程学院青岛大学自动化工程学院SIEMENS调用被修改过的块时应做的更正调用被修改过的块时应做的更正当调用块被打开时当调用块被打开时:单击鼠标右键单击鼠标右键青岛大学青岛大学-西门子先进自动化技术实验室西门子先进自动化技术实验室 青岛大学自动化工程学院青岛大学自动化工程学院SIEMENS练习练习6:多台设备的风扇监控功能多台设备的风扇监控功能A B C=1 S_ODT TIMER_NO ACKN SIG&A B C R S Q =1FLT FC101 REPORTA B C ACKN TIMER_NO TVFLT SIG 功能 符号青岛大学青岛大学-西门子先进自动化技术实验室西门子先进自动化技术实验室 青岛大学自动化工程学院青岛大学自动化工程学院SIEMENS练习练习7:风扇监控功能的扩展风扇监控功能的扩展 A B C=1 S_ODT TIMER_NO ACKN SIG&A B C R S Q =1FLT FC101 REPORTA B C ACKN TIMER_NO TVFLT 功能 符号 ENAB&ENAB ENABSIG青岛大学青岛大学-西门子先进自动化技术实验室西门子先进自动化技术实验室 青岛大学自动化工程学院青岛大学自动化工程学院SIEMENS练习练习8:识别变量的类型识别变量的类型Absolute Symbolic TemporaryStaticParameterL#Number_1T#Max_valueT MW 40StatementL#Number_2L#Intermediate_resultL“Number_1”T#Number_2Global Local青岛大学青岛大学-西门子先进自动化技术实验室西门子先进自动化技术实验室 青岛大学自动化工程学院青岛大学自动化工程学院SIEMENS总结总结:块的调用块的调用 CALL FC1 UC FC1 CC FC1STLLADFBDFC1ENENOFC1ENENOFC1 (CALL)FB无参数,无背景数据块 UC FB1 CC FB1CALL有参数 CALL FC2 Par1:.Par2:.Par3:.FC2ENENOPar3Par1Par2FC2ENENOPar1Par2Par3有参数,有背景数据块 CALL FB2,DB3 Par1:.Par2:.Par3:.FB2ENENOPar3Par1Par2DB3FB2ENENOPar3Par1Par2DB3无参数语言FCFC1青岛大学青岛大学-西门子先进自动化技术实验室西门子先进自动化技术实验室 青岛大学自动化工程学院青岛大学自动化工程学院SIEMENS控制任务描述:控制任务描述:在在发发动动机机控控制制系系统统工工程程实实例例中中,被被控控对对象象是是一一个个“汽汽油油发发动动机机”和和一一个个对对该该汽汽油油发发动动机机进进行行散散热热的的“风风扇扇”,一一个个“柴柴油油发发动动机机”和和一一个个对对该该柴柴油油发发动动机机进进行行散散热热的的“风风扇扇”。对对这这些些被被控控对对象象,有有相相应应的的起起动动、停停止止按按钮钮控控制制其其状状态态的的改改变变,并并要要求求这这两两个个发发动动机机在在起起动动的的同同时时,对对应应的的风风扇扇要要同同时时起起动动对对其其散散热热,当当发发动动机机停停止止运运行行时时,风风扇扇要要延延时时4 4秒秒后再关闭,以保证发动机充分的散热。后再关闭,以保证发动机充分的散热。发动机控制系统工程发动机控制系统工程青岛大学青岛大学-西门子先进自动化技术实验室西门子先进自动化技术实验室 青岛大学自动化工程学院青岛大学自动化工程学院SIEMENS汽油机控制汽油机控制汽油机风扇控制汽油机风扇控制柴油机控制柴油机控制柴油机风扇控制柴油机风扇控制发动机控制发动机控制风扇控制风扇控制汽油机数据汽油机数据柴油机数据柴油机数据FB1FB1FC1FC1OB1OB1DB1DB1DB2DB2发动机控制系统结构化程序的结构示意图发动机控制系统结构化程序的结构示意图青岛大学青岛大学-西门子先进自动化技术实验室西门子先进自动化技术实验室 青岛大学自动化工程学院青岛大学自动化工程学院SIEMENS1、创建符号地址表创建符号地址表青岛大学青岛大学-西门子先进自动化技术实验室西门子先进自动化技术实验室 青岛大学自动化工程学院青岛大学自动化工程学院SIEMENS2、发动机控制功能块、发动机控制功能块(FBl)的程序设计的程序设计输输入入:q 定义定义FB1FB1的输入、输出参数。这些定义包括的输入、输出参数。这些定义包括变量名、数据类型和声明类型。变量名、数据类型和声明类型。青岛大学青岛大学-西门子先进自动化技术实验室西门子先进自动化技术实验室 青岛大学自动化工程学院青岛大学自动化工程学院SIEMENS输出:输出:静态变量:静态变量:青岛大学青岛大学-西门子先进自动化技术实验室西门子先进自动化技术实验室 青岛大学自动化工程学院青岛大学自动化工程学院SIEMENSFB1功能块的程序功能块的程序设计设计青岛大学青岛大学-西门子先进自动化技术实验室西门子先进自动化技术实验室 青岛大学自动化工程学院青岛大学自动化工程学院SIEMENSq 汽油机数据块汽油机数据块DB1的内容的内容 青岛大学青岛大学-西门子先进自动化技术实验室西门子先进自动化技术实验室 青岛大学自动化工程学院青岛大学自动化工程学院SIEMENS3 3、风扇控制功能、风扇控制功能(FCl)的程序设计的程序设计 q 定义定义FC1FC1的输入、输出参数。这些定义包括变的输入、输出参数。这些定义包括变量名、数据类型和声明类型。量名、数据类型和声明类型。输输入入:青岛大学青岛大学-西门子先进自动化技术实验室西门子先进自动化技术实验室 青岛大学自动化工程学院青岛大学自动化工程学院SIEMENS输出:输出:青岛大学青岛大学-西门子先进自动化技术实验室西门子先进自动化技术实验室 青岛大学自动化工程学院青岛大学自动化工程学院SIEMENSqFBl功能块的程序设计功能块的程序设计青岛大学青岛大学-西门子先进自动化技术实验室西门子先进自动化技术实验室 青岛大学自动化工程学院青岛大学自动化工程学院SIEMENS4、组织块、组织块(OB1)的程序设计的程序设计发电机控制发电机控制系统组织块系统组织块OB1OB1的指令程的指令程序序青岛大学青岛大学-西门子先进自动化技术实验室西门子先进自动化技术实验室 青岛大学自动化工程学院青岛大学自动化工程学院SIEMENS青岛大学青岛大学-西门子先进自动化技术实验室西门子先进自动化技术实验室 青岛大学自动化工程学院青岛大学自动化工程学院SIEMENS青岛大学青岛大学-西门子先进自动化技术实验室西门子先进自动化技术实验室 青岛大学自动化工程学院青岛大学自动化工程学院SIEMENS 功能和功能块的调用必须用实参代替功能和功能块的调用必须用实参代替形参,因为形参是在功能或功能块的变量形参,因为形参是在功能或功能块的变量声明表中定义的。为保证功能或功能块对声明表中定义的。为保证功能或功能块对同一类设备的通用性,在编程中不能使用同一类设备的通用性,在编程中不能使用实际对应的存储区地址参数,而是使用抽实际对应的存储区地址参数,而是使用抽象参数,这就是形参。而块在调用时,必象参数,这就是形参。而块在调用时,必须将实际参数(实参)替代形参,从而可须将实际参数(实参)替代形参,从而可以通过功能或功能块实现对具体设备的控以通过功能或功能块实现对具体设备的控制。制。这里必须注意:实参的数据类型必须这里必须注意:实参的数据类型必须与形参一致。与形参一致。总结总结