“ 在同一个系统中,同一类型设备的多次调用,使用多重背景数据块会比较方便”
多重数据块是数据块的一种特殊形式,如在OB1中调用FB1,在FB1中又调用FB11和FB12,则只要FB1的背景数据块选择为多重背景数据块就可以了,FB11和FB12不需要建立背景数据块,其接口参数都保存在FB1的多重背景数据块中。01
—
举例说明
例如,PLC控制两台电机,且控制两台电机的接口参数均相同。一般的做法,我们可以编写功能块FB1控制两台电机,当控制不同的电机时,分别使用不同的背景数据块就可以控制不同的电机了(如第一台电机的控制参数保存在DB1中,第二台电机的控制参数保存在DB2中,我们可以在控制第一台电机调用FB11时以DB1为背景数据就可以了,第二台同样以DB2为背景数据块)。这样就需要使用两个背景数据。
如果控制的电机台数更多,则会使用更多的数据块。使用多重背景数据块就是为了减少数据块的数量。(此处的DB1为FB1的背景数据块,存储多次调用FB11、FB12的所对应的数据)
02
—
建立背景数据块
我们需要先后插入一个功能块FB1和数据块DB1,DB1就为FB1的多重背景多重数据块,然后在FB1中指定所对应的背景数据块,在“STAT”变量区中建立变量,如下图,(也可以自己更改为自己想要的名字)
将数据类型更改为需要调用的功能块
然后在总览中多重背景,会看到刚刚建立的两个功能块,并在FB1中调用。
OB1中调用FB1,这样可以通过在OB1中调用的FB1进行分别控制同一类型的设备,相应的多重背景数据块只有一个DB1;
注:此方法建议对同一类型设备程序做好充分考虑,不要在建立多重背景块(FB1)后并生成数据块(DB1)的时候再更改某种类型的程序(FB11、FB12),这样接口改变,对应的数据块也需要改变,需要重新生成,比较麻烦!为了防止此类型的麻烦出现,介绍SCL中调用多重背景数据块!
SCL在STEP7中需要单独安装,安装包在公众号中软件分享西门子中可以找到。(simatic_s7_scl_v53_sp6)
安装好软件后,新建SCL源文件;
每次更改功能块后编译生成FB1 、DB1
在OB1中调用FB1即可!
最后感谢大家能够看完我写的文档,也希望能帮助到大家!给个赞就是给我最大的鼓励,感谢!
扫一扫,关注!谢谢