DbLibs i komponenty elektroniczne w chmurze z Altium 365

Davide Bortolami
|  Utworzono: maj 13, 2020  |  Zaktualizowano: styczeń 18, 2021
Komponenty elektroniczne i Altium DbLibs w chmurze z Altium 365

Wsparcie DbLib w Altium Designer jest jedną z najstarszych i najbardziej lubianych funkcji do zarządzania komponentami elektronicznymi i ich danymi. Są obecne w świecie oprogramowania od czasów, kiedy nie mogłem jeszcze pojąć istnienia prawa Ohma. Teraz, z Altium 365 jako nowym sposobem tworzenia i zarządzania projektami, zespoły projektowe mają bezpieczne środowisko w chmurze, którego mogą używać do hostowania i udostępniania swoich projektów, bibliotek, danych komponentów i danych produkcyjnych.

W przypadku danych komponentów, Altium Designer 20.1 wprowadził nową funkcję Component Sync, która pozwala na synchronizację praktycznie każdej bazy danych lub biblioteki bazy danych z Altium 365. Te same pomysły mają zastosowanie również w Concord Pro dla wdrożeń lokalnych w bezpiecznym środowisku. Omówimy, czym są DbLibs, jak działają, co mogą ci pomóc osiągnąć i jak zintegrować je z Altium 365. Uwaga: jest to obrzydliwie proste. Ten przewodnik jest odpowiedni zarówno dla doświadczonych, jak i początkujących użytkowników DbLibs i razem z dokumentacją Altium zawiera wszystko, co potrzebujesz do pomyślnej integracji. Przelecimy nad wszystkimi poprzednimi podejściami, które nie są już istotne, skupiając się najpierw na nowszych technikach.

Rozumienie DbLibs i DbLink

Jeśli nie znasz DbLibs, to posłuży jako szybkie wprowadzenie.

Altium Designer obsługuje liczne formaty bibliotek oparte na plikach: PcbLib, SchLib, LibPkg, IntLibs; PcbLibs zawierają ślad, SchLibs zawierają symbol schematyczny i łączą się ze śladem w PcbLib, a IntLibs oraz LibPkg pozwalają użytkownikom na konsolidację wielu bibliotek.

Zakładając, że przeciętny użytkownik Altium jest zaznajomiony z wymienionymi rodzajami bibliotek, możemy zagłębić się nieco głębiej w ich strukturę danych, używając analogii do relacyjnej bazy danych.

Możemy wyobrazić sobie SchLib jak tabelę bazy danych, analogiczną do arkusza kalkulacyjnego Excel. Każdy wiersz tabeli to jeden komponent, identyfikowany przez jego nazwę. Taka tabela miałaby wiele kolumn: jedną dla rysunku schematycznego; jedną dla pola „Komentarze”; jedną dla oznaczenia; jedną dla każdego parametru naszych komponentów elektronicznych, takich jak „Napięcie” czy „Temperatura”.

PcbLib pod tą samą analogią byłby podobną, ale uproszczoną tabelą, zawierającą tylko kolumnę „Nazwa”, opis, nasz rysunek śladu i niewiele więcej.

SchLib również musi wskazywać na PcbLib. Zazwyczaj nazywa się to linkami lub Kluczami Obcymi w relacyjnych bazach danych, ale jeśli nie jesteś zaznajomiony z nieco przytłaczającą terminologią, możesz myśleć o nich jak o hiperłączach, na które klikasz, aby otworzyć odpowiednią ścieżkę dla siebie.

Dodatkowe kolumny, które moglibyśmy rozważyć dodanie, to dokumenty takie jak karty katalogowe, noty aplikacyjne, oświadczenia o zgodności z RoHS i dane symulacyjne do użycia z zintegrowanym środowiskiem symulacji mieszanej Altium.

Aby dopełnić naszej analogii, LibPkg byłby listą wszystkich naszych tabel (lub arkuszy Excel), a IntLibs byłby spakowanym eksportem naszej bazy danych gotowym do udostępnienia każdemu, kto go potrzebuje.

