工業(yè)控制器的虛擬化技術——邊緣計算走進工廠車間
商用技術在消費者和信息技術(IT)領域的應用速度幾乎總是比工業(yè)技術更快。例如,多年來,虛擬化技術在IT環(huán)境中已經(jīng)非常普遍,最常見的是在基于服務器的應用中。相比之下,工業(yè)自動化運營技術(OT)應用在采用虛擬化方面則落后了數(shù)年。
本文引用地址:http://cafeforensic.com/article/202008/416580.htm如今,虛擬化已經(jīng)成為幾乎所有OT產(chǎn)品、實踐和應用的主流,盡管它仍然常常用于機房環(huán)境中?,F(xiàn)在,OT系統(tǒng)服務器托管多臺虛擬機以實現(xiàn)可視化、歷史記錄、冗余和其他用途的做法非常普遍。
自動化工程師使用基于桌面的虛擬化來快速創(chuàng)建開發(fā)和測試系統(tǒng)。虛擬化為快速部署系統(tǒng)、優(yōu)化資源使用和備份配置帶來了益處。
虛擬化的概念和優(yōu)點通常與PC和服務器相關聯(lián),但也可以用于其他地方。最近,虛擬化功能已經(jīng)擴展到更多的專業(yè)化和強大的工業(yè)可編程邏輯控制器(PLC)和可編程自動化控制器(PAC),用于過程和機器自動化。
這為終端用戶提供了更多選擇,例如使分析更接近于數(shù)據(jù)源。它還帶來了其他好處,包括提高生產(chǎn)力、效率和安全性。
虛擬化的概念
虛擬化的一個基本定義是提供在單個硬件平臺上運行多個虛擬機軟件操作系統(tǒng)的能力,從而將一臺物理計算機作為多臺虛擬計算機使用。每個虛擬機必須獨立運行。
圖1:該圖描述了單個類型1管理程序如何管理一個工業(yè)控制器上的兩個虛擬操作系統(tǒng)、一個用于實時控制的實時操作系統(tǒng)和一個用于邊緣處理的客戶操作系統(tǒng)。本文圖片來源:Emerson
根據(jù)管理程序的位置不同,有兩種類型的虛擬化,即類型1和類型2。管理程序是運行在主機上并管理客戶虛擬機的硬件、固件和軟件的組合。
類型2的虛擬化(可稱之為“托管”)用于桌面和服務器PC,其管理程序運行在傳統(tǒng)主機操作系統(tǒng)之上,而該傳統(tǒng)主機操作系統(tǒng)已運行于硬件上。這就創(chuàng)建了虛擬的“沙箱”,多個操作系統(tǒng)可以同時運行于其中,但由于底層操作系統(tǒng)所致,它增加了延遲。
類型1的虛擬化(有時被稱為“本機虛擬化”)利用直接在無底層操作系統(tǒng)的裸機硬件上運行的管理程序。該管理程序?qū)⒂布旧矸謪^(qū)到每個操作系統(tǒng)。這種做法的結(jié)果是延遲和抖動非常小,這對于實時確定性或?qū)r間敏感的應用程序非常理想。類型1提供的性能比類型2更佳,因為它可以直接訪問硬件,而不會因主機操作系統(tǒng)而延遲。
到目前為止,虛擬化尚未在工廠車間實際應用或?qū)崿F(xiàn)?,F(xiàn)在,一種利用多處理器內(nèi)核和虛擬化的新一類PLC和PAC的開發(fā)提供了將相同的虛擬化概念擴展到工業(yè)控制器的能力,從而為用戶提供了一種新的集成方法。
工業(yè)控制器和虛擬化
典型自動化應用中的一種常用的工業(yè)控制器是PLC,它使用專用的處理器和特定的實時操作系統(tǒng)(RTOS)來提供高速的確定性控制。PLC功能虛擬化的難點在于保持高速確定性。
圖2:具備虛擬化能力的工業(yè)控制器,如艾默生的具有邊緣計算技術的控制器,包括多個處理內(nèi)核、大量數(shù)字通信端口,以及支持一套控制用實時操作系統(tǒng)和一套通用操作系統(tǒng)并行運行的其他特性。
如今,硬件的進步對于商用PC世界來說很普遍,比如多核處理器和大內(nèi)存。通過使用多核技術和類型1虛擬化,工業(yè)控制器平臺現(xiàn)在可以在同一處理器上運行多個操作系統(tǒng),包括一個用于控制的實時操作系統(tǒng),其對于確定性和速度幾乎沒有影響(圖1)。第二操作系統(tǒng)——Linux客戶操作系統(tǒng)可用于其他邊緣處理。隨著將來可用內(nèi)核數(shù)量的增加,甚至可以部署更多的操作系統(tǒng)。
在具有邊緣計算(PACEdge)技術的控制器上運行多個操作系統(tǒng)的可能性是一個顯著的變化(圖2)。核心關注點是維護一個強大的實時操作系統(tǒng)用于控制功能,就像采用PLC時一樣,從而不會影響到自動化功能。作為實時操作系統(tǒng)的補充而運行的第二操作系統(tǒng)提供額外的計算選項。這兩個操作系統(tǒng)必須是獨立的,但保持交互能力。
運行兩套操作系統(tǒng)的概念可以用“內(nèi)側(cè)”和“外側(cè)”環(huán)路的說法做進一步解釋,級聯(lián)過程控制回路(圖3)的用戶可能熟悉這些說法。在這種情況下,內(nèi)側(cè)環(huán)路是用于控制的實時操作系統(tǒng)虛擬機,而外側(cè)環(huán)路是一套用于實現(xiàn)附加功能的標準操作系統(tǒng)虛擬機。舉例而言,內(nèi)側(cè)環(huán)路可以監(jiān)視過程流輸入,執(zhí)行比例-積分-微分(PID)計算,并掌控控制閥輸出。外側(cè)環(huán)路可以對內(nèi)側(cè)環(huán)路給出最優(yōu)流量的建議,但不會影響內(nèi)側(cè)環(huán)路的運行。
圖3:使用虛擬化,艾默生具有邊緣計算技術的控制器使用一個實時的“內(nèi)側(cè)”環(huán)路來進行直接控制,并通過一個能夠執(zhí)行高級優(yōu)化的通用“外側(cè)”環(huán)路來對上述控制給出建議。
另一種解釋內(nèi)側(cè)和外側(cè)環(huán)路概念的方法是運用與汽車導航相關的類比。內(nèi)側(cè)環(huán)路是通過駕駛員的直接注意力來驅(qū)動車輛到達目的地,而外側(cè)環(huán)路可以是提供補充信息的汽車儀表板導航系統(tǒng)。
因此,內(nèi)側(cè)環(huán)路是關鍵任務,無論如何均必須一直進行操作,即使外側(cè)環(huán)路遇到問題也不例外。另一方面,外側(cè)環(huán)路對于主系統(tǒng)操作有價值,但不是必需的。下面幾節(jié)將進一步探討這個概念。
控件保持在內(nèi)側(cè)環(huán)路
PLC提供了自動化設備和過程所需的專門功能、輸入/輸出(I/O)連接性。這些設備已經(jīng)獲得了處理能力和聯(lián)網(wǎng)功能,可以更好地與更高級別的系統(tǒng)進行交互,這些系統(tǒng)具有通常被稱為PAC的更高級的版本。然而,PLC和PAC仍然專注于它們的控制角色。
PLC和PAC使用多種編程語言;其中梯形邏輯是最流行的。PLC性能的一個基本衡量指標是控制器掃描梯形邏輯的速度,通常以毫秒為單位。所有其他任務必須得到處理,以便保留確定性掃描時間。PC上的操作系統(tǒng)不適合毫秒控制,因為它必須處理圖形和用戶界面等諸多任務。
在維持同等功能的同時,使用基于控制器的虛擬機來取代PLC或PAC,需要使用實時操作系統(tǒng)。該實時操作系統(tǒng)提供了內(nèi)側(cè)環(huán)路PLC功能所需的特性,與此同時不會對性能造成任何損害。
擴展功能位于外側(cè)環(huán)路
由于控制功能基本上保持不變,所以控制器虛擬化的真正優(yōu)勢是增加了一個以合作的方式謹慎集成的外側(cè)環(huán)路Linux虛擬機。這個虛擬機可以做專用PC可以做的任何事情,但是成本更低,并且以更緊湊的形式封裝,而無需將PC集成到控制器中。
工業(yè)用戶沒有必要立即利用額外的操作系統(tǒng),因為他們可以使用虛擬控制器來實現(xiàn)PLC的基本功能。然而,許多用戶發(fā)現(xiàn),通用的Linux操作系統(tǒng)可以通過下列途徑來增強他們的應用程序:
●運行機器學習元素
●執(zhí)行分析
●與云通信
●使用消息隊列遙測傳輸(MQTT)或其他發(fā)布-訂閱模型來交換信息
●執(zhí)行優(yōu)化計算以通知控制器虛擬機
●驅(qū)動本地顯示
●生成web頁面
這些功能需要上游計算資源。用戶可從Edge操作系統(tǒng)上實現(xiàn)這些功能的效率中受益,因為他們利用了本地可用的處理能力,并在盡可能接近源的地方作用于數(shù)據(jù)。該做法消除了計算層并簡化了網(wǎng)絡使用。驅(qū)動本地顯示或直接從控制器生成web頁面的能力即為此類例子。
如今,在標準PLC中可以實現(xiàn)其中的一些功能,但是將這些功能添加到傳統(tǒng)PLC中必須小心進行,以防止過載。此外,當在傳統(tǒng)PLC中添加高級功能時,意味著用戶必須在主動控制的環(huán)境中進行更改,這樣做增加了擾亂自動化的風險。
如若正確實施,外側(cè)環(huán)路虛擬機可讓用戶在更靠近數(shù)據(jù)源的具有邊緣計算技術的控制器上安全地執(zhí)行處理,從而消除上游聯(lián)網(wǎng)和處理需求。
控制器虛擬化的其它考慮事項
出于性能和安全方面的考慮,一直強調(diào)在虛擬工業(yè)控制器中保持實施操作系統(tǒng)和通用操作系統(tǒng)之間的隔離,但是虛擬機仍然必須有一種與外部世界交互的方法。有兩種策略使之成為可能。
第一種策略是將控制器設計成具有獨立的以太網(wǎng)端口,每個端口專用于一個特定的虛擬機操作系統(tǒng),并且與其他端口隔離,這樣即可消除端口訪問非綁定虛擬機的可能性,從而提供安全性。通常情況下,會將實時操作系統(tǒng)端口用于I/O通信,而將操作系統(tǒng)端口用于與外部世界的連接。隔離的以太網(wǎng)端口可確保從外部世界對操作系統(tǒng)網(wǎng)絡的網(wǎng)絡攻擊不會影響實時操作系統(tǒng)網(wǎng)絡。同樣的概念也適用于其它硬件接口,如USB端口。類型1虛擬化管理程序以該方式實現(xiàn)了在虛擬機之間劃分硬件。
第二種策略是將虛擬PLC和PAC配置為允許虛擬機僅通過標準的預定義接口進行交互,例如在兩個虛擬機之間運行安全協(xié)議的虛擬網(wǎng)絡接口卡。在工業(yè)環(huán)境中,OPC UA正成為安全協(xié)議的平臺首選。
使用這種方法,實時操作系統(tǒng)虛擬機可以向操作系統(tǒng)虛擬機提供字段信息,而操作系統(tǒng)虛擬機可以通知實時操作系統(tǒng)虛擬機。這是一個用戶定義的數(shù)據(jù)交換,用戶只公開兩個虛擬機之間的基本數(shù)據(jù),并執(zhí)行必要的驗證以確保健壯的實時操作系統(tǒng)虛擬機運行。
通過控制器虛擬化來適應未來的發(fā)展
虛擬PLC和PAC提供Edge整合,從而帶來性能提升和成本節(jié)約。Edge配置的優(yōu)化可以使機器更智能、更高效,同時可簡化架構(gòu)。用戶可以創(chuàng)建Edge的影響分析,并在不影響實際控制過程的情況下更新或升級這些應用程序和其它應用程序。這種方法比修改正在運行的PLC的“總是開啟”代碼更為安全。
終端用戶通常更喜歡控制器虛擬化方法,因為這種方法為他們提供了現(xiàn)在所需和使用的相同控制器類型的功能,與此同時還增加了一個可選的計算層。這種設計可適應未來的發(fā)展,因其可以根據(jù)需要增長,而無需昂貴的硬件更換。
一些用戶將控制器虛擬化視為與智能手機類似。智能手機首先是一部手機,此外還提供了許多作為額外應用程序添加的其它實用功能。這種適應未來發(fā)展的設計可確保當前投資得到保護,而無需預測OT和IT未來進展的確切路徑。
評論