如何在UNITY PRO里实现一个模拟量值的累加 谢谢 点击:4323 | 回复:16



wenbaolv

    
  • 精华:0帖
  • 求助:19帖
  • 帖子:88帖 | 1461回
  • 年度积分:91
  • 历史总积分:4554
  • 注册:2011年7月10日
发表于:2012-06-28 16:40:30
楼主
如何在UNITY PRO里实现一个模拟量值的累加  谢谢


楼主最近还看过



yexiaomeng

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 181回
  • 年度积分:0
  • 历史总积分:731
  • 注册:2005年12月19日
发表于:2012-06-28 17:08:24
1楼

不知楼主是不是指类似与积分的意思?如果是的话,不才献丑了。

假如定义模拟量MW0,一般是16位表示模拟量足够了吧?定义积分MD2,要用32位的,16位定点小数,不然精度可能不够。

具体做法:

每隔控制周期里面:

1.MD2=MD2+MW0×系数;

2.判断MD2的上限,因为32位最高位是符号位,累计超过0x10000000就是溢出了,所以最大为0x7FFFFFFF,超过这个数就不能再累加了,也不能小于0,否则都是溢出。

不才浅见,楼主参考。

东山脚下-骑士军团

  • 精华:0帖
  • 求助:13帖
  • 帖子:28帖 | 1235回
  • 年度积分:0
  • 历史总积分:4415
  • 注册:2012年4月06日
发表于:2012-06-28 17:22:04
2楼
引用 yexiaomeng 的回复内容: 不知楼主是不是指类似与积分的意思?如果是的话,不才献丑了。假如定义模拟量MW0,一般是16位表示模拟量足够了吧?定义积分MD2,要用32位的,16位定点小数,不然精度可能不够。具体做法:每隔控制周期里面:1.MD2=MD2+MW0×系数;2.判断MD2的上限,因为32位最高位是符号位,累计超过0x10000000就是溢出了,所以最大为0x7FFFFFFF,超过这个数就不能再累加了,也不能小于0,否则都是溢出。不才浅见,楼主参考。

说的很好啊,积分其实就是一个累加的过程

wenbaolv

  • 精华:0帖
  • 求助:20帖
  • 帖子:110帖 | 1461回
  • 年度积分:91
  • 历史总积分:4554
  • 注册:2011年7月10日
发表于:2012-06-28 17:48:17
3楼
回复内容:
对:yexiaomeng关于不知楼主是不是指类似与积分的意思?如果是的话,不才献丑了。假如定义模拟量MW0,一般是16位表示模拟量足够了吧?定义积分MD2,要用32位的,16位定点小数,不然精度可能不够。具体做法:每隔控制周期里面:1.MD2=MD2+MW0×系数;2.判断MD2的上限,因为32位最高位是符号位,累计超过0x10000000就是溢出了,所以最大为0x7FFFFFFF,超过这个数就不能再累加了,也不能小于0,否则都是溢出。不才浅见,楼主参考。内容的回复:


我需要累加一个月的生产量  公式应该是SUM=SUM+每天的生产量   是一种代数的累加   不知上面的系数是代表什么意思???

caojie0723----王者之师

  • 精华:2帖
  • 求助:9帖
  • 帖子:45帖 | 2883回
  • 年度积分:0
  • 历史总积分:22503
  • 注册:2004年2月22日
发表于:2012-06-28 18:01:54
4楼
一个月的?大概有多少?会不会溢出?

yexiaomeng

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 181回
  • 年度积分:0
  • 历史总积分:731
  • 注册:2005年12月19日
发表于:2012-06-28 20:40:37
5楼
如果是累计产量的话,系数=1.

wenbaolv

  • 精华:0帖
  • 求助:20帖
  • 帖子:110帖 | 1461回
  • 年度积分:91
  • 历史总积分:4554
  • 注册:2011年7月10日
发表于:2012-06-29 09:19:56
6楼
回复内容:
对:yexiaomeng关于如果是累计产量的话,系数=1. 内容的回复:


是不是这样的???

wenbaolv

  • 精华:0帖
  • 求助:20帖
  • 帖子:110帖 | 1461回
  • 年度积分:91
  • 历史总积分:4554
  • 注册:2011年7月10日
