Самая распространённая задача при переходе от схемы к проектированию PCB — поддерживать соответствие или синхронизацию между схемой и платой. Независимо от того, переносите ли вы впервые захваченный проект на новую PCB или вносите изменения в существующий проект — как со стороны схемы, так и со стороны PCB — вам нужен способ держать обе стороны синхронизированными. Altium Designer включает мощные средства синхронизации проекта, которые упрощают задачу поддержания синхронизации и позволяют разработчику сосредоточиться на творческих аспектах процесса проектирования.
Процесс синхронизации обнаруживает и устраняет различия между схемой и PCB.
Синхронизация выполняется напрямую между редакторами схемы и PCB; промежуточный документ наподобие нетлиста не используется. Программа применяет механизм сравнения (comparator engine), чтобы сопоставить все аспекты проекта и вывести результат в виде списка различий. Разработчик решает, какая сторона должна измениться для устранения расхождений, после чего формируется набор Engineering Change Orders (ECO). После их применения обе стороны проекта снова оказываются синхронизированы.
Существует два подхода к выполнению синхронизации:
-
Двунаправленная синхронизация, при которой различия можно обновлять одновременно в обоих направлениях, используя команду Project » Show Differences (как показано выше). Подробнее об этом подходе см. в разделе Finding Differences.
-
Однонаправленная синхронизация с использованием команд Design » Update PCB или Design » Update Schematic. Подробнее об этом подходе см. в разделе Performing a Direct Update.
Перед переносом информации со схемы на новую PCB крайне важно, чтобы были доступны все связанные библиотеки — как для условных графических обозначений (schematic symbols), так и для посадочных мест (PCB footprints).
Что можно синхронизировать?
Процесс синхронизации гарантирует, что данные о компонентах и соединениях на схеме соответствуют данным о компонентах и соединениях на PCB. Помимо компонентных и соединительных данных, синхронизация также обеспечивает согласованность других ограничений проекта, таких как классы цепей (net classes), классы компонентов (component classes) и правила проектирования (design rules).
Настройка параметров сравнения (Comparator Options)
Dialog page: Options for PCB Project, Comparator tab
То, какие именно what данные схемы и PCB сравниваются, настраивается на вкладке Comparator tab в диалоге Options for PCB Project. Выберите Project » Project Options, чтобы открыть этот диалог.

Механизм сравнения учитывает настройки, заданные на вкладке Comparator в диалоге Options for Project.
Основная область диалога содержит большой список типов сравнения (Comparison Types), например Different Designators и Changed Net Name, сгруппированных в 5 категорий. В правом столбце Mode для каждого типа есть выпадающий список, где выбирается режим сравнения, например Find Differences или Ignore Differences. Для сравнений текстового типа есть третий вариант — сравнение без учёта регистра.
По умолчанию для нового проекта для каждого типа сравнения установлен режим Find Differences; при необходимости настройте параметры под ваш проект.
-
Для синхронизации «схема → PCB» можно синхронизировать все детали, относящиеся к PCB.
-
Для синхронизации «PCB → схема» обратно на схему можно синхронизировать только изменения, сделанные в позиционном обозначении компонента (designator), комментарии (comment) и посадочном месте (footprint). Единственные изменения цепей (net), которые можно синхронизировать, — это изменения, возникающие из-за операции перестановки выводов или частей (pin/part swap); то, как это выполняется, зависит от настроек параметров pin/part swap. Подробнее см. на странице Pin and Part Swapping.
В нижней части диалога есть параметры для задания Object Matching Criteria. Сопоставление (matching) — это сложный многоэтапный процесс, который не опирается на простое точное сравнение строк. Подробнее см. в разделе Matching the Nets and Classes .
Обратите внимание на параметр Ignore Rules Defined in the PCB Only в нижней части диалога: включите его, чтобы исключить правила, определённые вами в PCB, из процесса сравнения.
Синхронизация классов цепей и компонентов
Dialog page: Options for PCB Project, Class Generation tab
Помимо данных о компонентах и соединениях, при выполнении Design » Update PCB вы также можете генерировать и синхронизировать классы и правила проектирования.
Синхронизация правил проектирования
Правила проектирования можно задавать на схеме с помощью объекта Parameter Set. Когда объект Parameter Set выбран, панель Properties или модальный диалог содержит область Rules. Нажмите выпадающий список Add, чтобы добавить правило проектирования. Правило будет применено к цепи / шине / жгуту / объектам под blanket, которых касается объект Parameter Set.
На изображении ниже правило-ограничение ширины (width constraint) применяется к классу цепей USB_data (сам класс цепей также определяется как часть этого Parameter Set — в области Classes выпадающего списка Parameters ).

Parameter Set используется для определения класса цепей и правила проектирования для цепей, находящихся под объектом schematic blanket. Обратите внимание: требуемые единицы измерения настраиваются в нижней части диалога Edit PCB Rule.
Adding a Design Rule in the schematic
-
Присоедините Parameter Set к цепи / шине / жгуту / blanket (при необходимости добавьте в Parameter Set определение Net Class).
-
AddДобавьте определение Rule в Parameter Set. Это откроет диалог Choose Design Rule Type, как показано выше.
-
Выберите требуемый Rule Type.
-
Нажмите кнопку OK, чтобы открыть диалог Edit PCB Rule.
-
Настройте требования к правилу PCB нужным образом. Обратите внимание: единицы измерения для этого правила PCB выбираются в нижней части диалога.
На вкладке Comparator диалога Options for Project убедитесь, что включены сравнения нужных типов правил (Rule type comparisons), чтобы можно было добавлять и обновлять правила проектирования в PCB.
Каждое правило PCB, созданное из определения правила на схеме, автоматически получает имя Schematic <RuleType>. При необходимости это имя можно отредактировать, поскольку оно не используется для ongoing rule synchronization.
И на изображении выше, и на изображении ниже правило проектирования задано в объекте Parameter Set, прикреплённом к blanket. Если включить в объект Parameter Set определение Class, будет также создан класс цепей PCB, и поскольку определение класса присутствует, область действия (scope) правила PCB будет InNetClass('<PCB_NetClassName >').
На изображении ниже вы заметите, что объект Parameter Set отображается как директива Differential Pair. Это особый тип объекта Parameter Set, размещаемый командой Place » Directives » Differential Pair.

