这样的编程问题,您碰到过吗? 点击:759 | 回复:17



weppzlb

    
  • 精华:0帖
  • 求助:2帖
  • 帖子:2帖 | 6回
  • 年度积分:0
  • 历史总积分:17
  • 注册:2013年10月17日
发表于:2013-10-17 15:56:31
楼主

现场电表实时传送耗电总量,如何实时计算出前一小时的耗电量?(Controllogix系统梯形图逻辑)




luoyongsheng123

  • 精华:0帖
  • 求助:1帖
  • 帖子:3帖 | 90回
  • 年度积分:0
  • 历史总积分:147
  • 注册:2013年5月07日
发表于:2013-10-17 17:25:34
1楼

两个时间节点读出来一减不就可以了,

gkhb1

  • 精华:0帖
  • 求助:3帖
  • 帖子:10帖 | 217回
  • 年度积分:0
  • 历史总积分:317
  • 注册:2013年2月28日
发表于:2013-10-17 18:22:05
2楼

引用 luoyongsheng123 的回复内容: 两个时间节点读出来一减不就可以了,



乖乖小笨熊

  • 精华:2帖
  • 求助:0帖
  • 帖子:1200帖 | 11283回
  • 年度积分:2326
  • 历史总积分:62523
  • 注册:2006年8月05日
发表于:2013-10-17 19:13:16
3楼

引用 luoyongsheng123 的回复内容: 两个时间节点读出来一减不就可以了,


就是数据运算而已

weppzlb

  • 精华:0帖
  • 求助:2帖
  • 帖子:2帖 | 6回
  • 年度积分:0
  • 历史总积分:17
  • 注册:2013年10月17日
发表于:2013-10-17 19:27:29
4楼

回复内容:

对: luoyongsheng123 两个时间节点读出来一减不就可以了, 内容的回复!


前一个小时的值如何读取呢?用什么指令啊,请大虾指教

weppzlb

  • 精华:0帖
  • 求助:2帖
  • 帖子:2帖 | 6回
  • 年度积分:0
  • 历史总积分:17
  • 注册:2013年10月17日
发表于:2013-10-17 19:28:11
5楼

回复内容:

对: gkhb1 引用 luoyongsheng123 的回复内容: 两... 内容的回复!


前一个小时的值如何读取呢?用什么指令啊,请大虾指教

weppzlb

  • 精华:0帖
  • 求助:2帖
  • 帖子:2帖 | 6回
  • 年度积分:0
  • 历史总积分:17
  • 注册:2013年10月17日
发表于:2013-10-17 19:28:56
6楼

回复内容:

对: 乖乖小笨熊 引用 luoyongsheng123 的回复内容: 两... 内容的回复!


感觉很简单,编程实现起来好像有点难度的!

menner

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 14回
  • 年度积分:0
  • 历史总积分:34
  • 注册:2009年1月27日
发表于:2013-10-17 20:00:37
7楼

做个数据块存一小时的数据

weppzlb

  • 精华:0帖
  • 求助:2帖
  • 帖子:2帖 | 6回
  • 年度积分:0
  • 历史总积分:17
  • 注册:2013年10月17日
发表于:2013-10-17 20:36:22
8楼

回复内容:

对: menner 做个数据块存一小时的数据 内容的回复!


堆栈吗?

wyb2866255---王者之师

  • 精华:57帖
  • 求助:0帖
  • 帖子:148帖 | 2872回
  • 年度积分:1
  • 历史总积分:31450
  • 注册:2010年7月01日
发表于:2013-10-17 20:52:19
9楼

选用一字存储器MW0作采集数据区,MW2为秒脉冲计数器,MW4为前一小时耗电量存数区。按下启动按钮,使MW0=0、MW2=0,且使M10.0=1,MW2开始秒计时,当计满3600秒,即1小时时,立即读取电表的实时传送耗电总量VW100,用VW100-MW0-->MW4,MW4即为前一小时的耗电量。同时将VW100-->MW0,将0-->MW2,为下一小时读取数据及求前一小时的耗电量做准备。具体程序见下梯形图:



weppzlb

  • 精华:0帖
  • 求助:2帖
  • 帖子:2帖 | 6回
  • 年度积分:0
  • 历史总积分:17
  • 注册:2013年10月17日
发表于:2013-10-17 21:25:58
10楼

回复内容:

对: wyb2866255---王者之师 选用一字存储器MW0作采集数据区,MW2为秒脉冲计数器... 内容的回复!


谢谢,这个算法一个小时才能得到一个结果,怎么能实时计算出上一个小时的耗电量呢?

chenl123a

  • 精华:0帖
  • 求助:1帖
  • 帖子:1帖 | 620回
  • 年度积分:0
  • 历史总积分:319
  • 注册:2010年1月09日
发表于:2013-10-18 03:38:30
11楼

王者之师楼主好牛B,好好好好好

wyb2866255---王者之师

  • 精华:57帖
  • 求助:0帖
  • 帖子:148帖 | 2872回
  • 年度积分:1
  • 历史总积分:31450
  • 注册:2010年7月01日
发表于:2013-10-18 15:36:12
12楼

下面程序是时时读取前一小时的耗电量:



嘿 嘿

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 6回
  • 年度积分:0
  • 历史总积分:65
  • 注册:2007年10月03日
发表于:2013-10-22 16:53:16
13楼

赞同“wyb2866255---王者之师”这位同仁的思路!

不过我想补充一点,就是既然想到了:寄存“上一小时”的值,为什么不把这个寄存值改为“上一秒”呢!

这样程序的优越性不是更好吗!

wyb2866255---王者之师

  • 精华:57帖
  • 求助:0帖
  • 帖子:148帖 | 2872回
  • 年度积分:1
  • 历史总积分:31450
  • 注册:2010年7月01日
发表于:2013-10-22 18:04:50
14楼

回13楼:因为楼主要求的是“如何实时计算出前一小时的耗电量”而且还要时时计量前一小时的耗电量。

  如将“这个寄存值改为“上一秒”的,则计算出的就不是前一小时的耗电量,而是前一秒的耗电量。

工控老张

  • 精华:1帖
  • 求助:0帖
  • 帖子:4帖 | 11回
  • 年度积分:0
  • 历史总积分:18
  • 注册:2003年3月21日
发表于:2014-04-15 13:57:23
15楼

用堆栈做,每秒记录当前电量值并进栈,当栈满则自动弹出最早的一条记录,然后用第3600条记录减第1条的记录,即是此前1小时的耗电量。这是用1秒时基的。

weppzlb

  • 精华:0帖
  • 求助:2帖
  • 帖子:2帖 | 6回
  • 年度积分:0
  • 历史总积分:17
  • 注册:2013年10月17日
发表于:2014-06-04 15:45:59
16楼

回复内容:

对: 工控老张 用堆栈做,每秒记录当前电量值并进栈,当栈满则自动弹出最... 内容的回复!


谢谢!最后是这样做的,用的FFL 及FFU指令!

function888

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 732回
  • 年度积分:0
  • 历史总积分:102
  • 注册:2007年12月01日
发表于:2015-02-19 13:18:59
17楼

这个不错,谢谢分享了。。。


热门招聘
相关主题

官方公众号

智造工程师