Подписка на новости

Опрос

Нужны ли комментарии к статьям? Комментировали бы вы?

Реклама

 

2004 №1

Protel DXP для профессионалов. Урок 1

Потапов Юрий


Предыдущий цикл уроков был предназначен для начинающих пользователей системы Protel DXP. Этим уроком мы начинаем новую серию публикаций, нацеленных главным образом на пользователей, профессионально занимающихся проектированием электроники.

Горячая связь с базами данных

Большинство крупных предприятий электронной промышленности имеет специальные базы данных разрешенных к использованию электрора диоэлементов, которые сопровождаются и регулярно обновляются специальной группой бюро стандартизации. Наличие подобной базы данных и ее централизованное использование в рамках предприятия, а иногда и группы предприятий значительно упрощают нормоконтроль и подготовку производства.

Почти все современные электронные или механические САПР имеют инструменты связи с внешними базами данных, что позволяет значительно снизить информационную нагрузку на библиотеки компонентов и загружать в проект информацию о компонентах только на этапе подготовки выходных файлов. Подобные средства имеются и в системе проектирования Protel DXP. Рассмотрим, как они работают на стандартном примере, входящем в состав пакета.

Прежде всего, нам необходима база данных. Компания Altium предоставляет небольшую базу данных компонентов в формате Microsoft Access, которую можно найти в папке C:\Program Files\Altium\Examples\Cis. Посмотрим ее содержимое. Заметим, что для работы с этой базой данных нам потребуется СУБД Microsoft Access 2000, которая предварительно должна быть установлена на компьютере.

Рис. 1. Пример базы данных компонентов
Рис. 1. Пример базы данных компонентов
  1. С помощью Проводника системы Windows откроем папку C:\Program Files\Altium\Examples\Cis и выполним двойной щелчок левой кнопкой мыши на единственном имеющемся здесь файле Example database.mdb.

Откроется окно базы данных, в которой будут присутствовать семь таблиц, сгруппированных по типу компонентов: Capacitors (конденсаторы), Connectors (соединители), Discretes (дискретные элементы), ICS (микросхемы), Resistors (резисторы), Switches (переключатели) и Transistors (транзисторы).

  1. Выполним двойной щелчок на таблице Resistors. Откроется таблица, содержащая 1201 запись с информацией о резисторах (рис. 2).
Рис. 2. Таблица резисторов
Рис. 2. Таблица резисторов

Вся информация здесь упорядочена в виде столбцов, главным из которых является Part Number. Этот столбец содержит уникальный идентификатор типа компонента, который будет служить ключевым полем для связи редактора схем системы Protel DXP с базой данных. В остальных столбцах содержатся: производитель (Manufacturer), тип компонента по каталогу производителя (Manufacturer P/N), тип корпуса (Package), максимальная рассеиваемая мощность (Power), сопротивление (Resistance), допуск (Tolerance), цена (Price) и т. д.

  1. С помощью линейки прокрутки найдем в таблице строку записи для резистора типа R002014.
  2. В поле Manufacturer введем новый текст: Завод «Красный Путь».
  3. В поле Description введем новый текст: «Изменен для проверки возможностей функции связи с внешними базами данных».
  4. Закроем таблицу резисторов, а затем и саму базу данных.
  5. С помощью Проводника системы Windows откроем папку C:\Program Files\Altium\Examples\ 4 Port Serial Interface и выполним двойной щелчок левой кнопкой мыши на файле 4 Port Serial Interface.PrjGrp. Запустится система Protel DXP и в среде проектирования откроется группа проектов, состав которой будет показан на вкладке Projects (рис. 3).
Рис. 3. Группа из двух проектов
Рис. 3. Группа из двух проектов

