AutomationDesk
範例詳細說明
AutomationDesk 提供兩類範例:8 課的互動式 Tutorial(含每課對照 demo 專案),以及依存取程式庫分類的自動化 demo 專案(ControlDesk、ModelDesk、MATLAB、診斷、Real-Time Testing 等)。本頁逐一詳解其內容與使用方式。
AutomationDesk 是用於組織與建立自動化測試任務的軟體,提供圖形化編輯器描述 control-flow-based 與 signal-based 自動化,並以可擴充的程式庫提供豐富的自動化功能。其範例分為兩大類:Tutorial 教學範例(每課附對照 demo)與存取程式庫 demo 專案。本頁內容整理自 dSPACE 原廠 AutomationDesk Tutorial 與各 Accessing 手冊(RLS2024-B)。
1. 範例類型總覽
Tutorial 教學範例
以「做中學」引導的 8 課教學,涵蓋建立專案、參數化、執行與報告、自訂程式庫、Python、控制流與訊號式測試。每課附一個對照 demo 專案(位於 Tutorial Demos 資料夾)。
存取程式庫 demo 專案
示範如何以 AutomationDesk 存取其他 dSPACE 工具(ControlDesk、ModelDesk、MotionDesk、MATLAB、MC/診斷系統、Real-Time Testing),各自附獨立 demo 專案。
2. Tutorial 的三個 Example Tasks
Tutorial 以三個逐步進階的範例任務貫穿,展示 AutomationDesk 的典型應用領域:
基本元素
把自動化任務轉為 AutomationDesk 專案與 sequence(控制流)。不需平台存取。
使用 Python
以自己或他人提供的 Python 程式碼擴充 AutomationDesk。不需即時硬體。
實作測試
依測試策略(控制流式/訊號式)實作測試。需存取平台(即時硬體或 VEOS)。
完成整個 Tutorial 約需 4 小時。
3. 如何取得與使用範例
- 複製 demo開啟 demo 前,須先以 AutomationDesk Options 對話框 → User Settings 頁 → Copy Demos 指令將 demo 專案複製到 Documents 資料夾。
- 每課對照 demo每課結尾可用
<DocumentsFolder>\Tutorial Demos內對應的 demo 專案核對結果;因名稱不同,可與自己的專案同時開啟比對。 - 作為起點只想做某一課時,可開啟對應 demo、另存新名(保留原檔),再從該課開始。
4. Tutorial 八課詳解
| 課程 | 主題與內容 |
|---|---|
| 1 | 建立第一個專案:建立/結構化專案、建立與編輯 sequence、導覽、存檔與關閉。 |
| 2 | 參數化自動化 sequence:修改 automation block 屬性、以值/參考參數化、經 _AD_ 別名存取 data object 值。 |
| 3 | 執行 sequence:執行、指定報告參數、產生報告(report)。 |
| 4 | 建立自訂程式庫(僅程式庫開發者需要):建立 block/subsequence/sequence 範本,並提供給他人。 |
| 5 | 使用自訂程式庫:以 block 範本、subsequence 範本、sequence 範本組建自動化 sequence。 |
| 6 | 使用 Python 腳本:以 Python 擴充功能(含只用區域變數、及存取專案 data object 的情境)。 |
| 7 | 模擬平台上的控制流式測試:以代表控制流的 sequence 實作,經 XIL API Convenience 程式庫的 automation blocks 存取平台。 |
| 8 | 模擬平台上的訊號式測試:以 Signal-Based Testing 程式庫的 sequence 範本實例實作標準化測試場景,經訊號描述設定刺激/擷取,可指定參考訊號並評估結果。 |
5. 第一個自動化任務詳解(基本元素)
Tutorial 的第一個任務是一個簡單程式:在迴圈中讀取資料並依條件印出訊息。
- 假設有一電子裝置具 8 個數位輸出,分為 2 組、每組 4 個 bit。
- 各輸出依輸入產生 TTL 訊號(high/low = 1/0),所有輸出的 setpoint 為 1。
- 為簡化,不直接讀硬體,而以 2×4 資料陣列模擬輸出值。
- 以 兩層 For 迴圈(外層對組、內層對 bit)逐一分析,依 bit 值印訊息;全部讀完印結束訊息。
此任務貫穿 Lesson 1–5:建立專案 → 參數化 → 執行並產生報告 →(開發者)建立自訂程式庫 → 使用自訂程式庫。
6. 兩種測試策略
控制流式測試(Lesson 7)
將測試視為演算法,先依控制流實作、再以 data object 參數化後執行。彈性高,可依需求客製;經 XIL API Convenience 程式庫存取平台。
訊號式測試(Lesson 8)
將測試場景視為由輸入訊號刺激、以輸出訊號擷取反應,並與參考訊號比較評估。以 Signal-Based Testing 程式庫的 sequence/block 範本實作,主要透過訊號描述設定,內含結果評估與報告。
7. 存取程式庫 Demo 專案一覽
各存取程式庫皆附獨立 demo 專案,示範如何從 AutomationDesk 自動化對應工具:
| Demo 專案 | 示範內容 | 位置 |
|---|---|---|
| ControlDesk Access | 經 API 自動化存取 ControlDesk。 | <Documents>\ControlDesk Access |
| ModelDesk Access | 讀寫 ASM 模型參數、控制 maneuver。 | <Documents>\ModelDesk Access |
| MotionDesk Access | 開關專案/實驗、控制動畫場景。 | <Documents>\MotionDesk Access |
| MATLAB Access | 讀寫 MATLAB 資料、資料型別對應。 | MATLAB Access 手冊範例 |
| Remote Calibration (COM) | 經 COM/DCOM 存取 MC 系統做校正/量測。 | Remote Calibration (COM) ControlDesk.zip |
| Remote Diagnostics (COM) | 以 ASAM-MCD 3 D 標準存取診斷工具。 | <Documents>\Remote Diagnostics (COM) |
| Real-Time Testing | 自動化 RTT 專案(產生 BCG、初始化、執行)。 | <Documents>\RealTimeTesting |
| ExtensionExample | 以原始碼、自訂程式庫的 automation block 與專案示範擴充 API。 | Accessing ControlDesk 手冊 |
另有模擬平台存取(XIL API Convenience)與模擬電氣錯誤(FIU)等相關範例,見對應 Accessing 手冊。
8. 存取範例的共通模式
- Automation Blocks + Data Objects各存取範例以 sequence 中的 automation blocks 搭配 data objects 完成「開啟工具 → 執行操作 → 關閉工具」的流程。
- 亦可經 Exec block 呼叫 Python各 Access 程式庫提供同名 Python 模組(如
audmodeldeskaccess、audmotiondeskaccess),方法名與 block 相同,可於 Exec block 直接呼叫。 - custom library 形式Access 程式庫以自訂程式庫實作,可如一般程式庫般開啟/關閉/匯入/匯出,並可閱讀其 Python 原始碼。
原始文件出處(dSPACE RLS2024-B)
| 文件 | 檔名 |
|---|---|
| AutomationDesk Tutorial(Example Tasks、Lesson 1–8) | AutomationDeskTutorial.pdf |
| AutomationDesk Accessing ControlDesk / ModelDesk / MotionDesk / MATLAB | AutomationDeskAccessing*.pdf |
| AutomationDesk Accessing RCCOM / RDCOM / Real-Time Testing / Simulation Platforms | AutomationDeskAccessing*.pdf |
| 範例專案(Copy Demos 後位於 Documents 各資料夾) | Tutorial Demos\ · <工具> Access\ … |
路徑前綴:C:\Users\Public\Acolada\Cobrili\HelpSetStorage\dSPACEPDF\RLS2024-B\en\