PCB CoDesign
Как говорится, вместе и работа спорится. Одна из давних мечт разработчиков плат — возможность, чтобы несколько человек могли одновременно работать над одной и той же платой. Хотя для непосвящённого эта задача может выглядеть не слишком сложной — «взять трассировку Боба с того участка платы и перенести в мою копию платы» — на практике для её реализации требуется сочетание нескольких ключевых возможностей.
К ним относятся:
-
Система, которая предоставляет нескольким разработчикам доступ к одному и тому же проекту PCB, чтобы они могли работать и сохранять собственные изменения, не затрагивая работу других разработчиков.
-
Механизм для точного сравнения и выявления различий между версиями одной и той же платы.
-
Инструменты для разрешения обнаруженных различий, позволяющие разработчику выбрать, чьи изменения будут приняты.
-
Инструменты, которые могут автоматически обрабатывать большое количество различий и устранять их без создания конфликтов.
Для решения этих задач Altium Designer предоставляет функции PCB CoDesign, которые позволяют исследовать различия между ревизией платы, которую вы извлекли (checked out) из Workspace, и последней доступной в Workspace ревизией этой же платы. Функциональность PCB CoDesign может обнаруживать изменения в данных, хранящихся в документе PCB: компоновка платы, свойства объектов, стек слоёв, правила проектирования и ограничения.
Если обнаружены какие-либо конфликты, вы можете выбрать — сохранить локальные изменения или принять удалённые изменения из последнего коммита, а затем выполнить слияние, чтобы уверенно устранить пересечения в проектировании.
Функции PCB CoDesign доступны и управляются через панель PCB CoDesign . Для этого требуется, чтобы проект PCB в данный момент находился под контролем версий подключённого Workspace.
Рабочий процесс сравнения и слияния
Всякий раз, когда 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 и нажав кнопку Compare, Compare 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 в уведомлении, которое появляется в нижней части рабочей области проектирования.
После завершения сравнения обнаруженные различия будут перечислены на панели PCB CoDesign . Список показывает различия, обнаруженные между базовой ревизией документа PCB (ревизией, которую вы извлекли) и последней ревизией в Workspace (с изменениями, выполненными другим пользователем).
Список различий сгруппирован по категориям: Rules, Components, 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).
Используйте настройки, доступные по нажатию элемента управления
в верхней части панели, чтобы настроить отображение изменений.
-
Включите опцию Show on PCB (сочетание клавиш:
Ctrl+Shift+A), чтобы подсвечивать различия в рабочей области документа PCB. -
Когда опция Show on PCB включена, вы также можете включить опцию Zoom selected object, чтобы выполнять кросс-навигацию к затронутому объекту в рабочей области при щелчке по записи различия на панели PCB CoDesign . Используйте ползунок, чтобы настроить коэффициент масштабирования, применяемый для приближения к выбранному объекту.
Вы также можете переключаться между текущим состоянием и состоянием до внесения каких-либо изменений, удерживая сочетание клавиш Shift+B . Подсказка на панели показывает, какое состояние активно в данный момент.
Нажмите кнопку
в нижней части панели, чтобы объединить все обнаруженные различия. Появится всплывающее окно, показывающее, что выполняется объединение. Обратите внимание: различия будут объединены в вашу локальную рабочую копию PCB-документа, которую нужно сохранить в Workspace, чтобы она стала доступна другим разработчикам.
После объединения изменений VCS-статус PCB-документа на панели Projects изменится на Merged, с значком
. Нажмите этот значок, чтобы сохранить проект в Workspace или отменить локальные изменения.
Проект также можно сохранить в Workspace с панели Projects, используя элемент управления Save to Server рядом с именем проекта, или с панели PCB CoDesign , используя кнопку Save to Server .
Разрешение конфликтов
Другой способ работы — трёхстороннее сравнение (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 , затем выберите требуемую настройку для одной из записей в выделении. Либо используйте выпадающий список в области баннера в верхней части области обнаруженных конфликтов, чтобы сразу выбрать нужный режим для всех обнаруженных конфликтов.
По списку конфликтов можно перемещаться с помощью клавиш Up Arrow / Down Arrow . Используйте клавиши Left Arrow/ Right Arrow , чтобы переключаться между режимами (Combined/Local/Remote) для выбранного конфликта. Когда выбрана категория конфликтов, нажмите Spacebar , чтобы развернуть/свернуть её.
После выбора нужного режима для всех конфликтов можно объединить изменения в вашу локальную копию PCB-документа.







).

