The logical place to make a change is at the source. The nature of this source depends on how the component was placed:
You may also have linked a placed component to an external database, using a Database Link file (DBLink). The symbol and model changes are made in the source libraries. For parameters, changes are made in the database.
Once changes are made, they need to be pushed across to the design. Altium Designer provides a variety of update tools that allow you to quickly and efficiently pass component changes to your Altium Designer components. This document details those tools - tools that enable you to always retain synchronicity between your component source and the placed instances of those components.
In the context of this tool, the term 'Altium Designer component' is used to describe a component instance placed on a schematic sheet, or a component in a source schematic library. Altium Designer provides a tool for updating the parameters of Altium Designer components with information stored in an external database. The components must be linked to the corresponding component records in the external database, for update to be made possible. Linkage is performed through the use of an intermediary linking file, which can be one of the following:
The Update Parameters From Database command is also available in the Schematic Library Editor. The source library must be part of a library package (*.LibPkg) and a DBLink file used to provide the linking from library components to component records in the external database.
Updates are performed from a schematic document using the Update Parameters From Database command, available from the main Tools menu. Launching this command will bring up the Update Parameters From Database dialog. Use this dialog to choose which schematic documents and component types you wish to include in the update.
After defining the scope of the update, click OK. The external database will be queried for matching components. If there are parameter differences between the Altium Designer components and the matching records in the database, you will be taken to the Select Parameter Changes dialog.
This dialog lists all parameters that exist in the database records for linked Altium Designer components falling under the scope of the update. Any parameters that are defined for an Altium Designer component, but which are not a field in a database table, will not appear listed. For example, you may have placed a component directly from a database using the database library feature, then added one or more parameters after placement.
Only those parameters that are mapped - between the external database and the placed component instance - will be listed. Parameter mapping is performed on the Field Mappings tab of the intermediary link file.
The dialog will initially show proposed updates to bring the Altium Designer comTponent parameters into sync with those in the database, based on the update actions you have defined in the intermediary link file (DBLink, DBLib, SVNDBLib).
Parameter differences are distinguished by the use of a unique inserted in the relevant cell. For example, a blue triangle in the corner of a cell means that a difference has been detected between the value of a parameter in the Altium Designer component and the same parameter in the linked database record.
The controls provided in the Select Parameter Changes dialog allow you to fully control which updates to proceed with and which to reject. You can reject updates to all parameters for a selected component, or for specific parameters of that component. To reject a proposed update for a specific parameter, simply select the relevant cell and click the Reject Selected button. To reinstate the update, simply click the Update Selected button.
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. If you realize there is an update you really don't want to proceed with, simply disable the applicable change order entry.
Altium Designer provides a tool for updating placed components on a schematic sheet with modified information from a source library. This includes Schematic Component Libraries (*.SchLib), Integrated Libraries (*.IntLib) and Database Libraries (*.DBLib, *.SVNDBLib).
Although DBLib and SVNDBLib files present as libraries in the Libraries panel, they are only a source of connection and field mapping - not libraries in the true sense of the word. The update feature passes changes to parameters, symbol and model references in the external database, as well as graphical modifications made in referenced symbol and model libraries.
The update feature allows you to pass changes to parameters, as well as model and graphical information.
Updates are performed from a schematic document using the Update From Libraries command, available from the main Tools menu. Launching this command will bring up the Update From Library dialog.
The first page of the dialog deals with the scope of the update - which source schematic documents are to be included in the update and the specific component types contained thereon.
The Schematic Sheets region of the dialog will load all possible schematic documents to which the update can be applied. This can be either a single, free schematic document, or all schematic sheets within the active project. Enable those documents whose components you wish to be considered in the update.
As you enable/disable entries in the Schematic Sheets list, the constituent physical components will be listed in the Component Types region of the dialog. Each component is listed in terms of:
Inclusion of components in the list is in accordance with the options available at the bottom left of the page. Use the Show field to determine the types of components included in the update. By default, All Components is selected, but you can choose to update just:
All component types are initially enabled for inclusion in the update. Disable any that you definitely don't want to update. Alternatively, select the exact components that you wish to update - directly on the schematic sheet(s) - prior to entering the dialog. Then simply enable the Selected Parts Only option. Only those components in your selection will appear listed.
The main thing to remember is that you are always in full control over what gets included in the update.
The Settings region of the page is where you can define the default level of update required. The default update actions you define here will be applied to all component instances of the enabled component types.
The simplest form of update is to fully replace the components on the schematic sheet(s) with those defined in the source library. Graphical attributes, parameters and model links are all updated directly with the information that exists in the source library.
Remember that if the source library is a DBLib or SVNDBLib, the parameter and model link information will come from the corresponding component records in the external database, while the graphical attribute changes will come from the referenced symbol libraries.
Full replacement is enabled by default. Should you wish a little more control over what is updated, change to replace Selected Attributes of Symbols on Sheet. The individual update options (graphical, parameter, model) will become available for inclusion/exclusion as required.
Definitions on the first page of the Update From Library dialog, and the Library Update Settings dialog are persistent. They are stored in the project file upon saving.
For parameter and model update actions, still further control is afforded through the Library Update Settings dialog. Access this dialog by clicking the Advanced button. Not only can you define the default, global update actions for parameters and models using this dialog, but also control which specific parameters and models are included in the update.
After defining the scope of the update as required, and the default actions to be carried out, you could simply click Finish, then review and execute the changes to be implemented in the subsequent Engineering Change Order that is generated. Should you wish to further refine the update on a per-component basis, prior to generating the ECO, click Next to access the second page of the dialog, detailed in the next section.
Definitions on the second page of the Update From Library dialog are not persistent. They will be lost if you go back to the first page or close the dialog.
The second page of the Update From Library dialog presents you with a detailed grid, listing all components instances involved in the intended update process. The previous page of the dialog allowed you to specify, at a coarse level, which physical component types get included in the update. This page allows you to fine-tune exactly which component instances of those types get updated.
The grid is partitioned into three regions:
For each component, the entry for the source library component will initially be that used to place the component instance in the first place. This information is taken from the Library Link region of the placed component's associated properties dialog.
Typically, the update will involve passing on changes made to the original physical component in the source library, to the placed instance(s) of that same physical component on the schematic sheet(s). There may be occasion where you want to change the physical component that is placed in the design altogether. This can be readily specified as part of the update.
You can specify an alternate component for a component instance by directly editing the corresponding Physical Component field (in the Library Components region). If the specified physical component does not exist in any of the libraries currently added to the project's Available Libraries list, the entry <Not Found> will be entered into the Logical Symbol and Library Name fields. Update in this case will not be possible, for that component instance.
When searching for a database component, the search can only be across currently loaded DBLib and SVNDBLib files (Available Libraries). You cannot search for database components along a specified search path.
Alternatively, select a component instance in the grid and click the Choose Component button. The Browse Libraries dialog appears, from where you can browse for the required replacement component in any of the currently Available Libraries for the project. The dialog also provides a search facility, which can be used to search for a component within the Available Libraries, or along any nominated search path.
When a valid component is chosen, the relevant information for the chosen component will be entered into the Library Components region of the page, overwriting the original source library component.
Should you wish to revert to the original source library - keeping the original physical component - select the component instance in the grid and click the Return Selected to Default button.
Individual parameter-level changes for a component instance will only be shown provided the Full Replace option is disabled and the Parameters option is enabled, in the Actions region of the page.
Should you wish to browse individual parameter changes proposed by the update, click on the Parameter Changes button. The Select Parameter Changes dialog will appear, summarizing the parameter changes for those component instances with a parameter update action enabled. This is illustrated below - notice that component instances C1, C3, C7 and C10 have their parameter update action disabled and so do not appear in the dialog.
As with the Update Parameters From Database tool, the dialog will list all mapped parameters for those component instances linked to an external database. In addition, all parameters found in the placed component instances involved in the parameter update will also be listed. This is a key difference when accessing the Select Parameter Changes dialog between these two update tools.
Again, the dialog shows proposed changes to be made in order to bring the parameters of the placed components back into sync with those for the components in the relevant source library or database. The proposed updates are in accordance with the update actions defined in:
Parameter differences are highlighted by the use of a unique icon inserted in the relevant cell. See the next section for a full listing of all possible cell states.
Use the available controls in the dialog (buttons or right-click menu) to determine which parameter changes to proceed with and which to reject, giving you the power to override the default update conditions at the individual parameter-level. Remember that rejecting a proposed update in a cell simply means you do not wish to have any changes made to that parameter for that particular component instance on the schematic sheet.
There are a number of different update states into which a cell in the Select Parameter Changes dialog can be placed, depending on the exact differences detected between the placed components and the source library/database, and the applicable parameter update actions specified. The following table lists the possible cell states.
|The Altium Designer component and the component in the library/database both possess the parameter and the value is the same. Update will cause no change.|
|The Altium Designer component and the component in the library/database both possess the parameter, but it has no value assigned. Update will cause no change.|
|The Altium Designer component and the component in the library/database do not possess the parameter. Update will cause no change. This state can also appear if the parameter in the Altium Component is prevented from being included in an update - by disabling the Allow Synchronization With Library and/or Allow Synchronization With Database options, in the associated Parameter Properties dialog. See Preventing Parameter Updates.|
|The Altium Designer component and the component in the library/database both possess the parameter, but with different values. Update will assign the value from the database.|
|The Altium Designer component and the component in the library/database both possess the parameter. For the Altium Designer component it has a value assigned, in the database it does not. Update will assign the database value, in this case no value.|
|The Altium Designer component does not possess the parameter, but the component in the library/database does. Update will add the parameter to the Altium Designer component with the value shown in the cell.|
|The Altium Designer component does not possess the parameter, but the component in the library/database does. Update will add the parameter to the Altium Designer component with no value initially assigned.|
|The Altium Designer component possesses the parameter, but the component in the library/database does not. Update will remove the parameter from the Altium Designer component. Note: If the component instance is being updated from an external database and the relevant database field-to-design parameter mapping is set to, the parameter will be treated as though it does not exist in the database record, even if it does.|
|There is a difference between the parameter values for the Altium Designer component and the component in the library/database. The proposal to update to the value in the database has been rejected, based on the current value of the Update Values option in the database linkage document (DbLink, DbLib or SvnDbLib file). No change will occur. Note that the Update Selected and Update All commands in this dialog will override this state and force an update.|
|The Altium Designer component does not possess the parameter, but the component in the library/database does. The proposed update to add the parameter to the Altium Designer component has been rejected, based on the current value of the Add To Design option. No change will occur. Note that the Update Selected and Update All commands in this dialog will override this state and force an update.|
|The Altium Designer component possesses the parameter, but the component in the library/database does not. The proposed update to remove the parameter from the Altium Designer component has been rejected, based on the current value of the Remove From Design option in the database linkage document (DbLink, DbLib or SvnDbLib file). No change will occur. Note that the Update Selected and Update All commands in this dialog will override this state and force an update.|
The Update From Libraries command in the previous section is solely used to update placed components on schematic sheets. Although models can be included as part of that update, it is the model linking that is being considered, not the actual graphical attributes of the linked model. To pass on changes to the graphical attributes of a PCB footprint, from the source PCB Footprint library, requires the use of another tool from Altium Designer's update arsenal - Update From PCB Libraries .
This update tool checks the component footprints on a board against the corresponding footprints in source PCB Footprint libraries, by performing a physical comparison of each footprint's primitives.
To illustrate the use of this tool, consider the component footprints below. These are existing footprints on a PCB document. To the right are the modified footprints that exist in the source PCB Footprint library (*.PcbLib). The changes, although subtle - the top footprint having the '' sign moved; the bottom having increased width for the '' sign and arc - are sufficient for the purposes of our simple illustration.
Updates are performed from the PCB document using the Update From PCB Libraries command, available from the main Tools menu. Launching this command will bring up the Update From PCB Libraries - Options dialog.
Use this dialog to determine which layers to include in the comparison. By default, all are enabled.
After defining the options in the Update From PCB Libraries - Options dialog as required, click OK - the comparison will proceed, with the results appearing in the subsequent Update From PCB Libraries dialog.
The source PCB library is identified from the PCB model link associated to the corresponding component in the source schematic. The source libraries must be part of the Available Libraries.
The dialog is divided into two main regions. The upper region presents the comparison results. The footprint of each component on the PCB is compared against the corresponding footprint in the indicated source library. If the comparison of each primitive in the footprint is within the tolerance specified, the footprints will be deemed to match, with a green tick icon ( ) appearing in the Match column. No update is required in the case of a match.
If, however, one or more primitives in a footprint are outside of the tolerance - in terms of their locations within the footprint - then the footprints are flagged as not matching. A red cross icon ( ) will be inserted into the Match column. An update is required to bring the placed component's footprint and source library footprint back into sync.
There will be an associated Update option for each component with a non-matching footprint. By default, each component that fails to match is automatically included in the update. Control, as is the norm in Altium Designer, is always yours, and you may choose to exclude any non-matching components from the update process, should you wish.
The lower region of the dialog lists the differences found between primitives for the currently selected (and non-matching) component entry in the region above.
Should you wish to create a Footprint Comparison Report (Footprint Comparison - PCBDocumentName.html), simply click the Create Report button, at the bottom left of the Update From PCB Libraries dialog. The report provides:
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.
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.
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.
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.
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.
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.