Синхронизация кабельных жгутов — для опытных пользователей
Как 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. Хотя обе реализации можно считать схожими с точки зрения определения схемы соединений, они существенно различаются в отношении трёхмерной трассировки кабелей и проводов и определения компонентов.
Основные различия:
-
SOLIDWORKS объединяет все кабели и провода, проходящие по одной трассе, в единый пучок, а также рекомендует не разделять контакты разъёмов. Поэтому MCAD CoDesigner не создаёт отдельные точки подключения для каждого контакта каждого компонента (в соответствии с рекомендациями SOLIDWORKS). Creo, напротив, стремится точно моделировать каждый кабель, провод и разъём. Поэтому при получении проекта MCAD CoDesigner создаёт точку подключения для каждого контакта Creo.
-
Трассировка в SOLIDWORKS основана на трёхмерных сплайнах с ограничениями (по сути, это стандартные объекты SOLIDWORKS, определяющие пути трассировки), тогда как Creo использует специальные объекты для проводов и кабелей.
-
В SOLIDWORKS имеются отдельные библиотеки кабелей и разъёмов, которые создаются и поддерживаются средствами MCAD CoDesigner (и пользователем). Библиотеки определяют доступные провода и разъёмы (включая их контакты), которые можно использовать совместно в разных проектах. Технически эти библиотеки представляют собой XML-файлы (для проводов) и XML-файлы вместе с файлами .sldprt (для разъёмов).
В настоящее время CoDesigner не поддерживает общие библиотеки MCAD для Creo; вместо этого тип кабеля или провода задаётся непосредственно в сборке жгута как Spool. В Creo разъёмы также представляют собой отдельные модели, которые можно использовать независимо, без необходимости регистрации в какой-либо библиотеке. -
Помимо детали жгута, SOLIDWORKS сохраняет информацию о жгуте в файлах xxx-fromToList.xml и xxx-segmentList.xml. CoDesigner не использует эту информацию напрямую, но SOLIDWORKS требуются эти файлы для корректной работы с проектом жгута.
Унифицированная модель проекта жгута
Унифицированная модель, используемая MCAD CoDesigner для обмена данными о жгуте между ECAD и MCAD, по сути отражает объектную модель жгута, созданную в Altium Designer.
Унифицированная модель жгута содержит следующие объекты:
-
Провода
-
Кабели (содержащие провода)
-
Витые пары (в ECAD они считаются частным случаем кабелей)
-
Соединители (клеммы, неподключённые точки, сращивания или проходные сращивания)
-
Сегменты пучков (объединяющие кабели и провода на участке их трассы)
-
Точки подключения (фиксированные точки в компоновке жгута, задающие определённые участки трассы)
Соглашения и допущения при проектировании
-
С точки зрения CoDesigner кабели считаются стандартными деталями, содержащими несколько проводов. Кабели не содержат внутри другие кабели; для объединения в пучки используются сегменты пучков.
-
Минимальный радиус изгиба и толщина — важные физические характеристики кабелей и проводов. Они определяют возможные варианты трассировки проводов и кабелей (а также случаи, когда трассировка невозможна).
-
Компоненты разъёмов, используемые при проектировании жгутов, не используются при проектировании печатных плат.
-
На стороне ECAD посадочное место компонента разъёма должно содержать 3D-модель.
-
Физические контакты задаются в модели разъёма только в MCAD.
-
Точки подключения, заданные на стороне ECAD, служат для объединения отдельных проводов и кабелей в пучки вдоль их трассы. Их можно рассматривать как виртуальные стяжки на трассе группы проводов и кабелей. Такое объединение проводов и кабелей в пучки помогает избежать некорректной трассировки, при которой провода и кабели пересекаются друг с другом.
-
Неподключённый провод должен заканчиваться неподключённой клеммой, то есть компонентом. Этот компонент не имеет физического тела, но определяет точное положение неподключённого конца провода.
-
Длина кабеля равна длине самого длинного провода внутри него.
-
Суммарная длина сегментов пучков на трассе кабеля или провода всегда меньше длины этого кабеля или провода. Это связано с тем, что сегменты пучков описывают только те участки трассы кабеля или провода, которые объединены в пучок.
-
В 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 в настройках администратора рабочего пространства.
-
Для синхронизации жгутов в SOLIDWORKS на компьютере должен быть установлен MS Excel, а уровень лицензии SOLIDWORKS должен поддерживать модуль SOLIDWORKS Routing.
-
Для Creo в пакет лицензий должна входить лицензия на работу со жгутами.
-
CoDesigner не работает с types проводов или кабелей: для каждого провода или кабеля он создаёт отдельный type, названный по его позиционному обозначению (даже если свойства этого кабеля или провода полностью совпадают со свойствами других проводов или кабелей).
Работа с библиотеками SOLIDWORKS
-
Содержимое библиотеки трассировки SOLIDWORKS хранится в файлах cable.xml и components.xml вместе со связанными моделями компонентов.
-
MCAD CoDesigner всегда использует собственный cable.xml, индивидуальный для каждого проекта, и собственный components.xml, который может совместно использоваться в нескольких проектах (в том числе в проектах, не использующих CoDesigner).
-
Components.xml хранится в папке проекта или в общей папке компонентов (если она задана в настройках MCAD CoDesigner). Модели компонентов, на которые ссылается этот XML-файл, размещаются в той же папке, что и файл Components.xml.
-
CoDesigner использует эти библиотечные файлы при первоначальном получении и отправке данных, а также при применении изменений, что может привести к изменению текущих настроек библиотечных файлов в SOLIDWORKS. Поэтому, если требуются библиотеки, не связанные с CoDesigner (например, если пользователь хочет использовать сборку жгута, созданную без CoDesigner), инженеру MCAD может потребоваться проверить, что в качестве библиотек по умолчанию выбраны нужные библиотеки.
Особенности моделирования неподключённых проводов
-
На электрической схеме жгута в ECAD неподключённый провод должен быть соединён с объектом Not-connected.
-
На схеме компоновки жгута в ECAD необходимо создать точку подключения, связанную с соответствующим объектом Not-connected электрической схемы, а также сегмент пучка, по которому неподключённый провод будет проложен к этой точке.
-
На стороне MCAD для каждой «неподключённой» точки подключения создаётся отдельная модель разъёма. По сути, поведение неподключённого провода на стороне MCAD будет таким же, как у подключённого, с той лишь разницей, что «разъём» для неподключённого провода существует только на стороне MCAD.
Как выполняется первоначальное получение данных в MCAD
В MCAD процедуру первоначального получения данных жгута можно рассматривать как многоэтапный процесс, состоящий из следующих шагов:
-
Создание сборки жгута (это обычная сборка, аналогичная сборке печатной платы).
Структура сборки
При получении проекта жгута ECAD в MCAD CoDesigner создаёт структуру сборки.
-
Размещение (и при необходимости создание) разъёмов внутри созданной сборки в положениях, соответствующих схеме компоновки 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 процедура аналогична, но имеет следующие отличия:
-
Контакты разъёмов, не являющихся сростками, не моделируются как физические точки подключения. Вместо этого создаётся одна точка подключения, с которой контакты связываются виртуально (эта же точка используется для присоединения кабелей к разъёму). Контакт точки подключения задаётся перпендикулярно плоскости Front со смещением от начала координат на 100 мил по X и на 100 мил по Y. Направление контакта противоположно направлению оси Z.
-
Созданный разъём (включая сведения о его «виртуальных» контактах) регистрируется в библиотеке SOLIDWORKS (components.xml), чтобы SOLIDWORKS в дальнейшем распознавал эту деталь как компонент. См. Формат свойств разъёмов SOLIDWORKS.
-
-
-
Объекты Splice и Not-connected также моделируются как разъёмы и регистрируются в библиотеке разъёмов (components.xml), но без тела (только с точками подключения). Имена деталей для этих объектов формируются на основе идентификаторов ECAD. Эти детали предназначены для конкретного проекта и не предполагают совместного использования в разных проектах.
-
И в Creo, и в SOLIDWORKS сростки моделируются как разъёмы. Каждый контакт моделируется отдельно. Эти контакты ориентированы так же, как контакты разъёмов, и располагаются в один ряд вдоль оси Y с шагом 100 мил.
-
Промежуточные сростки (или ответвления) моделируются аналогично сросткам, но без разъёма для провода, проходящего через сросток без разрыва. Такой провод не имеет конкретных точек подключения, но впоследствии может быть проложен через места расположения сростков.
-
-
-
После размещения всех разъёмов в сборке электрическая схема (то есть таблица From-To) импортируется в проект MCAD. Импорт схемы — это внутренний процесс MCAD; CoDesigner лишь подготавливает данные для импорта и запускает его. На этом этапе процессы в Creo и SOLIDWORKS существенно различаются.
-
Для Creo:
-
MCAD CoDesigner создает деталь жгута в сборке жгута.
-
MCAD CoDesigner подготавливает файл списка проводов в нейтральном формате (NWF) и импортирует его в жгут (Спецификация NWF, NWF).
-
На основе импортированных логических данных создаются логические провода/кабели и катушки (логические объекты не имеют геометрии в модели).
-
-
Для SOLIDWORKS:
-
Во временной папке (папке temp Windows) создается подготовленный файл таблицы Excel From-To, в котором указаны соединения разъемов (пример формата таблицы Excel).
-
Подготавливается файл cable.xml (по сути, библиотека), в котором перечислены кабели проекта (см. Формат свойств кабелей).
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 мил, а центр каждого отрезка находится в точке подключения. Сам отрезок параллелен оси Y эскиза.
-
-
Информация о точках подключения и сегментах жгута сохраняется в специальных свойствах сборки модели MCAD. Этими свойствами управляет MCAD CoDesigner; пользователю не следует их редактировать.
-
В Creo они сохраняются в свойствах: AltiumMCAD_ConnectionPoints и AltiumMCAD_BundleSegments.
-
В SOLIDWORKS они сохраняются в свойствах: ConnectionPointsStorage и BundleSegmentsStorage.
-
-
Последний этап получения жгута на стороне MCAD — трассировка кабелей и проводов. Стоит отметить, что трассировка не выполняется автоматически только на основе таблицы From-To: необходимо также учитывать точки подключения и точки ответвления, не указанные в таблице From-To (то есть учитывать и сегменты жгута со стороны ECAD).
-
Для Creo CoDesigner с помощью API для работы со жгутами выполняет следующие действия:
-
Трассирует каждый кабель/провод от начального до конечного разъема через точки подключения, созданные на предыдущем этапе (нужные точки подключения определяются по данным сегментов жгута, полученным из ECAD).
-
Провода трассируются от контакта одного разъема до контакта другого, а кабели — от порта ввода кабеля одного разъема (представленного системой координат CS0) до другого порта ввода кабеля. Провода внутри кабеля не трассируются автоматически; при необходимости их можно трассировать вручную.
-
Для корректного выполнения этого этапа важно, чтобы CoDesigner находил нужные точки подключения (контакты) на каждом разъеме, а MCAD мог трассировать провод/кабель с учетом ограничений по толщине, минимальному радиусу изгиба и расстоянию между точками трассировки. Если трассировка провода/кабеля с соблюдением заданных ограничений невозможна, она не выполняется и выдается сообщение об ошибке.
-
-
В SOLIDWORKS трассировка выполняется следующим образом:
-
Эскиз трассы и сама трасса открываются для редактирования в SOLIDWORKS.
-
Выполняется трассировка каждого отдельного провода/кабеля.
-
Для трассировки кабеля/провода сначала определяются начальный и конечный разъемы и соответствующие точки подключения этих разъемов.
-
Затем на основе сегментов жгута, в которых присутствует провод/кабель, определяется последовательность точек эскиза, через которые он проходит.
-
После этого запускается автоматическая трассировка.
-
-
-
Сбор данных проекта жгута в MCAD для передачи в ECAD
-
Основная информация, передаваемая из MCAD в ECAD, — это длины проводов, кабелей и сегментов жгута.
-
Провода, кабели, компоненты и их соединения считываются непосредственно из модели на стороне MCAD. Точки подключения и сегменты жгута в модели MCAD отсутствуют, поэтому сведения о них извлекаются из данных, сохраненных в свойствах.
-
Длины кабелей и проводов определяются по соответствующим проводам и кабелям с помощью API MCAD. Если провод/кабель также трассирован, его длина должна быть корректной.
-
MCAD не предоставляет длину сегмента жгута напрямую. Чтобы получить эту длину, CoDesigner сначала находит и идентифицирует все точки сегмента в модели жгута, а затем запрашивает через API MCAD расстояние между точками вдоль трассы. Этот процесс может завершиться сбоем, если некоторые точки не входят в трассу провода/кабеля сегмента.
Обновление проекта жгута в 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 пытается выявить такие случаи при передаче из ECAD командой Push, однако некоторые из них могут остаться нераспознанными, поэтому для выявления неподдерживаемых элементов проекта ECAD может потребоваться подробный анализ.
Примечания по работе в среде SOLIDWORKS PDM
-
Стандартное правило работы с SOLIDWORKS PDM: все файлы, которые могут быть изменены, необходимо извлечь на редактирование до внесения изменений, а после завершения всех изменений — вернуть в хранилище.
-
При изменении жгута это правило распространяется на деталь жгута и все XML-файлы, участвующие в процессе проектирования жгута, то есть cables.xml, components.xml, xxx-fromToList.xml и xxx-segmentList.xml. Если хотя бы один из этих файлов не извлечен на редактирование, при применении изменений к проекту жгута или при обращении к нему другого пользователя PDM могут возникнуть непредсказуемые ошибки.
-
Если используется общая папка компонентов CoDesigner, перед первоначальной загрузкой жгута убедитесь, что components.xml извлечен на редактирование.
SOLIDWORKS: изменение разъемов (включая добавление нескольких точек соединения)
-
После создания новых или переопределения существующих точек соединения в разъеме в SOLIDWORKS необходимо выполнить команду Re-Import From/To SOLIDWORKS (в контексте сборки жгута), а затем выполнить Rebuild с использованием файла From-To .xlsx, соответствующего этой сборке жгута.
-
При добавлении новых точек соединения к ним также потребуется провести новые сплайны.
Сбой первоначальной загрузки
Если первоначальная загрузка или обновление жгута в MCAD не выполняется, стоит проверить следующее:
- Доступна ли пользователю лицензия на проектирование жгутов? (У пользователя должен быть уровень Pro или Enterprise.)
- Возникают ли предупреждения при передаче проекта жгута из ECAD? (Если да, важно устранить их причины.)
- Есть ли в MCAD необходимые лицензии для поддержки функций проектирования жгутов? (Если нет уверенности, пользователю следует попробовать создать жгут вручную.)
- Отображаются ли ошибки при загрузке проекта жгута в MCAD? Например, если невозможно проложить некоторые провода или кабели, стоит проверить их диаметр и минимальный радиус изгиба.
- Если используется SOLIDWORKS PDM, убедитесь, что все файлы, связанные со жгутом (включая библиотеки), извлечены на редактирование перед обновлением или первоначальной загрузкой жгута.
- Если наблюдается непоследовательное поведение, изучите ошибки и предупреждения в журнале, чтобы определить возможные первопричины.
- В SOLIDWORKS провода и кабели могут не трассироваться автоматически, поэтому стоит проверить их на панели «Edit Route»->«Edit wires». Если для провода или кабеля отображается предупреждение либо указана нулевая длина, может потребоваться проложить его вручную, выбрав сегменты пути, по которым он должен проходить.
Передача изменений в ECAD
Если первоначальная загрузка из 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 не удается загрузить изменения жгута из ECAD в Creo (отображается сообщение об ошибке), может потребоваться удалить физический кабель из модели, а также соответствующую катушку, после чего загрузить изменения повторно. Затем потребуется заново проложить этот кабель из дерева модели.
-
При изменении соединений или трассировки кабеля либо провода MCAD CoDesigner может проложить его заново, в результате чего объекты MCAD, привязанные к трассе кабеля или провода, могут потерять привязку.
).