从基于文件的库和数据库元件库对元件进行更新

您正在阅读的是 17.1. 版本。关于最新版本,请前往 从基于文件的库和数据库元件库对元件进行更新 阅读 24 版本

您已经在原理图上放置了组件,甚至可能已经完全接线、编译并将设计转移到了板布局阶段。但无疑会有一个时候需要更改组件 - 添加新参数、更改模型链接,或者可能是在图形级别更改符号或足迹。

进行更改的逻辑位置是在源头。这个源头的性质取决于组件是如何放置的:

  • 来自集成库 - 提取源库,进行更改,然后编译集成库包以生成修订后的集成库。
  • 来自数据库库 - 对于参数或符号/模型引用,更改是在链接的外部数据库中对应组件的记录中进行的。如果更改是图形的 - 对符号或模型 - 则在引用的源库中进行。
  • 来自原理图/PCB库 - 在相应的库中对组件或足迹进行更改,该库是从中放置组件/足迹的。

您还可能使用数据库链接文件(DBLink)将放置的组件链接到外部数据库。符号和模型更改在源库中进行。对于参数,更改在数据库中进行。

一旦进行了更改,就需要将其推送到设计中。Altium Designer 提供了多种更新工具,允许您快速高效地将组件更改传递给您的 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封装的图形属性传递给PCB封装,需要使用Altium Designer更新工具箱中的另一个工具 - “从PCB库中更新”。

此更新工具通过比较每个封装的原语,检查电路板上的元件封装与源PCB封装库中的相应封装进行物理比较。

为了说明此工具的使用,请考虑以下元件封装。这些是PCB文档中现有的封装。右边是源PCB封装库(*.PcbLib)中存在的修改后的封装。虽然变化微妙 - 顶部封装有“''”符号移动;底部有“''”符号和弧形的宽度增加 - 但对于我们的简单说明来说已经足够了。

定义更新选项

使用主菜单中的“工具”菜单中的“从PCB库中更新”命令从PCB文档进行更新。启动此命令将打开“从PCB库中更新”-“选项”对话框。

使用此对话框确定要在比较中包含哪些层。默认情况下,所有层都启用。

查看比较结果

在“从PCB库中更新”-“选项”对话框中根据需要定义选项后,单击“确定” - 比较将进行,结果将出现在随后的“从PCB库中更新”对话框中。

源PCB库是通过与源原理图中相应元件相关联的PCB模型链接来识别的。源库必须是“可用库”的一部分。

对话框分为两个主要区域。上方区域显示比较结果。PCB上每个元件的封装与指定的源库中的相应封装进行比较。如果封装的每个原语的比较在指定的公差范围内,则认为封装匹配,匹配列中将出现一个绿色勾选标记 (  )。如果匹配,则不需要进行更新。

然而,如果一个或多个原语在封装内的位置超出了公差范围,则封装会被标记为不匹配。匹配列中将插入一个红色交叉标记 ( )。需要更新以使放置的元件封装和源库封装重新同步。

对于每个封装不匹配的元件,将有一个关联的“更新”选项。默认情况下,不匹配的每个元件都会自动包含在更新中。控制权始终在您手中,如果您希望,可以选择从更新过程中排除任何不匹配的元件。

对话框的下部区域列出了当前选定的(和不匹配的)元件条目之间原语之间的差异。

生成比较报告

如果您想创建一个封装比较报告(封装比较 - PCBDocumentName.html),只需单击“从PCB库中更新”对话框左下角的“创建报告”按钮。报告提供:

  • 未匹配组件列表
  • 已匹配组件列表
  • 未匹配组件列表中每个组件的原语差异详情。

Generating a comparison report will close the Update From PCB Libraries dialog. You will have to launch the command again.

Proceeding with the Update

When you are satisfied with the update solution, click the Accept Changes (Create ECO) button. Use the Engineering Change Order dialog that appears to validate and then execute the updates accordingly. Disable any change that you do not wish to proceed with. The changes will be made and the components included in the update will have their footprints updated to those in the source libraries.

Updating Directly from a Source Library Document

Direct update of placed schematic components and PCB footprints can be performed from within a source schematic or PCB library respectively. This method of updating is particularly suited to the update of components that have been placed from isolated schematic component (*.SchLib) or PCB Footprint (*.PcbLib) libraries and where those libraries are made part of the Available Libraries for the project.

Applying Changes from the Schematic Library Editor

Modifications made to components in a source schematic library are passed to the schematic document(s) using the Update Schematics command, available from the Schematic Library Editor's main Tools menu. Alternatively, changes to selected components can be applied by selecting those components in the SCH Library panel and using the update command from the right-click menu.

All instances of the placed component(s), in all open schematic documents, will be updated, regardless of the project to which a document belongs. Essentially, if a placed component has the same entry for its Physical Component field as that of the library component, it will be updated. You will be notified as to how many components (and in how many documents) have been modified by the update process.

The update is a full replacement of each existing component instance with that in the library.

If a component instance on a schematic has been placed from an integrated library (IntLib) or database library (DBLib, SVNDBLib), using this command fully replaces the component and therefore the original library link will be replaced by a link back to the source library involved in the update. This can be especially dangerous for a component placed from a database, as the link to the corresponding record in that database will be severed. It is therefore advisable (and perhaps safer) to use the Update From Libraries command.

Applying Changes from the PCB Library Editor

In much the same way, changes made to one or more component footprints in a source PCB library can be passed directly to placed instances of those footprints on the PCB. The main Tools menu in the PCB Library Editor offers commands for updating just the current footprint (Update PCB With Current Footprint), or all footprints (Update PCB With All Footprints). These commands can also be accessed from the PCB Library panel's right-click menu.

All instance of the placed component footprint(s), in all open PCB documents, will be updated, regardless of parent project. Essentially, if a placed component footprint has the same name as that of the library component, it will be updated.

Verifying an Update

After updating the placed schematic components, schematic library components, or PCB Footprints, you will of course want to verify that the update proceeded as planned. The following sections look at how you can quickly check that parameters, model links, and graphical attributes have updated successfully.

Checking Parameter Updates

You can check that the parameters have been updated correctly either by running the Parameter Manager (Tools » Parameter Manager ), or by interrogating the parameters for a component either in its associated properties dialog, or in the relevant inspector-based panel for the editor you are in (SCH Inspector or SCHLIB Inspector).

Below, the component C1 has had the value of its DatasheetDocument parameter changed to 12-Nov-2015 as part of an update process.

Updates to model links for a component can be verified from the Models region of the associated Component Properties dialog.

Checking Graphical Updates

The simplest way to check graphical updates is to compare the design component on the sheet against the component in the source library. The latter can easily be displayed using the Libraries panel, allowing direct side-by-side comparison.

If you find an issue, select the text/image and pressCtrl + Enterto send us your feedback.

您可以使用的功能取决于您的 Altium 订阅级别。如果您在软件中找不到某个功能,请联系 Altium 的销售人员以获取更多信息。

Content