Директива Differential Pair используется для определения класса цепей и правила проектирования, которое затем применяется к целевым дифференциальным парам.
Работа с дифференциальными парами
Директива Differential Pair используется для указания цепей, принадлежащих дифференциальной паре. Программа требует, чтобы цепи в паре были названы <Name>_P и <Name>_N. Тогда дифференциальная пара на PCB будет называться <Name>.
Пары можно определить, разместив директиву Differential Pair на каждом участнике дифференциальной пары, либо можно разместить blanket так, чтобы он перекрывал имена цепей пары, как показано на изображении выше.
Ссылаясь на изображение выше, объект Parameter Set для дифференциальной пары приводит к созданию:
-
Восьми дифференциальных пар с именами
V_RX0, V_TX0, V_RX1, V_TX1, RX0, TX0, RX1, TX1.
-
Класса цепей PCB с именем
ROCKET_IO_LINES.
-
Правила проектирования
Differential Pairs Routing, настроенного на применение к классу цепей PCB ROCKET_IO_LINES.
Настройка параметров генерации ECO (ECO Generation Options)
Диалог Options for Project также содержит вкладку ECO Generation. Эта вкладка определяет, для каких модификаций проекта могут создаваться ECO. Обычно включены все пункты, а параметры на вкладке Comparator этого диалога используются для настройки того, какие изменения проекта должны синхронизироваться между схемой и PCB.

