Понимание синхронизации жгутов — для опытных пользователей
Как MCAD CoDesigner поддерживает проектирование жгутов
Поддержка жгутов в MCAD CoDesigner интегрирует модели жгута ECAD и MCAD. Цель состоит в том, чтобы harness geometry проектировался в MCAD, а затем передавался обратно в ECAD в виде физических параметров (длин) элементов жгута.
Общим (и по сути схожим) элементом между средами ECAD и MCAD является то, что принципиальная/монтажная схема жгута по существу одинакова для обеих сторон обмена моделью жгута. Однако физическая модель различается между ECAD и MCAD. На стороне ECAD точной физической модели жгута нет, тогда как на стороне MCAD физическая модель создается (генерируется) MCAD CoDesigner на основе данных, предоставленных со стороны ECAD (модели разъемов, топология жгута и параметры объектов жгута).
На стороне ECAD источником данных для модели жгута является диаграмма компоновки в проекте жгута. Эта диаграмма плоская и не соответствует реальным пропорциям жгута, но содержит топологию, а также внутреннюю схему жгута, которая используется для построения черновой физической модели жгута на стороне MCAD.
Первоначальная поддержка жгутов в MCAD CoDesigner реализована для Creo и Solidworks. Хотя обе реализации можно считать схожими с точки зрения определения монтажной схемы, они существенно различаются с точки зрения 3D-трассировки кабелей и проводов, а также определения компонентов.
Кратко об их различиях:
-
SOLIDWORKS объединяет все кабели/провода на одном и том же маршруте в один bundle, а также рекомендует не различать контакты разъемов. Соответственно, MCAD CoDesigner не создает отдельные точки подключения для каждого контакта на каждом компоненте (в соответствии с рекомендациями SOLIDWORKS). С другой стороны, Creo стремится точно моделировать каждый кабель/провод и разъем. Поэтому, когда MCAD CoDesigner загружает проект, он создает точку подключения для каждого контакта Creo.
-
Трассировка в SOLIDWORKS основана на ограниченных 3D-сплайнах (которые по сути являются стандартными объектами SOLIDWORKS, определяющими пути трассировки), тогда как Creo использует специальные объекты для проводов и кабелей.
-
В SOLIDWORKS существуют отдельные библиотеки кабелей и разъемов, которые создаются/поддерживаются MCAD CoDesigner (и пользователем). Библиотеки определяют доступные провода и разъемы (включая их контакты), которые можно использовать и совместно применять в разных проектах. Технически эти библиотеки представляют собой XML-файлы (для проводов) и XML + .sldprt(ы) для разъемов.
В настоящее время CoDesigner не поддерживает общие библиотеки MCAD для Creo, вместо этого определяя тип кабеля/провода непосредственно внутри сборки жгута как Spool. В Creo разъемы также являются отдельными моделями, и эти модели можно использовать отдельно без необходимости регистрировать их в какой-либо библиотеке. -
Помимо части жгута, SOLIDWORKS сохраняет информацию о жгуте в файлах xxx-fromToList.xml и xxx-segmentList.xml. CoDesiger не использует эту информацию напрямую, однако SOLIDWORKS требует эти файлы для корректной работы с проектом жгута.
Унифицированная модель проекта жгута
Унифицированная модель, используемая MCAD CoDesigner для обмена жгутом между ECAD и MCAD, по сути отражает модель объектов жгута, созданную в Altium Designer.
Унифицированная модель жгута содержит следующие объекты:
-
Провода
-
Кабели (содержащие провода)
-
Витые пары (в ECAD они рассматриваются как частный случай кабелей)
-
Разъемы (терминал, неподключенные точки, splice или inline splice)
-
Сегменты bundle (объединяющие кабели и провода на участке их маршрута трассировки)
-
Точки подключения (это фиксированные точки в компоновке жгута для определения конкретных сегментов маршрута трассировки)
Соглашения и допущения при проектировании
-
С точки зрения CoDesigner кабели рассматриваются как стандартные части, включающие несколько проводов. Кабели не объединяют внутри себя другие кабели; для объединения используются сегменты bundle.
-
Минимальный радиус изгиба и толщина являются важными физическими свойствами кабелей и проводов. Они определяют возможную трассировку (и случаи, когда трассировка невозможна) для проводов и кабелей.
-
Компоненты разъемов, используемые для проектирования жгутов, не используются для проектирования PCB.
-
Компоненты разъемов должны иметь 3D-модель в своем посадочном месте на стороне ECAD.
-
Физические контакты задаются только в модели разъема в MCAD.
-
Точки подключения, определенные на стороне ECAD, служат способом объединения отдельных проводов/кабелей на их маршруте трассировки. Их можно рассматривать как виртуальные «кабельные зажимы» на маршруте набора проводов/кабелей. Такое объединение набора проводов/кабелей может помочь избежать некорректной трассировки, при которой провода/кабели пересекаются друг с другом.
-
«Неподключенный» провод должен заканчиваться терминалом «Неподключенный», то есть компонентом. Этот компонент не имеет физического тела, но определяет точное местоположение конца неподключенного провода.
-
Кабель имеет длину, равную длине самого длинного провода внутри него.
-
Суммарная длина сегментов bundle на маршруте кабеля/провода всегда меньше длины этого кабеля/провода. Это связано с тем, что сегменты bundle описывают только объединенные части трассировки кабеля/провода.
-
В SOLIDWORKS (в соответствии с рекомендациями SOLIDWORKS) CoDesigner создает только один контакт как точку входа для разъема. При необходимости пользователь может переопределить разъем, чтобы указать более одной точки подключения с соответствующими контактами.
Ограничения и требования поддержки жгутов
-
CoDesigner не поддерживает изменения схемы или топологии жгута на стороне MCAD.
-
При работе с SOLIDWORKS PDM библиотеки жгутов следует управлять вручную. XML-файлы жгута необходимо извлекать перед изменениями и возвращать после изменений. Если планируется обновление разъемов, их также следует извлечь.
-
Сопоставление DMS поддерживается в Creo; поддержка для SOLIDWORKS была добавлена в выпуске CoDesigner 3.12.
-
В версиях CoDesigner до 3.12 модели разъемов именовались на основе имени посадочного места ECAD. Начиная с CoDesigner 3.12, модели разъемов именуются на основе параметра Naming of component models that are transferred from ECAD to MCAD, настроенного на странице MCAD CoDesigner в настройках администратора Workspace.
-
Для SOLIDWORKS на ПК должен быть установлен MS Excel, чтобы работала синхронизация жгутов, а уровень лицензии SOLIDWORKS должен поддерживать SOLIDWORKS routing.
-
Для Creo лицензия на жгуты должна входить в пакет лицензий Creo.
-
CoDesigner не работает с types проводов или кабелей; он создает отдельный type для каждого провода или кабеля, называя его по обозначению (даже если свойства кабеля/провода полностью совпадают со свойствами других проводов/кабелей).
Работа с библиотеками SOLIDWORKS
-
Содержимое библиотеки routing в Solidworks хранится в файлах cable.xml и components.xml вместе со связанными моделями компонентов.
-
MCAD CoDesigner всегда использует собственный cable.xml, специфичный для проекта (разный для каждого проекта), и собственный components.xml, который может использоваться совместно между проектами (в том числе совместно с проектами, не относящимися к CoDesigner).
-
Components.xml хранится в папке проекта или в общей папке компонентов (если такая папка определена в параметрах MCAD CoDesigner). Модели компонентов, на которые ссылается этот XML, размещаются в той же папке, что и файл Components.xml.
-
CoDesigner использует эти файлы библиотек во время операций initial pull/push/применения изменений, и это может вызывать изменения текущих настроек файлов библиотек в SOLIDWORKS. Поэтому, если требуются библиотеки, не относящиеся к CoDesigner (например, если пользователь хочет использовать сборку жгута, не относящуюся к CoDesigner), инженеру MCAD может потребоваться убедиться, что установлены правильные библиотеки по умолчанию.
Особенности моделирования неподключенных проводов
-
На монтажной схеме ECAD неподключенный провод должен быть соединен с сущностью Not-connected.
-
На диаграмме компоновки ECAD должна быть создана точка подключения, связанная с конкретной сущностью Not-connected на монтажной схеме, а также сегмент bundle, который проложит неподключенный провод к этой точке.
-
На стороне MCAD для каждой точки подключения «not-connected» будет создана отдельная модель разъема. По сути, поведение неподключенного провода на стороне MCAD будет таким же, как и поведение подключенного провода, с той лишь разницей, что «разъем» для неподключенного провода существует только на стороне MCAD.
Как работает Initial Pull в MCAD
В MCAD начальная процедура pull для жгута может рассматриваться как многоэтапный процесс, состоящий из следующих шагов:
-
Создание сборки жгута (это просто сборка, аналогичная сборке PCB)
-
Размещение разъёмов (и при необходимости их создание) внутри созданной сборки в позициях, соответствующих диаграмме компоновки ECAD в плоскости X-Y. То есть начало координат разъёма должно находиться в той же позиции X-Y, что и на диаграмме компоновки, а ось Z разъёма должна иметь то же направление, что и ось Z сборки:
-
Разъёмы представляют собой детали MCAD, созданные на основе моделей Parasolid. Модели предоставляются ECAD и именуются по имени футпринта, используемого для компонента ECAD (если ECAD может их предоставить).
-
В качестве альтернативы, вместо использования модели ECAD для создания детали разъёма, разъём можно сопоставить с существующей деталью разъёма MCAD, используя настройки сопоставления компонентов CoDesigner.
-
Если деталь разъёма ещё не существует на стороне MCAD, она автоматически создаётся из модели ECAD следующим образом:
-
Для Creo деталь создаётся из модели Parasolid, предоставленной ECAD (если модель не предоставлена, используется пустая модель). В этой детали каждый контакт разъёма моделируется как система координат, расположенная в плоскости X-Z в один ряд (с шагом 0,1 дюйма), ориентированная так же, как ориентирована система координат детали по умолчанию. Кроме того, создаётся система координат для присоединения входящего кабеля, специально именуемая ‘CS0’, расположенная по координате X посередине ряда контактов, с равными смещениями по координатам X и Z (то есть для более длинных рядов контактов расстояние от ряда контактов до CS0 больше)
-
Для SOLIDWORKS процедура аналогична, со следующими отличиями:
-
Контакты разъёма, не являющиеся splice, не моделируются как физические точки соединения. Вместо этого создаётся только одна точка соединения, с которой контакты ассоциируются виртуально (и эта же точка также используется для присоединения кабелей к их разъёму). Контакт точки соединения задаётся как нормальный к плоскости Front, со смещением 100 mil по X и 100 mil по Y от начала координат. Направление контакта противоположно оси Z.
-
Созданный разъём (включая информацию о его «виртуальных» контактах) регистрируется в библиотеке SOLIDWORKS (components.xml), чтобы SOLIDWORKS в дальнейшем распознавал эту деталь как компонент. См. SOLIDWORKS Connectors Properties Format.
-
-
-
Сущности ‘Splice’ и ‘Not-connected’ также моделируются как разъём и регистрируются в библиотеке разъёмов (components.xml), но без тела (только с точками соединения). Детали для этих сущностей именуются на основе идентификаторов ECAD. Эти детали предназначены для конкретного проекта и не предполагаются для совместного использования между разными проектами.
-
И в Creo, и в SOLIDWORKS splice моделируются как разъёмы. Каждый контакт моделируется отдельно. Эти контакты ориентированы так же, как контакты разъёма, в один ряд вдоль оси Y, с шагом 100 mil между ними.
-
Линейные splice (или Tap) моделируются аналогично splice, без какого-либо разъёма для провода, который проходит мимо splice. У такого провода нет точных точек подключения, но позже он может быть проложен через местоположения splice.
-
-
-
После размещения всех разъёмов в сборке схема (то есть таблица From-To) импортируется в проект MCAD. Импорт схемы является внутренним процессом MCAD; CoDesigner лишь подготавливает данные для импорта и запускает его. Сценарии для Creo и SOLIDWORKS на этом шаге существенно различаются.
-
Для Creo:
-
Деталь жгута создаётся в сборке жгута с помощью MCAD CoDesigner.
-
Файл wirelist в нейтральном формате (NWF) подготавливается MCAD CoDesigner и импортируется в жгут (NWF Specification, NWF).
-
Логические провода/кабели и катушки создаются на основе импортированных логических данных (логические сущности не имеют геометрии в модели).
-
-
Для SOLIDWORKS:
-
Во временной папке (временная папка Windows) создаётся подготовленный Excel-файл таблицы From-To, в котором регистрируется связность разъёмов (пример формата таблицы Excel).
-
Подготавливается файл cable.xml (по сути библиотека), в котором регистрируются кабели проекта (см. формат Cable properties format).
Note: в отличие от библиотеки компонентов, библиотека кабелей (cables.xml) должна быть специфичной для проекта, а не общей для разных проектов. Этот XML-файл создаётся в папке проекта. -
Выполните команду Import From-To (Start from From-To) с параметрами: таблица Excel From-To, файл Cable.xml и файл Components.xml, чтобы создать деталь жгута. Деталь будет создана с использованием шаблона жгута по умолчанию в сборке, созданной выше.
-
Импортированные компоненты и кабели будут распознаны SOLIDWORKS и логически соединены (без точной трассировки кабелей). Однако это не просто импорт данных схемы в модель MCAD (как в случае Creo), а создание детали жгута с «каркасом» для последующей геометрии трассировки жгута. В частности, в детали жгута создаются эскиз жгута и точки соединения разъёма (специальные линии в эскизе).
Note: Реализация жгута в SOLIDWORKS требует, чтобы на ПК был установлен MS Office. Это позволяет SOLIDWORKS импортировать XLS-файлы, которые подготавливает CoDesigner.
-
-
-
Далее в проекте создаются точки соединения (в терминах ECAD) с использованием координат из чертежа компоновки.
-
Для Creo точки соединения создаются как опорные точки.
-
Для SOLIDWORKS точки соединения создаются как отрезки линий в 3D-эскизе жгута. Длина отрезков составляет 40 mil, а центр каждого отрезка лежит в точке соединения. Сам отрезок параллелен оси Y эскиза.
-
-
Информация о точках соединения и сегментах bundle сохраняется в специальных свойствах сборки модели MCAD. Этими свойствами управляет MCAD CoDesigner, и пользователь не должен редактировать их вручную.
-
В Creo они сохраняются в свойствах: AltiumMCAD_ConnectionPoints и AltiumMCAD_BundleSegments.
-
В SOLIDWORKS они сохраняются в свойствах: ConnectionPointsStorage и BundleSegmentsStorage.
-
-
Последний этап процесса pull жгута на стороне MCAD — это трассировка кабелей и проводов. Стоит отметить, что они не трассируются автоматически только на основе таблицы From-To, поскольку также необходимо учитывать точки соединения и точки tap, которые не упоминаются в таблице From-To (по сути, также включая сегменты bundle со стороны ECAD).
-
Для Creo, используя API жгутов, CoDesigner выполняет следующее:
-
Трассирует каждый кабель/провод от начального до конечного разъёма через точки соединения, созданные на предыдущем шаге (используемые точки соединения определяются на основе данных сегментов bundle, полученных из ECAD).
-
Провода трассируются от контакта разъёма к контакту разъёма, однако кабели трассируются от порта ввода кабеля разъёма (представленного CS0) к другому порту ввода кабеля. Провода, находящиеся внутри кабеля, автоматически не трассируются и при необходимости могут быть проложены вручную.
-
Для согласованности на этом шаге важно, чтобы CoDesigner находил правильные точки соединения (контакты) на каждом разъёме, а MCAD мог трассировать провод\кабель в рамках ограничений, задаваемых толщиной\минимальным радиусом изгиба и расстоянием между точками трассировки. Если трассировать провод\кабель в рамках заданных ограничений невозможно, он не будет трассирован, и будет выдана ошибка.
-
-
Для SOLIDWORKS трассировка выполняется следующим образом:
-
Эскиз трассировки и сама трассировка открываются для редактирования в SOLIDWORKS.
-
Трассируется каждый отдельный провод\кабель.
-
Для трассировки кабеля\провода первым шагом является определение разъёмов from\to и связанных с ними точек соединения разъёма.
-
Затем, в соответствии с сегментами bundle, в которых идентифицирован провод\кабель, определяется последовательность точек эскиза, через которые проходит провод\кабель.
-
Далее вызывается автотрассировка.
-
-
-
Сбор данных о проекте жгута в MCAD для отправки в ECAD
-
Ключевая информация, передаваемая из MCAD в ECAD, — это длина проводов, кабелей и сегментов bundle.
-
Провода, кабели, компоненты и их соединения считываются непосредственно из модели на стороне MCAD. Точки соединения и сегменты bundle не существуют в модели MCAD, поэтому они извлекаются из данных, сохранённых в свойствах.
-
Длина кабелей и проводов получается из соответствующих проводов и кабелей с использованием API MCAD, и если провод\кабель также трассирован, то длина должна быть корректной.
-
Длина сегмента жгута не является тем, что MCAD предоставляет напрямую. Чтобы получить эту длину, CoDesigner сначала находит и определяет все точки сегмента в модели жгута, а затем запрашивает у MCAD API расстояние между точками вдоль маршрута. Этот процесс может завершиться неудачей, если некоторые точки не включены в трассировку провода\кабеля сегмента.
Обновление конструкции жгута в MCAD изменениями из ECAD
-
На стороне MCAD CoDesigner принимает все изменения в конструкции, кроме изменений положений разъемов (CoDesigner игнорирует изменения положения, используя позиции из исходного размещения).
-
Если схема изменена, CoDesigner повторно импортирует FromToTable и соответствующим образом обновит трассировку. Однако если изменены только свойства, CoDesigner применяет только изменения свойств.
-
Изменение точки подключения — это особый случай, когда таблица From-To не импортируется повторно (поскольку фактически она не изменилась). Однако изменение точки подключения означает, что провода должны быть проложены заново. Это поведение можно использовать как намеренный триггер для повторной трассировки. Например, если пользователь удалит точку подключения на стороне MCAD и снова выполнит Pull жгута, то при применении изменений кабели\провода, проходящие через удаленную точку подключения, будут проложены заново. Это можно использовать как способ исправления трассировки для конкретных проводов.
-
Еще один случай, который следует отметить: при изменениях связности выполняется только частичная повторная трассировка по мере необходимости, однако схема на стороне MCAD обновляется полностью (поскольку CoDesigner не может запросить частичное обновление схемы).
-
В ECAD единственное входящее изменение, которое может быть применено, — это изменение длины проводов, кабелей и сегментов жгута. Изменение длины применяется как свойство соответствующих объектов, при этом геометрия на стороне ECAD не изменяется.
Устранение проблем синхронизации жгута
Распространенные причины проблем
Из-за ограничений на стороне MCAD и принципиальных различий в способе моделирования жгута в ECAD и MCAD не каждая конструкция жгута ECAD может быть корректно построена в MCAD. Если жгут не может быть корректно построен в MCAD, потребуется внести изменения в конструкцию жгута в ECAD. MCAD CoDesigner пытается выявлять такие случаи во время Push из ECAD, но возможно, что распознаются не все случаи, поэтому для выявления неподдерживаемых элементов конструкции ECAD может потребоваться детальное исследование.
Примечания по работе в среде SOLIDWORKS PDM
-
Стандартное правило работы с SOLIDWORKS PDM: все файлы, которые могут быть изменены, должны быть checked out перед изменением, а после завершения всех изменений — checked in.
-
Для изменений жгута это правило относится к: детали жгута и всем XML-файлам, участвующим в процессе проектирования жгута, то есть cables.xml, components.xml, xxx-fromToList.xml и xxx-segmentList.xml. Если один из этих файлов не checked out, при применении изменений к конструкции жгута или при доступе другого пользователя PDM к этой конструкции могут возникать непредсказуемые ошибки.
-
Для первоначального pull жгута убедитесь, что components.xml checked out до выполнения pull, если используется папка общих компонентов CoDesigner.
SOLIDWORKS: изменение разъемов (включая добавление нескольких точек подключения)
-
После создания новых или переопределения существующих точек подключения в разъеме в SOLIDWORKS необходимо выполнить команду SOLIDWORKS Re-Import From/To (в контексте сборки жгута), а затем Rebuild с использованием файла From-To .xlsx, соответствующего этой сборке жгута.
-
Если добавлены новые точки подключения, также потребуется нарисовать новые сплайны к вновь созданным точкам подключения.
Если первоначальный pull завершается неудачей
Если первоначальный pull или обновление жгута не работает в MCAD, стоит проверить следующее:
- Доступна ли пользователю лицензия на жгуты? (пользователь должен иметь уровень Pro или Enterprise)
- Есть ли какие-либо предупреждения при отправке конструкции жгута из ECAD? (если да, их важно устранить)
- Есть ли у MCAD-программы подходящие лицензии для поддержки функциональности проектирования жгутов? (если есть сомнения, пользователю следует попробовать создать жгут вручную)
- Показываются ли какие-либо ошибки во время pull конструкции жгута в MCAD? Например, если невозможно проложить некоторые провода\кабели, возможно, стоит проверить их параметры толщины\минимального радиуса изгиба)
- Если используется SOLIDWORKS PDM, убедитесь, что все файлы, связанные со жгутом (включая библиотеки), checked out перед обновлением жгута\первоначальным pull.
- Если наблюдается непоследовательное поведение, прочитайте ошибки и предупреждения в журнале, чтобы помочь выявить возможные первопричины.
- Для SOLIDWORKS возможна ситуация, когда провода\кабели не трассируются автоматически, поэтому стоит проверить это в панели ‘Edit Route’->’Edit wires’. Если здесь у провода\кабеля есть предупреждение или нулевая длина, может потребоваться проложить его вручную, выбрав сегменты пути, по которым должен проходить провод.
Отправка изменений в ECAD
В ситуации, когда первоначальный pull из ECAD сработал, но жгут не удалось корректно отправить обратно в ECAD, причиной могут быть неподдерживаемые изменения, внесенные в MCAD. Чтобы не попасть в такую ситуацию, в MCAD следует избегать следующего:
- Не удаляйте и не переименовывайте точки подключения, созданные MCAD CoDesigner (по сути, не изменяйте топологию жгута).
- Не изменяйте схему жгута в MCAD, то есть не добавляйте/удаляйте/переименовывайте разъемы, провода или кабели.
- Не изменяйте свойства кабелей или проводов (они не синхронизируются обратно в ECAD).
- Не изменяйте имена контактов разъема/точек входа для точек входа разъема, созданных CoDesigner.
- Перед отправкой изменений из MCAD убедитесь, что в жгуте нет несоответствий, которые подсвечиваются в MCAD.
- В Creo, если в конструкции есть какие-либо кабели, убедитесь, что вы вручную трассируете провода, идущие от концов кабеля к контактам разъема (ручную трассировку можно выполнить, выбрав кабель и запустив трассировку).
- Для SOLIDWORKS в рамках устранения неполадок стоит проверить назначение сегментов трассировки конкретным проводам. В некоторых редких случаях это назначение может быть некорректным, и может потребоваться исправить его вручную.
Обновление конструкции MCAD изменениями из ECAD
-
Обновление конструкции жгута изменениями из ECAD может привести к потере трассировки на стороне MCAD, если узлы жгута (точки подключения/разъемы) удаляются. Независимо от того, должен ли MCAD CoDesigner корректно применять такие изменения удаления, рекомендуется избегать таких обновлений.
-
Перед обновлением конструкции MCAD изменениями из ECAD рекомендуется убедиться, что конструкция жгута на стороне MCAD согласована (не содержит предупреждений/ошибок, обнаруженных MCAD).
-
В целом рекомендуется сохранять сборку жгута MCAD перед применением новых изменений, чтобы при необходимости можно было откатиться к предыдущему состоянию.
-
Если CoDesigner не удается выполнить pull изменений жгута из ECAD в Creo (с отображением сообщения об ошибке), может потребоваться удалить физический кабель в модели, а также соответствующую катушку, а затем снова выполнить pull изменений. После этого потребуется заново проложить этот кабель из дерева модели.
-
Если изменяется связность или трассировка кабеля или провода, MCAD CoDesigner может проложить его заново, что приведет к появлению отсоединенных объектов MCAD, привязанных к трассировке кабеля или провода.
).