工控網(wǎng)首頁
>

應(yīng)用設(shè)計

>

【實測數(shù)據(jù)說話】虛擬PLC實時性到底如何?

【實測數(shù)據(jù)說話】虛擬PLC實時性到底如何?

菲尼克斯頂圖.gif

工業(yè)4.0與智能制造浪潮對生產(chǎn)的柔性、敏捷性和經(jīng)濟性提出了更高要求,傳統(tǒng)PLC因其架構(gòu)封閉、軟硬件緊耦合的特性,在支持產(chǎn)線快速重構(gòu)、實現(xiàn)彈性部署和全生命周期成本控制方面面臨嚴峻挑戰(zhàn)。虛擬PLC(vPLC)通過解耦控制軟件與專有硬件,展現(xiàn)出部署靈活、易于擴展和維護的顯著優(yōu)勢,已成為工業(yè)控制領(lǐng)域的研究熱點,并加速向汽車制造、物流自動化、新能源等主流行業(yè)應(yīng)用邁進。

隨著vPLC使用場景越來越多,有許多客戶與業(yè)內(nèi)人士對vPLC的“實時性”提出了擔(dān)心或質(zhì)疑——虛擬PLC是否可以滿足1ms及1ms以下的運動控制等高速硬實時需求?vPLC的實時性又到底如何呢?

本文將以實測數(shù)據(jù)為基礎(chǔ),為大家揭曉vPLC的實時性能指標(biāo),同時也分享一些實時性優(yōu)化與測試的相關(guān)知識。這里是以菲尼克斯電氣推出的vPLCnext為核心驗證對象,圍繞其實時性展開系統(tǒng)驗證,重點測試vPLCnext在宿主機層面、容器隔離層面的實時響應(yīng)能力,同時結(jié)合EtherCAT總線與運動控制場景,驗證vPLCnext在500μs的高實時性需求場景下的適用性,為vPLC的工程化應(yīng)用提供堅實的數(shù)據(jù)支撐與技術(shù)參考。

?軟硬件環(huán)境

本文只列出軟硬件的重要關(guān)鍵信息。

? CPU型號:Intel(R) N97 @ 2.00GHz

? 核心數(shù)量:4核

? 內(nèi)存大小:8GB

? 宿主機操作系統(tǒng):Intel ECI Linux-RT(由英特爾?工業(yè)邊緣控制技術(shù)提供支持)

?實時性優(yōu)化策略

◎  宿主機的優(yōu)化

宿主機采用了Intel ECI的實時內(nèi)核6.6.23-rt28-intel-ese-standard-lts-rt,這是vPLCnext實時性的基礎(chǔ)底座,需完成以下優(yōu)化配置:

▎關(guān)閉無關(guān)服務(wù)

停止圖形界面服務(wù),避免GUI搶占CPU與內(nèi)存資源;

禁用自動更新、日志收集等后臺服務(wù)。

▎禁用CPU節(jié)能模式

配置CPU為performance模式,避免動態(tài)調(diào)頻/休眠導(dǎo)致的調(diào)度延遲。

▎CPU核心隔離

通過內(nèi)核參數(shù)isolcpus=1,3隔離core1和core3,避免其他進程/內(nèi)核線程搶占這兩個核心;

配置rcu_nocbs=1,3,將RCU回調(diào)任務(wù)從隔離核心剝離,進一步降低調(diào)度干擾。

▎禁用超線程(若CPU支持)

在BIOS/內(nèi)核參數(shù)中關(guān)閉超線程,避免物理核心被邏輯線程共享,導(dǎo)致實時任務(wù)調(diào)度延遲波動。

▎實時內(nèi)核參數(shù)調(diào)優(yōu)

配置內(nèi)核調(diào)度器為PREEMPT_RT模式,確保高優(yōu)先級實時任務(wù)可搶占低優(yōu)先級非實時任務(wù);

調(diào)整sysctl參數(shù):取消實時任務(wù)運行時間限制,并降低看門狗干擾。

▎中斷親和性優(yōu)化

將非關(guān)鍵硬件中斷(如網(wǎng)卡、存儲)綁定到非隔離核心(如core0/core2),避免隔離核心被中斷頻繁打斷;

