VEOS Player
用途說明與腳本操作方案
VEOS Player 是 VEOS 的圖形化使用者介面(Windows),用於建立與整合離線模擬應用(OSA)、連接 VPU、設定與執行 SIL 模擬;並提供完整的自動化介面(COM / Python)與命令列介面(CLI)供腳本化操作。
名詞說明:本文所述之工具為 dSPACE VEOS Player(VEOS 的圖形化介面)。dSPACE 並無名為「V-ECU Player」的獨立元件;V-ECU 是在 VEOS Player 中被匯入為 VPU 並執行的模型實作容器。全文內容整理自 dSPACE VEOS Manual(RLS2024-B)。
1. VEOS Player 是什麼(用途)
VEOS Player 是 VEOS 的圖形化使用者介面(GUI)。若要以 GUI 操作 VEOS,須在 Windows 上使用 VEOS Player;Linux 目前不提供 GUI(在 Linux 上以命令列本機控制,或由 Windows 端的 VEOS Player 遠端控制)。它負責把各模型實作容器整合成可執行的離線模擬應用(OSA)並執行 SIL 模擬。
核心功能
建立 / 匯入 OSA
建立或匯入離線模擬應用(OSA)
加入模型容器
將 VECU / SIC / BSC / FMU / SMC 加入 OSA
連接 VPU
連接 OSA 中的 VPU,建立 VPU 間通訊
阻塞 / 非阻塞通訊
指定 VPU 間通訊為 blocking / non-blocking
顯示匯流排元素
顯示 VPU 通訊控制器等匯流排相關元素
設定 / 下載 / 執行
設定、下載並執行 SIL 模擬
此外,VEOS Player 提供自動化介面,可將上述大多數功能腳本化(見第 4 節起)。
主要介面窗格
| 窗格 | 用途 |
|---|---|
| Port Topology | 顯示模擬系統的 VPU 與訊號,並連接 VPU 埠以建立 VPU 間通訊 |
| Network Topology | 顯示通訊控制器與叢集;把 VPU 的 CAN/LIN/乙太網控制器連到對應 cluster |
| Messages | 顯示訊息;篩選設定會自動保存並於下次啟動重新套用 |
2. 自動化介面概觀
VEOS Player 可透過其自動化介面將大多數功能腳本化:
- 載入 OSA 檔
- 設定模擬(simulation configuration)
- 設定模擬系統中的 VPU
- 匯入 VPU 到模擬系統
- 連接 VPU 埠
- 啟動、暫停、停止模擬
- 將設定另存為 OSA 檔
存取方式:透過外部 Python 直譯器(如 PythonWin),或透過其他應用程式/腳本環境。
腳本區分大小寫(case-sensitive)——腳本文字必須與 API 文件的拼寫完全一致。
3. COM 連線與程式設計
從外部直譯器存取執行中的 VEOS Player,須開啟 COM 連線。執行下列程式時,若 VEOS Player 尚未執行則會自動啟動(若有多個版本,啟動目前作用中的版本):
# 匯入所需模組
import win32com
from win32com.client import Dispatch
# 開啟到 VEOS Player 的 COM 連線
player = Dispatch("VeosPlayer.Application")
如需自動化特定版本的 VEOS Player,可在開啟 COM 連線時提供版本資訊(詳見手冊 Automating Different VEOS Player Versions)。亦可將 VEOS scripting 資料夾附加到 Python 搜尋路徑(透過 player.ApplicationRootDir)。
自動化 API 主要物件(節錄)
| 介面 | 用途 |
|---|---|
IApplication | VEOS Player 應用程式進入點 |
IProject / IProjects | 專案;提供 Import(匯入容器/OSA)與 Save 方法 |
IImportSettings | 匯入設定 |
IVpu / IVpus | VPU(V-ECU / Environment / Controller / Bus VPU) |
IVpuPort / IVpuPortConnection | VPU 埠與埠連接 |
IConnectionList / IConnectionResult | 以連接清單一次連接大量訊號 |
ISimulationConfiguration | 模擬設定 |
ISimulator / ISimulatorEvents | 控制模擬(start/pause/stop)與事件處理 |
IVersionInformation | 取得 VEOS Player 版本資訊 |
IPlayerAutomationInterface | Player 自動化介面 |
4. 兩種腳本途徑:COM 自動化 vs 命令列
COM 自動化(.py)
以 Dispatch("VeosPlayer.Application") 連上執行中的 VEOS Player,操作其物件模型。適合互動式、事件處理與細緻控制。
命令列介面(_CLI.py)
腳本檔名的 _CLI 後綴表示使用 VEOS 命令列介面而非 COM 自動化。稍作修改後亦可用於 VEOS on Linux。
跨平台原則:COM 自動化僅限 Windows(需 GUI)。在 Linux 上請改用 _CLI 腳本;且需先在 Windows 為 Linux target 建置好 OSA、複製到 Linux,並移除/註解腳本中與 veos-build 相關的部分。
5. 原廠示範腳本(Demo Scripts)
VEOS on Windows 安裝提供數個 Python 示範腳本,展示如何自動化 VEOS Player。每支腳本皆有 COM 版與 _CLI 版:
| 腳本 | 示範內容 |
|---|---|
LoadAndRun.pyLoadAndRun_CLI.py | 開啟 OSA、變更設定、啟動並控制 SIL 模擬、自動化 VEOS 事件處理 |
LoadAndImport.pyLoadAndImport_CLI.py | 建立 OSA、匯入 OSA 內全部 VPU、移除選定 VPU、依名稱匯入選定 VPU;(ThrottleControl 版另示範匯入並建置 V-ECU、取得版本資訊) |
LoadAndConnect.pyLoadAndConnect_CLI.py | 分別以 COM 自動化與命令列介面連接 V-ECU 的 VPU |
ImportAndModify_CLI.py | 以單一 VEOS 命令列指令執行多項 OSA 修改(匯入、連接、修改屬性/中繼資料) |
VEOS_SimulationEventsLib.py | Python 事件函式庫,用於自動化 VEOS Player 事件處理 |
示範 ZIP 檔與內容
| Demo ZIP | 模擬系統 / 內容 | 附帶腳本 |
|---|---|---|
| 1Ecu_Standard | AR_PosControl_1Ecu(單一 V-ECU,AUTOSAR) | LoadAndRun(.py/_CLI)、事件函式庫 |
| 2Ecu_CanBusSimulation | 兩個 V-ECU 經 CAN 互連 | LoadAndImport(.py/_CLI) |
| 2Ecu_LinBusSimulation | 兩個 V-ECU 經 LIN 互連 | LoadAndImport(.py/_CLI) |
| 2Ecu_VpuPorts | 兩個已連接的 V-ECU(VPU 埠) | LoadAndConnect(.py/_CLI)、ImportAndModify_CLI |
| AR_Fuelsys_Smc | AR_Fuelsys.smc(兩 V-ECU + 一 SIC,CAN 互連,匯入自動建立連接) | — |
| ThrottleControl | ThrottleControl.vecu(非 AUTOSAR 軟體) | LoadAndImport(.py/_CLI) |
自動化功能涵蓋矩陣
| 功能 | 1Ecu | 2Ecu Can | 2Ecu Lin | VpuPorts | Throttle |
|---|---|---|---|---|---|
| 載入 OSA | ✓ | ✓ | ✓ | ✓ | ✓ |
| 匯入 V-ECU 實作 | — | — | — | — | ✓ |
| 匯入 VPU | — | ✓ | ✓ | ✓¹ | — |
| 連接 VPU | — | — | — | ✓ | — |
| 修改 OSA 屬性 / 中繼資料 | ✓ | — | — | ✓¹ | ✓ |
| 啟動 / 控制 SIL 模擬 | ✓ | — | — | — | ✓ |
| 取得版本資訊 / 事件處理 | 事件✓ | — | — | — | 版本✓ |
¹ 僅由 ImportAndModify_CLI.py 提供。
6. 取得與執行示範
- 先解密Windows demo 須先在 dSPACE Installation Manager 解密(僅需一次)方可使用。
- 複製到 Documents以 Copy Demo Files 指令將 demo 複製到使用者文件夾。
- 在外部直譯器執行可於 PythonWin 等外部 Python 直譯器執行這些腳本。
- Linux 上使用
_CLI腳本手動複製腳本至 Linux;要載入的 OSA 須先於 Windows 為 Linux 建置後複製過去;若腳本含 OSA 建置,須移除/註解veos-build相關部分(如 2Ecu_VpuPorts 的ImportAndModify_CLI.py需移除ImportVEcuImplementation呼叫與boardName/compiler區塊)。
7. 自動化限制與注意事項
匯入後物件參考失效:匯入下列任一類型檔案後,所有物件參考(如 VPU、VPU 埠)都會失效,須重新取得:BSC、FMU、SIC、SMC、VECU。
- 匯入後不再自動存檔:自 VEOS 4.1 起,
IProject的Import方法之後不會自動儲存專案;請於匯入後呼叫Save。 - 大量訊號連接:自動化介面支援以連接清單(connection lists)連接大量訊號。
- 大小寫敏感:腳本文字須與 API 文件拼寫完全一致。
- Python 安裝損壞:受損的 Python 安裝可能導致 dSPACE 產品行為異常。
8. Python 相容性
VEOS 2024-B 的 VEOS Player 自動化介面相容 Python 3.12。若既有腳本使用 Python 3.11,手冊之 Migrating Python Scripts from Python 3.11 to Python 3.12 提供遷移指引(主要變更、套件總覽、Python 安裝使用之一般資訊、技術變更)。
9. VEOS 命令列介面(CLI)
VEOS 提供命令列介面,可不透過 VEOS Player 完成建置、修改、模擬等作業(Windows 與 Linux 皆提供)。在 Linux 上可本機以命令列控制 SIL 模擬,或由 Windows 端的 VEOS Player 遠端控制。CLI 由以下 Console 組成:
| Console | 職責 |
|---|---|
| VEOS Build Console | 建置模型容器 / OSA(veos build …) |
| VEOS Model Console | 修改 OSA:匯入 OSA 或選定 VPU、增刪元素(如 communication cluster)、連接 VPU 訊號與通訊控制器(修改以 JSON 格式提供) |
| VEOS Simulator Console | 載入、啟動、控制 SIL 模擬(veos sim load/start …) |
| VEOS Support Console | 支援與診斷相關作業 |
| VEOS Target Console | 模擬目標相關作業 |
# CLI 範例:以 Model Console 匯入 → Simulator Console 載入並啟動
veos model import -n ./MySoC.osa -p ./Modifications.json
veos sim load ./MySoC.osa
veos sim start
原始文件出處(dSPACE RLS2024-B)
| 文件章節 | 內容範圍 |
|---|---|
| VEOS Manual | Basics on the VEOS Player、Automating the VEOS Player(Basics / Programming / Limitations)、Demos for Automating the VEOS Player、VEOS Player API Reference、Migrating Python Scripts 3.11→3.12、VEOS Command Line Interface Reference |
來源:dSPACE VEOS Manual(RLS2024-B)。適用版本:VEOS 2024-B (24.3)。GUI 僅 Windows 提供;Linux 以命令列本機控制或由 Windows 端 VEOS Player 遠端控制。程式碼片段引自手冊示例,實際 API 拼寫與參數請以安裝版本之 API Reference 為準。