Real-time workshop

Real-time workshop

Real-Time Workshop®( RTW ) 從Simulink模型生成最佳化的,可移植的和可定製的ANSI C代碼。利用它可以針對某種目標機來創建整個系統或是部分子系統可下載執行的 C 代碼,以開展硬體在迴路仿真。 RTW 支持離散時間系統,連續時間系統和混合系統的代碼生成。 Stateflow Coder 用來生成 Stateflow 所建立有限狀態機模型的代碼。生成代碼的典型套用包括訓練模擬器,實時模型驗證和原型測試。建立在 Simulink 和 RTW 基礎之上的,基於模型的設計流程,支持工程開發過程從算法設計到最終實現的所有開發階段。

基本介紹

  • 外文名:Real-time workshop
  • 簡稱: RTW 
  • 性質:可移植的和可定製的ANSI C代碼
  • 特點:支持添加用戶自定義模組等
特點,強大的功能,快速仿真,

特點

從 Simulink 模型生成最佳化的和可定製的代碼
支持所有的 Simulink 功能特性 , 包括對 8 , 16 和 32 位整數 , 浮點數和自定義 ( 定點 ) 數據類型的支持
產生的代碼能夠準確表達模型,不依賴於處理器平台
支持單任務和多任務作業系統,以及“ bareboard ”(裸機,無作業系統)運行環境
支持添加用戶自定義模組,包括信號處理算法和設備驅動程式
通過可復用子系統函式,使用自動模式匹配,縮減生成的代碼尺寸
生成可超級連結到 Simulink 模型的 HTML 報告
可與 Stateflow Coder 生成完全集成的代碼
通過向 Simulink 模型上傳數據,實時對信號監測
使用 Simulink 模型作為前端進行參數實時調節
通過生成最佳化的模型可執行代碼產生快速仿真程式
可生成獨立於 MATLAB®和 Simulink® 運行的可執行程式
提供參考快速原型目標(例如 WindRiver®System 的 Tornado® )和用戶可定製的全功能通用目標模板
使用 Real-Time Windows Target 和 xPC Target ( MathWorks 另外提供),將標準 PC 硬體作為快速運行環境使用
可擴展的設備驅動,支持多種第三方硬體和軟體工具

強大的功能

為 Simulink 模型生成代碼
RTW 生成的代碼 , 準確的表達了對應的 Simulink 模型 , 並且不針對特定的處理器。代碼的執行使用另外一個與具體目標有關的運行接口來進行。 RTW 支持所有的 Simulink 特性,包括 8 位, 16 位和 32 位整數,浮點和自定義 ( 定點 ) 數據類型。它在很大範圍內允許定製生成的代碼。
RTW 支持單任務,多任務作業系統以及“ bare board ”(裸機,無作業系統)的運行環境。它還能生成定製模組的內嵌式代碼,包括對信號處理算法和設備驅動程式。

快速仿真

