最新S7-300PLC课件-13结构化编程(共49张PPT课件).pptx
《最新S7-300PLC课件-13结构化编程(共49张PPT课件).pptx》由会员分享,可在线阅读,更多相关《最新S7-300PLC课件-13结构化编程(共49张PPT课件).pptx(49页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、青岛大学青岛大学-西门子先进自动化技术实验室西门子先进自动化技术实验室 青岛大学自动化工程学院青岛大学自动化工程学院SIEMENS结构化编程结构化编程操作系统操作系统OB1FCFBFCFBSFCSFB其它其它OBs第一页,共四十九页。青岛大学青岛大学-西门子先进自动化技术实验室西门子先进自动化技术实验室 青岛大学自动化工程学院青岛大学自动化工程学院SIEMENS 程序设计程序设计(chn x sh j)(chn x sh j)方法:线性化编程、模方法:线性化编程、模块化编程和结构化编程。块化编程和结构化编程。 第七章第七章 结构化编程结构化编程 线性化编程线性化编程是将整个是将整个(zhngg
2、)(zhngg)用户程序放在组织块用户程序放在组织块OB1OB1中,在中,在CPUCPU循环扫描时执行循环扫描时执行OB1OB1中的全部指令。其特中的全部指令。其特点是结构简单、但效率低下。另一方面,某些相同或点是结构简单、但效率低下。另一方面,某些相同或相近的操作需要多次执行,这样会造成不必要的编程相近的操作需要多次执行,这样会造成不必要的编程工作。再者,由于程序结构不清晰,会造成管理和调工作。再者,由于程序结构不清晰,会造成管理和调试的不方便。所以在编写大型程序时,避免线性化编试的不方便。所以在编写大型程序时,避免线性化编程。程。第二页,共四十九页。青岛大学青岛大学-西门子先进自动化技术实
3、验室西门子先进自动化技术实验室 青岛大学自动化工程学院青岛大学自动化工程学院SIEMENS模块化编程模块化编程是将程序根据功能分为不同的逻辑是将程序根据功能分为不同的逻辑(lu (lu j)j)块,且每一逻辑块,且每一逻辑(lu j)(lu j)块完成的功能不同。在块完成的功能不同。在OB1中可以根据条件调用不同的功能或功能块。中可以根据条件调用不同的功能或功能块。 其特点是易于分工合作,调试方便。由于逻辑块其特点是易于分工合作,调试方便。由于逻辑块是有条件的调用,所以可以提高是有条件的调用,所以可以提高CPUCPU的利用率。的利用率。第三页,共四十九页。青岛大学青岛大学-西门子先进自动化技术
4、实验室西门子先进自动化技术实验室 青岛大学自动化工程学院青岛大学自动化工程学院SIEMENS结构化编程结构化编程是将过程要求类似或相关的任务是将过程要求类似或相关的任务(rn wu)归类,在功能或功能块中编程,形成通用解决方归类,在功能或功能块中编程,形成通用解决方案。通过不同的参数调用相同的功能或通过不同案。通过不同的参数调用相同的功能或通过不同的背景数据块调用相同的功能块。的背景数据块调用相同的功能块。 其特点是其特点是结构化编程必须对系统功能进行合结构化编程必须对系统功能进行合理分析、分解和综合,所以对设计人员的要求较理分析、分解和综合,所以对设计人员的要求较高,另外,当使用结构化编程方
5、法时,需要对数高,另外,当使用结构化编程方法时,需要对数据进行管理。据进行管理。 传送带系统中所有交流电机的通用传送带系统中所有交流电机的通用(tngyng)(tngyng)逻辑控制逻辑控制块;块; 装配线机械中所有电磁线圈的通用逻辑控制块;装配线机械中所有电磁线圈的通用逻辑控制块; 造纸机器中所有驱动装置的通用逻辑控制块。造纸机器中所有驱动装置的通用逻辑控制块。 第四页,共四十九页。青岛大学青岛大学-西门子先进自动化技术实验室西门子先进自动化技术实验室 青岛大学自动化工程学院青岛大学自动化工程学院SIEMENS结构化编程结构化编程OB 1电机电机 1FC 1电机电机 2FC 1电机电机 3F
6、C 1第五页,共四十九页。青岛大学青岛大学-西门子先进自动化技术实验室西门子先进自动化技术实验室 青岛大学自动化工程学院青岛大学自动化工程学院SIEMENS练习练习(linx)1.电动机启保停电路电动机启保停电路(dinl)2. 按下按钮,一个数加按下按钮,一个数加1,当此数值超过,当此数值超过20时,时,输出指示输出指示第六页,共四十九页。青岛大学青岛大学-西门子先进自动化技术实验室西门子先进自动化技术实验室 青岛大学自动化工程学院青岛大学自动化工程学院SIEMENS利用局部利用局部(jb)数据进行控制数据进行控制FC1 (数学数学(shxu)功能功能)OB1FC1Input1Input2I
7、nput3Output_AFC1Input1Input2Input3Output_AMW53369MW10QW12QW20MW26869MW16I0.5I0.5SUB_IIN1IN2( )M5.1OADD_IIN1IN2M5.0O#TEMP1#INPUT1#INPUT2#TEMP1#INPUT3#Output_A 0.02.04.06.08.0Input1Input2Input3Output_ATEMP1inininouttempintintintintintsample measure 1constantoffsetresultintermediate第七页,共四十九页。青岛大学青岛大学-西
8、门子先进自动化技术实验室西门子先进自动化技术实验室 青岛大学自动化工程学院青岛大学自动化工程学院SIEMENS局部变量局部变量临时变量临时变量 当相关块执行完毕后被清除 临时存储在 L stack中 可在下列块中使用 OBs / FCs / FBs静态变量静态变量当相关块执行完毕后仍然 保留 永久存储在DBs中 只能在FBs中使用局部变量局部变量 / / 数据数据(只在一个块中有效)全局变量全局变量/ /数据数据(在全部程序中有效) PII / PIQ I/ O M / T / C DB areas符号地址符号地址绝对地址绝对地址访问方式访问方式第八页,共四十九页。青岛大学青岛大学-西门子先进
9、自动化技术实验室西门子先进自动化技术实验室 青岛大学自动化工程学院青岛大学自动化工程学院SIEMENS临时临时(ln sh)变量变量第九页,共四十九页。青岛大学青岛大学-西门子先进自动化技术实验室西门子先进自动化技术实验室 青岛大学自动化工程学院青岛大学自动化工程学院SIEMENS执行的程序执行的程序局部数据堆栈局部数据堆栈(duzhn)的大小的大小对于对于(duy)(duy) S7-300:局部局部(jb)堆堆栈大小栈大小优先级优先级256 bytes127总容量总容量: : 1.5 Kbyte(CPU 313.316)启动程序启动程序 ( (只执行一次只执行一次) )循环扫描程序循环扫描程
10、序256 bytes256 bytes256 bytes1232时间中断时间中断日时钟中断日时钟中断延时处理中断延时处理中断循环处理中断循环处理中断循环扫描中的错误处理中断循环扫描中的错误处理中断256 bytes162826256 bytes事件驱动中断事件驱动中断硬件中断硬件中断启动过程中的错误处理中断启动过程中的错误处理中断第十页,共四十九页。青岛大学青岛大学-西门子先进自动化技术实验室西门子先进自动化技术实验室 青岛大学自动化工程学院青岛大学自动化工程学院SIEMENS块所需要块所需要(xyo)的局部数据区的长度的局部数据区的长度rechts第十一页,共四十九页。青岛大学青岛大学-西门
11、子先进自动化技术实验室西门子先进自动化技术实验室 青岛大学自动化工程学院青岛大学自动化工程学院SIEMENS256 Bytes事件所占用的 L stack1OB1OB 11操作系统程序所占用的局部程序所占用的局部(jb)数据区的总长度数据区的总长度FC 2有临时变量OB1FC2FC133OB1FC144OB1FC166FC 3有临时变量OB1FC3FC155FC 1有临时变量2OB1FC127OB17第十二页,共四十九页。青岛大学青岛大学-西门子先进自动化技术实验室西门子先进自动化技术实验室 青岛大学自动化工程学院青岛大学自动化工程学院SIEMENS练习练习(linx)1: 使用临时变量使用临
12、时变量替换为临时变量替换为临时变量QW6第十三页,共四十九页。青岛大学青岛大学-西门子先进自动化技术实验室西门子先进自动化技术实验室 青岛大学自动化工程学院青岛大学自动化工程学院SIEMENS示例示例(shl):计算公式:计算公式第十四页,共四十九页。青岛大学青岛大学-西门子先进自动化技术实验室西门子先进自动化技术实验室 青岛大学自动化工程学院青岛大学自动化工程学院SIEMENSDisturb_inputReport_ memoryAcknowledgeEdge_ mem_bitDisplayFlash_freqFC 20调用调用(dioyng)可以可以(ky)分配参数的块分配参数的块Ai1.
13、2Rm40.0Ai1.3Fpm40.1Sm 40.0Am40.0Am10.3OAnm40.0Ai1.3=Q4.3不可以不可以(ky)分配参数的块分配参数的块形式参数形式参数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 可以分配参数的块可以分配参数的块程序程序第十五页,共四十九
14、页。青岛大学青岛大学-西门子先进自动化技术实验室西门子先进自动化技术实验室 青岛大学自动化工程学院青岛大学自动化工程学院SIEMENS定义定义(dngy)形式参数形式参数使用使用(shyng)方法方法图形图形(txng)显示显示只能读在块的左侧只能写在块的右侧 参数类型参数类型输入参数输出参数输入/输出 参数 定义定义inoutIn_out可读/可写在块的左侧 形式参数形式参数第十六页,共四十九页。青岛大学青岛大学-西门子先进自动化技术实验室西门子先进自动化技术实验室 青岛大学自动化工程学院青岛大学自动化工程学院SIEMENS编辑一个可分配编辑一个可分配(fnpi)参数的块参数的块对于无参数分
15、配的块,此处可能(knng)是: 绝对地址: I1.3 符号地址:“End_left”第十七页,共四十九页。青岛大学青岛大学-西门子先进自动化技术实验室西门子先进自动化技术实验室 青岛大学自动化工程学院青岛大学自动化工程学院SIEMENSDisturb_inputAcknowledgeFlash_freqEdge_mem_bitDisplayENOENFC20调用一个分配调用一个分配(fnpi)了参数的块了参数的块Network 3: First CallNetwork 4: Second CallM40.1“Position error”“End left”.“Acknow.button”M
16、10.3M40.0“End right”Q4.1“Acknow.button”M10.3M40.2符号(fho)的绝对的寻址方式寻址方式(fngsh)符号符号局部符号 -形式参数符号表全局符号Disturb_inputAcknowledgeFlash_freqReport_memoryEdge_mem_bitDisplayENOENFC20M40.3Q5.4Report_memory第十八页,共四十九页。青岛大学青岛大学-西门子先进自动化技术实验室西门子先进自动化技术实验室 青岛大学自动化工程学院青岛大学自动化工程学院SIEMENSLAD/FBDSTL在块调用时使用在块调用时使用(shyng)
17、EN/ENO参数参数CALLFC1 NOP 0例子? . ?FC 1ENENOFC 2ENENOFC 3ENENO=FC 1ENENO? . ?无条件调用(dioyng)AI 0.1 JNB_001 CALLFC1 _001:A BR =Q 5.0FC 1ENENOI 0.1=Q 5.0条件调用第十九页,共四十九页。青岛大学青岛大学-西门子先进自动化技术实验室西门子先进自动化技术实验室 青岛大学自动化工程学院青岛大学自动化工程学院SIEMENSFC 20 的变量的变量(binling)声明表声明表练习练习(linx)2: 生成一个分配了参数的生成一个分配了参数的FC块块无参数的块无参数的块分配
18、了参数的块分配了参数的块 FC 20AI1.2RM40.0AI1.3FPM40.1SM 40.0AM40.0AM10.3OANM40.0AI1.3=Q5.3A#AcknowledgeR#Report_memoryA#Disturb.:2.1.第二十页,共四十九页。青岛大学青岛大学-西门子先进自动化技术实验室西门子先进自动化技术实验室 青岛大学自动化工程学院青岛大学自动化工程学院SIEMENS练习练习3: 调用一个分配调用一个分配(fnpi)了参数的了参数的FC块块Disturb_inputReport_memoryAcknowledgeEdge_mem_bitDisplayFlash_freq
19、第一次调用第一次调用FC20时时的参数的参数(cnsh)(cnsh)分配分配 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时时的参数的参数(cnsh)(cnsh)分配分配第二十一页,共四十九页。青岛大学青岛大学-西门子先进自动化技术实验室西门子先进自动化技术实验室 青岛大学自动化工程学院青岛大学自动化工程学院SIEMENS练习练习
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 最新 S7 300 PLC 课件 13 结构 编程 49 PPT
限制150内