컴포넌트 데이터 가져오기를 위한 명령줄 도구

 

Parent page: 유지보수

Enterprise Server에는 CSV Component 데이터베이스 가져오기 도구가 포함되어 있으며, 회사의 ERP 또는 PLM 시스템과 같은 엔터프라이즈 시스템에서 내보낸 파일로부터 컴포넌트 데이터를 Enterprise Server Workspace로 가져오는 데 사용할 수 있습니다. 이 데스크톱 도구는 구성 가능한 배치(*.bat) 파일로 구현되어 있으며, 기존 Workspace 템플릿 또는 전용 구성 파일에 따라 대상 스프레드시트 파일(*.csv)의 컴포넌트 데이터를 Workspace로 가져옵니다.

► Enterprise Server와 PLM 시스템 간 연동 작업에 대한 자세한 내용은 PLM Integration을(를) 참조하십시오.

명령줄 도구는 Enterprise Server 설치의 \Program Files (x86)\Altium\Altium365\Tools\CSVImport 폴더에서 찾을 수 있습니다. 도구에서 사용하는 명령줄 구문에 대한 정보는 csv-import.bat을(를) 참조하거나, 더 자세한 정보를 보려면 속성 없이 배치 파일을 실행하십시오.

Notes:

  • 이 도구와 이를 지원하는 Java 런타임 폴더(JRE8)는 Enterprise Server 호스트 머신과 다른 네트워크 머신을 포함하여 어떤 위치로든 복사해 실행할 수 있습니다.
  • 도구가 위치한 경로에 따라, 관리자(Administrator) 권한으로 실행해야 할 수 있습니다.
  • 도구 구문은 대/소문자를 구분하며, 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)을 해당 컴포넌트 타입(Resistor)을 지원하는 Workspace Component Template과 매칭하려고 시도합니다. 찾은 템플릿이 가져온 데이터의 Revision, Lifecycle 및 기본 폴더(Workspace 대상)를 결정합니다. 원본 CSV 파일의 최소 데이터 요구사항은 PART_NUMBER 파라미터 컬럼과 이에 대응하는 Values입니다.

CSVImport 유틸리티 도구는 실행 중 콘솔 창에 일반 진행 정보를 제공하며, 명령 구문(-l)에 따라 로그 파일도 생성할 수 있습니다. CSV 파일에 컴포넌트 제조사 부품 파라미터가 존재하는 경우(기본적으로 MFR_PART_NUMBERMFR_NAME), 일치하는 Part Choice 항목이 Workspace에 생성됩니다.

선택적 로그 파일은 성공적인 가져오기 프로세스의 세부 정보를 제공합니다. 프로세스가 실패하면 로그 파일은 생성되지 않습니다.

또한 컴포넌트는 Workspace의 브라우저 인터페이스 Components 페이지 뷰에서 검사하고 접근할 수 있습니다.

► 자세한 내용은 Workspace Components을(를) 참조하십시오.

구성 모드

도구의 고급 모드는 XML 구성 파일을 사용하여 파일-Workspace 파라미터 매핑과 대상 폴더, 다른 템플릿 등 가져오기 프로세스 옵션을 지정합니다.

수정하여 사용할 수 있는 기본 구성 파일을 얻으려면, 구성 파일 생성 설정(-g)으로 도구를 실행하십시오. 그러면 원본 CSV 파일에서 추출한 파라미터 키/값 쌍과, 매칭된 템플릿의 Revision, Lifecycle 및 대상 폴더 설정이 포함된 지정된 XML 파일이 생성됩니다. 또한 PLM(소스)과 Workspace(대상) 모두에 대한 Component Type 항목(이 예에서는 Resistor)과 Template 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 파라미터를 Workspace의 Resistance에, 그리고 Format 파라미터를 Package에 매핑할 수 있습니다. 필요한 매핑이 되도록 구성 파일의 ToAltium 섹션(Resistor PLM 클래스용)에서 해당 attribute 문자열을 적절히 수정하십시오.

