王生彬
王生斌
级别: 论坛先锋
精华主题: 0
发帖数量: 641 个
工控威望: 1792 点
下载积分: 6031 分
在线时间: 251(小时)
注册时间: 2007-09-07
最后登录: 2024-11-25
查看王生彬的 主题 / 回贴
楼主  发表于: 2011-09-11 18:02
用西门子PLC编程时,可以用到功能块FB和功能FC(FB、FC都是组织块)资料上说FB与FC都可以作为用户编写的子程序,但这两个组织块之间到底有什么区别?在应用上到底有什么不同之处?   FB--功能块,带背景数据块
FC--功能,相当于函数
他们之间的主要区别是:FC使用的是共享数据块,FB使用的是背景数据块
举个例子,如果您要对3个参数相同的电机进行控制,那么只需要使用FB编程外加3个背景数据块就可以了,但是,如果您使用FC,那么您需要不断的修改共享数据块,否则会导致数据丢失。FB确保了3个电机的参数互不干扰。   FB,FC本质都是一样的,都相当于子程序,可以被其他程序调用(也可以调用其他子程序)。他们的最大区别是,FB与DB配合使用,DB中保存着FB使用的数据,即使FB退出后也会一直保留。FC就没有一个永久的数据块来存放数据,只在运行期间会被分配一个临时的数据区。在实际编程中,是使用FB还是FC,要看实际的需要决定。FB的好处楼上以讲得很好了。

FB与FC没有太大的差别,FB带有背景数据块,而FC没有。所以FB带上不同的数据块,就可以带上不同的参数值。这样就可以用同一FB和不同的背景数据块,被多个对象调用。   FC和FB像C中的函数,只不过FB可以生成静态变量,在下次函数调用时数据可以保留,而FC的变量只在调用期内有效,下次调用又重新更换。   S7-300plc中的FB和FC的分别?FB带有自己的背景DB而FC没有自己的背景DB, 用FC 和FB 有什么分别呢,他们都能实现控制功能,到底该用FB还是该用FC,什么时候用FB什么时候用FC? FB与FC没有太大的差别,FB带有背景数据块,而FC没有。所以FB带上不同的数据块,就可以带上不同的参数值。这样就可以用同一FB和不同的背景数据块,被多个对象调用。
   FC和FB像C中的函数,只不过FB可以生成静态变量,在下次函数调用时数据可以保留,而FC的变量只在调用期内有效,下次调用又重新更换。 每次调用FC的I/O区域必须要自己每次手动输入,而FB就不要,省去不少麻烦,如果在上位机控制直接输入DB控制地址就可!  


chenpingyg
机械是柱石,电气是灵魂.
级别: VIP会员
精华主题: 0
发帖数量: 1105 个
工控威望: 6705 点
下载积分: 100 分
在线时间: 603(小时)
注册时间: 2007-01-25
最后登录: 2017-04-03
查看chenpingyg的 主题 / 回贴
1楼  发表于: 2011-09-13 22:22
很好,讲的很清楚。
但是FB还有个功能,你可以直接添加一个FB41,也可以调用FB41,两者是不同的。自己添加的FB41是空的,而调用的FB41是连续控制器。
自己的事情自己做.