用户自定义功能块

对于由用户在项目或用户库中创建的功能块,会在编译的程序中创建子程序。每次加载时,首先传输类别VAR_INPUTVAR_IN_OUT的输入参数。然后跳入相应的子程序。最后再次读取类别VAR_OUTPUTVAR_IN_OUT的输出参数。可以定义的子程序或功能块的数量取决于控制器的类型。

功能块配备“内存”,即加载时,此功能块的每个实体均分配有一个数据区和一个子程序。然后功能块的所有实体可以使用相同的子程序。通过索引寄存器,访问对相应实体有效的数据区域。

此实现有助于在程序内存中节省大量有用空间,尤其是在频繁使用相同的用户自定义功能块时。但是,通过索引寄存器访问数据区可能会延长扫描时间。

FB索引

借助某些控制器,可以激活[其他] > [选项] > [编译选项] > [代码生成]下面的[已编入索引的功能块实例(X)]选项。

注释

使用FB索引时,某些基本功能在一个循环内多次调用时无法正常工作。使用以下命令时,将收到错误信息:

  • 计数器:F118_UDCF166_HighSpeedCounter_SetF167_HighSpeedCounter_ResetF168_PulseOutput_Home

  • 移位指令:F119_LRSR

相关主题

最后更新日期: 2021-05-13此页面上的反馈松下热线