可以生成最佳化的模型可執行程式代碼,提高仿真運算速度。這些代碼能夠獨立於 MATLAB 和 Simulink 環 境運行。
Real-Time Workshop Target
RTW 可將 Simulink 模型“翻譯”成 ANSI C 代碼,為測試運行和調試提供了可執行程式代碼。目標模板為生成運行於用戶特定平台環境的應用程式提供了設定工具。 Real-Time Workshop 支持產品開發各個階段所用的多種目標環境。其中有些直接設定後就可運行使用,有些是第三方的目標環境。目標也可以是定製的。
S-Function Target
S-Function Target 可把一個 Simulink 框圖模型或是子系統轉變成為一個 Simulink S-function (系統函式)。使用 S-Function Target 可以把模型變成為模組,並在以後工作中更大的系統中復用。這樣做能夠提高仿真運算的速度和代碼復用性,並可在保證隱蔽源模型細節的前提下共享模型。一個模 型中可以使用多個相同 S-function 的實例,每個實例採用各自獨立的數據結構。
快速仿真
Rapid Simulation Target ( RSIM )在主機上以非實時方式運行模型代碼。 RSIM 使用 RTW 生成模型獨立的快速運算仿真程式。 RSIM 支持從 MATLAB 標準 MAT 檔案中批量載入和調整輸入信號數據,無需重新編譯模型。程式可以使用定步長或是變步長算法,在本機或其它計算機上進行獨立仿真運算。
Tornado
RTW 還提供了一系列 run-time interface 檔案,以在 VxWorks 上, Wind River System 公司所開發的實時作業系統( RTOS )上,運行模型程式。 Tornado Target 支持單任務/多任務模式和離散時間/連續時間混合系統模型。在向其他目標實時作業系統環境移植時, Tornado run-time interface 和設備驅動檔案可以作為新工作的起點。 Run-time interface 還提供了通過 Tornado 開發環境使用 RTW 調試功能的能力。
Real-Time Target
用 Real-Time Target 生成代碼的模型中,可使用互動式的 Simulink 模組,調節、記錄和顯示模型實時運行時的結果。創建定製的快速原型目標或在自己的工作站上驗證生成的代碼時,這些 Real-Time Target 可以作為工作的起點。
Real-Time Malloc
它與 real-time target 相似。主要差別在於存儲區的訪問類型聲明。使用這種代碼格式,在一個可執行程式中可以包含同一模型的多個實例或是多個模型的代碼。
Real-Time Workshop 生成的代碼帶有詳盡的注釋,包括 Simulink 模型中模組的名稱和信號標籤。它將模型模組與代碼對應了起來,便於跟蹤調試。
單任務和多任務運行環境
RTW 同時支持單任務和多任務運行環境。在單任務環境中,通過中斷服務例程調用的任務,必須在一個採樣周期內完成所有處於激活狀態,採樣率不同的所有模型計算。
多任務環境具有多種採樣速率,對應每個任務有各自的優先權,它決定了在給定的時間間隔里,模型的哪一部分需要執行計算。
RTW 提供多種代碼最佳化方式供選擇,用來縮減代碼的長度和存儲空間占用。代碼最佳化包括:
代碼重用 ( Code reuse )
表達式摺疊 ( Expression folding )
塊功能合併 ( Block reduction )
信號存儲區重用 ( Signal storage reuse )
條件輸入分支執行( Conditional input branch execution )
可定製的代碼生成過程
Target Language Compiler ( TLC 目標語言編譯器 ) 允許定製由 RTW 生成的代碼。 TLC 檔案是直接控制 Real-Time Workshop 代碼生成方式的 ASCII 碼檔案。通過編輯 TLC 檔案,可以改變某個模組的代碼生成方式,也可用於將手寫代碼合併到模型代碼中。 TLC 具有如下特性:
每個 Simulink 和可選模組集 ( 如 DSP Blockset 和 Fixed-Point Blockset ) 中的模組都有一組對應的 TLC 檔案
TLC 檔案中說明了頭檔案和參數信息
目標環境通過系統目標 TLC 檔案選擇指明
分析代碼生成中 TLC 階段的調試工具
加入用戶的代碼
Simulink 中用戶可以創建定製的模組,把已有的代碼加入進來。 TLC 可以通過代碼內嵌的方法,最佳化從自定義模組產生的代碼。專用算法和設備驅動程式同樣可以被合併到模型代碼中。使用 Sfunction Builder 模組可以自動生成用於集成用戶自定義代碼的 TLC 檔案。
對中斷的支持
使用 中斷模組可以創建具有處理異步和同步事件能力的模型,包括中斷服務例程( ISR ),硬體產生的中斷和異步的讀/寫操作。這些模組主要是為 Tornado 的目標編寫的,修改後也可用於用戶自己的目標環境。
基於模型的調試
使 用 外部模式直接在 Simulink 與實時目標之間進行的通訊將加快設計循環的步驟。一些特定的目標,如 Tornado 和 Real-Time Windows Target ,提供對 Simulink 外部模式的支持。當代碼在實時目標上運行時,在 Simulink 模型中可以對算法的代碼進行調試。在外部模式下,新的模組參數可以下載到生成的目標程式中,實時程式的輸出信號也可以上傳到 Simulink 模型的 Scope, Display , Workspace , Signal Viewing 子系統, XY Graph , S-Function 和 Dials & Gauges Blockset 的模組中。
嵌入式監測和參數調節
RTW 提供的一些機制可以監測和調節模型信號和模組參數。這些機制包括:
測試點( Test-points ) — 將模型中的信號標誌為測試點,並可指定如何分配信號變數的存儲空間
C 和 TLC 的 API — 為訪問模組存儲在 Real-Time Workshop 所生成的全局數據結構中的輸出和參數提供了額外的手段。
參數類
Simulink 和 RTW 支持兩種參數類 : MATLAB 變數和 Simulink 數據對象。在 Model Parameter Configuration 選單中可以選擇模型中的 MATLAB 變數 , 並將它們聲明在生成代碼中為可調參數。被聲明為可調的參數和信號在代碼中可被其它代碼直接訪問。這個選單還可以用來指明可調參數在代碼中存儲空間的分配方 式。
Simulink 數據對象為模型中的信號和參數提供了更多的控制功能。這些 Simulink 專屬的數據類型將 Simulink 專屬的信息封裝了起來,不會被一般用途的數值類型捕捉到。這些信息直接控制信號和參數在生成的代碼中的表達。 Simulink 數據對象同樣可以擴展,把用戶定義的屬性包括進去。

相關詞條

熱門詞條

聯絡我們