Настройка связи существующих компонентов с базой данных предприятия
Главная страница: Подробнее о компонентах и библиотеках
Общей потребностью многих предприятий является связывание библиотек электронных компонентов с центральной базой данных компонентов предприятия. Altium Designer поддерживает возможность связывания существующих компонентов с записями в базе данных предприятия путем создания и использования файла Database Link. Файл Database Link добавляется в проект или пакет библиотеки, что позволяет связать уже размещенные на схемах компоненты либо компоненты, определенные в исходных библиотеках схем.
После установления связи вы можете перенести отображенные из записей базы данных параметры в проектные параметры компонентов с помощью команды Update Parameters From Database command. Эту информацию затем можно включить в финальный состав изделия (Bill of Materials – BOM), готовый к закупке компонентов.
Немного о способах установления связи...
Altium Designer предлагает три метода установления связи между компонентом и базой данных – с помощью файла Database Link (*.DbLink
), файла Database Library (*.DbLib
) или файла SVN Database Library (*.SVNDbLib
). Подход с использованием DbLink предлагает эффективные средства связывания и сохранения синхронизации компонентов, используемых в проекте (или библиотеках), с данными, введенными в базе данных. Подходы с использованием DbLib/SVNDbLib также используют это эффективное связывание, вместе с возможностью размещать компоненты непосредственно из базы данных – по сути, создавая компонент динамически на основе информации, сохраненной для него в соответствующей записи базы данных.
Перед подробным разбором библиотек на основе баз данных обсудим различия этих методов с точки зрения их использования.
Связывание с помощью файла Database Link
- При использовании этого метода файл Database Link определяет связь между компонентом схемы и соответствующей записью в базе данных. Соответствие записи устанавливается на основе связи по ключевому полю, где может быть одно ключевое поле (например, номер компонента) или множество ключевых полей (определяемых запросом Where).
- При использовании этого метода связывания информация о моделях и параметрах компонента должна быть предварительно определена в рамках библиотечного компонента Altium Designer. Библиотечный компонент должен содержать необходимую информацию в ключевом поле в своем определении. После определения вы добавляете файл Database Link в пакет библиотеки или проект, затем синхронизируете информацию компонента (параметры) с содержимым полей в базе данных.
- Хотя каждый физический компонент, заданный в каждой записи базы данных, не должен соответствовать уникальному библиотечному компоненту Altium Designer (множество компонентов в базе данных могут использовать один схемный символ), этот метод связывания, как правило, используется по принципу "одна запись базы данных – один компонент Altium Designer". Уникальный компонент Altium Designer может быть как экземпляром, размещенным на листе схемы, так и уникальным компонентом в библиотеке.
- При использовании связывания с помощью DbLink вы можете включить файл Database Link в пакет библиотеки или проект.
Связывание с помощью файла Database Library
Связанная страница: Работа с библиотеками на основе баз данных
- При использовании этого метода файл Database Library также определяет связь между компонентом и соответствующей записью в базе данных. Опять же, соответствие записи устанавливается на основе связи по ключевому полю, где может быть одно ключевое поле (например. номер компонента) или множество ключевых полей (определяемых запросом Where).
- При использовании этого метода связывания символ компонента, информация о его моделях и параметрах хранятся как часть записи этого компонента во внешней базе данных. Схемный компонент, на который приводится ссылка и который хранится в соответствующей библиотеке компонентов
*.SchLib
– это только символ, у него нет подключенных моделей и не определены параметры. - При размещении компонента информация о его параметрах и моделях формируется на лету с помощью соответствующих полей в записи базы данных, на основе заданного отображения. Один или множество этих параметров можно затем использовать для поддержания постоянной обратной ссылки на базу данных согласно заданным критериям соответствия, что делает доступной синхронизацию после размещения в будущем.
- Благодаря динамическому созданию компонента во время размещения этот метод связывания очень удобно использовать по принципу "множество записей в базе данных – один компонент Altium Designer". Например, база данных может включать в себя резисторы ряда, где каждая запись ссылается на один и тот же символ резистора и одно и то же посадочное место.
- В отличие от связывания на основе DbLink, где файл DbLink должен быть добавлен в пакет библиотеки (или проект), файл DbLib/SVNDbLib не нужно добавлять в проект. Библиотеку на основе базы данных (DbLib) включается в состав доступных библиотек (Available Libraries), доступных через панель Libraries. Имейте в виду, что доступной библиотекой может быть библиотека проекта, установленная библиотека и библиотека, найденная по заданному пути поиска.
- Вы можете настраивать файлы DbLib/SVNDbLib как библиотеки. Например, у вас может быть один файл для всех резисторов из базы данных, другой – для конденсаторов и т.д.
Создание файла Database Link
Как упоминалось ранее, опорой возможности установления связи с базой данных является файл Database Link. Создание этого файла и управление ним осуществляется в редакторе DatabaseLink Editor в Altium Designer. Этот редактор становится доступным, когда активным документом в рабочей области является файл *.DbLink
.
Создание нового файла этого типа осуществляется следующими способами:
- Выберите команду File » New » Library » Database Link File главного меню.
- Щелкните ПКМ по нужному проекту в панели Projects и выберите команду Add New to Project » Database Link File из контекстного меню.
Подключение к внешней базе данных
Данные таблицы и отображения появятся в окне редактора только после того, как активный файл Database Link успешно подключится к нужной внешней базе данных. Определение подключения осуществляется с помощью элементов управления в области Source of Connection.
Можно подключиться к любой базе данных, поддерживающей OLE DB. Параметры в этой области используют строку подключения OLE DB для подключения к целевой базе данных. Некоторые базы данных не поддерживают OLE DB. Однако доступ практически ко всем современным СУБД можно получить через интерфейс Open Database Connectivity (ODBC). Связь базы данных использует провайдер ODBC Microsoft, который позволяет интерфейсу ADO (ActiveX Data Object) подключаться к любому источнику данных ODBC. Таким образом, можно подключиться к любой базе данных ODBC. Провайдер OLE DB для базы данных ODBC указывается в строке подключения.
Быстрое подключение к базам данных Access и Excel
Параметр Select Database Type предлагает упрощенный метод создания строки подключения, если целевая база данных была создана с помощью Microsoft Access или Microsoft Excel. С помощью этого параметра выберите тип базы данных, затем найдите и выберите нужный файл базы данных. Соответствующая строка подключения будет автоматически составлена и добавлена в поле параметра Use Connection String.
Составление строки подключения
Если база данных вашего предприятия создана не на основе Access или Excel и вы хотите составить строку подключения в явном виде, включите параметр Use Connection String и нажмите соответствующую кнопку Build справа. Появится диалоговое окно Data Link Properties.
Диалоговое окно будет открыто на вкладке Connection . Провайдер OLE DB Microsoft Office <Версия> Access Database Engine OLE DB Provider
задан по умолчанию на вкладке Provider диалогового окна, и поэтому диалоговое окно открывается на вкладке Connection. Это настройка провайдера по умолчанию для новых файлов Database Link, которая также используется для подключения к файлам баз данных Access (*.mdb
). Измените провайдер, если необходимо.
На вкладке Connection введите название (включая путь) базы данных, к которой вы хотите подключиться.
Если база данных требует входа, введите учетные данные вместе с другими расширенными настройками, доступными на вкладке Advanced диалогового окна. На вкладке All представлена сводка со списком заданных параметров подключения, а также расширенные параметры, относящиеся к выбранному параметру OLE DB. Параметры на этой вкладке можно изменять, если необходимо.
После того, как параметры подключения заданы, вы можете проверить успешность подключения, нажав кнопку Test Connection (на вкладке Connection). При успешном подключении появится диалоговое окно подтверждения.
Указание файла Data Link
Если источник данных, к которому нужно подключиться, описан с помощью файла Microsoft Data Link (*.udl
), включите третий параметр подключения Use Data Link File и нажмите соответствующую кнопку Browse, чтобы найти нужный файл. Файл Data Link, по сути, хранит строку подключения.
Процесс подключения
После определения подключения к внешней базе данных текст кнопки Connect станет полужирным, что говорит о том, что вы можете начать подключение. Если параметры подключения корректны, данные таблицы и отображения целевой базы данных будут загружены в файл Database Link. Текст кнопки Connect изменится на Connected
, а кнопка станет затенена.
Если существует какая-либо проблема с параметрами подключения, например некорректно составленная строка подключения либо ошибочно введенный путь, подключение не будет установлено, о чем просигнализирует появившееся сообщение. Проверьте параметры подключения и нажмите кнопку Connect снова.
После успешного первого подключения и сохранения файла Database Link соединение будет устанавливаться автоматически при каждом открытии файла, если расположение и название файла базы данных не будут изменены.
Список таблиц базы данных
После успешного подключения к внешней базе данных будут загружены данные таблицы и отображения. В левой части документа DbLink представлены все таблицы, которые есть в подключенной базе данных.
Параметр Enable рядом с каждой таблицей позволяет управлять тем, будет ли эта таблица частью итоговой библиотеки на основе базы данных.
При щелчке по таблице в списке ее иконка изменяется с на , чтобы отличать активную в данный момент таблицу. Таблица и все ее данные появляются на вкладке Table Browser документа. Это редактируемый вид таблицы, который позволяет быстро обращаться к ее содержимому и редактировать его, без необходимости запускать саму внешнюю базу данных.
Определение критериев соответствия
Чтобы обновлять информацию о параметрах компонента, которая сохранена в полях внешней базы данных, каждый компонент в проекте, прежде всего, должен "соответствовать" одной строке одной из таблиц базы данных. Область Field Settings документа позволяет определить критерии соответствия: простой поиск по одному ключу либо расширенный поиск соответствия с помощью запроса Where.
Поиск по одному ключу
Если включен параметр Single key lookup (по умолчанию), станут доступными поля Database field и Part parameter. В поле Database field приводится список всех доступных названий полей (заголовки столбцов) в активной таблице базы данных. В поле Part parameter приводится список всех параметров, найденных во всех компонентах в проекте, как системные, так и пользовательские параметры. Обратите внимание, что выпадающий список для поля Part parameter будет заполнен только после компиляции родительского проекта.
Используйте эти поля для определения соответствия между одним полем таблицы и одним параметром компонента (который присутствует у всех компонентов). Обычно в качестве поля поиска используется какой-либо уникальный идентификатор компонента во внешней базе данных, например Part Number. Выбранное поле поиска можно отличить на вкладке Field Mappings документа, где параметр Design Parameter затенен.
При использовании инструмента Update Parameters From Database будет зачитана информация в выбранном ключевом параметре размещенных компонентов, после чего будет произведен поиск в выбранном ключевом параметре во всех доступных таблицах базы данных. При обнаружении соответствия информация из других ячеек этой записи родительской таблицы затем может быть передана обратно в соответствующие параметры схемного компонента.
Расширенное определение соответствия – запрос Where
Хотя вариант Single key lookup хорошо применять, если есть уникальный номер компонента/идентификатор, по которому устанавливается соответствие, этот метод не так эффективен при определении соответствия по параметру, который не является уникальным, например емкость или сопротивление. В этом случае необходимо использовать расширенный запрос Where, который позволяет определить соответствие по множеству ключей для связывания компонента на схеме с его исходной записью базы данных.
В своей простейшей форме запрос Where (написанный с помощью синтаксиса SQL) отражает выбранные записи, которые определяют поиск по одному ключу. Например, если для поля Database field был выбран параметр Part Number
(по умолчанию), то в качестве уникального параметра Part parameter (существующего для всех компонентов в проекте) также будет выбран Part Number
, и запрос Where будет следующим:
[Part Number] = '{Part Number}'
Квадратные скобки вокруг поля базы данных (заголовка столбца) – это символы экранирования, указанные на вкладке Advanced диалогового окна Database Connection. Чтобы открыть это диалоговое окна, нажмите кнопку Advanced в области Source of Connection документа или меню Tools.
Фигурные скобки указывают элемент, относящийся к проектному параметру. Одиночные кавычки используются для указания параметров, которые необходимо рассматривать как строки, в отличие от чисел (без кавычек). Тип соответствия очень важен, поскольку SQL зависит от типа. Параметр проекта должен иметь тот же тип, что и столбец в базе данных.
С помощью стандартного синтаксиса SQL запрос Where может быть расширен для задания соответствия на основе множества элементов Database field/Part parameter, например:
[Capacitance] = '{Capacitance}' AND [Tolerance] = {Tolerance} AND [Manufacturer] = '{Manufacturer}'
В этом случае связь с записью в соответствующей таблице базы данных будет установлена на основе трех различных проектных параметров. Обратите внимание, что параметр Tolerance
не заключен в кавычки. Это значит, что столбец в соответствующей таблице базы данных является типом Number
, а не String
.
С помощью стандартного синтаксиса SQL вы можете сделать запрос Where настолько простым или сложным, насколько это необходимо. Пример более сложного запроса:
[Tolerance] BETWEEN {Min Tolerance} AND {Max Tolerance} AND [Price] <= {Max Price} AND [Manufacturer] IN ('{Preferred Manufacturer 1}', '{Preferred Manufacturer 2}')
В этом случае, в таблицу будет произведен запрос на соответствующие компоненты на основе трех полей базы данных: Tolerance
, Price
и Manufacturer
. Значение точности Tolerance
должно лежать в диапазоне, определенном проектными параметрами Min Tolerance
и Max Tolerance
. Цена Price
должна быть меньше или равна значению, указанного в проектном параметре Max Price
, а производитель Manufacturer
может быть одним из двух, указанным в проектных параметрах Preferred Manufacturer 1
и Preferred Manufacturer 2
.
Создание параметра компонента
Если в компоненте Altium Designer нет подходящего параметра, который будет использоваться как Part parameter для соответствия в файле DbLink, его необходимо создать. Можно быстро добавить этот "базовый" параметр с помощью средства Parameter Management либо соответствующей панели Properties редактора.
Добавление параметра с помощью средства Parameter Management
Чтобы добавить новый параметр с помощью средства Parameter Management, необходимо:
- Из документа схемы (или документа схемной библиотеки) выбрать команду Tools » Parameter Manager главного меню. Появится диалоговое окно Parameter Editor Options. Чтобы добавить новый параметр всем компонентам, убедитесь, что в области Include Parameters Owned By включен параметр Parts, а в качестве критерия в области That Meet the Following Criteria задано
All Objects
.
- Нажмите OK, и появится диалоговое окно Parameter Table Editor, где показаны все параметры, существующие во всех компонентах на схемах активного проекта (или в компонентах активной схемной библиотеки). Нажмите кнопку Add Column и используйте появившееся диалоговое окно Add Parameter для определения имени параметра. Убедитесь, что настройка Add to all objects включена, чтобы новый параметр был добавлен всем компонентам.
- После того, как новый столбец был добавлен, нажмите кнопку Accept Changes (Create ECO). Используйте появившееся диалоговое окно Engineering Change Order, чтобы верифицировать (Validate) и затем применить изменения (Execute), т.е. добавить параметр каждому компоненту.
Добавление параметра с помощью панели Properties
Новый параметр можно добавить ко всем выбранным компонентам с помощью панели Properties. Описанная ниже процедура рассматривает случай, когда вы хотите добавить один и тот же параметр всем компонентам в активном документе библиотеки с помощью панелей SCHLIB Filter и Properties.
- Прежде всего, выделите все компоненты в библиотеке с помощью панели SCH Filter и запроса IsPart. Убедитесь, что настройка Whole Library включена, иначе будет рассматриваться только активный компонент библиотеки.
- В панели Properties редактора библиотек, убедитесь (с помощью текста в нижней части панели), что все компоненты в библиотеке в данный момент выделены. Если панель Properties не отображается, нажмите кнопку в нижней правой части рабочей области, чтобы отобразить ее.
- Добавьте нужный параметр с помощью вкладки Parameters панели. Нажмите кнопку Add, чтобы добавить новый параметр по умолчанию, затем изменить его имя нужным образом. Обратите внимание, что если параметр уже добавлен всем выделенным компонентам и вы нажимаете кнопку Add, будет добавлен второй новый параметр.
Отображение полей базы данных в проектные параметры
Проектные параметры для существующих компонентов, размещенных в документах схем проекта или заданные в библиотеке схемных компонентов, которая была добавлена в пакет библиотеки, обновляются в соответствии с информацией, которая хранится во внешней базе данных, с помощью команды Update Parameters From Database, доступной в меню Tools главного меню, когда документ схемы/схемной библиотеки является активным.
Соответствие компонента и записью в таблице подключенной базы данных определяют настройки отображения и обновления, заданные в файле Database Link. Эти настройки осуществляются на вкладке Field Mappings главного вида документа.
Отображение параметров
Первые два столбца (слева) на вкладке Field Mappings используются для управления тем, какая информация из базы данных будет отображаться в параметры компонента.
В столбце Database Field Name перечислены названия всех полей (столбцов) в активной на данный момент таблице базы данных. Столбец Design Parameter позволяет указать проектный параметр, в который должно быть отображено соответствующее поле в базе данных. Первоначальное отображение осуществляется автоматически при подключении к базе данных, с отображением всех полей базы данных в проектные параметры на основе совпадения их имен. Например, если столбец в базе данных называется Tolerance
, он будет отображен в проектные параметр с названием Tolerance
.
Чтобы изменить этот элемент для проектного параметра:
- Щелкните в ячейке и введите имя другого параметра.
- С помощью выпадающего списка ячейки выберите существующий проектный параметр (доступно, если родительский проект был скомпилирован ранее).
В базе данных может быть большое количество полей данных, связанных с компонентом, и не все из них может быть необходимо добавлять в качестве параметров компонента при его размещении на схеме. Многие из этих данных могут понадобиться лишь при формировании состава изделия. Диалоговое окно Report Manager включает в себя настройку, которая позволяет добавлять информацию о параметрах в BOM непосредственно из подключенной базы данных, что позволяет сократить объем данных, передаваемых в документы схемы. Для получения более подробной информации обратитесь в раздел Добавление информации из базы данных непосредственно в состав изделия.
Для полей, которые вы не хотите отображать из базы данных, задайте элементу Design Parameter значение [None]
. Неотображаемые поля базы данных отличаются красной иконкой с перекрестием (). Отображаемые поля базы данных отличаются зеленой иконкой с галочкой ().
Настройки обновлений параметров
Остальные столбцы вкладки Field Mappings позволяют указать действия, которые будут предприняты для параметров при обновлении компонента с помощью команды Update Parameters From Database. В последующем изложении термин компонент Altium будет использоваться для обозначения компонента, размещенного на листе схемы, или компонента, определенного в библиотеке схемных символов (которая является частью пакета библиотеки).
Это четыре столбца:
- Update Values – ячейки в этом столбце используются для определения действия, которое будет выполнено, если параметр существует как в компоненте Altium, так и в базе данных, но их значения отличаются. Выберите, необходимо ли обновлять параметр компонента Altium значением из базы данных (
Update
) или нет (Do not update
). - Add To Design – ячейки в этом столбце используются для определения действия, которое будет выполнено, если параметр найден в базе данных, но он не существует в компоненте Altium. Вы можете выбрать, необходимо ли добавлять параметр (
Add
), не добавлять параметр (Do not add
) либо добавлять параметр, только если в базе данные ему присвоено какое-либо значение (Add only if not blank in database
). - Visible On Add – флажок в этом столбце используется для определения того, будет ли параметр, добавленный при первом размещении компонента или при обновлении после размещения, видимым для компонента Altium (флажок выставлен) или нет (флажок снят).
- Remove From Design – ячейки в этом столбце используются для определения действия, которое будет выполнено, если параметр существует в компоненте Altium, но его либо нет в базе данных, либо он есть там, но без значения. Вы можете выбрать, следует ли не удалять этот параметр (
Do not remove
) либо удалять его, если ему не присвоено значение в базе данных (Remove only if blank in database
).
Изначально для всех отображаемых полей базы данных в столбцах Update Values, Add To Design и Remove From Design задано Default
, а флажки Visible On Add сняты, как показано на изображении ниже.
По этому изображению можно сделать три важных заключения касательно параметров обновления:
- У неотображаемых полей базы данных нет соответствующих параметров обновления.
- У ключевого поля (например,
Part Number
на изображении) нет соответствующих параметров обновления. Это поле используется только для определения соответствия параметров. - Настройки
Default
определяются настройками обновления по умолчанию, указанными на вкладке Default Actions диалогового окна Database Link Options (Tools » Options). Открыть это диалоговое окно также можно щелкнув по кнопке Options в области Field Settings документа.
Польза третьего пункта состоит в том, что вы можете указать параметры обновления из центрального расположения и затем указать на это расположение при определении параметров обновления для отображаемых полей. Поэтому параметр Default
загружается в соответствующие поля автоматически при отображении полей базы данных в проектные параметры.
Если вы хотите переопределить настройки по умолчанию для какого-либо параметра обновления, щелкните внутри необходимого параметра мышью на вкладке Field Mappings, затем щелкните еще раз, чтобы открыть выпадающий список с доступными вариантами обновления.
Таким образом, вы можете полностью определять, как должны обновляться параметры в проекте. Вы можете задать всем полям значение Default
и задать необходимые настройки обновления в диалоговом окне Database Link Options, настроить параметры обновления по отдельности или использовать оба этих метода – решение за вами. Обновление размещенных компонентов осуществляется через диалоговое окно Engineering Change Order. Если на этом этапе есть изменения, которые вы не хотите вносить, вы можете отключить их и, таким образом, окончательно определить, какие проектные параметры нужно обновлять.
Обеспечение синхронизации
После задания необходимых параметров отображения и обновления в файле Database Link и сохранения этого файла вы можете передавать информацию из базы данных в отображаемые параметры компонентов Altium Designer. Помните, что выбранный ключевой параметр используется для обеспечения связи компонента Altium Designer с соответствующей записью этого компонента во внешней базе данных. Это значит, что на любом этапе в будущем изменения информации о параметрах и моделях в базе данных можно легко передать обратно в размещенный компонент и, таким образом, синхронизировать эти две сущности. Обновления осуществляются с помощью команды Update Parameters From Database, доступные из меню Tools редактора схем или схемных библиотек.
Двойная синхронизация – DbLib/SVNDbLib и DBLink
У вас может быть проект, большинство размещенных компонентов которого связаны с внешней базой данных посредством файла DbLink. В проект могут быть добавлены дополнительные участки схемы, компоненты которых могут быть размещены с помощью инструментов Database Library. Соответствующий файл DbLib/SVNDbLib, вероятно, может указывать на другую внешнюю базу данных.
При использовании команды Update Parameters From Database будут запрошены все связанные параметры размещенных компонентов, по всем подключенным базам данных, независимо от используемого метода подключения, и все обнаруженные различия этих параметров будут отображены в диалоговом окне Select Parameter Changes.
Добавление информации из базы данных непосредственно в состав изделия
Связанная страница: Настройка BOM в Report Manager
Ранее исходная информация для состава изделия Bill of Materials (BOM) бралась из информации о параметрах размещенных в проекте компонентов. Но это могло приводить к избытку информации в схеме, которая будет использоваться для BOM. Если размещенные компоненты Altium Designer связаны с внешней базой данных посредством файла DbLib/SVNDbLib, средство формирования BOM может извлечь любую информации из записи, которая не была добавлена в компонент в качестве проектных параметров.
При настройке отчета Bill of Materials с помощью диалогового окна Report Manager включите параметр Include Parameters from Database. Этот параметр доступен, только если один или множество компонентов в проекте связаны с внешней базой данных. Иконка в списке параметров используется, чтобы различать параметры, которые есть в одном или множестве размещенных компонентов, связанных с внешней базой данных.