从基于文件的库和数据库元件库对元件进行更新
您已经在原理图上放置了组件,甚至可能已经完全接线、编译,并将设计进行到了板布局阶段。很可能会有一个时候需要更改一个组件 - 添加一个新参数,更改模型链接,或者可能是在图形级别更改符号或足迹。
进行更改的逻辑位置是在源头。这个源头的性质取决于组件是如何放置的:
- 来自集成库 - 提取源库,进行更改,然后编译集成库包以生成修订后的集成库。
- 来自数据库库 - 对于参数或符号/模型引用,更改是在链接的外部数据库中对应组件的记录中进行的。如果更改是图形的(对符号或模型),则在引用的源库中进行。
- 来自原理图/PCB库 - 在相应的库中对组件或足迹进行更改,该库是从中放置组件/足迹的。
您也可能已经使用数据库链接文件(*.DBLink)将放置的组件链接到外部数据库。符号和模型更改在源库中进行。对于参数,更改在数据库中进行。
一旦进行了更改,就需要将其推送到设计中。Altium提供了多种更新工具,允许您快速高效地将组件更改传递到您的Altium Designer组件。本文档详细介绍了这些工具 - 这些工具使您始终能够保持组件源与放置的组件实例之间的同步。
从数据库更新参数
在这个工具的上下文中,“Altium Designer组件”一词用于描述放置在原理图表上的组件实例或源原理图库中的组件。Altium Designer提供了一个工具,用于使用存储在外部数据库中的信息更新Altium Designer组件的参数。组件必须链接到外部数据库中相应的组件记录,才能进行更新。链接是通过使用中间链接文件来执行的,可以是以下之一:
- 数据库链接文件(*.DBLink) - 用于将现有放置的组件链接到外部数据库,或者更典型的是,在源原理图库中定义的组件。
- 数据库库文件(*.DBLib) - 用于直接从外部数据库将组件放置到原理图表上。
- SVN数据库库文件(*.SVNDBLib) - 与*.DBLib相同,但符号和模型库存储在版本控制下。
从数据库更新参数命令也可在原理图库编辑器中使用。源库必须是库包(*.LibPkg)的一部分,*.DBLink文件用于提供从库组件到外部数据库中组件记录的链接。
通过在主菜单中选择工具 » 从数据库更新参数命令,可以从原理图编辑器执行更新。启动此命令将打开从数据库更新参数对话框。使用此对话框选择您希望包含在更新中的原理图文档和组件类型。
定义更新范围后,点击确定。将对外部数据库进行查询以匹配组件。如果Altium Designer组件与数据库中的匹配记录之间存在参数差异,则会打开选择参数更改对话框。
此对话框列出了数据库记录中存在的所有参数,这些参数适用于在更新范围内的Altium Designer组件。任何为Altium Designer组件定义但不是数据库表中字段的参数将不会出现在列表中。例如,您可能已经直接从数据库使用数据库库功能放置了一个组件,然后在放置后添加了一个或多个参数。
只有在外部数据库和放置的组件实例之间映射的参数才会被列出。参数映射是在中间链接文件的字段映射标签页上执行的。
对话框最初将显示基于您在中间链接文件(DBLink, DBLib, SVNDBLib)中定义的更新操作,将Altium Designer组件参数与数据库中的参数同步的建议更新。
参数差异通过在相关单元格中插入独特图标来区分。例如,单元格角落的蓝色三角形意味着检测到Altium Designer组件中的参数值与链接数据库记录中的相同参数之间存在差异。
在本页面稍后的参数更新状态部分,将有一个所有可用单元格状态的完整列表。
选择参数更改对话框中提供的控件允许您完全控制要继续进行的更新和要拒绝的更新。您可以拒绝对选定组件的所有参数的更新,或者拒绝对该组件的特定参数的更新。要拒绝对特定参数的建议更新,请选择相关单元格并点击拒绝选定按钮。要恢复更新,请点击更新选定按钮。
当您对更新解决方案感到满意时,点击接受更改(创建ECO)按钮。使用随后打开的工程更改订单对话框来验证然后相应地执行更新。如果您意识到有一个更新您真的不想继续进行,请禁用适用的更改订单条目。
从库中更新原理图组件
Altium Designer 提供了一个工具,用于将原理图表上放置的组件与来自源库的修改信息进行更新。这包括原理图组件库(*.SchLib)、集成库(*.IntLib)和数据库库(*.DBLib、*.SVNDBLib)。
尽管 DBLib 和 SVNDBLib 文件在组件面板中显示为库,但它们只是连接和字段映射的来源,并不是真正意义上的库。更新功能将外部数据库中参数、符号和模型引用的更改,以及在引用的符号和模型库中所做的图形修改传递过去。
更新功能允许您传递参数的更改,以及模型和图形信息。
通过选择主菜单中的工具 » 从库中更新命令,从原理图文档执行更新。启动此命令将打开从库中更新对话框。 从库中更新命令将使用来自源库的修改信息更新原理图表上的所有组件。
通过选择主菜单中的工具 » 从库中更新选定的命令,也可以从原理图文档执行更新。 从库中更新选定的命令仅使用来自源库的修改信息更新原理图表上选定的组件。
定义更新的范围
对话框的第一页处理更新的范围 - 哪些源原理图文档将包括在更新中,以及其中包含的特定组件类型。
对话框中的原理图表区域将加载所有可能的原理图文档,可以应用更新。这可以是单个的自由原理图文档,或者是活动项目中的所有原理图表。启用那些您希望在更新中考虑其组件的文档。
当您在原理图表列表中启用/禁用条目时,构成的物理组件将在对话框的组件类型区域中列出。每个组件按以下方式列出:
- 物理组件名称
- 关联的逻辑符号
- 放置它的源库
- 当前跨所有启用的原理图文档放置的实例数。
列表中组件的包含情况符合页面左下方的选项。使用显示字段来确定更新中包括的组件类型。默认情况下,选择的是所有组件,但您可以选择仅更新:
- 标准组件 - 那些从原理图库或集成库中放置的。
- 数据库组件 - 那些使用 DBLib 或 SVNDBLib 从外部数据库中放置的。
从库中更新对话框的显示字段
所有组件类型最初都启用了包含在更新中。禁用任何你确定不想更新的组件。或者,在进入对话框之前,直接在原理图表上选择你想要更新的确切组件。然后启用仅选定部件选项。只有你选择的那些组件会出现在列表中。
要记住的主要事情是,你始终完全控制包含在更新中的内容。
定义默认更新操作
页面的设置区域是你可以定义所需默认更新级别的地方。你在这里定义的默认更新操作将应用于启用的组件类型的所有组件实例。
最简单的更新形式是将原理图表上的组件完全替换为源库中定义的组件。图形属性、参数和模型链接都将直接使用源库中存在的信息进行更新。
记住,如果源库是DBLib或SVNDBLib,参数和模型链接信息是从外部数据库中的相应组件记录中派生的,而图形属性更改将来自引用的符号库。
在从库更新对话框中的操作区域
默认情况下启用了完全替换。如果你想对更新的内容有更多控制,改为替换表上符号的选定属性。单独的更新选项(图形、参数、模型)将根据需要可用于包含/排除。
从库更新对话框的第一页和库更新设置对话框中的定义是持久的。它们在保存项目文件时被存储。
对于参数和模型更新操作,通过库更新设置对话框可以获得更进一步的控制。通过点击高级按钮访问此对话框。你不仅可以使用这个对话框定义参数和模型的默认全局更新操作,还可以控制哪些特定的参数和模型包含在更新中。
在定义所需的更新范围和要执行的默认操作后,你可以点击完成,然后审查并执行在随后生成的工程更改订单中要实施的更改。如果你想在生成ECO之前进一步细化每个组件的更新,请点击下一步访问对话框的第二页,详细内容在下一节中介绍。
通过组件实例控制更新
从库更新对话框的第二页上的定义不是持久的。如果你返回到第一页或关闭对话框,它们将会丢失。
从库更新对话框的第二页为你提供了一个详细的网格,列出了所有参与预期更新过程的组件实例。前一页的对话框允许你粗略地指定哪些物理组件类型包含在更新中。这一页允许你精确调整这些类型的哪些组件实例得到更新。
网格被划分为三个区域:
- 原理图部件 - 关于原理图表上每个放置的组件的信息。
- 库组件 - 将在更新中使用的特定源库组件的信息。
- 操作 - 每个组件实例所需的特定更新操作。这些操作最初将根据在对话框第一页上定义的默认操作设置进行设置。
对于每个组件,源库组件的条目最初将是用来首次放置组件实例的条目。这些信息取自放置组件的属性面板中的库链接区域。
指定替代组件
通常,更新将涉及将对源库中原始物理组件所做的更改传递到原理图表上的同一物理组件的放置实例。有时您可能想要完全更改设计中放置的物理组件。这可以作为更新的一部分轻松指定。
您可以通过直接编辑库组件区域中相应的物理组件字段来为组件实例指定替代组件。如果指定的物理组件在当前添加到项目的可用基于文件的库列表中不存在,条目<未找到>将被输入到逻辑符号和库名称字段中。在这种情况下,将无法对该组件实例进行更新。
在搜索数据库组件时,搜索只能在当前加载的DBLib和SVNDBLib文件(可用基于文件的库)中进行。您不能沿指定的搜索路径搜索数据库组件。
或者,在网格中选择一个组件实例,然后点击选择组件按钮。将出现替换组件(基于文件)对话框,您可以在其中浏览项目当前可用的基于文件的库中所需的替换组件。该对话框还提供了一个搜索功能,可用于在可用的基于文件的库中搜索组件或沿任何指定的搜索路径搜索。
当选择了有效的组件时,所选组件的相关信息将被输入到页面的库组件区域中,覆盖原始源库组件。
如果您想恢复到原始源库 - 保留原始物理组件 - 请在网格中选择组件实例,然后点击返回选定到默认按钮。
控制参数更改
对组件实例的单个参数级别更改将仅在页面的操作区域中禁用了完全替换选项并启用了参数选项时显示。如果您想浏览更新提出的单个参数更改,请点击参数更改按钮。将打开选择参数更改对话框,总结了启用了参数更新操作的那些组件实例的参数更改。在下面的插图中,注意组件实例C1、C3、C7和C10已禁用其参数更新操作,因此不会出现在对话框中。
与从数据库更新参数工具一样,对话框将列出所有映射的参数,这些参数是那些链接到外部数据库的组件实例。此外,还会列出参与参数更新的放置组件实例中找到的所有参数。这是在这两个更新工具之间访问选择参数更改对话框时的一个关键区别。
同样,对话框显示了为了使放置的组件的参数与相关源库或数据库中的组件的参数重新同步而提出的更改。提出的更新符合在以下位置定义的更新操作:
- 当更新源是原理图或集成库时,库更新设置对话框中的参数设置区域。
- 当更新源是数据库时,中间链接文件(*.DBLink、*.DBLib、*.SVNDBLib)。
通过在相关单元格中插入独特的图标,使用不同的图标来突出显示参数差异。请参阅下一节(参数更新状态)以获取所有可能的单元格状态的完整列表。
使用对话框中的可用控件(按钮或右键菜单)来确定要继续哪些参数更改以及拒绝哪些,从而使您能够在单个参数级别覆盖默认的更新条件。请记住,在单元格中拒绝建议的更新意味着您不希望对原理图表上的该特定组件实例的该参数进行任何更改。
参数更新状态
根据放置的组件与源库/数据库之间检测到的确切差异以及指定的适用参数更新操作,选择参数更改对话框中的单元格可以放置到多种不同的更新状态。以下表格列出了可能的单元格状态。
单元状态 | 描述 |
---|---|
![]() |
Altium Designer组件和库/数据库中的组件都具有该参数,并且值相同。更新不会引起变化。 |
![]() |
Altium Designer组件和库/数据库中的组件都具有该参数,但未分配值。更新不会引起变化。 |
![]() |
Altium Designer组件和库/数据库中的组件都不具有该参数。更新不会引起变化。如果Altium组件中的参数被禁止通过禁用允许与库同步和/或允许与数据库同步选项在相关的属性面板中包含在更新中,也会出现这种状态。 |
![]() |
Altium Designer组件和库/数据库中的组件都具有该参数,但值不同。更新将分配数据库中的值。 |
![]() |
Altium Designer组件和库/数据库中的组件都具有该参数。对于Altium Designer组件,它分配了一个值,在数据库中没有。更新将分配数据库值;在这种情况下没有值。 |
![]() |
Altium Designer组件不具有该参数,但库/数据库中的组件具有。更新将在Altium Designer组件中添加参数,并显示单元格中的值。 |
![]() |
Altium Designer组件不具有该参数,但库/数据库中的组件具有。更新将在Altium Designer组件中添加参数,并最初不分配值。 |
![]() |
Altium Designer组件具有该参数,但库/数据库中的组件没有。更新将从Altium Designer组件中移除该参数。注意:如果组件实例正在从外部数据库更新,并且相关的数据库字段到设计参数映射设置为,即使数据库记录中存在该参数,也将被视为数据库中不存在。 |
![]() |
Altium Designer组件和库/数据库中的组件的参数值之间存在差异。根据数据库链接文档(DbLink、DbLib或SvnDbLib文件)中当前的更新值选项的值,拒绝更新到数据库中的值的提议。不会发生变化。请注意,此对话框中的更新选定和更新全部命令将覆盖此状态并强制更新。 |
![]() |
Altium Designer组件不具有该参数,但库/数据库中的组件具有。根据当前的添加到设计选项的值,拒绝将参数添加到Altium Designer组件的提议更新。不会发生变化。请注意,此对话框中的更新选定和更新全部命令将覆盖此状态并强制更新。 |
![]() |
Altium Designer组件具有该参数,但库/数据库中的组件没有。根据数据库链接文档(DbLink、DbLib或SvnDbLib文件)中当前的从设计中移除选项的值,拒绝从Altium Designer组件中移除参数的提议更新。不会发生变化。请注意,此对话框中的更新选定和更新全部命令将覆盖此状态并强制更新。 |
更新PCB库中的封装
在上一节中解释的从库更新和从库更新选定的命令仅用于更新原理图页面上放置的组件。尽管可以将模型作为更新的一部分,但考虑的是模型链接而不是链接模型的实际图形属性。要将PCB封装的图形属性从源PCB封装库传递更改,需要使用Altium Designer更新工具箱中的另一个工具 - 从PCB库更新。此更新工具通过对每个封装的基元进行物理比较,检查板上的组件封装与源PCB封装库中的相应封装。
为了说明这个工具的使用,考虑下面显示的组件封装。这些是PCB文档上现有的封装。右边是源PCB封装库中存在的修改后的封装(*.PcbLib)。虽然变化很微妙 - 顶部封装移动了''标志";底部增加了''标志和弧"的宽度 - 但对于我们的说明来说已经足够了。
PCB文档上现有的封装(左图)和源PCB封装库中修改后的封装(右图)
定义更新选项
更新是从PCB文档使用从PCB库更新命令进行的,该命令可从主工具菜单中获得。启动此命令将打开从PCB库更新 - 选项对话框。使用此对话框确定要在比较中包括哪些层。默认情况下,所有层都启用。
查看比较结果
在从PCB库更新 - 选项对话框中根据需要定义选项后,点击确定。比较将继续进行,并且结果将显示在随后的从PCB库更新对话框中。
源PCB库是从与源原理图中相应组件关联的PCB模型链接中识别的。源库必须是可用的基于文件的库的一部分。
对话框分为两个主要部分。上部区域显示比较结果。PCB上每个组件的足迹将与指定源库中相应的足迹进行比较。如果足迹中每个基元的比较都在指定的容差范围内,则认为足迹匹配,匹配列中将出现一个绿色勾选图标()。如果匹配,则无需更新。
然而,如果足迹中的一个或多个基元在位置上超出了容差范围,则将标记足迹不匹配。一个红色叉号图标()将被插入到匹配列中。需要更新以使放置的组件的足迹与源库足迹重新同步。
每个足迹不匹配的组件都会有一个相关的更新选项。默认情况下,每个不匹配的组件都会自动包含在更新中。控制权,如同在Altium Designer中的常规操作,始终掌握在您手中,您可以选择将任何不匹配的组件排除在更新过程之外。
对话框的下部区域列出了当前选中的(且不匹配的)组件条目在上面区域中发现的基元差异。
生成比较报告
如果您想创建足迹比较报告(Footprint Comparison - PCBDocumentName.html),请点击从PCB库更新对话框左下角的创建报告按钮。报告提供:
- 不匹配组件的列表
- 匹配组件的列表
- 不匹配组件列表中每个组件的基元差异详情。
继续进行更新
当您对更新方案满意时,点击接受更改(创建ECO)按钮。使用随后打开的工程更改订单对话框来验证然后相应地执行更新。禁用您不希望发生的任何更改。更改将被执行,包括在更新中的组件将会更新其足迹至源库中的足迹。
直接从源库文档更新
可以直接从源原理图或PCB库内部对放置的原理图组件和PCB脚印进行更新。这种更新方法特别适用于从独立的原理图组件(*.SchLib)或PCB脚印(*.PcbLib)库放置的组件,并且这些库是项目可用的基于文件的库的一部分。
从原理图库编辑器应用更改
从源原理图库,可以使用SCH Library面板的右键菜单应用更改
在源原理图库中对组件所做的修改,通过原理图库编辑器主工具菜单中可用的更新原理图命令传递到原理图文档。或者,可以通过在SCH Library面板中选择这些组件,并使用右键菜单中的更新命令来应用对选定组件的更改。
所有打开的原理图文档中放置的组件实例将被更新,无论文档属于哪个项目。本质上,如果放置的组件的物理组件字段与库组件的相同,它将被更新。更新过程中修改了多少组件(在多少文档中)将通知您。更新是对库中每个现有组件实例的完全替换。
从PCB库编辑器应用更改
从源PCB库,可以使用PCB Library面板的右键菜单应用更改
同样,对源PCB库中的一个或多个组件脚印所做的更改可以直接传递到PCB上放置的这些脚印的实例。PCB库编辑器的主工具菜单提供了仅更新当前脚印(用当前脚印更新PCB)或所有脚印(用所有脚印更新PCB)的命令。这些命令也可以从PCB Library面板的右键菜单中访问。
所有打开的PCB文档中放置的组件足迹实例将被更新,无论其父项目如何。本质上,如果放置的组件足迹与库中的组件名称相同,它将被更新。
验证更新
在更新放置的原理图组件、原理图库组件或PCB足迹后,您当然会想要验证更新是否按计划进行。以下部分将介绍如何快速检查参数、模型链接和图形属性是否已成功更新。
检查参数更新
您可以通过运行参数表编辑器对话框(工具 » 参数管理器)或通过查询所选组件的属性面板中的参数来检查参数是否正确更新。
下面,组件C1、C2和C3在更新过程中都新增了一个参数TestParam,值为Test。
检查模型链接更新
组件的模型链接更新可以通过关联的属性面板中的模型区域来验证。
检查图形更新
检查图形更新最简单的方法是将工作表上的设计组件与源库中的组件进行比较。后者可以通过使用组件面板轻松显示,该面板允许直接进行并排比较。