Parent page: Konserwacja
Enterprise Server zawiera narzędzie importera bazy danych komponentów CSV, które można wykorzystać do przenoszenia danych komponentów do Workspace w Enterprise Server z pliku wyeksportowanego z systemu firmowego, takiego jak ERP lub PLM. Zaimplementowane jako konfigurowalny plik wsadowy (*.bat), to narzędzie desktopowe importuje dane komponentów z docelowego pliku arkusza (*.csv) do Workspace zgodnie z istniejącymi szablonami Workspace lub dedykowanym plikiem konfiguracyjnym.
► Zobacz PLM Integration, aby uzyskać więcej informacji o współpracy między Enterprise Server a systemami PLM.
Narzędzie wiersza poleceń znajduje się w folderze \Program Files (x86)\Altium\Altium365\Tools\CSVImport instalacji Enterprise Server. Zobacz csv-import.bat, aby uzyskać informacje o składni wiersza poleceń używanej z narzędziem, albo po prostu uruchom plik wsadowy bez atrybutów, aby uzyskać bardziej szczegółowe informacje.
Notes:
- Narzędzie oraz wspierający je folder środowiska uruchomieniowego Java (
JRE8) można skopiować i uruchamiać w dowolnej lokalizacji, także na innej maszynie w sieci niż host Enterprise Server.
- W zależności od lokalizacji narzędzie może wymagać uruchomienia z podwyższonymi uprawnieniami (Administrator).
- Składnia narzędzia rozróżnia wielkość liter, podobnie jak odwołania w szablonach Workspace oraz w używanych plikach konfiguracyjnych.
Source file format:
Narzędzie importera danych CSV wymaga, aby źródłowy plik CSV rozdzielany przecinkami używał kodowania znaków UTF-8. Jeśli plik używa innych formatów kodowania, takich jak ANSI lub UTF-8-BOM, importer nie będzie poprawnie analizował znaków rozszerzonych (np. µ) albo może nie zaakceptować pliku źródłowego *.csv.
Jeśli tworzysz podstawowy plik CSV do celów testowych, pamiętaj, że niektóre wersje Notatnika w Windows nie zapisują w kompatybilnym formacie UTF-8. W razie wątpliwości można użyć alternatywnego edytora tekstu, takiego jak Notepad++, do tworzenia i zapisywania plików w kodowaniu UTF-8; jest on również przydatny do sprawdzania formatu kodowania plików *.csv wyeksportowanych z firmowego systemu źródłowego.
Issues when Launching the Tool
Jeśli podczas próby uruchomienia narzędzia importera bazy danych komponentów CSV wystąpi następujący problem:
ERROR: Server is not available or address is incorrect: SERVER_NAME:PORT
warto spróbować upewnić się, że certyfikat serwera (lub certyfikat urzędu nadrzędnego, który go wystawił) został dodany do magazynów kluczy Java. Na przykład:
- C:\Program Files (x86)\Altium\Altium365\Tools\JRE8\bin\keytool.exe -import -noprompt -alias <CertificateAlias> -file <CertificatesFolderPath>\<CertificateFileName>.cer -storetype jks -keystore C:\Program Files (x86)\Altium\Altium365\Tools\JRE8\lib\security\cacerts
- C:\Program Files (x86)\Altium\Altium365\Tools\JRE11\bin\keytool.exe -import -noprompt -alias <CertificateAlias> -file <CertificatesFolderPath>\<CertificateFileName>.cer -storetype jks -keystore C:\Program Files (x86)\Altium\Altium365\Tools\JRE11\lib\security\cacerts
Tryb automatyczny
Gdy narzędzie CSVImport jest używane bez zastosowania pliku konfiguracyjnego (opcja –c), proces spróbuje dopasować docelową nazwę pliku CSV (np. Resistor.csv) do szablonu komponentu Workspace, który obsługuje ten typ komponentu (Resistor). Znaleziony szablon określi rewizję, cykl życia oraz folder domyślny (cel w Workspace) dla importowanych danych. Zwróć uwagę, że minimalnym wymaganiem danych dla źródłowego pliku CSV jest kolumna parametru PART_NUMBER oraz odpowiadające jej wartości.
Tool Command Syntax
Dla automatycznego trybu importu typowy ciąg polecenia CSVImport może wyglądać następująco:
csv-import.bat -s http://HPZ600:9780 -u admin -p admin -l x.log -i C:\CSV_Files\Resistor.csv
Gdzie:
http://HPZ600:9780 to adres URL i port Enterprise Server.
admin / admin to dane logowania (nazwa/hasło) do Workspace.
x.log to nazwa pliku dziennika procesu, który zostanie zapisany w folderze /CSVImport (o ile nie określono inaczej).
C:\CSV_Files\Resistor.csv to ścieżka i nazwa pliku źródłowego CSV z danymi komponentów, wygenerowanego przez system firmowy (np. PLM).
Uruchom narzędzie bez dołączonych argumentów, aby zobaczyć składnię użycia:


