TIAv17环境下再次学习练习STL-68调用多重背景数据块

标签:
西门子tiastl编程多重背景数据块 |
分类: 西门子软硬件 |
继续学习TIA环境下STL编程,这一篇学习调用多重背景数据块。
CALL # 变量名称
通过声明一个具有功能块数据类型的静态变量,创建一个多重背景。只有已声明的多重背景才会被包括在程序元素目录中。
比如一个项目中有多个类似的设备需要控制,这些设备的控制逻辑是类似的,可以建立一个FB来描述。如果在OB1中反复调用这个FB,就会创建很多个背景数据块。使用多重背景数据块可以避免创建多个背景数据块。
在前面练习的基础上来学习理解。比如前面创建的FB1需要被反复调用。
新建FB4,在FB4中反复调用FB1
打开FB4,可以不建内部变量,也可以建立内部变量,这个练习我不建立内部变量,写STL语句调用FB1,建立背景数据块的时候选择建立多重背景数据块,起一个名字。
点击确定按钮,可以看到程序如下
可以配置参数如下
在FB4中再次调用FB1,可以看到还没有完全输入FB1,就会自动列出可选项,这里选择前面建立的背景数据块#FB1_Instance1,输入参数
现在FB1被调用了两次,这两次调用共用了背景数据块#FB1_Instance1
在OB1里面调用FB4,相当于组织块里面调用了两次FB1,给FB4分配一个背景数据块
点击确定按钮,由于前面定义FB4的时候没有定义内部的IO,所以这里就没有输入输出的配置
打开FB3_DB背景数据块
可以看到这个背景数据块内部有一个FB1的数据类型,这个就是前面说的功能块类型数据。
关闭窗口,把程序下载到模拟器,修改数值
是哟多重背景数据块可以减少背景数据块的数量,便于维护。