SYSTEMDESK · DEMOS & TUTORIAL

SystemDesk
範例詳細說明

SystemDesk 安裝隨附四個範例:Tutorial、AR_Fuelsys、Lunar Lander 與 Validation,涵蓋從軟體架構建模、系統整合到 V-ECU 產生與 SIL 測試。本頁逐一詳解各範例的內容、示範功能與使用方式。

Tutorial(14 課) AR_Fuelsys Lunar Lander Release 2024-B

SystemDesk 安裝於 .\Demos 資料夾提供多個範例(ZIP 封存),協助理解其功能。每個範例通常有 SystemDesk 專案檔(SDP)可直接開啟檢視,以及 Python demo 腳本可透過工具自動化建立不同變體。本頁內容整理自 dSPACE 原廠 SystemDesk Manual 與 Tutorial(RLS2024-B)。

1. 四個範例總覽

Tutorial.zip

互動式「做中學」,介紹 SystemDesk 最重要的功能;分為短課程反映典型操作流程。

AR_Fuelsys.zip

示範較複雜的功能,以及 SystemDesk 與 TargetLink 的互通性。

LunarLander.zip

示範如何以程式碼(非 AUTOSAR)建立 code-based V-ECU 進行 SIL 測試。

Validation.zip

內含 RuleModule.py,示範如何定義自訂驗證規則(custom validation rules)。

2. 如何開啟與執行範例

01

從 Start Page 開啟

Start Page → Demos – <Demo>(如 Demos – Tutorial)。SystemDesk 會將範例解壓到 Documents\Demos 並開啟該資料夾。

02

開啟 SDP 或執行腳本

以 SystemDesk 開啟 SDP 檔檢視;或在外部 Python 直譯器執行 demo 腳本,透過工具自動化建立專案。

03

設定腳本產生變體

於 PythonWin 依腳本標頭說明編輯 demo 腳本,File – Run 產生不同變體。

執行腳本時,SystemDesk 將專案存到腳本的上層資料夾,會覆寫既有專案檔。移除或改名範例資料夾後,重新從 Start Page 開啟即可還原範例檔。

3. 範例一:Tutorial Demo(方向燈系統)

Tutorial demo 建模一個管理車輛左右方向燈的簡單系統,是入門首選。建議先完成本教學再閱讀進階文件。

腳本專案說明
Tutorial.pyTutorialProject應用映射到 3 個 ECU、經 CAN 通訊、含 I/O HW abstraction 介面(至 lesson 14)。
Tutorial_1Ecu.pyTutorialProject_1Ecu所有 SWC 映射到 1 個 ECU(至 lesson 14)。
Lesson<xx>_complete.pyTutorialProject建立到指定課程為止的專案。

示範功能

  • Client-Server 通訊以 client-server 操作設定致動器/讀取感測器。例:FrontLeftActuator SWC 呼叫 OP_SET 設定燈泡(off/on)。
  • Multiple Instantiation重用程式碼節省 ECU 資源:BulbActuator 實例化為 FrontLeftActuator 與 FrontRightActuator。
  • AUTOSAR 檔匯入/匯出可將 AUTOSAR XML 匯入/匯出 SystemDesk 專案(如匯入網路通訊元素)。
  • AUTOSAR Project Files將 AR 元素與專案檔同步,支援版本控制與團隊共享(如 BulbActuator 指派到 AR 專案檔)。

4. 範例二:AR_Fuelsys Demo(容錯燃油噴射控制)

AR_Fuelsys 建模一個容錯的燃油噴射控制系統,展示 SystemDesk 的進階功能。控制器 FuelRateController 為 composition SWC,含四個軟體元件,另有環境模型可做閉迴路模擬。

元件角色
FuelsysSensors感測器致動器 SWC,偵測感測器訊號失效並嘗試修正;提供修正後訊號與 fuel mode(本例的 mode manager,管理 4 種模式)。
FuelsysController應用 SWC,依修正訊號計算噴射燃油率;模式依 fuel mode 切換(本例的 mode user)。
FuelsysCombi應用 SWC,於儀表顯示引擎轉速與平均油耗;只需 composite data type 的部分元素。
FuelsysCalPrms參數 SWC,提供校正參數給 Sensors 與 Controller。
EngineModel受控系統(引擎模型),可進行閉迴路模擬。

示範功能

  • 複雜訊號映射以 struct/array 等 composite data type 通訊;跨 ECU 傳輸時須把 composite 元件映射到 signal group 的 signals。
  • Mode Managementmode manager 控制 mode machine instance 切換模式;mode user 依模式啟用/停用 runnable。含 ECU State Manager 控制啟停序列(EcuM_StateRequest 介面)。
  • NVRAM 與其他示範 NVRAM 存取、自動設定/產生 NvM、產生 NV block SWC,以及 SystemDesk↔TargetLink 互通、A2L 匯出、DET 等。