Напомним, что в системе Protel DXP понятие «проект» описывает некоторую законченную часть разрабатываемого аппарата (в простейшем случае, это одна из нескольких входящих в него печатных плат). Чтобы описать весь аппарат, используется понятие «группа проектов», описывающее более высокий уровень иерархии. Кроме того, проект печатной платы представляет собой лишь описание изделия на соответствующем уровне. Система Protel DXP поддерживает два типа проектов, соответствующих другим уровням физической реализации: программируемой логики (FPGA) и исполняемого кода для микроконтроллеров (Embedded), которые также могут быть использованы в данном оборудовании. Последний, четвертый тип проектов представляет собой описание интегрированной библиотеки компонентов (Integrated Library) и служит для упорядочения представления компонентов внутри системы Protel DXP. В состав группы проекта может входить неограниченное число проектов любого из этих четырех типов.

Например, открытая нами группа содержит два проекта, один из которых (4 Port Serial Interface.PRJPCB) является проектом печатной платы, а второй (Address Decoder.PrjFpg) представляет собой описание внутренней логической схемы одной из использованных на этой плате ПЛИС, выполняющей функцию декодера адресного слова. Нас интересует проект печатной платы, описанной двумя принципиальными схемами, объединенными с помощью третьего вышестоящего листа. Иерархическая структура проекта станет понятной после выполнения операции компиляции.

  1. Выполним команду меню Project/Compile PCB Project. Система выполнит компиляцию проекта, а результаты работы отобразит на панели Navigator.

На этой панели имеется четыре поля. В верхнем поле отображается иерархическая структура проекта, под ним идут списки компонентов и цепей, использованных в выделенной части проекта. В самом нижнем поле приведен список подключений выделенного компонента или цепи.

  1. Щелкнем левой кнопкой мыши на имени документа 4 Port UART and Line Drivers.schdoc в верхнем поле панели Navigator. В нижних полях отобразятся списки компонентов и цепей этого документа.
  2. С помощью линейки прокрутки пролистаем список компонентов во втором поле и щелкнем левой кнопкой мыши на компоненте R1. Редактор схем переключится в режим оптимального отображения данного резистора, а в самом нижнем поле панели Navigator появится список его выводов (рис. 4).
Рис. 4. Поиск нужного элемента в скомпилированном проекте
Рис. 4. Поиск нужного элемента в скомпилированном проекте

При прорисовке схем использовались компоненты из представленных здесь же библиотек символов компонентов и их топологических посадочных мест. Используемые на схеме компоненты уже содержат некий начальный набор текстовых полей атрибутов, сохраненный в библиотеке. Проверим это.

  1. Выполним двойной щелчок на резисторе R1, после чего откроется окно Component Properties (рис. 5).
Рис. 5. Исходный список атрибутов компонента
Рис. 5. Исходный список атрибутов компонента

В правой части окна в списке Parameters for R1 приведен перечень имеющихся у данного резистора текстовых атрибутов. Сейчас их всего шесть. Обратите внимание, что в этом списке присутствует параметр Part Number со значением R002014. Тип этого компонента совпадает с типом компонента, который мы ранее редактировали в базе данных.

  1. Закроем окно Component Properties и вернемся на панель Projects.

Обратите внимание, что в проекте уже присутствует папка Database Link Files, в которой имеется файл Example Database.DBLINK. Этот файл подсказывает системе Protel DXP, откуда извлекать данные и как записывать их в проект. Для того чтобы понять все правила настройки связи с внешней базой данных, создадим такой файл самостоятельно.

  1. Щелкнем левой кнопкой мыши на имени проекта 4 Port Serial Interface.PRJPCB и выполним команду меню File/New/Database Link File. В проект будет добавлен новый документ Database Links1.DbLink, который автоматически откроется на рабочем столе (рис. 6).
Рис. 6. Новый файл связи с базой данных
Рис. 6. Новый файл связи с базой данных
  1. Находясь в режиме редактирования файла связи, выполним команду меню Tools/Database Connection. Откроется окно Database Connection (рис. 7), в котором на вкладке Connection задается способ связи с базой данных.
