Совместное проектирование печатных плат

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

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

- Узнайте, что требуется для работы PCB CoDesign, включая подключение к рабочему пространству, условия использования системы контроля версий и поддерживаемую конфигурацию репозитория.
- Посмотрите, как сравнивать локальные и удаленные ревизии печатной платы, анализировать выявленные различия и использовать инструменты панели для просмотра изменений в рабочей области проектирования.
- Разберитесь, как разрешать конфликты и объединять изменения: в каких случаях сохранять локальные изменения, принимать удаленные обновления и сохранять объединенный результат в рабочем пространстве.
Узнайте больше с ИИ:

Как говорится, многие руки облегчают работу. Разработчики печатных плат давно мечтают о том, чтобы несколько человек могли одновременно работать над одной платой. Неспециалисту эта задача может показаться не слишком сложной — взять результаты трассировки Боба из той части платы и перенести их в мою копию платы, — однако для ее решения необходимо сочетание нескольких ключевых возможностей.

К ним относятся:

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

  • Механизм точного сравнения и выявления различий между версиями одной платы.

  • Инструменты для разрешения обнаруженных различий, позволяющие разработчику выбирать, чьи изменения следует сохранить.

  • Инструменты, способные автоматически обрабатывать большое количество различий и разрешать их без создания конфликтов.

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

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

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

Функциональность PCB CoDesign доступна, если включен параметр PCB.CollaborativeEditing в диалоговом окне расширенных настроек.

Используйте элемент управления Leave Feedback в нижней части панели PCB CoDesign, чтобы отправить отзыв непосредственно разработчикам Altium с предложениями или сообщениями о проблемах, относящихся только к функции PCB CoDesign.

Процесс сравнения и слияния

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

  • нажать значок состояния системы контроля версий на панели Projects и выбрать соответствующую команду в появившемся меню:

    • Out of date () — команда Compare To Remote Document Version 

    • Modified () — команда Compare To Remote Document Version 

    • Conflict Prevention () — команда Compare To Remote Document Version & Merge 

    • Conflict Detected () — команда Resolve Conflict: Compare To Remote Document Version & Merge 

  • открыть панель PCB CoDesign и нажать кнопку Compare, Compare To Remote Document Version или Compare & Merge

  • для документа печатной платы в состоянии Modified () использовать команду Local Changes to Remote Document Version из подменю History & Version Control » Compare To контекстного меню записи документа на панели Projects или команду Projects » History & Version Control » Compare To главного меню

  • для документа печатной платы в состоянии Conflict Detected () использовать команду Compare To Remote Version & Merge из подменю History & Version Control » Resolve Conflict контекстного меню записи документа на панели Projects

  • нажать кнопку Compare или Compare & Merge в уведомлении, появляющемся в нижней части рабочей области.

Javascript ID: PCBCoDesign_CompareMerge_AD24_7

После завершения сравнения обнаруженные различия будут перечислены на панели PCB CoDesign. В списке представлены различия между базовой ревизией документа печатной платы (ревизией, которую вы получили) и последней ревизией в рабочем пространстве (с изменениями, внесенными другим пользователем).

Чтобы отменить выполняющееся сравнение, нажмите кнопку Cancel во всплывающем окне, отображаемом в процессе сравнения, или используйте сочетание клавиш Esc.

Список различий сгруппирован по категориям: Rules, Components, Polygon pours, Copper и т. д. Разверните категорию, чтобы увидеть список конкретных различий в ней, то есть какие объекты этой категории были добавлены, изменены и/или удалены:

  •   — объект добавлен в последней ревизии

  •   — объект изменен в последней ревизии

  •   — объект удален из последней ревизии

Для различия типа Modified также можно навести указатель на соответствующую запись или развернуть ее, чтобы просмотреть сведения об изменении.

Для перемещения по списку различий используйте клавиши Up Arrow / Down Arrow. Выбрав категорию различий, нажмите Spacebar, чтобы развернуть или свернуть ее.

