Free Trial

Scarica una prova gratuita per scoprire quale software Altium si adatta meglio alle tue esigenze

Come acquistare

Contatta l'ufficio vendite locale per iniziare a migliorare il tuo ambiente di progettazione

Download

Scarica le ultime novità in materia di progettazione PCB e software EDA

  • PCB DESIGN SOFTWARE
  • Altium Designer

    Ambiente di progettazione completo per Schematici e Layout

  • CircuitStudio

    Tool di progettazione PCB professionale – Entry Level

  • CircuitMaker

    Strumento di progettazione PCB basato sulla Community

  • NEXUS

    Strumento ideale per la progettazione PCB in Team

  • CLOUD PLATFORM
  • Altium 365

    Connecting PCB Design to the Manufacturing Floor

  • COMPONENT MANAGEMENT
  • Altium Concord Pro

    Soluzione completa per la gestione delle librerie (Library Management)

  • Octopart

    Vasto database di componenti, facile da usare.

  • PRODUCT EXTENSIONS
  • PDN Analyzer

    Natural and Effortless Power Distribution Network Analysis

  • Vedi tutte le estensioni
  • EMBEDDED
  • Tasking

    Tecnologia di fama mondiale per lo sviluppo di sistemi Embedded

  • TRAININGS
  • Live Courses

    Scopri le migliori tecniche grazie alla formazione didattica disponibile worldwide

  • Corsi On-Demand

    Ottieni una conoscenza completa comodamente da casa o dall’ufficio

  • ONLINE VIEWER
  • Altium 365 Viewer

    View & Share electronic designs in your browser

  • Altium Designer 20

    Lo strumento di progettazione, per uso progfessionale, pià potente, moderno e facile da utilizzare

    ALTIUMLIVE

    Annual PCB Design Summit

    • Forum

      Dove utenti Altium ed appassionati del settore possono interagire tra loro

    • Blog

      Il nostro blog sugli argomenti che riteniamo più interessanti e che speriamo interessino anche a voi

    • Idee

      Invia le tue idee e vota le nuove funzionalità che vorresti vedere introdotte in Altium

    • Bug Crunch

      Aiutaci a migliorare il software inviando bug e votanto i topic che ritieni più importanti

    • Wall

      Una serie di eventi Altium Live che puoi seguire partecipando o iscrivendoti.

    • Beta Programm

      Informati su come partecipare al nostro Beta Programm ed accedi per primo a tutti i nuovi strumenti Altium

    Tutte le risorse

    Esamina il contenuto più recente dai post di blog ai social media e white paper tecnici riuniti insieme per la tua comodità

    Download

    Dai un'occhiata a quali opzioni di download sono disponibili per soddisfare al meglio le tue esigenze

    Come acquistare

    Contatta l'ufficio vendite locale per iniziare a migliorare il tuo ambiente di progettazione

    • Formazione & Eventi

      Guarda il programma e registrati agli eventi di formazione a livello mondiale ed online

    • Contenuto della progettazione

      Sfoglia la nostra vasta libreria di contenuti di progetto gratuitamente, compresi i componenti, i modelli e i progetti di riferimento

    • Webinar

      Partecipa a un webinar dal vivo online o ottieni accesso immediato alla nostra serie dei webinar su richiesta

    • Supporto

      Ottieni le risposte alle tue domande con la nostra varietà di opzioni self-service e assistenza diretta

    • Documenti tecnici

      Rimani aggiornato sulle ultime tendenze della tecnologia e del settore, con la nostra collezione completa di white paper tecnici.

    Altium DbLib nel Cloud con l’ultima versione di Altium Designer 20.1

    Davide Bortolami
    |  May 13, 2020
    Electronic components and Altium DbLibs in the Cloud with Altium Designer 20.1

    Il supporto delle DbLib di Altium è una delle funzioni più datate e più amate di Altium Designer. Sono presenti nel mondo software sin da prima che io potessi scoprire l’esistenza della legge di Ohm.

    La nuova funzione Component Sync di Altium 20.1 vi consente di effettuare una sincronizzazione dati praticamente con qualsiasi database o libreria di database con Altium 365, sfruttando entrambe le strategie di approccio.

    Parleremo di cosa sono le DbLib, come funzionano, cosa possono fare per voi e come integrarle con Altium 365. Allarme spoiler: sono tremendamente facili da usare.

    Questa guida è idonea per utenti DbLib sia esperti che principianti, e insieme alla documentazione di Altium, contiene tutto ciò che vi serve per un’integrazione di successo.

    Tralasceremo tutti gli approcci passati che non sono più pertinenti, concentrandoci solo sulle tecniche più nuove.

    Informazioni su DbLib e DbLink

    Se non avete familiarità con DbLib, questa sezione vi servirà come una rapida introduzione.

    Altium Designer supporta numerosi formati di libreria basati su file: PcbLib, SchLib, LibPkg, IntLibs; PcbLib contiene l’impronta, SchLib contiene il simbolo dello schematico e il link all’impronta all’interno della PcbLib, e IntLib e LibPkg consentono agli utenti di consolidare molteplici librerie.

    Presupponendo che l’utente Altium medio abbia familiarità con i tipi di librerie summenzionati, possiamo esaminare in maniera un po’ più approfondita la loro struttura di dati usando un’analogia con i database relazionali.

    Possiamo pensare a SchLib come a una tabella di database, analoga a un foglio di calcolo Excel. Ogni riga della tabella è un componente, identificato dal suo nome. Tale tabella è composta da svariate colonne: una per il disegno dello schematico, una per il campo “Commenti”, una per il designatore, una per ogni parametro del componente, come “Tensione” o “Temperatura”.

    Una PcbLib, usando la stessa analogia, sarebbe una tabella simile ma semplificata, che contiene solo una colonna “Nome”, una descrizione, il nostro disegno dell’impronta e poco altro.

    La SchLib dovrebbe anche connettersi con la PcbLib. Si tratta in genere di link o Chiavi esterne in database relazionali, ma se non avete familiarità con questa terminologia piuttosto complessa, potete considerarli come hyperlink su cui cliccare per aprire l’impronta giusta.

    Tra le colonne aggiuntive che potremmo valutare di aggiungere per i documenti troviamo fogli dati, note applicative, dichiarazioni di conformità RoHS e dati di simulazione da usare con l’ambiente Mixed Simulation integrato di Altium.

    Per completare la nostra analogia, LibPkg sarebbe un elenco di tutte le nostre tabelle (o fogli di calcolo Excel), mentre le IntLib sarebbero un export compresso del nostro database pronto per essere condiviso con chiunque ne abbia bisogno.

    Le DbLib sono una funzione che porta questo concetto mentale nella realtà, consentendovi di connettere Altium Designer a qualsiasi database compatibile con ODBC.

    Altium leggerà uno o più tabelle di database, ognuna che lavora come un file SchLib separato. Ogni riga nelle tabelle diventerà un componente nella DbLib. Numerose colonne standard sono usate per definire i parametri base dei componenti e per collegare Altium con i file SchLib e PcBLib giusti, solitamente con un solo simbolo schematico o impronta PCB.

    DbLink funziona in maniera simile alle DbLib, ma senza un simbolo schematico e un’impronta PCB incluse, facendo invece affidamento su una libreria basata su file esterni e limitandosi a sincronizzare i parametri con componenti esterni.

    La forza nascosta delle DbLib

    La flessibilità delle DbLib è sorprendente. Non stupisce quindi che le aziende produttrici di software concorrenti addebitino prezzi esorbitanti per abilitare funzioni simili, dal momento che consentono una profonda integrazione delle librerie di componenti nei sistemi aziendali esistenti.

    Sebbene Altium supporti solo una tabella a struttura fissa, non esistono limiti al modo in cui quella tabella può essere creata. Qualsiasi database relazionale moderno consente di creare viste del database. Le viste sono tabelle virtuali create in maniera dinamica e automatica dal database, che seguono istruzioni scritte in linguaggio SQL.

    L’esempio più tipico di una vista database consiste nell’unione di due tabelle diverse. Per esempio, presupponendo che la tabella A contenga DbLib standard e la tabella B contenga documentazione esterna per i nostri componenti, possiamo unirle creando una vista con una query simile a quella qui sotto:

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

    Tramite quelli che definiamo processi ETL (Estrai, Trasforma, Carica), è possibile connettere qualsiasi software alle librerie di Altium Designer tramite DbLib.

    Innumerevoli aziende offrono software e servizi ETL, e spesso, una gran parte del lavoro può essere ottenuto con alcune breve righe di Python.

    Implementazione di esempio: collegamento alle Informazioni interne sul magazzino

    Se lavorate in un’azienda strutturata, è possibile che il vostro reparto di R&S gestisca un piccolo magazzino di componenti campione, con ogni componente contrassegnato da un numero di scaffale e di scatola.

    È altresì possibile che questi magazzini di piccole dimensioni siano gestiti da un software similmente leggero, come un foglio di calcolo Excel, Microsoft Access o un software open-source come PartKeeper.

    L’integrazione delle Altium DbLib con il vostro magazzino di R&S può accelerare notevolmente lo sviluppo. Volete verificare se il componente che avete appena aggiunto alla vostra scheda è quello che pensate o controllare rapidamente le dimensioni di un connettore? Vi basta fare doppio clic e leggere i parametri rilevanti. Similmente, tale integrazione consente di creare elenchi di scaffali e di scatole dei componenti direttamente nel BOM e stamparli su carta con un solo clic da un file Altium OutJob.

    Implementazione di esempio: sincronizzazione dei dati del produttore

    Alcuni dei parametri più critici che potreste voler modificare al di fuori dell’ambiente Altium Designer sono il produttore e i codici parte del produttore per ogni componente.

    A volte i componenti passivi, ad esempio, devono essere aggiornati abbastanza di frequente: potreste volere aggiungere codici parte diversi per capacitori 0603 16 V 10 uF a seconda della fluttuazione del mercato, del Paese in cui il prodotto viene realizzato e dei collegamenti EMS. Le funzioni native di Altium e l’integrazione di Octopart possono aiutare notevolmente l’ingegnere a selezionare questi componenti con rapidità, ma in alcune aziende, il processo deve inevitabilmente passare attraverso reparti specializzati.

    Alle imprese del settore della difesa e aeronautico può essere richiesto di lavorare dietro un firewall con nessun accesso a Internet per evitare perdite di dati. In questo caso l’integrazione di Octopart di Altium deve essere sostituita con una soluzione ad-hoc.

    In questi casi, potrebbe essere vantaggioso modificare i parametri del Produttore e del Codice parte del produttore al di fuori di Altium Designer, continuando a sfruttare Active BOM, Draftsman e le capacità di creazione di modelli Excel di Altium per generare BOM dettagliati.

    Implementazione di esempio: monitoraggio dei dati P&P e integrazione con le DbLib

    Molte aziende gestiscono linee Pick & Place interne per la produzione e la prototipazione.
    Le P&P sono macchine cartesiane pesanti: prendono un componente in un determinato punto sulla base di un offset XY e di una rotazione e lo spostano in un altro punto sulla base di offset XY e rotazioni simili.

    Alcuni di questi parametri cambiano con schede diverse; l’esempio più famoso è rappresentato dal centro del componente in rapporto all’origine della scheda, che costituisce la P&P che dovete fornire al vostro EMS. Altri valori cambiano solo con il codice parte specifico, per esempio, la distanza tra parti in una bobina o la rotazione predefinita dei componenti. 

    Molte linee P&P eseguono il proprio software gestionale per mantenere un database di tutti i componenti e semplificare il funzionamento.

    Per ridurre il time-to-market, molte aziende iniziano la configurazione di questi parametri quando la progettazione di PCB è ancora in corso. A tal fine, il software gestionale della macchina P&P può essere integrato con le Altium DbLib e usato all’interno di tutti gli ambienti di Altium.

    Tutti questi valori possono essere esportati in qualsiasi funzione Altium che supporta parametri dei componenti, come Altium Active BOM, export ODB++ o tabelle Draftsman.

    Implementazione di esempio: collegamento all’ERP aziendale

    Quando lavoravo in un’importante azienda produttrice di inverter di potenza per pompe idrauliche, l’azienda eseguiva, come molte altre, un software ERP personalizzato. Il software era sopravvissuto a innumerevole aggiornamenti nel corso di diversi anni, e sebbene non fosse l’architettura digitale più bella che avessi mai visto, svolgeva il suo compito ogni volta.

    Per integrare Altium Designer con questo software, abbiamo aggiunto un parametro SKU alle nostre librerie pre-esistenti. Ogni SKU (Stock Keeping Unit) rimandava a un “prodotto” all’interno del software ERP.

    L’ERP conteneva fogli dati per decine di migliaia di componenti, nonché dati contestuali come report di approvazione RoHS. Tra i dati erano presenti documenti riservati che non potevano essere trasferiti al di fuori dell’ERP per evitare perdite di dati.

    L’ERP esportava i dati su tabelle Microsoft SQL Server ed erano state create un paio di viste per visualizzare link a documenti formattati esclusivamente nominando le colonne secondo i modelli “ComponentLink1Description” e “ComponentLink1URL”. Similmente, avevamo deciso di scrivere le descrizioni dei componenti direttamente all’interno del software ERP poiché il nostro reparto di acquisto aveva conservato i dati nella maniera più meticolosa e coerente che avessi mai visto e avrebbe continuato a farlo per il futuro prevedibile.

    Limitazioni passate delle DbLib e di Concord Pro

    Fino alla versione 20.0 di Altium, quando si usava Concord Pro su Altium 365 in congiunzione con le DbLib, non era possibile sfruttare appieno tutte le funzioni di collaborazione.

    Concord Pro consente di adottare dati sui componenti perfettamente standardizzati e costantemente aggiornati all’interno di un’organizzazione permettendo a ogni ingegnere di lavorare dalla stessa libreria condivisa.

    Una o più librerie possono estrarre e validare simboli di schematici, impronte di contenuti e parametri di componenti, mentre l’intero team può richiedere la creazione di nuovi componenti tramite il modulo di richiesta parti di Altium.

    In Concord Pro, le modifiche dei componenti sono gestite tramite un Ciclo di vita della parte, e la loro adozione è tracciata anche nei prodotti mediante la funzione Where Used (Dove è usato). Queste funzioni consentono di svelare e aggiornare rapidamente tutte le progettazioni quando un componente diventa inevitabilmente obsoleto, un’attività che in un ambiente meno centralizzato può spesso richiedere giornate intere di lavoro.

    Tutte queste funzioni, e tante altre, erano state parzialmente compromesse con l’adozione delle DbLib. Le DbLib si collegano a database separati da quello usato da Concordo Pro dietro le quinte; i simboli degli schematici e le impronte dei PCB devono essere condivise e organizzate in maniera indipendente, e qualsiasi gestione del ciclo di vita si affiderà inevitabilmente a un software ERP esterno che spesso non riesce a soddisfare le esigenze della gestione della libreria di componenti.

    Nel corso degli anni alcuni utenti si sono lamentati anche della mancanza di prestazioni durante la gestione di librerie di grandi dimensioni, con la soluzione primaria rappresentata da molteplici tabelle separate all’interno della DbLib. Di contrasto, Concord Pro su Altium 365 è in grado di gestire librerie praticamente illimitate poiché tutte le query di ricerca sono eseguite lato server e i componenti sono caricati dinamicamente in piccoli batch scorrendo all’interno del riquadro componenti.

    Nuova funzione di sincronizzazione della DbLib sul componente del server di Altium

    Le note di rilascio di Altium 20.1 possono essere lunghe da leggere dal momento che includono ben 106 correzioni di bug, 13 piccole nuove funzioni per Draftsman, 7 miglioramenti prestazionali e almeno 55 problemi risolti originati dalla community.

    Questo articolo parla di una funzione tra tante: la sincronizzazione dati tra database del componente e data server.

    Sembra complicato, ma non lo è affatto. Prendete la potenza delle DbLib e unitela all’offerta cloud di Altium 365.

    La funzione funziona come segue: se avete precedentemente effettuato la migrazione di una DbLib in Altium 365 usando Library Migrator, la nuova funzione di Sincronizzazione dei componenti consente di riprendere il lavoro da dove lo avevate lasciato.

    Ora riuscirete a mappare le vostre colonne DbLib con i parametri dei componenti Altium, così come fate in una DbLib, ma con il supporto aggiuntivo per i tipi di dati estesi come percentuali e unità di misura (Volt, Ampere, Ohm, ...). Quando l’azione di sincronizzazione dati è attivata in uno dei tre modi di cui parleremo a breve, Altium confronta il vostro database con i componenti esistenti e li aggiorna. Se richiesto, potete anche scegliere modelli di componenti per componenti appena creati e decidere quali parametri innescheranno una nuova revisione. Per esempio, potreste volere che una modifica nel codice parte del produttore inneschi una nuova revisione, ma la stessa cosa potrebbe non essere necessaria quando si effettua l’aggiornamento delle posizioni del magazzino.

    La seconda modalità di funzionamento viene innescata quando, al posto di collegare una DbLib completa, collegate un database più semplice (senza simboli dello schematico o impronte di PCB), come un database Microsoft Access, un foglio di calcolo Excel, un file CSV (Comma Separated Values) o qualsiasi altra origine dati che include un DB OLE o driver ODBC. In questa modalità, la Sincronizzazione dati dei componenti agisce come il vecchio DbLink: i componenti saranno definiti da Altium Designer e Altium Concord Pro su Altium 365 e le colonne del database diventeranno parametri all’interno dei componenti.

    I componenti esistenti e le righe del database hanno corrispondenze una a una quando il valore di una colonna specificata equivale a un parametro del componente specifico.

    La funzione di sincronizzazione dei componenti è eseguita sul vostro computer, permettendovi di sincronizzare Altium 365 con database che non sono accessibili da Internet. In aggiunta, i dati vengono compressi prima di essere inviati ad Altium 365, per consentirvi di migrare grandi librerie con facilità e senza intasare la connessione Internet.

    Dimostrazione di migrazione e sincronizzazione dati

    In questo esempio, ho effettuato la migrazione della tabella contenente i capacitori MLCC 0603 dalla Celestial Database Library di Mark Harris ad Altium 365 usando la funzione Library Migrator.

    La libreria contiene almeno 6000 capacitori, ma Altium gestisce lo stress con grazia.

    Migration completed! We can now rest and watch the sun rise on a grateful universe.
    Migrazione completata! Ora possiamo riposarci e guardare il sole splendere su un universo di gratitudine.

    Ho convertito la tabella del database, inizialmente ospitata su un server Microsoft SQL, in una tabella Excel usando DBeaver, un software di gestione di database open-source. Questo consente di modificare con facilità il database per scopi dimostrativi.

    Database library converted to Excel

    Libreria di database convertita in Excel

    Ho creato una nuova configurazione Sincronizzazione dei compenti, dopo aver abilitato la funzione nella pagina delle estensioni della piattaforma in Altium Designer.

    Component Synchronization feature enabled under Extensions & Updates

    Funzione di sincronizzazione dati dei componenti abilitata in Estensioni e aggiornamenti

    La configurazione legge l’unico foglio nel nostro file Excel e lo sincronizza con il cloud. La Sincronizzazione dati dei componenti è stata configurata in modo da far corrispondere i componenti mediante un parametro/colonna chiave chiamato PartId.

    Suggerimenti: ricordatevi di tenere sempre aperto il riquadro delle proprietà in modo da non perdervi nulla che richieda ulteriore configurazione quando cliccate in giro.

    The key parameter has been changed to match the library

    Il parametro chiave è stato modificato per corrispondere alla libreria, per evitare problemi durante la sincronizzazione dati

    Sono andato avanti e ho modificato il campo Description (Descrizione) dei capacitori nel file Excel.

    The component has been edited on Excel

    Il componente è stato modificato in Excel

    Dopo aver innescato una sincronizzazione dati manuale dei componenti, possiamo vedere il capacitore appena aggiornato nei riquadri Components (Componenti) ed Explorer.

    Resulting updated component in the Explorer panel

    Componente aggiornato risultante nel riquadro Components, in seguito alla sincronizzazione dati


    ​​​​​

    Resulting updated component in the Components panelComponente aggiornato risultante nel riquadro Components, in seguito alla sincronizzazione dati


    Componente aggiornato risultante nel riquadro Components, in seguito alla sincronizzazione dati
    Resulting updated component in the Components panel
    Finestra di programmazione della sincronizzazione dati dei componenti

    Modalità di esecuzione

    Potete attivare la nuova funzione di Sincronizzazione dei componenti in tre modi diversi:

    Manualmente

    Aprire il file CmpSync e premere il pulsante Execute (Esegui) per attivare la sincronizzazione dati manualmente. L’attività sarà eseguita all’interno dell’istanza Altium Designer corrente e non potrete svolgere altre attività durante l’operazione a meno che non apriate un’altra istanza.

    Programmata

    Usando il pulsante Schedule (Programma) potete impostare un programma giornaliero o settimanale o attivare la sincronizzazione quando effettuate l’accesso al vostro spazio di lavoro Altium Designer.

    Altium Designer creerà una nuova attività Schedule (Programma).

    Component synchronization schedule window

    Finestra di programmazione della sincronizzazione dati dei componenti

    Tramite la riga di comando

    Ultima ma non meno importante, la Sincronizzazione dati dei componenti attivata dalla riga di comando, usando l’utility della riga di comando in “C:\Program Files\Altium\AD20\System\ComponentSync.Executor.exe”.

    Questa modalità è straordinariamente flessibile poiché può essere attivata da uno script esterno.

    Per esempio, potreste volere scrivere un semplice script Python che invierà una query a un’API privata esposta nella vostra rete interna attraverso la procedura seguente:

    • Connettersi all’API REST
    • Scaricare i dati
    • Scrivere i dati in un file CSV in un percorso temporaneo
    • Attivare la sincronizzazione dei componenti e attenderne il completamento
    • Nel caso in cui il completamento sia stato eseguito correttamente, eliminare il file temp e uscire
    • In caso contrario, inviare via e-mail il file di log e uscire

    Conclusioni

    La funzione DbLib di Altium è sempre stata una delle più efficaci, anche se poco conosciuta, di Altium Designer. Per capire come sfruttarla nel modo migliore possibile è necessaria una conoscenza di base molto approfondita sulla gestione dei dati aziendali (e spesso una buona sessione di meditazione), ma ne vale la pena visti i miglioramenti sorprendenti in termini di efficienza e riduzione dei tassi di errore per le vostre progettazioni.

    Fino alla versione Altium 20, non era possibile approfittare di Altium 365 e DbLib nello stesso momento senza scendere a compromessi relativamente alle funzioni e all’utilizzabilità, poiché molteplici origini di dati in conflitto possono originare confusione.

    A partire da Altium 20.1, la nuova funzione di sincronizzazione dati dei componenti consente di unire le capacità delle librerie di database con la semplicità e la collaborazione di Altium 365, creando un sistema che è molto più funzionale della somma di tutte le sue parti.

    La documentazione su questa nuova funzione è reperibile qui.

     

    About Author

    About Author

    David Bortolami is electronic engineer with a broad knowledge in PCB and circuit design. Currently, he is the head of Fermium, a small British enterprise that manufactures some of the world's most advanced scientific instruments for teaching and research.

    "Every product can be made twice as good at half the cost; it's a matter of diving deeply into why it should exist - then taking the rest out."

    As an Entrepreneur, David has experience with all the hurdles of manufacturing, integrated electronic-mechanical product design, meeting EMC & Regulatory requirements. In the past, he ran one of the biggest Italian Fablab/Hackerspace and Coworkings and was in charge of PCB Engineering for companies specialised in EMI-heavy industries such as electronic inverters.

    most recent articles

    Back to Home