调兵山市西门子代理商
作者:前成自动化2021/4/14 19:05:17

调兵山市西门子代理商                                                                    调兵山市西门子代理商

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控制地址就可以。
    举个例子来说,有50台电机需要控制,这些电机除了参数不一样,控制流程上是一样的,每个
    电机需要不同的参数去运行,运行中的过程参数要参与到下一次的控制过程中。
    这个要求,用FC做的话,你需要针对不同的电机分配好DB块,来逐一的确认参数地址,不能混
    淆,保存和调用不能出错,可以想象会有多麻烦。如果用FB来做呢?写好控制过程和定义的参
    数的调用就可以了。针对电机重复调用同一个FB,每次调用指定一个的DB作为背景数据块
    ,完全不必理会背景DB中的数据是怎么存储的。如果功能需要修改,只要修改该FB就行了。
    还有其他的例子,比如PID、比如流量累计等等。
    fc就相当于流水线,加工完就过去了!没有任何纪录。fb+db不但可以加工,还能记录数据的。
    一般有多个设备的时候,我们编写一个fb然后多次调用,自动生成相应的db,这样简化了我们
    的工作。
    FB的变量声明表中有静态变量,并可以进行多级的参数传递,因此在调用FB时需生成背景数据块,
    而FC则没有这些.FB可以替代FC,反之则不行.
    多级的参数传递即所谓的MULTIINSTANCE,你可以把FB,DB做为另外一个FB中的函数来调用,
    如在FB2中可以使用FB1中的参数,而终只生成一个背景数据块。
    Zane:
    FB其实不会占用过多的资源,因为一个程序总是有这些变量的,无论是全局的还是局部变量。
    我现在,大量使用的是FB,FC只用来编一些逻辑,及简单的子程序,或仅仅几个CALL指令调用
    FB。使用FB及局部变量,更有利于程序的模块化,增加程序的可移植性,就象西门子公司提供的FB
    块.

调兵山市西门子代理商                                                                      调兵山市西门子代理商

商户名称:宁波前成自动化设备有限公司

版权所有©2025 产品网