前景介绍:什么叫“多重实例”
1、FB块是具有存储器的代码块,可将值存储于背景DB块中,即使在执行完后,这些值仍然有效,所以在调用FB块时需要为其分配相应的背景DB块,在分配背景DB块时,可分配“单个实例”、“多重实例”和“参数实例”。
2、当一个项目中需大量调用FB块时,若每个FB块都为其分配“单个实例”作为其背景数据块,则会生成很多个数据块,这样不但占用的数据块资源比较多,同时在项目中也容易出现大量的背景数据“碎片”,影响程序的执行效率。使用多重背景,可以将几个函数块共用一个背景数据块,这样就可以减少数据块的个数,提高程序的执行效率。
3、多重背景的优点:
①、多个实例只需要一个DB;
②、在为各个实例创建“私有”数据区时,无需任何额外的管理工作;
③、多重背景模型使得“面向对象的编程风格”成为可能,通过“集合”的方式实现可重用性。
实例编程1:通过多重背景编程,实现3台电机各自独立的启停控制。
①、新建项目,并建立功能块FB10: SignalMotor_Control
②、建立功能块FB11: AllMotor_Control,在展开静态变量“Static”,并创建3个静态变量,静态变量Motor1-Motor3的数据类型选择FB10:SignalMotor_Control
③、双击打开OB1,在OB1中调用FB11,并生成其对应的背景数据块DB11;
④、程序仿真,当Start启动信号为1时,Motor输出信号也为1。