[Из песочницы] Свойства объектов в САПР печатных плат OrCAD и Allegro

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

Так как я работаю в OrCAD, то про работу в этой программе и буду писать. Надеюсь, кому-то это будет полезно.
Нашел тут, как обойти проблему потери информации о назначении пользовательских свойств отдельным компонентам в проекте. Редактор печатных плат OrCAD предлагает некий набор свойств, которые могут быть назначены индивидуально различным объектам в проекте печатной платы. Такие свойства называются «пользовательские». Пример назначения такого свойства выбранному контакту разъема, для которого я хочу запретить свопинг (обмен между выводами).

0n-tfa6rm_w9kyqma0zw70t-pw0.png

Можно применить к каждому объекту какие-то полезные свойства — например, задать «особенное» термальное или сплошное подключение для конкретного пина, лежащего на полигоне, в то время как все остальные пины будут подключаться к этому полигону типовым образом, через типовые термальные контакты.

Однако такая свобода в назначении свойств таит в себе опасность. Если по прошествии некоторого времени пользователь продолжит работу над проектом, то рискует забыть о внесенных дополнительных свойствах для конкретных объектов. Например, мой коллега недавно забыл о свойстве «NO_DRC», которое он прицепил к одному пину компонента, и которое, «о ужас», полностью отменяет проведение проверок для данного объекта. Если при работе над проектом возникнет короткое замыкание одной цепи с другой на данном контакте, то система не будет сигнализировать о данной ошибке. Это может привести к неработоспособности платы, если такое замыкание не было запланировано разработчиком.

В принципе, конечно, такие «мощные» корректировки в конкретных объектах хорошо бы сопровождать изменением имени этих объектов. Например, мой коллега мог бы назвать измененный пин как-нибудь типа PIN_WITH_NO_DRC_PROPERTY, а компонент — COMPONENT_WITH_NO_DRC_PIN, чтобы те, кто в дальнейшем будут использовать этот проект, могли хотя бы как-то увидеть «особенность» этого пина.

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

Оказалось, что гораздо проще после большого перерыва в работе с определенным проектом выполнять простые проверки на добавленные пользовательские свойства. Это очень легко сделать, применяя инструмент расширенного поиска объектов OrCAD, который называется «Find by Query» («поиск по запросу»). Его запуск из панели Find в версии OrCAD 17.2 выглядит так.

canfr84ieyuram95chjgj1hmhek.png

vh-hlsydyrajvwyikwunm_2crjs.png

При помощи данного инструмента я могу сформировать практически любой поисковый запрос и сразу же ознакомиться с полученными результатами. В левой части диалогового окна необходимо выбрать тип объектов, среди которых будет осуществлен поиск. В нашем случае я выбираю выводы (Pins). Далее в средней части диалогового окна «Fields» необходимо выбрать свойство объекта, которое может принимать определенное значение. На рисунке выбран раздел пользовательских свойств (Property). На заключительном этапе выбирается само свойство, которое необходимо найти. Что удобно: в списке видны только те свойства, которые реально присутствуют в проекте — в моем случае это были NO_DRC и NO_SWAP_PIN. Можно дополнительно ввести искомое значение свойства, чтобы сузить поле поиска. Как только запрос сформирован, в нижней части окна появляется результат. Нажимая на ту или иную строку в таблице результатов, мы перемещаем фокус экрана к тому объекту, который обладает искомым свойством или удовлетворяет условиям поискового запроса.

Как я обнаружил после некоторых экспериментов, возможности продвинутого поиска OrCAD очень широки. К примеру: можно найти в проекте все проводящие линии заданной ширины. Для этого необходимо сформировать поисковый запрос (см картинку). При помощи клавиши SHIFT в списке найденных объектов можно выделить сразу несколько объектов и выполнить над ними какое-то действие. Например, изменить ширину проводника.

oyp-h9_gb8wpknwgrk2sd8fzckw.png

Поисковые запросы можно сохранять для использования в будущем, в виде файлов на диске. Это очень удобно. По крайней мере, я теперь точно буду проверять наличие свойства NO_DRC, и других специфических свойств, не только в своих старых проектах, но и в интернетовских референс-дизайнах в формате OrCAD/Allegro, когда буду брать их за основу последующих разработок.

© Habrahabr.ru