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

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

3天内不再提示

西门子流量累计FB块介绍

工控论坛 来源:工控论坛 2024-12-19 10:28 次阅读

西门子流量累计FB块(Function Block)是一种专门为处理和计算流量数据而设计的功能块,它通常在博途(TIA Portal)软件中被创建和使用。该功能块的意义在于将复杂的流量累计逻辑封装成一个易于使用的模块,从而简化了编程工作,提高了代码的可读性和维护性。

一、意义
  1. 简化编程:通过使用预先编写好的FB块,工程师可以快速地实现流量累计功能,而无需从头编写代码。

  2. 提高效率:由于FB块是针对特定任务优化过的,因此它们往往比手动编写的代码更加高效。

  3. 增强稳定性:经过测试的功能块通常更加稳定可靠,能够减少程序错误的可能性。

  4. 促进标准化:使用标准的功能块有助于在不同项目之间保持一致性的编程风格和技术规范。

二、主要应用场合

  1. 工业自动化:在化工、制药、食品饮料等行业的生产过程中,对液体或气体的流量进行精确测量和累计是非常重要的。例如,在配料系统中确保每种成分按照正确的比例加入。

  2. 能源管理:对于水、电、气等资源的消耗监控,利用流量累计FB块可以帮助企业更好地管理和优化其能源使用。

  3. 环境监测:在废水处理厂或其他需要排放控制的地方,准确记录进出水量对于遵守环保法规至关重要。

  4. 设备维护:基于流量数据的长期趋势分析可以预测设备的状态变化,提前安排预防性维护活动,降低故障风险。

  5. 质量控制:在制造过程中,通过对原材料或者产品的流量进行严格控制,以保证产品质量的一致性。

综上所述,西门子流量累计FB块因其简便性和高效性,在多个领域有着广泛的应用价值,特别是在那些要求高精度流量测量和数据分析的场合。

三、FB块封装

25f9fc38-bc80-11ef-8732-92fbcf53809c.png

260c831c-bc80-11ef-8732-92fbcf53809c.png

IF #run = TRUE THEN #relay := 1; END_IF;

IF #run = FALSE THEN #relay := 0; #initial := 0; END_IF;

#flow_VAL_1 := #flow_VAL / 36000; IF #initial = 1 AND #relay = 1 THEN FOR #i := 1 TO #Filter_Length BY 1 DO #FLOW_DATA[#i] := #flow_VAL_1; END_FOR; END_IF; IF #initial = 0 AND #relay = 1 THEN FOR #i := 1 TO #Array_length BY 1 DO #FLOW_DATA[#i] := #flow_VAL_1; END_FOR; #initial := 1; END_IF; #FLOW_DATA_MAX := 0; FOR #i := 1 TO #Array_length BY 1 DO IF #FLOW_DATA_MAX < #FLOW_DATA[#i] THEN                          #FLOW_DATA_MAX := #FLOW_DATA[#i];                      END_IF;              END_FOR;          #FLOW_DATA_MIN := #FLOW_DATA_MAX;             FOR #i := 1 TO #Array_length BY 1 DO                  IF #FLOW_DATA_MIN > #FLOW_DATA[#i] THEN #FLOW_DATA_MIN := #FLOW_DATA[#i]; END_IF; END_FOR; #FLOW_DATA_SUM := 0; FOR #i := 1 TO #Array_length BY 1 DO #FLOW_DATA_SUM := #FLOW_DATA[#i] + #FLOW_DATA_SUM; END_FOR; #FLOW_DATA_Average := (#FLOW_DATA_SUM - #FLOW_DATA_MIN - #FLOW_DATA_MAX) / (#Array_length - 2); FOR #i := 1 TO (#Array_length - #Filter_Length) BY 1 DO #FLOW_DATA_1[#i] := #FLOW_DATA[#i]; END_FOR; FOR #i := 1 TO (#Array_length - #Filter_Length) BY 1 DO #FLOW_DATA[#i + #Filter_Length] := #FLOW_DATA_1[#i]; END_FOR; IF #Array_length >= 10 THEN IF #Filter_strength > 3 THEN #Filter_strength := 3; END_IF; #Filter_Length := (#Array_length / 10) * 2 * #Filter_strength; END_IF; IF #Array_length < 10 THEN                  IF #Filter_strength > 2 THEN #Filter_strength := 2; END_IF; #Filter_Length := 2 * #Filter_strength; END_IF; #IEC_Timer_0_Instance(IN := NOT #IEC_Timer_0_Instance.Q, PT := #Cycle_ms); IF #IEC_Timer_0_Instance.Q THEN #time_data := TIME_TO_DINT(#Cycle_ms); #Cycle_Real := DINT_TO_REAL(#time_data); #Accum := (#Last_Value + #flow_VAL_1) * #Cycle_Real / 2 + #Accum; #flow_out_put := #Accum; #Last_Value := #flow_VAL_1; END_IF; IF #Reset THEN #Last_Value := 0.000000E000; #Accum := 0.000000E000; #flow_out_put := 0.000000E000; END_IF;


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

    关注

    7

    文章

    2694

    浏览量

    47426
  • 西门子
    +关注

    关注

    94

    文章

    3034

    浏览量

    115767
  • 流量
    +关注

    关注

    0

    文章

    245

    浏览量

    23890

