将现有元器件链接到企业数据库

Old Content - visit altium.com/documentation

 

本 文档提供了关于使用Altium Designer的数据库链接功能、及将现有Altium Designer元器件链接到外部数据库的详细信息。

许 多企业都有一个共同的需求,即将电子的CAD元器件链接到企业的核心元器件数据库中。而Altium Designer满足了该需求,其通过将现有元器件链接到企业数据库中的记录,提供了创建和使用数据库链接文件的功能。数据库链接文件将被添加到用户的设 计项目或元器件库包,以便对已放置在原理图图纸中的元器件、或者更常见的源原理图库中已定义的元器件进行分别链接。

链 接建立完成后,用户可以从数据库记录中转换已映射的信息,以使用数据库命令中的更新参数来对元器件的参数进行设计。这些信息都包含在材料清单(BOM) 内,以供元器件购置时使用。

关于链接的选择...

Altium Designer提供两种从元器件链接到数据库的方法,可分别使用数据库链接文件(*.DBLink)或Library数据库文件(*.DBLib)。前 者提供了高效的链接,并在用户的设计(元器件库)中使元器件使用时与输入的数据保持同步。后者则使用该可靠的链接效率,并添加了直接从数据库中自由放置元 器件的功能,本质上来说即是从相应数据库储存的相应信息中对元器件进行动态创建。
在 开始对数据库链接功能进行进一步的探索之前,由于不同的用户选择的方式不同,所以在这里,我们有必要对这两种方式的差异进行讨论。

使 用Library数据库链接文件(*.DBLink)进行链接

使 用这种方法,Library数据库文件将定义原理图元器件与数据库中匹配的记录之间的连接。记录匹配也是根据关键字段链接建立的,其可以是一个单独的关键 字段(如部件号)或多个关键字段(通过定义WHERE语句)。
使 用该种链接方法时,该元器件的模型和参数信息必须预定义为Altium Designer库元器件的一部分。该库元器件还必须包括必要的关键字段信息以作为其定义的一部分。当这些被定义完成之后,可将数据库链接文件添加到元器 件库包或设计项目中,然后就可实现元器件信息(参数)与数据字段内容的同步了。
尽 管每个数据库记录中定义的各个物理元器件并不需要映射到一个独特的Altium Designer库元器件(许多数据库元器件可以共享相同的元器件符号),这种链接的方法还是可能会专门用于“数据库记录与Altium Designer元器件的一对一对应”方式。这种唯一的Altium Designer元器件可作为原理图中放置的实例或是元器件库中唯一的元器件。
使 用DBLINK式数据库链接方法会将数据库包括到项目中。

使 用Library数据库文件(*.DBLib)进行链接

使 用这种方法,该Library数据库文件还将定义原理图元器件与数据库中匹配记录之间的连接。同样地,记录匹配是根据关键字段链接建立的,其可以是一个单 独的关键字段(如部件号),或多个关键字段(定义WHERE子句)。
使 用该种元器件符号建立链接的方式,元器件的模型和参数信息将作为元器件记录定义的一部分在外部数据库中存储。被引用的原理图元器件(在基础元器件库 (*.SchLib)中)仅作为具有一个已定义的符号的空壳。没有已链接的模型也没有已定义的设计参数。
放 置该元器件时,其参数与模型信息将使用匹配数据库记录中相应的字段,并根据定义的映射实时创建。这些参数中的一个或多个将按照定义的匹配标准使用,用于保 持回到数据库的持续性链接,以使其在放置后保持同步。
由 于元器件在放置时的动态创建,使用该种链接方式能够很好地适应“数据库记录与Altium Designer元器件的多对一对应”方式。
不 同于DBLINK式的数据库链接方式中DBLINK文件必须包含在项目内,该种方式DBLIB文件不需要添加到项目中。生成的Library数据库只需要 被设为可用库的一部分(可从元器件库面板访问)。请记住,可用库可由项目库、已安装元器件库或指定搜索路径下找到的元器件库组成。
一 般来说,可使用元器件库导向的方式对DBLIB文件进行配置。例如,用户可能在其企业数据库中有一个DBLIB文件供所有电阻器使用,而另一个则供电容器 使用,诸如此类。

创 建数据库链接文件

如 之前提到的,数据库链接功能的基干是数据库链接文件。此文件使用Altium Designer的DatabaseLink编辑器进行创建和管理(如图1所示)。

图1 . DatabaseLink编辑器。 

