上一期我们介绍了OpenCode在PLC编程方面的能力,不知大家体验如何?这次,我们来重点探索一下它的另一个实用功能——绘制电气原理图。

01 直接提问生成
打开OpenCode,我们直接让它输出一张电气原理图试试看。

直接以对话形式,输入“请绘制一张电机起保停的电气原理图”并发送。

呃,这个效果确实有些过于简略,毕竟这不是它的核心专长。那我们换个思路,试试更专业的指令:“不够专业,用Eplan的风格绘制”。

改进后的效果图如下:

这次看起来好多了,甚至给出了元件型号规格的BOM表格。要是再加个购物链接,是不是能直接下单了?

02 利用Skills能力
直接生成的结果不尽如人意,但基本的框架已经有了。最近了解到“Skills”这个AI概念,正好可以动手试一试!
Skills究竟是什么?如今遇到不懂的概念,第一反应就是问AI。

Skills是Anthropic提出的一种“可复用、可动态加载的知识/操作能力包”。其本质是一套结构化的Markdown文档(如SKILL.md)加上可选的脚本或资源文件夹。
简单来说,就是把可以复用和动态加载的功能打包封装,以便随时调用。
对于画图需求,我们尝试使用Canvas相关的Skills。安装Skills非常简单,只需在OpenCode的对话框中输入对应的命令。

将命令 npx add-skill anthropics/skills --skill “canvas-design” 直接复制粘贴进去,OpenCode会自动执行。


执行完毕后,Skills自动加载。此时我们再提出画图请求:“请绘制一张专业的电机起保停电气原理图”。

它开始询问具体的启动方式。我们选择最常见的直接启动(DOL)试试。

