作者:地主家也没有余粮啊

  1. 概述
    在项目开发中硬件工程师经常会使用同一块PCB裸板焊接不同的器件,实现不同版本的PCBA,从而节省成本。但是不同版本之间的原理图,BOM,装配图等文件却缺乏有效的管理方法,容易造成不同版本之间混乱,文档维护困难,回板与设计预期不符,最终导致项目交期滞后。本文介绍AltiumDesigner软件的Variant(装配变量)功能,从原理图,BOM,装配图进行实战演示,可以极大减少出错概率,提高文档管理效率。

  2. 什么是Variant?
    Variant(装配变量)是AltiumDesigner专门针对单工程进行管理多版本PCBA的工具,可以在不同的装配变量下设置器件为焊接/不焊接(NC),或者替代器件的操作。

  3. 工程介绍
    笔者建立了一个RC-01的工程,并且绘制完了PCB,工程非常简单,顶层有两个电阻(R1,R2),底层有两个电容(C1,C2),但足可以说明问题。

  4. 设置Variant
    首先找到右上方的绿色小按钮(很多人用了很多年AD也不知道这是什么作用…),打开Variant管理界面,点击新建Variant,然后输入变量的名字,最后点确定。

笔者分别建立了prjA和prjB两个装配变量,假设目前A项目需求为R1不焊接,B项目需求为R2不焊接。

单击prjA那列中的R1,会出现一个…的图标,单击,出现Fitted(焊接)、Not Fitted(不焊接)、Alternate Part(替代零件),这里选Not Fitted,点击确定。

同样的方法设置prjB中R2为Not Fitted,设置完成后如下图。

接下来设置不焊接器件的显示方式,点击Drawing Style,分别设置原理图和PCB图中的显示方式,可以选择是网格还是打叉,还可以设置字体大小,这里按个人习惯就好,笔者按下图设置,设置完成后点OK结束设置。

接下来验证设置是否生效,点击Variant旁边的▼图标,可以看出,默认情况为No Variation,即所有器件都安装默认参数焊接,此时已增加了prjA和prjB两个变量。

单击切换到prjA后,原理图中的器件并没有发生变化(只有左上方的文字发生了变量,原因是该文字被设置为 =VariantName,这样打印成pdf原理图后非常方便的能分辨属于哪个装配版本),别着急,点击左下方Editor旁边的RC按钮,跳出编辑模式。

切出编辑模式后,可以看到,R1按照先前的设置成为了NC状态,选择prjB,R2变为NC状态,至此,我们的装配变量设置生效。

NC器件较多时,可以在非编辑模式下使用绿色图标右边Toggle Part Fitted Or Not Fitted,使用十字光标单击器件就设置为NC,再单击一下设置回焊接,哪里不要点哪里,简直不要太爽,这里很快就把PCB弄成裸板了。

  1. 文档输出
    以上原理图中Variant的设置就完成了,接下来要做原理图,BOM和装配图的输出,这里强烈建议使用Ootput Job功能进行文件输出,在工程下直接输出,一旦文件发生改变,每次重新生成生都需要重新设置一次,效率低下,而且容易发生文件之间版本不一致的情况。而使用Ootput Job只需要设置一次,文件发生改变后,文件都是按先前的设置一键生成,一劳永逸,而且Output Job文件可以复用。首先为工程增加Output Job File,文件名任意。

5.1. 原理图生成
界面如下图,首先生成pdf原理图,在Documention中增加原理图文件,注意这里一定要选择Project Physical Doumements,否则无法使用Variant。

增加任务后,右键Page Setup和Configure中分别设置正确的页面大小和属性,这里先保持默认。

接着讲该输出任务交给pdf这个output container,先单击PDF容器,再点击任务的Enable选型,这样任务就顺利的交给了PDF这个工具人了,点击Change可以修改文件路径、名称等,大家自己探索。

一切设置完成,选择想要的Variant,这里以prjA为例,点击Generate content,即可生成,打开pdf版原理图,完美。

5.2. 装配图生成
接下来生成顶底层装配图,前面设置Drawing Style就会与这个环节相关了,这次依然要用到PDF Container这个工具人,在Assembly Drawing下增加任务,选择绘制好的RC.PcbDoc

依然右键PageSetup设置大小和方向,Configure设置文件属性,一般装配图的设置稍微麻烦一些,需要包括板框,顶底层器件位置图等。注意,因为这里要使用Variant,需要分别给顶层装配增加Top层,底层装配增加Bottom层,但增加的时候需要将改层所有元素设置为Hide,最终顶层保留三层:顶层,顶装配层,板框层,底层同样设置。

设置完成后生成prjA和prjB对应的装配图,NC器件按照前面设置的标了出来,perfect!并且笔者事先在装配层增加Variant的名称,方便区别。这样的图交给板厂或者检查人员,简直是他们的福音。

5.3. BOM生成
最后是BOM的生成,BOM与设计意图的一致性是一块PCB板功能正常的基础,很多工程师为了省事,应对NC器件往往采用最暴力的方法:手动修改器件属性,甚至手动修改BOM,这样的方法非常容易出现重号,数量与位号不附,型号错误,可谓BOM不扎实,回板两行泪!使有Variant功能后,既省事又不容易错,这次我们使用Folder Structure这个容器,毕竟BOM 一般是文本类型的。
在Report Outputs中增加BOM任务,

老规矩设置大小,右键Configure进入设置。

