• <blockquote id="fficu"><optgroup id="fficu"></optgroup></blockquote>

    <table id="fficu"></table>

    <sup id="fficu"></sup>
    <output id="fficu"></output>
    1. ACS880-07C
      關(guān)注中國自動(dòng)化產(chǎn)業(yè)發(fā)展的先行者!
      橫河電機-23年10月11日
      2024
      工業(yè)智能邊緣計算2024年會(huì )
      2024中國自動(dòng)化產(chǎn)業(yè)年會(huì )
      2023年工業(yè)安全大會(huì )
      OICT公益講堂
      當前位置:首頁(yè) >> 資訊 >> 行業(yè)資訊

      資訊頻道

      基于微服務(wù)與容器化的工業(yè)邊緣計算應用設計
      • 作者:上海交通大學(xué) 戴文斌
      • 點(diǎn)擊數:7161     發(fā)布時(shí)間:2021-03-13 10:05:00
      • 分享到:
      實(shí)現工業(yè)互聯(lián)網(wǎng)價(jià)值離不開(kāi)邊緣計算的支撐,而工業(yè)現場(chǎng)設備種類(lèi)繁多, 領(lǐng)域特性又大相徑庭,目前工業(yè)邊緣計算應用雖然已有一定數量,但通用性較差。工業(yè)邊緣計算是OT與IT融合的典型應用場(chǎng)景,工業(yè)邊緣APP需要同時(shí)支撐邏輯運動(dòng)控制、監控人機界面等OT應用與視覺(jué)檢測、數據采集分析、預測性維護、生產(chǎn)管理等IT應用。通過(guò)IEC 61499標準與微服務(wù)、容器化技術(shù)融合,工業(yè)邊緣應用可以實(shí)現多種編程語(yǔ)言混合設計,通過(guò)軟硬件解耦靈活部署到任意邊緣節點(diǎn), 從而實(shí)現工業(yè)互聯(lián)網(wǎng)從數據到模型再到控制的完整閉環(huán),真正為制造業(yè)賦能。
      關(guān)鍵詞:

      摘要:實(shí)現工業(yè)互聯(lián)網(wǎng)價(jià)值離不開(kāi)邊緣計算的支撐,而工業(yè)現場(chǎng)設備種類(lèi)繁多, 領(lǐng)域特性又大相徑庭,目前工業(yè)邊緣計算應用雖然已有一定數量,但通用性較差。工業(yè)邊緣計算是OT與IT融合的典型應用場(chǎng)景,工業(yè)邊緣APP需要同時(shí)支撐邏輯運動(dòng)控制、監控人機界面等OT應用與視覺(jué)檢測、數據采集分析、預測性維護、生產(chǎn)管理等IT應用。通過(guò)IEC 61499標準與微服務(wù)、容器化技術(shù)融合,工業(yè)邊緣應用可以實(shí)現多種編程語(yǔ)言混合設計,通過(guò)軟硬件解耦靈活部署到任意邊緣節點(diǎn), 從而實(shí)現工業(yè)互聯(lián)網(wǎng)從數據到模型再到控制的完整閉環(huán),真正為制造業(yè)賦能。  

      關(guān)鍵詞:邊緣計算;工業(yè)邊緣APP;微服務(wù);容器化;IEC 61499

      1 引言

      在過(guò)去幾年中,工業(yè)互聯(lián)網(wǎng)平臺如雨后春筍般涌現,無(wú)論是通用性平臺還是面向垂直領(lǐng)域的專(zhuān)業(yè)功能性平臺目前都有千余家在運營(yíng),已初具規模。工業(yè)互聯(lián)網(wǎng)平臺需要大量邊緣設備接入,采集海量過(guò)程數據并進(jìn)行處理分析來(lái)實(shí)現對生產(chǎn)過(guò)程的優(yōu)化。更重要的是優(yōu)化模型也需要以工業(yè)邊緣App的形式重新部署到邊緣設備上,使得工業(yè)互聯(lián)網(wǎng)平臺真正實(shí)現賦能企業(yè)。

      工業(yè)邊緣計算應用(工業(yè)邊緣App)種類(lèi)繁多, 除了包含傳統的實(shí)時(shí)控制、運動(dòng)控制、現場(chǎng)總線(xiàn)通訊、人機界面等功能外,還融合了數據采集與處理、機器視覺(jué)、生產(chǎn)管理、運營(yíng)維護等創(chuàng )新性應用。無(wú)論是側重于OT或是IT的工業(yè)邊緣App,面向異構平臺都需要多種OT與IT語(yǔ)言混合設計。顯然傳統基于桌面應用的工業(yè)軟件開(kāi)發(fā)方式無(wú)法滿(mǎn)足工業(yè)邊緣計算應用輕量、靈活與協(xié)作的特性。

      歐盟早在2017年就對此問(wèn)題展開(kāi)研究,例如圖1中列舉的Horizon 2020的DAEDALUS項目的架構[1],為支撐信息物理系統設備間協(xié)作,圍繞IEC 61499標準[2],使用面向對象的模塊化設計方法對現場(chǎng)中各種設備進(jìn)行封裝,通過(guò)基于IEC 61499的集成開(kāi)發(fā)環(huán)境與自動(dòng)化App 應用商店提升應用與算法的復用性,建立以自動(dòng)化開(kāi)發(fā)者、設備與零件供應商以及系統集成商為核心的生態(tài)圈。此外,由幾十家廠(chǎng)商所組成的開(kāi)放過(guò)程自動(dòng)化聯(lián)盟(OPAF)[3]同樣以開(kāi)放標準來(lái)整合MES、DCS、HMI、 PLC以及I/O功能,基于模塊化設計實(shí)現過(guò)程控制系統的開(kāi)放性以及互操作性。

      1.png

      圖1 歐盟Horizon 2020 DAEDALUS項目架構[1]

      工業(yè)互聯(lián)網(wǎng)平臺要發(fā)揮賦能作用,除了數據上云之外,更重要的是提供通用的編程語(yǔ)言與設計工具,協(xié)助現場(chǎng)工程師高效地將Know-How轉變成工業(yè)邊緣App,  無(wú)需具備專(zhuān)業(yè)知識的全棧工程師也能快速地開(kāi)發(fā)、部署與調試工業(yè)邊緣App,從而真正實(shí)現工業(yè)互聯(lián)網(wǎng)價(jià)值落地,填補工業(yè)互聯(lián)網(wǎng)關(guān)鍵核心技術(shù)空心化的問(wèn)題。

      2 基于微服務(wù)的工業(yè)邊緣應用設計

      近年來(lái), IT系統軟件設計范式已經(jīng)逐漸從面向對象編程(OOP)向面向服務(wù)架構(SOA)進(jìn)化。面 向服務(wù)架構的軟件設計方法對模塊接口的統一定義來(lái)實(shí)現軟件模塊的松散耦合,使得由不同編程語(yǔ)言、操作系統與硬件平臺實(shí)現的應用模塊通過(guò)統一編排來(lái)完成特定功能,從而提升軟件復用性。SOA解決了不同系統之間應用數據交互的難題。與SOA類(lèi)似,微服務(wù)(Microservice)同樣由松散耦合的可復用軟件模塊組成。不同的是,SOA更加適合開(kāi)發(fā)大型企業(yè)級應用, 而微服務(wù)更多滿(mǎn)足針對某個(gè)特定領(lǐng)域的定制化需求,并具有更新簡(jiǎn)單、擴展容易等特點(diǎn)。工業(yè)邊緣計算系統涉及領(lǐng)域眾多、通常由異構設備組成等特性完全符合微服務(wù)的適用范圍,因此,微服務(wù)是工業(yè)邊緣App設計范式的完美選擇。

      隨著(zhù)工業(yè)邊緣設備計算與儲存能力的不斷提升,工業(yè)邊緣計算節點(diǎn)除了能涵蓋原ISA-95架構中的感知層、控制層以及監控層的應用,還能支撐視覺(jué)檢測、機器人與AGV控制、數據采集處理、生產(chǎn)管理等新型工業(yè)邊緣應用。如圖2所示,一個(gè)工業(yè)邊緣App可以分為三個(gè)類(lèi)型:獨立工業(yè)邊緣App、分布式工業(yè)邊緣App以及邊- 云協(xié)同工業(yè)App。獨立工業(yè)邊緣App通常適用于單一功能應用(例如數據采集)或者包含實(shí)時(shí)控制、人機界面以及數據采集的小型系統,此類(lèi)工業(yè)邊緣App通常只需一個(gè)節點(diǎn)即可完成所有任務(wù);分布式工業(yè)邊緣App通常需要多個(gè)節點(diǎn)協(xié)同來(lái)實(shí)現復雜任務(wù),例如大型物流系統或者復雜生產(chǎn)系統;邊-云協(xié)同工業(yè)App則是針對類(lèi)似于大數據處理或者深度學(xué)習等無(wú)法完全依靠邊緣計算解決的新型混合系統,需要利用云平臺的計算與儲存能力來(lái)協(xié)助實(shí)現生產(chǎn)過(guò)程中的優(yōu)化。

      2.png

      圖2 工業(yè)邊緣App分類(lèi)

      工業(yè)邊緣App通常是由多個(gè)功能組合而成,如一個(gè)PCB質(zhì)量檢測的產(chǎn)線(xiàn)牽涉到實(shí)時(shí)控制、運動(dòng)控制、機器視覺(jué)、數據采集、模型訓練、人機界面等多項功能, 而每項功能則可能由不同的編程語(yǔ)言所開(kāi)發(fā)。例如,實(shí)時(shí)控制通常采用基于IEC 61131-3[4]的邏輯控制,運動(dòng)控制多基于G代碼,而機器視覺(jué)則采用Python或者C++ 等高級語(yǔ)言。如果將每個(gè)功能看作是獨立的微服務(wù),用戶(hù)則需要使用統一的建模語(yǔ)言編排這些微服務(wù)。而IEC 61499功能塊系列標準則是目前適合的建模語(yǔ)言。IEC 61499標準提供了基于事件觸發(fā)功能塊的標準封裝方式,對包含IEC 61131-3、C++等高級語(yǔ)言的統一封裝,能有效地獨立于微服務(wù)開(kāi)發(fā)。除此之外,標準中提供了功能塊網(wǎng)絡(luò )模型、資源模型、設備資源等完整的軟件模型來(lái)支持微服務(wù)的復用性與可移植性。如圖3 所示,將每個(gè)功能塊看作是獨立的微服務(wù),而功能塊接口則是調用API。功能塊網(wǎng)絡(luò )將各個(gè)模塊通過(guò)控制流與數據流整合,形成一個(gè)或者多個(gè)應用程序,通過(guò)IEC 61499部署模型將應用程序映射到不同的邊緣計算節點(diǎn)上,實(shí)現了系統級工業(yè)邊緣計算應用的統一建模設計。與UML等建模語(yǔ)言不同的是,IEC  61499提供了完整的功能塊執行機制,因此功能塊網(wǎng)絡(luò )能夠被直接部署與執行,從而減少了從建模語(yǔ)言到可執行代碼的轉換, 避免了由于模型轉換造成的代碼質(zhì)量問(wèn)題,從而提升設計效率。目前施耐德電氣EcoStruxure Automation Expert[5]以及國產(chǎn)海王星模塊工匠Function Block Builder[6]等IEC 61499工具已經(jīng)初步具備了應對工業(yè)邊緣計算混合設計的能力。

      3.png

      圖3 基于IEC 61499的OT與IT混合設計

      3 輕量級容器化工業(yè)邊緣應用運行環(huán)境

      在IT應用開(kāi)發(fā)中,微服務(wù)往往與容器密不可分。將微服務(wù)通過(guò)容器化封裝可以實(shí)現微服務(wù)的獨立運行, 同時(shí)將依賴(lài)庫文件與操作系統一同移植可以有效減少由于開(kāi)發(fā)環(huán)境與部署環(huán)境的差異而造成的問(wèn)題?,F有的Linux容器主要有Docker、LXC/LXD等選擇,然而目前所有Linux容器都是為IT應用設計,針對計算與儲存能力有限的工業(yè)邊緣計算節點(diǎn)而言,這些容器都過(guò)于臃腫。特別是面向工業(yè)實(shí)時(shí)控制等高實(shí)時(shí)性、高可靠性要求的傳統OT應用,目前容器在更新時(shí)間、文件大小以及操作性等關(guān)鍵上與工業(yè)現場(chǎng)實(shí)際需求還存在一定的差距,針對工業(yè)邊緣計算的輕量級容器化運行環(huán)境仍然是待解決的重要問(wèn)題。

      4.png 

      圖4 基于IEC 61499的工業(yè)邊緣計算容器化運行環(huán)境

      基于IEC 61499的微服務(wù)化工業(yè)邊緣App同樣需要輕量級容器化的運行環(huán)境支撐。如圖4所示,以L(fǎng)inux 容器為基礎,將每個(gè)微服務(wù)作為單獨容器封裝,容器依次將IEC 61499微服務(wù)運行環(huán)境、所需要的編程語(yǔ)言支撐環(huán)境以及基于IEC 61499的應用程序加載,最后通過(guò)IEC 61499功能塊網(wǎng)絡(luò )將不同微服務(wù)之間串聯(lián)起來(lái)。當需要對應用程序重新編排時(shí),僅需對微服務(wù)調用順序進(jìn)行重新編排,無(wú)需對容器進(jìn)行修改;當需要對微服務(wù)進(jìn)行更新時(shí),則只需要對容器內的頂層應用程序進(jìn)行更新即可完成,而無(wú)需影響其他微服務(wù)以及系統的運作。通過(guò)容器化封裝功能塊,微服務(wù)可以實(shí)現軟件與硬件的完全解耦,從而顯著(zhù)提升邊緣計算系統的靈活性。

      當工業(yè)邊緣App開(kāi)發(fā)完成后,最后一步需要將工業(yè)邊緣App從云端或者網(wǎng)關(guān)部署到邊緣計算節點(diǎn)上。容器化工業(yè)邊緣App能保證從開(kāi)發(fā)環(huán)境部署到生產(chǎn)環(huán)境的一致性,開(kāi)發(fā)者將封裝完成的容器上傳到云端的工業(yè)邊緣App市場(chǎng),系統集成商或者設備制造商可以根據需求從云端購買(mǎi)相應的工業(yè)邊緣App,并且通過(guò)簡(jiǎn)易配置部署到邊緣計算節點(diǎn)。在這方面國內已經(jīng)有了非常不錯的基礎,華為云IEF以及容器市場(chǎng)已經(jīng)實(shí)現了容器的交易、配置以及從云端向邊緣端的部署,當與基于IEC 61499 實(shí)現對微服務(wù)的統一編排與管理融合后,快捷地遠程部署調試將不再是夢(mèng)想。

      4 結語(yǔ)

      如何高效設計OT與IT融合工業(yè)互聯(lián)網(wǎng)邊緣計算應用一直是制約工業(yè)互聯(lián)網(wǎng)價(jià)值落地的關(guān)鍵技術(shù)之一。將IEC 61499功能塊標準與微服務(wù)、容器化融合能夠賦予工業(yè)邊緣App軟硬件解耦的能力,使其適用于擁有不用計算、儲存與通訊能力的邊緣計算節點(diǎn),提升系統的靈活性、互操作性與可移植性。當基于微服務(wù)、輕量級容器以及IEC 61499的工業(yè)邊緣App與確定性IP網(wǎng)絡(luò )、TSN等網(wǎng)絡(luò )緊密結合時(shí),工業(yè)互聯(lián)網(wǎng)邊緣計算將發(fā)揮其真正的價(jià)值。 


      作者簡(jiǎn)介:

      戴文斌,上海交通大學(xué)電子信息與電氣工程自動(dòng)化系副教授,博士生導師,隸屬“系統控制與信息處理”教育部重點(diǎn)實(shí)驗室,上海市自動(dòng)化學(xué)會(huì )秘書(shū)長(cháng)。近年來(lái)主要從事下一代分布式工業(yè)控制軟件、工業(yè)信息化、工業(yè)互聯(lián)網(wǎng)邊緣計算等方向的研究工作。是IEC TC65B/WG15(IEC  61499)標準委員會(huì )國內唯一專(zhuān)家,IEEE P2805邊緣計算標準工作組組長(cháng)。目前擔任IEEE-TII編委、IEEE-IES工業(yè)信息學(xué)技術(shù)專(zhuān)委會(huì )主席以及多個(gè)IEEE-IES旗艦會(huì )議的程序委員會(huì )主席等職務(wù)。

      參考文獻:

      [1] EU. Horizon 2020 DAEDALUS Project[EB/OL]. http://daedalus.iec61499.eu/.

      [2] IEC 61499, Function Blocks, International Standard, Second Edition[S]. 2012.

      [3] The Open Group. The Open Process Automation Forum[EB/OL]. https://www.opengroup.org/forum/open-processautomation-forum. 

      [4] IEC 61131-3, Programmable controllers - Part 3: Programming languages, International Standard, Third Edition[S]. 2013. 

      [5] Schneider Electric. Schneider Electric EcoStruxure Automation Expert[EB/OL]. https://www.se.com/ww/en/productrange-presentation/23643079-ecostruxure%E2%84%A2-automation-expert/. 

      [6] 國際電工委員會(huì ). Function Block Builder[EB/OL]. http://www.iec61499.cn

      摘自《自動(dòng)化博覽》2021年2月刊

      熱點(diǎn)新聞

      推薦產(chǎn)品

      x
      • 在線(xiàn)反饋
      1.我有以下需求:



      2.詳細的需求:
      姓名:
      單位:
      電話(huà):
      郵件:
      欧美精品欧美人与动人物牲交_日韩乱码人妻无码中文_国产私拍大尺度在线视频_亚洲男人综合久久综合天

    2. <blockquote id="fficu"><optgroup id="fficu"></optgroup></blockquote>

      <table id="fficu"></table>

      <sup id="fficu"></sup>
      <output id="fficu"></output>