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