西门子PLC多重背景的使用规则与解决方法

一个背景db用于某个fb的多次背景(多重背景)
用户也可以将多个电机的背景数据同时传递到一个背景db。为此,用户必须增加一个fb来管理电机控制器的多次调用,并且,在调用fb的定义表中用数据类型为“fb”的静态变量定义每个背景。
如果用户只用一个背景db存放某个fb的多次背景,则节约了存储空间,并能最优地使用数据块。
在这个例子中,fb22不需要自己的背景数据块,因为它的背景数据存在调用fb的背景数据块中。
一个背景db用于不同fb的多次背景(多重背景)
在一个功能块中,用户可以调用其它已经存在的fb的背景。为此,用户可以将所需的背景数据赋值到调用fb的背景数据块中,这就意味着,在这种情况中,用户不需要为被调fb增加任何数据块。
为了将这些多重背景在一个背景数据块中实现,用户必须在调用功能块的变量声明表部分,为每次独立的背景定义一个以被调用的fb为数据类型的静态变量。在功能块内部的调用,则不再需要背景数据块,只需要变量的符号名。
变量声明表中的多重背景;
使用多重背景:
如果用户希望或不得不用有限的几个数据块存放背景数据以提高s7 cpu中的性能(例如存储能力)是可能的。如果在功能块中调用其它的功能块(fb),不需要它们自己的(额外的)背景数据块。
解决的方法如下: 
•  在调用功能块的变量声明表中,将被调用的功能块做为静态变量参数。
•  在该功能块中,调用其它功能块不带有(额外的)背景数据块。
•  这就将背景数据都压缩在一个背景数据块中,用户能够更有效地利用数据块的资源。
唯一的要求:用户必须“告诉”调用功能块,哪个背景需要调用以及这些背景的类型(fb是什么?)。这些细节必须在调用功能块的参数声明窗口输入。被调用的功能块在数据区中至少要有一个变量或参数(var_temp不能用)。
声明多重背景的规则:
多重背景的声明有下列规则: 
•  只有在版本2以上的step 7中生成的功能块(参看功能块的属性中的块特性),才可能声明多重背景。
•  为了声明多重背景,功能块必须设置为有多重背景能力(在step 7中缺省设置),可在编辑器中用options > customize 取消。
•  必须有一个背景数据块分配给声明了多重背景的功能块。
•  多重背景只能声明为静态变量(声明类型为“stat ”)。
在变量声明窗口中输入多重背景:
1.  打开功能块,在该功能块中将调用下一级功能块。
2.  如果不想给被用调的功能块使用背景数据块,可以为这些功能块在调用它们的功能块变量声明表中定义一个静态变量。
-    在变量表中选择“stat”。
-    在变量视窗的“name(名)”栏中为fb的调用输入一个名字。
-    在“data type(数据类型)”栏中输入需要调用的功能块作为一个绝对地址或用它的符号名。
-    可以在注释栏输入任何需要的注释。
在程序部分调用
如果声明了多重背景,可以调用fb和无需指定一个背景db。
例如:如果定义了静态变量  name: motor_1 , data type: fb20,则可按下述方法调用背景:
call motor_1   //  调用fb20,无背景数据块
注意:
l一个fb2 在fb1 中被定义为多重背景,并且fb2 的时间标签比fb1 的更新。
l在对一个fb的接口修改后,已有的多重背景及背景数据块必须刷新。
l当调用一个fb(单个背景或多重背景) 时,地址寄存器ar2 被改写。


c语言之条件编译技巧与示例分析
WaveOptics与EVG的合作可以减小头显设备进入消费者市场的阻碍
常见漏洞的防御措施整理
深圳年底补贴:购买 5G 产品给予 10% 的每人最高 1000 元的补贴
通信行业2017年投资策略:大流量、新技术助力通信新增长
西门子PLC多重背景的使用规则与解决方法
如何认识电动机型号表示的名称和参数
什么是机器视觉?视觉系统组成部分
小米将在2020年第一季度推出LPDDR5手持设备
北大博士设计的无人驾驶船问世
深圳全面完成了5G SA组网,中国的5G网络建设步入了第二个阶段
全球能源转型的四种趋势和特征分析
Zigbee技术参数和通信距离
医疗服务机器人“艾菲仕”已在多家医院试点使用,可实现远程会诊
Qt“灵魂”之Meta-Object系统
数字通信系统中信噪比在电路设计中的应用分析
MAX5803-MAX5805单通道,低功耗数模转换器
九城签定私募约定书 将获3000万美元融资坐实私有化传言
安卓系统4G智能执法记录仪的功能优势
ADC设计降低功耗,让电池“走”的更长远