После того как модули будут соединены друг с другом на многоплатной схеме, можно проверить межплатную связность. Это позволит обнаружить ошибки назначения «сеть‑вывод» и ошибки проводных соединений «вывод‑вывод». Эти ошибки можно устранить и передать исправления в затронутые PCB‑проекты либо вернуть их обратно в исходную системную схему.
Altium Designer может проверять ваш многоплатный проект на логические, электрические и чертёжные ошибки между содержимым проекта и настройками проверки проекта. Существует ряд проверок, которые можно выполнить для валидированного многоплатного проекта. Они предназначены для выявления нарушений, связанных с соединениями между модулями на листе, а также проблем, связанных со стыкуемыми компонентами; эти проверки настраиваются в параметрах проекта.
Настройка параметров верификации и запуск валидации
Выберите команду Project » Project Options в главном меню, чтобы открыть диалог Project Options и перейти на вкладку Отчёт об ошибках. Параметр Report Mode для каждого нарушения можно изменить на одно из четырёх значений, щёлкнув по нему и выбрав нужное значение в раскрывающемся списке.

Настройте требуемые проверки нарушений на вкладке Error Reporting диалога Project Options.
Чтобы выполнить валидацию вашего многоплатного проекта, выберите команду Design » Run ERC в главном меню или в контекстном меню (ПКМ) в рабочей области.

Выполните валидацию многоплатного проекта с помощью команды Run ERC.
Интерпретация сообщений и поиск нарушений
Если в проекте обнаружены ошибки и предупреждения валидации, в панели Messages отображается уведомление.
Обратите внимание: панель Messages откроется автоматически только при наличии хотя бы одного состояния Error или Fatal Error . Чтобы проверить наличие Warning, нужно открыть панель вручную, нажав кнопку
в правом нижнем углу рабочей области и выбрав Messages. После валидации проекта панель перечислит все обнаруженные предупреждения и ошибки.