Вкладка ECO Generation определяет, для каких типов модификаций могут создаваться ECO.
Поиск различий
Функция синхронизации проекта способна обнаруживать и устранять различия в обоих направлениях: со схемы на PCB или с PCB обратно на схему.
Существует два подхода к обнаружению и устранению различий:
-
Назначить направление обновления для каждого изменения.
-
Применить все обновления в одном направлении.
Если вам не нужно применять обновления в обоих направлениях одновременно, то вам не требуется проходить процесс выбора документов для сравнения и настройки направления обновления для устранения различий. В этом случае можно сразу перейти к разделу Performing a Direct Update.
Программа способна устранять эти различия, применяя изменения к обеим сторонам одновременно. Например, представьте ситуацию, когда разработчик электроники изменил номинал конденсатора, а разработчик PCB изменил посадочное место этого же конденсатора. Эти два различия можно устранить за один процесс обновления, применив изменение комментария как обновление «схема → PCB», а изменение посадочного места — как обновление «PCB → схема».
Когда механизм сравнения сопоставляет проект схемы с PCB, формируется полный список различий — на этом этапе не предполагается, какая сторона должна быть изменена, чтобы вернуть их в синхронное состояние.
Список различий можно увидеть в диалоге Differences between.
Options and Controls of the Differences between Dialog
Диалог по сути разделён на три основные области — Differences, Update и Change Order.
Differences
В этой области диалога перечислены все различия, которые Comparator обнаружил между выбранными документами. Каждое различие отображается в соответствующем столбце для документа, в котором оно находится. Различия сгруппированы по типу сравнения, как указано и включено на вкладке Comparator tab диалога Project Options . Запись на уровне группы отражает количество различий данного типа.
Дважды щёлкните по записи, чтобы выполнить кросс‑пробинг к объекту в соответствующем исходном документе.
Используйте команды Expand All и Contract All в контекстном меню (по правому щелчку), чтобы быстро развернуть или свернуть все записи. Также можно разворачивать или сворачивать отдельные группы типов сравнения с помощью элементов управления +/- слева от каждой записи.
При сравнении иерархии проекта с его PCB‑документом столбец со стороны проекта будет помечен именем схемного листа верхнего уровня.
Update
Используйте эту область диалога, чтобы указать, какой документ следует обновить для устранения различия. По умолчанию для всех Decision записей изначально установлено решение No Change .
Даже если различия обнаружены, вы не обязаны предпринимать какие‑либо действия. Программа синхронизирует только те элементы, которые вы укажете.
Решение по обновлению для каждого различия можно определить индивидуально, щёлкнув по соответствующей записи в столбце Decision , затем выбрав требуемое действие обновления в появившемся диалоге
ECO Decision dialog. Просто выберите направление обновления (какой из сравниваемых документов обновлять) либо No Updates вообще.
Диалог ECO Decision показывает, допустимо ли обновление в конкретном направлении. Если допустимо, соответствующие стрелки активны. Если изменение не поддерживается, соответствующая кнопка для этого направления обновления будет неактивна (серого цвета).
Change Order
В этой области диалога перечисляются (для каждого различия, по которому вы решили выполнить действие) действие, которое нужно выполнить, объект, на который оно влияет, и документ, в котором это действие будет выполнено. Именно эта информация используется для формирования последующего ECO, который будет применён для создания обновлений. Типичные действия, которые будут перечислены в этой области:
-
Remove - если обновление выполняется в направлении документа, содержащего объект, вызывающий различие; объект будет удалён.
-
Add - если обновление выполняется в направлении документа, не содержащего объект, вызывающий различие; объект будет добавлен.
-
Update - если оба документа содержат один и тот же объект, но он отличается; какой объект будет изменён, зависит от выбранного направления.
Если Update Decision — No Change, никаких действий выполняться не будет, что отражается в записи Change Order No Action.
Right-click Menu
-
Create Change Order — используйте для создания Engineering Change Order (ECO).
-
Generate Report — используйте для формирования отчёта по различиям, найденным Comparator. Принятые вами решения по обновлению и действия будут включены в сформированный ECO. Отчёт будет загружен в диалог Report Preview. Используйте этот диалог для просмотра отчёта, а затем экспортируйте его в один из поддерживаемых форматов или распечатайте напрямую.
-
<< Update All in — используйте для установки направления обновления для всех различий в левый документ (где применимо).
-
Update All in >> — используйте для установки направления обновления для всех различий в правый документ (где применимо).
-
Reverse Direction For All — используйте, чтобы быстро инвертировать направление обновления для всех различий (где применимо). Если изменить направление для различия недопустимо, запись будет установлена в No Change.
-
Set No Action For All — используйте, чтобы быстро установить решение по обновлению для всех различий в No Change.
-
<< Update Same Kind in — используйте для установки направления обновления для всех различий того же типа сравнения, что и текущая выделенная разница, в левый документ (где применимо).
-
Update Same Kind in >> — используйте для установки направления обновления для всех различий того же типа сравнения, что и текущая выделенная разница, в правый документ (где применимо).
-
Reverse Direction For Same Kind — используйте, чтобы быстро инвертировать направление обновления для всех различий того же типа сравнения, что и текущая выделенная разница, где применимо. Если изменить направление для различия недопустимо, запись будет установлена в No Change.
-
Set No Action For Same Kind — используйте, чтобы быстро установить направление обновления для всех различий того же типа сравнения, что и текущая выделенная разница, в No Change.
-
<< Update Selected in — используйте для установки направления обновления для всех выбранных различий в левый документ (где применимо).
-
Update Selected in >> — используйте для установки направления обновления для всех выбранных различий в правый документ (где применимо).
-
Reverse Direction For Selected — используйте, чтобы быстро инвертировать направление обновления для всех выбранных различий (где применимо). Если изменить направление для различия недопустимо, запись будет установлена в No Change.
-
Set No Action For Selected — используйте, чтобы быстро установить решение по обновлению для всех выбранных различий в No Change.
-
Invert Selection — используйте, чтобы выбрать все различия, которые сейчас не выделены в списке, или снять выделение с тех, что выделены.
Можно выбрать несколько различий в списке, используя стандартные приёмы множественного выбора (Ctrl+click, Shift+click).
Обновление в конкретном направлении будет установлено только в том случае, если это допустимо.
Additional Controls
В нижней части диалога доступны следующие кнопки:
-
Create Engineering Change Order — нажмите эту кнопку, чтобы сформировать ECO. Появится диалог Engineering Change Order, в котором можно проверить и выполнить обновления для синхронизации документов.
-
Report Differences — нажмите эту кнопку, чтобы сформировать отчёт по различиям, найденным Comparator. Принятые вами решения по обновлению и действия будут включены в сформированный ECO. Отчёт будет загружен в диалог Report Preview. Используйте этот диалог для просмотра отчёта перед тем, как экспортировать его в один из поддерживаемых форматов или распечатать напрямую.
-
Explore Differences — нажмите эту кнопку, чтобы подробнее изучить различия, найденные Comparator, до формирования ECO. Диалог Differences between закроется, и вы вернётесь в основное рабочее пространство с открытой панелью Differences panel. Панель будет содержать все различия, перечисленные Comparator, и в тех же категориях. Используйте панель для кросс‑пробинга к объекту, ответственному за различие, в его родительском документе.
При таком способе изучения различий все решения по обновлению, которые вы сделали в диалоге Differences between, будут потеряны. Вам потребуется снова открыть диалог и заново определить обновления по мере необходимости. В качестве альтернативы можно выполнить кросс‑пробинг к объекту прямо из диалога Differences between. Дважды щёлкните запись объекта в области Differences диалога. Поскольку диалог Differences between остаётся открытым, рекомендуется держать исходный и целевой документы открытыми и расположить диалог так, чтобы он не перекрывал обзор.
Чтобы открыть диалог Difference between и увидеть список различий:
-
Чтобы открыть диалог Choose Documents to Compare, как показано на изображении ниже, выполните команду Project » Show Differences или щёлкните правой кнопкой мыши по записи нужного проекта (или одного из его исходных документов) на панели Projects и выберите команду Show Differences в контекстном меню. Диалог Choose Documents to Compare используется для выбора двух документов/наборов документов, которые будут сравниваться; обычно это проект схемы и PCB. Также этот диалог можно использовать для сравнения любого документа с любым документом, установив флажок Advanced Mode. Например, можно сравнивать нетлист с PCB или PCB с PCB.
Как правило, настройки диалога по умолчанию — как в базовом, так и в расширенном режимах — подходят для большинства задач сравнения, когда исходные документы и целевой PCB‑проект нужно сравнить с целью достижения синхронизации. Однако диалог позволяет сравнивать и другие документы, что может быть полезно, если нужно загрузить версии проекта и сравнить различия между соответствующими исходными документами.

Выберите PCB, с которым нужно сравнить проект схемы.
-
Выберите PCB в основной части диалога и нажмите OK, чтобы открыть диалог Difference between, как показано ниже. Если PCB‑документ в данный момент синхронизирован с исходными документами, появится диалог с сообщением о том, что различий не обнаружено.
Откроется диалог Differences between. Synchronizer является двунаправленным. Это означает, что вы можете задать обновления для обоих документов в рамках одного ECO. Для синхронизации сравниваемых документов цель состоит в том, чтобы для каждого различия определить, нужно ли предпринимать действие и в каком направлении выполнять изменение — указав, какой документ следует обновить для устранения различия. Следующий шаг — назначить направление обновления для каждого различия:
-
Для отдельного различия щёлкните в столбце Update, чтобы отобразить селектор направления, как показано на изображении ниже.
- Для нескольких различий одного и того же типа щелкните правой кнопкой мыши по заголовку, например Different Footprints, и выберите требуемую команду Update Same Kind.
-
Для всех различий щелкните правой кнопкой мыши в любом месте диалога и выберите требуемую команду Update All.

