理论教育 深入了解数据块(DB)

深入了解数据块(DB)

时间:2023-06-17 理论教育 版权反馈
【摘要】:变量声明定义数据块DB的结构,数据以用户设定的变量形式存储,是唯一的。数据块DB有全局数据块和背景数据块两种类型。背景数据块是直接分配给功能块FB的块,其结构取决于功能块的接口声明,包含接口中声明的块参数和静态变量。创建背景数据块时指定功能块FB的编号。每个电动机的数据可以保存在一个或多个背景数据块中。允许在一个背景数据块中嵌套变量和集中背景数据。

深入了解数据块(DB)

数据块DB用来存储用户程序中逻辑块的变量数据(如数值),数据块DB定义在CPU存储器中,所存储的数据在用户程序中进行处理,用户可在存储器中建立一个或多个数据块DB,每个数据块DB可大可小,但CPU对数据块DB数量及数据总量有限制。数据块DB不包含任何程序段或指令,只用于存储用户数据,仅包含变量声明和用户程序将使用的变量数据。变量声明定义数据块DB的结构,数据以用户设定的变量形式存储,是唯一的。如果需要防止在发生电源故障时数据丢失,可以将数据值存储在保持性存储区中。

数据块DB有全局数据块和背景数据块两种类型。全局数据块是用户程序的一个可保存的数据区,用于存储全局数据,大小因CPU的不同而各异,其数据结构和大小是用户自己定义的,所有逻辑块都可以访问全局数据块存储的信息。全局数据块仅包含静态变量,不能分配给代码块,可以从任何代码块访问全局数据块的值。可以以自己喜欢的方式定义全局数据块的结构,在声明表中声明全局数据块的变量。如果调用代码块,则代码块可以以数据块的形式打开存储区。当数据块已关闭或相应代码块的执行结束时,数据块中包含的数据不会被删除。即使在退出数据块后,这些数据仍然会保存在其中。可以同时打开一个全局数据块和一个背景数据块。

背景数据块是直接分配给功能块FB的块,其结构取决于功能块的接口声明,包含接口中声明的块参数和静态变量。可以在背景数据块中定义实例特定的值,如所声明变量的初始值。背景数据块不是由用户编辑的,而是由编辑器生成的。“背景”即功能块调用,在用户程序中调用一个功能块FB几次,就会生成几个该块的背景。可以将背景数据块分配给功能块FB调用或功能块的调用层级。每个单独背景都有一个背景数据块,背景数据块可分配给传送参数的每个功能块FB调用。创建背景数据块之前,必须存在相应的功能块FB。创建背景数据块时指定功能块FB的编号。(www.daowen.com)

“背景”即功能块调用,一个背景数据块可用于一个功能块FB的多个背景(多重背景)。通过调用功能块FB的多重背景,一个功能块FB可以控制多个设备,即给一个功能块FB的多个背景使用一个背景数据块。例如用于电动机类型的功能块FB,可以在一个背景数据块中同时给多个电动机传送背景数据。为此,必须在另一个功能块FB中编程调用电动机控制器,并在调用功能块FB的声明部分给单个背景定义数据类型为功能块FB声明静态变量,即可以通过给不同电动机使用不同的背景数据集来控制各个电动机。每个电动机的数据(如速度、斜坡、累积操作时间等)可以保存在一个或多个背景数据块中。对于在一个背景数据块中的多重背景,必须在调用功能块FB的声明部分给每个单独背景以已调用功能块FB的数据类型声明变量。因此,功能块FB内的调用不要求背景数据块,只需要变量的符号名。允许在一个背景数据块(多重背景)中嵌套变量和集中背景数据。

图5.6 用户程序中块调用的顺序

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