Вы можете выполнять перекрестный переход от различий, перечисленных на панели PCB CoDesign, к рабочей области редактора печатных плат.

  • Щелкните категорию в списке на панели PCB CoDesign, чтобы подсветить в рабочей области изменения из этой категории.

  • Щелкните конкретное изменение в списке на панели PCB CoDesign, чтобы подсветить в рабочей области только это изменение.

  • Используйте приемы выбора Shift+Click и/или Ctrl+Click, чтобы выбрать несколько записей на панели.

Цветовое обозначение позволяет увидеть, какие объекты были добавлены, изменены, удалены или остались без изменений (неизмененные объекты соединения между выводами отображаются при выборе этого соединения на панели PCB CoDesign).

Цвета сравнения можно настроить на панели View Configuration с помощью образцов цвета для пунктов Not Changed / Modified Comparison Colors и Added / Removed Comparison Colors в области System Colors на вкладке Layers & Colors этой панели ().

Для настройки отображения изменений используйте параметры, доступные при нажатии элемента управления  в верхней части панели.

  • Включите параметр Show on PCB (сочетание клавиш: Ctrl+Shift+A), чтобы выделить различия в рабочей области документа печатной платы.

  • Когда параметр Show on PCB включен, можно также включить параметр Zoom selected object, чтобы при нажатии записи о различии на панели PCB CoDesign переходить к соответствующему объекту в рабочей области. Используйте ползунок для настройки масштаба приближения к выбранному объекту.

  • Чтобы упростить анализ изменений в больших цепях (отображаемых в категории Copper), медные объекты в цепях разбиваются на более мелкие элементы — соединения между выводами.

    Эта функция доступна, если параметр PCB.CollaborativeEditing.Connections включен в диалоговом окне Advanced Settings.

    Javascript ID: Pnl_PCBCoDesign_Pin2Pin_AD25_2
  • Функциональность PCB CoDesign поддерживает сравнение и применение изменений для объединений (заданных групп примитивов на печатной плате). Изменения, связанные с объединениями, отображаются в категории Unions в списке изменений на панели PCB CoDesign. Кроме того, изменения в других категориях группируются по объединениям, если соответствующие объекты входят в их состав. 

  • Если одни и те же свойства объекта изменены с обеих сторон и значения свойств не конфликтуют, такие изменения не вызывают конфликтов и могут быть объединены.

Также можно переключаться между текущим состоянием и состоянием до внесения изменений, удерживая сочетание клавиш Shift+B. Подсказка на панели показывает, какое состояние сейчас активно.

Если во всплывающем меню элемента управления  включен параметр Zoom selected object, при использовании сочетания клавиш Shift+B масштаб рабочей области также будет изменяться для отображения соответствующей области изменений.

Javascript ID: PCBCoDesign_States_24_7

Нажмите кнопку  в нижней части панели, чтобы объединить все обнаруженные различия. Появится всплывающее окно с уведомлением о выполнении объединения. Обратите внимание: различия будут объединены в вашей локальной рабочей копии документа печатной платы, которую необходимо сохранить в рабочем пространстве Workspace, чтобы она стала доступна другим разработчикам.

После объединения изменений статус документа печатной платы в системе контроля версий на панели Projects изменится на Merged, со значком . Нажмите этот значок, чтобы сохранить проект в Workspace или отменить локальные изменения.

