經(jīng)過多年的探索,容器化技術(shù)已經(jīng)對工業(yè)自動化產(chǎn)生了良性的影響。據(jù)不完全統(tǒng)計,在2019年的漢諾威工業(yè)博覽會上有750家廠商、超過2000種產(chǎn)品用到了容器化計算技術(shù)。應(yīng)用的方面包括流程自動化的虛擬化平臺、邊緣計算、SCADA等等。
容器化應(yīng)該是今后虛擬化的重要手段
“軟件正在吞噬世界”的說法蘊含了軟件在系統(tǒng)中發(fā)揮著“基礎(chǔ)設(shè)施化”的作用,而云計算軟件開發(fā)方法成為軟件開發(fā)的主要方向。經(jīng)過幾年的摸索,云計算開發(fā)方法在工業(yè)自動化軟件開發(fā)應(yīng)用的虛擬化方向有了很大進展,實際運用的結(jié)果驗證了容器化在開發(fā)工業(yè)自動化軟件中所顯現(xiàn)的優(yōu)越性。
同樣是虛擬化的技術(shù),容器化較之虛擬機(VM)明顯有著以下優(yōu)點(見圖1):
圖1 容器化應(yīng)用軟件與虛擬機相比,APP顆粒度更小
◆APP的顆粒度更細,有利于形成輕量級的容器;
◆所需的硬件開銷要小得多;
◆應(yīng)用代碼及其相關(guān)的軟件環(huán)境打包后安排在操作系統(tǒng)基礎(chǔ)架構(gòu)上的容器引擎執(zhí)行運行,無需其它任何支持;
◆容器中各個應(yīng)用程序相互隔離,這種分割保證了信息安全;
◆應(yīng)用代碼的更新升級可以遠程部署。
◆總之,容器是獨立的,可以通過特定的平臺按照需要來選擇和部署,給予使用者很大的靈活性;同時一個單獨而且封閉的容器又提供了原生的信息安全。
流程自動化工業(yè)對軟件容器有著其特殊的需要
流程自動化需要能在很大范圍容納各種各樣的應(yīng)用軟件,諸如先進流程控制APC、流程優(yōu)化和資產(chǎn)管理等,同時能通過標準化的接口(如OPC UA)交換數(shù)據(jù)。另外,流程自動化的容器需要在不同的物理地點和不同的主計算機硬件中移動。另外對于大型的操作來講,像Kubernetes這樣的編排工具,可以用來維護、組織和管理容器庫,按照資源的可用性自動平衡計算負載。下面列舉若干容器化技術(shù)應(yīng)用在不同公司的表現(xiàn)。
1、Honeywell運用虛擬化的實例
Honeywell在容器化技術(shù)的應(yīng)用結(jié)合需求,步子穩(wěn),進展大。不但在服務(wù)器層級運用于HMI和應(yīng)用程序中,而且也開始擴充到流程自動化的其它方面,如用于I/O的軟組態(tài)。Honeywell Process Solution正在考慮讓軟件和硬件解耦的可能性,不僅僅在服務(wù)器中運用容器化技術(shù),也包括控制器和I/O層級運用容器化技術(shù)。Honeywell開發(fā)Experion LCN(ELCN)有效地仿真了TDC 3000這樣的老系統(tǒng),使得公司的老客戶得以將其在知識產(chǎn)權(quán)上的投資“無限地延壽”。它可與老系統(tǒng)100%的二進制兼容和互操作。2018年6月在Honeywell的用戶組織的大會上向公眾宣布,TDC 3000相同的代碼可以不加修改運行在虛擬環(huán)境中,大大減少了可能產(chǎn)生技術(shù)風(fēng)險。TDC環(huán)境的虛擬化帶來許多附加的利益,包括使工程師具有應(yīng)用Honeywell云基的虛擬工程平臺(Virtual Engineering Platform)的能力去提供TDC的解決方案。自此以后,Honeywell一直在繼續(xù)其虛擬化的版本,在2019年的用戶大會上宣稱其Experion PKS HIVE用于高度集成的虛擬環(huán)境。簡言之就是具有虛擬化的特性的解決方案以及硬件與軟件的解耦已經(jīng)在應(yīng)用程序這一級和控制器和I/O這一級實現(xiàn)。
2、流程工業(yè)中另一個容器化應(yīng)用實例-Module Type Package(MTP)
由德國流程工業(yè)用戶組織NAMUR發(fā)起的模塊化類型包MTP利用現(xiàn)有的DCS和PLC的部件無縫集成為流程裝置的自動化單元,強調(diào)在優(yōu)化性價比的同時將工程量降至最低、加快工程交付進度。MTP本質(zhì)上是運用容器技術(shù)創(chuàng)建易于集成、并運用預(yù)定義的自動化模塊單元實現(xiàn)模塊化的流程裝置。這種預(yù)定義的自動化模塊化單元,易于按照生產(chǎn)的需要添加、安排和調(diào)整。每個MTP都符合標準化的方法論和框架,包括將它整合到一個模塊化的裝置中所有必要的信息(如通信服務(wù)、HMI描述、維護信息等)。例如ABB的MTP提供清單中包括ABB Ability系統(tǒng)800xA操作流程和編排的智能模塊,由一個開放架構(gòu)的骨干網(wǎng)通過OPC UA通信將編排層與模塊層鏈接(見圖2)。
圖2 ABB在流程自動化MTP運用容器化技術(shù)的框圖
3、施耐德的動態(tài)
施耐德正在向越來越接近邊緣的場合運用容器化技術(shù),在預(yù)置的數(shù)據(jù)中心或云端運用容器,或者在嵌入設(shè)備中的嵌入式系統(tǒng)運用容器技術(shù)。施耐德已經(jīng)在產(chǎn)品注冊平臺、云端的歷史數(shù)據(jù)庫、云端工程軟件和云端分析軟件中運用了容器技術(shù)。這些系統(tǒng)受到微軟和Red Hat等公司的支持,因為它們都是原生的云基平臺。
施耐德預(yù)測,基于容器的流程自動化OPA愿景的實現(xiàn)將始于采用像IEC 61499這樣的標準,因為IEC 61499支持以應(yīng)用軟件為中心的自動化設(shè)計,而與其下層的硬件設(shè)備獨立無關(guān)。61499圍繞功能塊建立事件驅(qū)動的模型,可以用來解決在不同的供應(yīng)商之間確??梢浦残浴⒖山M態(tài)性和可互操作性的問題,同時解決硬件與軟件解耦的問題。同時,61499允許獨立地開發(fā)具有跨平臺功能的容器。
4、SICK公司的實例
德國SICK公司以生產(chǎn)傳感器聞名。他們新近推出的TDC(Telematic Data Collection)網(wǎng)關(guān)就是運用Docker容器技術(shù)的典一個產(chǎn)品案例(見圖3)。TDC可以在智能制造、工業(yè)物聯(lián)網(wǎng)等場景作為邊緣網(wǎng)關(guān),采集來自各種傳感器、PLC的數(shù)據(jù),它支持I/O Link和其他現(xiàn)場總線(見圖4)。
圖3 SICK的TDC邊緣網(wǎng)關(guān)
容器化技術(shù)在工業(yè)自動化工程應(yīng)用的一些優(yōu)點
盡管容器化技術(shù)在工業(yè)自動化領(lǐng)域的應(yīng)用還剛剛開始,但已經(jīng)顯現(xiàn)出一些引人注目的優(yōu)點:
1、過去用傳統(tǒng)的方法做項目要花一年半的時間,現(xiàn)在只要先在云數(shù)據(jù)中心用虛擬化的方法進行工程設(shè)計,等完成后,只要把虛擬化的軟件拷貝到物理設(shè)備中,僅交付一個帶有應(yīng)用程序的容器就可以了,節(jié)省了許多調(diào)試時間。而且容器技術(shù)使靈活性達到新的水平,通過構(gòu)建樣板庫,其內(nèi)存儲許多事先準備好的應(yīng)用程序。使用時只要進行部署就行,不用從頭開發(fā)。
2、由于容器處在實際的操作系統(tǒng)之外,因此當操作系統(tǒng)升級時對容器內(nèi)的應(yīng)用軟件不會產(chǎn)生顯著的影響。在運用容器化技術(shù)后,原來專門設(shè)計的相互配合運行的軟件和硬件表現(xiàn)了越來越多的獨立性,以致最后導(dǎo)致硬件、操作系統(tǒng)和應(yīng)用軟件全都呈現(xiàn)相互無關(guān)的獨立特性。
3、運用容器化技術(shù),當軟件和操作系統(tǒng)需要升級和替代時,不會產(chǎn)生許多難以克服的痛點。即使實現(xiàn)不了“無停車的替代”,運用容器化技術(shù)可以做到顯著快的替代。從最終用戶的角度看,這可是一件很有用的事情。
4、容器化也給予制造商對知識產(chǎn)權(quán)和領(lǐng)域知識的保護,以及在技術(shù)升級期間維持生產(chǎn)繼續(xù)而不致停頓。由于硬件從應(yīng)用軟件中抽象出來,也可以想象這樣的場景:把應(yīng)用軟件移植到更可靠的平臺所需停機的時間最短。
有關(guān)容器化應(yīng)用發(fā)展問題的討論
1、隨著基于Linux的開源容器和編排技術(shù)選項其實際的表現(xiàn)越來越引人注意,有理由提出如下問題:是否這樣的技術(shù)將是促使開放流程自動化論壇OPAF邁向互操作性和即插即用的流程控制的路徑?簡短的回答:是的,確實如此。運用容器使得應(yīng)用軟件從硬件中抽象出來,或者從另一個角度說,同樣的應(yīng)用軟件可以在不同的硬件中執(zhí)行,這只取決于特定的安裝方式。如果界面是適當設(shè)計的和定義的(例如基于國際標準IEC 61499),那么容器化可移植應(yīng)用軟件,或者不同供應(yīng)商所提供的的應(yīng)用軟件是能夠?qū)崿F(xiàn)互操作性的。
2、當前還沒有適合于確定性控制任務(wù)的實時的容器化/編排的方案。如果有更多的自動化公司一起來參與創(chuàng)建實時的Dockers和Kubernets的實現(xiàn),這樣的結(jié)果完全可以期待。
3、每個公司可以持續(xù)地開發(fā)最佳適合于其產(chǎn)品系列的軟件包,而這些軟件由于有IEC 61499的支持可不斷提升其可互操作性。由此可見,容器化和編排技術(shù)一定能推進互操作性和開放性。
4、虛擬化的策略也可以以專有的方式提升和推進。美國自動化咨詢集團ARC雖然認同這一正交性(orthogonality),不過他們主張:正像把知識產(chǎn)權(quán)從控制語言和專用語言中解放出來,容器化和編排也需要成為工業(yè)方法的一部分,而不是專為某一種機型準備具有高度的專用性。讓容器和編排進行標準化,這才是走出死胡同的出路。
在下一個五年或更多一些時間內(nèi),云軟件開發(fā)技術(shù)相比其它形式的軟件開發(fā),顯然會成為主要的形式。而且企業(yè)軟件、嵌入式軟件和云軟件這三種軟件開發(fā)將會極大地融合匯聚。有理由期望用于云計算業(yè)務(wù)的開源軟件技術(shù)將會快速發(fā)展和推廣,所有軟件的開發(fā)將會使用云軟件開發(fā)的方法。值得關(guān)注的是,這一融合匯聚將會被迅速發(fā)展的開源軟件的步伐所推動,而不是由目前工業(yè)自動化行業(yè)所采用的軟件開發(fā)方法邁著緩慢的步伐在前行。