工業(yè)自動化中實時嵌入解決方案的優(yōu)化操作的系統(tǒng)和方法
【技術領域】
[0001]本發(fā)明涉及用于工業(yè)自動化中的實時嵌入式解決方案、具體為控制應用和系統(tǒng)的優(yōu)化操作的系統(tǒng)和方法,其中對于各設置和/或控制應用,生成定時數(shù)據(jù)結(jié)構以確定工業(yè)自動化中的控制應用的執(zhí)行時間,以便確保和提供相應工業(yè)控制解決方案的優(yōu)化實時操作。
【背景技術】
[0002]當設計新的自動化系統(tǒng)或工廠時,也必須開發(fā)控制應用。許多應用組件取自例如用于石油和天然氣或化學工業(yè)的域特定應用資料庫。因此,這些組件從設計的開始是可用的,但是其他部分將必須從頭開始開發(fā)??刂茟煤蛙浖⒎謩e運行于控制裝置(控制器),其位于工廠中,通常接近由控制應用和/或基礎控制算法所監(jiān)控的過程。因此,所需控制器的數(shù)量和位置取決于工廠設計和被控制的過程。
[0003]控制器包括CPU、數(shù)據(jù)處理單元、計算模塊、通信模塊中的至少一個,具體用于讀取傳感器數(shù)據(jù)或者與其他控制器、電源、接口和各種配件交換數(shù)據(jù)。例如在大多數(shù)情況下,計算模塊和/或處理單元在不同性能等級(其涉及它們能夠執(zhí)行的計算的數(shù)量和復雜度)是可用的,但是更強大的計算模塊在生產(chǎn)中引起或要求更高技術工作量(設計、冷卻、環(huán)境條件或要求)和更高故障率,并且最終在生產(chǎn)中以及也在使用中費用更高。此外,看來期望具有可在更廣泛的控制裝置中使用的處理單元。
[0004]相應控制應用或軟件以及相關或基礎算法循環(huán)地運行,其中I/O裝置讀取值,運行控制應用和所包含的控制算法,并且將所產(chǎn)生控制參數(shù)傳遞和/或回寫到裝置。這些操作按照預定間隔、例如在大約500 ms的范圍實時地激活,并且必須在這個時幀之內(nèi)完成。因此,控制器硬件必須按照如下方式來選擇:控制算法能夠在給定最終期限和/或時間間隔之內(nèi)運行。但是,按照復雜度以及由于成本和/或工作量原因,非常期望使用最廉價和/或最簡單的計算模塊和/或處理單元,其能夠運行相應任務。
[0005]在自動化工業(yè)中,控制裝置、具體是機器、發(fā)動機和驅(qū)動器或者過程工業(yè)中的過程的行為的控制系統(tǒng)可需要在特定時間量之內(nèi)、具體來說實時地響應輸入、具體是信號輸入,以確保所述裝置和/或過程的正確操作。
[0006]如果構成響應時間以及相應的執(zhí)行時間的一個組件存在,則可能必要和/或可取的是確定軟件或應用最壞情況執(zhí)行時間,使得相應控制系統(tǒng)的設計人員/操作人員能夠使用這個信息、具體按照其硬件和/或軟件以及至少其操作來優(yōu)化系統(tǒng),以確保系統(tǒng)足夠快地并且具體來說實時地進行響應。
[0007]在本申請的上下文中的實時系統(tǒng)或應用可被理解為一種系統(tǒng)或應用,其保證在可預定的嚴格時間限制或時間極限或時幀(又稱作“最終期限”)之內(nèi)進行響應。具體來說,實時響應常常在數(shù)毫秒或數(shù)微秒的范圍中。
[0008]計算一塊或一段代碼運行將花費的時間始終是一個難題。在大多數(shù)情況下,它是不可能的,因為它涉及不可判定的停機問題。
[0009]在實時系統(tǒng)、特別是自動化工業(yè)的實時控制系統(tǒng)中,計算一段代碼在特定硬件平臺、具體是特定執(zhí)行單元、例如CPU、具體是微處理器或另一處理裝置上運行可能花費的最長時間(最壞情況執(zhí)行時間WCET)實際上是重要的并且是確保和提供所述系統(tǒng)的可靠性和/或正確功能行為或操作的必要性。
[0010]為了獲得WCET的估計而不管其一般不可判定性,必須使用或應用近似技術,其中存在近似計算特定硬件平臺上的軟件組件或應用組件的WCET的兩種已知的主要方式。
[0011]第一方式涉及一段代碼的測試或原位測描(in-situat1n profiling),并且使用多樣執(zhí)行的執(zhí)行時間通過試探來計算WCET,以及第二方式涉及應用代碼的靜態(tài)分析,并且使用表示所應用硬件的模型或數(shù)據(jù)結(jié)構來確定或計算WCET。
[0012]第一變體要求在測量期間能夠?qū)崿F(xiàn)充分代碼覆蓋,并且已經(jīng)觀測每一個程序或應用語句的最壞情況執(zhí)行時間。實際上,無法始終滿足這些要求,并且因此WCET可能欠近似(under-approximated)。對于具有嚴厲實時要求的系統(tǒng)、例如特別是自動化工業(yè)或過程工業(yè)中的控制系統(tǒng),這是不健全并且可能不安全的。
[0013]靜態(tài)WCET分析要求人工開發(fā)目標處理器的硬件模型,其基于形式方法來估計執(zhí)行時間。這是冗長并且費用高的過程。模型下面的抽象按照保守方式近似計算執(zhí)行時間,由此導致對實際WCET的過度近似。由于保證所產(chǎn)生WCET估計是程序或應用的每一個可能執(zhí)行時間的上限,所以該方式能夠安全地應用于具有嚴厲實時要求的系統(tǒng)中。
[0014]在自動化技術或者自動化工業(yè)中,存在從充分控制的硬件到具有許多可能執(zhí)行單元(例如CPU(中央處理器)、GPU(全局處理單元)、FPGA(現(xiàn)場可編程門陣列)、DSP(數(shù)字信號處理器))的商品硬件的緩慢迀移和發(fā)展。
[0015]在這類系統(tǒng)中,硬件組件和/或配置的多樣性使得人工開發(fā)每一個可能目標平臺或目標平臺配置的新靜態(tài)定時模型是不切實際并且?guī)缀跏遣豢赡艿摹?br>[0016]此外,安全關鍵系統(tǒng)的軟件或應用通常變得很大,其中包括龐大數(shù)量的代碼行、具體是數(shù)百萬行代碼,并且相應地對于窮舉測試是過大的。因此,僅使用測試或測描是危險的,因為不可能觀測程序的每一個可能執(zhí)行以確定WCET、從而提供和確保所述系統(tǒng)的可靠操作。
[0017]當下沒有以充分質(zhì)量以及最小化技術和/或計算復雜度和工作量來有效地解決這些問題的技術解決方案是可用的。
【發(fā)明內(nèi)容】
[0018]因此,本發(fā)明的目的是提供一種具體用于實時過程的有效和精確執(zhí)行時間確定、以確保和提供自動化工業(yè)中的控制系統(tǒng)的優(yōu)化操作的解決方案。
[0019]此目的通過如技術方案I所述的用于工業(yè)自動化中的實時嵌入式解決方案、具體是控制解決方案的優(yōu)化操作的方法來解決,其自動創(chuàng)建所使用控制硬件的電子再現(xiàn),并且將測試和靜態(tài)分析的組合應用于所述再現(xiàn),以便盡可能準確地確定作為所述硬件的優(yōu)化配置和操作、具體來說是用于相應代碼段和控制系統(tǒng)的執(zhí)行的適當處理單元的確定和/或選擇的基礎的WCET。
[0020]在本申請的上下文中的控制解決方案可在軟件或程序上以及在硬件側(cè)或者它們的組合。
[0021]在其他技術方案和以下描述中提供按照本發(fā)明的方法以及用于工業(yè)自動化和/或自動化工業(yè)中的實時嵌入式解決方案的優(yōu)化操作的系統(tǒng)(其中包括定時數(shù)據(jù)結(jié)構生成單元和至少一個接口)的其他細化和開發(fā)。
[0022]按照本發(fā)明的所公開方法生成定時數(shù)據(jù)結(jié)構,并且包括下列步驟:使用域特定性質(zhì)并且基于復現(xiàn)代碼序列(recurring code sequences)來表征和/或確定控制應用的執(zhí)行時間,其中,為了生成定時數(shù)據(jù)結(jié)構,復現(xiàn)代碼序列從訓練應用集合中自動提取和/或在相應應用中識別;以及自動生成測試數(shù)據(jù)以確定其準確執(zhí)行時間供定時數(shù)據(jù)結(jié)構的細化并且將相應控制應用的結(jié)構分解為代碼序列,所創(chuàng)建數(shù)據(jù)定時結(jié)構和定時模型分別對其提供執(zhí)行時間估計,其然后可具體通過由底向上方式的累積來訪問和處理,并且控制應用的最好情況執(zhí)行時間和/或最壞情況執(zhí)行時間的至少一個估計被確定和/或報告,并且用來優(yōu)化相應工業(yè)控制解決方案的實時操作。
[0023]這確保高效率以及高質(zhì)量。
[0024]在所提出方法的另一個實施例中,在第一過程階段
-通過僅考慮單指令來構造和/或確定控制器CPU或數(shù)據(jù)處理單元的初始定時模型,
以及
-針對指令的流水線執(zhí)行的最好情況和優(yōu)化最壞情況假設、但是高速緩存的內(nèi)容的最好情況假設被確定和/或存儲在數(shù)據(jù)庫中。
[0025]這對復雜處理器看來是錯綜復雜的,因為必須確定目標控制器的CPU的每一個指令類型的執(zhí)行時間。
[0026]在這點上,必須指明,按照本發(fā)明的過程階段可包括若干過程步驟。
[0027]此外,僅與單指令相關的這個信息能夠從CPU數(shù)據(jù)表來提取或者通過使用綜合基準來測量單指令類型的執(zhí)行時間。
[0028]此外,這個過程階段必須對控制器的每一個新CPU重復進行。所產(chǎn)生指令級估計則可用來自動確定等級控制應用的作為粗粒度間隔的性能估計,只要能夠計算單獨機器指令的出現(xiàn)。
[0029]CPU的定時模型使用控制訓練應用集合來細化,以訓練模型或數(shù)據(jù)結(jié)構。
[0030]在另一個實施例中,初始定時模型或初始數(shù)據(jù)結(jié)構的細化通過識別復現(xiàn)代碼序列在單獨簡圖或代碼塊的等級進行,其中代碼序列可表示指令序列或者IEC 61131-3構造的序列。
[0031]在另一實施例中,對于這些復現(xiàn)序列,通過執(zhí)行相應程序部分的詳細分析和/或測量來得到和/或確定更準確估計,其中具體實現(xiàn)可基于指令追蹤或機器學習的統(tǒng)計分析。
[0032]在任何情況下,實現(xiàn)可以能夠跟蹤代碼序列的執(zhí)行時間間隔,表示最好情況或