原文标题:西门子流量累计FB块

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

收藏 人收藏

    评论

    相关推荐

    西门子PLC编程中FB和FC的区别

    西门子PLC编程时,可以用到功能FB和功能FC(FB、FC都是组织)资料上说FB与FC都可
    发表于 06-20 10:54 1.6w次阅读

    西门子变频器如何选型_西门子变频器选型注意哪些

    本文开始介绍西门子变频器的概念,其次阐述了西门子变频器的参数设置,最后介绍西门子变频器的选型方法以及选型注意事项。
    的头像 发表于 04-02 09:10 2w次阅读

    西门子是哪个国家的品牌_西门子发明了什么

    本文开始介绍西门子是哪个国家的品牌以及西门子的发展历史,其次介绍西门子的发明成果,最后对西门子
    的头像 发表于 04-04 08:45 5.3w次阅读

    博世和西门子哪个好_博世和西门子的关系

    本文开始阐述了博世和西门子的关系以及分析了西门子和博世哪个更好,其次分析了西门子和博世的冰箱哪个更好,最后介绍了博世和西门子家电集团在中国的
    的头像 发表于 04-04 09:30 15.9w次阅读

    一文带你了解PLC中FB和FC的区别

    本文首先介绍了PLC的FB和FC是什么意思及它们的优缺点,其次介绍了PLC中FB和FC的区别,最后用西
    发表于 04-18 18:32 3.7w次阅读

    西门子PLC的结构和编辑的教程详细说明

    本文档的主要内容详细介绍的是西门子PLC的结构和编辑的教程详细说明
    发表于 03-19 14:52 21次下载
    <b class='flag-5'>西门子</b>PLC的<b class='flag-5'>块</b>结构和<b class='flag-5'>块</b>编辑的教程详细说明

    如何用一个FB在使用西门子1200PLC时候实现堆栈功能

    1.在使用西门子1200PLC时候需要堆栈功能,实现数据的先进先出后进后出功能,于是自己用SCL语言开发了一个FB来实现该功能。 2.该具有入栈,出栈,清空堆栈,显示当前堆栈总数,
    的头像 发表于 09-22 17:31 9381次阅读
    如何用一个<b class='flag-5'>FB</b><b class='flag-5'>块</b>在使用<b class='flag-5'>西门子</b>1200PLC时候实现堆栈功能

    西门子PLC的功能和功能

    本文档的主要内容详细介绍的是西门子PLC的功能和功能
    发表于 11-09 17:49 64次下载
    <b class='flag-5'>西门子</b>PLC的功能和功能<b class='flag-5'>块</b>

    西门子PLC FB41中PID功能说明和调整方法

    西门子PLC FB41中PID功能说明和调整方法说明。
    发表于 04-22 11:48 13次下载

    西门子TDC编程语言CFC功能详细说明中文版

    西门子TDC编程语言CFC功能的详细介绍说明。
    发表于 04-30 14:15 0次下载

    西门子SCL语言编程系列-写立方根FB

    由于西门子PLC本身并没有带求立方根的指令,我们用SCL来写一个求立方根的FB
    的头像 发表于 02-06 15:17 1923次阅读
    <b class='flag-5'>西门子</b>SCL语言编程系列-写立方根<b class='flag-5'>FB</b><b class='flag-5'>块</b>

    PLC编程中OB、FCFB、DB的使用原则

    西门子新加中包含组织(OB)、函数FB)、函数(FC)、数据(DB)
    发表于 05-24 15:01 1.5w次阅读
    PLC编程中OB<b class='flag-5'>块</b>、FC<b class='flag-5'>块</b>、<b class='flag-5'>FB</b><b class='flag-5'>块</b>、DB<b class='flag-5'>块</b>的使用原则

    西门子漏波系统的介绍

    西门子漏波系统的介绍
    发表于 06-14 16:34 1次下载

    西门子操作面板产品介绍

    西门子操作面板产品介绍 
    发表于 09-20 15:31 0次下载

    西门子PLC中OB的功能详解

    西门子PLC(Programmable Logic Controller)作为工业自动化领域的核心设备,其内部功能强大、应用广泛。在西门子PLC中,OB(Organization Block,组织
    的头像 发表于 06-15 11:27 4552次阅读