创建并定义数据库库
概览
- 了解 DbLib 和 SVNDbLib 文件的作用及其创建位置。
- 探索数据库连接选项,包括 Access 和 Excel 快捷连接方式、连接字符串以及 Microsoft 数据链接文件。
- 学习如何浏览和编辑已连接的表、控制是否将其包含在库中,以及为每个表单独定义元件匹配条件。
数据库库功能的核心是数据库库文件。根据使用的是标准数据库库还是版本控制数据库库,该文件分为以下两种形式:
- Standard Database Library - 数据库库文件。此文件使用 Altium Designer 的 DatabaseLib 编辑器创建和管理。当主设计窗口中的活动文档为 *.DbLib 文件时,即可使用此编辑器。
- Version-Controlled Database Library - SVN 数据库库文件。此文件使用 Altium Designer 的 SVNDatabaseLib 编辑器创建和管理。当主设计窗口中的活动文档为 *.SVNDbLib 文件时,即可使用此编辑器。
在 DatabaseLib 编辑器中打开的 DbLib 文件示例。将鼠标悬停在图像上,可查看在 SVNDatabaseLib 编辑器中打开的 SVNDbLib 文件示例。
要新建这些类型的文件,请从主菜单中选择 File » New » Library 命令,然后在打开的 New Library 对话框的 Database 区域中选择 Database Library 或 SVN Database Library 选项。
连接到外部数据库
只有在活动的数据库库/SVN 数据库库文件成功连接到所需的外部数据库后,表和映射数据才会显示在编辑器的主显示窗口中。使用 Source of Connection 区域中提供的控件定义连接。
通过 DbLib 文件指定与外部数据库的连接。将鼠标悬停在图像上,可查看通过 SVNDbLib 文件建立的连接。
可以连接到任何支持 OLE DB 的数据库。此区域中提供的各个选项均使用 OLE DB 连接字符串连接到目标数据库。某些数据库可能不支持 OLE DB。不过,现今使用的几乎所有数据库管理系统都可以通过开放数据库连接(ODBC)接口进行访问。数据库链接功能使用 Microsoft 的 ODBC 提供程序,允许 ADO(ActiveX 数据对象)连接到任何 ODBC 数据源。因此,可以连接到任何 ODBC 数据库。ODBC 数据库的 OLE DB 提供程序作为连接字符串的一部分指定。
也可以在 Database Connection 对话框的 Connection 选项卡上定义连接。要打开此对话框,请从主菜单中选择 Tools » Database Connection 命令,或单击 Advanced 按钮(位于该区域底部、Connect 按钮的右侧)。
数据库连接对话框的选项和控件
连接选项卡
-
Source of Connection
- Use Data Link File - 连接字符串是数据库连接信息的字符串形式,可以保存为扩展名为 .udl 的独立文件,称为 Microsoft 数据链接文件。如果要使用数据链接文件作为数据库连接的来源,请选择此选项,然后单击 Browse 以打开 Select Data Link File 对话框,或使用下拉列表查找所需的 .udl 文件。
- Use Connection String - 选择此选项,然后单击 Build 打开 数据链接属性对话框,以重新构建数据库连接字符串,用于映射元件参数。连接字符串中指定的信息可能因所指定的 OLE DB 提供程序而异。
高级选项卡
-
SQL Options
-
Quote Tables - 启用此选项可使用特定的引用字符来引用表。
- Left Quote Character - 指定左引用字符。默认值为“[”。
- Right Quote Character - 指定右引用字符。默认值为“]”。
-
Quote Tables - 启用此选项可使用特定的引用字符来引用表。
- Include Table Schema Names - 启用此选项可包含带有表架构名称的表。默认情况下,此选项处于关闭状态,仅使用具有普通表名的表。
- Field Data Type - 指定新字段的数据类型。例如,MS Access 或 MySQL 数据库可使用 TEXT(N) 或 VARCHAR(N);Oracle 数据库可使用 VARCHAR2(N)。
快速连接到 Access 和 Excel 数据库
如果目标数据库是使用 Microsoft Access 或 Microsoft Excel 创建的,Select Database Type 选项可提供一种快速创建连接字符串的方法。使用此选项时,先选择数据库类型,然后浏览并选择所需的数据库文件。系统会自动生成相应的连接字符串,并将其填入 Use Connection String 选项对应的字段中。
构建连接字符串
如果公司的数据库不是基于 Access 或 Excel 的数据库,并且您希望手动构建连接字符串,请启用 Use Connection String 选项,然后单击右侧对应的 Build 按钮。随后将显示 Data Link Properties 对话框。
通过 Data Link Properties 对话框构建连接字符串。
对话框打开时显示 Connection 选项卡。默认情况下,对话框的 Provider 选项卡上的 OLE DB 提供程序设置为 Microsoft Office <Version> Access Database Engine OLE DB Provider。这是新建数据库库/SVN 数据库库文件的默认提供程序设置,也用于连接到 Access 数据库文件(*.mdb)。请根据需要更改提供程序。
在 Connection 选项卡中,输入要连接的数据库名称(包括路径)。
如果数据库需要登录权限,请按要求输入相关信息,并在对话框的 Advanced 选项卡中配置其他高级设置。All 选项卡提供已定义链接选项的汇总列表,以及与所选 OLE DB 提供程序相关的扩展选项。您可以根据需要在此选项卡中修改选项。
定义链接选项后,可以单击(Connection 选项卡上的)Test Connection 按钮,检查是否能够成功连接。连接成功后,将显示相应的确认对话框。
指定数据链接文件
如果要连接的数据源是使用 Microsoft 数据链接文件(*.udl)描述的,请启用第三个连接选项 - Use Data Link File - 然后单击对应的 Browse 按钮,查找所需的文件。数据链接文件本质上是用于存储连接字符串的容器。
继续建立连接
定义与外部数据库的连接后,Connect 按钮上的文字将变为粗体,表示您可以继续建立连接。如果连接信息正确,目标数据库的表和映射信息将加载到数据库库/SVN 数据库库文件中。Connect 按钮上的文字将变为 Connected,且该按钮将灰显。
如果连接信息有问题,例如连接字符串构建不正确或路径输入错误,连接将失败,并显示一条消息提示您。请检查连接设置,然后再次单击 Connect 按钮。
数据库库中连接失败提示的示例。
首次成功连接并保存数据库库/SVN 数据库库文件后,只要目标数据库的位置和文件名未更改,每次打开该文件时都会自动建立连接。
指定指向版本控制存储库的链接(仅限 SVNDbLib)
对于 DbLib,符号库和模型库存储在硬盘或其他本地/网络介质上。请注意,对于 SVNDbLib,这些库存储在 Subversion 存储库中,并受版本控制。您必须在 SVNDbLib 文件中定义指向此存储库的链接。与 SVN 存储库的连接在 Database Library Options 对话框(Tools » Options)的 SVN Repository 选项卡上定义。也可以通过单击文档视图中 Field Settings 区域的 Options 按钮来访问此对话框。
连接到基于文件的 SVN 存储库的示例。
数据库表列表
成功连接到外部数据库后,将加载表和映射数据。DbLib/SVNDbLib 文档左侧会列出所连接数据库中存在的所有表。
所连接数据库中存在的表。
每个表条目旁边的 Enable 选项可用于控制是否将该表包含在最终的数据库库中。将数据库库添加到“可用的基于文件的库”列表,以便在 Components 面板中浏览时,每个表都会显示为一个独立的库实体。因此,虽然实际上只添加了一个数据库库,但从 Components 面板的角度来看,就像添加了多个不同的库。有关更多信息,请参阅在基于文件的库和数据库库中搜索元件。
单击列表中的某个表条目时,其图标会从
变为
,以标识它是当前活动表。该表及其所有数据会显示在文档的 Table Browser 选项卡上。这是该表的可编辑视图,您可以快速查阅其内容,并根据需要进行编辑,而无需启动外部数据库本身。
指定匹配条件
从外部数据库放置元件后,需要通过某种方式,保留已放置元件与用于创建该元件的数据库记录之间的链接。实质上,就是需要将两者匹配起来。
放置元件时,会根据数据库记录中的相应字段即时创建其参数信息。放置后,原理图元件与数据库记录之间的链接通过其中一个或多个参数建立。文档的 Field Settings 区域可用于定义匹配条件,既可以使用简单的单键查找,也可以使用 Where 子句进行更高级的匹配。
控制放置后的匹配条件。
单键查找
如果启用了 Single key lookup 选项(默认启用),则 Database field 和 Part parameter 字段将可用。前者列出了数据库当前活动表中的所有可用字段名称(列标题)。由于原理图元件的参数是在放置时添加的,因此 Part parameter 字段将随所选数据库字段相应变化。
通常,查找键字段应能唯一标识外部数据库中的每个元件,例如料号。所选查找字段在文档的 Field Mappings 选项卡中以灰显的 Design Parameter 条目标识。
按料号进行单键映射。
在放置后的某个阶段使用 Update Parameters From Database 功能时,系统会从已放置的原理图元件中读取所选键参数的信息,然后在数据库中所有已启用表的所选(键)字段中进行搜索。找到匹配项后,即可将所属表中该记录其他单元格的信息回传到原理图元件中映射的参数。
高级匹配——Where 子句
如果有唯一的料号/ID 可供匹配,Single key lookup 选项就能很好地发挥作用;但如果按电容量或电阻值等非唯一参数进行匹配,其效果就不太理想。在这种情况下,应使用更高级的 Where 子句,通过指定多个键进行匹配,将原理图元件链接到其源数据库记录。
最简单的 Where 子句(使用 SQL 语法编写)反映了定义单键查找时所选的条目。例如,如果将 Database field 选为默认值 Part Number,则 Part parameter 字段也会自动设置为 Part Number,而 Where 子句条目将为:
[Part Number] = '{Part Number}'
数据库字段(表列)两侧的方括号是引用字符,在 Database Connection 对话框的 Advanced 选项卡上指定。您可以单击文档中 Source of Connection 区域的 Advanced 按钮,或通过主 Tools 菜单访问此对话框。
Database Connection 对话框的 Advanced 选项卡提供了其他 SQL 选项,用于在构建的 Where 子句中为
表名添加引用字符,或使用表架构名称。
花括号(大括号)表示所引用的条目是一个设计参数。单引号用于指定将设计参数视为字符串,而不是数字(不加引号)。类型匹配非常重要,因为 SQL 对类型敏感。设计参数的类型应与数据库中对应列的类型一致。
使用标准 SQL 语法,可以扩展 Where 子句,以使用多个 Database field/Part parameter 条目进行匹配,例如:
[Capacitance] = '{Capacitance}' AND [Tolerance] = {Tolerance} AND [Manufacturer] = '{Manufacturer}'
在此示例中,将使用三个不同的设计参数,链接到数据库中相关表的一条记录。请注意,Tolerance 设计参数的条目没有加引号。这意味着数据库中关联表的列类型为 Number,而不是 String。
使用标准 SQL 语法,您可以根据需要,将 Where 子句设置得简单或复杂。
将数据库字段映射到设计参数
从数据库库放置元件时,会在放置过程中创建/添加该元件的设计参数。实际创建哪些参数,以及放置后使用 Tools » Update Parameters From Database 命令更新其信息时所采用的选项,均由数据库库/SVN 数据库库文件中指定的映射和更新信息决定。这些设置在主文档视图的 Field Mappings 选项卡上进行。
在 DbLib/SVNDbLib 文档的 Field Mappings 选项卡上指定参数映射和更新选项。
模型和参数映射
Field Mappings 选项卡上从左侧起的前两列,用于控制将数据库中的哪些信息映射到元件的属性、模型和参数。
- Database Field Name - 此列列出数据库中当前活动表的所有字段(列)名称。
- Design Parameter - 此列定义如何使用数据库中每个对应的字段。字段可以用于提供元件的符号或封装模型(用方括号括起),也可以作为元件参数包含在内(不加方括号)。
连接到数据库后,会自动执行初始映射,对所有数据库字段进行映射。
属性与模型
如果数据库字段名称是以下保留名称之一,则会在 Design Parameter 字段中自动设置对应的属性/模型映射条目:
- Description → [Description]
- Footprint Ref → [Footprint Ref]
- Footprint Path → [Footprint Path]
- Footprint Ref n → [Footprint Ref n]
- Footprint Path n → [Footprint Path n]
- Library Ref → [Library Ref]
- Library Path → [Library Path]
- Orcad Footprint → [Orcad Footprint]
- Orcad Library → [Orcad Library]
- PCB3D Ref → [PCB3D Ref]
-
PCB3D Path → [PCB3D Path]
- Sim Description → [Sim Description]
- Sim Excluded Parts → [Sim Excluded Parts]
- Sim File → [Sim File]
- Sim Kind → [Sim Kind]
- Sim Model Name → [Sim Model Name]
- Sim Netlist → [Sim Netlist]
- Sim Parameters → [Sim Parameters]
- Sim Port Map → [Sim Port Map]
- Sim Spice Prefix → [Sim Spice Prefix]
-
Sim SubKind → [Sim SubKind]
这些映射定义了元件的属性和模型信息。放置元件时,会从指定的原理图库中提取对应数据库记录的 [Library Ref] 字段所指定的原理图符号。同样,记录中存储的 PCB 封装和仿真模型信息,也会分别作为链接的封装模型和仿真模型添加到元件中。
要将数据库库/SVN 数据库库中的元件放置到原理图上,Design Parameter 列中必须存在 [Library Ref] 条目,且该条目必须映射到指定原理图符号的 Database Field Name。如果数据库表使用其他 Database Field Name(例如 SCH Symbol)来存储符号引用,则需要使用该单元格的下拉列表,手动将此字段关联的 Design Parameter 条目设置为 [Library Ref]。
同样,如果在数据库中输入模型引用信息时使用了不同的字段名称,则需要依次为每个字段从下拉列表中选择适当的 Design Parameter 条目([Footprint Ref]、[Footprint Ref n]、[PCB3D Ref]、[Sim Model Name] 等),以手动完成映射。
要在放置元件时定义其符号和模型信息,数据库中的符号和模型引用字段是关键的
映射对象——请确保定义的映射中包含符号引用和至少一个 PCB 封装引用。
仿真模型映射
本节 介绍可添加到外部数据库表中的各个数据库字段,这些字段用于定义仿真模型链接,该链接将在放置元件时创建。
-
Sim Model Name – 要使用的模型名称。放置元件后,此信息将显示在 Sim Model 对话框的 Model Name 字段中。
- Sim Description – 所链接模型的描述。此信息为可选项,不影响仿真模型链接的工作。
-
Sim File – 用于查找 Sim Model Name 字段中指定的仿真模型的特定模型文件。此字段有多种使用方式:
-
可以输入模型文件的绝对路径(例如
C:\DbLibs\Switching Diodes\Libraries\JAS33.mdl)。系统将在此文件中搜索 Sim Model Name 字段中指定的模型,找到后便使用该模型。 -
可以输入模型文件的相对路径(相对于 DbLib 文件,例如
Libraries\JAS33.mdl)。系统将在此文件中搜索 Sim Model Name 字段中指定的模型,找到后便使用该模型。 -
可以仅输入模型文件名(例如
JAS33.mdl))。系统将使用 DbLib 文件中定义的搜索路径,查找第一个文件名与指定名称匹配、且包含与 Sim Model Name 字段中指定模型匹配的模型文件。 - 可以将此字段留空。系统将使用 DbLib 文件中定义的搜索路径,查找第一个包含与 Sim Model Name 字段中指定模型匹配的模型文件。
-
可以输入模型文件的绝对路径(例如
- Sim Kind – 所链接模型的父类别。
- Sim SubKind – 所链接模型的类型。
-
Sim Netlist – 与所链接模型类型相对应的网表模板信息。 如果您要指定自己的网表模板,并将 Sim SubKind 字段设置为
Generic Editor,以便更灵活地控制写入网表的信息,则此字段尤为重要。网表模板语法
定义网表模板时,输入的信息应符合 SPICE 的要求以及下述语法规则。
输入到模板中的字符会原样写入 SPICE 网表,但以下特殊字符除外:
% 百分号 @ 艾特符号 & 与号 ? 问号 ~ 波浪号 # 井号 创建网表时,这些字符将按下表进行转换:
网表模板中的语法... 网表生成器将其替换为... @<param> <param> 的值。 如果不存在此名称的参数,或该参数未赋值,则会报错。 &<param> <param> 的值。 如果参数未定义,不会报错。 ?<param>s...s 如果 <param> 已定义,则使用 s...s 分隔符之间的文本。 ?<param>s...ss...s 如果 <param> 已定义,则使用第一组 s...s 分隔符之间的文本,否则使用第二组 s...s 分隔符之间的文本。 ~<param>s...s 如果 <param> 未定义,则使用 s...s 分隔符之间的文本。 ~<param>s...ss...s 如果 <param> 未定义,则使用第一组 s...s 分隔符之间的文本,否则使用第二组 s...s 分隔符之间的文本。 #<param>s...s 如果 <param> 已定义,则使用 s...s 分隔符之间的文本;如果 <param> 未定义,则忽略模板的其余部分。 #s...s 如果网表模板中的后续条目有任何文本要写入 XSpice 网表,则使用 s...s 分隔符之间的文本。 %<pin id> 映射到 <pin id> 的原理图引脚所连接网络的网络名称。 %% 一个字面百分号字符。 在上表中,
- s 表示分隔符字符(, . ; / |)。
- <param> 指参数名称。
如果参数名称包含任何非字母数字字符,应将其用双引号括起来。例如:
@"DC Magnitude"- 此处使用双引号是因为名称中包含空格。
&"Init_Cond"- 此处使用双引号是因为名称中包含下划线。如果要为参数名称添加字母数字前缀,也应使用双引号。例如:
@"DESIGNATOR"A- 使用双引号可确保将 A 附加到元件位号后。以下是上表中特殊字符语法条目的示例。每个示例都说明了网表生成器如何转换相应的语法条目。
@"AC Phase"参数名称 AC Phase 因包含空格而用括号括起。在网表中,此条目将替换为 AC Phase 参数的值。如果不存在此名称的参数,或其值为空,则会报错。
&Area如果名为 Area 的参数存在且有值,则其值将写入网表。如果该参数未定义(即不存在或未赋值),则不会向网表写入任何内容,但也不会报错。这可用于可选参数。
?IC|IC=@IC|如果名为 IC 的参数已定义,则 || 分隔符之间的文本将插入网表。例如,如果参数 IC 的值为 0.5,则会将 IC=0.5 插入网表以替换此条目。如果该参数未定义,则不会向网表插入任何内容。
?IC/IC=@IC//IC=0/这与上一个示例相同,只是如果参数 IC 未定义,则会将 IC=0 插入网表。另请注意,此处使用了不同的分隔符。
~VALUE/1k/如果未定义名为 VALUE 的参数,则会将文本 1k 插入网表。
~VALUE/1k//@VALUE/这与上一个示例相同,只是如果定义了参数 VALUE,则会将其文本值插入网表。
#"AC Magnitude"|AC@"AC Magnitude"|@"AC Phase"此示例可在正弦电压源的预定义网表模板中找到。
如果已定义 AC Magnitude 参数,则会对分隔符内的内容求值,并将其插入网表。网表中后续的所有条目也会被求值并写入网表(在本例中为 @"AC Phase")。
例如,如果 AC Magnitude=1 且 AC Phase=0,则会将 AC 1 0 插入网表。但是,如果未定义 AC Phase,则会报错。
如果未定义参数 AC Magnitude,则网表模板中 #"AC Magnitude" 条目之后的所有内容都不会写入网表。
#|PARAMS:|?Resistance|Resistance=Resistance|?Current|Current=@Current|此示例可在参数化子电路的预定义网表模板中找到(参见 Fuse.PrjPcb 中的 F1)。
如果 Resistance 和 Current 参数均未定义,则 #|PARAMS:| 条目之后没有可插入网表的文本,因此分隔符内的文本也会被省略。
例如,如果参数值为 Resistance=1k 和 Current=5mA,则 #|PARAMS:| 条目之后将有文本,因此写入网表的条目将为 PARAMS: Resistance=1k Current=5mA。
@DESIGNATOR%1%2@VALUE此示例用于演示 % 字符的用法。
例如,如果参数值为 DESIGNATOR=R1 和 VALUE=1k,并且在 Sim Model 对话框的 Pin Mapping 区域中按照下表映射引脚:
原理图引脚 模型引脚 原理图引脚所连接的网络名称 1 (N+) 1 (1) GND 2 (N-) 2 (2) OUT 则会将文本 R1 GND OUT 1k 写入此元件的 SPICE 网表。
- Sim Spice Prefix – 所链接模型类型的 SPICE 前缀。
-
Sim Port Map – 原理图元件引脚与所链接模型引脚之间的映射关系。放置元件后,此信息将显示在 Sim Model 对话框的 Pin Mapping 区域中。
每对引脚映射必须按以下格式输入:
(SchematicPinNumber:ModelPinNumber),各对映射之间用逗号分隔。
例如,映射二极管仿真模型时,如果原理图引脚 1(阳极)必须映射到模型引脚 1(阳极),原理图引脚 3(阴极)必须映射到模型引脚 2(阴极),则应在数据库字段中输入:
(1:1),(3:2) -
Sim Excluded Parts – 如果希望将多部件元件中的某些部件排除在仿真之外,请在数据库中创建此字段。此信息对应于 Sim Model 对话框中 Pin Mapping 区域的 Exclude part from simulation 选项。
默认情况下,多部件元件的所有部件都会参与仿真,因此只需按编号指定要排除的部件即可。排除列表中的多个部件用逗号分隔。例如,如果某个元件有四个部件,而您不希望部件 2 和 4 参与任何仿真,则应在数据库字段中输入以下内容:
2,4 -
Sim Parameters – 如果希望为模型的仿真参数赋值,请在数据库中创建此字段。这些参数可在元件级别定义,不同于模型文件中可包含的更高级参数。
参数必须按以下格式输入:
ParameterName=Value,多个参数必须用竖线字符 (|) 分隔。
您可能还记得,元件级仿真参数也可以设置为元件参数,显示在相关 Component Properties 对话框的 Parameters 区域中,并可进一步显示在原理图图纸上。默认情况下,Sim Parameters 字段中的参数条目会自动添加为元件参数。如果不希望将某个仿真参数添加为元件参数,只需在参数名前加上感叹号前缀即可(例如
!Initial Voltage=100mV)。以二极管模型为例,它具有以下四个元件级参数:
- 面积因子
- 起始条件
- 初始电压
- 温度。
现在,假设要在数据库中为面积因子(例如 2)和温度(例如 22°C)添加值,并且不将这两项添加为元件参数。则 Sim Parameters 字段中的条目应为:
!Area Factor=2|!Temperature=22
参数
所有其他数据库字段名称都会自动映射到同名的设计参数。例如,如果数据库中的某个字段名为 Tolerance,则名为 Tolerance 的设计参数将映射到该字段。您可以单击设计参数名称所在的单元格并直接输入新名称,以更改该名称。元件放置到原理图图纸上后,这些设计参数名称将显示在其相关属性对话框的 Parameters 区域中。
数据库中与某个元件关联的数据字段可能很多,但在将元件放置到原理图图纸上时,您未必希望或需要将所有字段都作为设计参数添加到元件中。其中许多信息可能仅在生成物料清单时才需要。Report Manager 对话框允许您直接从链接的数据库向 BOM 添加参数信息,从而减少原理图源文档所“携带”的信息量。有关更多信息,请参阅在 Report Manager 中准备 BOM一节。
对于明确不希望从数据库映射的字段,请将 Design Parameter 条目设置为 [None]。在该选项卡上,未映射的数据库字段以红色叉号图标 标识,已映射的数据库字段则以绿色对勾图标 标识。
根据需要配置参数映射。设置为 [None] 可防止数据库中的参数映射到已放置的元件。如有需要,未映射的参数可以直接包含在 BOM 中。
参数更新选项
Field Mappings 选项卡上的其余列用于指定首次从数据库库中放置元件时,或在放置元件后使用 Tools » Update Parameters From Database 命令更新元件时,对参数执行的操作。
这四列如下:
- Update Values - 此列中的单元格用于确定当参数同时存在于原理图图纸和数据库中,但当前值不同时应执行的操作。您可以选择使用数据库中存储的值更新已放置元件的参数 (Update),也可以选择完全不更新 (Do not update)。在元件放置后使用 Update Parameters From Database 命令时,将遵循此选项。
- Add To Design - 此列中的单元格用于确定当数据库中存在某个参数,但已放置的元件中不存在该参数时应执行的操作。您可以选择添加参数 (Add)、不添加参数 (Do not add),或仅在数据库中已为该参数赋值时添加参数 (Add only if not blank in database)。首次从数据库库中放置元件时,以及在元件放置后使用 Update Parameters From Database 命令时,都会遵循此选项。
- Visible On Add - 此列中的复选框用于确定在首次放置或放置后更新时新添加的参数,是否在原理图图纸上的元件中可见(启用时可见,禁用时不可见)。
- Remove From Design - 此列中的单元格用于确定当已放置的元件中存在某个参数,但数据库中不存在该参数,或虽然存在但没有值时应执行的操作。您可以选择完全不移除该参数 (Do not remove),或仅在数据库中未为该参数赋值时将其移除 (Remove only if blank in database)。在元件放置后使用“从数据库更新参数”命令时,将遵循此选项。
最初,每个已映射数据库字段的 Update Values、Add To Design 和 Remove From Design 字段都将设置为 Default 条目,且 Visible On Add 选项处于禁用状态,如下图所示。
初始(默认)参数更新选项。
结合此图,关于更新选项,有以下四点需要注意:
- 未映射的数据库字段没有关联的更新选项。
- 基于属性和模型的映射(Design Parameter 列中带方括号的条目)没有关联的更新选项,因为它们不是设计参数。
- 关键字段(例如图中的 Part Number)没有关联的更新选项。此字段仅用于参数匹配。
- 设置为 Default 时,更新选项将遵循其对应的默认定义,该定义在 Database Library Options 对话框的 Default Actions 选项卡中指定(从主菜单选择 Tools » Options,或从 Table Browser 选项卡的右键菜单选择 Options)。也可以单击文档视图中 Field Settings 区域的 Options 按钮来访问此对话框。
在一个集中位置为 DbLib 定义默认参数更新选项。将鼠标悬停在图像上,可查看 SVNDbLib 的对应设置。
第四点的好处在于,您可以在一个集中位置指定更新选项,然后在为每个已映射字段定义更新选项时引用该位置。这就是为什么在将数据库字段映射到设计参数时,Default 条目会自动加载到相关更新字段中。
如果希望覆盖某个更新选项的默认设置,请在 Field Mappings 选项卡中单击相应的更新字段,然后再次单击以打开下拉列表,其中提供了适用的更新选项。
如有需要,可以手动覆盖参数更新选项。
这样,您就可以完全控制设计中参数的更新方式。您可以将所有字段设置为 Default,并在 Database Library Options 对话框中做出所需的更新决定;也可以单独设置每个更新字段,或混合使用这两种方式——完全由您根据实际需要决定。对于已放置的元件,更新操作通过 Engineering Change Order 对话框执行。如果在此阶段有些更新您不想执行,可以选择不包含这些特定更改,从而对哪些设计参数得到更新拥有最终决定权。
指定符号库和模型库的位置
从数据库库中放置元件时,其符号(由 [Library Ref] 映射指定)将从指定的原理图库 (*.SchLib) 中提取。同样,数据库中指定的任何模型引用(封装、PCB3D、仿真)所对应的模型都存储在底层的 PCB 库 (*.PcbLib)、PCB3D 库 (*.PCB3DLib) 和仿真模型 (*.mdl、*.ckt) 文件中。您可以通过以下方式在数据库中明确指定这些文件的路径:
- 输入文件的绝对路径。
- 输入文件的相对路径。
如果已在数据库中定义用于存储路径信息的字段,则需要将这些字段映射到适当的设计参数——[Library Path]、[Footprint Path]、[PCB3D Path]、[Sim File] 等(请参阅前面的模型和参数映射)。
在数据库表中输入路径,即使是相对路径,也会带来一定限制。如果更改了库文件或模型文件的位置,就需要相应地更新数据库表。为了提供更大的灵活性,您可以在 DbLib/SVNDbLib 文件本身中指定库搜索信息。这样,您就可以在数据库中仅指定源库文件或模型文件的名称,甚至完全不定义这些名称。
对于数据库库
对于 DbLib,库搜索路径在 Database Library Options 对话框(Tools » Options)的 Symbol and Model Search Paths 选项卡中定义。也可以单击文档视图中 Field Settings 区域的 Options 按钮来访问此对话框。
指定符号库和模型库的搜索路径。
要将路径添加到列表中:
-
在“库搜索路径”区域下方的字段中直接输入路径,或单击
按钮打开 Browse for Folder 对话框,从中找到所需库文件或模型文件所在的目录。
- 可以添加完整路径,也可以添加相对路径(相对于 DbLib 文件的位置)。使用 Add/Update As Relative Path 选项进行控制。
- 指定所需路径后,单击 Add 按钮将其添加到搜索路径列表中。
- 根据需要继续添加其他搜索路径。
库搜索路径决定了从数据库库放置元件时,以及放置后搜索模型时,可以从何处找到库文件和模型文件。具体使用哪个模型,取决于库搜索路径的设置方式,以及是否已将特定库信息添加到数据库中。搜索将按以下顺序进行:
- 如果符号或模型的映射路径字段中存在完整路径,则使用该库文件或模型文件,并提取相应引用字段中指定的符号或模型。
- 如果符号或模型的映射路径字段中存在相对路径,则使用该库文件或模型文件,并提取相应引用字段中指定的符号或模型。
- 如果符号或模型的映射路径字段中仅存在库文件名或模型文件名,则使用搜索路径查找第一个与指定名称匹配、且包含与相应引用字段中指定的符号或模型相匹配项的库文件或模型文件。
- 如果数据库中不存在库文件或模型文件的信息,则使用搜索路径查找第一个包含与相应引用字段中指定的符号或模型相匹配项的库文件或模型文件。
对于 SVN 数据库库
对于 SVNDbLib,Subversion 版本库中存放符号和封装模型的基目录在 Database Library Options 对话框(Tools » Options)的 SVN Repository 选项卡中指定。也可以单击文档视图中 Field Settings 区域的 Options 按钮来访问此对话框。
指定符号和封装在版本库中的基目录。
使用 Models Location 区域中的可用字段指定符号和封装的基目录。单击字段右侧的
按钮可打开 Browse for directory 对话框,通过该窗口可以浏览所链接的版本库。使用此对话框选择所需的文件夹。
在所链接的 SVN 版本库中浏览并查找相应目录。
模型位置决定了从版本受控数据库库放置元件时,以及放置后搜索模型时,可以从何处找到库文件和模型文件。具体使用哪些原理图符号和封装模型,取决于这些位置的设置方式,以及是否已将特定库信息添加到数据库中。搜索将按以下顺序进行:
- 如果符号或封装模型的映射路径字段中存在完整路径(例如 http://MyServer/svn/MyCompany/ParentDirectory/SchematicSymbols/Capacitor_NonPolarized.SchLib),则使用该库文件,并提取相应引用字段中指定的符号或封装。
- 如果符号或封装模型的映射路径字段中存在相对路径(相对于版本库根目录,例如 /ParentDirectory/SchematicSymbols/Capacitor_NonPolarized.SchLib),则使用该库文件,并提取相应引用字段中指定的符号或封装。系统会将对话框中“版本库服务器连接”区域指定的版本库 URL 添加到所输入路径的前面,以构成绝对地址。
- 如果符号或封装模型的映射路径字段中仅存在库文件名(例如 Capacitor_NonPolarized.SchLib),则使用版本库中指定的模型位置查找第一个与指定名称匹配、且包含与相应引用字段中指定的符号或封装模型相匹配项的库文件。
- 如果数据库中不存在库文件信息,则使用指定的模型位置查找第一个包含与相应引用字段中指定的符号或封装模型相匹配项的库文件。
