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

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

3天内不再提示

如何在S7-1200PLC编写程序时实现流量累积?

PLC技术圈 来源:PLC技术圈 作者:PLC技术圈 2021-03-05 18:18 次阅读

在使用s7-1200PLC编写程序的时候,如果项目上需要用到流量累积功能,但是本款PLC并没有自带流量累积功能块。这时,就需要我们组态工程师自己编写一个具有流量累积功能程序,或者将该程序封装为FB块或者FC块。本文以封装FB块为例。

第一步:在程序块目录下单击添加新块,弹出添加新块对话框,选中FB函数块,在名称栏填上需要命名的名字,如:Totalizer,选择编程需要用的编程语言,本文以SCL语言讲解,FB块的编号可以通过手动或自动生成,然后单击确认,如下图所示

第二步:打开新建功能块,并建立临时变量,如下图所示

第三步:程序编写,如下图所示:

程序编写完成后,进行编译,编译没有错误时,在FC(FC2,FLOWACCUM)中调用该FB块,最后在OB30中断块中调用该FB块。

第四步:在FC中调用名字为“Totalizer”的FB块,并对输入输出参数赋值,如下图所示

再在OB30中调用功能块,OB30中断块是循环中断块,循环时间为100ms,如下图所示

双击循环中断OB30中断块,在中断块中调用FC2(FLOWACCUM)功能块,如下图所示

程序解读:

变量定义:

变量名:Reset,数据类型:Bool,作用:累积清零

变量名:Accum,数据类型:Real,作用:存储累积值

变量名:Total,数据类型:Real,作用:存放累计值

变量名:Intervall,数据类型:TIME,作用:流量单位中的时间,如m3/h,则:变量为1h=3600s,变量单位:秒

变量名:Intervall_DInt,数据类型:Dint,作用:存储Intervall转换为Dint数据类型后的值

变量名:Intervall_Real,数据类型:Real,作用:存储Intervall_DInt转换为Real数据类型后的值

变量名:Cycle,数据类型:TIME,作用:存储程序循环时间,单位:秒

变量名:Cycle_DInt,数据类型:Dint,作用:存储Cycle转换为Dint数据类型后的值

变量名:Cycle_Real,数据类型:Real,作用:存储Cycle_DInt转换为Real数据类型后的值

程序代码

IF #Reset = true THEN //条件为真时

#Accum := 0.000000e000; //累积清零

#Total := 0.000000e000; //累积清零

ELSE

#Intervall_DInt := TIME_TO_DINT(#Intervall);//将时间型变量Intervall转换为双整型数据,并存在变量中

#Intervall_Real := DINT_TO_REAL(#Intervall_DInt);//将双整型数据转换为实型数据,并存在变量中

#Cycle_DInt := TIME_TO_DINT(#Cycle);//将时间型变量Cycle转换为双整型数据,并存在变量中,本例为0.1s

#Cycle_Real := DINT_TO_REAL(#Cycle_DInt);//将双整型数据转换为实型数据,并存在变量中

#Accum := ((#Value * #Cycle_Real) / #Intervall_Real) + #Accum;//累积计算

#Total := #Accum; //Kopiere Ergebnis nach #Total / Copy result to #Total.//累计值传递

END_IF;

原文标题:如何在S7-1200PLC上实现流量累加算法讲解

文章出处:【微信公众号:PLC技术圈】欢迎添加关注!文章转载请注明出处。

责任编辑:haq

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

    关注

    4971

    文章

    12200

    浏览量

    454462
  • 编程
    +关注

    关注

    88

    文章

    3438

    浏览量

    92302

原文标题:如何在S7-1200PLC上实现流量累加算法讲解

