使用数据库元件库

如果你使用数据库库(Database Libraries)是因为需要对元器件进行良好管理,那么你可能会想进一步了解 Altium 的 Workspace Library 元器件。Workspace Library 元器件托管在并来源于已连接的 Workspace ,该 Workspace 为元器件数据提供安全、高完整性的存储;同时,Workspace Library 元器件还提供生命周期管理、修订版管理,以及与供应链的实时集成。

► 阅读更多关于 Workspace Library 的内容。

Altium Designer 通过创建并使用 Database Library,提供了直接从公司数据库放置元器件的能力。放置操作在 Components panel 中完成;安装数据库库后,该面板会作为浏览器连接到你的数据库。

放置完成后,可使用 Tools » Update Parameters From Database 命令在已放置元器件与其在数据库中对应的链接记录之间同步设计参数信息。完整的元器件更新——包括图形符号、模型引用和参数——可使用 Tools » Update From Libraries 命令执行。数据库中的参数化信息也可以包含在最终的物料清单(BOM)中,以便进行元器件采购。

The Move from 32-bit to 64-bit Software

自 18.0 版本发布起,Altium Designer 变为 64 位。要在 64 位版本的 Altium Designer 中将设计元器件链接到数据库,后端数据库引擎也必须是 64 位。如果你尝试通过 32 位 Microsoft Access 数据库引擎进行连接,将会出现以下错误信息。

Error dialog, reporting that a 64-bit version of the Microsoft Access Database engine is required for database linking

如果你需要在同一台计算机上同时使用 32 位和 64 位 Altium Designer 的数据库库,请参考以下页面以了解所提供的解决方案:Using Database Libraries with 32-bit and 64-bit Altium Designer on the Same Computer 页面。

请注意,某些连接错误(例如 Provider 中的 Connection String 详细信息语法不正确)可能会导致调用错误的数据库引擎;即使在安装了 64 位数据库引擎之后,也可能出现上述错误对话框。

直接放置——不止是链接那么简单

Altium Designer 提供三种从元器件链接到数据库的方法——分别使用 Database Link 文件(*.DbLink)、Database Library 文件(*.DbLib)或 SVN Database Library 文件(*.SVNDbLib)。DbLink 方法提供了一种高效方式,用于链接并保持设计(或库)中使用的元器件与数据库中录入的数据同步。DbLib/SVNDbLib 方法在这种已验证的链接效率基础上,进一步增加了可直接从数据库放置元器件的自由度——本质上是根据对应数据库记录中存储的信息动态创建元器件。

在深入了解数据库库功能之前,有必要先讨论这些方法在使用方式上的差异。

使用 Database Link 文件进行链接

Related page: 将现有元器件链接到公司数据库

  • 使用该方法时,Database Link 文件(*.DbLink)定义了原理图元器件与数据库中匹配记录之间的链接关系。记录匹配通过关键字段链接建立,可以是单个关键字段(例如料号),也可以是多个关键字段(通过定义 Where 子句)。
  • 在这种链接方式下,元器件的模型与参数信息必须预先作为 Altium Designer 库元器件的一部分进行定义。库元器件的定义中也必须包含必要的关键字段信息。完成这些定义后,将 Database Link 文件添加到 Library Package 或设计工程中,然后即可将元器件信息(参数)与数据库字段内容进行同步。
  • 尽管数据库中每条记录所定义的每个实体元器件不一定都要映射到唯一的 Altium Designer 库元器件——多个数据库元器件可以共享同一个元器件符号——但这种链接方式通常以“一个数据库记录对应一个 Altium Designer 元器件”的方式使用。这个唯一的 Altium Designer 元器件既可以是放置在原理图上的一个实例,也可以是元器件库中的一个唯一元器件。
  • 采用 DbLink 风格的数据库链接时,需要将 Database Link 文件与库包或设计工程一起包含。

使用 Database Library 文件进行链接

  • 使用该方法时,Database Library 文件(*.DbLib)同样定义了原理图元器件与数据库中匹配记录之间的链接关系。同样,记录匹配通过关键字段链接建立,可以是单个关键字段(例如料号),也可以是多个关键字段(通过定义 Where 子句)。
  • 该链接方式的关键差异在于:元器件的符号、模型和参数信息作为该元器件记录定义的一部分存储在外部数据库中。被引用的原理图元器件(存储在底层元器件库(*.SchLib)中)仅包含符号;它没有链接的模型,也没有已定义的设计参数。
  • 当放置元器件时,会根据匹配到的数据库记录中相应字段,并按照已定义的映射关系,动态生成其参数与模型信息。随后,其中一个或多个参数将用于维持与数据库的持续回链(依据已定义的匹配条件),从而支持放置后的后续同步。
  • 由于该方法在放置时动态创建元器件,因此非常适合以“多条数据库记录对应一个 Altium Designer 元器件”的方式使用。
  • 不同于 DbLink 风格的数据库链接(DbLink 文件必须包含在库包或设计工程中),DbLib/SVNDbLib 文件不需要添加到工程中。数据库库(DbLib)会包含在 Available File-based Libraries 中——可通过 Components panel 访问。请记住,Available File-based Libraries 可以由 Project Libraries、Installed Libraries 或在指定搜索路径下找到的库组成。
  • 通常你会以“面向库”的方式来配置 DbLib/SVNDbLib 文件。例如,你可能为公司数据库中所有电阻配置一个,为电容配置另一个,依此类推。

