TIA博途中FC和FB的区别与应用
从程序运行过程的角度看,FC、FB的区别在于传递参数方式不同: |
FC:通过L堆栈区传递参数
FB:通过背景DB传递参数
FC与FB具有不同的特性:
FC自身不能存储过程状态
FB可以通过静态变量存储中间过程状态
FB可以包含调用其他的FB及其背景DB,称为多重背景调用
FC被调用过程(适用于基本数据类型参数): |
调用者要执行调用FC,先将Input、Inout实际参数复制到FC参数临时堆栈区域;
执行被调用的FC程序,FC块从前一步的临时堆栈区读取Input、Inout参数;
执行FC过程中,如有Output、Inout参数被指令输出更新,则输出到FC临时堆栈区相应的Output、Inout区域;
执行完所有FC