multisim-toolkit:讓 DSH 驅動本機 NI Multisim 14.3

前言

在 DSH 裏做電路仿真相關任務時,常見做法是讓人工去 Multisim 裏點菜單、改參數、再截圖或導出網表——模型只能讀你粘貼的文字,無法直接操作本機 EDA。multisim-toolkit 把本機已安裝的 NI Multisim 14.3 收成一組 msim_* 工具:開關 .ms14、讀改元件與參數、跑 DC/AC/瞬態與 SPICE 分析、導出原理圖與網表,以及截取可見窗口裏的實機電路圖與波形圖。下面介紹它是什麼、怎麼裝、能做什麼、邊界在哪裏。

這是什麼

multisim-toolkit(npm 包名 dsh-multisim-toolkit,版本 0.1.0)由維護者 llyy-t 發佈,分類爲 客戶端 插件:Host 側 Cordis bundle,不依賴瀏覽器端代碼。同一倉庫裏還 bundled 一份 skill(SKILL.md 與 references/),用於指導模型按通道選用工具並避開已知坑。

架構上,DSH Host(Node)的 index.js 註冊 9 個工具並 spawn 32 位 Python 常駐 worker(worker/msim_worker.py),經 TCP + 行 JSON 調用 COM、GUI、SPICE 與 .ms14 離線解析等模塊。Multisim 的 Automation API 是 32 位 COM 服務器;worker 必須常駐且獨佔 COM 公寓,Python 進程退出後 multisim.exe 會一併消失。

  • 目錄頁:https://www.skillhub.cn/plugins/llyy-t/multisim-toolkit
  • 源碼:https://github.com/llyy-t/multisim-toolkit
  • 許可:MIT

核心功能

插件註冊的工具與用途如下(與倉庫 README 一致):

工具 作用
msim_status 自檢:worker 位數、COM 版本、GUI 進程
msim_circuit 新建 / 打開 / 保存 .ms14,讀當前電路信息
msim_inspect 讀元件、輸入、輸出、變體、段落、電路參數、RLC 值
msim_edit 改 RLC 值、電路參數、活動變體,替換庫器件
msim_analyze 瞬態 / DC / AC 掃頻 / 單頻 AC / 命令文件,以及啓停仿真
msim_export 原理圖圖片、網表、BOM、設計片段
msim_gui 驅動可見窗口:啓動、截圖(四檔裁剪)、拖入網表、清數據庫告警、另存爲、發按鍵、跑分析、抓波形窗
msim_spice 把網表直接餵給 Multisim 的 SPICE 引擎,返回表格 + CSV + 圖
msim_design 不啓動 Multisim,離線讀取 .ms14 裏的元件、值、儀器設置

多數操作在首次 Connect()(約 6 秒,Multisim 啓動開銷)之後可達毫秒級;README 記載 10 次連續讀操作 median 爲 0.000s。

仿真結果畫在獨立的「圖示儀視圖」窗口,與電路圖窗口分離;若要「實機電路截圖 + 實機波形截圖」,需分別截取。更細的截圖檔位與樣例命令見倉庫 docs/README.md。

安裝與啓用

環境前提(缺一不可):

  1. Windows,已安裝 Multisim 14.3(默認路徑示例:C:\Program Files (x86)\National Instruments\Circuit Design Suite 14.3\)。
  2. 32 位 Python 3.11–3.13,並安裝 pywin32(64 位解釋器對 Connect() 會 E_ACCESSDENIED)。
  3. 已安裝 DSH;Node 引擎要求見 package.json:^22.19.0 || >=24.0.0。

方式一:從 GitHub 安裝

dsh plugin --profile <你的 profile> add github:llyy-t/multisim-toolkit

方式二:本地 clone 後按腳本安裝

先在倉庫內體檢,再執行 install 動作,把腳本打印的 plugin_manager(...) 行貼進 DSH 會話(具體步驟見 README「安裝」一節)。

驗證:在 DSH 中調用 msim_status({ connect: true }),期望 worker.pythonBits: 32、com.version: Multisim 14.3。

不經過 DSH 也可做離線自檢:

python scripts\selfcheck.py --design "C:\path\to\some.ms14"

可選配置(cordis 插件 config):

- id: multisim-toolkit
  name: 'dsh-multisim-toolkit'
  config:
    pythonPath: 'C:\Users\me\.dsh\multisim-mcp\py32\python.exe'
    startTimeoutMs: 30000

安裝前請自行審閱源碼與 MIT 許可證;插件以當前 DSH 進程權限運行,可啓動本機 Multisim 並讀寫你指定的設計文件路徑。

典型用法

經過上面的步驟啓用插件後,可按任務選通道(skill 文檔強調「先選通道再動手」):

  1. 自檢與連接:msim_status 確認 32 位 worker 與 Multisim 14.3 COM。
  2. 打開或新建設計:msim_circuit 操作 .ms14;只讀容器內容可用 msim_design 且不啓動 GUI。
  3. 讀改電路:msim_inspect / msim_edit 處理 RLC、變體與庫器件替換。
  4. 仿真:Automation 側用 msim_analyze;純網表可走 msim_spice。網表不宜用 COM OpenFile()(README 記載會導致 Multisim 靜默崩潰),應通過 GUI 拖放注入。
  5. 交付物:msim_export 導出網表、BOM、片段;msim_gui 做四檔裁剪截圖、波形窗抓取,以及 GUI 鏈路上的分析與保存。

倉庫內 SKILL.md、references/com-automation.md、references/spice-channel.md、references/gui-and-files.md 與 PLUGIN.md 分別覆蓋模型用法、COM/SPICE/GUI 細節與實測邊界。

適用場景與注意

適合:已在 Windows 上安裝 Multisim 14.3、希望 DSH 智能體代勞「開設計—改參—跑分析—導出/截圖」的開發者或教學/實驗自動化場景;需要離線解析 .ms14 元件與儀器設置時,可用 msim_design。

能力邊界(README 明確說明):插件不能在原理圖上憑空放置元件或畫連線——Automation API 無對應能力,Win32 合成鼠標畫線也不可靠。新電路可行路徑主要是:寫網表拖入可見窗口由 Multisim 還原爲可編輯原理圖;或直接生成/修改 .ms14(容器格式已部分解析,寫回尚未實現)。

其他約束:僅支持 Multisim 14.3;依賴本機 NI 軟件,項目與 National Instruments 無關、不分發 NI 安裝包。GUI 自動化涉及模態告警、BCG 自繪菜單等 Win32 細節,行爲以倉庫實測文檔爲準。

結尾

multisim-toolkit 把 Multisim 14.3 收成 DSH 可調用的 msim_* 工具集,並附帶 skill 與長篇 reference,適合需要「可編程仿真 + 實機窗口截圖」的客戶端工作流。詳情見社區目錄 llyy-t/multisim-toolkit 與 GitHub 倉庫 github.com/llyy-t/multisim-toolkit。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