?技術干貨丨工業互聯網核心引擎原理與實現——動態配載(Dynaload)
【摘要】:
動態配載(Dynaload)就是MixIOT體系中一個計算模型。“配載”可以簡單理解為某項工作的動力配置。比如,一個紡織廠有200臺噴氣織機,它們需要用空壓機提供空氣動力,所以配備了10臺空氣壓縮機(它們的功率可能有大有小),這10臺空壓機全開的話就能為200臺噴氣織機提供足夠的壓縮空氣。
動態配載(Dynaload)就是MixIOT體系中一個計算模型。
“配載”可以簡單理解為某項工作的動力配置。比如,一個紡織廠有200臺噴氣織機,它們需要用空壓機提供空氣動力,所以配備了10臺空氣壓縮機(它們的功率可能有大有小),這10臺空壓機全開的話就能為200臺噴氣織機提供足夠的壓縮空氣。但是,實際的情況是,200臺織機有些在生產,有些沒在生產,有些雖然在生產,可是臨時停機換線或者檢修,有些用氣多,有些用氣少。簡單地說,它們未必都會同時都使用,而且使用情況隨時都在變化。那么,如果我們不管不顧,10臺空壓機全開,供氣肯定是足夠了,但是,供氣比用氣要多,這就白白浪費了電力。
“動態配載”就是根據實際的使用需求,動態地用最少的空壓機數量來滿足噴氣織機的生產需要。噴氣織機開得多用氣量大的時候,空壓機就多開一些,用氣量小的時候,空壓機就少開幾臺。
再來看個例子:一個酒店,有200間客房酒店
有一個燃氣鍋爐提供熱水。酒店客人來來往往,用水有時多有時少。如果我們不管有多少住店客人,也不管客人用不用熱水,都把鍋爐的火燒的旺旺的,那肯定能保證客人的用水需求,卻很浪費燃氣。動態配載的意思就是,用熱水多的時候,把火開大;用熱水少的時候,把火關小;沒人用水的時候,能保溫就行。
可見,如果我們有了動態配載這個概念,就能時時刻刻把能耗降低一些,雖然每個時刻降低的能耗看上去微不足道,但是,經年累月下來,也是一個可觀的數字。
為了便于后面的表述,我們把空壓機、鍋爐等提供能量的一端,叫“供應端”;把使用壓縮空氣的噴氣織機、酒店客人用的熱水等消耗能量的一端,叫“消費端”。
動態配載的五要素:
動態配載絕對是個好事兒,但也并不是什么情況都能用上動態配載的。從剛才的兩個例子(空壓機和鍋爐)來看,基本能歸納出來,能做到動態配載,需要有這么五個要素:
(1)供應端是受控的,可以開,可以關,或者可以調節大小。這比較容易理解,如果都不能開關,也不能調大調小,也就失去了動態配載的前提。
(2)供應端提供的能量,是可以測量,可以計算的。也就是供應端提供的能量多少,是可以量化的,比如每分鐘多少,瞬間多少。
(3)消費端的能量消耗,是可以測量的,可以計算的。這也應該容易理解,每分鐘內用了多少水,用了多少氣,都是可以計量的。
(4)供應端和消費端,中間有一個儲能裝置,儲能的量也是可以測量,或者可以計算的。這需要解釋一下,像空壓機里面出來的壓縮空氣,都是配有一個儲氣罐的,而熱水鍋爐本身,就有儲存熱水的功能。
(5)還有一個默認的前提假設,就是供應端所生產或供應的能量,與消費端所消耗的能量是一樣的,或是有確定的某種換算關系。這其實也很好理解。熱水鍋爐供應的就是熱水,酒店客人使用的也是熱水,但是有可能,鍋爐出來的水是65°C,客人用的時候可能只有60°C;壓縮機出來的是壓縮空氣,壓力是8kg/cm2,而噴氣織機用的也是壓縮空氣,但它實際的用氣壓力可能只有6.5kg/cm2。如果供應端到消費端是一個化學反應,是聚合或裂解的過程,使得能量形式發生了變化,那就不是動態配載能解決的范圍了。
動態配載模型:

動態配載模型示意圖
動態配載模型示意圖我們來解釋一下這些參數條件:
- 有n個供能端點(P1~Pn);可以理解為有n臺空壓機。
- 每個供能端點的加載/卸載對應的參數是Kp1~Kpn,它們的值=0/1(卸載/加載);這也相當于是空壓機的加載卸載。
- 每個供能端點都有一個供能的額定值是Wp1~Wpn;這相當于空壓機的工頻功率。
- 每供能端點的供能系數是Fp1~Fpn;對工頻空壓機來說,供能系數為1,對變頻空壓機來說,這個值為變頻頻率/工頻頻率。
- 每個供能端點的供能能力是Qp1~Qpn;這跟供能系數×額定供能值成正比。
- 總的供能是Qp=Qp1+Qp2+….+Qpn;這是一個原理等式,一般是用測量值;就是所有空壓機的產氣量的總和。
- 儲能端是有物理限制的,所以儲能的多少是有上限下限的,分別是Smax和Smin。這個就相當于空壓機儲氣罐規定的最大壓力值和最小壓力值。
- 實際儲能值為S;這是一個實時變化的實際儲能值。當這個值達到(或超過)儲能上限值時不會再增加;而低于儲能下限值時,視為消費端無法工作。
- 總消耗為Cp。這個是實時在變化的總消耗。
這個模型的大體意思是:
- 供應端的總供應能力,是由每個供應端設備的供應能力之和;
- 每個供應端設備的供應能力在卸載狀態為零,加載狀態下為功率系數×額定功率;
- 儲能量為原有儲能量+總供應能-總消費能。
- 這個模型的輸出結果是什么呢?
假設這個計算模型是5分鐘計算一次,那么結果大致是這樣的:
這跟D&C的輸出結果形式上是類似的。這是因為動態配載實際上就是依據消耗的變化,對供能的一種實時調度方法。
完備模型與簡化模型:
前面這個模型,我們稱作一個完備模型。所謂完備模型,就是這個模型中提到的參數,都是要具備的。而實際工業場景中,未必能滿足這個條件,很多參數可能會沒有,也許是沒有辦法采集,沒辦法測量,或者沒辦法計算出來。為了增加計算模型的適用范圍,通常會給出完備模型的一個簡化版,這就叫簡化模型。

