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_init
或FB_exit
或FB_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); |