DbLibs to funkcja, która przenosi ten mentalny koncept w rzeczywistość, pozwalając połączyć Altium Designer z dowolną bazą danych kompatybilną z ODBC.

Altium będzie czytać jedną lub więcej tabel bazy danych, każda z nich działając jako oddzielny plik SchLib. Każdy wiersz w twoich tabelach stanie się komponentem w twoim DbLib. Kilka standardowych kolumn jest używanych do definiowania podstawowych parametrów komponentu i wskazywania Altium na odpowiednie pliki SchLib i PcbLib, zazwyczaj z tylko jednym symbolem schematycznym lub ścieżką PCB.

DbLink działa podobnie do DbLibs, ale bez dołączonego symbolu schematycznego i obrysu PCB, opierając się zamiast tego na zewnętrznej bibliotece plikowej i ograniczając się do synchronizowania parametrów z istniejącymi komponentami elektronicznymi.

Ukryta siła DbLibs

DbLibs zachwycają swoją elastycznością. Nic więc dziwnego, że konkurencyjne firmy software'owe żądają wygórowanych cen za umożliwienie podobnych funkcji, ponieważ pozwalają one na głęboką integrację bibliotek komponentów z istniejącymi systemami przedsiębiorstwa.

Podczas gdy Altium wspiera tylko jedną tabelę o ustalonej strukturze, nie ma ograniczeń co do sposobu jej tworzenia. Każda nowoczesna relacyjna baza danych pozwala na tworzenie widoków bazy danych. Widoki to wirtualne tabele tworzone dynamicznie i automatycznie przez bazę danych, zgodnie z instrukcjami zapisanymi w języku SQL.

Najbardziej typowym przykładem widoku bazy danych jest połączenie dwóch różnych tabel. Na przykład, zakładając, że mamy tabelę A zawierającą standardowe DbLibs i tabelę B zawierającą zewnętrzną dokumentację dla naszych komponentów elektronicznych, możemy je połączyć, tworząc widok z zapytaniem podobnym do poniższego:

SELECT * FROM A LEFT JOIN B WHERE “Part ID” = “Part ID”

Poprzez to, co nazywa się procesami ETL (Extract, Transform, Load), możliwe jest połączenie dowolnego oprogramowania z bibliotekami Altium Designer poprzez DbLibs.

Niezmierzone firmy oferują oprogramowanie i usługi ETL, i często, wiele pracy można osiągnąć za pomocą zaledwie kilku linii Pythona.

Przykładowa implementacja: Połączenie z informacjami magazynowymi wewnętrznymi

Jeśli pracujesz w zorganizowanej firmie, Twój dział B+R może prowadzić mały magazyn próbek komponentów elektronicznych, przy czym każdy komponent ma przypisany numer półki i skrzynki.

Małe magazyny prawdopodobnie są zarządzane przez podobnie lekkie oprogramowanie, takie jak arkusz kalkulacyjny Excel, Microsoft Access lub oprogramowanie open-source, takie jak PartKeepr.

Integracja Altium DbLibs z magazynem działu B+R może znacznie przyspieszyć Twój rozwój. Chcesz sprawdzić, czy komponent, który właśnie dodałeś do swojej płytki, jest tym, o którym myślisz, czy szybko sprawdzić rozmiar złącza? Wystarczy dwukrotnie kliknąć i odczytać odpowiednie parametry. Podobnie, taka integracja pozwala na wylistowanie półek i skrzynek z komponentami elektronicznymi bezpośrednio w BOM i wydrukowanie ich na papierze jednym kliknięciem z pliku Altium OutJob.

Przykładowa implementacja: Synchronizacja danych producenta

Niektóre z najważniejszych parametrów, które możesz chcieć edytować poza środowiskiem Altium Designer, to nazwa producenta i numery części producenta dla każdego komponentu.

Pasywne komponenty elektroniczne, na przykład, czasami wymagają częstych aktualizacji: możesz chcieć dodać różne numery części dla kondensatorów 10uF 16V 0603 w zależności od fluktuacji rynkowych, kraju, w którym produkowany jest twój produkt, oraz jego połączeń z EMS. Natywne funkcje Altium oraz integracja z Octopart mogą znacząco pomóc inżynierowi w szybkim wyborze tych komponentów elektronicznych, ale w niektórych firmach proces ten musi nieuchronnie przejść przez specjalistyczne działy.