Рис. 7. Выбор способа подключения к внешней базе данных
Рис. 7. Выбор способа подключения к внешней базе данных

Опция Use Data Link File позволяет выполнить соединение через специальный конфигурационный файл с расширением *.udl. Мы будем использовать файл базы данных Microsoft Access с расширением *.mdb, поэтому будем настраивать доступ к нему через специальную строку параметров.

  1. Выберем опцию Use Connection String. Здесь в текстовом поле уже присутствует типовой список параметров, определяющих тип связи и путь к файлу базы данных по образу и подобию уже имеющегося в проекте файла:

Далеко не все пользователи смогут правильно написать подобную строку, поэтому следует воспользоваться специальным окном настройки интерфейса ODBC, которое вызывается нажатием кнопки Build.

  1. Нажмем кнопку Build, после чего откроется диалоговое окно настройки свойств связи (рис. 8). Обратите внимание, что в случае использования русскоязычной операционной системы это окно будет также русскоязычным. Это означает, что оно является элементом не системы Protel DXP, а операционной системы Windows. Вид вкладки «Подключение» зависит от выбора поставщика данных на одноименной вкладке этого окна.
Рис. 8. Настройка связи с внешней базой
Рис. 8. Настройка связи с внешней базой
  1. Перейдем на вкладку «Поставщик данных» и в списке поддерживаемых поставщиков выберем строку «Provider=Microsoft Jet 4.0 OLE DB Provider», после чего нажмем кнопку «Далее >>».
  2. На вкладке Подключение задается путь к файлу базы данных. Нажмем кнопку «…» и выберем файл C:\Program Files\Altium\Examples\Cis\Example database.mdb.
  3. Если база данных имеет разграничение доступа, имя пользователя и пароль настраиваются также на вкладке Подключение. В нашем случае база данных является открытой, поэтому включим опцию «Пустой пароль».
  4. Нажмем кнопку «Проверить подключение». Если все настройки выполнены правильно, то система выдаст соответствующее сообщение.
  5. Последовательным нажатием кнопок OK закроем все открытые диалоговые окна.

Теперь, если посмотреть на рабочий стол системы Protel DXP, то легко заметить, что после выполнения проверки связи с базой данных вид документа Example Database.DBLINK изменится, и в списке Table появятся семь названий таблиц, ранее наблюдаемых нами в базе данных (рис. 9).

Рис. 9. Список загруженных таблиц
Рис. 9. Список загруженных таблиц

Для каждой отдельной таблицы в правой части окна просмотра файла связи имеются выпадающие списки для настройки ключевых полей и пока пустая таблица настройки связи полей атрибутов на вкладке Database Links.

  1. Щелкнем левой кнопкой мыши на таблице Resistors.
  2. Щелкнем левой кнопкой мыши на вкладке Table Browser.

На этой вкладке осуществляется просмотр указанной таблицы базы данных, что избавляет пользователя от необходимости иметь на компьютере систему Access. Первоначально таблица имеет обычный вид (рис. 10, a). Система Protel DXP имеет гибкий набор инструментов для группировки и фильтрации данных. Рассмотрим несколько приемов поиска нужной информации. Допустим, нам необходимо найти в базе данных резистор с сопротивлением 1 МОм.

Рис. 10, a. Просмотр таблиц базы данных
Рис. 10, a. Просмотр таблиц базы данных
Рис. 10, b. Просмотр таблиц базы данных
Рис. 10, b. Просмотр таблиц базы данных
Рис. 10, c. Просмотр таблиц базы данных
Рис. 10, c. Просмотр таблиц базы данных
Рис. 10, d. Просмотр таблиц базы данных
Рис. 10, d. Просмотр таблиц базы данных
Рис. 10, e. Просмотр таблиц базы данных
Рис. 10, e. Просмотр таблиц базы данных
Рис. 10, f. Просмотр таблиц базы данных
Рис. 10, f. Просмотр таблиц базы данных
Рис. 10, g. Просмотр таблиц базы данных
Рис. 10, g. Просмотр таблиц базы данных
  1. С помощью мыши захватим заголовок столбца Resistance и перетащим его на серое поле над таблицей. Две зеленые стрелки покажут возможное расположение кнопки группировки (рис. 10, b).
  2. Отпустим левую кнопку мыши. Данные в таблице будут сгруппированы по номиналу сопротивления. Следует помнить, что система Protel DXP считывает все данные как текстовые, а их сортировка выполняется по правилам обработки текстовых переменных: 1.00KOhm, 1.00MOhm, 1.02KOhm, 1.02MOhm и т. д.

