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
    +关注

    关注

    5045

    文章

    14441

    浏览量

    483561
  • 编程
    +关注

    关注

    90

    文章

    3707

    浏览量

    96764

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

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

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    伺服伴侣,Profinet转DeviceNet网关通讯保障后连接伺服驱动器与西门子S7-1200PLC

    伺服伴侣,Profinet转 DeviceNet网关 通讯保障后****连接伺服驱动器与西门子S7-1200PLC 在工业自动化和控制系统中,DeviceNet转Profinet网关的应用场景非常
    的头像 发表于 11-18 10:23 212次阅读
    伺服伴侣,Profinet转DeviceNet网关通讯保障后连接伺服驱动器与西门子<b class='flag-5'>S7-1200PLC</b>

    西门子S7-1200 MODBUS RTU通讯温度控制器和变频器教程

    该触摸屏和S7-1200PLC进行以太网通讯,方便S7-1200的DB块在触摸屏做出对两个从站相关的设定,熟悉S7-1200的串行通讯功能。
    的头像 发表于 10-30 11:30 1822次阅读
    西门子<b class='flag-5'>S7-1200</b> MODBUS RTU通讯温度控制器和变频器教程

    西门子S7-200PLCS7-1200PLC以太网通讯及PPI集成实现工业机械控制

    RS485串口(9针接口)实现有限的通讯功能。随着工业4.0理念的深入推进,现代化生产线对设备互联、数据采集和远程监控的需求日益迫切,S7-200PLC的通讯局限性逐渐成为制约系统升级的瓶颈。 某重型机械厂在设备改造过程中便面临这一典型问题:该厂
    的头像 发表于 08-20 14:55 728次阅读
    西门子<b class='flag-5'>S7-200PLC</b>与<b class='flag-5'>S7-1200PLC</b>以太网通讯及PPI集成<b class='flag-5'>实现</b>工业机械控制

    基于Modbus TCP的WinCC监控S7-1200/200SMT应用实例

    S7-1200S7-200Smart PLC为例,在ModbusTCP/IP协议下实现无线以太网通信实现过程。在本方案中采用了西门子
    的头像 发表于 08-12 09:15 725次阅读
    基于Modbus TCP的WinCC监控<b class='flag-5'>S7-1200</b>/200SMT应用实例

    PLC以太网通讯模块实现:西门子S7-300与S7-1200、触摸屏及变频器通讯案例

      一、项目场景 某光伏组件厂层压机原采用S7-300 PLC(CPU315-2DP)控制温度、压力及传送流程,通过MPI接口连接西门子KTP700 Basic触摸屏。现需实现: 与工厂MES系统
    的头像 发表于 08-02 12:39 2268次阅读
    <b class='flag-5'>PLC</b>以太网通讯模块<b class='flag-5'>实现</b>:西门子<b class='flag-5'>S7</b>-300与<b class='flag-5'>S7-1200</b>、触摸屏及变频器通讯案例

    西门子S7-300PLC借助于MPI转以太网模块同时和S7-1200PLC、触摸屏以及ModbusRTU协议的变频器通讯案例

    在新能源储能系统集成场景中,某锂电池生产线采用西门子S7-300PLC作为本地控制器,通过MPI/DP接口连接西门子TP1200Comfort触摸屏实现本地操作。随着智能化升级需求,需将S7
    的头像 发表于 07-30 11:11 731次阅读
    西门子<b class='flag-5'>S7-300PLC</b>借助于MPI转以太网模块同时和<b class='flag-5'>S7-1200PLC</b>、触摸屏以及ModbusRTU协议的变频器通讯案例

    工业自动化通信难题破解:Modbus RTU转Profinet网关在涡街流量计与西门子S7-1200 PLC系统集成中的应用

    在工业自动化领域,实现不同协议设备间的无缝通信一直是技术难点。本文将深入探讨如何通过Modbus RTU转Profinet网关,将涡街液体流量计接入西门子S7-1200 PLC系统,构
    的头像 发表于 07-29 15:51 341次阅读
    工业自动化通信难题破解:Modbus RTU转Profinet网关在涡街<b class='flag-5'>流量</b>计与西门子<b class='flag-5'>S7-1200</b> <b class='flag-5'>PLC</b>系统集成中的应用

    Modbus RTU转Profinet网关接涡街液体流量计到西门子1200 PLC系统

    在工业自动化场景中,设备间的通信协议差异常常需要通过协议转换来解决。本文以Modbus RTU转Profinet网关为核心,探讨如何将涡街液体流量计接入西门子1200 PLC系统(S7-120
    的头像 发表于 07-26 11:16 519次阅读
    Modbus RTU转Profinet网关接涡街液体<b class='flag-5'>流量</b>计到西门子<b class='flag-5'>1200</b> <b class='flag-5'>PLC</b>系统

    西门子PLCS7-1200/1500/300/400)的数据采集与监控方案

    西门子PLC S7-1200S7-1500、S7-300/400型号设备,常用协议:PPI(Process Communication Interface)、
    的头像 发表于 07-04 10:13 967次阅读

    Brooks流量计通过HT1S-ECM-PNS与西门子1200PLC通讯

    本文主要介绍使用HI-TOP的EtherCAT主站网关HT1S-ECM-PNS采集多个BROOKS的EtherCAT流量计到西门子1200PLC进行数据交换。
    的头像 发表于 07-03 16:39 3449次阅读
    Brooks<b class='flag-5'>流量</b>计通过HT1<b class='flag-5'>S</b>-ECM-PNS与西门子<b class='flag-5'>1200PLC</b>通讯

    can转Profinet网关转换:S7-1200PLC与施耐德变频器间的通信实现

    相连的伺服电机的精准控制。此项目的监控中心系统选用西门子S7-1200PLC作为核心控制设备,该PLC具备支持PROFINET以太网协议进行通信的能力。而变频器则是由国外客户指定的施耐德变频器,其支持CAN协议通信,在CAN网络中作为从站设备
    的头像 发表于 06-08 10:14 1011次阅读
    can转Profinet网关转换:<b class='flag-5'>S7-1200PLC</b>与施耐德变频器间的通信<b class='flag-5'>实现</b>

    EtherCAT转ProfiNet西门子1200PLC与伺服电机通讯案例全解

    。 二.设备介绍 1. 西门子S7-1200PLC S7-1200 PLC采用紧凑型、模块化设计,组成部分包括电源模块、中央处理器、信号模块、功能模块、处理器通讯。具有多种安全功能,如每个
    的头像 发表于 03-21 09:42 1384次阅读
    EtherCAT转ProfiNet西门子<b class='flag-5'>1200PLC</b>与伺服电机通讯案例全解

    cubemx生成HAL库+FreeRTOS,当编写程序时却代码无法自动提示怎么解决?

    各位佬,请问一下,我用的是cubemx生成HAL库+FreeRTOS,编译时并没有错误,但当我编写程序时却代码无法自动提示(我设置好了),并且连uint8_t这种变量也不会变成蓝色,当我查看工程文件
    发表于 03-12 08:21

    如何选择适合的西门子S7-1200系列PLC型号?

    西门子S7-1200系列PLC作为中小型自动化控制器,在研发过程中充分考虑了系统、控制器、人机界面和软件的无缝整合和高效协调,是工业自动化领域中的重要组成部分。正确选择适合的S7-1200系列
    的头像 发表于 12-09 18:24 5774次阅读
    如何选择适合的西门子<b class='flag-5'>S7-1200</b>系列<b class='flag-5'>PLC</b>型号?

    基于 EtherCAT 转 ProfiNet 网关达成西门子 1200 PLC 与伺服电机通讯连接的应用实例

    1.西门子S7-1200PLC S7-1200 PLC采用紧凑型、模块化设计,组成部分包括电源模块、中央处理器、信号模块、功能模块、处理器通讯。具有多种安全功能,如每个CPU都提供密
    的头像 发表于 12-09 16:29 1915次阅读
    基于 EtherCAT 转 ProfiNet 网关达成西门子 <b class='flag-5'>1200</b> <b class='flag-5'>PLC</b> 与伺服电机通讯连接的应用实例