反映出 Database Link 文件与 Database Library 文件在工作方式上的差异:当将 DbLink 添加到工程时,它会出现在 Settings\Database Link Files 子文件夹中;而 DbLib 与 SVNDbLib 文件则会出现在 Libraries 文件夹下的相应子文件夹中,如下所示。这体现了 DbLink 作为元器件与相关数据库记录之间的接口或链接文件的角色;而 DbLib 类型文件则像库一样使用,使设计人员能够浏览数据库中的元器件记录。

Projects panel showing where each type of database link/library file is included in the project structure

DbLib 与 SVNDbLib

SVN Database Library 是 Database Library 模型的扩展,不同之处在于源符号与模型存储在版本控制之下。

源库在基于 Subversion 的仓库中创建、添加并维护。到仓库以及到外部数据库的链接在 SVN Database Library 文件(*.SVNDbLib)中定义。由于这种方法是 Database Library 的扩展,因此通常也被称为一个 Version-Controlled Database Library

图书管理员还是设计人员?

使用受版本控制的数据库库时,基本上有两种工作模式——作为 Librarian,或作为 Designer

作为 Librarian,你不仅需要搭建并维护符号与模型库的外部源代码控制仓库,还需要负责设置 SVN Database Library 文件。这包括:

  • 连接到外部元器件数据库。
  • 定义数据库记录到元器件参数/模型的映射。
  • 指定指向存储符号与模型库的 SVN 仓库的链接。

作为 Designer,你将使用 Librarian 生成的 SVNDbLib 文件,并通过将其添加到 Available File-based Libraries 列表,使其在 Components panel 中可用,从而浏览并放置数据库元器件。

Altium Designer 并不会禁止 Designer 执行 Librarian 相关活动。源代码控制仓库中定义的访问权限/许可最终将决定 Designer 能在多大程度上“驾驶”Librarian 这辆“车”。例如,Designer 可能可以检出、打开并修改某个库,但被禁止将更改提交到仓库。

这些角色的使用方式会因公司而异。较大的公司可能有专门的库中心,由其以 Librarian 的角色专注于源代码控制仓库中符号与模型库的搭建与维护,以及 SVN Database Library 文件的生成。随后,这些 SVNDbLib 文件会提供给公司内的 Designer,由他们安装并使用这些库文件,以便在设计中放置元器件。

在较小的公司中,这两种角色可能由同一个人承担。该人员不仅会搭建并维护库仓库,也会在设计工作中使用已定义的 SVNDbLib。

源代码控制仓库

Related article: 使用外部版本控制

符号与模型库文件需要添加到 Subversion(SVN)仓库中。Altium Designer 包含一个 SVN Version Control Provider,可在 Data Management - Version Control pagePreferences 对话框中启用并配置。启用 SVN Version Control Provider 后,可在 Data Management - Design Repositories 页面的 Preferences 对话框中创建仓库。

也可以在 Altium Designer 之外使用外部 SVN 客户端与服务器(例如 TortoiseSVN)来创建和管理 SVN 仓库。可在 Data Management - Design Repositories 页面的 Preferences 对话框中连接到现有仓库。

向仓库添加文件时需要注意的一点是:每个符号和模型都应单独存放在一个库文件中must be stored in its own library file。在常规库中——它可以包含任意数量的符号/模型——只要修改其中一个条目,版本控制系统就会将整个库标记为已修改。每个库文件只包含一个符号/模型更符合版本控制的工作方式,使你能够准确跟踪到底修改了什么、哪些没有修改。

就本文档而言,假定仓库已经创建完成。

有关你所使用的特定 SVN 客户端的更多信息,请参阅该软件随附的相关文档。有关版本控制的更多信息,请参阅 Using External Version Control。阅读本文档时请记住:对于受版本控制的数据库库,所使用的源代码控制系统必须是 Subversion。

使用 Library Splitter Wizard

如果符号和模型的库是新建的,那么确保每个文件只包含一个符号/模型并不困难。但通常情况下,源库往往已经存在。为简化将这些库拆分为单实体文件并添加到 SVN 仓库的工作,Altium Designer 提供了一个拆分工具——Library Splitter Wizard。该向导可将多组件原理图库(*.SchLib)和 PCB 库(*.PcbLib)快速拆分为单个组件库。可在原理图库编辑器、PCB 库编辑器以及 SVN 数据库库编辑器的 Tools 菜单中访问该向导。

使用 Library Splitter Wizard 将源库拆分为“每个文件一个符号/模型”。使用 Library Splitter Wizard 将源库拆分为“每个文件一个符号/模型”。

