您现在所在的是:

PLC论坛

回帖:12个,阅读:2520 [上一页] [1] [2] [下一页]
1816
845352686
文章数:157
年度积分:50
历史总积分:1816
注册时间:2014/2/3
发站内信
发表于:2017/10/12 8:55:55
#0楼
我要实时读取一个符点数据,每秒更新一次。要用每秒把这个数据向右移动一位,移动十次求平均值。每秒移动一次,每秒求一次平均值。
 现在问题是汇川PLC不支持双字浮点数位移!如何才能实现我要的功能呢?
我知道!S7-200有双字位移,但是PLC都订了不想更换!
此帖发自手机工控论坛
8302
fujifa
文章数:2937
年度积分:235
历史总积分:8302
注册时间:2014/2/10
发站内信
2017论坛贡献奖
2016论坛贡献奖
2015论坛贡献奖
发表于:2017/10/12 9:45:22
#1楼
如果你仅仅需要实现200系列中的双字右移功能的话,你仅仅需要除以2就实现了,但是,这是整数的双字右移,200也没有浮点数的双字右移功能。

但是:浮点数的双字右移,你每次的精度差远了。

HAVE FUN!
1816
845352686
文章数:157
年度积分:50
历史总积分:1816
注册时间:2014/2/3
发站内信
发表于:2017/10/12 15:12:36
#2楼
以下是引用fujifa2017/10/12 9:45:22的发言:
如果你仅仅需要实现200系列中的双字右移功能的话,你仅仅需要除以2就实现了,但是,这是整数的双字右移,200也没有浮点数的双字右移功能。

但是:浮点数的双字右移,你每次的精度差远了。

HAVE FUN!
如何除以2能实现双字右移呢?你说的除以2是实时数据除以2吗?
我现在把符点数转成双整数,怎样实现右移?
此帖发自手机工控论坛
8302
fujifa
文章数:2937
年度积分:235
历史总积分:8302
注册时间:2014/2/10
发站内信
2017论坛贡献奖
2016论坛贡献奖
2015论坛贡献奖
发表于:2017/10/12 16:15:09
#3楼
以下是引用8453526862017/10/12 15:12:36的发言:
以下是引用fujifa2017/10/12 9:45:22的发言:
如果你仅仅需要实现200系列中的双字右移功能的话,你仅仅需要除以2就实现了,但是,这是整数的双字右移,200也没有浮点数的双字右移功能。

但是:浮点数的双字右移,你每次的精度差远了。

HAVE FUN!
如何除以2能实现双字右移呢?你说的除以2是实时数据除以2吗?
我现在把符点数转成双整数,怎样实现右移?

如果你不懂什么叫除以2,请翻阅小学数学教程。
17370
pan_xiansheng
文章数:2330
年度积分:1018
历史总积分:17370
注册时间:2011/11/18
发站内信
2018论坛解答高手
2015论坛贡献奖
发表于:2017/10/12 18:24:26
#4楼
楼主的贴子标题是左移,而内容是右移,左移动相当于乘2,而右移动相当于除2,有区别!
1816
845352686
文章数:157
年度积分:50
历史总积分:1816
注册时间:2014/2/3
发站内信
发表于:2017/10/12 19:02:46
#5楼
我可能没表达清楚!我说的意思是字的右移和左移,每次移一个字的位置!我想实现双字的右移和左移,每次移一个双字的位置!
每一秒依次左移或右移一个双字的位置,共十个位置!每秒平均一次!得一每秒更新一次的平均值!
此帖发自手机工控论坛
37237
cvlsam 版主
文章数:12401
年度积分:1589
历史总积分:37237
注册时间:2001/12/22
发站内信
2018论坛贡献奖
2017论坛贡献奖
2016论坛贡献奖
2015论坛贡献奖
2013论坛贡献奖
2012论坛贡献奖
2011论坛贡献奖
2011国庆活动
2010论坛杰出贡献奖
发表于:2017/10/12 19:37:24
#6楼
以下是引用8453526862017/10/12 19:02:46的发言:
我可能没表达清楚!我说的意思是字的右移和左移,每次移一个字的位置!我想实现双字的右移和左移,每次移一个双字的位置!
每一秒依次左移或右移一个双字的位置,共十个位置!每秒平均一次!得一每秒更新一次的平均值!

你累加10次采集值除以10不就好了,反正是浮点数,又不需要考虑溢出的问题。

Good Luck~
1816
845352686
文章数:157
年度积分:50
历史总积分:1816
注册时间:2014/2/3
发站内信
发表于:2017/10/12 20:03:34
#7楼
以下是引用cvlsam2017/10/12 19:37:24的发言:
以下是引用8453526862017/10/12 19:02:46的发言:
我可能没表达清楚!我说的意思是字的右移和左移,每次移一个字的位置!我想实现双字的右移和左移,每次移一个双字的位置!
每一秒依次左移或右移一个双字的位置,共十个位置!每秒平均一次!得一每秒更新一次的平均值!

