The following steps detail the configuration of the PLM to ECAD Library synchronization using the EDAConnect-Libsync application
The configuration is stored in an xml formatted file created and updated by the Libsync application. This document takes you through each section of the configuration.
Invoke the Libsync Application
From the PlmToAltium folder double click the executable file, LibSync.exe. This will launch the application.
Setup Libsync Preferences
After an initial installation you must specification your PLM credentials so that Libsync can dynamically retrieve the part class from your PLM system. This is done from Window > Preferences menu at the top left of the application window.
Select the Library Synchronization node under the Workbench node to display the Library Synchronization settings.
This form contains the following parameters:
- PLM Connection Details to allow you to retrieve configuration details from your PLM system.
- Auto Login which allows you to automatically connect to your PLM workspace when the Libsync application is launched.
- Parts Type path which indicates the top level path for the PLM part types/categories
- Synchronization Logging which allows you to specify a log file location, overwrite options, and backup limits.
- Email Notification indicates conditions for sending emails.
After completing the form click OK to accept and store the form details (EDAConnect-Libsync\product\configuration\.settings)
For Agile PLM
The PLM Server Host will has a similar path as used to invoke the Agile web client, e.g. https://host:port/Agile
The Parts Type path is normally Items/Parts but may different based on your Agile configuration updates.
For Arena PLM
The PLM Server Host will always be https://api.arenasolutions.com/v1/
The Parts Type path is based on how your Category setup in Arena PLM.
For a CSV Data Source
The PLM Server Host will be the folder containing your CSV files (see PlmToAltium\samples\CSV_Data_Source)
The Parts Type path is always Parts
Connect to PLM Workspace
With your first launch of the Libsync application you will need to manually connect to your PLM instance. With subsequent launches of the application the connection will be made automatically if the Auto Login box is checked in the Library Synchronization preferences form.
To manually connect the first time bring your cursor to the Parts node in the Navigator window. Click your Right Mouse Button and execute the option Login into PLM...
You will be presented with a PLM Login Dialog form that contains the credentials you specified in the Preferences form. Click Login to make the connection.
With the PLM connection establish you will get a list of part classes within your Navigator panel. This list is based on the Part Type path value you specified in the Preferences form.
Create a New Mapping File
The Mapping file contains the configuration the guides the synchronization process. If you are populating your ECAD database/vault with data from Multiple PLM workspaces you will need multiple mapping files.
To create a new file use the top level menu File > New > Mapping File.
From the resulting Mapping File form use the Browse... button to invoke a File Browser and location and specify a mapping filename. The filename extension .psm will be automatically added if you don't include that in the filename you specify.
Click Finish to create this file.
The General Information tab panel will be displayed ready for input. The required values are described in the next few sections.
Setup PLM Connection
In the General Information section we will first setup the connection details for the PLM instance. This will be similar to the information you put in the Preferences form.
You can use the Test Connection button to verify your input. You should see a PLM connection successful message in the log window if credentials are valid.
Setup Connection to Target Database
The Database Connection is to the storage area used by your ECAD tool for part selection and placement on the schematic. This may be an ODBC compliant database or an Altium Vault instance.
The Connection String will be a database connection string or a Datasource name as defined in the Windows ODBC Data Source Administrator wizard. It can also be the server address for your Vault instance.
As before you can use the Test Connection button to verify your input. You should see a Storage driver - connection successful message in the log window if credentials are valid.
Sample ODBC Connection Definition
Sample Vault Connection Definition
Setup Synchronization Content
This section defined the content of data pushed with each synchronization run.
The option to Recreate local data content is used when publishing to an ODBC Compliant SQL database. This indicate that with every sync all data is refreshed. Database tables are dropped, recreated and populated with each run. All parts for the Electrical part classes/categories are refreshed with every sync (not just the parts that have been changed).
The option Update local database content is used to update only those parts that have changed since the last synchronization.
After each synchronization a last_sync_date parameter is updated in the mapping file (.psm) indicating the date and time of the last synchronization. This date value is compared against a PLM part based date value to determine those parts that have change. This requires that the PLM part have a date attribute that can be used for comparison. This PLM date value should be updated when parts are updated.
Update data for all items will update all parts regardless of the PLM part date value.
Update data for items modified since last synchronization will update any parts that have a PLM part date value greater than the last_sync_date value.
Update data for items modified in last <x> days allows you to specified a number of days from the last_sync_date. Only parts with data values during that time periode will be updated.
Update data for items modified since specified time allows you to specified an exact time and only parts with data values after that time will be updated.
For ArenaPLM the settings should be "Update local database content" and "Update data for all items". The connector for Arena understands which PLM parts have been updated and will only push those updates to your target database.
Setup Log Files
You can specify a log filename and location for messaging related to the synchronization controlled by this mapping file.
This can be the same log filename you specified in the Preferences form or it can be a separate log file.
Set Synchronization Schedule
A synchronization can be manually executed from this application or it can be automatically executed via a Windows service. The schedule for the service based execution is defined in this mapping file.
Indicate the Frequency of the sync. This can be every x minutes, every x hours or one per day at a specified time of day indicated on the right.
The frequency of the sync is based on how often your data changes and how long it take to sync that data. Sync times are based on network performance between the server hosting Libsync and the Agile server.
Setup Email Notification
Every time a synchronization completes you have the option to sending an email to one or more recipients with a summary of sync results.
In this section you can complete the details of your email service and target recipients.
Specify Part Types
There many be many part classes in your PLM system but only a subset may be applicable for placement on your schematic. This section describes the method to indicate which PLM part types should be considered during synchronization.
Click on the Mappings tab near the center of the application window. Expand the top level node in the Navigator panel to see your part type/categories. You may have multiple levels to this taxonomy based on your PLM configuration. The top level node is based on your Preferences entry for Part Type (name or Path).
For Arena PLM this may be Part for an OOTB configuration. With Arena we list the Categories for that Item.
For Agile PLM this may be Items/Parts for an OOTB configuration. for Agile we list all subclasses for that Base Class.
Highlight the part type/category and drag it over to the Attribute Mappings pane as illustrated below. If you would like to break up a single PLM type (e.g. Capacitor) into multiple tables/folders (e.g. Capacitor-Ceramic, Capacitor-Aluminum) you can drag over the PLM type twice and set different query filters for each instance (this will be described in a subsequent section).
You can drag as part many as you would like.
Mapping PLM Type to Database table (Vault Folder)
With the library target is an ODBC database (Altium database library, Orcad CIS, Mentor DxDatabook) you would need to specify a table name. This database will be created if it does not exist.
If the library target is Altium Vault then you must specify an existing Vault component folder name.
In both cases you can place your cursor on the Part Type heading in the Mapping tab and click the Right Mouse Button to show a context sensitive menu. Choose the option Edit Table Details to bring up a form for editing.
Next to the field, Enter New Table Name, enter the name of the Database Table or the Vault Component folder.
When using Vault specify the Component Type Name in this form. This will set the Component Type on Vault objects created in this folder.
Specify PLM Query Filters
There are two methods for filtering data from PLM, both are available for configuration within the Mappings tab of the Editing pane.
Single Attribute Filter
Place your cursor over a mapped field for a part type configuration and click the Right Mouse button. Execute the option, Configure Item Type Indicator.
In the resulting configuration form enter a comma separate list of value for that attribute name that should be considered for synchronization. Only PLM parts with that attribute name/value pair will be added to your database.
Free Form Query Filter
Place your cursor over the Part Type header in the Mappings tab and click the Right Mouse Button to display the context sensitive menu. Choose the option for Edit Item Filters. This is a free form entry of a query condition.
The filter string must include a valid PLM attribute name for your configuration. Libsync will validate your string after entry and only enable the OK button for a valid string.
Arena PLM Example
Agile PLM Example
Specify Attribute Mapping
Part Type/Class specific attribute mapping is done within the Mappings tab of the Editing pane. This should be done for each of the PLM categories/part types that you add to the Mappings panel.
The PLM Attribute column will include all PLM attributes available for this PLM class. The Database Attribute column indicate the name of the Property/Parameter in your target database. Only mapped rows will be considered by the synchronization. There may only be a subset of PLM attribute that are the source for CAD library values.
When using Altium Vault the Vault parameters available for mapping are presented when you click in the Database Attribute cell as show below. You can select from the presented list to update the mapping table.
When syncing to a database library you will be presented with any existing fields/columns in that SQL database.
Specify a Date attribute for Incremental Synchronization
As part of configuring date based synchronization content you must specify the PLM attribute to be used. This is primarily used with the Agile PLM connector.
In order to have the option to specify a PLM attribute for time based synchronization you need to setup a time based Synchronization Setting (e.g. Update data for items modified since last synchronization)
Save Mapping File
Once completing the update of configuration parameters you need to save the mapping file. This can be done through the top level File menu or through a Quick Action link.
File > Save
Save action Link
Back to PLM Push to Altium - Quickstart