哈喽,大家上午好呀!

感谢大家来参加的双旦活动呀!都收获奖品和福利了吗?以后有机会,我们会设置更多的福利哦~
好啦今天的技术文章是写给初学者的博途教程15(DB数据块-全局块和背景数据块的区别)

图1-1
DB数据块,其作用是保存程序数据。
在使用过程中,DB数据块分为全局数据块和背景数据块。
全局数据块
1、所有的程序块(FB,FC和OB)可以访问程序中全局数据块中的数据。

图1-2
创建数据块的时候,在类型处,会默认该数据块为全局DB。
2、在西门子博图项目程序中能够独立地创建全局数据块;
3、在全局DB数据块中,我们可以添加,删除,改变变量。

图1-3
4、可以改变初始值和当前值。

图1-4

图1-5
起始值,可以在离线状态下设置,当前值也就是监视值,可以在在线状态下修改。
5、但是在全局数据块中,不能创建静态变量(Static)
背景数据块
1、背景数据块DB被指定到一个FB。
2、在程序中只能够对相关联的FB创建背景数据块。
3、在FB中可以定义静态变量(图1-6),当数据块建立完成并且已经被保留了几个循环之后,存储的本地静态数据不会丢失,除非数据再次被更改。
4、在相关的功能块(FB块参数中,参考图1-6~图1-8)中添加或删除变量后,由系统分配的背景DB块变量会随之改变;而全局DB数据块是直接可以在块内进行数据的修改。

图1-6(FB块中未设置参数)

图1-7
(将该FB拖至Main,由系统分配的背景DB中也没有参数显示)

图1-8
图1-8,在FB参数中设置启动、停止和电磁阀变量;
图1-9
将Main中的FB块选中,更新块调用后,该FB块的背景DB中的参数也会同步更新。
5、不能改变变量的初始值和当前值。