当主设计窗口的有效文件为*.DBLink文件时,DatabaseLink编辑器被激活。可通过以下方式创建一个该类型的新的文件:  

  • 使用文件»新建»数据库链接文件(File » New » Database Link File)的命 令 
  • 右键单击项目面板的项目项,并在出现的弹出式菜单中选中添加新文件到项目»数据库链接文件(Project » Database Link File)。
    添加到项目中时,数据库链接文件将在项目面板中出现,其位于Settings\Database Link文件夹的子文件夹下。

连接到外部数据库 

在有效数据库链接文件成功连接到所需的外部数据库后,表和映射数据将只出现在编辑器的主显示窗口中。使用窗口连接源区域的控制来定义连 接。(如图2所示) 

图2. 指定到外部数据库的连接。 

任 何提供OLE DB支持的数据库都可以连接。这些选项位于窗口的相应区域,每个都使用OLE DB连接字符串来连接到目标数据库。部分数据库可能不支持OLE DB,但几乎所有现今使用的数据库管理系统都可通过开放数据库互连(ODBC)界面进行访问。数据库链接功能使用了微软的ODBC提供的程序,其允许 ADO(ActiveX数据对象)连接到任何ODBC数据源。这使得所有ODBC数据库均可连接。ODBC数据库的OLE DB提供程序被指定为连接字符串的一部分。

快速连接到Acess和Excel数据库 

选择数据库类型选项仅仅 是在使用Microsoft Access或Microsoft Excel创建目标数据库时提供创建连接字符串的加急方法。如需使用此选项,只需选择数据库类型,然后浏览并选择所需的数据库文件。相应的连接字符串将自 动生成并填入到使用连接字符串选项的字段中。
用户可以指定完整路径,或者选择存储与数据库链接文件相关的路径。

建立连接字符串 

如果某用户的企业数据库不是基于ACCESS或Excel的,且用户需要建立明确的连接字符串,则用户只需启用使用连接字符串选项,然 后单击右侧相应的建立按钮(Build)。数据链接属性对话框将出现(如图3所示)。 

图3. 指定到外部数据库的连接。 

OLE DB提供程序(微软的Jet 4.0)由对话框的提供程序选项卡默认设置,因此对话框将在连接选项卡中打开。此为新的数据库链接文件的默认提供程序设置,且可用于连接到Access数 据库文件(*。MDB)。可根据需要更改提供程序。
请在连接选项卡中输入要连接的数据库名称(包括路径)。或者,也可使用...按钮打开对话框,在对话框中可浏览并打开所需的文件。

如果按照要求,数据库需要登录权限,并可从对话框的高级选项卡中找到所有其他可用的高级设置。全选选项卡提供了已定义的链接选项摘要列 表及与选中的OLE DB提供程序相关的扩展选项。可从该选项卡中根据需要对选项进行修改。
当链接选项定义完成之后,用户可以点击检查连接按钮(在连接选项卡中)来检查连接是否成功。连接成功后会生成一个确认对话框。

指定数据链接文件 

如果用户需要连接的数据源是使用Microsoft数据链接文件(*.UDL)进行描述的,则只需启用连接选项的第三条(使用数据链接 文件),并点击相应的浏览按钮以定位所需的文件。数据链接文件本质上是一个连接字符串的存储容器。 

进行连接

到外部数据库的连接定义完成后,连接按钮的文本会变成粗体,表示可以进行连接。如果连接的详细信息是正确的,目标数据库的表和映射信息 将加载到数据库连接文件中。连接按钮的文本将变为已连接,且按钮会变为灰色。

如果有关于连接详情的问题,如连接字符串建立不正确或路径输入错误,连接将失败并显示消息以提醒错误(如图4所示)。& nbsp;

图4. 标记连接失败。 

请检查连接设置,然后再次点击连接按钮。 

如果目标数据库的地址与文件名不变,那么,成功建立初始连接并保存数据库链接文件后,每次文件打开时连接都会自动打开。

数据库表列表

成功连接到外部数据库后,表和映射数据都将加载。显示窗口列表左侧列出了所有在已连接数据库中现有的表(如图5所示)。& nbsp;

图5. 已连接数据库中现有的表。 

在各个表条目旁的启用选项可用来控制从数据库中更新参数时是否使用该表。
当 点击列表中的一个表项时,其图标将发生从   到   的变化,以区分当前生效的表(包括其所有数据),其将在显示窗口的表浏览选项卡中显示(如图6所示)。这是表的一个不可编辑副本,用于快速参考其内容而不 必启用外部数据库。 

