朝阳市西门子代理商
作者:前成自动化2021/4/14 19:10:49

朝阳市西门子代理商                                                                                   朝阳市西门子代理商

朝阳市西门子代理商其实FB和FC根本的区别是:FB支持静态变量,而FC只支持临时变量。
    静态变量:是调用FB返回时,仍然要为FB保留此变量区,因此不会改变这一区域的数据值。临
    时变量却没有这样的特性。
    所以在FC中如果在对临时数据变量处写入确定的数据前,就去读时就可能产生不可预见的结果

    ,而对于静态变量却不会,因为它会保留你上次写入的结果。

    万泉河:
    咱们编制的控制程序,FB用到。所说的用FB来替代FC实用的情况,更是少见,有谁曾经把
    FC全部用光啦?恐怕系统都不能负担了。
    提供的标准库中,FB倒是不少的。
    如果你要编制的函数没有用到静态变量,恐怕没有必要使用FB吧?我看语言中,虽然静态
    变量使用很容易,但实际用也很少啊。
    侠客:我和zane的观点一样,我工作中也是把相同功能的工作编制成FB,然后在FC里调用,程
    序修改起来方便,举个例子:如果你有10台电机,一般我们都要给他编制启动,停止逻辑,报
    警,复位逻辑。如果我编一个FB把这些逻辑都做好了,为每一个电机分配一个背景数据块的话
    ,我在FC调用这些电机时,我只要把这些电机对应的I/O点添到FB的管脚上就可以了,完全不再
    用考虑他里面的逻辑了,如果你全是用FC编这些逻辑的话,1、你要写10遍,2、如果你用粘贴
    和的话,有可能有的I/O点忘记修改或其他一些错误,3、程序的结构性不强,维护起来浪费
    时间。
    朝阳市西门子代理商所以,FB和FC结合起来用是方便的。
    建议大家试试FB,当你理解了FB后,你会感到惊喜的
    Zane:关于FB,FC的使用,我也是在具体的应用中一步一步地体会过来的,不过这仅是我个人
    的看法与体会,并没有说一定要这样用,各位可以做不同的尝试。但有一点是肯定的,就是在
    动手写程序之前,事先对整个项目要有一个很好的规划。
    看老外的程序通常都是在FC里直接编程,而国内的多是在FB里编程然后再在FC里调用。这两种
    方法各有什么优缺点呢?
    用FC能实现的任务,就没必要用FB。
    FCFB本质上一样
    调用FB相当于在FC里opndi,并使用ar2来索引变量
    FB的优点是数据块里的变量可按名字使用,仅仅是显示而已,执行效率和fc一样
    补充:
    实际上FC更加灵活,在fc里可以多次调用opndi访问多个背景块,ar2也可以做多种用途
    而fb里的ar2原则上是不能使用了,调用fb还要指定数据块,麻烦
    补充2:
    FB实际上是编程环境玩的一个魔法而已
    PLC的程序指令上实际是没有FB和FC的区别的
    朝阳市西门子代理商调用FB或者FC终都是转化为UC或CC的调用指令
    要观察编程环境的这个魔法,只需写一个带参子程序(FB或FC),并在另一个块里调用,全部
    后,再更改子程序的参数接口,该子程序
    (此时调用块的调用指令已无效),然后上载调用块
    1,一般用FB编写一些常用的控制程序,例如阀泵的控制等等,在接口得stat变量里面可以定义一些阀门得开度预设值(不通过输入,直接在HMI上面可以控制的),并且可以把现场的故障信号写入stat变量中,直接送到HMI上面。
    2,而FC一般就是调用这些FB,给一些输入输出即可。
    3,FC的所有输入输出必须赋值,而FB只要给出背景数据块即可。
    4,当然如果说我不需要什么过程的数值,那就FC好了,简单。
    如果大家对计算机编程有点了解的话,我觉得可以这样理解:
    1、FC象程序里的“函数”,直接调用,针对过程编程;
    2、FB则象是“类”,具有接口、属性以及方法,用于对“控制对象”编程,而FB的DB就象是一个具体的“控制对象”的实例。

朝阳市西门子代理商                                                                                   朝阳市西门子代理商

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

版权所有©2025 产品网