CONTROLDESK · BUS · DIAGNOSTICS · REPLAY · V-ECU

ControlDesk CANBUS 訊號測試功能詳解

CAN/CAN FD 訊號注入、UDS 診斷功能測試、資料回放(Data Replay),以及 V-ECU 上的資料存取——本頁逐一介紹 ControlDesk 這四類測試能力的原理、元件與自動化方式。

CAN / CAN FD UDS 診斷 Data Replay V-ECU Access

ControlDesk 以「平台/裝置(Platform/Device)+變數描述+工作區/儀表」為核心,涵蓋量測、校正、匯流排、診斷與資料記錄。本頁聚焦四類測試能力,並說明其可用 ControlDesk COM 自動化(Python/MATLAB/VBA/C#)或 AutomationDesk 的 ControlDesk Access 程式庫驅動。內容整理自 dSPACE 原廠 ControlDesk Automation、ControlDesk ECU Diagnostics、AutomationDesk Accessing ControlDesk 等手冊。

1. 四類測試能力總覽

CAN / CAN FD 訊號注入

以 Bus 裝置存取匯流排訊號,監控(讀)與注入(寫);Bus Navigator 監控/記錄/回放;Signal Editor 定義刺激。

UDS 診斷功能測試

ECU Diagnostics 裝置(ODX/ASAM MCD-2 D、MCD server MCD-3 D);執行診斷服務、讀清 DTC。

資料回放(Data Replay)

Bus Navigator 匯流排回放、量測資料回放;支援 HIL 環境的 Data Replay。

V-ECU 資料存取

載入變數描述、連線 VEOS 平台、online calibration,讀寫 V-ECU 變數/參數。

2. CAN / CAN FD 訊號注入測試

ControlDesk 透過 Bus 裝置存取 CAN/CAN FD 通訊。以通訊矩陣(DBC/ARXML/…)建立變數描述後,匯流排上的訊號即成為可讀寫的變數:讀=監控、寫=注入。

01

建立變數描述

由通訊矩陣載入 CAN/CAN FD frame 與 signal 定義,成為變數。

02

監控(讀)

將訊號綁定儀表或以 ReadVariableValue 讀取,觀察匯流排通訊。

03

注入(寫)

以 WriteVariableValue 或 ValueConverted = 寫入訊號值,注入到匯流排。

  • Bus Navigator提供匯流排監控(monitoring)、記錄(logging)與回放(replay),可觀察與重現整體匯流排通訊。
  • Signal Editor定義刺激訊號波形,作為注入測試的輸入來源。
  • 錯誤/失效測試可搭配 XIL API EESPort 電氣錯誤模擬,測試 ECU 對錯誤匯流排通訊的反應。
# 注入一個 CAN 訊號值(COM 自動化)
sig = platform.ActiveVariableDescription.Variables.Item(
    r"Platform()://.../EngineSpeed")
print(sig.ValueConverted)     # 監控
sig.ValueConverted = 2500     # 注入

3. UDS 診斷功能測試

ControlDesk 以 ECU Diagnostics 裝置進行診斷。診斷服務與其提供方式定義於 ODX 資料庫(ASAM MCD-2 D);ControlDesk 透過 MCD server(ASAM MCD-3 D)與 ECU 溝通。測試以 logical link 為單位存取。

功能自動化方法(ControlDesk Access)
執行診斷服務(符號式)DirectExecuteService
執行 hex 服務(原始)DirectExecuteHexService
以自訂 PDU 執行服務DirectExecuteServiceUsingCustomPDU
讀取 DTCDirectReadDTCs
讀取 DTC + 環境資料DirectReadDTCsWithEnvData
讀取特定 DTC 環境資料DirectReadEnvironmentData
清除單一 / 全部 DTCDirectClearDTC / DirectClearAllDTCs
取得診斷平台 / 作用中 logical linkGetDiagPlatform / GetActiveLogicalLink
結果轉為報告資料 / 加入報告CreateDiagResultDataFromResponses / AddDiagResultDataToReport
  • 資料結構(ASAM MCD-3 D)以 ControlPrimitive(通訊原語)、Service(診斷服務)、SingleJob(單一 ECU job)組織診斷任務;服務與 job 由所選 logical link 提供。
  • 遠端診斷(Remote Diagnostics COM)AutomationDesk 的 Remote Diagnostics (COM) 程式庫可經 ControlDesk(ASAM MCD-3 D 2.0.2)自動化診斷;支援符號式與 low-level(raw data)讀取。
  • 典型 UDS 測試切換診斷 session、讀寫 DID、常式控制(routine control)、讀清故障碼(DTC)與環境資料、flash 等,皆可透過 service/hex service 執行。

4. 資料回放測試(Data Replay)

回放測試把先前記錄的資料重新播放,用以重現情境或驗證分析。ControlDesk 提供兩種層面的回放:

Bus Navigator 匯流排回放

先以 Bus Navigator logging 記錄匯流排通訊,再replay 重播到匯流排/模型,重現真實 CAN/CAN FD 情境。

量測資料回放

將 Measurement/Recording 記錄的量測資料回放,於相同 layout/儀表中檢視與比對。

HIL 環境的 Data Replay:在即時 HIL 環境中,ConfigurationDesk 亦支援 Data Replay,將記錄資料饋入即時應用,配合 ControlDesk 進行重播式測試。

典型流程:記錄(logging/recording)→ 選取時間區段 → 回放(replay)→ 觀察/評估。

5. V-ECU 上的資料存取

ControlDesk 以平台/裝置存取在 VEOS 上執行的 V-ECU。存取分「靜態內容」與「即時值」兩層:

靜態內容(免連線)

變數清單、型別、可讀/寫、群組、參數 metadata 等,可不連線直接讀 ActiveVariableDescription。

即時值(需連線)

量測當前值/對執行中模型注入,須先 Connect() + StartOnlineCalibration(),否則僅存取 host PC 的 mirror memory。

步驟 / 功能方法
載入變數描述(.sdf / .a2l)AddVariableDescription
裝置一般設定ConfigureDeviceGeneralSettings
連線 / 斷線平台ConnectPlatform / DisconnectPlatform
啟動 / 停止 online calibrationStartOnlineCalibration / StopOnlineCalibration
讀 / 寫變數值ReadVariableValue / WriteVariableValue
讀 / 寫參數值GetParameterValue* / SetParameterValue
切換記憶體頁(working/reference)SwitchMemoryPage
取得記憶體區段 / 平台狀態GetMemorySegments / GetPlatformStates

* GetParameterValue 自 ControlDesk 7.0 起不再支援直接存取資料集參數,請改用 ReadVariableValue。

6. 自動化對照與注意事項

測試核心元件自動化程式庫/方法
CAN/CAN FD 注入Bus 裝置、Bus Navigator、Signal EditorRead/WriteVariableValue、變數 ValueConverted
UDS 診斷ECU Diagnostics 裝置、ODX、MCD serverDirectExecuteService、DirectReadDTCs、Remote Diagnostics (COM)
資料回放Bus Navigator、Measurement Datalogging → replay;HIL Data Replay(ConfigurationDesk)
V-ECU 資料存取VEOS 平台、變數描述Connect + StartOnlineCalibration、Read/WriteVariableValue
  • 即時值存取須先 Connect + StartOnlineCalibration;VEOS 未連線時只存取 host PC mirror memory。
  • online calibration 勿用 PromptUser(會跳對話框卡住自動化),改用 Upload 等。
  • 兩記憶體頁裝置(如 XCP ECU)寫值前需 WorkingDataSet.Activate() / SwitchMemoryPage。
  • 診斷測試須先於 ControlDesk 實驗建立 ECU Diagnostics 裝置並載入正確 ODX;更換資料庫後須重新選 logical link/service。

延伸閱讀:ControlDesk 測試腳本撰寫方式與語言、BSC/SIC 從 SIL 延伸到 HIL。

原始文件出處(dSPACE)

文件檔名
ControlDesk Automation(平台/變數存取、Bus Navigator、事件)ControlDeskAutomation.pdf
ControlDesk ECU Diagnostics(ODX、診斷服務、DTC、flash)ControlDeskECUDiagnostics.pdf
ControlDesk Bus Navigator(監控/記錄/回放)ControlDeskBusNavigator.pdf
AutomationDesk Accessing ControlDesk / Remote Diagnostics (COM)AutomationDeskAccessingControlDesk.pdf · …RDCOM.pdf
ControlDesk Measurement and Recording / MCD-3 AutomationControlDeskMeasurementAndRecording.pdf · …MCD3Automation.pdf

路徑前綴:C:\Users\Public\Acolada\Cobrili\HelpSetStorage\dSPACEPDF\RLS2024-B(ControlDesk Automation 參照 2025-A)\en\