Легко видеть, что в нашей базе данных имеются два резистора с нужным нам номиналом от разных производителей (рис. 10, c). Воспользуемся функцией фильтрации данных.

  1. Щелкнем левой кнопкой мыши на небольшом треугольнике рядом с заголовком столбца Manufacturer. Появится выпадающий список, в котором перечислены все упомянутые в таблице производители (рис. 10, d).
  2. Выберем строку с именем производителя: Завод «Красный путь». Автофильтр скроет все компоненты других производителей и оставит единственный резистор, который мы ранее редактировали в базе данных (рис. 10, e).
  3. Выключим автофильтр, щелкнув на кнопке с крестиком в нижней части таблицы. Иначе это можно сделать, щелкнув левой кнопкой мыши на треугольнике в заголовке столбца Manufacturer (при включенном автофильтре этот треугольник окрашен в синий цвет) и в выпадающем списке выбрав строку All.

Выполним группировку записей по вторичному признаку.

  1. С помощью мыши захватим заголовок столбца Manufacturer и перетащим его на серое поле над таблицей чуть левее кнопки Resistance. Две зеленые стрелки покажут возможное расположение кнопки группировки (рис. 10, f).
  2. Отпустим левую кнопку мыши. Данные в таблице будут сгруппированы сначала по номиналу сопротивления, а затем по производителю (рис. 10, g).

Таким образом, комбинируя два описанных выше способа, можно найти нужный компонент по самым различным признакам: номиналу, допуску, мощности, типу корпуса и так далее. Целью нашего поиска является содержимое поля Part Number, которое мы должны указать в соответствующем текстовом атрибуте «пустого» компонента. В нашем примере эти атрибуты уже заполнены. Настроим это поле в качестве ключевого для связи с базой данных.

  1. Включим «галочку» в столбце Enable напротив таблицы Resistors в списке доступных таблиц базы данных.
  2. Щелкнем левой кнопкой мыши на вкладке Database Links.
  3. Включим опцию Single key lookup.
  4. В выпадающем списке Database field выберем строку Part Number.
  5. В выпадающем списке Part parameter выберем строку Part Number.

В неактивном текстовом поле рядом с опцией Where появится текст ключевого запроса:

Если включить опцию Where, то это текстовое поле станет активным и в нем можно построить сложный запрос с использованием языка SQL, позволяющий использовать информацию из разных полей, например:

Запросы могут быть еще более сложными и содержать математические действия и операции сравнения, например:

Позднее мы рассмотрим пример построения сложного запроса. В нашем же случае при использовании одного ключевого поля система сразу отобразит соответствие полей в таблице на вкладке Database Links и пометит «галочкой» на зеленом кружочке (рис. 11, a).

Все остальные поля будут помечены крестиком на красном кружочке, что означает, что связи пока не настроены.