可以看出,prjA这个变量下,R1已经不出现在BOM里了,但笔者认为R1应该出现,按照这个BOM 去检查基板,只能保证该焊的器件焊了,却无法保证不该焊接的器件未焊接,不该焊接的机器焊接了电路板功能也会不正常。这个AD也为我们想好了,勾选左下方Include Not Fitted Components,这样不焊接的器件也会出现在BOM中,并且数量为0,Fitted可以作为分组条件,但是不用作为输出。然后工程师可以选择自己公司的BOM模板进行BOM 输出,这里不再演示。
5.4. Alaternate Part功能

以上,Variant的基本操作就为大家演示完了,实际中我还会遇到C项目需要将R1改成10k电阻的情况,这就要用到Variant中Alternate Part功能,请大家自行探索。这里提醒大家,一定不要图省事直接修改器件属性,一定要先在原理图库中建好需要的新部件,再使用Alternate Part选择到该器件,这样能最大程度减少BOM出错的概率。
6. 总结
熟练使用Variant功能,能够帮助硬件工程师更加高效的管理多PCBA,降低BOM出错的概率,降低维护文档的难度,是硬件工程师必须掌握的技能。
(本文章仅做学习交流用,勿用作商业用途)

硬件工程师必备技能之Variant相关推荐

  1. 图像处理算法工程师必备技能总结

    图像处理算法工程师必备技能总结 1.相关术语 OCR:(Optical Character recognition,光学字符识别)是指设备检查字符,通过检测亮.暗的模式确定其形状,然后用字符识别的方法 ...

  2. android 技能标签功能_android开发工程师必备技能

    厚 学 网 android 开发工程师必备技能 android 软件开发工程师是 Android 平台发展中不可或缺的人才要素. 据介 绍,就我国目前来说, Android 研发人才缺口至少 30 万 ...

  3. 算法/数据工程师必备技能

    算法/数据工程师必备技能 基础知识 线性代数 矩阵理论 概率论 随机过程 图论 数值分析 最优化理论 机器学习 统计学习方法 数据挖掘 平台 Linux  语言 Python Linux shell ...

  4. 云计算工程师必备技能

    版权声明:文章为原创,转载请勿增删文中任何内容,注明出处,否则侵权必究. https://blog.csdn.net/weixin_42141701/article/details/80458315 ...

  5. 嵌入式工程师必备技能--如何使用示波器查看IIC波形

    以下文章来源于:公_众_号开源电子网 读取更多技术文章,请扫码关注 嵌入式工程师必备技能–如何使用示波器查看IIC波形 前言 这篇文章着重点是让大家学会使用示波器查看IIC波形,并且说明在搞IIC驱动 ...

  6. 测试iphone硬件软件是什么问题,iPhone手机如何检测硬件故障,硬件检测必备技能,建议了解一下...

    iPhone手机如何检测硬件故障,硬件检测必备技能,建议了解一下 2019-05-13 18:22:32 1点赞 1收藏 1评论 很多小伙伴总是会因为各种需要购买iPhone二手手机,那么当我们购买手 ...

  7. 【运维工程师必备技能之一】——英语基础

    提示:运维工作多年,提示想入门小白必备技能分享 文章目录 前言 一.什么是运维工程师? 二.必备基础--英语 1.为什么做运维需要英语基础 总结 前言 运维工程师(Operations)以服务为本,岗 ...

  8. 计算机硬件工程师面试题集,嵌入式硬件工程师必备 21个计算机体系架构面试题...

    [IT168 应用]小编为大家汇总了嵌入式硬件工程师必备的21个计算机体系架构面试题,大家收藏了! ▲ 1)解释什么是计算机体系结构? 计算机体系结构是详细说明一组软件和硬件标准如何相互交互以形成计算 ...

  9. 大数据开发工程师必备技能有哪些?

    大数据开发工程师必备技能有哪些?随着全行业数字化转型和新基建时代的到来,对技术人才提出了更高的要求.不管是面试还是实际工作过程中,数据工程师要时时刻刻面对这些层出不穷的技术演进. 随着数据的爆发式增长 ...

最新文章

  1. FPGA之道(28)VHDL的并行语句
  2. Service Mesh — Overview
  3. Qt Linguist 翻译
  4. ByteBuf主要继承关系图
  5. P5212-SubString【LCT,SAM】
  6. java与android https,java – Https连接Android
  7. 57 - 算法 -贪心算法 - 区间不相交问题
  8. js img转换base64
  9. 在Ubuntu 18.04中更改时区
  10. 转 fpga学习经验1
  11. iPhone官方资料链接
  12. Kinect for Windows sdk下载 以及安装时错误的解决方案
  13. 软件工程概论 课堂练习【用例图——门诊挂号】
  14. CS 61A Spring 2019 HW01 学习笔记
  15. 贴片电容造成短路烧毁的原因分析
  16. 怎么用计算机管理员卸载,没有足够的权限卸载请与系统管理员联系怎么解决
  17. 程序集引用里面的“Culture=neutral”是什么意思?
  18. 80psi等于多少kpa_1公斤的气压是多少KPA?
  19. JAVA#泛型'学习札记
  20. Markdown常用基本格式

热门文章

  1. linux common comand
  2. 超详细梳理HBase核心知识点(上)
  3. 全国计算机等级考试二级C语言知识点大全
  4. Windows系统下JBOSS服务器下载安装
  5. 发布 WebService
  6. 朋友圈新浪微博技术方案.md
  7. 霍桑实验-数据分析手段彻底失效的经典案例
  8. 创建带界面UI的Activex
  9. 蓝桥杯试题 算法提高 转圈游戏 C/C++
  10. 『行远见大』 BQ Corpus 信贷文本匹配相似度计算