Przedsiębiorstwa obronne i lotnicze mogą być zobowiązane do pracy za firewallem bez dostępu do internetu, aby uniknąć wycieku danych, i w związku z tym muszą zastąpić integrację Altium z Octopart rozwiązaniem ad-hoc.

W takich przypadkach korzystne może być edytowanie parametrów Producenta i Numeru Części Producenta poza Altium Designer, jednocześnie wykorzystując Active BOM, Draftsman i możliwości szablonów Excela Altium do generowania szczegółowych BOMów.

Przykładowa implementacja: Śledzenie danych P&P

Wiele firm prowadzi wewnętrzne linie Pick & Place zarówno do produkcji, jak i prototypowania.
P&P to ciężkie maszyny kartezjańskie: pobierają komponent w określonym punkcie, na podstawie przesunięcia XY i rotacji, i przenoszą go do innego, również na podstawie podobnych przesunięć XY i rotacji.

Niektóre z tych parametrów zmieniają się w zależności od płyty; najbardziej notorycznym przykładem jest centrum komponentu w stosunku do początku płyty, co stanowi P&P, które musisz dostarczyć swojemu EMS. Inne wartości zmieniają się tylko w zależności od konkretnego numeru części, na przykład odległość między częściami na rolce czy domyślna rotacja komponentów elektronicznych.

Wiele linii P&P prowadzi własne oprogramowanie zarządzające, aby utrzymać bazę danych wszystkich komponentów elektronicznych i upraszczać operacje. Aby skrócić czas wprowadzenia na rynek, wiele firm rozpoczyna konfigurację tych parametrów, gdy projekt PCB jest jeszcze w toku. W tym celu oprogramowanie do zarządzania pick and place może być zintegrowane z Altium DbLibs i używane we wszystkich środowiskach Altium.

Wszystkie te wartości mogą być eksportowane do dowolnej funkcji Altium, która obsługuje parametry komponentów elektronicznych, takich jak Altium Active BOM, eksporty ODB++ czy tabele Draftsman.

Przykładowa implementacja: Połączenie z ERP Twojej Firmy

Kiedy pracowałem w wiodącym producencie inwerterów mocy do pomp wodnych, firma, jak wiele innych, działała na własnym, opracowanym na zamówienie oprogramowaniu ERP. Oprogramowanie przetrwało niezliczone aktualizacje przez wiele dekad, i choć nie było najpiękniejszą częścią architektury cyfrowej, za każdym razem wykonywało swoje zadanie.

Aby zintegrować Altium Designer z tym oprogramowaniem, dodaliśmy parametr SKU do naszych istniejących bibliotek. Każdy SKU (Stock Keeping Unit), wskazywał na „produkt” w oprogramowaniu ERP.

Oprogramowanie ERP zawierało karty katalogowe dziesiątek tysięcy komponentów elektronicznych oraz dane kontekstowe, takie jak raporty zatwierdzeń RoHS. Wśród danych znajdowały się dokumenty poufne, których nie można było przenosić poza ERP, aby uniknąć wycieków danych.

ERP eksportowało dane do tabel serwera Microsoft SQL, a kilka widoków zostało utworzonych, aby wyświetlać sformatowane linki do dokumentów wyłącznie poprzez nazwanie kolumn według wzorców „ComponentLink1Description” i „ComponentLink1URL”. Podobnie, zdecydowaliśmy się wpisywać opisy komponentów bezpośrednio w oprogramowaniu ERP, ponieważ nasz dział zakupów prowadził najbardziej skrupulatne i spójne zapisy, jakie kiedykolwiek widziałem, i miałby kontynuować to w przewidywalnej przyszłości.

DbLibs i dotychczasowe ograniczenia Altium 365