AR_Fuelsys 亦提供多種變體(含/不含網路通訊、CAN/LIN),各變體說明於 SD/Scripts 內對應 Python 腳本標頭;部分變體另附 SDP 檔。

5. 範例三:Lunar Lander Demo(code-based V-ECU)

Lunar Lander 以非 AUTOSAR 程式碼建模一個簡化的登月模組自動駕駛,示範如何從外部程式碼建立 code-based V-ECU 並在 VEOS 上做 SIL 測試。

Autopilot V-ECU

基於非 AUTOSAR 原始碼的 V-ECU,代表簡化的自動駕駛控制演算法。

Lunar Landing Module

環境模型,參數取自 Apollo 登月模組。

腳本專案整合方式
CreateVecu.pyLunarLander以 V-ECU implementation container 整合進 VEOS。
CreateVecu_FMI2.pyLunarLander_FMI2以 FMU(FMI 2.0) 整合進 VEOS。
CreateVecu_FMI3.pyLunarLander_FMI3以 FMU(FMI 3.0) 整合進 VEOS。
  • 建立 code-based V-ECU從外部程式碼、模組設定與變數描述檔建立並建置 V-ECU(本例名為 Autopilot,於 V-ECU Manager 檢視)。
  • 設定 Data Access Points(VPU ports)為外部 I/O 訊號設定 DAP(VPU ports)。
  • 建立 VEOS 模擬系統經 V-ECU 容器匯出並整合到 VEOS,於 VEOS Player 執行 LunarLander 離線模擬應用(OSA)。

6. 範例四:Validation Demo

Validation.zip 內含 RuleModule.py,示範如何定義自訂驗證規則。SystemDesk 可依預定義或自訂規則驗證元素內容;亦可於自動化腳本中進行驗證(例如透過 BSW Module Scripts 自動驗證)。

7. 範例功能對照表

功能 Tutorial AR_Fuelsys Lunar Lander
Client-Server 通訊✓——
Sender-Receiver 通訊✓✓—
Array / Struct 資料型別—✓—
量測與校正 / A2L 匯出✓✓—
Multiple Instantiation✓——
Mode Management / ECU State Manager—✓—
複雜訊號映射—✓—
NVRAM 管理(NvM / NV block SWC)—✓—
網路通訊(CAN / LIN)CANCAN/LIN—
建立 model-based V-ECU✓✓—
建立 code-based V-ECU——✓
匯出 V-ECU 容器(.vecu)✓✓✓
匯出 V-ECU FMU—✓✓

8. Tutorial 的 14 個課程

課程主題
1建立第一個專案(Project / Package / 匯入 AUTOSAR 範本)
2建模並連接軟體元件(Composition Diagram、Ports、連接)
3建模 Sender-Receiver 介面(Variable Data Prototype、資料型別、Queued/Nonqueued)
4建模 Client-Server 介面(Operations、Compu Methods、指派介面)
5建模原子 SWC 的內部行為(Runnable、RTE Events、Interrunnable Variables)
6建模量測與校正存取
7指定 Data Type Mapping Sets 與 Constant Specification Mapping Sets
8整合 SWC 實作(SWC Implementations)
9建立並設定 ECU Instance
10匯入網路通訊元素(AUTOSAR 檔)
11建模系統(System)
12資料匯入與匯出
13建模 ECU Configuration 與基礎軟體(BSW)
14產生 V-ECU 實作

9. 範例資料夾結構

資料夾內容
SDSystemDesk 專案檔與 AUTOSAR 模型/實作檔子資料夾。
Scripts透過工具自動化建立範例的 Python 檔。
SLSimulink 模型檔(SLX/M);可作為 VEOS 閉迴路模擬的環境模型。
TL實作 demo SWC 的 TargetLink 模型檔。
VEOS與 VEOS 模擬相關的檔案,如離線模擬應用(OSA)。

部分資料夾非每個範例都有;產生 V-ECU 等動作時 SystemDesk 會另建新資料夾與檔案。

延伸閱讀:V-ECU 與 SIL 見 TargetLink V-ECU 模擬解決方案;MCAL 模組見 dSPACE MCAL 模組參考。

原始文件出處(dSPACE RLS2024-B)

文件 / 章節檔名
SystemDesk Manual — Demos and Sample Scripts for SystemDesk(Tutorial / AR_Fuelsys / Lunar Lander)SystemDeskManual.pdf
SystemDesk Tutorial — Overview of Lessons(Lesson 1–14)SystemDeskTutorial.pdf
範例檔(安裝於 SystemDesk .\Demos 資料夾之 ZIP)Tutorial.zip · AR_Fuelsys.zip · LunarLander.zip · Validation.zip

路徑前綴:C:\Users\Public\Acolada\Cobrili\HelpSetStorage\dSPACEPDF\RLS2024-B\en\