文章出处:【微信号:xue_PLC,微信公众号:PLC技术圈】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    plc西门子s7-1200基础知识:plcplc之间如何通讯

    S7-1200编程软件是Siemens TIA Portal,可以用于编写程序并对PLC进行配置和调试。此外,还有一些辅助软件和工具可用于帮助用户诊断故障和管理数据。
    的头像 发表于 01-10 10:43 885次阅读

    介绍S7-1200PLC和V20变频器的Modbus通讯详细步骤

    .找一台带有RS485通讯模块的S7-1200PLC和一台V20变频器。
    的头像 发表于 01-03 18:24 1030次阅读
    介绍<b class='flag-5'>S7-1200PLC</b>和V20变频器的Modbus通讯详细步骤

    labview编写程序的一般步骤

    LabVIEW是一种非常强大的图形化编程工具,它可用于控制、测量、测试和监控应用。编写LabVIEW程序的一般步骤包括以下几个方面: 程序需求分析:在开始编写程序之前,首先需要明确
    的头像 发表于 12-29 10:06 561次阅读

    codeblocks怎么编写程序

    ::Blocks编写程序的过程,以使您对其操作有更深入的了解。 首先,我们需要下载并安装Code::Blocks。您可以在官方网站https://www.codeblocks.org/上找到适用于您的操作系统的安装程序。安装过程相对简单,只需按照向导指示完成即可。 一旦安
    的头像 发表于 11-26 10:28 537次阅读

    怎样在codeblocks上编写程序

    何在CodeBlocks上编写程序,并提供一些有用的技巧和建议。 要在CodeBlocks上编写程序,首先需要下载和安装它。你可以从官方网站(http://www.codeblocks.org/)上找到适合你操作系统的安装包,
    的头像 发表于 11-26 09:26 577次阅读

    虚拟机linux怎么编写程序

    在虚拟机Linux上编写程序是一项非常常见且有用的任务。无论是开发一个简单的脚本、一个Web应用程序还是一个复杂的软件项目,Linux提供了强大的工具和环境来帮助你进行编程。本文将详细介绍如何在
    的头像 发表于 11-17 10:08 566次阅读

    S7-1200PLC通过高速计数器测量AB相编码器转速

    S7-1200PLC通过高速计数器测量AB相编码器转速
    发表于 09-20 15:30 0次下载

    西门子S7-1200PLC移动操作指令:读取域和写入域指令

    S7-1200PLC中,可以通过该指令对一个数组中的任意元素的值进行读取或是写入操作;该指令位于“移动指令”,“原有”文件夹下面的FieldRead和FieldWriteFieldWrite;
    的头像 发表于 07-12 14:11 1175次阅读
    西门子<b class='flag-5'>S7-1200PLC</b>移动操作指令:读取域和写入域指令

    KUKA工业机器人与S7-1200PLC实现Profinet通讯的步骤

    本次内容来简单谈一谈KUKA工业机器人与S7-1200PLC实现Profinet通讯的步骤。
    的头像 发表于 07-05 10:10 4509次阅读
    KUKA工业机器人与<b class='flag-5'>S7-1200PLC</b><b class='flag-5'>实现</b>Profinet通讯的步骤

    使用 RX65N 云套件开始编辑和编写程序

    使用 RX65N 云套件开始编辑和编写程序
    发表于 07-04 18:53 0次下载
    使用 RX65N 云套件开始编辑和<b class='flag-5'>编写程序</b>

    740族C编写程序包V.1.01用户手册

    740族C编写程序包V.1.01用户手册
    发表于 06-26 20:24 0次下载
    740族C<b class='flag-5'>编写程序</b>包V.1.01用户手册

    初学PLC为什么要学1200?资深PLC工程师从手册入手教你学1200PLC#硬声创作季

    plcPLC基础S7-1200PLC
    或许
    发布于 :2023年06月05日 14:24:40

    PLC编写程序编写的是什么?

    对于PLC程序编写,一个好的plc程序一般都具有程序的具有正确性、可靠性、方便性、简洁性和可读
    的头像 发表于 05-10 17:38 1326次阅读
    <b class='flag-5'>PLC</b><b class='flag-5'>编写程序</b><b class='flag-5'>编写</b>的是什么?

    740族C编写程序包V.1.01用户手册

    740族C编写程序包V.1.01用户手册
    发表于 05-06 18:38 0次下载
    740族C<b class='flag-5'>编写程序</b>包V.1.01用户手册

    关于stm32编写程序的头文件合集

    关于stm编写程序的合集
    发表于 04-23 09:39 1次下载