그런 다음 구성 파일을 도구(옵션 –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에 존재하는 경우(위 자동 모드 예시 프로세스에서 가져온 경우), 새 Revision이 생성되고 재매핑된 파라미터가 기존 데이터에 추가됩니다. 기존 파라미터는 제거되지 않습니다.

기타 매핑 옵션

다른 구성 옵션으로는 파일의 <Entity altiumType="Resistor" plmType="Resistor"> 라인을 편집하여 PLM과 Workspace 모두에 대해 Component Type 클래스를 설정하는 기능이 있으며, 이는 이 예시에서 생성되는 방식과 같습니다. 일반적인 변경은 다음과 같습니다:

  • altiumType="ResistorSMT"을(를) 지정하여 가져온 컴포넌트를 해당 타입으로 설정(Workspace에 해당 타입이 등록되어 있다고 가정)합니다.
  • plmType="PLM-Export_Resistors"을(를) 지정하여 PLM-Export_Resistors.csv라는 이름의 소스 파일을 가져올 수 있도록 허용합니다. 소스 CSV 파일명이 기존 Workspace Component Type(Resistor, Capacitor 등)과 일치하지 않는 경우, 이런 방식으로 plmType을(를) 지정하지 않으면 인식되지 않습니다.
구성 파일의 Workspace 대상 폴더 항목(예: <Folder>Components/Resistors</Folder>)은 기본 또는 지정된 Component Template에 있는 설정 등 다른 모든 대상 경로 설정을 무시하고 우선 적용됩니다.

가져오기 프로세스가 성공하려면, 적용된 구성 파일(자동 생성된 것과 같은)의 Attribute 항목이 원본 CSV 파일의 컬럼 헤더와 일치해야 합니다. 예를 들어 CSV 컬럼 그룹 Format에는, 적용된 파라미터 매핑(에서 설명)과 무관하게, 구성 attribute 항목 Value가 ${attribute.Format}로 일치해야 합니다. 다만 컴포넌트 Entity에 대해 추가 Attributes를 더할 수는 있는데, 예를 들어 고정 식별자 같은 경우 다음 형식을 사용할 수 있습니다:

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

이 경우 Workspace로 가져온 컴포넌트 데이터에는 값이 Imported from PLM로 설정된 DataSource 파라미터가 포함됩니다.

Additional features:

  • 적용된 구성 파일은 관련 Workspace 템플릿과 독립적으로, 파라미터 매핑을 포함한 가져오기 프로세스의 모든 설정을 결정합니다.
  • PLM Number에 파일에서 어떤 이름을 사용하는지, 그리고 부품 제조사 데이터(Part Choices)를 어떻게 제공하는지까지 포함하여, 입력 CSV 파일 파라미터에 맞게 모든 파라미터를 매핑할 수 있습니다.
  • 구성 파일에는 여러 Entity 정의(각각의 파라미터 Attributes 포함)를 포함할 수 있습니다. 예를 들어 Resistor에 대한 기존 Entity 그룹 항목을 복사한 뒤, 이를 붙여넣고 편집하여 Capacitor에 대한 다른 항목을 생성하십시오.
  • 기본값으로 설정된 Component Template 파라미터는, 가져온 CSV 데이터에 해당 파라미터에 대응하는 attribute가 없는 한, 가져온 컴포넌트에 적용됩니다. 대응 attribute가 있는 경우에는 소스 attribute 값이 Workspace 파라미터로 가져와집니다.  CSVImport 자동 모드에서는 적용 템플릿이 소스 CSV 파일명으로 정의되는 Component Type의 템플릿이 됩니다. 구성 모드에서는 템플릿이 구성 파일의 <ComponentTemplate>[CMPT-xxxx]</ComponentTemplate> 라인으로 설정됩니다.
  • 소스 경로로 without CSV 파일이 지정되면, 도구는 소스 폴더에서 구성 파일의 Entity 정의와 일치하는 CSV 파일명을 검색합니다. 따라서 CapacitorResistor에 대한 구성 Entity 참조가 존재하고 일치하는 CSV 파일이 발견되면, 해당 컴포넌트의 데이터가 Workspace로 가져와집니다. 이는 사실상 도구의 배치 작업 모드입니다.

Part Choices handling 외부 엔터프라이즈 시스템(예: PLM)에서 Workspace로 컴포넌트 제조사 Part Choice 데이터를 전파하는 과정은 데이터 중복이나 원치 않는 삭제 가능성을 피하도록 구성되어 있습니다. 컴포넌트 데이터가 외부 시스템에서 직접 또는 CSV 파일을 통해 Workspace로 유입될 때, Part Choice 항목의 생성 및/또는 수정은 현재 조건과 데이터 이력을 기반으로 지능적으로 처리됩니다:
  • 가져오는 중인 컴포넌트 Part Choice 항목이 해당 Workspace 라이브러리 컴포넌트에 이미 존재하면, 중복 생성되지 않습니다.
  • Workspace 라이브러리 컴포넌트의 Part Choice 항목이 Workspace 내부에서(가져오기(import)가 아니라) 추가된 경우, 가져온 Part Choice 데이터로 대체되지 않습니다. 가져온 Part Choice는 해당 컴포넌트에 대한 새로운 추가 Part Choice로 더해집니다.
  • 컴포넌트에 대해 새로운 Part Choice 데이터가 가져와지면, 해당 컴포넌트에 대해 이전에 가져왔던 Part Choice 항목을 대체합니다.

요약하면, 컴포넌트의 기존 non-imported Part Choice 데이터를 존중하는 것 외에는, 외부 시스템에서 가져온 Part Choice 데이터가 Workspace 라이브러리 컴포넌트의 Part Choice 항목을 결정합니다.

아래에 표시된 예시 이미지에서 입력 CSV 파일에는 PLM 항목 CVS-RES-1001에 대한 Part Choice 데이터(Manufacture NameManufacturer Part Number 파라미터)가 포함되어 있지 않으므로(즉, 10k Resistor), 이는 Workspace 라이브러리 컴포넌트에 추가되지 않습니다. 하지만 이 예시에서는 Part Choice 항목(Vishay)이 Altium Designer Explorer 패널에서 해당 Workspace 라이브러리 컴포넌트에 수동으로 추가되어 있습니다.

이후 가져오기/동기화되는 CSV 파일에 해당 컴포넌트(CVS-RES-1001)의 Part Choice 데이터가 아래와 같이 포함되면, 새로운 Part Choice 항목(Rohm)이 컴포넌트에 added추가됩니다. 기존의 ‘네이티브(native)’ Part Choice 항목은 가져온 Part Choice 데이터로 대체될 수 없기 때문입니다.

그 다음 가져오기/동기화되는 CSV 파일에 아래와 같이 해당 컴포넌트에 대한 새로운 Part Choice 데이터가 있으면, 그 Part Choice 데이터(Yageo)는 이전에 가져왔던 Part Choice 항목(Rohm)을 대체합니다. 기존의 ‘네이티브’ Part Choice 항목(Vishay)은 그대로 유지됩니다. 또는 CSV Part Choice 데이터가 제거된 경우(빈 MFR_.. 항목), 가져오기 프로세스는 Workspace에 존재하는 기존의 가져온 Part Choice 항목(Yageo)을 삭제합니다.

Multiple Manufacturer Part Choices

CSV Importer는 소스 CSV 파일에서 반복 구조를 사용해, 특정 컴포넌트에 대해 여러 세트의 제조사 부품 데이터를 수용할 수도 있습니다. 이때 각 제조사 부품 데이터 변형마다 추가 컴포넌트 엔트리를 포함합니다. 예를 들어 소스 컴포넌트 CSV-RES-1001에 연관된 부품 번호가 3개라면, 해당 컴포넌트에 대해 3개의 CSV 엔트리가 포함되며 각 엔트리는 서로 다른 MFR_NAMEMFR_PART_NUMBER 컬럼 데이터( Vishay Dale에서 1개, Yageo에서 2개)를 지정합니다.

이 컴포넌트 데이터가 Workspace로 가져와지면, 부품 CSV-RES-1001에 대해 단일 컴포넌트 아이템이 생성되지만, 추가 CSV 데이터 참조에서 파생된 여러 Part Choice 항목이 함께 생성됩니다.

Parameter Unit and Value handling

CSVImport 도구로 외부 엔터프라이즈 시스템의 컴포넌트 데이터를 Workspace로 가져올 때, Workspace의 자동 파라미터 단위(Unit) 처리 기능이 값 데이터를 해석하고 해당 데이터의 오류도 처리합니다.

컴포넌트 데이터 가져오기 또는 동기화 과정에서, 적용 가능한 Component Template에 단위 인식(unit-aware) Type파라미터(Percent(%), Watts(W) 등)로 지정된 모든 컴포넌트 파라미터는 그에 맞게 해석됩니다. 가져온 파라미터 값의 형식은 외부 시스템(예: PLM)에서 정의되었기 때문에 매우 다양할 수 있는데, Workspace의 단위 인식 값 처리 기능은 가능한 모든 형식을 수용하고 오류도 올바르게 처리합니다.

아래 이미지는 Workspace 라이브러리 컴포넌트 세트가 각 컴포넌트 엔트리에 대한 Power 파라미터를 포함한 CSV 가져오기 파일로 업데이트되는 예시를 보여줍니다. 소스 CSV 파일의 Power 파라미터 값은 다양한 형식을 사용하며, CSV-RES-1001 컴포넌트 엔트리에는 값 오류(62500x)도 포함되어 있습니다. 데이터 가져오기 이전에는 Workspace 라이브러리 컴포넌트에 Power 파라미터 데이터가 없었고 첫 번째 리비전(Revision 1) 상태였으며, 이는 상단 Explorer 패널에 표시되어 있습니다.

위의 하단 Explorer 패널 이미지에 나타난 CSV 가져오기 결과는 단위 인식 파라미터 해석과 오류 처리의 영향을 모두 보여줍니다:

  • CSV 소스 데이터 형식 오류로 인해 컴포넌트 CSV-RES-1001에는 Power 값이 추가되지 않았습니다.
  • 컴포넌트 CSV-RES-1001에 대해서는 새 리비전이 생성되지 않았습니다( Revision 1 상태 유지).
  • 다른 모든 컴포넌트의 Power 값 소스 형식은 소스 데이터로부터 올바르게 해석되었습니다.
  • 정상적으로 업데이트된 컴포넌트들에 대해서는 새 리비전이 생성되었습니다.

이후 컴포넌트 CSV-RES-1001에 대해 수정된 Power 값(62500u)을 포함하는 후속 컴포넌트 데이터 가져오기 프로세스에서는, 해당 값이 그 컴포넌트에 대해 올바르게 해석되며(아래 이미지 참조), Workspace 라이브러리 컴포넌트 데이터가 업데이트되어 새 리비전(Revision 2)이 생성됩니다.

AI-LocalizedAI로 번역됨
만약 문제가 있으시다면, 텍스트/이미지를 선택하신 상태에서 Ctrl + Enter를 누르셔서 저희에게 피드백을 보내주세요.
콘텐츠