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

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

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

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

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

  • Существующий лист устройства (device sheet) нужно локализовать и настроить под текущий проект. (Показать)

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

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

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

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

Щёлкните правой кнопкой мыши по компоненту и выберите команду Part Actions » Convert Part To Sheet Symbol в контекстном меню — символ компонента будет преобразован в символ листа. Связность сохраняется: входы/выходы листа (sheet entries) именуются по исходным именам выводов, а параметр I/O Type устанавливается так, чтобы отражать исходный электрический тип вывода.

Параметр Designator символа листа изначально устанавливается равным обозначению (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, чтобы быстро добавить символ листа и тем самым «вплести» подсхему в иерархию проекта.

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

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

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

Для максимальной целостности и оптимальной повторной используемости рассмотрите выпуск (release) схемных листов функциональных подсхем в подключённый Workspace — с преимуществами, включая управление ревизиями и жизненным циклом, а также трассируемость «где используется» (where-used). Доступные всей команде разработчиков в организации, эти элементы проекта, называемые managed schematic sheets, предоставляют более высокоуровневые, качественные «строительные блоки» для повторного использования в будущих проектах. Вы можете повторно использовать эти управляемые схемные листы функциональности как составные компоненты более крупного проектного задания. Подробнее см. Working with Managed Schematic Sheets.

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

  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.

    Нажмите кнопку справа от поля расположения, чтобы открыть диалог Choose Device Sheet Folder dialog. В этом диалоге перечислены все определённые на данный момент папки Device Sheet. Чтобы добавить новое расположение папки, нажмите кнопку Device Sheet Folders в нижней части этого диалога — откроется диалог Device Sheet Folders dialog. Либо определите папки Device Sheet на странице Data Management - Device Sheets page диалога Preferences.

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

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

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

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

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

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

  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 .

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

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

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

По мере развития проекта содержимое исходных листов схемы, из которых он состоит, может потребоваться перераспределить — определённый фрагмент схемы может лучше «читаться» на отдельном листе, или, возможно, лист становится перегруженным (и нечитаемым!) и ему поможет перенос части схемы на дополнительный/другой лист.

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

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

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

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

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

  1. Нажмите OK. Выбранный лист станет активным, а выбранная подцепь появится «плавающей» на курсоре.

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

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

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

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

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

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

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

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

Content