“FB_Exit”是功能块的一种特殊的路径。它必须被明确声明,不存在隐式声明。 退出方法 - 如果存在的话 - 在新的 下载, 复位 或 在线更改所有移动或删除的实例之前可被所有声明的功能块的实例调用。
FB_exit路径界面: 只能有一个强制性的参数:
METHOD fb_exit : BOOL
VAR_INPUT
bInCopyCode : BOOL; // if TRUE, the exit method is called for exiting an instance that is copied afterwards (online change).
END_VAR
相关的还有 ⇘ "FB_init" 方法和以下的 执行顺序:
1. | 1. 退出路径:退出以前的实例: old_inst.fb_exit(bInCopyCode := TRUE); |
2. | 2. Init路径:初始化新的实例:new_inst.fb_init(bInitRetains := FALSE, bInCopyCode := TRUE); |
3. | 3. 复制功能块值(复制代码):copy_fub(&old_inst, &new_inst); |
除此之外,在 继承 的情况下,下面的调用顺序是真实的(例如在使用此列表的POU做例子,以下假设:"SubFB EXTENDS MainFB" 和 "SubSubFB EXTENDS SubFB"):
fbSubSubFb.FB_Exit(...);
fbSubFb.FB_Exit(...);
fbMainFb.FB_Exit(...);
fbMainFb.FB_Init(...);
fbSubFb.FB_Init(...);
fbSubSubFb.FB_Init(...);
für FB_reinit:
fbMainFb.FB_reinit(...);
fbSubFb.FB_reinit(...);
fbSubSubFb.FB_Init(...);