蹭一个热点,说一段功能(雨量计应用阀门控制的想法)
各位看官,请暂且当故事看着就好。
近期经济增长乏力,国家推行地下管网建设,取代房地产作为新的经济增长点,底下管网的雨污合流是一种形态。
污水处理站在建设初期会考虑处理能力,**吨/年,转换为日处理能力或小时处理能力。正常的处理能力在设计初期考虑一定城市发展规模,以及设计余量,但是当暴雨来袭,5倍或10倍的雨量的时候,原有的预留是不够用的。有人说,根据天气预报让人工提前开启阀门或预留蓄水池容积,事实上,当前的任何天气预报做不到对街道,对区的准确预报,而且是预报,不能转换为实际的雨量值,特别是根据预报开启,提前开启又没有下雨,造成污水外排对环境污染,也是一大痛点。
用雨量计与蓄水池液位计的组合(可组合任意条件满足,或同时满足),可以作为控制要点之一。雨量计的数值,既是瞬时量也是累积量,通过每一个量斗的翻转转换为雨量数据,我们执行每一个小时去清除累积量,就转换为天气预报的小时雨量,但是天气预报提到的小时雨量计仍然是一个宏观值,不能作为控制要点,我们需要记录每分钟的雨量。
划分一个存储区间120个,设定每分钟存储一次数据,即当前记录下来的数据为两个小时期间,每分钟的雨量值。以设立雨量计的点为圆心,方圆1公里的雨量汇集到该污水处理站的平均时间H分钟,称之为系统滞后时间,比如说30分钟,洪峰到达该站点是30分钟后,那么外排阀门的动作判定依据,应该是30分钟前的数据。又因为前面提到,处理站的能力可以换算到每小时的处理量,我们去累积前30分钟,60个数据(1个小时)的雨量累加,延续下去就是一个滑动累积量。
又或者我们记录的每分钟雨量,当前数据与上一个数据的差值,我们可以称之为率值,该率值去存储,和实际雨量值共同反映出来的就是,下雨下的越来越大,或者说越来越急。
上面的情况均可以作为阀门开启的动作条件。
我们梳理一下:
DATA:当前记录的雨量值
A:当前记录数据的地址,当前指针。
B:需要倒推回去累加的第一个数据,也就是30分钟前(管网的系统滞后时间,可设定),根据A的当前指针,去寻址的第一个指针,间隔B
C:需要统计的1个小时的雨量,也就是60个数据(可设定),作为FOR循环的次数
D:存储区间,当前为两个小时,也就是120个。B+C≤D。
E:累积的1个小时雨量总和。

(想着看文字累了,放个图片缓一缓,无甚意义)
需要注意的地方是,存储指针需要在最小地址与最大地址间循环,为最小向最大。取数指针为大地址向小地址,当取样指针计算的地址小于最小指针时,需要跳转到最大地址处继续向前统计完合计60个的值。
作为实际使用SMART的案例就没有分享的必要了,往后的编程借助AI,数组越来越方便,没必要去磕梯形图的间接寻址。从实际应用提炼出数学模型,再转换为实际解决问题,或者说,根据某个程序功能,去匹配应用场景,是可以跟大家唠唠嗑的,就当雨夜青梅煮酒时,翻书听曲邀英雄。