广东湘恒智能科技有限公司
主营产品: 西门子PLC,西门子模块,西门子触摸屏,西门子变频器,西门子伺服电机驱动,电缆,西门子全系列
玩转西门子FB编程
发布时间:2024-11-21

FB块的调用

编写好 FB 块程序后,需要进行调用才可以执行 FB 块中的程序。FB 块可以由 OB 块、FC 块或其他 FB 块调用。被不同的块调用,出现的调用方式也会不同,如图 8-10 所示。

在 OB 中调用 FB 块,仅支持单个实例调用(如图 8 所示)

在 FC 块中调用 FB 块,支持单个实例和参数实例调用(如图 9 所示)

在 FB 块中调用另外一个 FB 块,支持单个实例,多重背景和参数实例三种方式(如图 10 所示)。

图片

图 8. OB 调用 FB 块图片图 9. FC 调用 FB 块

图片

图 10. FB 调用 FB 块下面针对各个调用选项进行详细说明:

(1)单个实例:选择单个实例后,系统会自动生成该 FB 块的背景数据块,出现在程序块文件夹下方,并且自动在 FB 上方填写上该背景数据块,如图 11 所示。

图片

图 11.单个实例调用////////////////////////////////////////////////////////////////////////////////(2)参数实例:选择参数实例后,将实例作为调用块的一个 InOut 参数进行传递,需要生成一个背景数据块作为实参填写在形参上。如图 12 所示,FC1 中调用 FB2"motor",并且调用选项选择参数实例,此时 FC1 的块接口中会新增一个 InOut 类型的参数,参数类型为 motor(FB2 的背景数据块)。

图片

图 12.FC1 中参数实例调用 FB2添加新块,选择 DB 块,类型选择 motor(FB2 的背景数据块),如图 13 所示。

图片

图 13.新建 FB2 背景数据块如图 14 所示,在 OB1 中调用 FC1 时会出现一个 InOut 形参参数需要填写,此时将图 13 新建的背景数据块填写到 FC1 的 InOut 参数上即可。

图片

图 14.参数实例填写

////////////////////////////////////////////////////////////////////////////////

(3)多重实例:选择多重实例后,无需为被调用的 FB 块创建单独的背景 DB 块,被调用的 FB 块的背景数据块存储在外层 FB 块的静态变量区域。对于多重实例,还可以以数组形式存在,方便块的多次调用。如图 15 所示,FB1 中调用 2 次 FB2,选择多重实例方式。

图片

图 15.多重实例调用

FB块的背景数据块属性修改

FB 块的背景数据块伴随着 FB 块调用出现,在背景数据块中可以存储 Input(输入)、Output(输出)、InOut(输入/输出)以及 Static(静态变量),下面说明 2 点 FB 块背景数据块属性如何修改。

1. 背景数据块的断电保持性的设置:背景数据块的断电保持性:取决于 FB 块接口中对变量保持性的设置,如图 16 所示(图中左侧为 FB 块接口,右侧为 FB 块的背景数据块)。

图片

图 16. FB 块接口设置保持性

标注 1:保持性有 3 种选项,非保持、保持以及在 IDB 中设置;

标注 2:块接口中选择为非保持的变量,背景数据块中为不勾选保持性且不可修改;

标注 3:块接口中选择为保持的变量,背景数据块中为勾选保持性且不可修改;

标注 4:块接口中选择为在 IDB 中设置的变量,背景数据块中会有复选框预留,由用户自行决定是否勾选保持性,可在背景数据块中操作。此外该功能可以用于优化 FB 块 的 AT 功能的使用,详见链接。

注意:对于非优化 FB 的保持性无法在 FB 接口处设置,只能在背景数据块中设置,并且所有变量参数的保持性是一致的,无法单独设置某一个变量参数的保持性。

////////////////////////////////////////////////////////////////////////////////

2.背景数据块的优化和非优化如何设置:背景数据块的优化或非优化:由 FB 块属性的“优化的块访问” 设置决定。

FB 块创建后,默认是优化的 FB 块,其背景数据块也默认是优化的。

如果需要修改该属性,可以在 FB 块属性中,将”优化的块访问“复选框取消勾选,即修改为非优化,如图 17 所示。

图片

图 17. FB 块属性修改为非优化对程序进行编译程序后,查看 FB 的背景数据块的属性也随之修改为非优化,如图 18 所示。

图片

图 18. FB 背景数据块非优化


展开全文
拨打电话 微信咨询 发送询价