0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

现场实例详细介绍FC功能和FB功能块的应用

1X4o_GKB1508 来源:工控帮 2019-12-05 14:13 次阅读

在STEP7的编程中,经常会用到FC功能和FB功能块来简化程序编制,减少程序空间占用。本文通过现场实例详细介绍了FC功能和FB功能块的应用

1.FC和FB的主要区别

FC和FB的主要区别是FB有背景块,能够保存上一次执行的数据,调用一次就需要建立一个DB块。FC没有背景块,多次调用可以共用一个DB块

FC 功能是没有存储能力的,给定入口的参数,执行完毕后,从输出参数读出结果。FC功能也就完成了。就像计算机高级编程语言中的子函数。当然,FC可以访问全局的存储变量,M区,数据块等等。但是影响程序的可移植性。FC的参数是没有实际的地址的,只是在调用FC的时候,对应到一个实际的地址来读取参数。而FB的参数都是有实际对应的地址的,也就是对应的背景数据块的地址。FB参数传递的是数据。FB可以生成静态变量,下次调用FB的时候,这些静态变量可以被保留。而FC的变量只在调用期内有效。FB与FC的区别在于入口参数,出口参数和使用静态变量。如果一个FB对入口参数,出口参数和使用静态变量都不需要,那么与使用没有入口参数和出口参数的FC基本一样了。FB可以和多个背景数据块配合使用,被用来控制多个对象。例如控制多个电机或者泵的运行。多个电机之间参数互不干扰。如果使用FC达成同样功能,就需要不断地修改共享数据块,以避免对象的数据丢失。FC没有一个永久的数据块来存储数据,只是在被调用的时候,被分配一个临时的数据区。

2.FC功能编程及调用实例:

2.1在STEP7中完成硬件组态以后,开始编制PLC程序,插入一个功能FC,如图所示。将FC设置成为一个模拟量数值超限报警程序,模拟量信号比较后输出报警值。

2.2在FC中创建接口,IN 变量是外部输入的,只能被本程序块读,不能被本程序块写,输入参数只能在功能和功能块中使用,以将数据传送到调用块进行处理。OUT 是本程序块输出的,他可以被本程序块读写,其他程序通过引脚只能读值不能写,通过它将结果传送到调用块IN_OUT 输入输出变量 本程序块和其他程序都可以读写这个引脚的值,输入/输出参数在功能和功能块中使用,以将数据传递到调用块中,在调用块中处理数据,然后再将从调用块中发送的结果存储在相同的变量中。

TEMP 临时变量是一种在块执行时,用来暂时存储数据的变量,这些数据存储在CPU工作存储区的局部数据堆栈(L堆栈)中。临时变量可以在组织快OB、功能FC和功能块FB中使用,当块执行时它们被用来临时存储数据,一旦块执行介绍,堆栈重新分配,临时变量中的数据将丢失。临时数据是块的逻辑块,并且在处理块时将其存储在本地的数据堆栈(L堆栈)。关闭块并完成处理后,临时数据就变得不再可访问。

2.3编制FC功能程序,实现模拟量数值对比输出报警信号

在其他功能中多次调用此功能程序,简化程序的编制,此程序的含义为IN_WORD_1与IN_WORD_2之间的差值大于8,延时3S中进行报警输出。

3.FB功能块编程与调用实例:

3.1创建一个FB功能块,数据接口定义与FC功能类似。

3.2编制一个速度调节功能块程序,如图所示

3.3创建DB32数据块,作为FB的背景数据块,在功能程序中调用FB功能块,数据块选择必须为FB的背景数据块,如图所示,这样就完成了FB的调用:

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • plc
    plc
    +关注

    关注

    5010

    文章

    13271

    浏览量

    463055
  • 编程
    +关注

    关注

    88

    文章

    3614

    浏览量

    93686
  • 编程语言
    +关注

    关注

    10

    文章

    1942

    浏览量

    34707

原文标题:实例详解FC与FB的编程及调用