拆分流程的准备工作包括以下步骤:

  1. 添加需要拆分的源库文件(它们不必位于同一文件夹)。使用 Libraries to Split 页面选择要拆分的原理图库或 PCB 库。点击 Add 按钮打开对话框,浏览并将所需库添加到列表中。添加的库将在向导后续步骤中被拆分为单个组件库。源库不必位于同一文件夹。使用 Remove 按钮可从列表中删除选中的库。

  2. 指定输出目录。使用 Output Directories 页面为各个单组件库设置输出目录。列表中的 Output Directory 是拆分后库文件的放置路径。如有需要,点击 Change Output Directory 更新列表中显示并选中的目录。随后会打开一个对话框,你可以浏览并选择更新后的输出文件夹。

    默认情况下,输出目录会设置为源库所在的同一目录。如果所有原始源库都存放在同一个源目录文件夹中,需要特别注意:若不指定输出目录并保持默认(都指向同一源目录文件夹),最终可能会得到一个包含大量单符号与单模型库的混杂目录。在创建仓库结构时对这些文件进行筛选可能会非常耗时。

    由于拆分后的库文件将被添加到 SVN 仓库,因此一个不错的做法是在本地硬盘上先按你希望在仓库中采用的方式(就符号/模型文件而言)搭建好文件夹结构。结构确定后,将源库复制到该结构中各自对应的文件夹里。这样你就可以将每个源库的输出目录设置保留为默认值。拆分完成后,生成的单库文件就已经位于正确的位置。随后你可以从每个文件夹中删除原始源库,并使用你选定的 SVN 客户端将这些文件夹添加到仓库中。
  3. 配置附加选项以控制源库的拆分方式。这些选项包括:对于原理图组件库,可选择从每个组成组件中剥离参数和/或模型信息——仅保留最基础的符号。

    Split Libraries 页面两种情况的示例;左侧:转换 .PCBLib  文件时的 Split Libraries 页面。右侧:转换 .SCHLib  文件时的 Split Libraries 页面。 
    Split Libraries 页面两种情况的示例;左侧:转换 .PCBLib 文件时的 Split Libraries 页面。右侧:转换 .SCHLib 文件时的 Split Libraries 页面。

    你可以使用 Options 页面来控制库的拆分方式。使用下拉列表(如上图所示)选择新文件的处理方式。选择 Overwrite Existing Files(默认)会使新创建的文件覆盖任何已存在的同名文件。如果选择 Append Incrementing Number To File Names ,库拆分器将扫描上一页(Output Directories)中选定的所有输出目录,并生成一个需要保护的文件列表,以避免它们被覆盖。与现有文件同名的新组件库将追加后缀“_#Increment Number”。

  4. 当源库与选项指定完成后,向导将执行分析,其结果是将要创建的单符号/单模型库集合,并列出供你审阅。会显示每个将生成的拆分库名称,以及该库内原理图组件/封装模型的实际名称,同时也会列出原始源库。库文件所使用的名称将与其组成组件/模型的名称相同。

    如果组件/模型名称中使用了以下任意字符,在创建库名称时将被下划线替换:'\'、 '/'、'!'、'''、'['、']'。

    可在 Review 页面审阅将要创建的组件库。Splitted Library Name Component Name 和 Source Library 会被列出,用于显示拆分过程中将创建的新文件。点击每列右侧的向下箭头即可轻松访问该列数据的下拉列表。该功能在审阅超大型库的文件时尤其有帮助。

  5. 审阅将要创建的库列表,然后点击 Next 继续执行拆分流程,最终获得要添加到源代码控制仓库的库文件。 成功完成向导后,点击 Finish 关闭。

使用 SVN Database Library Conversion Wizard

将现有库转换为 SVN 类型数据库库的另一种方法是 SVN Database Library Conversion Wizard。该向导可将原理图、PCB、数据库以及集成库转换为 SVN 数据库库。向导提供多项与转换相关的选项,包括:源库应如何拆分、应存放到哪个仓库的哪些目录中,以及生成的 SVNDbLib 与 MDB 数据库文件的输出目录。 

在编辑 PCB 或原理图库文档时,可从 Tools 菜单访问该向导。

The Wizard splits model libraries & checks them into a repository, and creates the SVNDBLib and the Access database files该向导会拆分符号库与封装库并将其检入仓库,同时创建 SVNDbLib 和 Access 数据库文件。

下一步?

请参阅以下页面,了解使用数据库库的不同方面:

AI-LocalizedAI 翻译
如您发现任何问题,请选中相关文本/图片,并按 Ctrl + Enter 键向我们提交反馈。
功能可用性

您可使用的功能取决于您所选择的 Altium 解决方案 —— Altium DevelopAltium Agile(Agile Teams 或 Agile Enterprise 版本),或仍在有效订阅期内的 Altium Designer。

如果您在软件中未找到文中提及的功能,请联系 Altium 销售团队了解更多信息。

旧版文档

Altium Designer 文档不再提供版本区分。如果您需要访问 Altium Designer 旧版本的文档,请前往其他安装程序页面的旧版文档部分。