Инструмент командной строки для импорта данных компонентов

 

Parent page: Обслуживание

Enterprise Server включает инструмент импорта базы данных компонентов из CSV, который можно использовать для загрузки данных о компонентах в Workspace Enterprise Server из файла, экспортированного из корпоративной системы, например ERP или PLM. Реализованный как настраиваемый пакетный файл (*.bat), этот настольный инструмент импортирует данные компонентов из целевого файла электронной таблицы (*.csv) в Workspace в соответствии с существующими шаблонами Workspace либо выделенным файлом конфигурации.

► См. PLM Integration для получения дополнительной информации о работе между Enterprise Server и PLM-системами.

Инструмент командной строки находится в папке \Program Files (x86)\Altium\Altium365\Tools\CSVImport установки Enterprise Server. См. csv-import.bat для информации о синтаксисе командной строки, используемом с инструментом, либо просто запустите пакетный файл без атрибутов, чтобы получить более подробные сведения.

Notes:

  • Инструмент и поддерживающая его папка среды выполнения Java (JRE8) можно скопировать и запускать из любого расположения, в том числе на другой сетевой машине относительно хост-машины Enterprise Server.
  • В зависимости от расположения инструмент может потребоваться запускать с повышенными правами (Администратор).
  • Синтаксис инструмента чувствителен к регистру, как и ссылки в шаблонах Workspace и любых используемых файлах конфигурации.

Source file format:

Инструмент импорта данных CSV требует, чтобы исходный CSV-файл с разделителями-запятыми использовал кодировку UTF-8. Если файл использует другие форматы кодировки, такие как ANSI или UTF-8-BOM, импортёр не будет корректно разбирать расширенные символы (например, µ) или может не принять исходный файл *.csv.

Если вы создаёте простой CSV-файл для тестирования, учтите, что некоторые версии Блокнота Windows не сохраняют в совместимом формате UTF-8. Если есть сомнения, можно использовать альтернативный текстовый редактор, например Notepad++, чтобы создавать и сохранять файлы в кодировке UTF-8; он также полезен для проверки формата кодировки файлов *.csv, экспортированных из исходной корпоративной системы.

Автоматический режим

При использовании без применения файла конфигурации (опция –c) процесс инструмента CSVImport попытается сопоставить имя целевого CSV-файла (например, Resistor.csv) с шаблоном компонентов Workspace, который поддерживает этот тип компонента (Resistor). Найденный шаблон определит Revision, Lifecycle и Default Folder (целевое расположение в Workspace) для импортируемых данных. Обратите внимание: минимальное требование к данным исходного CSV-файла — это столбец параметра PART_NUMBER и соответствующие ему значения Values.

Утилита CSVImport выводит общую информацию о ходе выполнения в консольном окне во время работы, а также может создавать файл журнала согласно синтаксису команды (-l). Если в CSV-файле присутствуют параметры производителя компонента (по умолчанию; MFR_PART_NUMBER и MFR_NAME), в Workspace создаются соответствующие записи Part Choice.

Необязательный файл журнала содержит детали успешного процесса импорта — если процесс завершается неудачно, файл журнала не создаётся.

Обратите внимание, что компоненты также можно просматривать и открывать в интерфейсе браузера Workspace на странице Components.

См. Workspace Components для получения дополнительной информации.

Режим с конфигурацией

Более продвинутый режим инструмента использует XML-файл конфигурации для задания сопоставления параметров «файл → Workspace», а также таких опций, как целевая папка, другой шаблон и т. п. для процесса импорта.

Чтобы получить базовый файл конфигурации, который можно изменить под свои нужды, запустите инструмент с настройкой генерации файла конфигурации (-g). Это создаст указанный XML-файл с парами ключ/значение параметров, извлечёнными из исходного CSV-файла, а также настройками Revision, Lifecycle и целевой папки из сопоставленного шаблона. Также включены записи Component Type как для PLM (источник), так и для Workspace (назначение) — Resistor в данном примере — и ID шаблона.

Типичная командная строка для инструмента может быть такой:
csv-import.bat -s http://HPZ600:9780 -u admin -p admin -g MyConfig.xml -i C:\Users\Public\Documents\CSV_Files\Resistor.csv

Пример сгенерированного файла конфигурации (скачать)

После генерации файл конфигурации (MyConfig.xml) можно отредактировать, чтобы сопоставить параметр источника Value с Resistance в Workspace, а параметр Format — с Package. Соответственно отредактируйте эти строки атрибутов в разделе ToAltium файла конфигурации (для класса PLM Resistor), чтобы выполнить требуемое сопоставление.

