您现在的位置是:首页 > PLC技术 > PLC技术

S7-300/400PLC功能块局部变量声明

来源:艾特贸易2017-10-30

简介通常,对功能块编程分两步进行: 第一步是定义局部变量(填写局部变量表); 第二步是编写要执行的程序,并在编程过程中使用定义了的局部变量(数据)。 定义局部变量包括以下


    通常,对功能块编程分两步进行:

    第一步是定义局部变量(填写局部变量表);

    第二步是编写要执行的程序,并在编程过程中使用定义了的局部变量(数据)。

    定义局部变量包括以下工作内容。

    ①分别定义形参、静态变量和临时变量(FC块中不包括静态变量)。

    ②确定各变量的声明类型(Decl)、变量名(Name)和数据类型(Data Type),还要为变量设置初始值(Initial  Value)(尽管对有些变量初始值不一定有意义)。如果需要还可为变量注释( Comment)。在增量编程模式下,STEP 7将自动产生局部变量地址(Address)

    写功能块程序时,可以用以下两种方式使用局部变量。

    ①使用变量名,此时变量名前加前缀“#”,以区别于在符号表中定义的符号地址。增量方式下,前缀会自动产生。

    ②直接使用局部变量的地址,这种方式只对背景数据块和L堆栈有效。

    每个逻辑块前部都有一个变量声明表,在变量声明表中定义逻辑块用到的局部数据。局部数据类型如表4-2所示。

4-2局部数据类型

 表4-2局部数据类型

  ①形参

  为了保证功能块对同一类设备控制的通用性,应使用这类设备的抽象地址参数,这些抽象参数称为形式参数,简称形参。功能块在运行时将该设备的相应实际存储区地址参数(简称实参)替代形参,从而实现功能块的通用性。

形参需在功能块的变量声明表中定义,实参在调用功能块时给出。在功能块的不同调用处,可为形参提供不同的实参,但实参的数据类型必须与形参一致。

    ②静态变量

    静态变量在PLC运行期间始终被存储。S7将静态变量定义在背景数据块中,因此只能为FB定义静态变量。FC不能有静态变量。

    ③临时变量

    临时变量仅在逻辑块运行时有效,逻辑块结束时存储临时变量的内存被操作系统另行分配。S7将临时变量定义在L堆栈中。

4-3变量声明表

 表4-3变量声明表

    在表4-3所示的变量声明表中,要明确局部数据的数据类型,这样操作系统才能给变量分配确定的存储空间。局部数据可以是基本数据类型或复式数据类型,也可以是专门用于参数传递的所谓“参数类型”。参数类型包括定时器、计数器、块的地址或指针,如表4-4所示。

4-4参数类型变量

 表4-4参数类型变量