技術干貨丨MixIOT智慧工業核心引擎 —— 邊緣計算
關于邊緣計算的話題滿處都有,好像現在大家都認為,不跟邊緣計算沾點邊,就不算高科技。智物聯在邊緣計算方面做了一些嘗試,比如前面介紹過的動態配載,動態配載可以部署在如來方略柜的Apieco上,這就是邊緣計算的形式。
邊緣計算的準確定義我們就不去糾結了,但其核心的意思,就是把計算放到對象盡可能近的地方,不是放在云端或者遠端。先說一下MixIOT的邊緣計算是怎么回事,首先要分清楚兩個要點:
第一,邊緣計算是針對某個特定對象、圍繞一個特定目標或特定要求的計算;
第二,這個計算對這個特定對象來說,是一個外部的計算。
怎么理解邊緣計算是外部的計算?首先得弄明白什么是內部計算。比如,一臺燃氣熱水鍋爐負責給整個酒店提供熱水,鍋爐有自己的控制器。控制器負責采集鍋爐傳感器的數據,對鍋爐燃燒室的溫度、壓力、進水、儲水、出水、水溫、壓力、引風機頻率、風量、燃氣蝶閥開度多少等形成一個閉環的控制。司爐工只需要在鍋爐控制器上設定好鍋爐的工作參數,例如水位要到多高、水溫要燒到多少度等,控制器就根據這個設定的參數來計算什么時候需要進水,爐溫要燒到多少度,燃氣閥門要開到多大等。
請注意,在上述過程中,控制器是通過司爐工在控制器上的設定值來計算出其他的數據,所以,鍋爐控制器做的事情就是完成一個自身閉環的控制,這個計算就是內部的計算。它有自己的邏輯,控制器就照這個邏輯來計算就行了。控制器的計算,是不會去管司爐工為什么會這樣設定水位爐溫,以及這樣設定對不對這些問題的。
但是,酒店供應熱水的實際情況是很復雜的,入住了多少客人、入住率多少、每個房間住了幾個人、這些人什么時候用熱水、是洗臉還是洗澡、是泡澡還是淋浴、是洗三分鐘還是洗半小時、每個客人洗澡的時候是用多少度的熱水等,這些問題別說司爐工了,就是酒店經理也沒法全都知道。
那么,到底應該把水位和水溫設定到多少,才能既保證任何時候任何情況下客人都有足夠的熱水用,又能最大程度地節省燃氣呢?假如能通過計算得到答案的話,那么這些計算又該由誰來承擔呢?很顯然,鍋爐自己不可能進行這些計算,至少目前是不可能的。這個計算,需要在鍋爐之外進行,但是又不能離開鍋爐太遠,這就是所謂的邊緣計算了。
邊緣計算結果:
還是接著上面的例子來說。我們用一個Apieco來作為邊緣計算的載體,如圖-1所示。
圖-1 Apieco對接鍋爐控制器
Apieco對接鍋爐控制器,從控制器采集鍋爐的運行參數和控制器的設定參數。我們先不去管怎么計算,來看看計算的結果是什么。計算的結果,其實就是一個讓鍋爐控制器調整的方案,如圖-2所示。這里說的調整,是調整兩個東西:一個是控制器的設定值,一個是控制器的運行參數值。
圖-2 鍋爐控制器調整的方案
也就是說,邊緣計算的結果,就是告訴鍋爐控制器說,我(邊緣計算)重新算了一下,有個更好的方法來調節參數,你(鍋爐控制器)按這個來調整。
這就是邊緣計算的結果了。邊緣計算的目的,就是把計算結果變成一個反向控制指令,讓對象執行這個指令。現在你應該明白了,為什么計算要在“邊緣”了吧,因為計算的結果需要馬上要用起來。
與邊緣計算結果相關的反向控制范圍,我們在前面的章節里也做過介紹,邊緣計算最終落腳到反向控制,而這個控制仍然是干涉型的,并不會改變對象自身原來的控制邏輯。
邊緣如何計算:
在剛才這個例子里面,邊緣計算是這樣做的:
1、把對象當前的設定弄清楚,如水位,水溫等;
2、把對象當前的運行參數弄清楚,如風機頻率、閥門開度等;
3、把計算依據弄清楚;
4、把計算目標弄清楚,最節省燃氣;
5、把約束條件弄清楚,保證任何時候任何情況都有足夠的熱水;
6、把輸出結果弄清楚,水位、水溫、閥門開度、風機頻率等。
剩下的,就是需要確定兩個很重要的東西:計算周期和計算結果輸出周期。
計算周期和計算結果輸出周期,這兩個可以是一回事,也可以不是一回事。所謂計算周期,比如30分鐘,并不是指30分鐘計算一次,而是計算的時候,只用到最近30分鐘的數據,像兩個小時前的那些數據就不去管了;計算結果輸出周期,比如5分鐘,就是說,不管用多久以來的數據,不管怎么算,每5分鐘輸出一次計算結果。
邊緣計算載體:
上面說的邊緣計算是個外部計算,那就一定需要一個能計算的載體,Apieco就是這樣的一個載體。邊緣計算載體的形式沒有什么硬性規定,只要有算力,能跟對象交互就可以。
那么,我們重新來定義邊緣計算的話,就可以這樣說:一個對象,使用與之相連的計算載體,來實現圍繞某個特定目標的外部計算。
邊緣計算的MixIOT支持:
邊緣計算本身是一個獨立的東西,就是在邊緣計算載體上的一個或一組計算程序,這個載體放在這個對象旁邊,這樣方便跟這個對象的數據交互。我們只需要記住四句話:
● 所有的數據都來自對象;
● 所有計算的依據就是這些數據;
● 所有的計算都在載體里面完成;
● 所有的計算結果都反饋給對象。
這差不多就是邊緣計算應用的全貌了。
一個邊緣計算項目的難度,其實就是它計算的難度。而一個邊緣計算的客觀限制,就是這個計算載體算力和算法的限制、數據來源的限制。智物聯MixIOT體系下的邊緣計算,是可以提供MixIOT支持的,這里說的支持,是數據的支持,或者是承擔一部分計算結果。
我們回到前面那個燃氣熱水鍋爐的例子。假如這個城市里面有100家酒店的燃氣熱水鍋爐都用了MixIOT物聯網,那么每個鍋爐的數據就都在MixIOT里面。
如果說,邊緣計算自己可以算出下面的數據(見圖-3):
圖-3 邊緣計算得到的數據
那么,如果邊緣計算有MixIOT支持,它就可以得到這些數據(見圖-4)
圖-4 有MixIOT支持后得到的數據
所以,MixIOT的邊緣計算,完全是可以利用好MixIOT這個大資源的。
邊緣計算與控制:
前面說了,邊緣計算的目的是為了給對象控制器反饋計算結果。那么,當結果到了對象的控制器,控制器是否要接受這個結果呢?在之前我們介紹過“干涉型”控制這個概念。邊緣計算的結果到底是不是非要對象控制器接受照辦,這就需要具體應用具體分析了。
簡單地說,如果別人相信你,那就會聽你的。所以,這其中關鍵,還是邊緣計算是否靠譜。邊緣計算是個新東西,需要我們大家一起不斷地努力。隨著邊緣計算能解決更多的實際問題,計算也逐步成熟,那就一定會有很好的前途。