僅保留與vPLCnext強相關(guān)的實時中斷(如EtherCAT總線中斷)在隔離核心上處理。

◎  vPLC容器的優(yōu)化

基于宿主機優(yōu)化的基礎(chǔ),針對vPLCnext容器實施工業(yè)級專屬優(yōu)化,從內(nèi)核、資源、調(diào)度、網(wǎng)絡(luò)等維度確保實時性,主要做了以下優(yōu)化配置:

▎CPU核心綁定

啟動容器時強制將vPLCnext容器綁定到已隔離的core1和core3,實現(xiàn)專核專用。

▎工業(yè)級任務(wù)調(diào)度

內(nèi)部任務(wù)調(diào)度器將PLC實時任務(wù)優(yōu)先級設(shè)置為最高,確保可搶占所有非實時任務(wù)。

▎網(wǎng)絡(luò)模式選擇

使macvlan直接綁定物理網(wǎng)卡,避免容器(Podman)網(wǎng)橋的NAT/數(shù)據(jù)包轉(zhuǎn)發(fā)開銷,從而降低網(wǎng)絡(luò)通信延遲。

▎Cgroup資源限制

配置memory.limit_in_bytes限制容器內(nèi)存使用,防止內(nèi)存泄漏引發(fā)OOM或交換分區(qū)(Swap)干擾。

▎I/O優(yōu)先級配置

禁用容器內(nèi)不必要的日志寫入,將關(guān)鍵日志重定向到宿主機高速存儲(如SSD)。

▎內(nèi)存鎖定與預(yù)分配

vPLCnext啟動時將關(guān)鍵實時代碼、數(shù)據(jù)鎖定到物理內(nèi)存,避免內(nèi)存換頁導(dǎo)致的延遲;

預(yù)分配運動控制、總線通信所需的內(nèi)存緩沖區(qū),減少運行時動態(tài)內(nèi)存分配的不確定性。

實時任務(wù)與管理任務(wù)分離

vPLCnext將實時控制任務(wù)(如PLC邏輯、運動控制)調(diào)度到專屬CPU核心執(zhí)行,與非實時任務(wù)(如Web配置、日志上傳)隔離。

?宿主機的實時性

宿主機是vPLC運行的基礎(chǔ)載體,其實時性直接影響vPLC的整體響應(yīng)性能,尤其是宿主機的CPU調(diào)度延遲、中斷響應(yīng)延遲、內(nèi)存訪問延遲,是制約vPLC實時性的關(guān)鍵因素。本章節(jié)通過rt-test工具對宿主機的實時性進行測試,重點驗證宿主機在不同負載場景下的延遲表現(xiàn),明確宿主機對vPLC實時性的支撐能力。

◎  空載的實時性測試

采用cyclictest實時測試工具,設(shè)置以下參數(shù):

? 測試間隔:1000μs

? 測試時長:24h

? 優(yōu)先級:99

? 調(diào)度策略:fifo(先進先出)

命令如下:

taskset -c 1 cyclictest --mlockall --quiet --priority=99 --policy=fifo --interval=1000 --histogram=400 --secaligned=50 --duration=24h

taskset -c 3 cyclictest --mlockall --quiet --priority=99 --policy=fifo --interval=1000 --histogram=400 --secaligned=50 --duration=24h

其中taskset -c 1和taskset -c 3表示指向被隔離的core1和core3,測試這2個隔離核心的實時性數(shù)據(jù)。

按照以上參數(shù)設(shè)置,執(zhí)行以下截圖中的腳本,測試完成后結(jié)果會寫入到core1_0.txt和core3_0.txt中。

image.png

測試結(jié)果通過可視化工具生成如下的統(tǒng)計圖:

21.webp.png

22.webp.png

◎  60%CPU負載下的實時性測試

使用stress-ng工具對系統(tǒng)的CPU負載加壓到60%,按照以上相同配置執(zhí)行腳本。

測試結(jié)果通過可視化工具生成如下的統(tǒng)計圖:

23.webp.png

24.webp.png

?vPLC容器內(nèi)的實時性