Рис. 11, a. Настройка режима обновления атрибутов
Рис. 11, a. Настройка режима обновления атрибутов
Рис. 11, b. Настройка режима обновления атрибутов
Рис. 11, b. Настройка режима обновления атрибутов
  1. Для ручной настройки связей необходимо щелкнуть левой кнопкой мыши на ячейке в столбце Design Parameters напротив нужного поля в столбце Database Field Name. В правой части ячейки появится значок вызова выпадающего списка.
  2. Выберем из этого списка имя атрибута, который будет связан с данным полем. Красный крестик сменится зеленой галочкой. Если имена полей и атрибутов совпадают, можно поступить проще:
  3. Выберем одну из ячеек ненастроенных строк и нажмем комбинацию горячих клавиш CTRL+D. Красный крестик сменится зеленой «галочкой», то есть поле настроится автоматически.
  4. Аналогичным образом настроим все остальные строки. Группы строк можно выделять с помощью мыши, удерживая нажатой клавиши CTRL или SHIFT, но проще выбрать сразу все строки нажатием комбинации горячих клавиш Ctrl+A.

Во всех ячейках столбцов таблицы Database Links (кроме Visible) появятся значения Default, предписывающие выполнить действие по умолчанию (рис. 11, b). Посмотрим, что они означают.

  1. Выполним команду меню Tools/Options. Откроется окно Database Link Options (рис. 12), в котором задаются действия по умолчанию (Default Actions).
  2. В поле Update Values (обновлять значения) выберем опцию Update (обновлять).
  3. В поле Add To Design (добавлять атрибут в проект) выберем опцию Add only if not blank in database (добавлять, если в базе данных он не пустой).
  4. В поле Remove From Design (удалять атрибуты из проекта) выберем опцию Do not remove (не удалять).
Рис. 12. Действия по обновлению атрибутов по умолчанию
Рис. 12. Действия по обновлению атрибутов по умолчанию

Именно эти действия подразумеваются под словом Default в столбцах Update Values, Add To Design и Remove From Design на вкладке Database Links. «Галочка» в столбце Visible управляет отображением данного атрибута на схеме.

  1. Выполним все аналогичные настройки для шести других таблиц базы данных.
  2. Выполним команду меню File/Save и сохраним настроенный файл связи.

Теперь мы готовы к обновлению проекта с использованием информации из базы данных.

  1. Вернемся в редактор схем и выполним команду меню Tools/Update from Database.

На экране появится окно Update from Database (рис. 13), в левой части которого приведен список использованных в проекте принципиальных схем, а в правой — список компонентов, приведенных на выделенных листах. Убирая «галочку» напротив имени схемы или компонента, можно исключить его из процесса обновления.

Рис. 13. Назначение компонентов на обновление
Рис. 13. Назначение компонентов на обновление
  1. 47. Включим все «галочки» напротив всех схем и компонентов и нажмем кнопку OK. В строке состояния появится сообщение Querying parameters from database (идет извлечение параметров из базы данных), а индикатор покажет ход выполнения этого процесса.

Как только процесс будет завершен, на экране появится диалоговое окно Select Parameters Changes (рис. 14). Серой штриховкой будут показаны ячейки, соответствующие отсутствующим атрибутам компонентов. Некоторые ячейки будут иметь в правом верхнем углу знак +, причем в некоторых случаях он будет зеленым, а в других — серым.

Рис. 14. Просмотр и утверждение предлагаемых изменений
Рис. 14. Просмотр и утверждение предлагаемых изменений

Серый знак +, как правило, ставится на серых штрихованных ячейках и означает, что данное поле присутствует в базе данных, но оно пустое, и поэтому, согласно настройкам на вкладке Database Links файла связи, соответствующий текстовый атрибут компонента создаваться не будет. Если выполнить щелчок правой кнопкой мыши на такой ячейке, то в контекстном меню будет активна команда Update, позволяющая утвердить данное обновление.

Зеленый знак + сигнализирует о том, что обновление выявлено и будет выполнено по умолчанию (будет создан и заполнен новый текстовый атрибут). Отклонить создание атрибута можно, выполнив щелчок правой кнопкой мыши на ячейке и выбрав в контекстном меню команду Reject.

