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