Для каждого различия необходимо задать направление Update, чтобы был создан ECO для устранения этого различия.
Нажмите кнопку Explore Differences, чтобы открыть панель Differences и изучить различия, как описано ниже в разделе Exploring Design Changes with the Differences Panel.
Поскольку доступ к панели Differences таким способом закрывает диалог Differences between, все уже принятые решения по обновлению будут потеряны. Поэтому лучше изучить различия до принятия решений по обновлению. В качестве альтернативы можно выполнить перекрестную подсветку (cross probe) к объекту прямо из диалога Differences between , дважды щелкнув запись объекта в области Differences диалога.
Нажмите Report Differences для настройки и печати/экспорта отчета по различиям, найденным Comparator, указанным решениям по обновлению и действиям, которые будут включены в сформированный ECO.
После назначения направления Update нажмите кнопку Create Engineering Change Order, чтобы открыть диалог Engineering Change Order, который описан ниже в разделе Resolving Differences - Applying the ECOs.
Exploring Design Changes with the Differences Panel

Панель Differences отображает иерархическое представление различий между документами.
Summary
Панель Differences используется для отображения логических или физических различий, обнаруженных встроенным в ПО Differences Comparator при сравнении проектных документов (например, при сравнении иерархии исходных документов (схем) проекта с документом PCB). Панель позволяет интерактивно изучить различия до принятия решения о создании Engineering Change Order (ECO), который будет использован для синхронизации документов проекта.
Panel Access
Чтобы открыть панель Differences :
-
Выберите View » Panels » Differences в главном меню.
-
Нажмите кнопку Panels в правом нижнем углу рабочей области проектирования, затем нажмите Differences.
Панели можно настроить как плавающие в области редактора или закрепленные по краям экрана. Если панель Differences сейчас находится в группе закрепленных панелей, используйте вкладку Differences, расположенную внизу панелей, чтобы вывести ее на передний план.
Displaying Differences
То, как применяется панель Differences , зависит от того, какова цель:
-
Проанализировать целостность всего проекта с точки зрения его содержимого и структуры, обнаруживая логические различия в иерархии проекта.
-
Сравнить две версии одного и того же документа Schematic или PCB, обнаруживая их графические (физические) различия.
Панель
Differences заполняется при использовании функции
Explore Differences Differences Comparator в диалоге
Differences between, который открывается щелчком правой кнопкой мыши в панели
Projects, затем выбором
Show Differences.
Displaying Logical Differences
Сравнение документов проекта на логические различия выполняется в диалоге Choose Documents To Compare, который вызывается щелчком правой кнопкой мыши по проекту (или документу проекта) в панели Projects panel, затем выбором Show Differences в соответствующем контекстном меню.

Щелкните правой кнопкой мыши по имени проекта и выберите Show Differences, чтобы открыть диалог Choose Documents To Compare.
Обычно документ PCB сравнивают с иерархией исходных документов родительского проекта, чтобы обнаружить логические различия между содержимым схемы и содержимым PCB.
После нажатия OK, если между указанными документами есть различия, откроется диалог Differences between. Информация в панели Differences появится только после нажатия кнопки Explore Differences в диалоге Differences between.
Панель Differences будет отображать только те различия, которые перечислены в диалоге Differences between. Они, в свою очередь, определяются выбором, сделанным на вкладке Comparator tab диалога Project Options (Project » Options). На этой вкладке перечислены все типы сравнения, например различия, связанные с Components, Nets и Parameters. Установка Mode для каждой категории сравнения между Find Differences или Ignore Differences определяет, передаст ли Differences Comparator результаты в диалог Differences between .

Настройте, как различия обнаруживаются и формируются в отчете, в диалоге Project Options .
Панель Differences отображает найденные различия между исходными документами в древовидной структуре, где папка верхнего уровня показывает общее количество обнаруженных различий. Затем создаются подпапки для каждого конкретного типа сравнения, который присутствует в диалоге Differences between. Каждая подпапка перечисляет конкретные найденные различия, которые, в свою очередь, далее разбиваются на объекты в документах, ответственные за возникновение этих различий.
Если соответствующий документ открыт (или открыт и скрыт), щелчок по записи объекта в панели выполнит cross-probe к объекту в документе.
Визуальное отображение объекта использует эффект масштабирования и затемнения: объект подсвечивается за счет затемнения всех остальных объектов. Контраст затемнения можно изменять с помощью ползунка Dimming , расположенного в области Highlight Methods страницы System - Navigation диалога Preferences .
Displaying Physical Differences
Графическое (физическое) сравнение двух версий одного и того же документа схемы или PCB выполняется в целом так же, как и логическое сравнение, описанное выше, но также использует Advanced Mode в диалоге Choose Documents To Compare.
Выполните физическое сравнение документа с помощью команды Show Differences (контекстное меню панели Projects, вызываемое правой кнопкой мыши), чтобы открыть диалог Choose Documents To Compare, затем установите флажок Advanced Mode. После того как все файлы проекта будут показаны в диалоге, выберите две вариации документа для сравнения.