文章出处:【微信号:GKB1508,微信公众号:工控帮】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    西门子流量累计FB介绍

    西门子流量累计FB(Function Block)是一种专门为处理和计算流量数据而设计的功能块,它通常在博途(TIA Portal)软件中被创建和使用。该功能块的意义在于将复杂的流量
    的头像 发表于 12-19 10:28 73次阅读
    西门子流量累计<b class='flag-5'>FB</b><b class='flag-5'>块</b><b class='flag-5'>介绍</b>

    TAS5731M EQ寄存器详细定义与配置工具FC(HZ) gain(db) .Q等的对应关系是怎样的?

    想咨询了解下TAS5731M EQ 寄存器详细定义与配置工具FC(HZ) gain(db) .Q等的对应关系,规格书中只有3.23数据格式的定义,没有详细的对应关系。比如 X2ACh1_BQ[1
    发表于 10-18 07:36

    西门子PLC中OB功能详解

    )是不可或缺的重要组成部分,它承担着PLC与外部设备通信、内部程序执行以及错误处理等多重任务。本文将对西门子PLC中OB功能进行详细的阐述,以期为读者提供全面而深入的了解。
    的头像 发表于 06-15 11:27 4590次阅读

    示波器分段存储功能介绍

    在电子测量领域,示波器作为一种重要的测试工具,广泛应用于信号分析、故障诊断等领域。随着技术的不断发展,示波器的功能也越来越强大。其中,分段存储功能作为示波器的一项重要功能,极大地提高了波形数据的存储和分析效率。本文将
    的头像 发表于 05-29 17:11 696次阅读

    示波器的种类和功能介绍

    示波器,作为电子测量领域的重要工具,其种类繁多,功能各异。从传统的模拟示波器到现代的数字示波器,每一种示波器都具备其独特的性能和适用场景。本文将详细介绍示波器的种类、工作原理、主要功能
    的头像 发表于 05-20 16:50 903次阅读

    西门子博途:“自动化创建器”功能

    在使用“从(含虽有相关联的)生成源”功能进行备份,重复上述恢复的动作,在观察程序的结果。
    的头像 发表于 04-30 12:57 2300次阅读
    西门子博途:“自动化<b class='flag-5'>块</b>创建器”<b class='flag-5'>功能</b>

    SOLIDWORKS特色功能介绍

    SOLIDWORKS是一款功能强大的三维CAD设计软件,广泛应用于机械设计、工程分析、产品数据管理和仿真等多个领域。该软件以其用户友好的界面、丰富的功能和性能,赢得了全球数百万工程师和设计人员的青睐。接下来,我们将详细
    的头像 发表于 04-11 15:05 921次阅读

    STEP7-5.5-F程序中FB修改后的变化

    STEP7-5.5-F程序中FB修改后的变化
    发表于 04-07 11:46 635次阅读
    STEP7-5.5-F程序中<b class='flag-5'>FB</b><b class='flag-5'>块</b>修改后的变化

    FILTER单元无法过滤出重复的故障及受影响的功能块

    电子发烧友网站提供《FILTER单元无法过滤出重复的故障及受影响的功能块.pdf》资料免费下载
    发表于 02-21 10:26 0次下载
    FILTER单元无法过滤出重复的故障及受影响的<b class='flag-5'>功能块</b>

    西门子博途:SCL中FB模块的结构

    模块FB是用于控制执行器和单元的功能模块或执行某一功能的其他FB。 VASS库中不可用的
    发表于 01-18 10:38 1423次阅读
    西门子博途:SCL中<b class='flag-5'>FB</b>模块的结构

    SCL中FB模块的结构

    模块FB是用于控制执行器和单元的功能模块或执行某一功能的其他FB
    的头像 发表于 01-17 09:22 718次阅读
    SCL中<b class='flag-5'>FB</b>模块的结构

    mip382电源各脚功能电压

    MIP382是一款常见的电源,由于其功能广泛且常用,下面将详尽介绍该电源的各脚功能电压,让大家了解其用途及应用场景。 MIP382电源
    的头像 发表于 12-28 15:28 4070次阅读

    西门子博途:创建实例数据

    有三种方法可以创建实例数据: 当第一次调用FB时,用户指定应该使用的FB实例DB。这将打开一个对话框,在该对话框中可以手动指定符号名称
    的头像 发表于 12-25 11:10 911次阅读
    西门子博途:创建<b class='flag-5'>实例</b>数据<b class='flag-5'>块</b>

    西门子博途:监控呼叫路径

    全局数据FBFC) 只有调用具有选定全局数据时,才会显示的程序状态。
    的头像 发表于 12-25 11:08 354次阅读
    西门子博途:监控呼叫路径

    西门子博途:调用FB实例化)

    功能块FC)相比,功能块FB)具有存储器。这意味着功能块被分配了一个本地数据,即所谓的
    的头像 发表于 12-25 11:04 3134次阅读
    西门子博途:调用<b class='flag-5'>FB</b>(<b class='flag-5'>实例</b>化)