コンポーネントデータをインポートするためのコマンドラインツール

 

Parent page: メンテナンス

Enterprise Server には、CSV コンポーネントデータベースのインポーターツールが含まれており、企業システム(社内 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 文字エンコーディングを使用している必要があります。ファイルが ANSIUTF-8-BOM など他のエンコーディング形式を使用している場合、インポーターは(µ などの)拡張文字を正しく解析できない、または *.csv ソースファイルを受け付けない可能性があります。

テスト用に基本的な CSV ファイルを作成する場合、Windows のメモ帳の一部バージョンでは互換性のある UTF-8 形式で保存されない点に注意してください。不明な場合は、Notepad++ などの代替テキストエディタを使用して UTF-8 エンコードのファイルを作成・保存できます。また、ソースの企業システムからエクスポートされた *.csv ファイルのエンコーディング形式を確認する用途にも有用です。

自動モード

設定ファイル(オプション –c)を適用せずに使用した場合、CSVImport ツールの処理は、対象 CSV のファイル名(例: Resistor.csv)を、そのコンポーネントタイプ(Resistor)をサポートする Workspace コンポーネントテンプレートと照合しようとします。見つかったテンプレートにより、インポートデータの Revision、Lifecycle、Default Folder(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(ターゲット)の両方のコンポーネントタイプエントリ(この例では 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 パラメータを Workspace の Resistance に、また Format パラメータを Package にマップすることができます。必要に応じてマップするため、設定ファイルの ToAltium セクション(Resistor PLM クラス用)で、それらの属性文字列を適宜編集してください。

その後、設定ファイルをツール(オプション –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 に存在する場合(上記 自動モード の例の処理でインポート済みなど)、新しい Revisions が作成され、再マップされたパラメータが既存データに追加されます。既存パラメータは削除されません。

その他のマッピングオプション

その他の設定オプションには、ファイルの <Entity altiumType="Resistor" plmType="Resistor"> 行(この例で生成されるもの)を編集して、PLM と Workspace の両方のコンポーネントタイプクラスを設定する機能が含まれます。典型的な変更例は次のとおりです:

  • altiumType="ResistorSMT" を指定して、インポートされたコンポーネントをそのタイプに設定します(そのタイプが Workspace に登録されている前提)。plmType="PLM-Export_Resistors" を指定して、PLM-Export_Resistors.csv という名前のソースファイルをインポートできるようにします。なお、既存の Workspace コンポーネントタイプ(ResistorCapacitor など)に一致しないソース CSV ファイル名は、このように plmType を指定しない限り認識されません。
設定ファイル内の Workspace 取り込み先フォルダのエントリ(例: <Folder>Components/Resistors</Folder>)は、デフォルトまたは指定されたコンポーネントテンプレート内の設定など、他のすべてのターゲットパス設定よりも優先されます。インポートを成功させるには、適用する設定ファイル内の Attribute エントリ(自動生成されたもの)が、ソース CSV ファイルの列ヘッダーと一致している必要があります。たとえば、CSV の列グループ Format には、適用するパラメータマッピング(above で概説)に関係なく、設定側の属性エントリ 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 テンプレートとは独立して、パラメータマッピングを含むインポート処理のすべての設定を決定します。
  • すべてのパラメータは、入力 CSV ファイルのパラメータに合わせてマップできます。これには、PLM Number にファイル内で使用されている名称や、部品メーカー情報(Part Choices)も含まれます。
  • 複数の Entity 定義(それぞれの構成パラメータ Attributes を含む)を設定ファイルに含めることができます。たとえば Resistor の既存 Entity グループエントリをコピーし、貼り付けて編集することで、Capacitor 用の別定義を作成できます。コンポーネントテンプレートのパラメータにデフォルト値が設定されている場合、インポートされたコンポーネントに適用されます。ただし、インポートする CSV データに対応する属性がある場合は、ソース属性値が Workspace パラメータとしてインポートされます。CSVImport の 自動モード では、適用されるテンプレートは、ソース CSV のファイル名で定義されるコンポーネントタイプのものになります。設定モード では、テンプレートは設定ファイル内の <ComponentTemplate>[CMPT-xxxx]</ComponentTemplate> 行で設定されます。
  • ソースパスとして withoutCSVファイル が指定されている場合、ツールはソースフォルダ内から、設定ファイル内のEntity定義に一致するCSVファイル名を検索します。したがって、CapacitorResistor に対する設定Entity参照が存在し、かつ一致するCSVファイルが見つかった場合、それらのコンポーネントのデータがWorkspaceにインポートされます。これは実質的に、ツールのバッチ動作モードです。

Part Choices handling

外部エンタープライズシステム(PLMなど)からWorkspaceへの、コンポーネントのメーカー Part Choice データの伝播は、データの重複や意図しない削除が起きないように構成されています。コンポーネントデータが 外部システムから直接 Workspaceに取り込まれる場合でも、CSVファイル経由で取り込まれる場合でも、Part Choiceエントリの作成/変更は、現在の状態とデータ履歴に基づいてインテリジェントに処理されます。

  • インポート対象のコンポーネントPart Choiceエントリが、そのWorkspaceライブラリコンポーネントにすでに存在する場合、重複して作成されません。
  • Workspace内で(インポートではなく)追加されたWorkspaceライブラリコンポーネントのPart Choiceエントリは、インポートされたPart Choiceデータによって置き換えられません。インポートされたPart Choiceは、そのコンポーネントに対する新しい追加のPart Choiceとして追加されます。
  • コンポーネントに対して新しいPart Choiceデータがインポートされた場合、そのコンポーネントに対して以前にインポートされたPart Choiceエントリを置き換えます。

要約すると、コンポーネントに既存の non-importedPart Choiceデータ がある場合はそれを尊重しつつ、外部システムからインポートされたPart Choiceデータが、WorkspaceライブラリコンポーネントのPart Choiceエントリを決定します。

以下に示す例の画像では、入力CSVファイルにPLMエントリ CVS-RES-100110kResistor)のPart Choiceデータ(Manufacture Name および Manufacturer Part Number パラメータ)が含まれていないため、これはWorkspaceライブラリコンポーネントに追加されません。ただしこの例では、Part Choiceエントリ(Vishay)が、Altium Designer ExplorerパネルからそのWorkspaceライブラリコンポーネントに手動で追加されています。

そのコンポーネント(CVS-RES-1001)のPart Choiceデータが、後続のインポート/同期CSVファイルに含まれている場合(以下に示すとおり)、新しいPart Choiceエントリ(Rohm)はコンポーネントに added追加 されます。既存の「ネイティブ」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ファイル内で繰り返し構造を用いることで、1つのコンポーネントに対して複数セットのメーカー部品データも扱えます。具体的には、メーカー部品データのバリエーションごとに追加のコンポーネントエントリを含めます。たとえば、ソースコンポーネント CSV-RES-1001 に関連する品番が3つある場合、そのコンポーネントに対するCSVエントリを3行用意し、それぞれで異なる MFR_NAME および MFR_PART_NUMBER 列データ(Vishay Daleから1つ、Yageoから2つ)を指定します。

このコンポーネントデータがWorkspaceにインポートされると、部品 CSV-RES-1001 に対して作成されるコンポーネントアイテムは1つですが、追加のCSVデータ参照から導出された複数のPart Choiceエントリが付与されます。

Parameter Unit and Value handling

CSVImportツールによって外部エンタープライズシステムからWorkspaceにコンポーネントデータをインポートする際、Workspaceの自動パラメータ単位処理が値データを解釈し、そのデータ内のエラーも処理します。

コンポーネントデータのインポートまたは同期処理中、該当する Component Template で単位対応の Typeパラメータ(Percent(%)Watts(W) など)として指定されているコンポーネントパラメータは、それに従って解釈されます。インポートされるパラメータ値の書式は、外部システム(PLMなど)で定義されているため大きくばらつく可能性がありますが、Workspaceの単位対応の値処理は想定されるあらゆる書式に対応し、さらにエラーも正しく処理します。

以下の画像は、Workspaceライブラリコンポーネントのセットが、各コンポーネントエントリのPowerパラメータを含むCSVインポートファイルによって更新される例を示しています。ソースCSVファイル内のPowerパラメータ値はさまざまな書式で記述されており、CSV-RES-1001コンポーネントエントリには値のエラー(62500x)も含まれています。データインポート前、WorkspaceライブラリコンポーネントにはPowerパラメータデータが含まれておらず、初回リビジョン(Revision 1)の状態でした。これは上側の Explorerパネルに示されています。

CSVインポート処理の結果(上記の下側 Explorerパネル画像に表示)から、単位対応パラメータ解釈とエラー処理の影響が確認できます。

  • CSVソースデータの書式エラーにより、コンポーネント CSV-RES-1001 にはPower値が追加されていません。
  • コンポーネント CSV-RES-1001 では新しいリビジョンが作成されていません(Revision 1のままです)。
  • 他のすべてのコンポーネントについては、Power値のソース書式がソースデータから正しく解釈されています。
  • 正しく更新されたコンポーネントについては、新しいリビジョンが作成されています。

その後のコンポーネントデータのインポート処理で、コンポーネント CSV-RES-1001 のPower値が改訂(62500u)されている場合、その値は当該コンポーネントに対して正しく解釈されます(以下の画像に示すとおり)。Workspaceライブラリコンポーネントデータが更新され、新しいリビジョン(Revision 2)が作成されます。

AI-LocalizedAI で翻訳
問題が見つかった場合、文字/画像を選択し、Ctrl + Enter キーを押してフィードバックをお送りください。
Content