随后,OpenCode给出了非常详尽的文字版设计方案:
下面给出基于直接起动(DOL)的专业电机起动、保护、停止原理及接线要点。若你需要,我也可以把它整理成正式的 PDF/PNG 原理图和一份接线清单(BoM)并导出下载链接。
一、系统概述(DOL 起动方式)
对象:三相感应电动机,直接接入三相电源,无变频器等中间设备,常用于对启动冲击容许度较高的场景。
保护与启动元件:
三相过载保护(热继电器/过载继电器 OL,三极);
三相起动器(接触器 K1,3P,线圈触点额定与控制电压匹配);
主电路保险/断路保护(F1-F3,或 MCCB);
控制回路:起动按钮 Start(NO)、停止按钮 Stop(NC)以及起动保持触点(K1 的辅助常开触点)实现“起动后保持”的工作特性;
选配:急停按钮、故障指示灯、旁路/隔离开关等。
二、原理图要点(文字版,便于后续画图)
主电路(三相主回路)
电源:三相线 L1、L2、L3 供给。
保险/保护:L1-L3 各自串联对应的保险 F1-F3。
过载保护:在电机与起动器之间串接三相热继电器 OL(OL 为三相保护,通常带有 NC 触点用于控制回路)。
起动器:三极接触器 K1(主触点,NO,三相,A1/A2 控制线圈)。
接线路径(简化示意):
L1 -> F1 -> OL1 -> K1.L1 -> M.U/导线1
L2 -> F2 -> OL2 -> K1.L2 -> M.V/导线2
L3 -> F3 -> OL3 -> K1.L3 -> M.W/导线3
电机 M 的三相端子连接到 K1 的三组主触点(T1-T2-T3)后再返回到对应 L1-L2-L3。
控制电路(小电压控制,常用 230V AC 或 24V DC,以下以 230V AC 为例)
控制电源:N 与 L 为控制电路供电(示例为 230V AC)。
脚位与元件:
Stop Stop_S(NC,安全停止按钮)串联在控制回路中,用以切断电源。
Start_S(NO,起动按钮)串联在控制回路中,按下时给 K1 线圈供电。
K1 线圈:A1 与 A2 分别连接控制电源的 Hot/Neutral(案例为 A1 连接 Hot,A2 连接 Neutral)。
K1 的辅助触点 K1-13/14(NO,常开)并联在 Start_S 的触点路径中,用于“自保持”控制:一旦启动,K1-13/14 闭合,继续给 K1 线圈供电,保持电机运行,即使 Start 被松开。
过载 OL 的 NC 接触 OL.NC 嵌入控制回路中:当 OL 触点因过载断开时,切断 K1 线圈电源, Motor 停止。
电路工作流程(典型起动序列):
初始状态: Stop 为闭合,Start 未按下,K1 线圈断电,电机不运转。
按下 Start,电源经 Stop(NC)和 Start(NO)以及 OL.NC(若未跳闸)送至 K1.A1,K1 主触点闭合,电机起动。
Start 松开后,K1-13/14 的辅助触点闭合,形成回路“自保持”,K1 线圈保持通电,电机持续运行。
若需停止,按 Stop,K1 线圈失电,主触点打开,电机停止。
若发生过载,OL.NC 打开,断开 K1 线圈供电,电机停止;等待复位后再恢复运行(通常通过复位 OL 的手动操作)。
选配/扩展:
E-STOP:作为紧急停止装置,放置在控制回路的明显位置,确保在任何情况下都能切断 K1 线圈供电。
低电压释放保护、热保护报警等。
三、接线清单(BoM)示例
电动机:1 台三相感应电动机,额定电压 400V(50Hz/60Hz,按现场实际选型)。
主起动与保护件:
K1:3P 230V AC 电磁接触器,带 3 条主触点(L1-L2-L3)和一个线圈 A1/A2;
OL:3 极热继电器,带三个 NC/可调整的触点,匹配电机额定电流;
F1-F3:三相保险丝或 MCCB,额定值按电机 FLA 的 125-150% 选型;
Stop:NC 按钮;
Start:NO 按钮;
E-stop(可选):紧急停止按钮,通常为心形红色按钮,接入 Stop 路径;
其他:中性线/N、控制电源线 Hot、接线端子排、导线等。
线缆与端子:
三相主线:L1、L2、L3(经 F1-F3、OL、K1 主触点连接到电机)
控制线:Hot(Lc)与 Neutral(N),连接 Start、Stop、K1-A1、K1-13/14、OL.NC
接线端子:按现场现场板卡/导线规格设置,确保端子标号清晰、铜芯规格合适、螺钉紧固力合适
四、图纸输出与后续动作
输出格式:PDF 或 PNG 的单页原理图(包含主电路和控制回路)以及一页 BoM 清单。
我可以直接生成可下载的图纸文件(如 Draw.io/XML、SVG,或直接生成 PDF/PNG)。请告知你偏好的导出格式和文件名约定。
如果你愿意,我也可以先给出一个可直接导入的 Draw.io(XML/Figure 导出)或 PlantUML/Graphviz 等文本渲染版本,方便你在本地快速生成图片并导出为 PDF/PNG。
五、请确认
电压与控制电压:本方案以 400V 三相主电源、230V 控制电源(如需改为 480V、24V 控制等,请告知)。
起动器线圈的控制电压:230V AC 还是 24V DC?若现场不同,请提供。
安全要求:是否需要 E-stop、锁定/封存措施、联锁等?
是否需要附带完整的接线清单(每条线的端子编号、颜色、长度建议等)?
如果你确认以上方案无误,我就开始生成正式的原理图文件(PDF/PNG)和详细的接线清单,并附带一个可下载的文档包。
回答非常详细,甚至还询问了安全需求以及线缆长度等细节。我们直接让它生成最终文件看看。



最终生成的图像效果仍然比较一般。目前看来,专业图纸的绘制工作,还是需要我们工程师亲自动手!
03 深入尝试
后来,我们尝试了使用不同的模型和“Plan”模式,结果确实会更好一些。

总的来说,目前的AI工具在绘制高度专业的工程图纸方面,仍然需要各类专业设计软件提供深度接口支持,真正落地应用尚需时日。然而,AI在提供设计思路、梳理系统架构或生成详细的文字版设计说明等方面,已经展现出了不错的潜力,能够有效辅助工程师完成前期工作。
如果你对这类AI辅助控制电路设计的探索感兴趣,或想了解更多自动化领域的实践经验,欢迎来云栈社区交流讨论。
参考链接:
【1】https://opencode.ai/download
【2】https://zhuanlan.zhihu.com/p/1994549093310154550