前言¶
在 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。
安裝與啓用¶
環境前提(缺一不可):
- Windows,已安裝 Multisim 14.3(默認路徑示例:
C:\Program Files (x86)\National Instruments\Circuit Design Suite 14.3\)。 - 32 位 Python 3.11–3.13,並安裝 pywin32(64 位解釋器對
Connect()會E_ACCESSDENIED)。 - 已安裝 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 文檔強調「先選通道再動手」):
- 自檢與連接:
msim_status確認 32 位 worker 與 Multisim 14.3 COM。 - 打開或新建設計:
msim_circuit操作.ms14;只讀容器內容可用msim_design且不啓動 GUI。 - 讀改電路:
msim_inspect/msim_edit處理 RLC、變體與庫器件替換。 - 仿真:Automation 側用
msim_analyze;純網表可走msim_spice。網表不宜用 COMOpenFile()(README 記載會導致 Multisim 靜默崩潰),應通過 GUI 拖放注入。 - 交付物:
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。