Некоторые ячейки в правом верхнем углу имеют синий треугольник, сигнализирующий о том, что такой атрибут уже существует, но его содержимое будет обновлено. Отклонить обновление атрибута можно, щелкнув правой кнопкой мыши на ячейке и выбрав в контекстном меню команду Reject.

  1. В нашем случае мы поступим проще и нажмем кнопку Update All в нижней части окна Select Parameters Changes, тем самым подтвердим выполнение абсолютно всех найденных обновлений.
  2. Нажмем кнопку Accept Changes (Create ECO) — появится окно Engineering Exchange Order, в котором будут перечислены все запланированные изменения.
  3. Нажмем кнопку Validate Changes. Система Protel DXP проверит возможность выполнения перечисленных изменений и просигнализирует об этом зеленым значком в столбце Status Check (рис. 15). 51. Нажмем кнопку Execute Changes. Система выполнит все назначенные изменения и просигнализирует об этом зеленым значком в столбце Status Done.
  4. Нажмем кнопку Report Changes. На экране появится окно Report Preview с отчетом о выполненных изменениях (рис. 16). При необходимости этот отчет можно сохранить в файл или распечатать.
  5. Нажатием кнопок Close закроем окна Report Preview и Engineering Exchange Order.
  6. В документе 4 Port UART and Line Drivers.schdoc найдем резистор R1 и выполним на нем двойной щелчок мышкойоткроется окно Component Properties, содержащее обновленный список параметров (рис. 17).
Рис. 15. Проверка возможности выполнения изменений
Рис. 15. Проверка возможности выполнения изменений
Рис. 16. Просмотр отчета о внесенных изменениях
Рис. 16. Просмотр отчета о внесенных изменениях
Рис. 17. Обновленный список атрибутов компонента
Рис. 17. Обновленный список атрибутов компонента

Легко видеть, что текстовых атрибутов у данного резистора стало больше, чем показано на рис. 5. То, что содержимое атрибутов также изменилось, легко проверить по параметрам Description и Manufacturer, которые сейчас содержат текст из отредактированной нами базы данных.

Пользователи, привыкшие работать на старых системах проектирования, могут задаться вопросом, зачем нужен столь сложный механизм обработки атрибутов, когда можно было бы создать их заранее и сохранить в библиотеке?

Описанный механизм позволяет разгрузить библиотеки компонентов, а нужную для производства информацию загружать в проект только перед выпуском документации. В этом случае в проект по локальной сети попадает самая последняя информация из корпоративной базы данных, которую поддерживает бюро стандартизации. При этом сотрудники бюро стандартизации работают в привычной для них СУБД, и от них не требуется навыков работы с библиотеками системы Protel DXP, что особенно важно в случае использования на предприятии нескольких разных систем проектирования. Кроме того, с одной базой данных может одновременно работать несколько пользователей, а множественный доступ (и его разграничение) поддерживается средствами самой СУБД.

Смоделируем случай, когда в базу данных уже после выполнения обновления были внесены изменения, которые должны быть обязательно отражены в проекте.

  1. Откроем имеющуюся у нас на компьютере базу данных Example database.mdb и ее таблицу Resistors.
  2. Найдем знакомый нам резистор с обозначением Part Number R002014 и в графе производитель напротив него введем новый текст: Завод «Прогресс».
  3. Вернемся в редактор схем системы Protel DXP и команду меню Tools/Update from Database. На экране, как и раньше, появится окно Update from Database (рис. 13).
  4. Проверим, что все «галочки» здесь включены, и нажмем кнопку OK.