Narzędzie CSVImport wyświetla w oknie konsoli ogólne informacje o postępie podczas działania, a także może utworzyć plik dziennika zgodnie ze składnią polecenia (-l). Jeśli w pliku CSV znajdują się parametry producenta części (domyślnie; MFR_PART_NUMBER i MFR_NAME), w Workspace tworzone są odpowiadające im wpisy Part Choice.

Opcjonalny plik dziennika zawiera szczegóły pomyślnego procesu importu – jeśli proces się nie powiedzie, plik dziennika nie jest generowany.

Zwróć uwagę, że komponenty można również przeglądać i otwierać w interfejsie przeglądarkowym Workspace w widoku strony Components.
► Zobacz Workspace Components, aby uzyskać więcej informacji.
Tryb konfigurowany
Bardziej zaawansowany tryb narzędzia wykorzystuje plik konfiguracyjny XML do określenia mapowania parametrów pliku na parametry Workspace oraz opcji takich jak folder docelowy, inny szablon itp. dla procesu importu.
Aby uzyskać bazowy plik konfiguracyjny do modyfikacji, uruchom narzędzie z ustawieniem generowania pliku konfiguracyjnego (-g). Spowoduje to utworzenie wskazanego pliku XML z parami klucz/wartość parametrów wyodrębnionymi ze źródłowego pliku CSV oraz ustawieniami rewizji, cyklu życia i folderu docelowego z dopasowanego szablonu. Dołączone są także wpisy typu komponentu zarówno dla PLM (źródło), jak i Workspace (cel) – w tym przykładzie Resistor – oraz identyfikator szablonu (Template ID).
Typowy ciąg polecenia dla narzędzia wyglądałby następująco:
csv-import.bat -s http://HPZ600:9780 -u admin -p admin -g MyConfig.xml -i C:\Users\Public\Documents\CSV_Files\Resistor.csv
► Przykład wygenerowanego pliku konfiguracyjnego (pobierz)
Po wygenerowaniu plik konfiguracyjny (MyConfig.xml) można edytować, aby zmapować parametr źródłowy Value na Resistance w Workspace oraz parametr Format na Package. Zmień odpowiednio te ciągi atrybutów w sekcji ToAltium pliku konfiguracyjnego (dla klasy PLM Resistor), aby uzyskać wymagane mapowanie.
Mapping edits for this example
Dla pokazanego tutaj przykładu powiązane atrybuty (Attributes) zostałyby zmienione z:
<ns2:Attribute attributeType="revision">
<ns2:Key>Format</ns2:Key>
<ns2:Value>${attribute.Format}</ns2:Value>
</ns2:Attribute>
<ns2:Attribute attributeType="revision">
<ns2:Key>Value</ns2:Key>
<ns2:Value>${attribute.Value} </ns2:Value>
</ns2:Attribute>
...na:
<ns2:Attribute attributeType="revision">
<ns2:Key>Package</ns2:Key> <!-- Updated -->
<ns2:Value>${attribute.Format}</ns2:Value>
</ns2:Attribute>
<ns2:Attribute attributeType="revision">
<ns2:Key>Resistance</ns2:Key> <!-- Updated -->
<ns2:Value>${attribute.Value}</ns2:Value>
</ns2:Attribute>
Następnie plik konfiguracyjny jest używany z narzędziem (opcja –c) do wykonania wymaganego mapowania:
csv-import.bat -s http://HPZ600:9780 -u admin -p admin -c MyConfig.xml -i C:\Users\Public\Documents\CSV_Files\Resistor.csv

