工控網首頁
>

應用設計

>

【實測數據說話】虛擬PLC實時性到底如何?

【實測數據說話】虛擬PLC實時性到底如何?

菲尼克斯頂圖.gif

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

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

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

?軟硬件環境

本文只列出軟硬件的重要關鍵信息。

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

? 核心數量:4核

? 內存大小:8GB

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

?實時性優化策略

◎  宿主機的優化

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

▎關閉無關服務

停止圖形界面服務,避免GUI搶占CPU與內存資源;

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

▎禁用CPU節能模式

配置CPU為performance模式,避免動態調頻/休眠導致的調度延遲。

▎CPU核心隔離

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

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

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

在BIOS/內核參數中關閉超線程,避免物理核心被邏輯線程共享,導致實時任務調度延遲波動。

▎實時內核參數調優

配置內核調度器為PREEMPT_RT模式,確保高優先級實時任務可搶占低優先級非實時任務;

調整sysctl參數:取消實時任務運行時間限制,并降低看門狗干擾。

▎中斷親和性優化

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

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

◎  vPLC容器的優化

基于宿主機優化的基礎,針對vPLCnext容器實施工業級專屬優化,從內核、資源、調度、網絡等維度確保實時性,主要做了以下優化配置:

▎CPU核心綁定

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

▎工業級任務調度

內部任務調度器將PLC實時任務優先級設置為最高,確保可搶占所有非實時任務。

▎網絡模式選擇

使macvlan直接綁定物理網卡,避免容器(Podman)網橋的NAT/數據包轉發開銷,從而降低網絡通信延遲。

▎Cgroup資源限制

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

▎I/O優先級配置

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

▎內存鎖定與預分配

vPLCnext啟動時將關鍵實時代碼、數據鎖定到物理內存,避免內存換頁導致的延遲;

預分配運動控制、總線通信所需的內存緩沖區,減少運行時動態內存分配的不確定性。

▎實時任務與管理任務分離

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

?宿主機的實時性

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

◎  空載的實時性測試

采用cyclictest實時測試工具,設置以下參數:

? 測試間隔:1000μs

? 測試時長:24h

? 優先級:99

? 調度策略: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個隔離核心的實時性數據。

按照以上參數設置,執行以下截圖中的腳本,測試完成后結果會寫入到core1_0.txt和core3_0.txt中。

image.png

測試結果通過可視化工具生成如下的統計圖:

21.webp.png

22.webp.png

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

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

測試結果通過可視化工具生成如下的統計圖:

23.webp.png

24.webp.png

?vPLC容器內的實時性

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

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

◎  空載的實時性測試

按照以上宿主機空載的測試方法,在vPLCnext容器內執行測試腳本。

測試結果通過可視化工具生成如下的統計圖:

25.webp.png

26.webp.png

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

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

測試結果通過可視化工具生成如下的統計圖:

31.webp.png

32.webp.png

?實時性測試結論

◎  測試數據記錄

通過在宿主機和容器內的實時性能驗證,數據對比如下圖:

image.png

◎  核心結論

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

▎宿主機實時性表現

經過實時內核優化的工業級宿主機操作系統,在空載及60%CPU負載場景下,均能保持穩定的實時性能:

最大時延 ≤ 18μs

最小時延 = 2μs

平均時延 = 4μs

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

▎容器內實時性表現

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

最大時延 ≤ 27μs

最小時延 = 2μs

平均時延 = 4–5μs

完全滿足工業控制場景對實時性的核心要求,為vPLCnext的工程化應用提供了有力的數據支撐與技術參考,助力工業控制系統向虛擬化、柔性化、智能化轉型。

?vPLCnext高實時性應用開發

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

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

提交

查看更多評論
其他資訊

查看更多

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

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

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

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

MWC 2026 | 菲尼克斯電氣攜手中國聯通共建開放生態