资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,S7-300 PLC,编程与应用,从入门到提高,主讲:阳胜峰,第,4,讲,逻辑块的结构与编程,一、,逻辑块(,FC,和,FB,)的结构,二、,逻辑块(,FC,和,FB,)的编程,功能,(,FC,)、,功能块,(,FB,)和,组织块,(,OB,)统称为逻辑块(或程序块)。功能块(,FB,)有一个数据结构与该功能块的参数完全相同的数据块,,称为背景数据块,,背景数据块依附于功能块,它随着功能块的调用而打开,随着功能块的结束而关闭。存放在背景数据块中的数据在功能块结束时继续保持。而功能(,FC,)则不需要背景数据块,功能调用结束后数据不能保持。组织块(,OB,)是由操作系统直接调用的逻辑,块。,一、逻辑块(,FC,和,FB,)的结构,逻辑块(,OB,、,FB,、,FC,)由变量声明表、代码段及其属性等几部分组成。,局部变量声明表(局部数据),逻辑块局部变量的数据类型,一、逻辑块(,FC,和,FB,)的结构,每个逻辑块前部都有一个变量声明表,称为,局部变量声明表,。,1.,局部变量声明表,局部数据分为,参数,和,局部变量,两大类,局部变量又包括,静态变量,和,临时变量,(暂态变量)两种。,一、逻辑块(,FC,和,FB,)的结构,对于,功能块,(,FB,),操作系统为参数及静态变量分配的存储空间是背景数据块。这样参数变量在背景数据块中留有运行结果备份。在调用,FB,时,若没有提供实参,则功能块使用背景数据块中的数值。操作系统在,L,堆栈中给,FB,的临时变量分配存储空间。,对于,功能,(,FC,),操作系统在,L,堆栈中给,FC,的临时变量分配存储空间。由于没有背景数据块,因而,FC,不能使用静态变量。输入、输出、,I/O,参数以指向实参的指针形式存储在操作系统为参数传递而保留的额外空间中。,对于,组织块,(,OB,)来说,其调用是由操作系统管理的,用户不能参与。因此,,OB,只有定义在,L,堆栈中的临时变量。,一、逻辑块(,FC,和,FB,)的结构,局部变量可以是基本数据类型或复式数据类型,也可以是专门用于参数传递的所谓的,“,参数类型,”,。参数类型包括定时器、计数器、块的地址或指针等。,2.,逻辑块局部变量的数据类型,一、逻辑块(,FC,和,FB,)的结构,对逻辑块编程时必须编辑下列三个部分:,变量声明,:分别定义形参、静态变量和临时变量(,FC,块中不包括静态变量);确定各变量的声明类型(,Decl,.,)、变量名(,Name,)和数据类型(,Data Type,),还要为变量设置初始值(,Initial Value,)。如果需要还可为变量注释(,Comment,)。在增量编程模式下,,STEP 7,将自动产生局部,变量地址(,Address,)。,程序块,:对将要由,PLC,进行处理的块代码进行编程。,块属性,:块属性包含了其它附加的信息,例如由系统输入的时间标志或路径。此外,也可输入相关详细资料。,二、逻辑块(,FC,和,FB,)的编程,1.,临时变量的定义和使用,二、逻辑块(,FC,和,FB,)的编程,2.,定义形式参数,二、逻辑块(,FC,和,FB,)的编程,编写逻辑块(,FC,和,FB,)程序时,可以用以下两种方式使用局部变量:,使用变量名,此时变量名前加前缀,“,#,”,,以区别于在符号表中定义的符号地址。增量方式下,前缀会自动产生。,直接使用局部变量的地址,这种方式只对背景数据块和,L,堆栈有效。,在调用,FB,块时,要说明其背景数据块。背景数据块应在调用前生成,其顺序格式与变量声明表必须保持一致。,5.,编写控制程序,二、逻辑块(,FC,和,FB,)的编程,END,
展开阅读全文