请联系客服QQ
艾特贸易网首页

艾特贸易网

STEP 7逻辑块的局部变量声明表(局部数据)

提示:

每个逻辑块前部都有一个变量声明表,称为局部变量声明表。局部变量声明表对当前逻辑块控制程序所使用的局部数据进行声明。 局部数据分为参数和局部变量两大类。局部变量又包括静态变量和临时变量(暂态变量)两种。参数可在调用块和被调用块间传递数据,是逻辑块的接口。静态变量和临时变量是仅供逻辑块本身使用的数据,不

    每个逻辑块前部都有一个变量声明表,称为局部变量声明表。局部变量声明表对当前逻辑块控制程序所使用的局部数据进行声明。

    局部数据分为参数和局部变量两大类。局部变量又包括静态变量和临时变量(暂态变量)两种。参数可在调用块和被调用块间传递数据,是逻辑块的接口。静态变量和临时变量是仅供逻辑块本身使用的数据,不能用作不同程序块之间的数据接口。表5-3给出了局部数据声明类型,表中内容的排列顺序也是在变量声明表中声明变量的顺序和变量在内存中的存储顺序。在逻辑块中不需使用的局部数据类型,可以不必在变量声明表中声明。

    5-3    局部数据声明类型

局部数据声明类型

    对于功能块( FB),操作系统为参数及静态变量分配的存储空间是背景数据块。这样参数变量在背景数据块中留有运行结果备份。在调用FB时,若没有提供实参,则功能块使用背景数据块中的数值。操作系统在L堆栈中给FB的临时变量分配存储空间。

    对于功能( FC),操作系统在L堆栈中给FC的临时变量分配存储空间。由于没有背景数据块,因而FC不能使用静态变量。I/O参数以指向实参的指针形式存储在操作系统为参数传递而保留的额外空间中。

    对于组织块(OB)来说,其调用的逻辑是由操作系统管理的,用户不能参与。因此,OB只有定义在L堆栈中的临时变量。

    (1)形参

    为保证功能( FC)和功能块(FB)对同一类设备控制的通用性,用户在编程时就不能使用具体设备对应的存储区地址参数(如不能使用11.0等),而要使用这类设备的抽象地址参数。这些抽象参数称为形式参数,简称形参。在调用功能( FC)或功能块(FB)时,则将与形参对应的具体设备的实际参数(简称实参)传递给逻辑块,并代替形参,从而可通过调用FBFC实现对具体设备的控制。

    形参需在功能(FC)和功能块(FB)的变量声明表中定义,实参在调用功能(FC)和功能块( FB)时给出。在逻辑块的不同调用处,可为形参提供不同的实参,但实参的数据类型必须与形参一致。用户程序可定义功能( FC)和功能块(FB)的输入值参数或输出值参数,也可定义一参数作为输入/输出值。参数传递可将调用块的信息传递给被调用块,也能把被调用块的运行结果返回给调用块。

    (2)静态变量

    静态变量( Stat)PLC运行期间始终被存储。S7将静态变量定义在背景数据块中,当被调用块运行时,能读出或修改静态变量;被调用块运行结束后,静态变量保留在数据块中。由于只有功能块( FB)才有与其有关联的背景数据块,因此只能为FB定义静态变量。功能(FC)不能有静态变量。

    (3)临时变量

    临时变量( Temp)是一种在块执行时,用来暂时存储数据的变量,这些临时数据存储在局部数据堆栈(L stack)中。临时变量可以在组织块(OB)、功能(FC)和功能块(FB)中使用,当块执行的时候它们被用来临时存储数据,一旦块执行结束,堆栈重新分配,这些数据将丢失。


(责任编辑: 艾特贸易网 )

  • 本文关键字:STEP7 

免责声明:本文章仅代表作者个人观点,与艾特贸易网无关。本站大部分技术资料均为原创文章,文章仅作为读者参考使用,请自行核实相关内容,如若转载请注明来源:艾特贸易网 http://www.aitmy.com