Выбор документов для физического сравнения из диалога Choose Documents To Compare в Advanced Mode.
Нажатие OK продолжит графическое сравнение и откроет диалог Differences between, как описано ранее. Нажмите Explore Differences, чтобы открыть интерактивный список различий в панели Differences.
Панель отображает найденные различия между документами в древовидной структуре. Папка верхнего уровня показывает общее количество обнаруженных различий. Создаются записи для каждого типа различий, которые, в свою очередь, содержат конкретные ссылки и объект (порт, компонент и т. п.), участвующий в каждом случае.
Выбор записи объекта для обнаруженного различия подсветит объект и выполнит масштабирование к нему в рабочей области редактора.
Notes
-
Если объект в панели находится в документе, который сейчас скрыт, документ будет автоматически открыт и сделан активным в окне редактора проектирования при щелчке по соответствующей записи.
-
Фильтрация, применяемая при cross-probing из панели Differences , является временной. Поэтому вы не ограничены в выборе или редактировании объектов проектирования, которые выходят за рамки фильтра.
-
Информация в панели Differences будет очищена при выполнении нового сравнения документов или компиляции родительского проекта.
-
Используйте команду Project » Show Physical Differences из главного меню, чтобы обнаружить физические различия между двумя версиями документа схемы или PCB и представить эти различия графически при просмотре двух документов бок о бок в рабочей области. Функция Show Physical Differences предлагает исключительно визуальное сравнение — ни один из сравниваемых документов не может быть обновлен путем генерации ECO. Она предназначена для сравнения двух версий одного и того же документа, но если запустить ее для сравнения разных документов, например исходной иерархии проекта с PCB, появится панель Differences со списком обнаруженных логических различий.
Performing a Direct Update
Поскольку проектировщик обычно знает, в каком направлении он хочет применить обновления, и эти обновления все направлены в одну сторону, можно пропустить процесс обнаружения различий и назначения направления, который только что был описан.
Вместо выбора команды Show Differences из меню Project выберите команду Update из меню Design — либо в редакторе схем, либо в редакторе PCB. Выбор редактора, из которого запускается команда, указывает направление, в котором вы хотите внести изменения — из редактора this в редактор that. Например, в редакторе схем вы выберете Design » Update, чтобы передать все изменения со схемы на PCB.
Активный документ PCB также можно синхронизировать с любыми изменениями, внесенными в исходные документы схем, выбрав команду Design » Import Changes from <ProjectName> в главном меню редактора PCB.
Диалог Differences between будет пропущен, и вы сразу перейдете к диалогу Engineering Change Order.
Если все обновления будут применяться в одном направлении, используйте команду Design » Update.
Если документ PCB в данный момент синхронизирован с исходными документами, появится диалоговое окно с сообщением о том, что различий не обнаружено. И наоборот, при обновлении схем также возможно, что некоторые или ни одно из обнаруженных различий не могут быть устранены автоматически сгенерированными ECO. В этом случае вам будет предложено просмотреть эти различия через диалог
Differences between dialog. Хотя внесение изменения в направлении схем может быть невозможно, может оказаться, что вам нужно обновить PCB (например, удалив объект или сущность). После просмотра различий, если вам удастся устранить некоторые или все из них, вы можете сгенерировать ECO. Если останутся различия, которые нельзя устранить через диалог, вам нужно будет вернуться к проекту, чтобы исправить проблемы, прежде чем снова запускать сравнение.
Устранение различий — применение ECO
Каждое различие устраняется применением Engineering Change Order (ECO). ECO перечислены в диалоге Engineering Change Order — по одному ECO в строке, каждый со своим флажком Enable.
При работе с диалогом Engineering Change Order:
-
Диалог открывается с включенными всеми изменениями; отключите те изменения, которые вы хотите пока отложить. Диалог поддерживает множественный выбор — используйте контекстное меню правой кнопки мыши, чтобы переключать состояние включения для выбранных ECO.
-
Используйте команду Cross Probe из контекстного меню правой кнопки мыши, чтобы просмотреть объекты, затронутые данным ECO.
-
Используйте кнопку Validate Changes, чтобы проверить, что изменения могут быть выполнены. ECO обычно завершаются неудачей, потому что объект недоступен — например, указанный посадочный рисунок PCB не существует в Available File-based Libraries, или указанный пад отсутствует в посадочном месте.
-
ECO также может завершиться неудачей, если объект, необходимый для определенного ECO, отсутствовал, но был добавлен в процессе обработки текущих ECO. В этой ситуации снова выполните команду Update, чтобы завершить этот ECO.

