dSPACE VEOS

VEOS Player
用途說明與腳本操作方案

VEOS Player 是 VEOS 的圖形化使用者介面(Windows),用於建立與整合離線模擬應用(OSA)、連接 VPU、設定與執行 SIL 模擬;並提供完整的自動化介面(COM / Python)與命令列介面(CLI)供腳本化操作。

GUI(Windows) COM / Python 3.12 Command Line Interface Release 2024-B

名詞說明:本文所述之工具為 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 主要物件(節錄)

介面 用途
IApplicationVEOS Player 應用程式進入點
IProject / IProjects專案;提供 Import(匯入容器/OSA)與 Save 方法
IImportSettings匯入設定
IVpu / IVpusVPU(V-ECU / Environment / Controller / Bus VPU)
IVpuPort / IVpuPortConnectionVPU 埠與埠連接
IConnectionList / IConnectionResult以連接清單一次連接大量訊號
ISimulationConfiguration模擬設定
ISimulator / ISimulatorEvents控制模擬(start/pause/stop)與事件處理
IVersionInformation取得 VEOS Player 版本資訊
IPlayerAutomationInterfacePlayer 自動化介面

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.py
LoadAndRun_CLI.py
開啟 OSA、變更設定、啟動並控制 SIL 模擬、自動化 VEOS 事件處理
LoadAndImport.py
LoadAndImport_CLI.py
建立 OSA、匯入 OSA 內全部 VPU、移除選定 VPU、依名稱匯入選定 VPU;(ThrottleControl 版另示範匯入並建置 V-ECU、取得版本資訊)
LoadAndConnect.py
LoadAndConnect_CLI.py
分別以 COM 自動化與命令列介面連接 V-ECU 的 VPU
ImportAndModify_CLI.py以單一 VEOS 命令列指令執行多項 OSA 修改(匯入、連接、修改屬性/中繼資料)
VEOS_SimulationEventsLib.pyPython 事件函式庫,用於自動化 VEOS Player 事件處理

示範 ZIP 檔與內容

Demo ZIP 模擬系統 / 內容 附帶腳本
1Ecu_StandardAR_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_SmcAR_Fuelsys.smc(兩 V-ECU + 一 SIC,CAN 互連,匯入自動建立連接)—
ThrottleControlThrottleControl.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 ManualBasics 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 為準。