• <noscript id="s46oo"></noscript>
  • <table id="s46oo"></table><table id="s46oo"><source id="s46oo"></source></table>
  • <td id="s46oo"></td><td id="s46oo"><kbd id="s46oo"></kbd></td>
  • 智物聯,引領工業物聯

    我們始終以技術創新創造價值,并夜以繼日的將互聯和工業智能的力量融入到各行各業
    以前所未見的高度、速度、精度和深度,讓關鍵所在 逐一實現。

    咨詢服務

    工業互聯網核心引擎原理與實現——調度與控制(D&C)


    【摘要】: D&C(調度和控制)實際上是兩個東西,一個是調度,一個是控制。所謂調度,就是根據數據去計算,得出一個最佳的調度方案;控制就是把方案轉換成對對象(設備)的參數量化的調整指令,再利用MixIOT的反向控制機制,把這些控制指令下發下去。
    D&C(Dispatch&Control),即調度與控制,是MixIOT體系中非常重要的組件,也是應用起來最復雜、解釋起來最麻煩的一個組件。
     
    D&C(調度和控制)實際上是兩個東西,一個是調度,一個是控制。所謂調度,就是根據數據去計算,得出一個最佳的調度方案;控制就是把方案轉換成對對象(設備)的參數量化的調整指令,再利用MixIOT的反向控制機制,把這些控制指令下發下去。
     
    我們需要舉兩個例子來說明D&C。先看第一個例子。
     
    ▲化工廠的工業過程示意圖
     
    假設這是一個化工廠的工藝過程,物料從管道,經過1#機泵進入一個反應釜,再從這個反應釜里面出來,經過2#機泵進入到第二個反應釜。完成反應后,從第二個反應釜出來,由3#機泵把這些經過反應的物料拿走。
     
    這上面有紅點標注的地方,都是一些相關的傳感器和參數,什么物料的溫度、黏度、含水量、流量、壓力,反應釜的溫度、壓力、液位高度,還有就是機泵的參數,電機的轉速、頻率、功率、電流、電壓等,以及最終出來的產品的化學成分、溫度等。
     
    面對這么一個場景,我們可以利用MixIOT做如下事情
    ●監控機泵,1#,2#,3#;
    ●監控反應釜A,B;
    ●監控整個工藝過程物料狀態,溫度、含水量、粘度、組分;
    ●監控每一段輸送管道的溫度、壓力;
    ●計算每臺機泵的偏態估計值和增量估計值;
    ●計算兩個反應釜的偏態估計值和增量估計值;
    ●對整個工藝裝置進行在線診斷;
    ●計算兩個反應釜的運行平衡;
    ●計算反應釜A-B的運行匹配;
    ……
     
    這些都是MixIOT里面的內容,后面我們將陸續介紹。假設我們把這些事情都做得很完美了,該計算的也計算了,結果也出來了,但我們發現,A-B兩個反應釜之間的匹配情況不是很好,要么就進料多了,要么就進料少了,這樣就導致化學反應的不充分,進而影響產品質量。
     
    無論我們如何計算處理,最后能調整的就是三個機泵的啟停(開關)和三個機泵的頻率。這個頻率就是讓這個機泵轉得快還是轉得慢,頻率越高,機泵在單位時間內泵出來的物料就越多。
     
    我們怎么用D&C來做這件事呢?
     
    (1)創建D&C項目,做一些基本的配置,類似名稱描述等;
    (2)在這個D&C項目中,設置每10min為一個計算周期;
    (3)每10min D&C都會輸出一個調度方案,相應的結果就在D&C結果數據庫里面,是這個樣子的:
    ….
     
    10:10調度方案K1=1,K2=1,K3=1,F1=48,F2=45,F3=50
     
    10:15調度方案K1=1,K2=1,K3=1,F1=50,F2=42,F3=43
     
    10:20調度方案K1=1,K2=0,K3=1,F1=48,F2=0,F3=50
     
    10:25調度方案K1=1,K2=1,K3=1,F1=48,F2=50,F3=47
     
    10:30調度方案K1=0,K2=1,K3=1,F1=0,F2=45,F3=44
     
    ….
     
    (4)把調度方案變成反向控制,發給適配器,讓適配器把這些指令發給設備的控制器。這是一個MixIOT D&C用在“流程工業”中調度的例子,當然我們忽略了中間的計算環節。
     
    ▲長圖汽車站的候車廳示意圖
     
    這是一個長途汽車站的候車大廳,人進人出。1-4#是發車口,對應前往4個不同目的地的車次,走不同的路線,票價和發車時間也不一樣;A、B兩個口是到達旅客的入口,車輛到達的時間也不同。假設在4個發車口排隊的旅客人數、2個到達口的到達車輛和到達旅客人數以及進出大廳的人數都有實時的數據記錄。同時,大廳所能容納的人數有一個上限。車站里的車輛的總數是確定的,每一輛車能承載的旅客數量也有一個上限,這些車輛可以被安排去任何一個發車口,去相應的目的地。
     
    那么,我們需要怎么去安排車輛發車調度,才能保證最大運力和最佳經濟效益,而且不讓候車室內人滿為患,還要讓旅客等候的時間最短呢?
     
    假設我們使用D&C,通過已知的數據來做各種計算,按每15 min為一個計算周期,最后輸出的結果是這樣的:(E代表發車出口,=1為發車)
    ….
     
    10:00調度方案E1=0,E2=0,E3=0,E4=1
     
    10:15調度方案E1=0,E2=0,E3=0,E4=0
     
    10:30調度方案E1=0,E2=1,E3=0,E4=0
     
    10:45調度方案E1=0,E2=0,E3=1,E4=0
     
    11:00調度方案E1=1,E2=0,E3=0,E4=0
     
    ….
     
    這個結果就是一個調度,把這個結果通知到車輛駕駛員和發車口的檢票員,就是控制。
     
    在前面兩個例子中,一個是“連續”的,一個是“離散”的。如果我們用MixIOT D&C來進行它們的調度,首先就是要給某些設立一個“目標”,圍繞這個目標,周期性給出調度方案,讓當前的狀態不斷接近(或達到)這個目標,并把狀態穩定在最接近這個目標。這個其實就是D&C要做的事情,或者說這是D&C的定義。
     
    D&C的周期性輸出一定是一個調度方案。換句話說,調度方案是D&C的一個計算結果。那么,要能使用D&C來進行計算,就需要有各種數據為基礎。一般來說,數據越豐富、越精確,調度方案的質量就會越好。
     
     
    D&C的管理
     
    D&C在MixIOT中的組織方式是D&C工程(也叫D&C項目),是在MixIOT Admin里面來管理的。這是一個標準的MixIOT命題管理方式。
     
    一個D&C系統中,可以有多個D&C工程,每個工程都是相互獨立,各自運行,互不影響。一個D&C工程里面,涉及兩個內容,分別是“單元”和“流程”。
     
    ▲D&C項目管理界面圖
     
    所謂單元,就是我們定義好的“對象”(這個我們始終都不能忘記,MixIOT的基本單位就是對象),一個對象或者多個對象;而“流程”是數據在“單元”之間的流動順序和過程,如圖下圖所示。
     
    ▲流動順序和過程示意圖
     
    在前面這個例子里面,假設我們定義了5個對象,分別是三個機泵和兩個反應釜。而我們把1#機泵和A反應釜作為單元1;2#機泵和B反應釜作為單元2;3#機泵作為單元3。那么,這個項目中,就需要在列表中把這三個單元都列出來。
     
    ▲化工廠工藝調度界面圖
     
    我們這樣定義了單元之后,就可以看到,物料的流動變成了一個線性的過程,單元1—>單元2—>單元3,便于我們計算。
     
    我們在定義單元的時候,往往是根據實際的情況來確定。像這個例子中的定義,意思就是說,單元1是進行“一次反應”,進來這個單元之前的,一定是“一次反應”之前的,從這個單元里面出來的,一定是“一次反應”完成之后的。單元2也是一樣。那么,單元3呢?進去之前還不是最終結果產品,而出來之后就是最終產品。單元也一樣需要編寫模板腳本和數據處理腳本,就不在這里具體說了。
     
    D&C除了前面介紹的單元和流程,還有三個東西,分別是引擎、模型和模型庫。
     
    ▲D&C單元的工藝流程
     
    D&C需要計算,計算需要相關對象的數據。而這些數據,就是通過D&C引擎,從MixIOT系統中把數據拿到D&C系統里面來的。
     
    MixIOT提供了標準方式的引擎和接口方式的引擎。在實際使用中,我們也可以自己去編寫自己的引擎,部署到MixIOT系統中去并直接使用。但是,無論我們怎么選擇引擎,還是需要寫一段腳本,這是出于跟引擎對接的需要。就好像我們造汽車一樣,發動機我們可以用別人的,但是我們總需要按照發動機的要求,去對接油路電路、傳動變速箱位置等等。腳本就是這個作用。
    ▲D&C引擎腳本
     
    MixIOT體系還提供了一些調度計算的模型供用戶選擇使用,并且會不斷完善。而模型庫,就是存放這些模型的地方。如果模型庫里面沒有滿足我們需要的模型,我們也可以自己設計模型,放到模型庫中。
     
    ▲D&C模型庫中的工藝平衡模型示例
     
     
    干涉型控制
     
    D&C的主要目的,是針對某個目標拿出一個控制(調整)策略,然后把這個策略轉換成一個控制指令。
     
    D&C對設備控制器而言,就是一股“外部勢力”,我們把它叫作“干涉型”的控制。也就是說,D&C不提供調度控制策略的時候,工業系統該還是維持原來的控制邏輯,該干什么還是干什么;D&C只管輸出調度方案和對應的控制指令,而最終是否采納控制指令,還是由設備控制器自己決定。
     
    那么,如果設備控制器對D&C的控制指令熟視無睹,不予理會,又會怎么樣呢?這就又要回到這個D&C策略最后會落腳到什么樣的控制。
     
    對于設備控制器而言,反向控制很顯然就是一個“外部勢力”,控制器自己干得好好的,現在來了一個反向控制指令,會不會干擾到設備控制器自己的運行呢?答案是不會的。因為反向控制的范圍僅僅是“控制參數調節”,而沒有辦法去改變“控制邏輯”。
    圖片名稱
    圖片名稱
    青山沙希