已知瞬时流量,实现累计流量的计算。
1 | 通过瞬时流量计算流量,需要对瞬时流量进行定时采样并时行累加运算。 |
2 | 浮点数精确到小数点后第6位,输入浮点数时,最多只能指定6位小数。计算涉及到包含非常大和非常小的数值时,计算结果可能不准确。数果数值相差10的x次方(其中x>6),则会发生计算不准的情况,例如:100000000.0+1=100000000.0 因此累计流量需要使用双整形存储。 |
3 | 采样周期越短,计算精度越高,我们可以假定每10MS采样一次。 |
4 | 瞬时流量的单位是m³/h, 那么需要转换为m³/360000, 除以360000这样会造成瞬时流量的数值过小,累加过程会出现很大的误差,那么就需要将m³也转换为L(即m³乘以1000,即可转换为L) |
5 | 单位是L/10MS的临时累计流量增加到1000L(即m³)的时候,让临时累计流量-1000.0, 总的累计流量(单位是m³)+1, 也就是临时流量满1000L的时候,累计流量加1m³ |
主程序的编写
中断程序的编写