Do wersji Altium 20.0, przy użyciu Altium 365 w połączeniu z DbLibs, nie było możliwe pełne wykorzystanie wszystkich funkcji współpracy, chyba że ograniczało się to do pracy w obrębie przedsiębiorstwa. Jest to odpowiednie dla bezpiecznej współpracy na kampusie i zarządzania częściami, ale pełna współpraca z zewnętrznymi projektantami i interesariuszami wykorzystywała przestarzałe procesy wymiany plików.

Altium 365 umożliwia przyjęcie zawsze aktualnych i bezbłędnie ustandaryzowanych danych komponentów w organizacji, pozwalając każdemu inżynierowi pracować z tej samej, współdzielonej biblioteki. Jeden lub więcej bibliotekarzy może rysować i weryfikować symbole schematyczne, obrysy komponentów oraz parametry komponentów, podczas gdy cały zespół może wnioskować o stworzenie nowych komponentów elektronicznych za pomocą formularza zgłoszenia części Altium.

W Altium 365, zmiany komponentów są zarządzane przez Cykl Życia Części, a ich adopcja jest również śledzona w projektach za pomocą funkcji Gdzie Użyto. Te funkcje pozwalają nam szybko odkrywać i aktualizować wszystkie projekty, gdy komponent staje się nieuchronnie przestarzały, zadanie, które w mniej scentralizowanym środowisku często może zająć dni pracy.

Wszystkie te funkcje, i więcej, były częściowo kompromitowane podczas przyjmowania DbLibs. DbLibs łączy się z bazami danych oddzielnymi od tych używanych przez Altium 365 w tle; symbole schematyczne i obrysy PCB muszą być współdzielone i organizowane niezależnie, a jakiekolwiek zarządzanie cyklem życia nieuchronnie będzie polegać na zewnętrznym oprogramowaniu ERP, często nieprzystosowanym do potrzeb zarządzania biblioteką komponentów.

Przez lata niektórzy użytkownicy narzekali również na brak wydajności przy obsłudze dużych bibliotek, a podstawowym obejściem były wielokrotne oddzielne tabele wewnątrz DbLib. W przeciwieństwie do tego, Altium 365 jest w stanie obsłużyć praktycznie nieograniczone biblioteki, ponieważ wszystkie zapytania wyszukiwania są przetwarzane po stronie serwera, a komponenty są dynamicznie ładowane w małych partiach, gdy przewijasz wewnątrz Panelu Komponentów.

Nowa funkcja synchronizacji komponentów z DBlib do serwera w Altium

Notatki do wydania Altium 20.1 mogą być dość długą lekturą, ponieważ zawierają aż 106 poprawek błędów, 13 małych nowych funkcji dla Draftsman i 7 ulepszeń wydajności; Co najmniej 55 rozwiązanych problemów pochodziło od społeczności.

Ten artykuł dotyczy jednej funkcji spośród wielu: synchronizacji danych bazy danych komponentów z serwerem.

Brzmi skomplikowanie! Ale sedno jest proste. Weź moc DbLibs i połącz ją z ofertą chmurową Altium 365.

Funkcja działa następująco: Jeśli wcześniej migrowałeś DbLib do Altium 365 za pomocą Migratora Bibliotek, nowa funkcja synchronizacji komponentów pozwala ci kontynuować pracę tam, gdzie ją przerwałeś.

Teraz będziesz mógł przypisać kolumny swojej biblioteki DbLib do parametrów komponentów elektronicznych Altium, tak samo jak w DbLib, ale z dodatkowym wsparciem dla rozszerzonych typów danych, takich jak procent oraz jednostki miar (Volt, Amper, Ohm, …). Gdy akcja synchronizacji zostanie wywołana jednym z trzech sposobów, które wkrótce omówimy, Altium porównuje twoją bazę danych z istniejącymi komponentami i aktualizuje je. W razie potrzeby możesz również wybrać szablony komponentów dla nowo utworzonych komponentów elektronicznych i zdecydować, które parametry będą wywoływać nową rewizję. Na przykład, możesz chcieć, aby zmiana numeru części producenta wywołała nową rewizję, ale to samo może nie być konieczne przy aktualizacji lokalizacji magazynowych.