发表于:2012-06-29 09:23:00
7楼
回复内容:
对:caojie0723----王者之师关于一个月的?大概有多少?会不会溢出? 内容的回复:


不会的  在程序里做线性缩放  

wenbaolv

  • 精华:0帖
  • 求助:20帖
  • 帖子:110帖 | 1461回
  • 年度积分:91
  • 历史总积分:4554
  • 注册:2011年7月10日
发表于:2012-06-29 09:24:57
8楼
回复内容:
对:caojie0723----王者之师关于一个月的?大概有多少?会不会溢出? 内容的回复:


不会的  在程序里做线性缩放  

我是懒人

  • 精华:0帖
  • 求助:3帖
  • 帖子:10帖 | 81回
  • 年度积分:0
  • 历史总积分:859
  • 注册:2004年5月12日
发表于:2012-06-29 10:04:44
9楼
编程时,要注意程序的执行周期,模拟量的单位,累积后的单位。不同值有不同的系数,还要考虑总的累加值和每个周期累加值的大小,如果差别太大,如总的达到百万了,而每个周期只有小数级,则后续就可能不累加了。

wenbaolv

  • 精华:0帖
  • 求助:20帖
  • 帖子:110帖 | 1461回
  • 年度积分:91
  • 历史总积分:4554
  • 注册:2011年7月10日
发表于:2012-06-29 10:38:00
10楼

回复内容:
对:我是懒人关于编程时,要注意程序的执行周期,模拟量的单位,累积后的单位。不同值有不同的系数,还要考虑总的累加值和每个周期累加值的大小,如果差别太大,如总的达到百万了,而每个周期只有小数级,则后续就可能不累加了。 内容的回复:

如上面的那个加法器模块 他应该是每个扫描周期都执行一次累加  这感觉有点问题   单位都是没多大问题 不知说的对不???

yexiaomeng

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 181回
  • 年度积分:0
  • 历史总积分:731
  • 注册:2005年12月19日
发表于:2012-06-29 22:22:50
11楼

回复内容:
对:wenbaolv关于回复内容:对:yexiaomeng关于如果是累计产量的话,系数=1. 内容的回复:是不是这样的??? 内容的回复:



1.楼主用的加法好像不是双字加吧?

2.加运算完了之后还要判断是不是溢出,就是超过0x7FFFFFFF,并且大于0,如果溢出来还要做溢出处理。

这样就完整了。

wenbaolv

  • 精华:0帖
  • 求助:20帖
  • 帖子:110帖 | 1461回
  • 年度积分:91
  • 历史总积分:4554
  • 注册:2011年7月10日
发表于:2012-06-30 16:32:32
12楼
回复内容:
对:yexiaomeng关于回复内容:对:wenbaolv关于回复内容:对:yexiaomeng关于如果是累计产量的话,系数=1. 内容的回复:是不是这样的??? 内容的回复:1.楼主用的加法好像不是双字加吧?2.加运算完了之后还要判断是不是溢出,就是超过0x7FFFFFFF,并且大于0,如果溢出来还要做溢出处理。这样就完整了。内容的回复:


实数的类型   是双字

wenbaolv

  • 精华:0帖
  • 求助:20帖
  • 帖子:110帖 | 1461回
  • 年度积分:91
  • 历史总积分:4554
  • 注册:2011年7月10日
发表于:2012-07-02 14:59:08
13楼
可有明白的大侠们?????????????????

sdws

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 29回
  • 年度积分:0
  • 历史总积分:155
  • 注册:2006年4月25日
发表于:2018-06-12 09:15:51
14楼

谢谢楼主提供。支持一下。。

句号另起一行

  • 精华:0帖
  • 求助:0帖
  • 帖子:12帖 | 68回
  • 年度积分:0
  • 历史总积分:293
  • 注册:2009年4月08日
发表于:2021-05-18 15:45:12
15楼

难道不需要用定时器事件么?这样会每个扫描周期都加啊?这个系数就不好定义了吧,毕竟扫描周期可能不是固定的


张崇勤

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 12回
  • 年度积分:0
  • 历史总积分:52
  • 注册:2021年6月03日
发表于:2021-06-03 08:19:40
16楼

完全看不懂表示!


热门招聘
相关主题

官方公众号

智造工程师