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