你累加10次采集值除以10不就好了,反正是浮点数,又不需要考虑溢出的问题。

Good Luck~
这是读电表的实时功率做需量控制,打个比方如果要每秒累加一次要10个要十秒出一个平均值!
如果用右移指令每秒把数据右移一个字的位置,这样每秒都可以有10个数据可以求和做平均值!
如果要是一分钟60个数据做求和平均。前一种方式要一分钟才能得到一个平均值!而后一种在初始装满60个数据后,以后通过每秒右移一次先进后出!就可以每秒更新求得一个60个数据的平均值!
此帖发自手机工控论坛
37237
cvlsam 版主
文章数:12401
年度积分:1589
历史总积分:37237
注册时间:2001/12/22
发站内信
2018论坛贡献奖
2017论坛贡献奖
2016论坛贡献奖
2015论坛贡献奖
2013论坛贡献奖
2012论坛贡献奖
2011论坛贡献奖
2011国庆活动
2010论坛杰出贡献奖
发表于:2017/10/12 20:30:04
#8楼
以下是引用8453526862017/10/12 20:03:34的发言:
以下是引用cvlsam2017/10/12 19:37:24的发言:
以下是引用8453526862017/10/12 19:02:46的发言:
我可能没表达清楚!我说的意思是字的右移和左移,每次移一个字的位置!我想实现双字的右移和左移,每次移一个双字的位置!
每一秒依次左移或右移一个双字的位置,共十个位置!每秒平均一次!得一每秒更新一次的平均值!

你累加10次采集值除以10不就好了,反正是浮点数,又不需要考虑溢出的问题。

Good Luck~
这是读电表的实时功率做需量控制,打个比方如果要每秒累加一次要10个要十秒出一个平均值!
如果用右移指令每秒把数据右移一个字的位置,这样每秒都可以有10个数据可以求和做平均值!
如果要是一分钟60个数据做求和平均。前一种方式要一分钟才能得到一个平均值!而后一种在初始装满60个数据后,以后通过每秒右移一次先进后出!就可以每秒更新求得一个60个数据的平均值!

那你的描述不是要得到10个数的平均值,而是应该是A时间段到B时间段的采用平均值。

那需要移位干什么,间接寻址(或者称作变址)就可以了。

信捷的PLC抄三菱的,应该有变址的功能,且支持C语言,那么用数组的下标就可以了。

Good Luck~
1816
845352686
文章数:157
年度积分:50
历史总积分:1816
注册时间:2014/2/3
发站内信
发表于:2017/10/12 20:59:56
#9楼
以下是引用cvlsam2017/10/12 20:30:04的发言:
以下是引用8453526862017/10/12 20:03:34的发言:
以下是引用cvlsam2017/10/12 19:37:24的发言:
以下是引用8453526862017/10/12 19:02:46的发言:
我可能没表达清楚!我说的意思是字的右移和左移,每次移一个字的位置!我想实现双字的右移和左移,每次移一个双字的位置!
每一秒依次左移或右移一个双字的位置,共十个位置!每秒平均一次!得一每秒更新一次的平均值!

你累加10次采集值除以10不就好了,反正是浮点数,又不需要考虑溢出的问题。

Good Luck~
这是读电表的实时功率做需量控制,打个比方如果要每秒累加一次要10个要十秒出一个平均值!
如果用右移指令每秒把数据右移一个字的位置,这样每秒都可以有10个数据可以求和做平均值!
如果要是一分钟60个数据做求和平均。前一种方式要一分钟才能得到一个平均值!而后一种在初始装满60个数据后,以后通过每秒右移一次先进后出!就可以每秒更新求得一个60个数据的平均值!

那你的描述不是要得到10个数的平均值,而是应该是A时间段到B时间段的采用平均值。

那需要移位干什么,间接寻址(或者称作变址)就可以了。

信捷的PLC抄三菱的,应该有变址的功能,且支持C语言,那么用数组的下标就可以了。

Good Luck~
我说的采样平均值方式就是和下面滤波的例子是一个意思!就通过移动才能实现先进先出求平均值!


《递推平均滤波法(又称滑动平均滤波法)》
   A、方法:
       把连续取N个采样值看成一个队列
       队列的长度固定为N
       每次采样到一个新数据放入队尾,并扔掉原来队首的一次数据.(先进先出原则)
       把队列中的N个数据进行算术平均运算,就可获得新的滤波结果
此帖发自手机工控论坛

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2024 Gkong.com, All Rights Reserved

78.0005