• 
    <ul id="auswy"><sup id="auswy"></sup></ul>
  • <ul id="auswy"></ul>
    ABB
    關(guān)注中國自動化產(chǎn)業(yè)發(fā)展的先行者!
    CAIAC 2025
    2025工業(yè)安全大會
    OICT公益講堂
    當(dāng)前位置:首頁 >> 資訊 >> 行業(yè)資訊

    資訊頻道

    淺析通用工業(yè)實時控制
    本文目的是給從事工業(yè)自動化控制領(lǐng)域技術(shù)人員,特別是控制軟件工程師作為參考,以期能為其進(jìn)行任務(wù)需求分析、設(shè)計選型、開發(fā)實踐和調(diào)優(yōu)的過程中,提供和建構(gòu)一個共識基礎(chǔ)和討論框架。內(nèi)容上主要對基于通用架構(gòu)的工業(yè)控制器,所需要的實時控制技術(shù)進(jìn)行拋磚引玉式的介紹。首先梳理了對基于實時計算的工業(yè)控制的相關(guān)概念理解,并試圖理清主要術(shù)語的含義和范疇;然后,對實時操作系統(tǒng)(RTOS)的概念和主流實例進(jìn)行簡要說明;再者,還以英特爾邊緣控制平臺ECI中的實時解決方案為例,闡釋了“軟硬件一體化”方式進(jìn)行實時任務(wù)開發(fā)和調(diào)試的理由。

    ★英特爾亞太研發(fā)有限公司 胡巍

    1  引言:實時計算對工業(yè)控制的重要性

    在現(xiàn)代工業(yè)領(lǐng)域,無論離散制造業(yè)還是流程行業(yè),若要生產(chǎn)設(shè)備和過程能安全且高效運轉(zhuǎn),從而制造出質(zhì)量合格且有經(jīng)濟效益的產(chǎn)品,均離不開自動控制技術(shù)的支撐和驅(qū)動。工業(yè)控制系統(tǒng)需與真實世界的生產(chǎn)過程和裝置,進(jìn)行數(shù)據(jù)通信和能量傳遞,才能完成自動化任務(wù)。

    生產(chǎn)過程中的物理或化學(xué)變化,總是需要時間的,即無論變化過程有多快,從開始到結(jié)束總有延遲。在常規(guī)觀測條件下的真實時間是均勻流逝且不能被操控的。工業(yè)自動化系統(tǒng)為實現(xiàn)自動化而執(zhí)行的各種功能任務(wù),如測量輸入、控制輸出和控制計算等,也需要在預(yù)定的某個時刻開始,并在預(yù)期的某段時間內(nèi)完成。控制器的各類操作,即使計算數(shù)值正確,若不能及時響應(yīng)被控對象或被控過程的需要,那么也會導(dǎo)致錯誤而無法完成任務(wù)。

    作為系統(tǒng)核心的工業(yè)控制器,一般都采用基于計算機的架構(gòu),即以執(zhí)行存儲程序的方式來實現(xiàn)控制算法邏輯。當(dāng)一個計算任務(wù),不但要求計算結(jié)果正確,而且也要求滿足時間上確定的指標(biāo)時,則可稱其具備了“實時性”的特征;所以,工業(yè)控制器必須具備實時計算的能力,才可對生產(chǎn)過程實施自動化控制。

    2  實時控制的概念:基于實時計算的工業(yè)控制技術(shù)

    實時計算的概念,定義了計算任務(wù)的成功取決于兩個必要條件:計算結(jié)果的正確性、完成時間上的確定性,即按實際任務(wù)的需求在指定的時間要求下提供正確的結(jié)果。當(dāng)然,計算機任務(wù)處理速度快,是完成實時計算任務(wù)的一個重要前提,有利于設(shè)計時留有充分的余量;但單純的“快”不足以描述實時,真正的實時是要“疾如所指”(asfastasspecified)[1],這也是對“如何正確理解實時性特征”的一個精煉表述。按實時計算所涉及的領(lǐng)域,大體上可分為兩類:信息技術(shù)(IT)領(lǐng)域,以計算機的信息和數(shù)據(jù)處理為主,如:分布式科學(xué)計算、金融交易系統(tǒng)等;工業(yè)自動化(OT)領(lǐng)域,涉及到真實物理設(shè)備和工業(yè)流程,如:工業(yè)控制、自動駕駛、遠(yuǎn)程醫(yī)療、電網(wǎng)負(fù)載均衡調(diào)度等。其中,對完成某個實時任務(wù)所涉及的軟、硬件的全體,可統(tǒng)稱為實時系統(tǒng);如離散制造中的多軸聯(lián)合電機調(diào)速任務(wù),為實現(xiàn)此實時運動控制任務(wù),通常需要由控制器、伺服驅(qū)動器和電機、傳動機構(gòu)和機械負(fù)載、傳感器等測量裝置及其它附屬部件等組件一起構(gòu)成了實時系統(tǒng);其中控制器和伺服驅(qū)動器,本質(zhì)都是計算機,即依靠軟件與硬件協(xié)同來完成與實時控制相關(guān)的功能。

    工業(yè)實時控制,泛指以工業(yè)控制器為核心裝置來實現(xiàn)工業(yè)自動化任務(wù)的相關(guān)技術(shù)統(tǒng)稱。可根據(jù)控制器產(chǎn)品特征和應(yīng)用領(lǐng)域細(xì)分如下:可編程邏輯控制器(PLC),廣泛用于單臺機電設(shè)備和自動化生產(chǎn)線,也可用于過程控制節(jié)點;數(shù)控系統(tǒng)(CNC),主要是完成機加工等相關(guān)的控制任務(wù);此外,還有工業(yè)機器人的專用控制器,以及過程控制領(lǐng)域常見的分布式控制系統(tǒng)(DCS)。當(dāng)前主流的控制器,均可視為有與現(xiàn)場設(shè)備進(jìn)行通信能力的計算機,以離散方式進(jìn)行工作,即時間上以時鐘節(jié)拍信號來指揮和協(xié)調(diào)各器件運作,數(shù)值上對連續(xù)的物理量進(jìn)行量化編碼式處理。在工業(yè)自動化場景下,通常需要在等間隔的時刻與外部交互,即接收測量數(shù)據(jù)和下發(fā)控制命令;而這個間隔被稱為“控制周期”,簡記為周期(cycle);所以要求控制器在一個周期內(nèi),完成測量接收、控制計算和指令下發(fā),以及其它相關(guān)事件響應(yīng)等一系列操作;后續(xù)各個周期也依此循環(huán)往復(fù)。工業(yè)控制不同應(yīng)用場景的任務(wù)需求各異,那其所需的實時性能要求也就不盡相同,即周期和響應(yīng)時間等約束上存在差異,如石油化工等流程行業(yè)可能以秒和分鐘作為周期單位,而離散制造中的運動控制任務(wù)一般要達(dá)到毫秒級的控制周期或響應(yīng)能力。

    工業(yè)控制器按架構(gòu)可分為:專用計算機型(嵌入式)和通用計算機型(PC-based)等兩大類控制器。其中,嵌入式(embedded)系統(tǒng),一般指計算機的硬件實體裝在被控設(shè)備機柜內(nèi);其特點是體積小、結(jié)構(gòu)簡單、可靠性高、功能專用、擴展性和靈活性低、性能夠用即可、價格相對便宜。嵌入式計算機,可用于實現(xiàn)工業(yè)實時控制,但并非所有的嵌入式系統(tǒng)應(yīng)用都要求具備明確的實時性特征。隨著實際生產(chǎn)中,如機器視覺、大數(shù)據(jù)、人工智能和預(yù)測性維護(hù)等各種新技術(shù)和多樣性新需求的出現(xiàn),通用型計算機,以其靈活性和易于實現(xiàn)負(fù)載整合的特點,越來越多地應(yīng)用在工業(yè)控制領(lǐng)域,形成通用控制器類產(chǎn)品。其具體特征,是在通用硬件平臺和通用軟件基礎(chǔ)設(shè)施上定義和開發(fā)相應(yīng)的功能;如:軟PLC技術(shù),不斷擴大其在產(chǎn)線自動化領(lǐng)域的應(yīng)用范圍。而大多主流的數(shù)控機床和工業(yè)機器人系統(tǒng),也基本都采用了以英特爾X86架構(gòu)的計算機,作為其專用控制器。現(xiàn)可將“嵌入式系統(tǒng)”概念擴展,理解為這樣一類廣義計算機裝置:其本身會從屬于某個設(shè)備或系統(tǒng),作為該系統(tǒng)的一個核心組件,其軟件也是專用于此設(shè)備或系統(tǒng)功能的實現(xiàn),如監(jiān)測、操控,以及數(shù)據(jù)采集和傳輸?shù)取_@里“專用”的含義,已從在定制型計算機上實現(xiàn)的功能,擴展為可在通用硬件平臺上實現(xiàn)的面向某類應(yīng)用場景的功能。

    3  實時操作系統(tǒng):基于通用架構(gòu)的開源方案

    應(yīng)用程序,是可以在沒有操作系統(tǒng)的情況下,直接運行在計算機硬件上的,即所謂的“裸機”(bare metal)方式。隨著計算機硬件的持續(xù)進(jìn)步——特別是微處理器(CPU)的迅猛發(fā)展,計算任務(wù)管理復(fù)雜度不斷提高,而編寫高效和可靠的多任務(wù)并發(fā)的裸機程序,也變得越來越困難;操作系統(tǒng)類軟件因此應(yīng)需而生,采用“分層架構(gòu)”設(shè)計思想,作為底層直接管理各種硬件資源,并為其上的應(yīng)用程序提供訪問硬件受控的接口,從而對任務(wù)執(zhí)行和并發(fā)進(jìn)行高效而安全地管理。一般而言,操作系統(tǒng)的引入,為應(yīng)用開發(fā)帶來如下優(yōu)點:

    (1)應(yīng)用編程,更聚焦和友好:單個任務(wù),只需聚焦于自身算法邏輯的實現(xiàn),支撐性和維護(hù)性工作均借助于操作系統(tǒng)來完成;因此,對于各專業(yè)領(lǐng)域人員而言,編程開發(fā)體驗更高效和友好。

    (2)多任務(wù)和多用戶:在一臺計算機上,通過操作系統(tǒng)的隔離機制,多個任務(wù)可安全、獨立且并發(fā)地執(zhí)行;利用通信基礎(chǔ)設(shè)施,可更好地實現(xiàn)任務(wù)間的同步和協(xié)調(diào),從而有利于解決更復(fù)雜的問題。

    (3)提升硬件利用率:操作系統(tǒng)會調(diào)度各種工作負(fù)載,在“性能過剩”的硬件上以提高利用率和兼顧高效執(zhí)行為目標(biāo),完成各種任務(wù);一般以充分利用計算資源(特別是避免CPU閑置)為策略,從而提高了系統(tǒng)的整體任務(wù)吞吐量(throughput)。

    (4)軟件生態(tài)基礎(chǔ):統(tǒng)一而規(guī)范的接口和基礎(chǔ)設(shè)施,是代碼移植和復(fù)用的前提,也是各種軟件協(xié)同合作的基礎(chǔ);會方便終端用戶在同一平臺上,累積和復(fù)用各種軟件的使用習(xí)慣和經(jīng)驗;從而產(chǎn)生一個良性發(fā)展的、合作共贏的軟件應(yīng)用的市場環(huán)境。

    實時操作系統(tǒng)(RTOS),首先是作為操作系統(tǒng)而存在,然后才是滿足實時性保障特征,其應(yīng)具備一般操作系統(tǒng)基本功能和由此帶給應(yīng)用程序開發(fā)的便捷和優(yōu)勢,然后才是保證滿足實時要求的措施,必須優(yōu)于裸機實時編程方式,提供更加可靠的實時性和穩(wěn)定性保障。通常一個實時操作系統(tǒng),應(yīng)具備基于優(yōu)先級的任務(wù)調(diào)度,支持搶占的內(nèi)核和高精度時鐘等模塊,和針對中斷處理、優(yōu)先級反轉(zhuǎn)等延時問題的解決方案等基礎(chǔ)措施,來支持和保障計算任務(wù)的實時性特征。按設(shè)計方式,可分為專用和基于通用改造的實時操作系統(tǒng);前者包含如商用VxWorks和開源的FreeRTOS等,后者包含基于Linux的Preempt_RT實時補丁方案、雙操作系統(tǒng)內(nèi)核架構(gòu)的Xenomai方案等。

    此外,還有基于虛擬化技術(shù)的實時解決方案,如ACRN、RTS Hypervisor和KVM等,其引入的虛擬機監(jiān)控管理計算資源,實現(xiàn)了類操作系統(tǒng)的硬件管理和隔離等功能。工業(yè)控制參考實例,如在同一臺IPC上運行多個虛擬機,可在其Windows虛擬機中運行常用的用戶界面程序和數(shù)據(jù)處理、仿真程序,而在實時虛擬機(如基于Linux實時操作系統(tǒng))運行實時控制類計算負(fù)載等關(guān)鍵任務(wù)程序。

    相較而言,開源的方案,易于獲取和使用,但需要投入較多前期培訓(xùn)和維護(hù)成本;商業(yè)方案,一般具有良好的技術(shù)支持保障,并且便于某些領(lǐng)域的安全認(rèn)證和規(guī)范要求,但授權(quán)費用一般較高。而通用操作系統(tǒng)對比專用操作系統(tǒng),具備更廣譜軟件硬件支持,更新升級快,能夠完成更廣泛的計算任務(wù),且可通過配置和調(diào)試,對特定計算任務(wù)進(jìn)行優(yōu)化。基于通用架構(gòu)和系統(tǒng)的開源實時解決方案,在高效地應(yīng)對復(fù)雜性的同時,還提供確定性、可靠性和靈活性的計算能力;且經(jīng)長期的發(fā)展和累積,其上的軟、硬件生態(tài)豐富,為滿足多樣化負(fù)載整合的需求,提供了便利。但在具體實踐中也要面對如下復(fù)雜性:

    (1)硬件平臺復(fù)雜:組件品類和型號多樣,最優(yōu)選型比較困難,需要平衡性能、價格和擴展性。

    (2)軟件系統(tǒng)復(fù)雜:獲取到開源代碼,遠(yuǎn)不是對平臺系統(tǒng)完全掌控,代碼龐雜,需要理清依賴關(guān)系。

    (3)調(diào)優(yōu)過程復(fù)雜:缺少系統(tǒng)性的指導(dǎo)和解釋,并且開源社區(qū)對新問題的響應(yīng)也無法保證及時。

    為此需要專業(yè)團(tuán)隊,一方面具備實時計算基本知識和技能,另一方面理解工業(yè)控制任務(wù)的實際需求,對具體應(yīng)用,提供針對性的實時解決方案。

    4 ECI:基于X86架構(gòu)的參考平臺軟件

    “英特爾工業(yè)邊緣控制平臺[2]”(Intel? Edge Controls for industrial)方案——簡稱ECI,是以面向工業(yè)自動化領(lǐng)域應(yīng)用和軟硬一體化實現(xiàn)的這兩個目標(biāo)為自身定位;基于“通用開放架構(gòu)”和“軟件定義”的兩個基本設(shè)計理念進(jìn)行開發(fā),突出軟硬協(xié)同優(yōu)化的特征;包含“一硬一軟”兩個基礎(chǔ)構(gòu)件,用以實現(xiàn)各種邊緣控制任務(wù)的整合應(yīng)用:

    (1)硬:以基于X86架構(gòu)的通用計算硬件平臺,用作為緣控制軟件的執(zhí)行載體。

    (2)軟:具備實時性保障的通用操作系統(tǒng)和虛擬化方案,用作邊緣控制應(yīng)用軟件的運行基礎(chǔ)。

    ECI架構(gòu)如圖1所示。

    image.png

    圖1 ECI架構(gòu)圖:功能與組件

    此平臺軟件,提供了兩種主流的基于Linux通用操作系統(tǒng)的開源實時解決方案:內(nèi)核實時補丁Preempt_RT方案和雙內(nèi)核Xenomai方案;并且基于計算硬件特性,針對其對實時任務(wù)可能影響,提供了推薦配置和調(diào)優(yōu)方法。如:通過主板固件(UEFI/BIOS)選項和內(nèi)核啟動參數(shù)等手段,來配置與運算速率相關(guān)的時鐘頻率、功耗和溫控等管理功能,以減少CPU頻率波動對實時應(yīng)用的影響;共享緩存(LLC)的隔離和分配技術(shù),以降低共享資源爭搶式訪問對實時應(yīng)用造成的干擾;此外,在某些處理器上還集成了專門為實時任務(wù)設(shè)計的Intel TCC技術(shù)、相關(guān)軟件工具及配置方法等。

    Preempt_RT Linux內(nèi)核模型如圖2所示,Xenomai雙內(nèi)核模型如圖3所示。

    image.png

    圖2 Preempt_RTLinux內(nèi)核模型[3]

    image.png

    圖3 Xenomai雙內(nèi)核模型[3]

    英特爾ECI平臺,不但包含了底層操作系統(tǒng)級軟件,而且也有針對工業(yè)控制的各種應(yīng)用組件,如:集成了工業(yè)控制所需的軟PLC運行時——CoDeSysruntime;現(xiàn)場通信所需的工業(yè)實時以太網(wǎng)方案——EtherCAT和TSN等;以及包含了實時任務(wù)優(yōu)先級調(diào)度和內(nèi)存頁鎖定等方法;并且在推薦的IPC硬件平臺上,進(jìn)行系統(tǒng)的實時性能測試,可供最終用戶硬件平臺選型參考。因為采用了軟硬件一體的設(shè)計和調(diào)優(yōu)方式,可提供高效而可靠的實時性能;并且基于Intel的處理器設(shè)備具備廣泛的軟硬件生態(tài)伙伴,從而降低了最終用戶的開發(fā)和調(diào)試周期,降低開發(fā)、維護(hù)和擴展升級成本,更好地滿足現(xiàn)有工業(yè)開放和通用的要求。

    需要注意的是,工業(yè)實時應(yīng)用的成功落地是一個需要軟件和硬件一體化且高度協(xié)同調(diào)優(yōu)的過程,特別需要針對具體的場景和應(yīng)用實例進(jìn)行長時間且充分的驗證和性能測試。為此,ECI還針對不同應(yīng)用場景,比如:離散制造涉及的PLC控制、伺服電機的運動控制、機器人(機械臂和移動小車AMR)的控制,以及流程行業(yè)控制應(yīng)用,提供了樣例(sample)代碼;在推薦的一系列IPC平臺上進(jìn)行了相關(guān)的功能和實時性能測試,并且提供了相關(guān)文檔說明,以及結(jié)果評價和參考建議。由此,為工業(yè)領(lǐng)域的客戶利用ECI平臺進(jìn)行產(chǎn)品設(shè)計和驗證測試,提供參考依據(jù)和可行性方案。

    5 結(jié)論與建議

    一個可以落地的實時控制解決方案,在需求、設(shè)計、實現(xiàn)和調(diào)優(yōu)的產(chǎn)品全生命過程中,需要注意以下三方面的影響:

    (1)現(xiàn)場設(shè)備的實時通信方案

    工業(yè)控制中的實時應(yīng)用程度的性能受到外部現(xiàn)場設(shè)備的約束,要進(jìn)行等時間隔I/O通信,如工業(yè)以太網(wǎng)方案中對網(wǎng)卡的訪問。進(jìn)行工業(yè)控制實時任務(wù)設(shè)計和驗證時,不但要考慮占用CPU資源的計算密集型負(fù)載和也要關(guān)注對網(wǎng)卡等的IO密集型負(fù)載消耗的時間,對IPC上運行的實時任務(wù),通過底層RTOS提供的機制和硬件調(diào)優(yōu)的保障,可以讓實時任務(wù)按規(guī)律的時間周期穩(wěn)定地喚醒和睡眠具體的實時線程。

    (2)控制器IPC的硬件選型與調(diào)優(yōu)配置

    當(dāng)前主流商用工控機基礎(chǔ)平臺和環(huán)境,為多核處理器架構(gòu)的計算機硬件平臺,所以還要考慮實時多線程和共享資源隔離分配等方式,以提升整體并行計算能力,實現(xiàn)多任務(wù)的實時性調(diào)度。一個實時控制軟件,其各項功能和任務(wù),要針對具體的目標(biāo)硬件平臺(IPC)和應(yīng)用場景,進(jìn)行充分的測試和驗證,才能進(jìn)行應(yīng)用。在通用計算機硬件平臺,實時控制應(yīng)用開發(fā)者,應(yīng)該對計算機硬件平臺有足夠深度的了解,掌握CPU時鐘工作頻率、定時器的影響,頻率變化的影響和引起頻率變化的因素,以及CPU的硬件特性(features)即頻率分配和管理,特別是電源和功耗管理,對共享Cache管理等在系統(tǒng)固件和操作系統(tǒng)中的配置和調(diào)試方法。

    (3)參考資源

    還應(yīng)充分利用開源和可供借鑒的參考資源 ,用于實時控制軟件方案設(shè)計 、方向探索和具體落地實踐的過程中 。英特爾的ECI平臺 ,基于主流開源Linux的實時方案 ,并針對具體IPC硬件選型 ,提供了在實時控制的系統(tǒng)硬件 、固件 、軟件——三位一體式的調(diào)優(yōu);并且針對離散制造、工業(yè)機器人和流程行業(yè)等場景的典型需求,抽象出帶真實負(fù)載的測試場景,進(jìn)行驗證,并在相關(guān)文檔中推薦配置和調(diào)優(yōu)方法。綜上,ECI平臺可供工業(yè)實時控制方案探索和落地時參考。

    作者簡介:

    胡巍(1982-),男,黑龍江齊齊哈爾人,碩士,現(xiàn)就職于英特爾亞太研發(fā)有限公司,研究方向為工業(yè)自動化技術(shù)與邊緣控制。

    參考文獻(xiàn):

    [1] Linux基金會. In the trenches with Thomas Gleixner, real-time Linux kernel patch set[EB/OL].

    [2] 英特爾. 英特爾邊緣控制軟件平臺[EB/OL].

    [3] 黃敬群. Making Linux do Hard Real-time[EB/OL].

    摘自《自動化博覽》2022年11月刊

    熱點新聞

    推薦產(chǎn)品

    x
    • 在線反饋
    1.我有以下需求:



    2.詳細(xì)的需求:
    姓名:
    單位:
    電話:
    郵件: