编程培训教材,内部教材_6、块调用和多重背景模型.pdf
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《编程培训教材,内部教材_6、块调用和多重背景模型.pdf》由会员分享,可在线阅读,更多相关《编程培训教材,内部教材_6、块调用和多重背景模型.pdf(26页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、ST-7PRO2Block Calls and Multi-instance ModelPage 1SITRAINTraining forAutomation and Drives内容页码内容页码用于结构化编程的块.2STEP 7 块概述.3功能及功能块中的参数声明.4功能的属性.5基本数据类型传送机理.6复杂数据类型的功能调用.7调用(主调)功能的特点.8功能块的属性.9构建功能块的实例.10FB调用中的参数传递.11复杂数据类型的FB调用.12功能块调用的特性.13示例6:灌装设备传送模式.14示例 6.1a:灌装生产线工作方式部分.15示例 6.1b:灌装生产线传送带.16多重背景模型结
2、构.17使用多重背景实现面向对象的编程.18在STEP 7中实现一个”冲压生产线”.19多重背景模型的属性.20示例6.2:装配线传输模式.21示例6.2a:工作站程序结构.22功能块FB1”Station”的工作原理.23功能块FB2“Transport”的工作原理.24示例6.2b:扩展到3个工作站.25块参数之间的连锁.26Date:2010-7-5File:PRO2_06E.1SIMATIC S7Siemens AG 2001.All rights reserved.SITRAINTraining forAutomation and Drives块调用与多重背景模型块调用与多重背景模型
3、ST-7PRO2Block Calls and Multi-instance ModelPage 2SITRAINTraining forAutomation and Drives将任务模块化将任务模块化抽象是解决复杂问题的基础,在每个抽象级别,我们将注意力集中在程序的关键方面,而忽略次要的细节。借助于抽象,我们将复杂的任务分解成一些可单独解决的分任务。结构化编程结构化编程STEP7使用块模式支持这种模块化概念。由整个任务分解而产生的单个任务被分配给块,这些块中存储了用于解决这些单个问题所必需的算法和数据。STEP7中的块,诸如功能(FC)和功能块(FB),可以赋予参数,通过使用这些块便实现了
4、结构化编程的概念。这意味着:解决单个任务的块,使用局部变量来实现对其自身数据的管理。块仅通过其块参数来实现与“外部”的通信,也即,与过程控制的传感器和执行器,或者与用户程序中的其它块之间的通迅。在块的指令段中,不允许访问如输入、输出、位存储器或DB中的变量这样的全局地址。优点优点结构化编程具有如下一些优点:各单个任务块的创建和测试可以相互独立地进行。通过使用参数,可将块设计得十分灵活。比如,可以创建一钻孔循环,其坐标和钻孔深度可以通过参数传递进来。块可以根据需要在不同的地方以不同的参数数据记录进行调用,也就是说,这些块能够被再利用。在预先设计的库中,能够提供用于特殊任务的“可重用”块。Date
5、:2010-7-5File:PRO2_06E.2SIMATIC S7Siemens AG 2001.All rights reserved.SITRAINTraining forAutomation and Drives用于结构化编程的块用于结构化编程的块整个任务的模块化:整个任务的模块化:l单个任务在各自块中予以解决单个任务在各自块中予以解决l参数分配法使得使用更加灵活参数分配法使得使用更加灵活示例:钻孔循环程序的钻孔深度为可分配参数块的可再利用性能:块的可再利用性能:l块可以按需要随时加以调用块可以按需要随时加以调用l限制因素:限制因素:不允许访问全局地址空间只能通过参数列表进行通信OB
6、1电机电机1电机电机1FB1阀阀阀阀FB2控制器控制器控制器控制器FB10FC 5限制阀限制阀复制复制SFC.CALL FB1,DB2Start:=I 0.0Stop:=I 0.1Motor_on:=Q12.0Speed:=QW14.FB 1地址声明名称类型0.0inStartBOOL0.1inStopBOOL2.0outMotor_onBOOL4.0outSpeedINT6.0statSpeed_oldINT0.0temp Calc_1INT.A#StartAN#Stop=#Motor_on.DB 2OB 1Date:05-1-10File:PRO2_06E.2SIMATIC S7Sieme
7、ns AG 2001.All rights reserved.SITRAINTraining forAutomation and Drives用于结构化编程的块用于结构化编程的块整个任务的模块化:整个任务的模块化:l单个任务在各自块中以予解决单个任务在各自块中以予解决l参数分配法使得使用更加灵活参数分配法使得使用更加灵活示例:钻孔循环程序的钻孔深度可用参数以予分配块的可再利用性能:块的可再利用性能:l块可以按需要随时加以调用块可以按需要随时加以调用l限制因素:限制因素:不允许访问全局地址空间只用通过参数列表进行通信OB 1电机电机1电机电机1FB1阀阀阀阀FB2控制器控制器控制器控制器FB10
8、FC 5限制阀限制阀复制复制SFC.CALL FB1,DB2Start:=I 0.0Stop:=I 0.1Motor_on:=Q12.0Speed:=QW14.FB 1地址声明名称类型0.0inStartBOOL0.1inStopBOOL2.0outMotor_onBOOL4.0outSpeedINT6.0statSpeed_oldINT0.0temp Calc_1INT.A#StartAN#Stop=#Motor_on.DB 2OB 1ST-7PRO2Block Calls and Multi-instance ModelPage 3SITRAINTraining forAutomation
9、 and DrivesSTEP 7中的块中的块STEP 7中的块从其功能、结构及其应用角度来看,是用户程序的一部分。根据内容,可以将STEP 7块划分为两类:用户块:用户块包括组织块(OB),功能块(FB),功能(FC)以及数据块(DB)。.编程人员将用于进行数据处理或过程控制的程序指令,存储在这些块(OB,FB和FC)中。数据块(DB)中,程序员可以将程序执行期间产生的数据保存起来,以备后来使用。用户块是在编程设备中创建的,并从编程设备中下载到CPU中去。系统块:系统块包括系统功能块(SFB),系统功能(SFC),以及系统数据块(SDB)。SFB和SFC集成在CPU的操作系统,用以解决PLC
10、需要频繁处理的标准任务。系统数据块SDB包含用作参数分配的数据,这些数据只能由CPU进行评估。SDB是由如HW-CONFIG或NETPRO这些工具创建编写的,用户程序不能创建编写。SDB是在将装载参数分配数据期间该过程对用户可见由上述工具创建并下载到CPU中的。下载操作只能在STOP(停机)模式下进行。稍后下载块稍后下载块STEP 7块除了具有结构化编程的优点之外,还具有下面的优点:可以在运行期间修改STEP 7中的用户块(OB,FB,FC及DB)并在运行期间将其下载到CPU中去。比如,可在运行期间升级系统软件,或者清除所发生的(软件方面的)错误。Date:2010-7-5File:PRO2_
11、06E.3SIMATIC S7Siemens AG 2001.All rights reserved.SITRAINTraining forAutomation and DrivesSTEP 7 块概述块概述属性属性组织块(OB)-用户程序接口-优先级(0到27)-在局部数据堆栈中指定开始信息块的类型块的类型功能块(FB)-参数可分配(可以在调用时分配参数)-具有(收回)存储空间(静态变量)功能(FC)-参数可分配(必须在调用时分配参数)-基本上没有存储空间(只有临时变量)数据块(DB)-结构化的局部数据存储(背景数据块DB)-结构化的全局数据存储(在整个程序中有效)系统功能块(SFB)-FB
12、(具有存储空间),存储在CPU的操作系统中并可由用户调用系统功能(SFC)-FB(无存储空间),存储在CPU的操作系统中并可由用户调用系统数据块(SDB)-用于配置数据和参数的数据块ST-7PRO2Block Calls and Multi-instance ModelPage 4SITRAINTraining forAutomation and Drives概述概述参数是用于在调用块和被调用块之间传递信息的通道。参数的符号名、数据类型以及初始化值(如果有必要的话)在声明表中建立。类型声明类型声明参数的类型指出了数据传递的方向:输入型参数输入参数(FB,FC):这种类型的参数用于将信息由调用块
13、传递到被调用块之中去。在被用调块内,对输入参数进行只读访问。输出型参数输出参数(FB,FC):这种类型的参数用于将信息(结果)从被调用块返回到调用块之中去。输入/输出型参数输入/输出参数(FB,FC):输入/输出参数用于双向信息传递。可以对输入/输出参数进行读及写访问。名称和类型名称和类型如局部变量一样,参数也有符号名和类型(数据或参数类型)。在块的代码段中,可以像使用局部变量一样来使用同种类型的参数。就是由于这个原因,参数在块内也叫做形式参数。块调用块调用在块调用中,块(FC)和/或(FB)的形式参数必须要赋予合适的实际参数值。为了避免误解(指数据类型)或者错误使用所传递的实际参数,在块调用
14、的时候,PLC编辑器会检查所创建的实际地址是否与形式参数类型完全一样(POINTER和ANY型除外)。类型的检查和参数传递机理与所使用的编程语言无关。这就保证了使用不同PLC编辑器(STL,LAD,FBD,SCL等等)所创建的块可以相互调用。Date:2010-7-5File:PRO2_06E.4SIMATIC S7Siemens AG 2001.All rights reserved.SITRAINTraining forAutomation and Drives功能及功能块中的参数声明功能及功能块中的参数声明MotorENENOStart地址声明名称类型初始化值地址声明名称类型初始化值.0
15、.0输入输入StartBOOLFALSE0.1输入输入StopBOOLTRUE2.0输入输入SpeedINT02.0输出输出Motor_onBOOLFALSE8.0输出输出SetpointINT010.0输入输入/输出输出EMER_OFF BOOLFALSE.静态静态.临时临时.SetpointEMER_OFFMotor_onStop输入参数输入参数输入输入/输出参数输出参数输出参数输出参数参数是信息传递的通道参数是信息传递的通道l输入参数:输入参数:Caller-Blockl输出参数:输出参数:Block-Callerl输入输入/输出参数:输出参数:Caller Block参数形成了块的一个
16、参数形成了块的一个“shell”:l参数位于代码段与参数位于代码段与“局部局部”变量类似变量类似l参数可以为任何数据类型参数可以为任何数据类型在调用期间进行数据类型检查例外情况:POINTER,ANYl调用接口与编程语言无关调用接口与编程语言无关PLC编程语言可以混合使用SpeedST-7PRO2Block Calls and Multi-instance ModelPage 5SITRAINTraining forAutomation and Drives概述概述功能是无存储区的、可分配参数的逻辑块。在STEP 7中,功能可以有足以满足需要的输入参数、输出参数和输入/输出参数。功能没有存储区
17、,没有用来存储结果的独立的、永久的数据区域。功能执行期间所产生的临时结果,只能存储在各自局部数据堆栈的临时变量中。功能扩充了处理器的指令集。应用应用功能主要应用于向调用块返回功能值。(比如:数学功能,使用二进制逻辑操作的信号控制。)IEC 61131标准标准如果要创建与IEC 61131-3标准要求相一致的功能,则必须遵守如下规则:一致性功能一致性功能功能可以具有足够满足需要的输入参数,但是,却只能向输出参数RET_VAL返回一个结果。在功能内部不允许读或写(访问)全局变量。在功能内部不允许读或写(访问)绝对地址。在功能内部不允许调用功能块。由于功能没有“存储区域”,所以,标准一致性功能的返回
18、结果只取决于输入参数的值。对于同样的输入参数值,功能也返回一个相同的结果。因此,编程员在STEP 7中创建标准一致性功能或进行模块编程和机构组织构成,就如同在STEP 5中工作一样。Date:2010-7-5File:PRO2_06E.5SIMATIC S7Siemens AG 2001.All rights reserved.SITRAINTraining forAutomation and Drives功能的属性功能的属性参数可分配的块:参数可分配的块:l具有足够多的输入,输出,输入具有足够多的输入,输出,输入/输出参数输出参数l无存储区,也即只有临时变量无存储区,也即只有临时变量IEC
19、61131-3标准一致性要求:标准一致性要求:l足够多的输入参数足够多的输入参数l仅有一个输出参数仅有一个输出参数RET_VALl不允许访问全局变量和绝对地址不允许访问全局变量和绝对地址l使用同一输入参数提供相同的结果扩展了处理器的指令集使用同一输入参数提供相同的结果扩展了处理器的指令集程序执行程序执行CALL FC10On_1:=I 0.1On_2:=I 0.2Off:=Q8.0功能功能FC10输入输入On_1BOOL输入输入On_2BOOL输出输出OffBOOL.A#On_1A#On_2=#Off.ST-7PRO2Block Calls and Multi-instance ModelPa
20、ge 6SITRAINTraining forAutomation and DrivesFC参数参数待处理的数据可以传递给被调用功能,这种数据传递只能通过CALL指令后弹出的参数列表来进行。其中所弹出的块参数的名称和数据类型,是在FC的声明部分定义的。可以声明的参数类型有:输入参数(只读),输出参数(只写)以及输入/输出(读/写)参数。参数的数目无限制(存储空间的容量),参数名称最多可以有24个字符。此外,还可以给参数加一个详细的说明。如果块无任何参数,那么在FC调用时将省略参数列表。传递机理传递机理随着调用指令CALL,STL/LAD/FBD编辑器首先根据参数列表中给出的实际参数,计算交叉区
21、域指针,并在FC调用指令之后立即存贮这些指针。此时,如果在该FC内部访问形式参数(比如:A On_1),CPU就根据存储在B堆栈中的返回地址确定该FC调用指令。然后根据相关的参数列表,FC就可确定与形式参数对应的实际参数的交叉区域指针。于是,通过这个指针就实现了对实际参数的访问。这种传递机理与“按引用调用”相一致,如果在某一FC中访问了形式参数,那么,结果也访问了相应的实际参数。.这种通过指针的访问机理要求:在FC调用中,所有的块参数都必须赋值。在参数声明里,不能对块参数进行初始化。注意事项注意事项如果是用DB中的实际参数来对块参数进行赋值,或者传递的是复杂类型参数,那么,参数传递将变得更加复
22、杂(请参见附录)。Date:2010-7-5File:PRO2_06E.6SIMATIC S7Siemens AG 2001.All rights reserved.SITRAINTraining forAutomation and Drives基本数据类型传送机理基本数据类型传送机理OB1功能功能FC10程序执行程序执行CALL FC10On_1:=I 0.1On_2:=I 0.2Off:=Q8.0输入输入On_1BOOL输入输入On_2BOOL输出输出OffBOOL.A#On_1A#On_2=#Off.OB1BLD 1=L 20.0UC FC 10P#I0.1P#I 0.2P#Q 8.0B
23、LD21 0 0 1 0 0 1 0.IB0基本类型实际参数位于于:基本类型实际参数位于于:l位存储地址区域位存储地址区域l过程映像过程映像l调用的局部堆栈调用的局部堆栈块参数实际参数块参数实际参数形式参数形式参数ST-7PRO2Block Calls and Multi-instance ModelPage 7SITRAINTraining forAutomation and Drives概述概述复杂数据类型参数(ARRAY和STRUCT)为调用块和被调块之间传递大批量相关数据,提供了一种清晰而有效的数据传递方式,因而更加顺应了“结构化编程”的理念。数组或结构可以作为一个完整的变量传递到被调
24、功能中去。赋值参数赋值参数为了进行参数传递,在被调功能中必需声明一个与实际参数类型相同的参数。这种类型参数(数据类型:ARRAY,STRUCT,DATE_AND_TIME及STRING)的传递只有通过符号传递的方式来进行。由于复杂数据类型变量只能够在数据块或局部数据块中建立,因此,实际参数必须存储在数据块(全局或静实例数据块)中,或者存储在调用块的局部堆栈中。STL/LAD/FBD编辑器对实际参数和传递到FC的块参数的数据类型进行一致性检查之后,只向被调FC传递一个带有DB号的POINTER参数以及指向实际参数的交叉区域指针。这个POINTER参数是通过调用(CALL)宏,在调用块(V区域)的
25、L Stack(局部堆栈)中建立的。对程序员来说,当不得不用间接寻址的方式访问所传递参数时,该POINTER具有十分重要的意义(请参见附录)。注意事项注意事项可以通过选择菜单项View-Block Properties 来查看所占用的局部堆栈的大小。如果ARRAY或STRUCT型元素的数据类型与块参数的类型相同的话,这些元素也可以传递到块参数中去。Date:2010-7-5File:PRO2_06E.7SIMATIC S7Siemens AG 2001.All rights reserved.SITRAINTraining forAutomation and Drives复杂数据类型的功能调用
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 编程 培训教材 内部 教材 _6 调用 多重 背景 模型
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内