图6. 在已连接数据库中浏览源表。

指定匹配标准 

为了对部分参数信息根据存储在外部数据库的字段进行更新,设计的每个部分必须先与一个数据库表的一行相“匹配”。主显示窗口的字段设置 区域(如图7所示)可用于定义匹配标准(简单的单密匙查找或是使用更高级匹配的Where语句)。
匹配标准根据每个表的基础指定。

图7. 控制匹配条件。

单密匙查找 

如 果启用了单密匙查找选项(默认),数据库字段及部件参数字段将变为可用。前者在数据库的有效表中列出了所有可用的字段名(列标题)。后者列出了设计中每个 元器件的所有参数(包括系统和用户定义两部分的参数)。请注意,部件参数字段的下拉列表只会在上层项目编译完成后填入。
可使用这些字段来指定表中字段与部件参数之间的匹配(通常适用于所有部件)。在这两种情况下,匹配字段通常都用于在外部数据库中唯一识别各个元器件,如部 件编号。选中的查找字段在窗口的字段映射选项卡中突出显示,其设计参数项显示为灰色。

图8. 部件编号的单密匙映射。 

引 用表时,所使用的特定应用符号将取决于所使用的数据库。例如,方括号[]仅通过ADO或MSSQL在微软数据库中可用,如Access,Excel。 MYSQL则使用`(反引号)字符进行引用。在任何数据库中,如果已包括空间或保留字(该数据库中),用户只需引用列名即可。请检查用户的特定数据库软件 文档,以确定使用的是哪个引用字符(如果有的话)。

高级匹配的Where语句 

如果有唯一的部件编号/id来进行匹配,那么,单键查找的效果会更好,而当其不唯一时,通过参数进行匹配的效率较低,比如电容器或电阻 器。在这种情况下,将使用更高级的Where语句来指定多键匹配,以将原理图元器件链接到相关数据库表的所需行。
在最简模式中,Where语句(使用SQL语言编写)反映了定义单密匙查找的所选项。例如,如果数据库字段被选为部件编号,且唯一部件参数(设计中现有的 所有部件)被选为部件编号,该条目用Where语句表示将如下:
 [Part Number] = '{Part Number}'

数据库字段(表列)周围的方括号中即为引用字符,其将在数据库连接对话框的高级选项卡(图9)中指定。

要访问此对话框,可点击窗口连接源区域的高级按钮或点击主工具菜单的高级按钮。
花括号(大括号)用于指定参考项是一项设计参数。单引号用于指定设计参数为一个字符串,而不是一个编号(不包括引号)。SQL对类型敏感,故类型匹配非常 重要。设计参数应该根据数据库列中相同类型设定。
使用标准的SQL语言,Where语句可使用多数据库字段/部件参数项进行扩展,以实现匹配,例如:
[Capacitance] = '{Capacitance}' AND [Tolerance] = {Tolerance} AND [Manufacturer] = '{Manufacturer}'
在这种情况下将使用三种不同的设计参数链接到在数据库相关表中的单个记录。请注意,公差设计参数项将不会引用。这意味着,数据库相关表中的列类型为数字而 非字符串。
通过使用标准的SQL语言,用户可以根据需要编写Where语句,可长可短。更复杂的语句实例如下:
[Tolerance] BETWEEN {Min Tolerance} AND {Max Tolerance} AND [Price] <= {Max Price} AND [Manufacturer] IN ('{Preferred Manufacturer 1}', '{Preferred Manufacturer 2}')

在这种情况下,根据三种数据库字段(公差、价格与制造商)对表进行匹配查询。公差必须位于由最小公差和最大公差设计参数所限定的范围。 价格必须小于等于最高价设计参数中指定的数据,制造商可从首选制造商1与首选制造商2设计参数指定的两个候选者中选择。

创建部件参数 

如果在用户的Altium Designer元器件中没有合适的参数(在DBLINK文件中作为匹配目的的部件参数),则需要创建一个参数。可使用参数管理器或相关监测面板添加 “基”参数。

使用参数管理器添加参数 

如 欲使用参数管理器添加新参数,可在原理图文件(或原理图库文件)的主菜单中选择工具»参数管理器(Tools » Parameter Manager)。参数编辑器选项对话框将出现。如需将新的参数添加到所有部件,请确保部件选项在该区域包括的参数中已启用,且所有的对象设置为标准(如 图10所示)。
 

图10. 设置参数管理选项。 

点 击是( OK )将出现参数表编辑器对话框以显示有效项目的原理图源文件中所有部件对象(或有效原理图库中原理图元器件)的所有当前参数。只需点击添加列按钮,并使用添 加参数对话框,可以定义参数名称(如图11所示)。请确保添加到所有对象的选项已启用,从而使新的参数可被添加到所有部件。由于在本阶段用户只需要将参数 添加到每个部件,故最好不要对参数值赋值。请记住,如欲高效地链接到数据库的相应记录,请在之后根据每个部件的基对参数值进行定义。 

图11. 添加新的参数到所有部件。 

添加新列后,点击同意变更(创建工程变更指令)按钮。使用显示的工程变更指令对话框进行验证,然后执行变更(将参数添加到每个请求的部 件)。 

图12. 执行参数变更。

使用监测面板添加参数 

可使用监测面板将新的参数添加到所选的部件。以下过程对在有效原理图库文件中添加相同的唯一参数到所有元器件的情况进行了概述,可使用 SCHLIB滤波器和SCHLIB监测面板。

图13. 在监测面板中创建参数。 

首先,使用SCH过滤器面板和IsPart的query选中元器件库中的所有元器件。请确保已启用全库选项,否则将只选中有效的元器件 库元器件。在SCHLIB监测面板中,用户可以验证所有元器件是否都已选中,然后使用面板的参数区域添加所需的参数。
只需点击添加用户参数项右侧的字段,不输入值,然后按回车键。在出现的对话框中输入所需的参数名称。单击确定后,该参数将添加到所选的元器件,并在 SCHLIB监测面板的参数区域显示为参数项(如图14所示)。 

图14. 添加到所选元器件的新参数。

将数据库字段映射到设计参数 

  现有元器件(无论是放置在设计项目的源原理图图纸中还是已添加到元器件库包的原理图元器件库中已定义的元器件)的设计参数将根据外部存储的企业数据库信息 进行更新,使用数据库命令中的更新参数命令,该命令当原理图文件/原理图库文件有效时可从主工具菜单中启用。 

如在某个设计元器件与已链接数据库表中的记录之间发生了匹配,接下来需要进行映射并更新数据库链接文件中指定的信息。这些设置可在 DatabaseLink编辑器的主显示窗口的字段映射选项卡(图15)中进行。映射和更新选项根据每个表的基指定。 

图15. 指定参数映射和更新选项。

参数映射 

字段映射选项卡中的前两列(左起)用于控制哪些数据库中的信息将映射到元器件的参数。 

数据库字段名称列列出了当前有效的数据库表中的所有字段(列)名称。设计参数列可指定需要映射到数据库相应字段的设计参数。
  初始映射将根据数据库连接自动进行,其中包括使用相同的名称将所有数据库字段映射到设计参数。例如,如果数据库中的某个字段被称为公差,则名为公差的设计 参数将映射到它。用户可以通过以下方式更改设计参数的名称: 

  • 点击储存格,并直接输入新名称 
  • 使用储存格的相关下拉列表以选择现有的设计参数(前提是上级项目已预先编译)。
    在 数据库中可能有大量数据字段与某个元器件相关,其中一些可能是用户不想要或者不需要作为设计参数添加到现有设计元器件中的。其中许多信息可能只在生成材料 清单时才需要。报告管理器包括允许用户从已链接的数据库中直接添加参数信息到BOM的选项(用于减少原理图源文件携带的信息总量)。欲了解更多信息,请参 阅将数据库信息直接添加到BOM章节。
    对于明确不希望从数据库中映射的字段,可将涉及参数项设为。 未映射的数据库字段将在选项卡上使用红色的十字图标进行区分()。 映射的数据库字段将使用绿色的对勾图标进行区分()。

参数更新选项 

使用数据库命令的更新参数来更新元器件时,字段映射选项卡上剩余的列(如之前的图15)可用于指定对参数执行的操作。在下面的描述中, Altium Designer元器件项用于表示原理图中已放置的元器件或是原理图元器件库中已定义的元器件(元器件库包的部分)。
其中四列如下: 

  • 更新值。更新值是该列中的一个储存格,用于确定在Altium Designer元器件及数据库中的参数存在时需要执行的操作,但其值是实时变动的。用户可以选择根据存储在数据库中的值更新Altium Designer元器件的参数,或者不进行任何更新。 
  • 添加到设计。添加到设计是此列中的一个储存格,用于确定在数据库中存在参数但Altium Designer元器件不可用时需要执行的操作。用户可以选择添加/不添加参数或仅在数据库中对其分配了值时添加参数。 
  • 可见添加。可见添加是此列中的一个复选框,用于确定新添加的参数对Altium Designer元器件是可见(启用)还是不可见(禁用)的。 
  • 从设计中删除。从设计中删除是此列中的一个储存格,用于提供添加到设计字段的转换,例如,当参数对Altium Designer的元器件可用但不在数据库中时,需要执行哪些操作。用户可以选择不删除任何参数,或者选择仅当数据库中未给参数分配值时将其删除。
    开始的时候,每个已映射数据库字段的更新值、添加到设计、从设计字段中删除选项都设置为默认项,而可见添加项则设为禁用,如图16所示。& nbsp;

图16. 指定参数更新选项。 

请观察图16,其中有与生成更新选项相关的三个要点: 

  • 未映射的数据库字段将无关联的更新选项。 
  • 关键字段(如图16中的部件编号)将无关联的更新选项。该字段仅用于实现匹配。 
  • 默认设置将产生根据其相应默认定义变化的更新选项,这可在数据库链接选项对话框中指定(工具»选项(Tools » Options))。该对话框也可通过点击主窗口字段设置区域的选项按钮进行访问。 

第三点是十分有用的,其用于从中心地址指定更新选项,然后指向为各个已映射字段定义更新选项的地址。这就是默认项可以通过将数据库字段 映射到设计参数来自动载入到相关更新字段的原因。 

图17. 设置默认的参数更新选项。 

如果用户想要替换更新选项的默认设置,只需点击字段映射选项卡的相关更新字段,然后再次点击以访问提供适用更新选项的下拉菜单。(如图 18所示)。 

图18 手动替换参数更新选项。 

使 用这种方式,用户可以完全控制设计中参数更新的方式。可将所有字段设为默认,并在数据库链接选项对话框中决定所需的更新,分别设置各个更新字段,或同时进 行这两项,这完全由用户根据需求决定。当进行更新时,其通过使用工程变更指令对话框完成。如果本阶段有不希望更新的项,只需选择不包括这些特殊变更即可, 用户对于更新哪些设计参数有最终决定权。

保证同步性 

在映射完成、数据库链接文件中的更新选项已根据需求指定 且文件保存完成后,需要将数据库中的信息传送到Altium Designer元器件的已映射参数。请记住,所选的关键字段参数用于确保Altium Designer的元器件保留其到外部数据库中该元器件相应记录的链接。这意味着在之后的任何阶段,对数据库中参数信息做出的修改均可容易地传送给 Altium Designer元器件,使两者同步。可使用数据库命令中的更新参数进行更新,其在原理图编辑器的主工具菜单中可用。 

DBLib/ SVNDBLib和DBLink 的双同步

用户可能有现有的设计项目,其中大部分已放置的部件已使用DBLink文件链接到外部数据库中。设计的变化可能导致额外的电路,而其元 器件可能使用Library数据库的功能进行放置。显然,相关的DBLIB/ SVNDBLib文件可以指向一个不同的外部数据库。
使用数据库命令中的参数更新时,所有已放置元器件的链接参数(包括所有已链接的数据库,无论其链接方式是何种)与选择参数变更对话框中显示的检测到的参数 差异都将被查询。
如 果同一个数据库字段已用于在DBLINK和DBLIB/ SVNDBLib文件中进行匹配,则使用DBLINK文件链接的数据库先进行匹配搜索,再使用DBLIB/ SVNDBLib文件链接的数据库进行之后的搜索。如果元器件在两个数据库中均存在,用户将很可能根据错误的外部记录进行匹配和更新。

将数据库信息直接添加到BOM 

 
在 过去,材料清单(BOM)的源信息可从设计中放置的元器件的参数信息中获取。但其将指向许多仅供BOM使用的原理图附带的信息。如果放置的Altium Designer元器件使用DBLINK文件链接到外部数据库,则BOM生成器可提取所有未作为设计参数添加到元器件的其他记录信息。
使用报 告管理器对材料清单报告进行配置时,只需启用   以包括数据库选项中的参数。该选项仅当设计中的一个或多个元器件链接到外部数据库时可用。在参数列表中,该图标用于区分可供已链接的外部数据库中一个或多 个已放置的元器件使用的参数。 

图19. 包括仅存于外部数据库中其他元器件的信息。
You are reporting an issue with the following selected text and/or image within the active document: