Реструктуризация дизайна с помощью рефакторинга

Краткий обзор

В этой статье представлен практический обзор функций рефакторинга в Altium Designer, позволяющих реорганизовать существующий проект печатной платы без изменения его функциональности. В ней рассматриваются типичные задачи: замена устаревшего компонента эквивалентной подсхемой, преобразование блока схемы в повторно используемый лист устройства, обратное преобразование такого блока в локальный лист схемы для доработки и перенос фрагментов схемы между листами с сохранением электрических связей и проектного замысла. Если вы хотите эффективнее упорядочивать, адаптировать или повторно использовать фрагменты схем в рамках текущего рабочего процесса, эта статья познакомит вас с доступными инструментами и подскажет, когда их применять. Читайте дальше, чтобы узнать, как функции рефакторинга могут упростить обновление проекта.

- Узнайте, какие команды рефакторинга подходят для конкретных задач реорганизации, включая преобразование компонента в лист или набор портов, листа схемы — в лист устройства, а листа устройства — в лист схемы.
- Посмотрите, как Altium Designer помогает сохранять электрические связи, свойства символов и привязки подсхем при реорганизации иерархии схемы.
- Узнайте, как эти функции помогают повторно использовать схемные решения, создавать их локальные версии и более наглядно организовывать листы по мере развития проекта.
Узнайте больше с ИИ:

Рефакторинг в традиционном смысле — это изменение структуры существующей разработки (или программного кода) без изменения ее функциональности. При проектировании печатных плат возникают различные ситуации, в которых тот или иной вид рефакторинга позволяет своевременно и эффективно решить задачу:

  • Компонент устарел, и его необходимо заменить функционально эквивалентной подсхемой. (Показать)

  • Электрическую схему необходимо преобразовать в подсхему для использования в составе более крупной разработки. (Показать)

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

  • Существующий лист устройства необходимо сделать локальным и адаптировать к текущей разработке. (Показать)

  • Часть существующей схемы необходимо перенести на другой лист. (Показать)

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

Преобразование компонента в символ листа

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

Щелкните компонент правой кнопкой мыши и выберите команду Part Actions » Convert Part To Sheet Symbol в контекстном меню, чтобы преобразовать символ компонента в символ листа. При этом электрические связи сохраняются: входы листа получают имена исходных выводов, а для I/O Type задается значение, соответствующее электрическому типу исходного вывода.

Для свойства Designator символа листа изначально задается позиционное обозначение исходного компонента, а для свойства File Name is — текст комментария компонента.

Преобразуйте существующий компонент в символ листа.Преобразуйте существующий компонент в символ листа.

Если нужный дочерний лист уже существует, измените свойство File Name символа листа так, чтобы оно указывало на этот лист. В противном случае можно быстро создать подчиненный лист, щелкнув символ листа правой кнопкой мыши и выбрав команду Sheet Symbol Actions » Create Sheet From Sheet Symbol. В последнем случае на новом подчиненном листе будут размещены порты, соответствующие входам символа листа, после чего можно создать и подключить заменяющую подсхему.

Команда Convert Part To Sheet Symbol также доступна в главном меню Tools » Convert.

Перенос компонента на новый подчиненный лист

Другой, возможно более быстрый способ получить аналогичный результат — щелкнуть нужный компонент правой кнопкой мыши и выбрать команду Part Actions » Push Part To Sheet. Эта команда переносит компонент из текущего документа на новый подчиненный лист, заменяя исходный компонент символом листа, который ссылается на этот лист. При этом фактически выполняется следующая последовательность действий:

  1. Компонент копируется.

  2. Исходный компонент преобразуется в символ листа, для свойства Designator задается позиционное обозначение исходного компонента, а для свойства File Name — значение <OriginalPartComment>.SchDoc. Как и в предыдущем случае, электрические связи сохраняются: входы листа получают имена исходных выводов, а для I/O Type задается значение, соответствующее электрическому типу исходного вывода.

  3. На основе символа листа создается новый лист схемы, которому присваивается имя из значения свойства File Name символа.

  4. Копия исходного компонента вставляется в центр листа; порты, соответствующие входам символа листа, размещаются и соединяются с выводами компонента.