Каждое изменение проекта представлено как ECO — включите те, которые требуются.
Options and Controls of the Engineering Change Order Dialog
Диалог разделен на две основные области: Modifications и Status.
Изменения
Эта область диалога перечисляет все модификации, необходимые для реализации изменений, требуемых для синхронизации. Модификации сгруппированы по типу модификации, как указано и включено в диалоге Project Options - ECO Generation dialog. Запись на уровне группы отражает количество модификаций данного типа. Каждая конкретная модификация в этой области описывается следующими пунктами:
-
Enable - этот параметр определяет, будет ли модификация включена при выполнении ECO. Нажмите непосредственно на флажок, чтобы переключить его состояние между включено/включено в выполнение (установлен) и отключено/исключено (снят). Вы можете переключать флажок Enable с помощью пробела.
-
Action - конкретное действие, которое нужно выполнить. Типы действий зависят от того, какой тип ECO требуется.
-
Affected Object - объект, затронутый действием.
-
Affected Document - документ, в котором будет выполнено действие.
В списке можно выбрать несколько модификаций, используя стандартные приемы множественного выбора (Ctrl+click, Shift+click).
Если для
Mode типа модификации установлено значение
Ignore Differences на вкладке
ECO Generation tab диалога
Project Options, любое обновление проекта, приводящее к действию этого типа модификации, не будет передано в диалог
Engineering Change Order .
Меню правой кнопки мыши
По умолчанию все модификации включены для выполнения при запуске ECO. Включайте/отключайте каждую запись модификации по мере необходимости — либо по одной, либо используйте следующие команды из меню правой кнопки мыши, чтобы изменить состояние включения сразу для нескольких модификаций:
-
Validate Changes - нажмите, чтобы выполнить проверку (validation) модификаций, включенных для выполнения в ECO. Результаты проверки появятся в столбце Check в области Status диалога.
-
Execute Changes - нажмите, чтобы выполнить ECO. Результаты выполнения появятся в столбце Done в области Status диалога. Помните: будут выполнены только изменения, прошедшие этап проверки.
-
Create Report - нажмите, чтобы сформировать отчет по модификациям, содержащимся в ECO. Отчет будет загружен в диалог Report Preview.
-
Cross Probe - нажмите, чтобы выполнить cross-probe к целевым и опорным объектам, участвующим в действии модификации, в соответствующих документах схемы и PCB.
-
Expand All - нажмите, чтобы развернуть отображение всех модификаций в списке.
-
Contract All - нажмите, чтобы свернуть отображение всех модификаций в списке.
Вы также можете разворачивать или сворачивать отдельные группы модификаций с помощью элементов управления +/- слева от записи.
-
Enable All - используйте, чтобы включить все модификации.
-
Disable All - используйте, чтобы отключить все модификации.
-
Enable Selected - используйте, чтобы включить все выбранные модификации.
-
Disable Selected - используйте, чтобы отключить все выбранные модификации.
-
Enable all of same Kind - используйте, чтобы включить все модификации того же типа, что и модификация, находящаяся в фокусе.
-
Disable all of same Kind - используйте, чтобы отключить все модификации того же типа, что и модификация, находящаяся в фокусе.
-
Invert Selection - используйте, чтобы быстро выбрать все модификации, которые сейчас не выбраны в списке, и снять выбор с тех, которые выбраны.
Состояние
Эта область диалога отображает следующую информацию о состоянии для каждой включенной модификации:
-
Check - это поле показывает результат выполнения проверки (validation) модификации. Зеленая галочка (
) означает, что предлагаемое изменение поддерживается и будет выполнено при запуске ECO. Красный крест (
) означает, что предлагаемое изменение недопустимо и не будет выполнено при запуске ECO.
-
Done - это поле показывает результат выполнения модификации. Зеленая галочка (
) означает, что допустимая модификация успешно выполнена.
-
Message - если модификация не проходит этап проверки, в этом поле (а также в панели Messages) появится запись с указанием причины сбоя.
Вы можете закрыть диалог на любом этапе, чтобы разобраться, почему некоторые изменения не проходят, и внести необходимые изменения в проект.
Дополнительные элементы управления
Следующие элементы управления доступны в нижней части диалога и в меню правой кнопки мыши:
-
Validate Changes - нажмите, чтобы выполнить проверку (validation) модификаций, включенных для выполнения в ECO. Результаты проверки появятся в столбце Check в области Status диалога.
Важно проверять предлагаемые действия модификаций перед их выполнением. Это проверяет логику предлагаемых изменений.
-
Execute Changes - нажмите, чтобы выполнить ECO и применить содержащиеся в нем допустимые изменения. Результаты выполнения появятся в столбце Done в области Status диалога. Помните, что будут выполнены только изменения, прошедшие этап проверки.
-
Report Changes - нажмите, чтобы сформировать отчет по модификациям, содержащимся в ECO. Отчет будет загружен в диалог Report Preview.
Имейте в виду, что в отчете будут перечислены все записи модификаций независимо от того, прошли ли они проверку и были ли успешно выполнены.
-
Only Show Errors - установите этот параметр, чтобы показывать только ошибки Engineering Change Order. Проверенные изменения отображаться не будут. Отображение только списка ошибок позволит вам быстро просмотреть и внести необходимые изменения в проект, чтобы итоговый ECO полностью проходил проверку.
Сообщения, связанные с компаратором, будут отображаться в панели Messages.
Вы можете включить оптимизированную и ускоренную функциональность обработки ECO. Эта функция находится в Open Beta и доступна, когда параметр WSM.DotNetECOImplementation включен в диалоге Advanced Settings dialog.
Понимание связи между схемой и PCB
Сопоставление компонентов по уникальным идентификаторам
Каждый компонент на схеме связывается со своим компонентом на PCB через Unique Identifier (UID). UID назначается при размещении компонента на листе схемы, и это значение передается компоненту на PCB при переносе проекта в редактор PCB. При первом переносе информации о компонентах между исходными документами схем и пустым документом проекта PCB с использованием Synchronizer все компоненты будут автоматически связаны по уникальному ID — информация ID каждого компонента схемы будет назначена соответствующему посадочному месту компонента.
Эта схема была бы достаточной для простого проекта, но не способна поддерживать многоканальный проект. В многоканальном проекте один и тот же компонент схемы повторяется в каждом физическом канале, что означало бы, что повторяющиеся компоненты PCB имели бы один и тот же UID. Чтобы это учесть, UID для компонента PCB создается путем объединения UID родительского Sheet Symbol и UID компонента схемы. Синтаксис UID на PCB немного меняется в зависимости от того, как был создан многоканальный проект.
Для многоканального проекта, созданного размещением нескольких Sheet Symbol, которые все ссылаются на один и тот же лист схемы, каждый Sheet Symbol может предоставлять уникальный ID, поэтому UID на PCB имеет формат:
\SheetSymbolUID\SchComponentUID
Для многоканального проекта, созданного с использованием ключевого слова Repeat, доступен только 1 UID Sheet Symbol, поэтому UID на PCB также включает значение ChannelIndex, в формате:
\ChannelIndex+SheetSymbolUID\SchComponentUID
UID не отображаются в панелях и диалогах.
Когда компоненты не связаны
Преимущество использования UID для сопоставления компонентов схемы и PCB заключается в том, что это позволяет позиционным обозначениям рассинхронизироваться (например, при многократном выполнении повторной аннотации PCB) без какого‑либо риска того, что схема и PCB станут несинхронизируемыми.
Если на схеме или на PCB присутствует компонент, для которого нет соответствующего компонента (с тем же UID) в другом редакторе, произойдет следующее:
-
Если «лишний» компонент присутствует только в исходном редакторе, будет сформирован ECO на добавление компонента в целевой редактор.
-
Если «лишний» компонент присутствует только в целевом редакторе, будет сформирован ECO на удаление этого компонента.
-
Если несопоставленные компоненты присутствуют в обоих редакторах, программе нужны указания, как с ними поступить, поэтому открывается диалог Failed to Match Unique Identifiers.
The Failed to Match Unique Identifiers диалог
Кнопки диалога имеют следующие варианты:
-
Automatically Create Component Links — нажмите эту кнопку, если вы знаете, что у несопоставленных компонентов уже есть совпадающие позиционные обозначения. По позиционным обозначениям программа назначит этим «лишним» компонентам совпадающие UID. Для компонентов, которые удается сопоставить по обозначению, любые другие различия свойств (например, несовпадающие параметры) приведут к генерации ECO. Если есть компоненты, которые нельзя сопоставить по обозначению, будут сформированы ECO на добавление/удаление (лишние компоненты в исходном редакторе — добавить, лишние компоненты в целевом редакторе — удалить).
-
Manual Component Links — нажмите эту кнопку, если вы знаете, что есть совпадающие компоненты, но не знаете состояние их позиционных обозначений. Откроется диалог Edit Component Links (описан ниже), где можно вручную выбрать каждый исходный и целевой компонент и перенести их в список сопоставленных компонентов, назначив им совпадающие UID. Затем будут сформированы ECO для синхронизации позиционных обозначений (и любых других несоответствующих свойств компонентов).
Рекомендуется, чтобы все компоненты были сопоставлены с использованием уникальных ID, чтобы аннотацию позиционных обозначений в документе схемы или PCB можно было выполнять, зная, что документы в любой момент можно повторно синхронизировать. Документы можно синхронизировать и без сопоставления компонентов по уникальным ID, но в этом случае вам будет предложено сопоставлять компоненты только по позиционным обозначениям — комментарий и посадочное место не учитываются, поэтому возможно некорректное сопоставление некоторых компонентов.
-
Cancel — нажмите эту кнопку, чтобы сформировать ECO на добавление лишних компонентов, присутствующих в исходном редакторе, и удаление лишних компонентов из целевого редактора.
Ручное связывание компонентов
Состояние связей компонентов между компонентами схемы и соответствующими им посадочными местами компонентов на PCB можно в любой момент проверить и управлять им в диалоге Edit Component Links (редактор PCB, команда Projects » Component Links).
Причина, по которой ручное связывание компонентов выполняется only изнутри документа PCB, заключается в том, что обновлять информацию об уникальном ID нужно только у посадочных мест компонентов на PCB — на стороне схемы она уже присутствует.