Система начнет выполнять загрузку информации из базы данных. Как только процесс будет завершен, на экране появится диалоговое окно Select Parameters Changes. Здесь будет присутствовать только одно выявленное изменение для резистора R1 документа 4 Port UART and Line Drivers.schdoc. Синий треугольник в правом верхнем углу соответствующей ячейки будет сигнализировать о том, что этот атрибут уже существует, но его содержимое будет обновлено согласно информации из базы данных.

  1. Нажмем кнопку Accept Changes (Create ECO), появится окно Engineering Exchange Order, в котором будет записано всего одно запланированное изменение.
  2. Нажмем кнопку Validate Changes. Система Protel DXP проверит возможность выполнения этого изменения и просигнализирует об этом зеленым значком в столбце Status Check.
  3. Нажмем кнопку Execute Changes. Система выполнит назначенное изменение и просигнализирует об этом зеленым значком в столбце Status Done (рис. 18).
  4. Нажатием кнопки Close закроем окно Engineering Exchange Order.
  5. В документе 4 Port UART and Line Drivers.schdoc найдем резистор R1 и дважды щелкнем на нем левой кнопкой мыши. Легко видеть, что содержимое атрибута Manufacturer изменилось.
Рис. 18. Обновление проекта по изменениям в базе данных
Рис. 18. Обновление проекта по изменениям в базе данных

Таким образом, мы убедились, что описанный нами механизм позволяет выполнять синхронизацию разных проектов разных разработчиков в рамках локальной сети согласно самой последней информации из централизованной базы данных. Причем возможности сетевого взаимодействия никак не связаны с типом используемой лицензии, которая может быть сетевой или локальной. В качестве ключевого поля может быть использована информация из одного или нескольких текстовых атрибутов компонента.

В нашем примере мы использовали готовый проект, в котором все компоненты уже имели текстовый атрибут Part Number, содержащий уникальное обозначение компонента. Рассмотрим случай, когда проект разрабатывается «с нуля» и ко всем компонентам необходимо добавить новый текстовый атрибут.

  1. Вернемся в редактор схем с открытым документом 4 Port UART and Line Drivers.schdoc и выполним команду меню Tools/Parameter Manager.
  2. Откроется диалоговое окно Parameter Editor Options Project (рис. 19), в котором включим «галочку» у типа объектов Parts (компоненты) и нажмем кнопку OK.
Рис. 19. Настройка отображения параметров компонентов
Рис. 19. Настройка отображения параметров компонентов

Откроется диалоговое окно Parameter Table Editor for Project (рис. 20). Здесь в удобной для редактирования табличной форме представлены все текстовые атрибуты компонентов проекта. Каждому атрибуту соответствует отдельный столбец. Все столбцы разбиты на три категории: неизменяемые, содержащие тип объекта, имя документа и позиционное обозначение компонента; системные (System Parameters), которые есть у абсолютно всех компонентов; пользовательские (User Parameters), набор которых у разных компонентов может отличаться. В данном окне пользователь может удалять или добавлять только атрибуты (столбцы) из категории User Parameters. Удаление или добавление системных атрибутов невозможно, так как их набор фиксирован, поэтому пользователь может лишь менять их содержимое.

Рис. 20. Таблица редактирования атрибутов компонентов
Рис. 20. Таблица редактирования атрибутов компонентов
  1. Нажмем кнопку Add Column. Откроется окно Add Parameters (рис. 21).
  2. В поле Name введем имя атрибута «Идентификационный код», включим опцию Add to all object (добавлять ко всем объектам) и нажмем кнопку OK.
Рис. 21. Добавление атрибута
Рис. 21. Добавление атрибута

В самом конце таблицы в категорию пользовательских параметров будет добавлен столбец с именем «Идентификационный код», в каждой ячейке которого будет стоять зеленый значок +.

  1. Нажмем кнопку Accept Changes (Create ECO), появится окно Engineering Exchange Order, в котором будут перечислены выполняемые изменения.
  2. Нажмем кнопку Validate Changes. Система Protel DXP проверит возможность выполнения этих изменений и просигнализирует об этом зеленым значком в столбце Status Check.
  3. Нажмем кнопку Execute Changes. Система выполнит назначенное изменение и просигнализирует об этом зеленым значком в столбце Status Done.
  4. Нажатием кнопки Close закроем окно Engineering Exchange Order.
  5. В документе 4 Port UART and Line Drivers.schdoc дважды щелкнем левой кнопкой мыши на любом из компонентов. Легко видеть, что в списке параметров появится новый атрибут «Идентификационный код».

