西门子FB和FC区别

2024-05-09 03:08

1. 西门子FB和FC区别

1、不同的数据块:FC使用共享数据块,FB使用后台数据块
例如,如果要用相同的参数控制3个电机,则只需使用FB编程以及3个背景数据块。 但是,如果使用FC,则需要不断修改共享数据块。 否则,数据将丢失。  FB确保三个电机的参数不会相互干扰。
2、实际决定有所不同:
FB和FC本质上是相同的,它们等效于子例程,并且可以被其他程序调用(也可以调用其他子例程)。 它们之间最大的区别是FB与DB结合使用,即使FB退出后,FB使用的数据也存储在DB中。  FC没有永久性的数据块来存储数据,在操作过程中只会分配一个临时的数据区域。 在实际编程中,使用FB还是FC取决于实际需求。
FB和FC之间没有太大区别。  FB有一个背景数据块,而FC没有。 因此FB可以为不同的数据块带来不同的参数值。 这样,多个对象可以使用相同的FB和不同的背景数据块。

3、不同的静态变量:
FC和FB与C中的函数相似,不同之处在于FB可以生成静态变量,并且数据可以在下一个函数调用期间保留,而FC变量仅在调用期间有效,下一次将被替换。
FB和FC之间没有太大区别。  FB有一个背景数据块,而FC没有。 因此FB可以为不同的数据块带来不同的参数值。 这样,多个对象可以使用相同的FB和不同的背景数据块。
FC和FB与C中的函数相似,不同之处在于FB可以生成静态变量,并且数据可以在下一个函数调用期间保留,而FC变量仅在调用期间有效,下一次将被替换。 每次调用FC的I / O区域时,每次都必须手动输入它,而FB则不需要它,这省去了很多麻烦。 如果直接在上位机控件中输入DB控件地址!

  

西门子FB和FC区别

2. 请问哪位大侠能告诉我西门子S7-300中FB和FC的本质区别吗 能否只用FC或只用FB呢 FB生成的背景数据块有何作用

FC没有背景数据块,所以在FC内部使用到的临时数据不能被保存,因为这个临时数据区是和其他FC共用的,举一个例子吧,不知道恰当不恰当,就像是学校上课一样,许多老师(FC)共用一个黑板(临时数据区),如果下课后某一个老师(FC1)在黑板上留下的有用的内容想下节课继续讲,他会发现再来上课时黑板上的东西变了,因为别的老师也要用的。所以说用FC不能保存下个周期还能用的数据(比如触发器、上升沿和下降沿指令,如果用FC的临时变量就会出问题),想要保存只能指定绝对地址,这样就在一定程度上失去了程序块的封装性。
    FB有背景数据块,相当于每一个老师(FB)有一个专用的教室和黑板(背景DB),就不会出现上面的问题了。
    一般来说FB可以代替FC,只不过一些程序比较简单,不需要保存中间变量,用FC方便一些。
    西门子的人是推荐编程都用FB的。
最新文章
热门文章
推荐阅读