Drugi tryb działania jest uruchamiany, gdy zamiast łączyć pełną bibliotekę DbLib, łączysz prostszą bazę danych (bez symboli schematycznych lub obrysów PCB), taką jak baza danych Microsoft Access, arkusz kalkulacyjny Excel, plik CSV (Comma Separated Values) lub jakiekolwiek inne źródło danych, które zawiera sterownik OLE DB lub ODBC. W tym trybie, synchronizacja komponentów działa jak stary DbLink: twoje komponenty elektroniczne będą definiowane przez Altium Designer i przechowywane na Altium 365, a kolumny twojej bazy danych staną się parametrami wewnątrz twoich komponentów.

Istniejące komponenty elektroniczne i wiersze bazy danych są dopasowywane jeden do jednego, gdy wartość określonej kolumny jest równa konkretnemu parametrowi komponentu.

Funkcja Synchronizacji Komponentów działa na Twoim komputerze, co umożliwia synchronizację Altium 365 z bazami danych, które nie są dostępne z internetu. Dodatkowo, dane są kompresowane przed wysłaniem do Altium 365, więc możesz łatwo migrować obszerne biblioteki bez obciążania swojego połączenia internetowego.

Demonstracja

W tym przykładzie, przeprowadziłem migrację tabeli zawierającej kondensatory MLCC 0603 z Biblioteki Bazy Danych Celestial Marka Harrisa do Altium 365, korzystając z funkcji Migratora Biblioteki.

Ta biblioteka komponentów elektronicznych zawiera prawie 6000 kondensatorów, ale Altium radzi sobie z tym obciążeniem z łatwością.

Migration completed! We can now rest and watch the sun rise on a grateful universe.
Migracja zakończona! Możemy teraz odpocząć i obejrzeć wschód słońca na wdzięcznym wszechświecie.

Skonwertowałem tabelę bazy danych—początkowo hostowaną na serwerze Microsoft SQL—na tabelę Excel, korzystając z DBeaver, otwartoźródłowego oprogramowania do zarządzania bazami danych. Dzięki temu baza danych może być łatwo edytowana w celach demonstracyjnych.

Database library converted to Excel
Biblioteka bazy danych podzespołów elektronicznych przekonwertowana do formatu Excel

Utworzyłem nową konfigurację Synchronizacji Komponentów, po włączeniu tej funkcji na stronie rozszerzeń platformy w Altium Designer.

Component Synchronization feature enabled under Extensions & Updates
Funkcja synchronizacji podzespołów elektronicznych włączona w obszarze Rozszerzenia i aktualizacje

Konfiguracja odczytuje jedyny arkusz w naszym pliku Excel i synchronizuje go z chmurą. Synchronizacja komponentów została ustawiona tak, aby dopasowywać komponenty według kluczowego parametru/kolumny o nazwie PartId.

Wskazówki: Pamiętaj, aby zawsze mieć otwarty panel właściwości, aby niczego nie przegapić, co wymaga dodatkowej konfiguracji podczas klikania!

The key parameter has been changed to match the library
Parametr klucza został zmieniony, aby pasował do biblioteki

Poszedłem do przodu i zmodyfikowałem pole Opis kondensatorów w naszym pliku Excel.

The component has been edited on Excel
Komponent został edytowany w programie Excel

Po ręcznym wyzwoleniu synchronizacji komponentów, możemy zobaczyć, że nowo zaktualizowany kondensator pojawia się w panelu Komponenty i Eksplorator.

Resulting updated component in the Explorer panel
Wynikowy zaktualizowany komponent w panelu Eksploratora
Resulting updated component in the Components panel
Wynikowy zaktualizowany komponent w panelu Komponenty

Tryby wykonania

Możesz wyzwolić nową funkcję Synchronizacji Komponentów na trzy różne sposoby:

Ręcznie

Otwórz plik CmpSync i naciśnij przycisk Wykonaj, aby ręcznie wyzwolić synchronizację. Zadanie będzie działać w bieżącej instancji Altium Designer, i nie będziesz mógł wykonywać żadnych innych zadań podczas działania operacji, chyba że otworzysz inną instancję.

