Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Как правильно подгрузить новый нетлист на старую плату
Форум разработчиков электроники ELECTRONIX.ru > Печатные платы (PCB) > Разрабатываем ПП в САПР - PCB development > P-CAD 200x howto
Anton75
Имеется плата, в стародавние времена очень красиво разведенная вручную одним давно уволившимся корифеем. Теперь схему пришлось слегка доработать, и соответственно хочется добавить новые элементы и проапдейтить изменившиеся атрибуты старых. Пытаюсь подгружать новый нетлист в PCB, и какие бы опции я при подгрузке не выбирал, атрибуты старых компонентов изменяться не хотят. Получаю лишь список ошибок, где перечислено, какие компоненты платы и подгружаемого нетлиста не соответствуют друг другу. Но это я и сам знаю, а вот как бы заставить пикад заменить старые атрибуты на загружаемые из нетлиста?
Vlad-od
Мне кажется надо сначала на плате форсе апдейт сделать с заменой атрибутов
Anton75
Сделал. После этого при попытке подгрузки нетлиста - Unexpected condition sad.gif

Вроде получилось выкрутиться через утилиту NetSync, что лежит в корневой папке пикада. Сравнил с ее помощью нетлист из платы и нетлист из схемы, получившийся ECO-файл импортировал на плату.
Правда, толку от этого не очень много, потому что все элементы, которых коснулись изменения, улетели за пределы платы. Разводка порепалась настолько, что проще ее сделать заново.
MrYuran
По-моему, если дело касается только аттрибутов (номиналы), то выдаются варнинги и всё проходит нормально. Если Что-то добавляли или удаляли и слетела нумерация - тут всё печальнее и возможно проше заново сделать.
Vlad-od
можно попробовать загрузить нет лист в формате танго. Там только 5 или 6 аттрибутов участвует. И прежде чем грузить нет лист сначал сравнить его с платой и попытаться исправить замыкания и др. егг
Andar
В 2004-м проделывал через ECO такие манипуляции. Попробуй изменения скармливать в PCB по частям а не все сразу, через эко компоненты у которых изменились подключения отключаются от дорог, но остаются на местах. Новые компоненты - за пределами платы. Еще можно попробовать сделать фиксацию компонетов.
musa
Цитата(Anton75 @ Dec 8 2008, 14:27) *
Имеется плата, в стародавние времена очень красиво разведенная вручную одним давно уволившимся корифеем. Теперь схему пришлось слегка доработать, и соответственно хочется добавить новые элементы и проапдейтить изменившиеся атрибуты старых. Пытаюсь подгружать новый нетлист в PCB, и какие бы опции я при подгрузке не выбирал, атрибуты старых компонентов изменяться не хотят. Получаю лишь список ошибок, где перечислено, какие компоненты платы и подгружаемого нетлиста не соответствуют друг другу. Но это я и сам знаю, а вот как бы заставить пикад заменить старые атрибуты на загружаемые из нетлиста?



Если есть красивая плата родная схема к ней и очень желательно родная ( от этой платы) библиотека то лучше просто дорисовать новые элементы на старую схему, передать их на плату. На плате чуть в стороне пояпоявятся новые элементы сновыми связями и только потом в ней чтото менять. В этом случае не будет проблем с несовпадением атрибутов.
Anton75
Поскольку тема возникла вновь, и после многих ошибок удалось более-менее в ней разобраться, выкладываю пошаговую инструкцию:
Как добавить изменения из схемы на плату, оставив на своем месте все старые компоненты
Предполагается, что новая схема полностью закончена и новый нетлист сгенерирован из Schematic'a.

1.Загружаем старую плату в PCB.
2. Edit->Nets->SetAll->Select->Close. Имеем выделенными все цепи.
3. Жмем кнопку Delete, вся разводка удаляется, остаются только связи.
4. Повторяем пункт 2.
5. Снова жмем кнопку Delete, все связи с платы удаляются полностью. Возможно, есть способ удалить все связи за 1 шаг, я пока этот вопрос не исследовал.
6. Создаем одну-единственную связь, соединив любые два пада на плате. Это необходимо для того, чтобы стала доступна функция Generate Netlist.
7. Выполняем Utils->Generate Netlist
8. Запускаем утилиту NetSync.exe, находящуюся в корневой папке P-CAD.
9. Указываем в качестве Current Netlist нетлист, ранее сгенерированный со схемы.
10. Указываем в качестве Previous Netlist сгенерированный в пункте 7 (с платы с одной связью).
Обратите внимание, что менять местами Current и Previous нетлисты нельзя.
11.Жмем Generate ECO's в Netsync, получаем ECO-файл, содержащий различия нетлистов на схеме и на плате. Сохраняем его.
12. ЕСО-файл, полученный в пункте 11, импортируем на плату: Utils->Import ECOs.
13. PROFIT! biggrin.gif