Jeśli wpisy komponentów już istnieją w Workspace (np. zaimportowane w powyższym przykładzie procesu
Auto mode), zostaną utworzone nowe rewizje, a przemapowane parametry zostaną dodane do istniejących danych – istniejące parametry nie są usuwane.
Inne opcje mapowania
Inne opcje konfiguracji obejmują możliwość ustawienia klasy typu komponentu zarówno dla PLM, jak i Workspace poprzez edycję wiersza <Entity altiumType="Resistor" plmType="Resistor"> w pliku, tak jak zostałby wygenerowany dla tego przykładu. Typowe zmiany mogą obejmować:
- Określenie
altiumType="ResistorSMT", aby ustawić importowane komponenty na ten typ (zakładając, że typ jest zarejestrowany w Workspace).
- Określenie
plmType="PLM-Export_Resistors", aby umożliwić import pliku źródłowego o nazwie PLM-Export_Resistors.csv. Zwróć uwagę, że nazwy źródłowych plików CSV, które nie pasują do istniejącego typu komponentu Workspace (Resistor, Capacitor itd.), nie są rozpoznawane, chyba że plmType zostanie określone w ten sposób.
Wpis folderu docelowego Workspace w pliku konfiguracyjnym (np. <Folder>Components/Resistors</Folder>) ma pierwszeństwo przed wszystkimi innymi ustawieniami ścieżki docelowej, takimi jak te w domyślnym lub wskazanym szablonie komponentu.
Aby proces importu zakończył się powodzeniem, wpisy atrybutów w zastosowanym pliku konfiguracyjnym (wygenerowane automatycznie) muszą odpowiadać nagłówkom kolumn w źródłowym pliku CSV. Na przykład grupa kolumn CSV Format musi mieć odpowiadający jej wpis atrybutu w konfiguracji o wartości ${attribute.Format}, niezależnie od zastosowanego mapowania parametrów (jak opisano powyżej). Można jednak dodać dodatkowe atrybuty dla encji komponentu, np. stały identyfikator, który może mieć następujący format:
<ns2:Attribute>
<ns2:Key>DataSource</ns2:Key>
<ns2:Value>Imported from PLM</ns2:Value>
</ns2:Attribute>
W takim przypadku dane komponentu zaimportowane do Workspace będą zawierały parametr DataSource z wartością ustawioną na Imported from PLM.
Additional features:
- Zastosowany plik konfiguracyjny określa wszystkie ustawienia procesu importu, w tym mapowania parametrów, niezależnie od powiązanych szablonów Workspace.
- Wszystkie parametry mogą zostać zmapowane tak, aby dopasować je do parametrów wejściowego pliku CSV, w tym do tego, jak w pliku nazywany jest numer PLM oraz dane producenta części (Part Choices).
- W pliku konfiguracyjnym można uwzględnić wiele definicji encji (Entity), wraz z ich składowymi atrybutami parametrów. Skopiuj istniejący wpis grupy encji, np. dla
Resistor, a następnie wklej/edytuj go, aby utworzyć kolejny dla Capacitor.
- Parametry szablonu komponentu, które mają ustawioną wartość domyślną, zostaną zastosowane do importowanych komponentów, chyba że mają odpowiadający im atrybut w importowanych danych CSV – w takim przypadku wartość atrybutu ze źródła zostanie zaimportowana do parametru Workspace. W trybie auto mode CSVImport zastosowany szablon będzie odpowiadał typowi komponentu zdefiniowanemu przez nazwę źródłowego pliku CSV. W trybie configured mode szablon jest ustawiany przez wiersz
<ComponentTemplate>[CMPT-xxxx]</ComponentTemplate> w pliku konfiguracyjnym.
- Gdy jako ścieżkę źródłową zostanie wskazany without plik CSV, narzędzie przeszuka folder źródłowy w poszukiwaniu nazw plików CSV pasujących do definicji encji (Entity) w pliku konfiguracyjnym. Jeśli więc istnieją odwołania do encji w konfiguracji dla
Capacitor i Resistor oraz zostaną znalezione odpowiadające im pliki CSV, dane dla tych komponentów zostaną zaimportowane do Workspace. Jest to w praktyce tryb pracy wsadowej narzędzia.
Obsługa Part Choices
Propagacja danych producenta komponentu Part Choice z zewnętrznego systemu korporacyjnego (np. PLM) do Workspace jest zorganizowana tak, aby uniknąć ryzyka duplikacji danych lub niepożądanego usunięcia. Niezależnie od tego, czy dane komponentu są wprowadzane do Workspace bezpośrednio z systemu zewnętrznego, czy przez plik CSV, tworzenie i/lub modyfikacja wpisów Part Choice jest realizowana w sposób inteligentny, w oparciu o bieżące warunki i historię danych:
- Jeśli importowany wpis Part Choice dla komponentu już istnieje dla tego komponentu bibliotecznego w Workspace, nie zostanie zduplikowany.
- Jeśli wpis Part Choice dla komponentu bibliotecznego w Workspace został dodany w samym Workspace (nie został zaimportowany), nie zostanie zastąpiony przez importowane dane Part Choice. Importowany Part Choice zostanie dodany jako nowy, dodatkowy Part Choice dla tego komponentu.
- Jeśli dla komponentu zostaną zaimportowane nowe dane Part Choice, zastąpią one wcześniej zaimportowany wpis Part Choice dla tego komponentu.
Podsumowując, poza poszanowaniem istniejących danych non-imported Part Choice komponentu, dane Part Choice importowane z systemu zewnętrznego będą wyznaczać wpis Part Choice komponentu bibliotecznego w Workspace.
W przykładowym obrazie pokazanym poniżej wejściowy plik CSV nie zawiera danych Part Choice (Manufacture Name i Manufacturer Part Number parametry) dla wpisu PLM CVS-RES-1001 ( 10k rezystor), więc nie zostają one dodane do komponentu bibliotecznego w Workspace. W tym przykładzie jednak wpis Part Choice (Vishay) został ręcznie dodany do tego komponentu bibliotecznego w Workspace z poziomu panelu Altium Designer Explorer.

