可编程序控制器原理及应用第06章课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《可编程序控制器原理及应用第06章课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序 控制器 原理 应用 06 课件
- 资源描述:
-
1、6.1 西门子PLC的程序结构6.2 程序控制指令与结构化编程6.3 S7-200的中断系统6.4 S7-300/400的中断与组织块6.5 S7-300/400的系统功能与系统功能块本章的主要内容本章的主要内容 1 2022-7-266.1.1 西门子西门子PLC的程序结构概述的程序结构概述 本章主要介绍本章主要介绍PLC的程序结构。这里的程序指的是用的程序结构。这里的程序指的是用户程序,即用户根据控制要求编写的控制程序。用户程户程序,即用户根据控制要求编写的控制程序。用户程序是在系统程序之上运行的。西门子序是在系统程序之上运行的。西门子PLC的用户程序都的用户程序都是编写在一定的程序块中的
2、。在西门子是编写在一定的程序块中的。在西门子PLC中,程序块中,程序块是存放程序的基本单元,所有的程序必定属于特定的程是存放程序的基本单元,所有的程序必定属于特定的程序块,所有指令编写的所有程序均可以根据需要放在任序块,所有指令编写的所有程序均可以根据需要放在任意的程序块中。意的程序块中。西门子西门子PLC的程序总体结构由主程序(组织块)和的程序总体结构由主程序(组织块)和子程序(功能块)等组成。西门子子程序(功能块)等组成。西门子S7-200和和S7-300/400 PLC程序结构相似,只是各部分的名称不一样。程序结构相似,只是各部分的名称不一样。2 2022-7-266.1.1 西门子西门
3、子PLC的程序结构概述(续)的程序结构概述(续)西门子西门子PLC中程序块的执行和调用是按一定规则进中程序块的执行和调用是按一定规则进行的。根据程序执行的调用机制不同,可以将程序块分行的。根据程序执行的调用机制不同,可以将程序块分为两类。一类是系统调用程序块,这一类程序块在系统为两类。一类是系统调用程序块,这一类程序块在系统事件或中断事件发生后由系统程序激发,从而得以执行。事件或中断事件发生后由系统程序激发,从而得以执行。如主程序块如主程序块OB1,由于,由于PLC的的“循环扫描循环扫描”的原理,每的原理,每个周期的开始是一个最重要的事件,系统会在该事件发个周期的开始是一个最重要的事件,系统会
4、在该事件发生后,调用主程序块生后,调用主程序块OB1;又如中断响应子程序(程序;又如中断响应子程序(程序块),当相应的中断事件发生后,系统会调用对应的中块),当相应的中断事件发生后,系统会调用对应的中断响应子程序(程序块)。另一类程序块是程序调用程断响应子程序(程序块)。另一类程序块是程序调用程序块,这一类程序块由其他程序调用后得以执行,如序块,这一类程序块由其他程序调用后得以执行,如S7-200中的子程序、中的子程序、S7-300/400中的功能(中的功能(FC)和功能)和功能块(块(FB)等。)等。3 2022-7-266.1.1 西门子西门子PLC的程序结构概述(续)的程序结构概述(续)
5、在控制任务简单时,经常将一个工程的全部控制任务在控制任务简单时,经常将一个工程的全部控制任务都按照工程控制的顺序写在一个程序中,如写在都按照工程控制的顺序写在一个程序中,如写在OB1中。中。程序执行过程中,程序执行过程中,CPU不断地扫描不断地扫描OB1,按照事先准备,按照事先准备好的顺序去执行工作。一般情况下,只要任务稍微复杂好的顺序去执行工作。一般情况下,只要任务稍微复杂一些,就要把一个复杂的过程分解成多个简单的过程,一些,就要把一个复杂的过程分解成多个简单的过程,从而写在不同的程序块中。分为多个不同程序块后,程从而写在不同的程序块中。分为多个不同程序块后,程序容易编写,容易调试,从总体上
6、看,分块程序的优势序容易编写,容易调试,从总体上看,分块程序的优势是十分明显的。是十分明显的。4 2022-7-266.1.2西门子西门子S7-200 PLC的程序结构的程序结构 1.程序结构西门子西门子S7-200 PLC的程序在结构上是由的程序在结构上是由主程序主程序、子程序子程序和和中断子中断子程序程序组成的,如图组成的,如图6-1所示。主程序只有一个,每个循环扫描周所示。主程序只有一个,每个循环扫描周期,主程序会被执行一遍。主程序执行过程中可以调用子程序。期,主程序会被执行一遍。主程序执行过程中可以调用子程序。子程序在子程序在S7-200中最多可以有中最多可以有64个,名称为个,名称为
7、SBR0SBR63。子程。子程序可以由主程序、其它子程序或中断子程序调用。子程序调用后,序可以由主程序、其它子程序或中断子程序调用。子程序调用后,才能执行。中断子程序是一类特殊的子程序,在系统规定的中断才能执行。中断子程序是一类特殊的子程序,在系统规定的中断请求到来时,调用对应的中断子程序。中断子程序最多有请求到来时,调用对应的中断子程序。中断子程序最多有128个,个,名称为名称为INT0INT127。中断的内容在中断的内容在本章本章6.3节中讲解。节中讲解。图6-1西门子S7-200的PLC的程序结构 5 2022-7-266.1.2西门子西门子S7-200 PLC的程序结构(续)的程序结构
8、(续)2.2.子程序子程序子程序调用有时不带参数,这时调用比较简单,如图子程序调用有时不带参数,这时调用比较简单,如图6-2所示。所示。在图示程序中,在图示程序中,SM0.0是一直接通的,这是无条件调用。若换成是一直接通的,这是无条件调用。若换成其它接点,则称为有条件调用。不带参数子程序的调用中,子程其它接点,则称为有条件调用。不带参数子程序的调用中,子程序和主程序也是可以通过全局变量交换数据的。序和主程序也是可以通过全局变量交换数据的。图6-2不带参数的子程序的调用 6 2022-7-266.1.2西门子西门子S7-200 PLC的程序结构(续)的程序结构(续)子程序调用也可以带参数。每个子
9、程序调用的输入子程序调用也可以带参数。每个子程序调用的输入输出参数最多限制为输出参数最多限制为16个。在带参数的个。在带参数的“调用子程序调用子程序”指令中,参数必须与子程序局部变量表中定义的变量指令中,参数必须与子程序局部变量表中定义的变量完全匹配。参数顺序必须以输入参数开始,其次是输完全匹配。参数顺序必须以输入参数开始,其次是输入输出参数,然后是输出参数。子程序带参数调用入输出参数,然后是输出参数。子程序带参数调用可以充分利用局部变量的优势,使程序更具模块化。可以充分利用局部变量的优势,使程序更具模块化。图图6-3是一子程序符号表,图是一子程序符号表,图6-4为带参数子程序调用为带参数子程
10、序调用的举例。的举例。图6-3子程序符号表 7 2022-7-266.1.2西门子西门子S7-200 PLC的程序结构(续)的程序结构(续)图6-4 为带参数子程序调用的举例 8 2022-7-266.1.2西门子西门子S7-200 PLC的程序结构(续)的程序结构(续)3.数据块、符号表与状态图 S7-200 PLC可以定义数据块,数据块定义在V区,因此S7-200 PLC中定义数据块并没有新建变量,而是对已有的变量区域进行再定义,如图6-5所示。图6-5 S7-200 PLC数据块的定义9 2022-7-266.1.2西门子西门子S7-200 PLC的程序结构(续)的程序结构(续)S7-2
11、00 PLC的数据块定义完成后,这些数据有的数据块定义完成后,这些数据有了初始值,访问这些数据的时候,还使用了初始值,访问这些数据的时候,还使用V区的访问区的访问办法进行访问。可以对所有变量的名称和子程序块的办法进行访问。可以对所有变量的名称和子程序块的名称定义符号名称,在符号表中完成。符号表是给已名称定义符号名称,在符号表中完成。符号表是给已有的变量等另外取个更容易阅读和理解的名称,主要有的变量等另外取个更容易阅读和理解的名称,主要是注释的功能,不会下载到是注释的功能,不会下载到PLC中。中。S7-200 PLC中还有一个概念叫状态图,也是一中还有一个概念叫状态图,也是一个表格,用于在线监控
12、时,把需要监控的变量以各种个表格,用于在线监控时,把需要监控的变量以各种格式集中在一起,方便变量的监控和程序的调试。状格式集中在一起,方便变量的监控和程序的调试。状态图既不会创建新的变量,也不会下载到态图既不会创建新的变量,也不会下载到PLC中。中。10 2022-7-266.1.3西门子西门子S7-300/400S7-300/400的的PLCPLC的程序结构的程序结构 1.1.程序结构程序结构 西门子西门子S7-300/400的的PLC的程序在结构上是由若干块的程序在结构上是由若干块组成的。根据块的特点不同,分为组成的。根据块的特点不同,分为组织块组织块(OB)、功能功能块(块(FB)、功能
13、功能(FC)、系统功能块(系统功能块(SFB)、系统系统功能(功能(SFC)和和数据块(数据块(DB),如图如图6-6所示。所示。图6-6西门子S7-300/400的块 11 2022-7-266.1.3西门子西门子S7-300/400S7-300/400的的PLCPLC的程序结构的程序结构(续续)组织块组织块(OB)是系统自动调用的程序块。根据组织块是系统自动调用的程序块。根据组织块的不同作用,系统会在相应的时候和条件下进行调用。的不同作用,系统会在相应的时候和条件下进行调用。例如,例如,组织块组织块OB1,系统会在每个循环扫描周期调用系统会在每个循环扫描周期调用一次,我们称为主程序。一次,
14、我们称为主程序。当程序不是很复杂时,我们当程序不是很复杂时,我们可以将程序全部写在可以将程序全部写在OB1中。中。组织块组织块OB100是初始化是初始化组织块组织块,系统会在上电后自动调用一次,系统会在上电后自动调用一次OB100,我们我们可以把初始化程序写在可以把初始化程序写在OB100中。如图中。如图6-6所示,除初所示,除初始化和循环扫描可以调用相应组织块外,定时和故障始化和循环扫描可以调用相应组织块外,定时和故障会激发相应的中断,从而调用相应的组织块,中断组会激发相应的中断,从而调用相应的组织块,中断组织块的内容在织块的内容在6.4中讲解中讲解。对对PLC来说,不同的组织来说,不同的组
15、织块是有特定功能的。用户不能定义组织块的调用规则,块是有特定功能的。用户不能定义组织块的调用规则,从而不能创建新名称的组织块,而只能将系统的组织从而不能创建新名称的组织块,而只能将系统的组织块插入程序中,然后编写组织块的程序。块插入程序中,然后编写组织块的程序。12 2022-7-266.1.3西门子西门子S7-300/400S7-300/400的的PLCPLC的程序结构的程序结构(续续)在在STEP中,可以在工程的程序中插入块。如图中,可以在工程的程序中插入块。如图6-7所示,在工所示,在工程程test的的S7 Program(1)的的Blocks中,可以插入中,可以插入OB块、块、FB块、
16、块、FC块和块和DB块。而块。而SFC和和SFB块,则通过程序调用,由系统自动插入。块,则通过程序调用,由系统自动插入。例如,在图例如,在图6-8中调用了中调用了SFC14(DPRD_DAT),则系统会把则系统会把SFC14自动加入程序中,如图自动加入程序中,如图6-7所示。所示。图图6-7 插入块的操作插入块的操作 13 2022-7-266.1.3西门子西门子S7-300/400S7-300/400的的PLCPLC的程序结构的程序结构(续续)2.2.功能功能(FC)和)和功能块(功能块(FB)功能块(功能块(FB)和功能和功能(FC)是用户定义的子程序)是用户定义的子程序。我们可以在程序中
17、任何地方通过程序调用我们可以在程序中任何地方通过程序调用功能块(功能块(FB)和功能和功能(FC)。)。FB和和FC是有区别的,是有区别的,FB是带有专用是带有专用的背景数据块的,的背景数据块的,FB可以访问自己的背景数据块,也可以访问自己的背景数据块,也可以访问共享数据块;可以访问共享数据块;FC不带有专用的背景数据块,不带有专用的背景数据块,可以访问共享数据块。可以访问共享数据块。除此之外,除此之外,FB和和FC的使用是一致的。块的调用的使用是一致的。块的调用程序如图程序如图6-8所示,第一行程序为条件调用,第二行程所示,第一行程序为条件调用,第二行程序为无条件调用。序为无条件调用。14
18、2022-7-266.1.3西门子西门子S7-300/400S7-300/400的的PLCPLC的程序结构的程序结构(续续)图6-8 块的调用15 2022-7-266.1.3西门子西门子S7-300/400S7-300/400的的PLCPLC的程序结构的程序结构(续续)与与S7-200 PLCS7-200 PLC相似,在相似,在S7-300/400 PLCS7-300/400 PLC的块中,的块中,可以使用局部变量可以使用局部变量L L,从而支持带参数的调用。局部变量,从而支持带参数的调用。局部变量L L存储区的大小与存储区的大小与PLCPLC型号有关,一般大于型号有关,一般大于256B25
19、6B。局部变。局部变量量L L在块被调用时才分配存储空间,当调用结束后,释放在块被调用时才分配存储空间,当调用结束后,释放存储空间。存储空间。图图6-96-9为一带参数程序块的程序。需要首先定义为一带参数程序块的程序。需要首先定义该程序块的输入和输出参数,当然这些参数是局部变量,该程序块的输入和输出参数,当然这些参数是局部变量,在调用时,用实际参数代替局部变量。该图中,定义了在调用时,用实际参数代替局部变量。该图中,定义了输入参数输入参数x1x1和和x2x2,输出参数,输出参数y y,临时的中间变量,临时的中间变量Temp1Temp1。程序中,计算程序中,计算x1x1和和x2x2的平均值,保存
20、在的平均值,保存在y y中。中。16 2022-7-266.1.3西门子西门子S7-300/400S7-300/400的的PLCPLC的程序结构的程序结构(续续)图6-9 带参数程序块的编写17 2022-7-266.1.3西门子西门子S7-300/400S7-300/400的的PLCPLC的程序结构的程序结构(续续)带参数程序块的调用如图带参数程序块的调用如图6-10所示。所示。FC1为已经定义好为已经定义好的带参数的功能(子程序)在主程序或其他程序中,可的带参数的功能(子程序)在主程序或其他程序中,可以多次调用以多次调用FC1,调用时需要赋值给,调用时需要赋值给x1和和x2,计算结果,计算
21、结果也要指定实际的存储空间。用计算机的术语来讲,也要指定实际的存储空间。用计算机的术语来讲,x1、x2和和y是形式参数,而是形式参数,而MW0和和MW2等是实际参数。等是实际参数。图6-10 带参数程序块的调用18 2022-7-266.1.3西门子西门子S7-300/400S7-300/400的的PLCPLC的程序结构的程序结构(续续)系统功能块(系统功能块(SFB)和系统功能(和系统功能(SFC)是系统定是系统定义的子程序义的子程序,是,是PLC生产厂家将具有特定功能的子程生产厂家将具有特定功能的子程序编好后,提供给用户使用,用户可以直接调用。比序编好后,提供给用户使用,用户可以直接调用。
22、比如如SFC14/15是是PROFIBUS数据发送数据发送/接收功能。接收功能。SFB带带有背景数据块,而有背景数据块,而SFC不带。不带。SFB和和SFC调用方法与调用方法与FC的调用一样。了解和掌握系统功能对程序的编写会的调用一样。了解和掌握系统功能对程序的编写会带来很大的便利带来很大的便利 数据块(数据块(DB)分为共享数据块和背景数据块。数分为共享数据块和背景数据块。数据块创建后,就是给据块创建后,就是给PLC定义了新的变量,程序可以定义了新的变量,程序可以访问这些变量。访问这些变量。19 2022-7-266.1.3西门子西门子S7-300/400S7-300/400的的PLCPLC
23、的程序结构的程序结构(续续)3.数据块 数据块(数据块(DB)分为共享数据块和背景数据块。)分为共享数据块和背景数据块。数据块的创建,就是给数据块的创建,就是给PLC定义了新的变量,程序可定义了新的变量,程序可以访问这些变量。数据块的名称是按数字进行编号的,以访问这些变量。数据块的名称是按数字进行编号的,如如DB1、DB2等。等。在如图在如图6-7所示的界面中,插入数据块。然后所示的界面中,插入数据块。然后对数据块进行定义,如图对数据块进行定义,如图6-11所示。数据块的创建就所示。数据块的创建就是填一张表格,一行一行去填写。是填一张表格,一行一行去填写。“地址地址”是数据块是数据块中的物理地
24、址,由系统自动依次生成;中的物理地址,由系统自动依次生成;“名称名称”是数是数据块中变量的符号名;据块中变量的符号名;“类型类型”是变量的数据类型;是变量的数据类型;在数据块中还可以设定数据的初始值和注释。在数据块中还可以设定数据的初始值和注释。20 2022-7-266.1.3西门子西门子S7-300/400S7-300/400的的PLCPLC的程序结构的程序结构(续续)图6-11 数据块DB1的创建21 2022-7-266.1.3西门子西门子S7-300/400S7-300/400的的PLCPLC的程序结构的程序结构(续续)用户可以在程序中访问数据块中的数据,变量的表达有规定的形式。访问
25、某一位,用DB1.DBXx.y表示,如DB1.DBX0.0和DB1.DBX0.1表示DB1的第1个字节的第1位和第2位,当然也可以用DB1.b0和DB1.b1来表示。访问某一字节,用DB1.DBBx表示,如DB1.DBB1表示DB1的第2个字节,也可以用DB1.x0表示。访问某一个字,用DB1.DBWx表示,如DB1.DBW2表示以DB1的第3个字节开始的一个字,也可以用DB1.x1表示。访问某个双字,用DB1.DBDx表示。以上“x”表示数据块中的字节单元地址。22 2022-7-266.1.3西门子西门子S7-300/400S7-300/400的的PLCPLC的程序结构的程序结构(续续)创
展开阅读全文