Диалог Edit Component Links используется для обнаружения и устранения несоответствий UID; он запускается из редактора PCB.
Кратко о возможностях диалога:
-
Несопоставленные компоненты отображаются в двух столбцах Un-Matched Components слева, а компоненты с совпадающим UID — в области Matched Components справа в диалоге.
-
Кнопки со стрелками в середине диалога используются для ручного сопоставления (или рассопоставления) выбранных компонентов, либо для рассопоставления всех текущих сопоставлений.
-
Кнопка Add Pairs Matched By и параметры в нижней части диалога используются для сканирования списка текущих несопоставленных компонентов и попытки сопоставить их по включенным свойствам (Designator, Comment, Footprint).
-
При нажатии кнопки Perform Update каждому вновь сопоставленному компоненту PCB назначается UID его соответствующего компонента на схеме. Если вы переместили какие‑либо записи из раздела Matched диалога обратно в разделы Unmatched , появится диалог подтверждения с предупреждением, что при продолжении будут разорваны существующие связи компонентов. Нажатие Yes продолжит обновление, после чего появится информационный диалог со сводкой измененных связей компонентов в документе PCB. Новая запись в разделе Matched суммируется как Link Modified, а ранее связанная запись, которую вы теперь рассопоставили, суммируется как Link Removed.
-
После использования этого диалога для ручного связывания компонентов рекомендуется проверить состояние синхронизации (выполнить команду Design » Update).
-
Используйте диалог на любом этапе проектирования, чтобы просматривать связи между компонентами и убедиться, что компоненты в исходных документах схемы действительно корректно сопоставлены соответствующим посадочным местам компонентов в проекте PCB.
-
Уникальные ID можно удалить в любой момент, переместив связанные компоненты обратно в несопоставленные области диалога Edit Component Links. Удаление связи компонента удалит уникальный ID только у соответствующего посадочного места на PCB. Компонент на схеме сохраняет уникальный ID, если только не будет сгенерирован новый (с помощью команды сброса, связанной с уникальными ID, на уровне схемы).
-
Уникальный ID также автоматически назначается каждому определению параметра в исходном документе схемы. Это используется для тех параметров, которые были добавлены как директивы правил проектирования. При переносе проекта в документ PCB любые определенные параметры правил будут использованы для генерации соответствующих правил проектирования в PCB. Эти сгенерированные правила получат те же уникальные ID, что позволит изменять ограничения правил как в схеме, так и в PCB и переносить эти изменения при выполнении синхронизации.
-
Если вы копируете/вставляете или вырезаете/вставляете компонент схемы, его UID автоматически обновляется — это гарантирует, что у каждого компонента сохраняется уникальный идентификатор.
-
Если вы реорганизуете схему (которая уже была передана в редактор PCB) и вам нужно переместить компоненты на другой лист, не вырезайте/вставляйте их — выделите их и выполните команду Edit » Refactor » Move Selected Sub-circuit to Different Sheet.
Сопоставление цепей и классов
И цепи (nets), и классы имеют родителя (цепь или класс) и дочерние элементы (члены этой цепи или класса). Их сопоставление требует иного подхода, чем механизм UID, используемый для связывания компонентов, чтобы поддерживать изменения: родителя; дочерних элементов; либо и родителя, и его дочерних элементов. Например, такое простое действие, как изменение имени цепи на схеме, не должно требовать удаления этой цепи и всех ее дочерних выводов с PCB, затем добавления цепи с новым именем и, наконец, добавления всех дочерних выводов в эту новую цепь.
Для этого в программе предусмотрены отдельные алгоритмы сопоставления, которые сопоставляют цепи и классы по их членам, а также по имени. Процесс сопоставления настраивается в разделе Object Matching Criteria вкладки Comparator диалога Options for Project.

