西门子PLC模块济宁代理商

供应商
浔之漫智控技术(上海)有限公司-西门子PLC
认证
品牌
西门子
西门子
PIC
西门子
长质保
联系电话
18717946324
手机号
18717946324
联系人
占雪芬
所在地
上海市松江区石湖荡镇塔汇路755弄29号1幢一层A区213室
更新时间
2024-05-20 08:00

详细介绍

西门子plc模块济宁代理商

本公司销售西门子自动化产品,全新原装,,价格优势

西门子plc,西门子触摸屏,西门子数控系统,西门子软启动,西门子以太网

西门子电机,西门子变频器,西门子直流调速器,西门子电线电缆

我公司大量现货供应,价格优势,品质保证,德国原装进口

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

    块.

    其实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就象是一个具体的“控制对象”的实例。

西门子s7-200plc具有脉冲输出功能,在运动控制系统中,伺服电机和步进电机是很重要的定位装置,而控制伺服电机和步进电机需要使用脉冲输出。s7-200系列plc可以输出20--100khz的脉冲。使用pto和pwm指令可以输出普通脉冲和脉宽调制输出。通过smb66-75,smb166-175来控制q0.0的输出,通过smb76-85,smb176-185来控制q0.1的脉冲输出。

西门子plc模块济宁代理商

西门子PLC代理商.西门子模块总代理.西门子PLC模块总代理56

展开全文

我们其他产品
我们的新闻
咨询 在线询价 拨打电话