发布于 2012-12-19 17:16:00
7楼
FC与FB确实是一个老生常谈的话题,也是初学者们的困惑。
1、FC不带背景DB,如果不想使用申明定义OUT参数输出,中间运算数据则只能申明定义Temporary Variables临时变量存储。
2、FC方式特别适用于函数(Function)运算的场合,并且还带函数返回值功能(RET_VAL),因此我们还可以将函数运算值赋值给RET_VAL参数。这样在使用函数(Function)功能调用FC块时,就可以在输入实参变量值后,直接获取运算结果。例如:
a:=FC(x,y,z)
其中:x,y,z是FC块形参变量;
3、由于FC不带背景DB,没有自己独立的数据通道存储接口,造成了数据存储分散不便管理,因此需要中间运算数据存储的场合,就建议采用FB方式了。FB方式可以申明定义Static Variables静态变量存储中间运算数据,具备了独立的数据通道存储接口便于了管理。
4、如果变量数据需要上传至WinCC的OS中,建议采用FB方式。因为FB功能块具有变量名称统一,和独立的数据通道存储接口,使得在OS中使用结构变量(Structure tag)方式管理和过程通道访问,以及方便在Picture中使用Tag prefix(变量前缀)法快速连接变量名Tag等优点。
5、由于使用FB方式带背景DB,会增加CPU存储容量,容量大小视FB块中的变量类型和数量而定;而FC方式的中间运算数据存储,则可以使用CPU内置的M存储区,减少CPU存储容量。
6、因此FC和FB块编程方式各具优缺点,就看使用者依据自身项目特点,权衡利弊关系后择优选择。
大学之道,在明明德,在亲民,在止于至善。