Według harmonogramu

Używając przycisku Harmonogram, możesz ustawić harmonogram dzienny lub tygodniowy, lub wyzwolić synchronizację, gdy zalogujesz się do swojego obszaru roboczego Altium Designer.

Altium Designer utworzy nowe zadanie harmonogramu Windows.

Component synchronization schedule window
Okno harmonogramu synchronizacji komponentów

Przez linię poleceń

Na koniec warto wspomnieć o synchronizacji komponentów uruchamianej z linii poleceń, za pomocą narzędzia linii poleceń znajdującego się w „C:\Program Files\Altium\AD20\System\ComponentSync.Executor.exe”.

Ten tryb jest niezwykle elastyczny, ponieważ może być uruchamiany przez zewnętrzny skrypt.

Na przykład, możesz chcieć napisać prosty skrypt w Pythonie, który będzie kwerendował prywatne API udostępnione w twojej wewnętrznej/zewnętrznej sieci poprzez następującą procedurę:

  • Połącz się z twoim REST API
  • Pobierz dane
  • Zapisz dane do pliku CSV w tymczasowej lokalizacji
  • Uruchom synchronizację komponentów i czekaj na jej zakończenie
  • Jeśli zakończono pomyślnie, usuń plik tymczasowy i wyjdź
  • Jeśli nie powiodło się, wyślij plik dziennika e-mailem i wyjdź

Wnioski

Funkcja DbLibs w Altium zawsze była jedną z najpotężniejszych, choć nieco ukrytych, w Altium Designer. Zrozumienie, jak najlepiej wykorzystać ją, może wymagać dużej wiedzy na temat zarządzania danymi komponentów elektronicznych w przedsiębiorstwie (i często dobrej sesji medytacji), ale może prowadzić do zdumiewających usprawnień w efektywności i redukcji błędów w twoich projektach.

Do momentu Altium 20 nie było możliwe korzystanie jednocześnie z Altium 365 i DbLibs bez kompromisów dotyczących funkcji i użyteczności, ponieważ wiele sprzecznych źródeł danych może prowadzić do zamieszania.

Od wersji Altium 20.1, nowa funkcja Synchronizacji Komponentów umożliwia połączenie możliwości bibliotek baz danych z prostotą i współpracą Altium 365, tworząc system, który jest znacznie więcej niż suma jego części. Synchronizacja danych elektronicznych komponentów w ten sposób daje potężny zestaw funkcji do zarządzania i śledzenia danych.

Dokumentacja tej nowej funkcji jest dostępna tutaj. Jeśli chcesz dowiedzieć się najnowszych i najlepszych sposobów na automatyczną migrację i zarządzanie bibliotekami komponentów, przeczytaj ten najnowszy artykuł.

About Author

About Author

David Bortolami jest inżynierem elektronikiem z szeroką wiedzą w zakresie projektowania układów PCB i obwodów. Obecnie jest szefem firmy Fermium, małego brytyjskiego przedsiębiorstwa, które produkuje jedne z najbardziej zaawansowanych na świecie instrumentów naukowych do nauczania i badań.

„Każdy produkt może być dwa razy lepszy za połowę kosztów. To kwestia głębokiej analizy potrzeby jego stworzenia, a następnie usunięcia zbędnych elementów”.

Jako przedsiębiorca David ma doświadczenie w rozwiązywaniu wszelkich problemów związanych z produkcją, zintegrowanym projektowaniem produktów elektroniczno-mechanicznych i spełnianiem wymogów EMC i przepisów prawnych. W przeszłości prowadził jedną z największych włoskich inicjatyw typu fab lab / hackerspace oraz inicjatywy coworkingowe. Był odpowiedzialny za projektowanie układów PCB dla firm specjalizujących się w branżach o dużym natężeniu zakłóceń elektromagnetycznych (EMI), takich jak elektroniczne falowniki.

Można skontaktować się z Davidem bezpośrednio pod adresem: d@fermium.ltd.uk

Powiązane zasoby

Powiązana dokumentacja techniczna

Powrót do strony głównej
Thank you, you are now subscribed to updates.