浔之漫智控技术(上海)有限公司
主营产品或服务:西门子PLC , 西门子变频器 , 西门子数控系统
西门子PLC全国经销商
观看西门子PLC全国经销商视频:

西门子系统PLC全国各地代理商



FB和FC差别

FB--应用,带环境db块  FC--作用,等同于函数公式

FB,FC块均等同于程序段,既能启用其他FB,FC块,还可以被OB,FB,FC块启用。


两人之间的关键区别在于:


1. FB应用环境db块做为存放区,FC并没有单独的存放区,应用全局性DB或M区

2. FB静态变量有STAT和TEMP,FC因为没有自己存放区因而不具备STAT,TEMP自身不可以设定初值。

实质上,FB,FC的实现目的是一样的;无论是哪种逻辑性规定,FB,FC都可完成。仅仅控制方式高效率不一样,这也与技术工程师本人程序编写习惯性相关。


FB块优势:


1. 便于可移植性,针对同样控制逻辑不一样参数控制对象,只需采用不同的环境DB,同一个FB块就可以轻松

2. 多种环境,降低重复性工作,提高工作效率

 数次启用时,主要参数改动便捷

4. 有独立的存放区


FC块优势:


1. 精巧灵便,对非数次调用的程序流程更加容易了解

2. 不占额外服务器资源


FB,FC块引脚界定

IN---------变量是外界输入,只有被本程序块读,不可以被本程序块写;

OUT-------是该程序块输出,他能够被本程序块读写能力,别的程序流程根据管脚只有读数写不出来;

IN_OUT--- 输出自变量 本程序块和其它程序流程都能够读写能力这一管脚数值。西门子系统PLC全国各地代理商

TEMP -----临时变量,说白了是临时存放数据的自变量。这种临时性的文件存储在CPU工作中存放区域部分数据信息局部变量(L局部变量)中。

STAT-------在PLC运作期内自始至终被存放。S7 将静态变量界定在环境db块(只对FB来讲,FC和OB无静态变量),在被启用块运行中,能读取或修改静态变量;被启用块完成后,静态变量保存在db块中。


 

为什么界定的FB,FC块,数次启用后程序流程错乱?


针对,数次调用的程序块,FB块提议拆换启用不一样背景DB;FC就需要保证所使用的存储地址不能重复,即每一次启用,块中调用的详细地址不能重复。



为什么带有计时器或计数的FB或FC一次启用ok,数次启用时计时器或电子计数器错乱?


针对数次调用的FB,FC,若为S7计时器,电子计数器,则可以在IN插口中界定TIMER或Counter,每启用一次FB或FC,均赋不同类型的计时器或电子计数器号。

若为IEC计时器,电子计数器,则可以在IN接口标准Block_DB,每启用一次FB或FC,均赋不同类型的DB块给这其中的IEC计时器或电子计数器。


临时变量造成的烦恼

临时变量能够在实施快OB、作用FC和应用FB中应用,当块实行时他们被用于临时存储数据信息,一旦块实行完毕,局部变量地址要被分配用以其他程序块应用,此详细地址上的数据不被清零,直至被程序块授予新值。西门子系统PLC全国各地代理商

必须遵照“先取值,再用”的基本原则。


因而,有比较常见的三种情况造成程序执行异常:


1. 某一块程序执行时断时续,在其中某一标值或几个标值有时候异常

    此难点在于,一定遵照“先取值,再用”。不然,TEMP的值在每一个扫描周期逐渐未有明确取值,此详细地址的值无疑是随机事件。

2. 好几个块应用TEMP,单用任意一个都正常,没法一起正常启动

    此难点在于,TEMP无法先取值,再用;程序块1的TEMP里的标值并没清零,反而是CPU运作模式启用此详细地址应用或者直接分给程序块2应用,造成这一TEMP详细地址并不以0,因而程序流程错乱。

因为内存运行体制并不是公布,因而,这一分派全过程看上去是随机事件。这可能造成,程序流程数次运行状况下正常的,运作一段时间后出问题。

只需遵照“先取值,再用”的基本原则,就能防止。

 TEMP难以实现锁紧   西门子系统PLC全国各地代理商

    此难点在于,TEMP标值不能像M点处Q点一样维持上一个周期标值;TEMP必须在每一个扫描周期有一个很明确的取值,即先取值(写),再用(读写能力)

解决方法,FB可以使用STAT静态变量;FC可以使用M区或全局性DB详细地址。


汇总,使用临时变量TEMP时:

1.不可以先用,再取值

2.不太适合锁紧电磁线圈

不太适合升高,下降沿


碰到以上具体情况,FC块可采取M区或全局性DB详细地址;FB块也可以采用本身环境DB的STAT静态变量


展开全文
商铺首页拨打电话发送询价