指针:SUPER
这 SUPER 指针是用于面向对象编程的特殊变量。
SUPER 是功能块的指针,指向生成功能块的基本功能块实例。这 SUPER 指针还允许访问基功能块(基类)的方法的实现。一个 SUPER 指针对每个功能块自动可用。您可以使用 SUPER 仅在方法和相关的功能块实现中。
指针的解引用: SUPER^
使用 SUPER 指针:随着 SUPER 关键字,您调用的方法在基本类或父类的实例中有效。
例 99. 例子
英石
SUPER^.METH_DoIt();
FBD/CFC/LD

例 100. 例子
用于 SUPER 和 THIS 指针
FUNCTION_BLOCK FB_Base
VAR_OUTPUT
iCnt : INT;
END_VAR
METHOD METH_DoIt : BOOL
iCnt := -1;
METHOD METH_DoAlso : BOOL
METH_DoAlso := TRUE;
FUNCTION_BLOCK FB_1 EXTENDS FB_Base
VAR_OUTPUT
iBase : INT;
END_VAR
THIS^.METH_DoIt(); //Call of the methods of FB_1
THIS^.METH_DoAlso();
SUPER^.METH_DoIt(); //Call of the methods of FB_Base
SUPER^.METH_DoAlso();
iBase := SUPER^.iCnt;
METHOD METH_DoIt : BOOL
iCnt := 1111;
METH_DoIt := TRUE;
PROGRAM PLC_PRG
VAR
myBase : FB_Base;
myFB_1 : FB_1;
iTHIS : INT;
iBase : INT;
END_VAR
myBase();
iBase := myBase.iCnt;
myFB_1();
iTHIS := myFB_1.iCnt;提示
THIS 尚未针对指令列表 (IL) 实现。