Панель Messages отображает предупреждения и ошибки, обнаруженные в многоплатном проекте.
Панель Messages — центральное место для отображения нарушений. Важно учитывать следующее:
-
Панель Messages имеет две области: верхняя табличная область суммирует нарушения; нижняя область содержит подробности по текущему выбранному нарушению.
-
Дважды щёлкните по сообщению, чтобы выполнить кросс‑пробинг к соответствующему нарушению. Дважды щёлкните по детали, чтобы показать конкретный объект.
-
Можно щёлкнуть по любому заголовку столбца панели Messages (например, Class, Document, Message), чтобы упростить сортировку ошибок и предупреждений.
-
Щёлкните ПКМ в панели Messages, затем используйте параметры подменю Group By, чтобы группировать ошибки и предупреждения по заданным критериям.
-
Щёлкните ПКМ в панели Messages, затем используйте соответствующую команду Clear, чтобы удалить сообщения, или команду Export To Report, чтобы экспортировать сообщения в отчёт.
Очистка сообщений не обязательно означает, что проблемы устранены. Те же неустранённые сообщения будут снова перечислены после повторной валидации. Очистка сообщений — это визуальная помощь при исправлении ошибок в проекте, позволяющая вручную удалять сообщения по мере того, как вы считаете их устранёнными. Чтобы получить актуальную картину оставшихся нарушений, необходимо снова запустить валидацию.
Типы нарушений в многоплатном проекте
В разделах ниже приведена подробная информация по каждой проверке нарушений, доступной для многоплатных проектов.
Нарушения, связанные с соединениями
Different Net Names
Это нарушение возникает, когда имя сети, связанной с соединением на многоплатной схеме, не совпадает с именем сети, связанной с соответствующим выводом разъёма в дочернем проекте.
Уведомление
Уведомление отображается в панели Messages в следующем формате:
Net Name "<ConnectionNetName>" for connection "<ConnectionDesignator>" does not match with Net "<ConnectorPinNetName>" of "Pin <ConnectorDesignator-PinNumber>" in child project "Module <ModuleDesignator>(<ChildProjectName>)"
где:
-
ConnectionNetName – имя сети (на многоплатной схеме), связанной с соединением, которое подключается от указанного вывода.
-
ConnectionDesignator – позиционное обозначение соединения.
-
ConnectorPinNetName – имя сети, связанной с указанным выводом разъёма в дочернем проекте.
-
ConnectorDesignator-PinNumber – позиционное обозначение компонента разъёма в дочернем проекте, представленного входом модуля, и вывод этого разъёма.
-
ModuleDesignator – позиционное обозначение модуля на многоплатной схеме, используемого для ссылки на дочерний проект.
-
ChildProjectName – имя (включая расширение) дочернего проекта, на который ссылается модуль.
Рекомендации по устранению
Обычно это нарушение возникает, когда имя сети на выводе разъёма в одном дочернем проекте отличается от имени сети на стыкуемом выводе разъёма в другом дочернем проекте, то есть на двух платах, соединяемых связью между соответствующими родительскими модулями на документе многоплатной схемы.
Используйте диалог Connection Manager, чтобы просмотреть имена сетей, используемые в данный момент. Поле Net Name показывает имя, используемое для соединения на документе многоплатной схемы. При выбранном соединении это также можно увидеть визуально в области Conflict Resolution диалога. Если выводы разъёмов в обоих дочерних проектах связаны с разными сетями, то Net Name для соединения по умолчанию устанавливается в <FromPinNetName>/<ToPinNetName>. Эти имена сетей отражаются в полях Module Net для выводов From и To соответственно. Устранить проблему можно двумя способами:
-
Используйте кнопки
в области Conflict Resolution для обоих модулей, чтобы быстро установить имя сети модуля в каждом случае таким же, как имя сети соединения. Затем примените изменения и передайте их обратно в дочерние проекты с помощью команды Design » Update Child Projects. Сети, связанные с соответствующими выводами разъёмов в этих проектах, будут обновлены через ECO.
-
Измените имя сети, связанной с соответствующим выводом разъёма, в одном из дочерних проектов так, чтобы оно совпадало с именем, используемым для вывода разъёма в другом проекте. Затем скомпилируйте дочерний проект и верните изменение в многоплатную схему с помощью команды Design » Import From Child Projects. Имя сети для соединения будет обновлено через ECO.
См. страницу Working with Connections, чтобы узнать больше о работе с диалогом Connection Manager.
No Net
Это нарушение возникает, когда вывод разъёма, представленный во входе модуля на многоплатной схеме, не подключён ни к одной сети в дочернем проекте, на который ссылается этот модуль.
Уведомление
Уведомление отображается в панели Messages в следующем формате:
"Pin <ConnectorDesignator-PinNumber>" is not connected in child project "Module <ModuleDesignator>(<ChildProjectName>)"
где:
-
ConnectorDesignator-PinNumber – позиционное обозначение компонента разъёма в дочернем проекте, представленного входом модуля, и проблемный вывод этого разъёма.
-
ModuleDesignator – позиционное обозначение модуля на многоплатной схеме, используемого для ссылки на дочерний проект.
-
ChildProjectName – имя (включая расширение) дочернего проекта, на который ссылается модуль и который содержит разъём, указанный вывод которого не подключён к сети.
Рекомендации по устранению
Это нарушение может возникать в ряде ситуаций. При устранении нарушения такого типа учитывайте следующее:
-
Если вывод указанного разъёма не должен использоваться в проекте, подключите его к соответствующей линии питания (например, GND).
-
Убедитесь, что проводники к выводу разъёма имеют электрический контакт, то есть провод или шина подключаются к электрически активной точке вывода.
-
Если для вывода разъёма предполагается короткий провод и метка сети, убедитесь, что метка сети существует и корректно присоединена к проводу.
Unresolved Conflict
Это нарушение возникает, когда существует конфликт в связности между двумя соединёнными платами в системе.
Уведомление
Уведомление отображается в панели Messages в следующем формате:
Unresolved conflict exists: Net "<OldModuleNetName>" has been renamed to "<NewModuleNetName>" for "Pin <ConnectorDesignator-PinNumber>" in child project "Module <ModuleDesignator>(<ChildProjectName>)"
где:
-
OldModuleNetName – имя сети, связанной с указанным выводом разъёма в дочернем проекте, которое в данный момент хранится в существующей карте данных связности редактора многоплатной схемы.
-
NewModuleNetName – имя сети, теперь связанной с указанным выводом разъёма в дочернем проекте, после импорта изменений, внесённых в этот дочерний проект.
-
ConnectorDesignator-PinNumber – позиционное обозначение компонента разъёма в дочернем проекте, представленного входом модуля, и вывод этого разъёма.
-
ModuleDesignator – позиционное обозначение модуля на многоплатной схеме, используемого для ссылки на дочерний проект.
-
ChildProjectName – имя (включая расширение) дочернего проекта, на который ссылается модуль.
Рекомендации по устранению
Обычно это нарушение возникает, когда в одном дочернем проекте было внесено изменение, связанное с разъёмом, и при импорте этого изменения обратно в документ многоплатной схемы оно нарушает существующую связность, определённую между двумя соединёнными платами. Например, в одном дочернем проекте могли поменять местами сети, назначенные двум выводам разъёма, из‑за чего теперь возникает несоответствие при трассировке этих выводов до разъёма на другой целевой плате.
Используйте диалоговое окно Connection Manager для просмотра неразрешённых конфликтов. В списке диалогового окна Connection Manager будут подсвечены любые соединения, которые считаются конфликтующими, или, на практике, любое импортированное обновление соединения, которое не совпадает с существующей картой данных связности редактора Multi-board Schematic.
См. страницу Working with Connections, чтобы узнать больше о работе с диалоговым окном Connection Manager и доступных вариантах разрешения конфликтов.
Нарушения, связанные со спаренными компонентами
Entry Is Empty
Это нарушение возникает, когда запись модуля в данный момент не ссылается на компонент разъёма в дочернем проекте, на который ссылается его родительский модуль.
Уведомление
Уведомление отображается на панели Messages в следующем формате:
Entry "<EntryDesignator>" is empty in "Module <ModuleDesignator>(<ChildProjectName>)"
где:
-
EntryDesignator – позиционное обозначение проблемной записи модуля.
-
ModuleDesignator – позиционное обозначение модуля на многоплатной схеме, который используется для ссылки на дочерний проект.
-
ChildProjectName – имя (включая расширение) дочернего проекта, на который ссылается модуль.
Рекомендации по устранению
Это нарушение может возникнуть, когда:
-
У компонента разъёма в указанном дочернем проекте, который в данный момент связан с существующей записью модуля, был удалён специальный параметр System:Connector, и это изменение было случайно импортировано в документ многоплатной схемы. В этом случае добавьте параметр обратно к компоненту, затем импортируйте изменение обратно в документ многоплатной схемы.
-
Новая запись была добавлена вручную внутри родительского модуля. В этом случае импортируйте изменения из дочернего проекта, чтобы синхронизировать требуемые записи с соответствующими разъёмами, затем удалите лишнюю запись.
Обычно следует убедиться, что разъём(ы) в дочернем проекте размещены и им назначен параметр System:Connector. Затем используйте одну из команд Import from Child Project, чтобы записи были автоматически созданы в пустом/оболочечном родительском модуле, который ссылается на этот дочерний проект. Это самый быстрый и безопасный способ создать записи модулей в многоплатном проекте синхронно с соответствующими разъёмами в дочерних проектах.
No Mated Part
Это нарушение возникает, когда запись модуля в данный момент не подключена к другому модулю в проекте.
Уведомление
Уведомление отображается на панели Messages в следующем формате:
Part "<ConnectorDesignator>" (Entry <EntryDesignator>) doesn't have Mated Part in "Module <ModuleDesignator>(<ChildProjectName>)"
где:
-
ConnectorDesignator – позиционное обозначение компонента разъёма в указанном дочернем проекте.
-
EntryDesignator – позиционное обозначение проблемной записи модуля (которое отражает и синхронизировано с соответствующим разъёмом в указанном дочернем проекте).
-
ModuleDesignator – позиционное обозначение модуля на многоплатной схеме, который используется для ссылки на дочерний проект.
-
ChildProjectName – имя (включая расширение) дочернего проекта, на который ссылается модуль.
Рекомендации по устранению
Убедитесь, что проблемная запись модуля подключена к требуемой записи в целевом модуле — то есть создано соединение между разъёмом на одной дочерней плате и разъёмом на другой. Выберите тип соединения и выполните разводку между записями двух модулей соответствующим образом.
См. страницу Working with Connections, чтобы узнать больше.