Затем файл конфигурации используется с инструментом (опция –c) для выполнения требуемого сопоставления:
csv-import.bat -s http://HPZ600:9780 -u admin -p admin -c MyConfig.xml -i C:\Users\Public\Documents\CSV_Files\Resistor.csv

Если записи компонентов уже существуют в Workspace (как импортированные в приведённом выше примере процесса Auto mode), будут созданы новые Revision, а переназначенные параметры добавлены к существующим данным — существующие параметры не удаляются.

Другие варианты сопоставления

Другие параметры конфигурации включают возможность задать класс Component Type как для PLM, так и для Workspace, отредактировав строку файла <Entity altiumType="Resistor" plmType="Resistor">, как это было бы сгенерировано для данного примера. Типичные изменения могут быть такими:

  • Указание altiumType="ResistorSMT", чтобы установить импортируемые компоненты в этот тип (при условии, что тип зарегистрирован в Workspace).
  • Указание plmType="PLM-Export_Resistors", чтобы разрешить импорт исходного файла с именем PLM-Export_Resistors.csv. Обратите внимание: имена исходных CSV-файлов, которые не соответствуют существующему Component Type в Workspace (Resistor, Capacitor и т. п.), не распознаются, если только plmType не указан таким образом.
Запись целевой папки Workspace в файле конфигурации (например, <Folder>Components/Resistors</Folder>) будет иметь приоритет над всеми прочими настройками целевого пути, такими как настройки в шаблоне компонентов по умолчанию или в указанном шаблоне.

Для успешного процесса импорта записи Attribute в применяемом файле конфигурации (как были автоматически сгенерированы) должны совпадать с заголовками столбцов в исходном CSV-файле. Например, группа столбцов CSV Format должна иметь соответствующую запись атрибута конфигурации со значением Value ${attribute.Format}, независимо от применяемого сопоставления параметров (как описано выше). Однако для сущности компонента можно добавить дополнительные Attributes, например фиксированный идентификатор, который может иметь следующий формат:

<ns2:Attribute>
  <ns2:Key>DataSource</ns2:Key>
  <ns2:Value>Imported from PLM</ns2:Value>
</ns2:Attribute>

В этом случае импортированные в Workspace данные компонента будут включать параметр DataSource со значением Imported from PLM.

Additional features:

  • Применяемый файл конфигурации определяет все настройки процесса импорта, включая сопоставления параметров, независимо от связанных шаблонов Workspace.
  • Все параметры могут быть сопоставлены так, чтобы соответствовать параметрам входного CSV-файла, включая то, какое имя используется в файле для PLM Number и данных производителя детали (Part Choices).
  • В файл конфигурации можно включить несколько определений Entity, включая входящие в них параметрические Attributes. Скопируйте существующую запись группы Entity, например для Resistor, затем вставьте/отредактируйте её, чтобы создать ещё одну для Capacitor.
  • Параметры Component Template, для которых задано значение по умолчанию, будут применены к импортируемым компонентам, если только у них нет соответствующего атрибута в импортируемых данных CSV — в этом случае значение атрибута источника будет импортировано в параметр Workspace. В режиме CSVImport auto mode применяемым шаблоном будет шаблон для Component Type, определяемого именем исходного CSV-файла. В режиме configured mode шаблон задаётся строкой <ComponentTemplate>[CMPT-xxxx]</ComponentTemplate> в файле конфигурации.
  • Когда указан исходный путь without к CSV-файлу, инструмент выполнит поиск в исходной папке CSV-файлов, имена которых соответствуют определениям Entity в файле конфигурации. Поэтому, если в конфигурации существуют ссылки Entity для Capacitor и Resistor и найдены соответствующие CSV-файлы, данные для этих компонентов будут импортированы в Workspace. По сути, это пакетный режим работы инструмента.

Обработка Part Choices

Передача данных Part Choice производителя компонента из внешней корпоративной системы (например, PLM) в Workspace организована так, чтобы исключить возможность дублирования данных или нежелательного удаления. Когда данные компонента попадают в Workspace непосредственно из внешней системы или через CSV-файл, создание и/или изменение записей Part Choice выполняется «умно», на основе текущих условий и истории данных:

  • Если импортируемая запись Part Choice для компонента уже существует для этого библиотечного компонента Workspace, она не будет продублирована.
  • Если запись Part Choice для библиотечного компонента Workspace была добавлена внутри Workspace (не импортирована), она не будет заменена импортируемыми данными Part Choice. Импортируемый Part Choice будет добавлен как новый, дополнительный Part Choice для этого компонента.
  • Если для компонента импортируются новые данные Part Choice, они заменят ранее импортированную запись Part Choice для этого компонента.

