在PLC虛擬化中,PLC I/O總線被高速網(wǎng)絡(luò)功能所取代,SDN允許在I/O結(jié)構(gòu)上創(chuàng)建靈活的虛擬通道,以適應(yīng)vPLC實例和I/O模塊之間的連接流,例如傳感器接口或運行控制器,并且基于SDN的控制可以提供靈活的業(yè)務(wù)隔離。此外,由于近年來在現(xiàn)場可編程門陣列(FPGA)和專用集成電路(ASIC)技術(shù)方面的進(jìn)展,這種I/O模塊可以使用FPGA或ASIC模塊以更低的復(fù)雜度來構(gòu)建。在這種架構(gòu)中,SDN重新配置是通過SDN控制器經(jīng)由與其北向接×××互的高可用性(HA)服務(wù)器(圖中未示出)來管理的。HA服務(wù)器連續(xù)監(jiān)視SDN交換機統(tǒng)計信息和路徑可達(dá)性,在性能下降或故障的情況下觸發(fā)重新配置過程。
這種PLC虛擬化架構(gòu)的實現(xiàn)主要考慮的網(wǎng)絡(luò)因素是,這種分散式模型與遠(yuǎn)程或分布式I/O PLC拓?fù)渚哂邢嗨浦帲渲芯W(wǎng)絡(luò)I/O模塊充當(dāng)PLC機架的擴展。在直通交換中的進(jìn)步以及遠(yuǎn)程直接存儲器訪問技術(shù)(RDMA)中,特別是在融合以太網(wǎng)情形中,已經(jīng)允許在10G以太網(wǎng)交換結(jié)構(gòu)中端口到端口的延遲縮小到百分之幾納秒以及應(yīng)用延遲縮小到微秒級。此外,諸如英特爾的數(shù)據(jù)平面開發(fā)工具包(DPDK)、思科的VPP等資源允許實現(xiàn)繞過內(nèi)核的低延遲、高吞吐量數(shù)據(jù)包處理機制,將網(wǎng)絡(luò)堆棧帶入用戶空間,并使適配器能夠執(zhí)行直接內(nèi)存訪問操作到應(yīng)用程序內(nèi)存。這使得滿足在以數(shù)微秒的單位時間內(nèi),傳輸?shù)亩秳雍烷W斷的要求成為可能,從而允許在商用服務(wù)器硬件上實現(xiàn)裸機性能。
這種PLC虛擬化架構(gòu)的實現(xiàn)主要考慮的計算因素是,首先,由于采用了硬件輔助虛擬化等技術(shù)使得服務(wù)器近乎利用原始性能,低延遲I/O機制或適用于數(shù)字信號處理任務(wù)的ISA擴展的可用性的提高,現(xiàn)代x86或ARM處理器已經(jīng)能夠替代獨立PLC應(yīng)用中的微控制器。其次,諸如Jailhouse(西門子),Xtratum、PikeOS等實時靜態(tài)分區(qū)管理程序的可用性支持為實時工作負(fù)載托管RTOS客戶VM。即在計算方面,PLC虛擬化主要考慮實時性、安全性和性能要求。在針對PLC虛擬化上,其運行的實時靜態(tài)分區(qū)管理程序,在考慮工業(yè)控制系統(tǒng)的這些特性上,其虛擬化管理程序設(shè)計需要同時考慮一下幾種模式的混合:
1、完全虛擬化模式,其中操作系統(tǒng)完全未經(jīng)修改在安全分區(qū)中運行。在此模式下,虛擬化管理程序確保其中運行的操作系統(tǒng)不會以任何方式損害或影響并行運行的其他操作系統(tǒng),并且其上運行的操作系統(tǒng)不經(jīng)任何修改即可運行在虛擬化管理程序上。但是,這是以犧牲輕微的性能損失為代價的。這種模式主要運行與實時性不強的工業(yè)應(yīng)用或企業(yè)應(yīng)用。
2、半虛擬化模式,為了保證實時代碼或?qū)崟r操作系統(tǒng)的硬實時性和穩(wěn)定性,虛擬機管理程序還具有稱為“特權(quán)模式或半虛擬化”的部署模式。在特權(quán)模式或半虛擬化模式下,操作系統(tǒng)保留完整的硬件訪問權(quán)限并使用虛擬機管理程序提供的半虛擬化接口。這允許操作系統(tǒng)以原生速度運行,而不需要虛擬機管理程序添加任何延遲。
3、即在工業(yè)控制系統(tǒng)環(huán)境中,其設(shè)計的虛擬化管理程序必須是具有半虛擬化特征的虛擬化管理程序,所以在物聯(lián)網(wǎng)或工業(yè)互聯(lián)網(wǎng)時代,Xen具有的先天優(yōu)勢又開始遠(yuǎn)遠(yuǎn)領(lǐng)先與其他虛擬化管理程序。
在查看了目前國外廠家的工業(yè)控制系統(tǒng)虛擬化管理程序的設(shè)計后,其典型的情況大都是使用完全虛擬化模式和半虛擬化模式的混合,其中一些實例運行監(jiān)控級功能,另一些實例運行硬實時控制功能。半虛擬化模式或特權(quán)模式不會引入任何延遲,因此使其適用于實時性應(yīng)用程序。操作系統(tǒng)之間的通信通過虛擬網(wǎng)絡(luò)或SDN網(wǎng)絡(luò)、共享內(nèi)存來實現(xiàn)。
而軟件定義架構(gòu)的PLC更強調(diào)的是一種體系,一種實現(xiàn)思想。即和軟件定義網(wǎng)絡(luò)、軟件定義世界一樣,PLC設(shè)備的智能化和標(biāo)準(zhǔn)化的體現(xiàn)就是典型的軟件定義的PLC,包括PLC輕松連接至互聯(lián)網(wǎng);將APP和分析結(jié)果嵌入機器和云,實現(xiàn)智能化和自我意識;無需更換PLC硬件即可改變和升級PLC設(shè)備功能,為用戶提供智能,實現(xiàn)持續(xù)改進(jìn);通過API和生態(tài)系統(tǒng)擴大工業(yè)互聯(lián)網(wǎng)平臺應(yīng)用。
一個典型的實現(xiàn)架構(gòu)是:首先具有一臺工業(yè)機器,可以用來測試整個生產(chǎn)過程。這臺機器可以看作是一套可以通過OT控制協(xié)議控制的輸入和輸出。這是理想的實時協(xié)議,因為它確保消息在一定的時間窗內(nèi)到達(dá)。然后開發(fā)一個霧計算或邊緣計算層,通過工業(yè)控制協(xié)議在運行時間內(nèi)與機器進(jìn)行通信。其運行時會將讀取的數(shù)據(jù)從機器發(fā)送到虛擬PLC,然后將PLC的輸出返回給機器。如下圖3所示:
圖3 軟件定義架構(gòu)下的PLC實現(xiàn)
國外根據(jù)這個技術(shù)框架測試的技術(shù)方案實現(xiàn),
圖4 技術(shù)方案