找答案的高端用户(找答案钻石及双钻级别的用户)将尽可能从此问题下的所有回
答中,为您推荐最佳答案。届时您可以根据推荐数采纳答案。
如果自提问时间起7天内您仍无法选出最佳答案,您可以选择“无满意答案”关闭此问题。
手机扫码追踪该问题,
觉得实用,立即去分享!
点击复制链接
1。功能块FB和FC是指一个程序,它只有被其它程序调用才执行;功能块DB是有相联存储区(背景数据块)的逻辑快,被调用时需定义背景数据块,输入`输出`输入输出`和静态变量的实参储存在背景数据块中,临时变量存在L堆栈中;FC为无相联存储区(背景数据块)的逻辑快,其输入`输出`输入输出参数是存储作为指向调用快实参的指针,无静态变量;
2。在使用结构化编程时,可以把控制处理过程中的元器件的指令不放在OB1,而是放在不同的功能块中(FC或FB),这样可以简化程序设计,每一个功能块包含一组给定任务的逻辑,OB1中的指令决定控制程序分块的执行;
3。FB用于对于需要重复执行的动作(如相同马达),使用一个FB控制多个设备,通过使用不同的背景数据块来控制特定的功能,每个动作可存在不同的数据块内,程序大大简化;如果控制功能不同时,就必须用FC编写特定任务的程序,并调用时给其形参提供实参
chen11201 的回答:
FB,FC本质都是一样的,都相当于子程序,可以被其他程序调用(也可以调用其他子程序)。他们的最大区别是,FB与DB配合使用,DB中保存着FB使用的数据,即使FB退出后也会一直保留。FC就没有一个永久的数据块来存放数据,只在运行期间会被分配一个临时的数据区。在实际编程中,是使用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控制地址就可!
举个例子,如果您要对3个参数相同的电机进行控制,那么只需要使用FB编程外加3个背景数据块就可以了,但是,如果您使用FC,那么您需要不断的修改共享数据块,否则会导致数据丢失。FB确保了3个电机的参数互不干扰。
http://www.ad.siemens.com.cn/service/answer/solution.asp?Q_id=37209&cid=1029
只要你弄明白就好了,分给谁都无所谓的。
首次回答问题,获得
双倍西币积分!
立即成为技术知识分享的一员!
找答案微信小程序
提问
搜索
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华……
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!
感谢您的支持!