Можно проверить полученный результат, сравнив нетлист на плате с нетлистом со схемы с помощью функции Compare Netlist.
Если все прошло успешно, то будет выдано сообщение о том, что нетлисты идентичны. В процессе работы было замечено, что PCAD не
любит и зачастую обрезает знаки процентов в атрибутах компонентов при генерации нетлиста. Например, резистор, имеющий
value=10 к 1% в схеме, на плату передается как "10к 1". При сравнении нетлистов эта ошибка вылезет. Единственный выход - дописать
% на плате вручную.

А теперь внимание, вопрос к знатокам:
Имеем открытыми файлы схемы и платы с идентичными нетлистами. Как осуществить синхронную перенумерацию компонентов, чтоб они одинаково перенумеровались на схеме и на плате?
Uree
Как обычно - включаем запись ЕСО, делаем ренумерацию, сохраняем проект(автоматом записывается ЕСО-файл сделанных изменений), загружаем ЕСО в другой файл. Независимо от направления действий(схема->плата или наоборот) последовательность действий не меняется.
Anton75
Если бы всё было так просто! sad.gif
Вот сейчас попробовал и получил: "Unable to change J5_1 to J7 in ECO file on line 283. Importing ECO file is halted"
При том, что нетлисты схемы и платы идентичны.
Не понимаю, в чем состоит великая проблема смены J5_1 на J7, но PCAD почти всегда преподносит такие сюрпризы при попытке импортирования ECO-файлов, записанных в процессе работы ( с ECO, сгенерированными NetSync как правило все нормально). Что я делаю не так?
Владимир
Цитата(Anton75 @ Dec 25 2009, 11:13) *
Если бы всё было так просто! sad.gif
Вот сейчас попробовал и получил: "Unable to change J5_1 to J7 in ECO file on line 283. Importing ECO file is halted"
При том, что нетлисты схемы и платы идентичны.
Не понимаю, в чем состоит великая проблема смены J5_1 на J7, но PCAD почти всегда преподносит такие сюрпризы при попытке импортирования ECO-файлов, записанных в процессе работы ( с ECO, сгенерированными NetSync как правило все нормально). Что я делаю не так?


Наиболее вероятно то, что на момент переименования J5_1 на J7, элемент J7 уже существует на PCB
А Pcad не допускает совпадения. Сначала J7 нужно переименовать на то значение которое он должен иметь
Anton75
Нет гарантии, что так же не произойдет с другими элементами. С таким подходом проще переименовать все компонеты вручную smile.gif

Ведь изначально нетлисты на плате и на схеме были одинаковы! Как могло получиться, что на схеме перенумерация прошла нормально, а на плате откуда-то появился таинственный мешающий J7? Либо что-то не так с алгоритмом сравнения нетлистов, либо с алгоритмом формирования ECO.
Владимир
Цитата(Anton75 @ Dec 25 2009, 11:47) *
Нет гарантии, что так же не произойдет с другими элементами. С таким подходом проще переименовать все компонеты вручную smile.gif

Ведь изначально нетлисты на плате и на схеме были одинаковы! Как могло получиться, что на схеме перенумерация прошла нормально, а на плате откуда-то появился таинственный мешающий J7? Либо что-то не так с алгоритмом сравнения нетлистов, либо с алгоритмом формирования ECO.


Когда все правильно, тогда и без проблем.
Посмотрите исходные нетлисты. Скорее всего там есть компоненты с номером типа XX_1, в частности, например, J7_1
У Pcad есть баг. Он не отслеживает таких имен, и запросто при Есо подсовывает другие подобные в качестве временных.
Тут возможно совпадение и тот эффект, что у Вас

Такие имена предварительно в ручную замените, на те, что в принципе не может быть, например J7_1 ==> J1007
Anton75
Посмотрел, нет у меня такого в исходных нетлистах..
Единственное, что заметил, в исходной схеме до перенумерации после J1..J6 сразу идет J15. То есть J7, на котором происходит ошибка, изначально отсутствовал. Пока не могу сообразить, какие практические выводы можно из этого сделать.
Владимир
Цитата(Anton75 @ Dec 25 2009, 13:44) *
Посмотрел, нет у меня такого в исходных нетлистах..
Единственное, что заметил, в исходной схеме до перенумерации после J1..J6 сразу идет J15. То есть J7, на котором происходит ошибка, изначально отсутствовал. Пока не могу сообразить, какие практические выводы можно из этого сделать.

Не. С пропусками не было такого. Наоборот приходилось делать.
Ну копайте. Авось кому пригодится
il96
в Пикаде 2006 есть Design manager и в PCb, и в Schematic (Ctrl-M), попробуйте визуально сравнить и цепи и компоненты, бывает, что переименование переносит часть лог.элементов в другие корпуса, при переименовании надо ставить галочку "Keep parts together". Можеть что-нибудь с этим связано?
IQ3
Пикадовское ECO ОЧЕНЬ чувствительно к последовательности операций. Имена даются автоматически без проверки, поэтому много ошибок при больших изменениях. Например порванная цепь автоматом нумеруется в две с разными номерами, и если забыть почистить кусочки будет ошибка. И еще много всего бывает. Следите за руками. И старайтесь пользоваться короткими записями, т.е. вносить изменения маленькими кусочками.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.