Проект также можно сохранить в Workspace с панели Projects с помощью элемента управления Save to Server рядом с именем проекта или с панели PCB CoDesign с помощью кнопки Save to Server.

  • Документ печатной платы останется в состоянии Merged до возникновения нового конфликта. Локальное сохранение изменений не приведет к изменению состояния на Modified.

  • Если результаты сравнения отображаются на панели PCB CoDesign и другой пользователь сохраняет проект в Workspace или вы локально изменяете печатную плату, на панели PCB CoDesign появится уведомление о необходимости обновить сравнение с кнопкой обновления данных сравнения.

     

  • При использовании кнопки Save to Server на панели PCB CoDesign или команды Save to Server из меню значка Merged на панели Projects учитывайте, что в появившемся диалоговом окне Save to Server по умолчанию для сохранения в Workspace выбран только документ печатной платы, для которого выполнено объединение. Документы в состоянии Merged всегда выбраны для сохранения в Workspace в диалоговом окне Save to Server, и снять этот выбор нельзя. При необходимости выберите другие документы для сохранения в Workspace.

  • Обратите внимание: с точки зрения системы контроля версий Git статус Merged по-прежнему означает конфликт, который будет разрешен после сохранения проекта в Workspace (так работает Git при конфликтах слияния).

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

Разрешение конфликтов

Еще один способ работы — трехстороннее сравнение, которое используется, когда над платой работает кто-то еще. Представьте ситуацию, в которой вы и ваш коллега Боб получаете копии платы из Workspace. Каждый из вас работает со своей копией платы, размещая компоненты и выполняя трассировку. Боб завершает работу над своим участком платы и сохраняет ее обратно в Workspace. В это же время вы также работаете над своим участком платы и сохраняете изменения локально. В результате возникает конфликтная ситуация, которую можно разрешить с помощью панели PCB CoDesign.

Чтобы начать сравнение, нажмите значок статуса системы контроля версий Conflict Prevention () или Conflict Detected () на панели Projects и выберите в появившемся меню команду Compare To Remote Document Version & Merge или Resolve Conflict: Compare To Remote Document Version & Merge соответственно либо нажмите кнопку Compare & Merge на панели PCB CoDesign. После завершения сравнения на панели появится список обнаруженных различий, а в нижней части панели — список обнаруженных конфликтов.

Из списка конфликтов на панели PCB CoDesign можно переходить к соответствующим объектам в рабочей области редактора печатных плат.

  • Нажмите категорию в списке на панели PCB CoDesign, чтобы выделить в рабочей области конфликты из этой категории.

  • Нажмите конкретный конфликт в списке на панели PCB CoDesign, чтобы выделить в рабочей области только этот конфликт.

  • Используйте Shift+Click и/или Ctrl+Click для выбора нескольких записей на панели.

Для каждого обнаруженного конфликта или всех обнаруженных конфликтов в определенной категории можно выбрать, какие изменения следует применить: локальные (Local) или изменения из последнего коммита в рабочем пространстве (Remote). Также можно быстро применить нужную настройку ко всем выбранным записям об изменениях. Для этого выберите нужные записи с помощью Shift+Click и/или Ctrl+Click, а затем задайте нужную настройку для одной из выбранных записей. Кроме того, можно воспользоваться раскрывающимся списком на панели в верхней части области обнаруженных конфликтов, чтобы выбрать нужный режим сразу для всех обнаруженных конфликтов.

  • Для конфликтующих полигональных заливок также можно объединить два конфликтующих объекта в одну полигональную заливку (Combined). 

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

Перемещаться по списку конфликтов можно с помощью клавиш Up Arrow / Down Arrow. Для переключения режимов (Combined/Local/Remote) для выбранного конфликта используйте клавиши Left Arrow/ Right Arrow. Когда выбрана категория конфликтов, нажмите Spacebar, чтобы развернуть или свернуть ее.

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

  • При объединении полигональных заливок и выборе варианта Combined или Remote учитывайте, что объединенный полигон необходимо перезалить (например, щелкнув полигон правой кнопкой мыши в рабочей области проекта и выбрав Polygon Actions » Repour Selected в контекстном меню). Если параметр Repour Polygons After Modification включен на странице PCB Editor – General диалогового окна Preferences, полигональная заливка будет автоматически перезалита после объединения.

  • При формировании списка обнаруженных конфликтов игнорируются следующие свойства:

    • Свойство PourIndex полигональных заливок.

    • Свойство ChannelOffset компонентов.

    • Свойство RulePriority правил.

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

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

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

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

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

Contents