PCB CoDesign

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

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

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

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

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

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

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

Если обнаружены какие-либо конфликты, вы можете выбрать — сохранить локальные изменения или принять удалённые изменения из последнего коммита, а затем выполнить слияние, чтобы уверенно устранить пересечения в проектировании.

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

Функциональность PCB CoDesign доступна, когда включена опция PCB.CollaborativeEditing в диалоговом окне Advanced Settings dialog.

  • Для использования этой функции необходимо быть подключённым к Workspace.

  • Обратите внимание: поддерживаются только проекты, размещённые в репозитории Git. Чтобы использовать функции PCB CoDesign при работе с проектом, размещённым в репозитории SVN, его необходимо сначала мигрировать в репозиторий Git. Когда проект хранится во внешнем репозитории SVN и зеркалируется в Workspace Altium 365 с использованием схемы Simple Sync, либо когда проект хранится в репозитории SVN, управляемом через Version Control Service Workspace Enterprise Server, вы можете мигрировать этот проект во встроенный Git-репозиторий Workspace. Подробнее см. Moving from External VCS to Workspace Native VCS и Moving from the Workspace's SVN to the Workspace's Git.

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

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

Рабочий процесс сравнения и слияния

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

  • нажав значок статуса VCS на панели 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  и нажав кнопку CompareCompare To Remote Document Version или Compare & Merge 

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

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

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

Javascript ID: PCBCoDesign_CompareMerge_AD24_7

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

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

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

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

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

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

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

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

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

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

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

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

Цветовая кодировка позволяет видеть, какие объекты были добавлены, изменены, удалены или не изменялись (неизменённые объекты соединения «pin-to-pin», когда оно выбрано на панели PCB CoDesign).

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

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

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

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

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

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

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

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

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

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

Javascript ID: PCBCoDesign_States_24_7

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

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

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

  • PCB-документ останется в состоянии Merged до появления нового конфликта. Локальное сохранение изменений не переведёт состояние в Modified.

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

     

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

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

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

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

Другой способ работы — трёхстороннее сравнение (3-way), которое используется, если над платой работает кто-то ещё. Представьте сценарий: вы и ваш коллега Боб извлекаете (check out) копию платы из Workspace. Вы оба работаете со своей копией платы, размещая компоненты и выполняя трассировку. Боб завершает участок платы, за который он отвечает, и сохраняет его обратно в Workspace. В то же время вы также работаете над своим участком платы и сохраняете изменения локально. Это создаёт конфликтную ситуацию, которую можно обработать с помощью панели PCB CoDesign .

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

Можно выполнять кросс-навигацию (cross-probe) от конфликтов, перечисленных на панели PCB CoDesign, к рабочей области редактора PCB.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Content