Затем при необходимости можно удалить компонент и заменить его функционально эквивалентной схемой.

С помощью команды Push Part To Sheet исходный компонент быстро преобразуется в символ листа, а его копия вставляется на вновь созданный лист,
на который ссылается этот символ.

Преобразование компонента в порты

Эта функция преобразует компонент в текущем документе в набор портов. Она идеально подходит для существующей самостоятельной разработки, например источника питания или вспомогательной платы, которую необходимо превратить в подсхему для использования в составе более крупной одноплатной разработки — например, чтобы снизить затраты на производство. Это действие обратно описанному в предыдущем разделе, где компонент заменялся подсхемой нижнего уровня. Здесь же подсхема включается в разработку верхнего уровня, что позволяет подключать ее на более высоком уровне иерархии.

Щелкните компонент правой кнопкой мыши и выберите команду Part Actions » Convert Part To Ports в контекстном меню, чтобы преобразовать символ компонента в набор портов. При этом электрические связи сохраняются: порты получают имена исходных выводов, а для I/O Type задается значение, соответствующее электрическому типу исходного вывода.

Используйте команду Convert Part To Ports, чтобы быстро заменить компонент портами, через которые подсхема подключается к разработке верхнего уровня.Используйте команду Convert Part To Ports, чтобы быстро заменить компонент портами, через которые подсхема подключается к разработке верхнего уровня.

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

  1. Сделайте нужный родительский лист активным.

  2. Выполните команду Design » Create Sheet Symbol From Sheet.

  3. Выберите документ, содержащий порты, созданные из компонента, в диалоговом окне Choose Document to Place.

  4. На курсоре появится символ листа; переместите его в нужное место на листе и щелкните для размещения.

Символ листа ссылается на подчиненный лист через свойство File Name и содержит входы листа, соответствующие портам на дочернем листе.

Используйте команду Create Sheet Symbol From Sheet, чтобы быстро добавить символ листа и тем самым включить подсхему в иерархию разработки.
Используйте команду Create Sheet Symbol From Sheet, чтобы быстро добавить символ листа и тем самым включить подсхему в иерархию разработки.

Преобразование листа схемы в лист устройства

На определенном этапе подход к проектированию с расчетом на повторное использование должен перейти на более высокий уровень абстракции. Если ограничиться уровнем компонентов, то в каждой разработке с похожими функциональными узлами, например USB-интерфейсом или стабилизатором напряжения, придется, по сути, «изобретать велосипед». Именно здесь на помощь приходят листы устройств — листы схем, реализующие определенные схемотехнические функции. Их использование устраняет риски, связанные с традиционным копированием и вставкой. Они избавляют от повторного выполнения одной и той же проектной работы и расширяют набор проектных решений, которые можно повторно использовать в будущих разработках.

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

Для обеспечения максимальной целостности и удобства повторного использования рассмотрите возможность публикации листов схем функциональных узлов в подключенном рабочем пространстве. Это также дает такие преимущества, как управление ревизиями и жизненным циклом, а также отслеживание использования. Эти элементы разработки, называемые managed schematic sheets, доступны всей команде разработчиков в организации и представляют собой высококачественные блоки более высокого уровня для повторного использования в будущих разработках. Такие управляемые листы схем, реализующие определенные функции, можно повторно использовать в качестве составных частей более крупного проекта. Подробнее см. в разделе Работа с управляемыми листами схем.

Чтобы преобразовать существующий лист схемы в лист устройства:

  1. На соответствующем родительском листе в иерархии разработки найдите символ листа, ссылающийся на нужный лист.

  2. Выберите символ листа и выполните команду Edit » Refactor » Convert Selected Schematic Sheet To Device Sheet в главном меню. Откроется диалоговое окно Convert Schematic Sheet to Device Sheet. Выберите папку для сохранения создаваемого листа устройства и область действия преобразования: обновить только текущий символ листа или все соответствующие символы листов в рабочей области либо активном проекте. Последний вариант особенно полезен для многоканальных проектов, в которых одна подсхема используется в нескольких экземплярах.

    Задайте параметры преобразования в диалоговом окне Convert Schematic Sheet to Device Sheet.Задайте параметры преобразования в диалоговом окне Convert Schematic Sheet to Device Sheet.

    Нажмите кнопку  справа от поля расположения, чтобы открыть диалоговое окно выбора папки листов устройств. В этом окне перечислены все заданные папки листов устройств. Чтобы добавить новую папку, нажмите кнопку Device Sheet Folders в нижней части этого окна и откройте диалоговое окно папок листов устройств. Папки листов устройств также можно задать на странице «Управление данными — Листы устройств» диалогового окна Preferences.

  3. Нажмите OK. Символ листа будет преобразован в символ листа устройства, а схема будет перемещена в указанную папку листов устройств.

    Символ листа устройства унаследует свойства исходного символа листа.

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

Преобразование листа устройства в лист схемы

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

Чтобы «преобразовать» существующий лист устройства в лист схемы:

  1. Найдите символ листа устройства, ссылающийся на нужный лист устройства.

  2. Выберите символ листа устройства и выполните команду Edit » Refactor » Convert Device Sheet To Schematic Sheet в главном меню. Откроется диалоговое окно Convert Device Sheet to Schematic Sheet . Выберите папку для сохранения создаваемого листа схемы и область действия преобразования: обновить только текущий символ листа устройства или все соответствующие символы листов устройств в активном проекте.

    Задайте параметры преобразования в диалоговом окне Convert Device Sheet to Schematic Sheet.Задайте параметры преобразования в диалоговом окне Convert Device Sheet to Schematic Sheet.

    По умолчанию в качестве Target Schematic Sheet Location используется папка активного проекта. Имя листа задается на основе File Name символа листа устройства. Нажмите кнопку справа от поля расположения, чтобы открыть диалоговое окно Open , в котором при необходимости можно изменить папку и имя для сохранения схемы.

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

    После преобразования локальный лист схемы заменит прежний лист устройства на панели Projects .После преобразования локальный лист схемы заменит прежний лист устройства на панели Projects .

    Символ листа унаследует свойства исходного символа листа устройства.

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

Перемещение выбранной части схемы на другой лист

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

Еще одна возможность рефакторинга — выбор одного или нескольких объектов на листе и их перемещение на другой лист. Для этого:

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

  2. Щелкните правой кнопкой мыши и выберите команду Edit » Refactor » Move Selected Subcircuit to Different Sheet в контекстном меню. Откроется диалоговое окно Choose Destination Document, в котором можно указать целевой лист схемы.

Если выбранную часть схемы требуется разместить на совершенно новом листе, сначала создайте и сохраните этот лист, чтобы он появился в диалоговом окне Choose Destination Document.

Перемещение части проекта на другой лист схемы.Перемещение части проекта на другой лист схемы.

  1. Нажмите OK. Выбранный лист станет активным, а выделенная подсхема будет привязана к курсору.

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

  3. Если перемещаемая часть схемы содержит один или несколько существующих символов листов, дочерние листы схемы, на которые ссылаются эти символы, будут перемещены в иерархии проекта под лист, на который перенесены символы. Эта иерархия отображается на панели Projects. При перемещении на новый лист добавьте символ листа на соответствующий родительский лист, чтобы правильно включить новый лист в иерархию проекта.

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

AI-LocalizedЛокализовано с помощью ИИ
Если вы обнаружили проблему, выделите текст/изображение и нажмитеCtrl + Enter, чтобы отправить нам свой отзыв.
Меню
Contents
Доступность функций

Доступные вам функции зависят от того, какое решение Altium вы используете: Altium Develop, Altium Agile Teams, Altium Agile Enterprise или Altium Designer (при активной подписке).

Если вы не видите описанную функцию в используемом вами программном обеспечении, свяжитесь с отделом продаж Altium, чтобы узнать больше.

Устаревшая документация

Документация Altium Designer больше не разделена по версиям ПО. Если вам необходим доступ к документации по старым версиям Altium Designer, посетите раздел Устаревшая документация на странице Прочие установщики.

Contents