Итого: помимо учета существующих данных non-imported Part Choice компонента, именно данные Part Choice, импортированные из внешней системы, будут определять запись Part Choice для библиотечного компонента Workspace.

В примере на изображении ниже входной CSV-файл не содержит данных Part Choice (Manufacture Name и Manufacturer Part Number параметры) для PLM-записи CVS-RES-1001 (это 10k резистор), поэтому они не добавляются в библиотечный компонент Workspace. Однако в этом примере запись Part Choice (Vishay) была вручную добавлена в этот библиотечный компонент Workspace из панели Altium Designer Explorer.

Если данные Part Choice для этого компонента (CVS-RES-1001) включены в последующий импортируемый/синхронизируемый CSV-файл, как показано ниже, новая запись Part Choice (Rohm) будет added к компоненту — поскольку существующую «родную» (native) запись Part Choice нельзя заменить импортируемыми данными Part Choice.

Если следующий импортируемый/синхронизируемый CSV-файл содержит новые данные Part Choice для компонента, как показано ниже, эти данные Part Choice (Yageo) заменят запись Part Choice, которая была импортирована ранее (Rohm) — существующая «родная» запись Part Choice (Vishay) останется без изменений. В качестве альтернативы, если данные Part Choice в CSV были удалены (пустые записи MFR_..), процесс импорта удалит существующую импортированную запись Part Choice в Workspace (Yageo).

Несколько Part Choice от производителей

CSV Importer также поддерживает несколько наборов данных о производственных (manufacturer) деталях для одного компонента за счет повторяющейся структуры в исходном CSV-файле, когда для каждой вариации данных о детали производителя добавляются дополнительные записи компонента. Например, если исходный компонент CSV-RES-1001 имеет три связанных парт-номера, то в CSV включаются три записи для этого компонента, и в каждой указаны разные данные столбцов MFR_NAME и MFR_PART_NUMBER (одна из Vishay Dale и две из Yageo).

Когда эти данные компонента импортируются в Workspace, создается один элемент компонента для детали CSV-RES-1001, но с несколькими записями Part Choice, сформированными на основе дополнительных ссылок на данные из CSV.

Обработка единиц и значений параметров

Когда данные компонентов импортируются из внешней корпоративной системы в Workspace с помощью инструмента CSVImport, автоматическая обработка единиц параметров в Workspace будет и интерпретировать данные значений, и обрабатывать любые ошибки в этих данных.

Во время процесса импорта или синхронизации данных компонентов любые параметры компонента, заданные в соответствующем Component Template как параметр с учетом единиц Type (Percent(%), Watts(W) и т._toggle) интерпретируются соответствующим образом. Поскольку форматирование импортируемых значений параметров может сильно различаться (так как они определены во внешней системе, например PLM), обработка значений с учетом единиц в Workspace поддерживает все вероятные форматы и затем корректно обрабатывает любые ошибки.

На изображении ниже показан пример, когда набор библиотечных компонентов Workspace обновляется CSV-файлом импорта, который включает параметр Power для каждой записи компонента. Значения параметра Power в исходном CSV-файле используют разные форматы, и среди них есть ошибка значения (62500x) для записи компонента CSV-RES-1001. До импорта данных библиотечные компоненты Workspace не содержали данных параметра Power и находились на первой ревизии (Revision 1) — как показано на верхней панели Explorer.

Результаты процесса CSV-импорта, показанные на изображении нижней панели Explorer (выше), демонстрируют эффекты как интерпретации параметров с учетом единиц, так и обработки ошибок:

  • Значение Power не было добавлено к компоненту CSV-RES-1001 из-за ошибки формата данных в исходном CSV.
  • Новая ревизия не была создана для компонента CSV-RES-1001 (он остается на Revision 1).
  • Форматы исходных значений Power для всех остальных компонентов были корректно интерпретированы из исходных данных.
  • Для корректно обновленных компонентов были созданы новые ревизии.

Последующий процесс импорта данных компонентов, с исправленным значением Power (62500u) для компонента CSV-RES-1001, корректно интерпретируется для этого компонента — как показано на изображении ниже. Данные библиотечного компонента Workspace были обновлены, создав новую ревизию (Revision 2).

AI-LocalizedЛокализовано с помощью ИИ
Если вы обнаружили проблему, выделите текст/изображение и нажмитеCtrl + Enter, чтобы отправить нам свой отзыв.
Content