Настройка по умолчанию — сначала сопоставлять по членам, затем по имени типа объекта.
Сопоставление для этих типов объектов выполняется следующим образом:
-
Во время синхронизации проекта поведение по умолчанию — сначала попытаться сопоставить по членам в соответствии с настройками Min Match % и Min Match Member.
-
Если сопоставление по членам не удалось, программа затем попытается сопоставить по имени (если включена опция Use Name Matching).
-
Если любой из этих процессов сопоставления успешен, вы перейдете к диалогу Engineering Change Order.
-
Если обе техники сопоставления не сработали (или опция Use Name Matching установлена в
Never), откроется диалог Match Manually.
-
Нажатие No в диалоге Match Manually пропустит процесс пользовательского сопоставления и сразу перейдет к диалогу Engineering Change Order. Поскольку вы не пытались сопоставить какие‑либо несопоставленные объекты, программа считает, что эталонные и целевые объекты не связаны, поэтому будут сформированы ECO, которые удалят Unmatched Reference Objects с платы и добавят Unmatched Target Objects как новые объекты.
-
Если вы нажмете Yes в диалоге для ручного сопоставления, откроется диалог Match, как показано ниже (заголовок диалога изменится в соответствии с типом несопоставленного объекта).
Диалог Match используется для ручного сопоставления объектов, которые вы точно знаете как соответствующие. Оставьте правую часть пустой и нажмите Continue, если вы не уверены.
Options and Controls of the Match Dialog
-
Unmatched <Object>
-
Unmatched Reference Objects — перечисляет несопоставленные объекты. Используйте элементы управления развернуть/свернуть, чтобы открыть/закрыть список.
-
Unmatched Target Objects — перечисляет целевые объекты. Используйте элементы управления развернуть/свернуть, чтобы открыть/закрыть список.
-
— нажмите, чтобы сопоставить выбранные эталонные и целевые объекты и переместить выбранный объект(ы) из области Unmatched в область Matched Pairs.
-
— нажмите, чтобы переместить выбранный объект(ы) из области Matched Pairs в область Unmatched. Это действие приведет к рассопоставлению перемещенных объектов.
-
— нажмите, чтобы переместить все объекты из области Matched Pairs в область Unmatched. Это действие приведет к рассопоставлению перемещенных объектов.
-
Matched Pairs — перечисляет Reference Object и Target Object , которые теперь сопоставлены.
-
Continue — нажмите, чтобы принять обновления сопоставления и открыть диалог Engineering Change Order.
-
В этом диалоге выберите объекты, которые вы хотите сопоставить, в Unmatched Reference Objects и Unmatched Target Objects, затем перенесите их в раздел Matched Pairs диалога. Для этих объектов программа сформирует ECO для обновления имен, чтобы они совпадали, а также ECO для удаления/добавления членов, чтобы совпадали и они.
- Если вы не уверены, вам не нужно вручную сопоставлять объекты. Для любых несопоставленных объектов программа считает, что эталонный и целевой объекты не связаны, поэтому сгенерирует ECO, которые удалят Unmatched Reference Objects с платы и добавят Unmatched Target Objects как новые объекты.
-
После того как вы сопоставили те объекты, про которые точно знаете, что они соответствуют друг другу, нажмите Continue, чтобы открыть диалог Engineering Change Order.
-
Если вы нажмёте Cancel, процесс обновления будет завершён.
Сопоставление правил проектирования
Правила проектирования, заданные на схеме, также должны быть связаны с соответствующим правилом на PCB. Если бы механизма связывания не было, вы не смогли бы обновить правило на схеме и передать эти изменения на PCB. Для связывания правила проектирования на схеме с правилом проектирования на PCB используются UID.
UID автоматически назначается в наборе параметров (Parameter Set), который содержит определение правила на схеме, и переносится на PCB во время синхронизации проекта.
Правила проектирования используют UID, чтобы сопоставить определение правила проектирования на схеме с правилом проектирования на PCB.
Обычно вам не требуется вручную управлять сопоставлением правил, если только вы не редактировали UID вручную в диалоге PCB Rules and Constraints в PCB-редакторе. Если UID не совпадают, программа добавит на PCB новое правило для каждого правила схемы, у которого нет соответствующего правила на PCB, и удалит любое правило проектирования на PCB, у которого нет соответствующего правила проектирования на схеме.
Вы можете свободно обновлять компоненты в любом из редакторов и синхронизировать эти изменения с другим редактором. Изменения, внесённые в цепи (nets), классы и правила, можно обновлять только со схемы на PCB.