OrCAD Capture CIS позволяет создавать новые компоненты в базе данных на основе существующих. Это может быть удобно, когда нужные компоненты в БД отсутствуют, но есть похожие, например, однотипные пассивные элементы отличающиеся только некоторыми параметрами. Чтобы не тратить время на создание недостающих компонентов, можно быстро накидать временных, немного их изменив. Например, в БД отсутствует резистор на 11кОм 1%, а мы берем другой аналогичного типа и на его основе создаем новый компонент.
Для создания нового компонента в CIS Explorer кликаем на компонент-исходник и выделяем его.
Далее идем в главное меню
Edit -> Derive New Database Part...Откроется окно создания нового компонента, которому будет присвоен временный партномер с префиксом TMP-. Данный префикс при желании можно задать в конфигурации CIS.
Здесь можно задать новые свойства компонента, а также назначить УГО и футпринты. При назначении УГО можно установить галочку
Attach the library name, чтобы различать символьные представления с одинаковыми именами из разных библиотек.
Далее нажимаем кнопку
Place Part, сохраняем(или нет) новый компонент в БД и размещаем компонент на схеме.
Если на предложение о добавлении компонента в БД было отвечено утвердительно, то в БД компонентов(в данном случае resistor) и в таблице CIS Explorer появится соответствующая запись, а в свойствах размещенного компонента (
ПКМ -> Edit Properties), будет временный партномер с префиксом
TMP-.
Как будто всё просто и удобно, но как всегда, есть нюансы.
Допустим, мы накидали этих временных компонентов и как будто сэкономили время. А теперь представим, что нам нужно привести эти временные партномера к нормальному(например, утвержденному на предприятии) формату. Вот тут и начинается канитель. Мало того, что это придется делать вручную посредством СУБД, так ещё и в двух таблицах сразу.
Записи о всех временных компонентах помимо таблицы компонентов попадают в таблицу
tmpprts, которую создает OrCAD Capture при конфигурации CIS. Если в этой таблице что-то есть, то не стоит её удалять, переименовывать или удалять из неё какие-либо записи, т.к. это приведет к нарушению синхронизации компонентов между проектами и БД.
Итак, с чего же начинается приведение партномеров...
- Нужно зайти в CIS Explorer, на вкладку Query и выполнить запрос на поиск временных компонентов. Если таковые есть, то продолжаем работу по присвоению актуальных партномеров.
- Открываем MySQL Workbench, кликаем ПКМ по таблице tmpprts, выбираем Alter Table и назначаем колонку TMPPRTNO первичным ключом и кликаем кнопку Apply. Сделать это нужно один раз, чтобы посредством MySQL Workbench можно было редактировать эту таблицу. Дело в том, что таблицы без первичного ключа он считает неправильными и блокирует действия с ними, что в общем-то правильно.
- В MySQL Workbench в отдельных вкладках открываем для редактирования данные таблицы tmpprts и таблицы компонентов.
Для таблицы компонентов выполняем запрос(в данном случае resistor):
- Код: Выделить всё
SELECT * FROM resistor WHERE part_number LIKE 'TMP-%';
Для таблицы tmpprts:
- Код: Выделить всё
SELECT * FROM tmpprts WHERE RELPRTNO IS NULL OR RELPRTNO='';
- Далее смотрим на временные компоненты в CIS Explorer или в MySQL Workbench и по очереди присваиваем новые партномера сначала занесением в пустую колонку RELPRTNO таблицы tmpprts, образуя пару соотношения TMP-партномер -> новый партномер, а уже за тем заменяем соответствующий TMP-партномер на новый в таблице компонентов. И так далее для каждой записи. В конце для обоих таблиц применяем изменения, кликнув по кнопке Apply. Первичный ключ на колонке part_number таблицы компонентов не даст ошибиться при вводе одинаковых значений партномера.
- Открываем Part Manager. Для этого кликаем ПКМ по папке дизайн-проекта и выбираем соответствующий пункт. Откроется окно партменеджера, в котором будет видно наши временные компоненты.
- Идем в главное меню Tools -> Update All Parts Status. Part Manager начнет предлагать обновлять статус компонентов. Можно это делать по очереди и выбирать, а можно просто кликнуть Yes All. В результате статус компонентов обновится на зеленый, утвержденный и актуальный. И для каждого появится имя таблицы источника в БД.
Ещё один нюанс при приведении партномеров
пассивных временных компонентов заключается в том, что иногда может быть непонятно, какой именно компонент послужил исходником для временного, т.к. партномер подменен на TMP-, а в свойстве value в лучшем случае только значение и единица измерения.
Для решения этой проблемы можно в конфигурации CIS отметить, например, колонку Manufacturer Part Number для переноса в проект, сделать её ключевой, добавить на колонку индекс в БД и при наполнении таблицы прописывать в неё актуальное значение, либо просто дублировать в неё партномер компонента. При таком подходе всегда можно будет однозначно понять, из какого исходного компонента был создан временный.