首页 理论教育 共享数据块与多重背景功能块的应用

共享数据块与多重背景功能块的应用

时间:2023-07-02 理论教育 版权反馈
【摘要】:在符号表中,共享数据块的数据类型是它本身,背景数据块的数据类型是对应的功能块。图8-36所示是声明视图下的共享数据块DB3。图8-36 声明视图下的共享数据块DB32.多重背景有时需要多次调用同一个功能块,每次调用都需要产生一个背景数据块,但是这些背景数据块中的变量又很少,这样在项目中就出现了大量的背景数据块“碎片”。

共享数据块与多重背景功能块的应用

1.共享数据块的生成与使用

数据块分为共享数据块(DB)和背景数据块(DI)。在共享数据块和符号表中声明的变量都是全局变量。用户程序中所有的逻辑块(FB、FC、SFB、SFC和OB)都可以使用共享数据块和符号表中的数据。

在符号表中,共享数据块的数据类型是它本身,背景数据块的数据类型是对应的功能块。

可以用鼠标右键点击SIMATIC管理器左边窗口中的“Blocks”,在弹出的菜单中执行“Insert New Object”→“Data Block”命令,生成新的数据块,默认的类型为共享数据块。

数据块有两种显示方式,即声明视图方式和数据视图方式,可以用“View”菜单中的命令“Data View”和“Declaration View”来切换这两种显示方式。图8-36所示是声明视图下的共享数据块DB3。

声明视图方式用于定义、删除和修改共享数据块中的变量,指定它们的名称、数据类型和初值,STEP 7根据数据类型给出默认的初始值,用户可以修改初始值。可以用中文给每个变量加上注释,变量的名称只能使用字母、数字和下划线,不能使用中文。各变量的地址是STEP 7自动指定的。

978-7-111-44354-4-Chapter08-72.jpg

图8-36 声明视图下的共享数据块DB3

2.多重背景

有时需要多次调用同一个功能块,每次调用都需要产生一个背景数据块,但是这些背景数据块中的变量又很少,这样在项目中就出现了大量的背景数据块“碎片”。在用户程序中使用多重背景可以减少背景数据块的数量。

978-7-111-44354-4-Chapter08-73.jpg

图8-37 多重背景的程序结构

例如“Motor Control”例程用FB1控制汽油机和柴油机时,分别使用了背景数据块DB1和DB2。使用多重背景时只需要一个背景数据块DB10,其程序结构如图8-37所示,但需要增加一个功能块FB10来调用作为“局部背景”的FB1,FB1的数据存储在FB10的背景数据块DB10中。不需要给FB1分配背景数据块,但是需要在FB10的变量声明表中声明数据类型为FB1的两个静态变量(STAT)。

(1)多重背景功能块(www.xing528.com)

生成多重背景功能块FB10时,应激活功能块属性对话框的“General-Part 1”选项卡中的多选框“Mul.Inst.Cap.”(即多重背景功能)。

生成FB10前,应首先生成FB1。为调用FB1,在FB10的变量声明表中声明了名为“Petrol_Engine”和“Diesel_Engine”的静态变量(STAT),其数据类型为FB1。变量声明表的文件夹“Petrol_Engine”和“Diesel_Engine”内的6个变量来自FB1的变量声明表,不是用户输入的,如图8-38所示。

生成FB10后,“Petrol_Engine”和“Diesel_Engine”将出现在程序编辑器左边目录窗口的“Multiple in-stances”文件夹内,将它们拖放至FB10的程序区中,然后指定它们的输入、输出参数,如图8-39所示。

978-7-111-44354-4-Chapter08-74.jpg

图8-38 FB10的变量声明表

978-7-111-44354-4-Chapter08-75.jpg

图8-39 FB10程序

(2)在OB1中调用多重背景

在“Motor Control”项目中OB1对FB1的两次调用,被图8-37中OB1的符号名为“发动机”的FB10调用代替,调用还指定了符号名为“多重背景数据块”的背景数据块DB10,如图8-40所示。

FB10的多重背景数据块DB10如图8-40所示,多重背景名称“Petrol_Engine”和“Diesel_Engine”加在FB1的局部变量之前。可以修改汽油机和柴油机的预置转速“Petrol_Engine.Preset_Speed”和“Diesel_Engine.Preset_Speed”的“Actual value”,然后下载到PLC。

978-7-111-44354-4-Chapter08-76.jpg

图8-40 多重背景数据块DB10

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

我要反馈