菜单

功能块扩展

功能块的扩展基于面向对象编程中的继承概念。扩展功能块由此扩展了基础功能块,并且在这样做时除了基础功能块自身的属性外,还赋予了基本功能块属性。

功能块的扩展意味着:

  • 继承功能块包含基本功能块定义的所有数据和方法。您可以在MetaFacture每个需要基本功能块类型的功能块程序中使用基础功能块的实例。
  • 扩展功能块可以覆盖您在基础功能块中定义的方法。这意味着继承的功能块可以定义与基本功能块所定义的名称,输入和输出相同的方法。
    技巧:覆盖基础功能块继承的方法,操作,属性和转换时,具有以下支持:在继承的块下面插入方法,操作等时,添加对象对话框将包含一个组合框,其中包含在基础块中使用的方法,操作等的列表。您可以使用这些并进行相应调整。
  • 扩展功能块可能不包含名称与基本功能块相同的功能块变量。编译器将此报告为错误。
    唯一的例外:如果已在基础功能块中将变量声明为VAR_TEMP,则继承的功能块可以定义一个具有相同名称的变量。在这种情况下,继承的功能块将无法再访问基本功能块的变量。
  • 您可以使用SUPER指针在继承的函数块范围内直接寻址基本函数块的变量和方法。

 


通过新功能块扩展基本功能块​

要求:当前打开的项目具有一个基本功能块,例如POU_1(FB),该功能块将由新的功能块扩展。


1.右键单击设备树中的Application对象,然后选择工程 ➔ 添加对象 ➔ POU
⇒将打开添加POU对话框。

2.在名称输入部分中输入新POU的名称,例如POU_Ex

3.选择功能块

4.点击扩展,然后点击更多按钮()。

5.在输入助手中Application下的功能块类别中,选择要用作基础功能块的POU(FB),例如POU_1,然后单击确定

6.另外,您可以从下拉列表中为新功能块选择一个访问修饰符

7.从实现语言组合框中选择(例如:编程结构化文本(ST)

8.单击添加
⇒MetaFacture在设备树中添加一个POU_Ex,同时在编辑器中被打开。第一行包含以下文本:
 
FUNCTION_BLOCK POU_Ex EXTENDS POU_1
 
功能块POU_Ex扩展了基本功能块POU_1。

 

 


通过新功能块扩展基本功能块

要求:打开的工程具有一个基本功能块(例如:POU_1(FB)和另一个功能块(示例: POU_Ex(FB))。功能块POU_Ex(FB)也应具有基本功能块的属性。这意味着POU_Ex(FB)应该扩展POU_1(FB)。


1.在设备树中双击功能块POU_Ex(FB)。
⇒将打开功能块编辑器。

2.将第一行FUNCTION_BLOCK POU_Ex中的现有条目扩展为EXTENDS POU_1。
⇒功能块POU_Ex扩展了基本功能块POU_1。

 

最近修改: 2025-07-24