您现在的位置是:首页 > PLC技术 > PLC技术
S7-300/400PLC功能块局部变量声明
来源:艾特贸易2017-10-30
简介通常,对功能块编程分两步进行: 第一步是定义局部变量(填写局部变量表); 第二步是编写要执行的程序,并在编程过程中使用定义了的局部变量(数据)。 定义局部变量包括以下
通常,对功能块编程分两步进行:
第一步是定义局部变量(填写局部变量表);
第二步是编写要执行的程序,并在编程过程中使用定义了的局部变量(数据)。
定义局部变量包括以下工作内容。
①分别定义形参、静态变量和临时变量(FC块中不包括静态变量)。
②确定各变量的声明类型(Decl.)、变量名(Name)和数据类型(Data Type),还要为变量设置初始值(Initial Value)(尽管对有些变量初始值不一定有意义)。如果需要还可为变量注释( Comment)。在增量编程模式下,STEP 7将自动产生局部变量地址(Address)。
写功能块程序时,可以用以下两种方式使用局部变量。
①使用变量名,此时变量名前加前缀“#”,以区别于在符号表中定义的符号地址。增量方式下,前缀会自动产生。
②直接使用局部变量的地址,这种方式只对背景数据块和L堆栈有效。
每个逻辑块前部都有一个变量声明表,在变量声明表中定义逻辑块用到的局部数据。局部数据类型如表4-2所示。
表4-2局部数据类型
①形参
为了保证功能块对同一类设备控制的通用性,应使用这类设备的抽象地址参数,这些抽象参数称为形式参数,简称形参。功能块在运行时将该设备的相应实际存储区地址参数(简称实参)替代形参,从而实现功能块的通用性。
形参需在功能块的变量声明表中定义,实参在调用功能块时给出。在功能块的不同调用处,可为形参提供不同的实参,但实参的数据类型必须与形参一致。
②静态变量
静态变量在PLC运行期间始终被存储。S7将静态变量定义在背景数据块中,因此只能为FB定义静态变量。FC不能有静态变量。
③临时变量
临时变量仅在逻辑块运行时有效,逻辑块结束时存储临时变量的内存被操作系统另行分配。S7将临时变量定义在L堆栈中。
表4-3变量声明表
在表4-3所示的变量声明表中,要明确局部数据的数据类型,这样操作系统才能给变量分配确定的存储空间。局部数据可以是基本数据类型或复式数据类型,也可以是专门用于参数传递的所谓“参数类型”。参数类型包括定时器、计数器、块的地址或指针,如表4-4所示。
表4-4参数类型变量
点击排行
