1.FB块
①FB块是从另一个OB、FB或FC代码块进行调用时执行的的子例程。
②以1200PLC为例,可以使用0B块,FC块和FB块代码块编程。
③调用FB块时会生成相匹配的背景数据块,在背景数据块中可以存储定义的接口参数及静态变量。
2.FC块
①FC是不含存储区的代码块,用于对一组输入值做特定运算。
②使用FC执行标准运算和可重复使用的运算(数学计算)或者执行工艺功能(如使用位逻辑运算执行独立的控制)。
③在程序中的不同位置多次调用,简化对重复发生的任务的编程。
二、特点
1.FB块
①当中性线连接负载时,可以确保即使在负载不对称的情况下,各相之间的电压仍能保持相对稳定。
②使用背景模块最为内部存储区。
③FB 调用 FB 可以使用多重背景方式减少背景数据块的数量。
④推荐只使用局部变量编程,调用时对输入输出局部变量赋值
如果想控制一台电机,是选用FB块还是FC块?
1.FB块相当于高级语言,例如C#的类。
每次调用FB块,则会生成1个背景数据块,把背景数据块理解为实例化数据块,实例化后生成一个对象。在PLC中,对象的属性会存储在实例化数据块中。所以如果是想要控制一台电机,推荐使用FB块。
2.FC块相当于一个函数,例如数值转换。
FC块编完之后嵌入到FB块中;也可以作为一个子程序的调用或对象的预处理或后期处理;使用FB块实例化的对象在HMI上都会有显示和控制的需求,例如每一路的PID控制,在HMI上都有相应的控制面板,通过这个控制面板,也可以修改PID的参数、修改设定值以及得到反馈值。
3.FB、FC的区别和应用
从程序运行过程的角度看,FC、FB的区别是在于传递参数方式不同
FB块:通过背景DB传递参数。
FC块:通过L堆栈区传递参数。
因此FC、FB有不同的特性:
①FC自身不能存储过程状态。
②FB可以包含调用其他的FB及其背景DB,称为多重背景调通。