故事作者:木子李Π

最近创作

看看TA的故事

【软件编程】流量累计程序

已锁定

木子李Π

  • 帖子

    78
  • 精华

    2
  • 被关注

    19

论坛等级:侠客

注册时间:2020-05-28

黄金 黄金 如何晋级?

【软件编程】流量累计程序

6096

6

2020-12-29 14:14:00

    经常看到有人发帖找计算流量啊,电量啊等等的案例,公司十月份新购一台设备,为了计算消耗气量,现在做一个气体用量监控。

   采用现有的一台300,利用中断计算流量,大致思路是这样的,plc接受实时流量,所以使用100ms的中断累加该流量。为了尽可能准确我选了100ms,扫描周期越短数值越准,当然1s也可以。

例如:流量计瞬时值为8立方/小时,将此值除以36000就得到100ms的流量,每100ms累加得到的值就是累积量。这个方法就跟上学时求圆的面积一个道理,将圆无线分割得到长方形,分的越细数值越精确。但是这里我们考虑到plc负荷选择100ms以上。

流量计就是个传感器,使用模拟量输入的方式接线,我采用两线制4~20mA的流量计,因为两线接线简单

接下来说程序,次程序包含OB1,OB35,FB1,FC105,DB1.


OB 35是设置100ms中断扫描,FB1是功能块,FC105是模拟量数据处理。将电流值转换为流量值。


DB1为背景数据块,存放FB1信息。

首先将OB35改为需要的中断时间块,100ms就是0.1s。


OB35为主程序。调用FB1,以DB1作为背景数据库。

其中FLOW 1N为流量计接入plc中的模拟量通道。hi为流量计上限3000,low为流量计下线0. Division是分辨率,对于100ms就是36000.也就是m3/100ms. Clear是流量计清零,触发M0.0可以清零。输出从FLOW rt是转换完从流量数值。FLOW Accu为累积量,可以通过clear清零。

打开FB1.如图

一二行为模拟量数据处理,将电流值转换为流量值;

第三行将流量值输出到外部;

第四行将分辨率改为实数;

第五行将流量值除以分辨率;

第六行将数值相加,得到最终累计流量;

第七行通过外部数据清零。

整体程序就是这样,可以将设备启动一次耗费的气量计算监控,然后进行清零。当然我这种办法算是比较笨的办法,计算结果也会有一定的误差,不过对于监控精度要求不高的项目还能用,累计流量的方法肯定有很多种,中断计数只是其中一种,也可以采用脉冲数计算。

总结:
用plc做流量计算。首先的看你用什么计流量,如果是脉冲信号,因为PLC本身有运行周期,如果控制要求较高的场台,通过脉冲来计算出瞬时流量,计算出来实际上是不准的,而且控制上滞后比较严重。TI430单片机之类具有硬件脉冲捕捉功能的单片机,在通过脉冲计算流量上,有得天独厚的优势。这个可以参考一些基本的测速概念。 脉冲用来计算累积量很准。
   如果流量计本身反馈的是4~-20ma的速度模拟信号,这个就直接采集,然后在0B35里边用积分模块进行流量累计。这个较准确,但中断模块调用积分,也会有误差,不如脉冲计量准。






【软件编程】流量累计程序 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

网友专栏

共有3364条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。