Jeśli dane Part Choice dla tego komponentu (CVS-RES-1001) zostaną uwzględnione w później importowanym/synchronizowanym pliku CSV, jak pokazano poniżej, nowy wpis Part Choice (Rohm) zostanie added do komponentu – ponieważ istniejący „natywny” wpis Part Choice nie może zostać zastąpiony przez importowane dane Part Choice.

Jeśli kolejny importowany/synchronizowany plik CSV będzie zawierał nowe dane Part Choice dla komponentu, jak pokazano poniżej, te dane Part Choice (Yageo) zastąpią wpis Part Choice, który został wcześniej zaimportowany (Rohm) – istniejący „natywny” wpis Part Choice (Vishay) pozostanie nietknięty. Alternatywnie, jeśli dane Part Choice w CSV zostały usunięte (puste wpisy MFR_..), proces importu usunie istniejący zaimportowany wpis Part Choice w Workspace (Yageo).

Wiele Part Choices producenta
Importer CSV obsługuje również wiele zestawów danych części producenta dla danego komponentu poprzez powtarzalną strukturę w źródłowym pliku CSV, gdzie dla każdej odmiany danych części producenta dodawane są dodatkowe wpisy komponentu. Na przykład, jeśli komponent źródłowy CSV-RES-1001 ma trzy powiązane numery części, wówczas w CSV umieszcza się trzy wpisy dla tego komponentu, z których każdy określa inne dane w kolumnach MFR_NAME i MFR_PART_NUMBER (jeden z Vishay Dale i dwa z Yageo).
Gdy te dane komponentu zostaną zaimportowane do Workspace, tworzony jest pojedynczy element komponentu dla części CSV-RES-1001, ale z wieloma wpisami Part Choice wyprowadzonymi z dodatkowych odwołań do danych w CSV.

Obsługa jednostek i wartości parametrów
Gdy dane komponentów są importowane z zewnętrznego systemu korporacyjnego do Workspace za pomocą narzędzia CSVImport, automatyczne przetwarzanie jednostek parametrów w Workspace zarówno zinterpretuje dane wartości, jak i obsłuży ewentualne błędy w tych danych.
Podczas importu lub synchronizacji danych komponentów wszelkie parametry komponentu określone w odpowiednim Component Template jako uwzględniające jednostki Type (Percent(%), Watts(W) itd.) są interpretowane odpowiednio. Ponieważ formatowanie importowanych wartości parametrów może się znacznie różnić (zostały zdefiniowane w systemie zewnętrznym, takim jak PLM), przetwarzanie wartości z uwzględnieniem jednostek w Workspace obsługuje wszystkie prawdopodobne formaty, a następnie poprawnie radzi sobie z błędami.
Poniższy obraz pokazuje przykład, w którym zestaw komponentów bibliotecznych w Workspace jest aktualizowany przez plik importu CSV zawierający parametr Power dla każdego wpisu komponentu. Wartości parametru Power w źródłowym pliku CSV mają różne formaty, a także zawierają błąd wartości (62500x) dla wpisu komponentu CSV-RES-1001. Przed importem danych komponenty biblioteczne w Workspace nie zawierały danych parametru Power i były w pierwszej rewizji (Revision 1) – jak pokazano w górnym panelu Explorer.

Wyniki procesu importu CSV, widoczne w obrazie dolnego panelu Explorer (powyżej), pokazują efekty zarówno interpretacji parametrów z uwzględnieniem jednostek, jak i obsługi błędów:
- Wartość Power nie została dodana do komponentu
CSV-RES-1001 z powodu błędu formatu danych źródłowych CSV.
- Nie utworzono nowej rewizji dla komponentu
CSV-RES-1001 (pozostaje na Revision 1).
- Formaty źródłowe wartości Power dla wszystkich pozostałych komponentów zostały poprawnie zinterpretowane z danych źródłowych.
- Utworzono nowe rewizje dla poprawnie zaktualizowanych komponentów.
Kolejny proces importu danych komponentu, ze skorygowaną wartością Power (62500u) dla komponentu CSV-RES-1001, jest poprawnie interpretowany dla tego komponentu – jak pokazano na poniższym obrazie. Dane komponentu bibliotecznego w Workspace zostały zaktualizowane, tworząc nową rewizję (Revision 2).