菲尼克斯電氣vPLCnext的容器化部署采用Podman容器,容器內(nèi)部建立了PLCnext運行環(huán)境,搭載菲尼克斯電氣的PLCnext Runtime運行時,容器使用宿主機的實時內(nèi)核,相關(guān)運行時的進程調(diào)度進行了深度優(yōu)化,從容器調(diào)度、系統(tǒng)底層兩個維度破解虛擬化環(huán)境下的實時性瓶頸,為vPLCnext容器內(nèi)的實時性提供了雙重保障。本章節(jié)重點測試vPLCnext容器內(nèi)的實時性能,驗證容器與自研系統(tǒng)對實時性的提升效果,明確vPLCnext容器內(nèi)實時性的核心保障機制。

采用與宿主機實時性相同的測試方法,分別測試空載和60%CPU負載下的實時性能。

◎  空載的實時性測試

按照以上宿主機空載的測試方法,在vPLCnext容器內(nèi)執(zhí)行測試腳本。

測試結(jié)果通過可視化工具生成如下的統(tǒng)計圖:

25.webp.png

26.webp.png

◎  60%CPU負載下的實時性測試

使用stress-ng工具對系統(tǒng)的CPU負載加壓到60%,按照以上宿主機60%CPU負載下的測試方法,在vPLCnext容器內(nèi)執(zhí)行測試腳本。

測試結(jié)果通過可視化工具生成如下的統(tǒng)計圖:

31.webp.png

32.webp.png

?實時性測試結(jié)論

◎  測試數(shù)據(jù)記錄

通過在宿主機和容器內(nèi)的實時性能驗證,數(shù)據(jù)對比如下圖:

image.png

◎  核心結(jié)論

本次測試圍繞菲尼克斯電氣vPLCnext的實時性展開系統(tǒng)驗證,分別對宿主機、vPLCnext容器內(nèi)的實時性能進行對比,得出以下結(jié)論:

▎宿主機實時性表現(xiàn)

經(jīng)過實時內(nèi)核優(yōu)化的工業(yè)級宿主機操作系統(tǒng),在空載及60%CPU負載場景下,均能保持穩(wěn)定的實時性能:

最大時延 ≤ 18μs

最小時延 = 2μs

平均時延 = 4μs

可為vPLCnext提供可靠的運行基礎(chǔ),不會成為vPLCnext實時性的主要瓶頸。

▎容器內(nèi)實時性表現(xiàn)

通過合理配置容器資源(綁定CPU核心、限制資源使用率),vPLCnext容器內(nèi)的實時性能在不同負載場景下均接近宿主機水平:

最大時延 ≤ 27μs

最小時延 = 2μs

平均時延 = 4–5μs

完全滿足工業(yè)控制場景對實時性的核心要求,為vPLCnext的工程化應(yīng)用提供了有力的數(shù)據(jù)支撐與技術(shù)參考,助力工業(yè)控制系統(tǒng)向虛擬化、柔性化、智能化轉(zhuǎn)型。

?vPLCnext高實時性應(yīng)用開發(fā)

基于本次驗證所證實的菲尼克斯電氣vPLCnext在宿主機與容器內(nèi)的優(yōu)異實時性能,均能滿足工業(yè)高實時控制需求,菲尼克斯電氣正依托該高實時性基礎(chǔ),全力推進相關(guān)應(yīng)用落地。目前,已經(jīng)有客戶將500μs循環(huán)周期下的vPLCnext+EtherCAT+運動控制方案在實際設(shè)備測試驗證,后續(xù)相關(guān)技術(shù)細節(jié)、動態(tài)及應(yīng)用案例,將通過官方推文持續(xù)更新,敬請行業(yè)同仁與廣大客戶期待。

審核編輯(
王靜
)
投訴建議

提交

查看更多評論
其他資訊

查看更多

夯爆了!誰來懂一下SACC EE系列圓形連接器

裝配容錯拉滿,“柔性戰(zhàn)士”FS 0,635浮動板對板連接器

舉重若輕,靈活兼容,菲尼克斯電氣HEAVYCON意選重載連接器

新品速遞 | 扔掉壓線鉗!免冷壓頭的XT/XTV系列觸發(fā)式彈簧接線端子

MWC 2026 | 菲尼克斯電氣攜手中國聯(lián)通共建開放生態(tài)