Теперь этот параметр можно использовать в качестве ключевого при настройке связи с базой данных вместо параметра Part Number. Запрос для Single key lookup в этом случае будет иметь вид:

Однако в этом случае нам придется вручную найти в базе данных нужный компонент, выписать его код R002014 и вписать в поле компонента.

Существует другой способ настройки связи с базой данных, когда пользователь указывает, например, номинал и мощность резистора, а система автоматически находит в базе нужный компонент. Проверим этот способ.

  1. Перейдем к редактированию файла связи с базой данных и для таблицы Resistors вместо опции Single key lookup выберем опцию Where.
  2. Текстовое поле запроса станет активным. Введем в это поле текст нового запроса, который автоматически находит в базе компонент, если у него заданы мощность и сопротивление:

Обратите внимание, что после изменения типа запроса поле Part Number на вкладке Database Links потеряло свою связь с атрибутом компонента. Настроим эту связь вручную.

  1. Щелкнем левой кнопкой мыши на ячейке в столбце Design Parameters напротив поля Part Number в столбце Database Field Name. В правой части ячейки появится значок вызова выпадающего списка.
  2. Выберем из этого списка имя атрибута «Идентификационный код», который будет связан с данным полем (рис. 22). Красный крестик сменится зеленой «галочкой».
  3. Вернемся в редактор схем и командой меню Tools/Update from Database запустим процесс обновления проекта.
  4. В окне Update from Database нажмем кнопку OK.
Рис. 22. Использование сложных запросов для нескольких ключевых полей
Рис. 22. Использование сложных запросов для нескольких ключевых полей

Откроется диалоговое окно Select Parameters Changes, из которого следует, что обновление параметров планируется сделать для трех компонентов: R1, R2 и RP1 (рис. 23). Причем для хорошо знакомого нам резистора R1 производства завода «Прогресс» найдено другое соответствие и в поле «Идентификационный код» предполагается внести не знакомый нам код R002014, а R001491.

Рис. 23. Обновление параметров с использованием сложного запроса
Рис. 23. Обновление параметров с использованием сложного запроса

Что же произошло? Система Protel четко отработала запрос, нашла в базе данных два резистора с номиналом 1,0 МОм и мощностью 0,5 Вт и выбрала из них первый по алфавиту (рис. 10, c). Чтобы система однозначно находила в базе данных нужную нам запись, необходимо усложнить запрос, введя в него условие проверки третьего ключевого поля. В нашем примере это может быть поле Packaging, содержащее описание способа упаковки резисторов.

  1. Последовательным нажатием кнопок Cancel прервем процесс обновления.
  2. Вернемся к редактированию файла связи с базой данных и в поле запроса введем новый текст:
  1. Вернемся в редактор схем и командой меню Tools/Update from Database запустим процесс обновления проекта.
  2. В окне Update from Database нажмем кнопку OK.

Откроется диалоговое окно Select Parameters Changes, из которого следует, что система однозначно определила нужный тип трех резисторов R1, R2, RP1 и их код Part Number планирует внести в текстовый атрибут «Идентификационный код».

Итак, мы показали, что система Protel DXP обладает мощными функциями связи с внешними базами данных, как с использованием одиночных ключевых полей, так и сложных запросов на языке SQL. Возможна связь одного проекта с несколькими базами данных, причем разного формата, например, Microsoft Access или Excel. Базы данных могут содержать информацию на русском языке и, что более важно, содержать поля, именованные на русском языке, например, «Сопротивление», «Мощность», «Допуск» и т. д. Система Protel DXP полностью поддерживает русский язык и позволяет организовать централизованное ведение баз данных компонентов согласно всем требованиям российских стандартов.

Скачать статью в формате PDF  Скачать статью Компоненты и технологии PDF

 


Сообщить об ошибке