PLC结构化文本(ST)——FB系统内置方法(Init、exit、reinit)

PLC Structured Text Object Oriented Programming

PLC结构化文本(ST)——FB系统内置方法(Init、exit、reinit)

IEC61131-3 FB系统内置方法

  • FB_init隐式或显式初始化功能块,第一次下载运行程序时初始化时自动调用。该方法类似于C#类的构造函数,用于初始化类。
  • FB_exit在功能块被销毁时自动由系统隐式调用,例如:在运行模式切换到配置模式时或PLC程序停止时被系统自动调用。类似于C#析构函数的概念。
  • FB_reinit通常用于重新初始化功能块,相当于在线修改(Online change)。

只要不是显式调用(隐式自动调用),以上方法在对应触发条件下只运行一次,该机制类似于C#事件(event),不参与扫描周期循环调用。如果是显式调用,那具体就看程序怎么写了。

添加系统内置方法

  • 创建一个功能块;
  • 添加方法;
  • 在名称处选择FB_initFB_exitFB_reinit
  • 点击Open

操作案例对应的方法

首次下载 新下载 在线更改
1.FB_init(隐式或显示初始化代码)
2.通过功能块实例声明进行显示外部变量初始化
3.使用属性"call_after_init"声明的方法
1.FB_exit
2.FB_init(隐式或显式初始化代码)
3.通过功能块的实例声明进行显式外部变量初始化
4.使用属性"call_after_init"声明的方法
1.FB_exit
2.FB_init(隐式或显式初始化代码)
3.通过功能块的实例声明进行显式外部变量初始化
4.使用属性"call_after_init"声明的方法
5.复印程序
6.FB_reinit
方法参数:
FB_init(bInitRetains := TRUE,bInCopyCode := FALSE);
方法参数:
FB_exit(bInCopyCode := FALSE);
FB_init(bInitRetains := TRUE,bInCopyCode := FALSE);
方法参数:
FB_exit(bInCopyCode := TRUE);
FB_init(bInitRetains := FALSE,bInCopyCode := TRUE);