動態配載簡化模型示意圖
在這個簡化模型中,供能端點的供能系數都沒有了,也就是說,只有這個端點的加載或者卸載可以控制。就像工頻機一樣,只能加載或者卸載,沒辦法讓供能量調大調小。除此以外,每個供能端點的供能量也沒有了,他們的總和自然也沒有了。
我們可以把它想象成一個壓縮空氣站,里面有很多壓縮機,大小各異。壓縮機的產氣出口都進入一個或者多個儲氣罐,最終匯集到一個供氣管路。我們只知道有儲氣罐,但是這些儲氣罐的數據無從得知。
簡化模型少了這么多的參數,那還能計算嗎?計算出來的還準嗎?簡化模型數據少是不是就比完備模型算起來簡單了呢?
這里可以順便解釋一下,簡化模型跟完備模型,應該算同一個計算模型,在實際的計算過程中,需要的參數都必須要有。簡化模型參數少了,就需要在計算的時候,先把這些少了的參數數據估算出來,然后再去用完備模型的算法去計算。所以,
簡化模型的計算,實際上要比完備模型更加復雜。
舉個例子來解釋一下。比如,怎么來估算供能端點的供能能力呢?就要用

來作為第i個供能端點的供能能力的比例,然后通過按順序卸載Pi,看看對供能有什么影響,這樣來估算這個影響的量與這個比例的對應關系。
這里面就有一個很重要的問題了,為什么我們能去卸載呢?不怕卸載了影響消費端的使用了嗎?這就要回到我們一開始說的五個要素中的“儲能”要素了。因為有儲能,所以,在一段時間內卸載一個端點,還能扛得住。
動態配載模型的使用:
要使用動態配載計算模型,首先要做的事情就是把這些參數對號入座。先舉一個簡單的例子(見圖29-5):有2個水泵,往一個儲水罐里面注水,儲水罐有最高水位容量和最低水位容量。儲水罐有個管子接到外面去給外面供水,供水量是變動的。
儲水罐有一個溢流口,意思是如果實際儲水量超過最高水位容量,再進來的水就會從溢流口排出去。如果實際儲水量低于最低水位容量,那么排水管就無水可出。
排水量是動態的,每分鐘的流量Q(t)如下,是變化很大的一條曲線。

儲水罐示意圖

排水量曲線
我們基本上可以看出來,一旦調控不及時,要么就沒水,要么就溢出。另外,兩個水泵的能力是不能調節的,開的時候就是這么多供水量,關掉就沒有了。這時,我們可以把供能系數當作常數1。額定供能小數就是1.5和2.5。
剛才這個排水量的曲線,是我們事后總結的,事前并不知道。這些變化都是實時的,有些甚至是隨機的。所以,動態配載模型里面的計算,實際上是包含了對需求的預測,這些分析計算也都是相當復雜的。

儲水罐與動態配載模型
請問:其他的你能正確對號入座嗎?
動態配載的應用形態:
動態配載實際上就是一個D&C的特例,專門用于解決供應端和消費端之間的供給—需求矛盾,尤其是對那些需求變動大,變動迅速甚至是隨機256的情況。越是功能端點數量多,越是需求量變化大,動態配載就越能凸顯其優勢。
在下圖中,動態配載可以理解成為一個黑盒子,暴露在外面的只有一個模型的參數,只需要把實際應用中的參據量與模型參數進行對號入座就行。剩下就是等待動態配載這個黑盒子輸出配載結果。

動態配載黑盒子
因為它是個黑盒子,所以這個盒子可以部署在任何一個地方,比如部署在MixIOT系統里面,成為MixIOT的一個服務組件,或者部署在邊緣計算終端。

動態配載部署在計算終端
應用實例:

隧道施工現場
隧道口外的工棚里面有10臺空壓機和儲氣罐。給隧道內開山鑿石提供動力。渠道內工作面已經推進了幾千米,里面怎么用氣外面是不知道的,也沒有任何通信信號。
在沒有動態配載的日子里,10臺空壓機空轉了不少時間,浪費了很多電。有了動態配載就好了,一個隧道一年半干下來,算算賬,省了不少電費。
隧道施工現場的動態配載,用一個邊緣計算終端小機柜(如來方略柜E800型)就可以解決。

