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。

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

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

小夜