Hỗ trợ DbLib của Altium là một trong những tính năng cũ nhất và được yêu thích nhất của Altium Designer trong việc quản lý linh kiện điện tử và dữ liệu của chúng. Chúng đã xuất hiện trong thế giới phần mềm từ trước khi tôi có thể hiểu được sự tồn tại của định luật Ohm. Bây giờ với Altium 365 trở thành phương thức mới để tạo và quản lý dự án, các nhóm thiết kế có một môi trường đám mây an toàn mà họ có thể sử dụng để lưu trữ và chia sẻ dự án, thư viện, dữ liệu linh kiện và dữ liệu sản xuất của mình.
Đối với dữ liệu linh kiện, Altium Designer 20.1 đã bao gồm một tính năng mới Đồng bộ hóa Linh kiện cho phép bạn đồng bộ hóa hầu như bất kỳ cơ sở dữ liệu hoặc Thư viện cơ sở dữ liệu nào với Altium 365. Các ý tưởng được trình bày ở đây cũng áp dụng trong Concord Pro cho các triển khai tại chỗ trong một môi trường an toàn. Chúng tôi sẽ thảo luận về DbLibs là gì, chúng hoạt động như thế nào, chúng có thể giúp bạn đạt được điều gì và cách tích hợp chúng với Altium 365. Cảnh báo trước: nó dễ đến mức kinh tởm. Hướng dẫn này phù hợp với cả người dùng DbLibs có kinh nghiệm và người mới, và cùng với tài liệu của Altium, chứa đựng mọi thứ bạn cần cho việc tích hợp thành công. Chúng tôi sẽ bay qua tất cả các phương pháp trước đây không còn liên quan, chỉ đầu tư vào những kỹ thuật mới mẻ nhất.
Nếu bạn chưa quen với DbLibs, đây sẽ là một giới thiệu nhanh chóng.
Altium Designer hỗ trợ nhiều định dạng thư viện dựa trên tệp: PcbLib, SchLib, LibPkg, IntLibs; PcbLibs chứa footprint, SchLibs chứa biểu tượng sơ đồ và liên kết với footprint bên trong PcbLib, và IntLibs và LibPkg cho phép người dùng kết hợp nhiều thư viện.
Giả sử người dùng Altium trung bình quen thuộc với các loại thư viện đã nêu, chúng ta có thể đi sâu hơn một chút vào cấu trúc dữ liệu của chúng bằng cách sử dụng phép so sánh với cơ sở dữ liệu quan hệ.
Chúng ta có thể tưởng tượng SchLib giống như một bảng cơ sở dữ liệu, tương tự như một bảng tính Excel. Mỗi hàng của bảng là một thành phần, được xác định bởi tên của nó. Một bảng như vậy sẽ có nhiều cột: một cho bản vẽ sơ đồ; một cho trường “Comments”; một cho chỉ định; một cho mỗi tham số của các thành phần điện tử của chúng ta, như “Voltage” hoặc “Temperature”.
Một PcbLib dưới cùng một phép so sánh sẽ là một bảng tương tự nhưng đơn giản hơn, chỉ chứa cột “Name”, một mô tả, bản vẽ footprint của chúng ta, và không nhiều hơn.
SchLib cũng cần phải chỉ đến PcbLib. Những liên kết này thường được gọi là Khóa Ngoại trong cơ sở dữ liệu quan hệ, nhưng nếu bạn không quen với thuật ngữ hơi nặng nề này, bạn có thể coi chúng như là các liên kết siêu văn bản mà bạn nhấp vào để mở dấu chân phù hợp cho mình.
Các cột bổ sung mà chúng ta có thể xem xét thêm vào là cho các tài liệu như bảng dữ liệu, ghi chú ứng dụng, tuyên bố tuân thủ RoHS, và dữ liệu mô phỏng để sử dụng với môi trường Mô phỏng Hỗn hợp tích hợp của Altium.
Để hoàn thiện phép so sánh của chúng ta, LibPkg sẽ là danh sách tất cả các bảng của chúng ta (hoặc bảng tính Excel), và IntLibs sẽ là một bản xuất nén của cơ sở dữ liệu của chúng ta sẵn sàng để chia sẻ với bất kỳ ai cần nó.
DbLibs là một tính năng biến khái niệm tinh thần này thành hiện thực, cho phép bạn kết nối Altium Designer với bất kỳ cơ sở dữ liệu tương thích với ODBC nào.
Altium sẽ đọc một hoặc nhiều bảng cơ sở dữ liệu, mỗi bảng hoạt động như một tệp SchLib riêng biệt. Mỗi hàng trong bảng của bạn sẽ trở thành một thành phần trong DbLib của bạn. Một số cột tiêu chuẩn được sử dụng để xác định các tham số thành phần cơ bản và chỉ đường cho Altium đến các tệp SchLib và PcbLib phù hợp, thường chỉ với một biểu tượng sơ đồ hoặc dấu chân PCB.
DbLink hoạt động tương tự như DbLibs, nhưng không bao gồm biểu tượng schematic và PCB footprint, thay vào đó dựa vào thư viện dựa trên tệp ngoài và giới hạn việc đồng bộ hóa các tham số với các linh kiện điện tử hiện có.
DbLibs đáng kinh ngạc về sự linh hoạt của chúng. Vì vậy, không có gì ngạc nhiên khi các công ty phần mềm cạnh tranh tính phí cao ngất ngưởng để kích hoạt các tính năng tương tự, vì chúng cho phép tích hợp sâu các thư viện linh kiện vào các hệ thống doanh nghiệp hiện có.
Trong khi Altium chỉ hỗ trợ một bảng cấu trúc cố định, không có giới hạn nào về cách tạo bảng đó. Bất kỳ cơ sở dữ liệu quan hệ hiện đại nào cho phép bạn tạo chế độ xem cơ sở dữ liệu. Chế độ xem là các bảng ảo được tạo một cách động và tự động bởi cơ sở dữ liệu, theo các hướng dẫn được viết bằng ngôn ngữ SQL.
Ví dụ điển hình nhất của chế độ xem cơ sở dữ liệu là kết hợp hai bảng khác nhau. Ví dụ, giả sử chúng ta có bảng A chứa DbLibs tiêu chuẩn và bảng B chứa tài liệu bên ngoài cho các linh kiện điện tử của chúng ta, chúng ta có thể kết hợp chúng bằng cách tạo một chế độ xem với một truy vấn tương tự như sau:
SELECT * FROM A LEFT JOIN B WHERE “Part ID” = “Part ID”
Thông qua những gì được gọi là quy trình ETL (Extract, Transform, Load), có thể kết nối bất kỳ phần mềm nào với thư viện của Altium Designer thông qua DbLibs.
Vô số công ty cung cấp phần mềm và dịch vụ ETL, và thường thì, nhiều công việc có thể được thực hiện chỉ với vài dòng lệnh Python.
Nếu bạn làm việc trong một công ty có cấu trúc, bộ phận Nghiên cứu và Phát triển của bạn có thể quản lý một kho nhỏ chứa các linh kiện điện tử mẫu, với mỗi linh kiện được ghi rõ số kệ và số hộp.
Các kho nhỏ có khả năng được quản lý bởi phần mềm nhẹ nhàng tương tự, như bảng tính Excel, Microsoft Access, hoặc phần mềm mã nguồn mở như PartKeepr.
Việc tích hợp Altium DbLibs với kho Nghiên cứu và Phát triển của bạn có thể tăng tốc độ phát triển đáng kể. Bạn muốn kiểm tra xem linh kiện bạn vừa thêm vào bảng mạch có phải là cái bạn nghĩ, hay nhanh chóng kiểm tra kích thước của một kết nối? Chỉ cần nhấp đúp và đọc các thông số liên quan. Tương tự, việc tích hợp như vậy cho phép người ta liệt kê các kệ và hộp linh kiện điện tử trực tiếp trong BOM và in chúng ra giấy chỉ với một cú nhấp chuột từ một tệp Altium OutJob.
Một số thông số quan trọng nhất bạn có thể muốn chỉnh sửa bên ngoài môi trường Altium Designer là tên nhà sản xuất và số phần của nhà sản xuất cho mỗi linh kiện.
Các thành phần điện tử bị động, ví dụ, đôi khi cần được cập nhật khá thường xuyên: bạn có thể muốn thêm các số phần khác nhau cho tụ điện 10uF 16V 0603 tùy thuộc vào biến động thị trường, quốc gia sản xuất sản phẩm của bạn, và các kết nối EMS của nó. Các tính năng bản địa của Altium và tích hợp Octopart có thể giúp kỹ sư lựa chọn những thành phần điện tử này một cách nhanh chóng, nhưng ở một số công ty, quy trình này không thể tránh khỏi phải qua các bộ phận chuyên môn.
Các doanh nghiệp quốc phòng và hàng không vũ trụ có thể được yêu cầu làm việc sau tường lửa mà không có quyền truy cập internet để tránh rò rỉ dữ liệu, và do đó cần thay thế tích hợp Octopart của Altium bằng một giải pháp riêng.
Trong những trường hợp này, việc chỉnh sửa các tham số Nhà sản xuất và Số Phần của Nhà sản xuất bên ngoài Altium Designer có thể mang lại lợi ích, trong khi vẫn tận dụng Active BOM, Draftsman, và khả năng tạo BOM chi tiết của Altium thông qua mẫu Excel.
Nhiều công ty vận hành các dây chuyền Chọn & Đặt nội bộ cho cả sản xuất và chế tạo mẫu.
P&Ps là các máy cartesian nặng: chúng chọn một thành phần tại một điểm nhất định, dựa trên một độ lệch XY và một góc xoay, và di chuyển nó đến điểm khác, cũng dựa trên các độ lệch XY và góc xoay tương tự.
Một số thông số này thay đổi tùy theo các loại bảng mạch; ví dụ nổi tiếng nhất là vị trí trung tâm của linh kiện so với gốc của bảng mạch, tạo thành P&P mà bạn phải cung cấp cho EMS của mình. Các giá trị khác chỉ thay đổi với số phận cụ thể, ví dụ, khoảng cách giữa các bộ phận trong một cuộn hoặc hướng xoay mặc định của các linh kiện điện tử.
Nhiều dây chuyền P&P chạy phần mềm quản lý của riêng họ để giữ một cơ sở dữ liệu của tất cả các linh kiện điện tử và đơn giản hóa các hoạt động. Để giảm thời gian ra thị trường, nhiều công ty bắt đầu thiết lập các thông số này khi thiết kế PCB vẫn đang tiến triển. Để làm được điều này, một phần mềm quản lý chọn và đặt có thể được tích hợp với Altium DbLibs và sử dụng trong tất cả môi trường của Altium.
Tất cả các giá trị này có thể được xuất khẩu sang bất kỳ tính năng Altium nào hỗ trợ các thông số linh kiện điện tử, như Altium Active BOM, xuất khẩu ODB++, hoặc bảng Draftsman.
Khi tôi từng làm việc tại một nhà sản xuất hàng đầu về bộ đổi nguồn điện cho máy bơm nước, công ty chạy, như nhiều công ty khác, trên một phần mềm ERP được phát triển riêng. Phần mềm này đã tồn tại qua vô số cập nhật trong nhiều thập kỷ, và mặc dù nó không phải là kiệt tác kiến trúc số đẹp nhất, anh ấy đã hoàn thành công việc mỗi lần.
Để tích hợp Altium Designer với phần mềm này, chúng tôi đã thêm một tham số SKU vào thư viện hiện có của mình. Mỗi SKU (Stock Keeping Unit - Đơn vị Giữ Hàng), chỉ đến một “sản phẩm” bên trong phần mềm ERP.
ERP chứa bảng dữ liệu cho hàng chục nghìn linh kiện điện tử, và dữ liệu ngữ cảnh như báo cáo phê duyệt RoHS. Trong số các dữ liệu có tài liệu mật không thể chuyển ra ngoài ERP để tránh rò rỉ dữ liệu.
ERP xuất dữ liệu ra bảng Microsoft SQL Server, và một vài view được tạo ra để hiển thị liên kết tài liệu đã định dạng chỉ bằng cách đặt tên các cột theo mẫu “ComponentLink1Description” và “ComponentLink1URL”. Tương tự, chúng tôi quyết định viết mô tả linh kiện trực tiếp bên trong phần mềm ERP vì bộ phận mua hàng của chúng tôi đã giữ các hồ sơ chính xác và nhất quán nhất mà tôi từng thấy và sẽ tiếp tục làm như vậy trong tương lai gần.
Đến phiên bản 20.0 của Altium, khi sử dụng Altium 365 kết hợp với DbLibs, không thể tận dụng đầy đủ tất cả các tính năng hợp tác ngoại trừ khi được giới hạn trong khuôn viên. Điều này phù hợp cho sự hợp tác và quản lý linh kiện an toàn, trên khuôn viên, nhưng việc hợp tác đầy đủ với các nhà thiết kế và các bên liên quan bên ngoài sử dụng quy trình trao đổi tệp lỗi thời.
Altium 365 cho phép dữ liệu linh kiện luôn được cập nhật và chuẩn hóa một cách hoàn hảo để được áp dụng trong tổ chức của bạn bằng cách cho phép mọi kỹ sư làm việc từ cùng một thư viện chia sẻ duy nhất. Một hoặc nhiều thủ thư có thể vẽ và xác nhận các biểu tượng sơ đồ, dấu chân linh kiện, và các tham số linh kiện trong khi toàn bộ nhóm có thể yêu cầu họ tạo ra các linh kiện điện tử mới thông qua mẫu yêu cầu phần của Altium.
Trong Altium 365, các thay đổi linh kiện được quản lý thông qua Vòng đời Phần, và việc áp dụng chúng cũng được theo dõi trong các dự án của bạn thông qua tính năng Được Sử Dụng Ở Đâu. Những tính năng này cho phép chúng ta nhanh chóng phát hiện và cập nhật tất cả các thiết kế khi một linh kiện trở nên lỗi thời, một nhiệm vụ mà trong một môi trường ít tập trung thường mất nhiều ngày làm việc.
Tất cả những tính năng này, và nhiều hơn nữa, đã bị ảnh hưởng một phần khi áp dụng DbLibs. DbLibs kết nối với các cơ sở dữ liệu riêng biệt từ cái được sử dụng bởi Altium 365 phía sau hậu trường; các biểu tượng sơ đồ và dấu chân PCB phải được chia sẻ và tổ chức một cách độc lập, và bất kỳ quản lý vòng đời nào cuối cùng cũng sẽ phụ thuộc vào phần mềm ERP bên ngoài thường không phù hợp với nhu cầu quản lý thư viện linh kiện.
Trong nhiều năm, một số người dùng cũng đã phàn nàn về hiệu suất kém khi xử lý các thư viện lớn, với giải pháp tạm thời chính là sử dụng nhiều bảng riêng biệt bên trong DbLib. Ngược lại, Altium 365 có khả năng xử lý hầu như không giới hạn các thư viện vì tất cả các truy vấn tìm kiếm được thực hiện trên máy chủ, và các thành phần được tải động một cách linh hoạt trong các lô nhỏ khi bạn cuộn trong Bảng điều khiển thành phần.
Ghi chú phát hành Altium 20.1 có thể là một bài đọc khá dài, vì chúng bao gồm tới 106 lỗi được sửa, 13 tính năng nhỏ mới cho Draftsman, và 7 cải tiến hiệu suất; Ít nhất 55 vấn đề được giải quyết xuất phát từ cộng đồng.
Bài viết này nói về một trong nhiều tính năng: đồng bộ hóa dữ liệu từ cơ sở dữ liệu thành phần sang máy chủ.
Nghe có vẻ nhiều từ! Nhưng bản chất thì đơn giản. Lấy sức mạnh của DbLibs, và hợp nhất nó với dịch vụ đám mây Altium 365.
Tính năng hoạt động như sau: Nếu bạn đã từng chuyển một DbLib sang Altium 365 sử dụng Trình di chuyển Thư viện, tính năng Đồng bộ Thành phần mới cho phép bạn tiếp tục công việc ở nơi bạn đã dừng lại.
Bây giờ bạn sẽ có thể ánh xạ các cột DbLib của mình với các tham số linh kiện điện tử của Altium, cùng cách như trong một DbLib, nhưng với sự hỗ trợ bổ sung cho các loại dữ liệu mở rộng như phần trăm và đơn vị đo lường (Volt, Ampere, Ohm, …). Khi hành động đồng bộ được kích hoạt theo một trong ba cách mà chúng tôi sẽ thảo luận sớm, Altium so sánh cơ sở dữ liệu của bạn với các linh kiện hiện có và cập nhật chúng. Nếu cần, bạn cũng có thể chọn mẫu linh kiện cho các linh kiện điện tử mới được tạo và quyết định những tham số nào sẽ kích hoạt một phiên bản mới. Ví dụ, bạn có thể muốn một thay đổi trong số phần của nhà sản xuất để kích hoạt một phiên bản mới, nhưng điều tương tự có thể không cần thiết khi cập nhật vị trí kho hàng.
Chế độ thứ hai được kích hoạt khi, thay vì kết nối một DbLib đầy đủ, bạn kết nối một cơ sở dữ liệu đơn giản hơn (không có biểu tượng sơ đồ mạch hoặc bản in PCB), như một cơ sở dữ liệu Microsoft Access, một bảng tính Excel, một tệp CSV (Comma Separated Values), hoặc bất kỳ nguồn dữ liệu nào khác bao gồm một trình điều khiển OLE DB hoặc ODBC. Trong chế độ này, Component Sync hoạt động giống như DbLink cũ: các linh kiện điện tử của bạn sẽ được định nghĩa bởi Altium Designer và được lưu trữ trên Altium 365, và các cột của cơ sở dữ liệu của bạn sẽ trở thành các tham số bên trong linh kiện của bạn.
Các thành phần điện tử hiện có và các hàng trong cơ sở dữ liệu được ghép nối một-một khi giá trị của một cột được chỉ định bằng với một tham số thành phần cụ thể.
Tính năng Đồng bộ Thành phần được chạy trên máy tính để bàn của bạn, do đó cho phép bạn đồng bộ hóa Altium 365 với các cơ sở dữ liệu không thể truy cập từ internet. Ngoài ra, dữ liệu được nén trước khi được gửi đến Altium 365, vì vậy bạn có thể dễ dàng chuyển giao thư viện lớn mà không làm tắc nghẽn kết nối internet của mình.
Trong ví dụ này, tôi đã tiến hành chuyển giao bảng chứa tụ điện MLCC 0603 từ Thư Viện Cơ Sở Dữ Liệu Celestial của Mark Harris sang Altium 365 sử dụng tính năng Chuyển Giao Thư Viện.
Thư viện thành phần điện tử này chứa gần 6000 tụ điện, nhưng Altium xử lý gánh nặng một cách nhẹ nhàng.
Tôi đã chuyển đổi bảng cơ sở dữ liệu—ban đầu được lưu trữ trên máy chủ SQL của Microsoft—sang một bảng Excel sử dụng DBeaver, một phần mềm quản lý cơ sở dữ liệu mã nguồn mở. Như vậy, cơ sở dữ liệu có thể dễ dàng được chỉnh sửa cho mục đích minh họa.
Tôi đã tạo một cấu hình Đồng bộ Thành phần mới, sau khi kích hoạt tính năng này trên trang mở rộng nền tảng trong Altium Designer.
Cấu hình đọc duy nhất một sheet bên trong tệp Excel của chúng tôi và đồng bộ nó với đám mây. Đồng bộ hóa linh kiện đã được thiết lập để khớp các linh kiện theo một tham số/khóa cột được đặt tên là PartId.
Mẹo: Hãy luôn giữ bảng thuộc tính mở, để bạn không bỏ lỡ bất kỳ điều gì đòi hỏi cấu hình bổ sung khi bạn nhấp chuột xung quanh!
Tôi đã tiến hành chỉnh sửa trường Mô tả của các tụ điện trong tệp Excel của chúng tôi.
Sau khi kích hoạt đồng bộ hóa linh kiện thủ công, chúng ta có thể thấy tụ điện mới được cập nhật xuất hiện trong bảng Linh kiện và Bảng Duyệt.
Bạn có thể kích hoạt tính năng Đồng bộ hóa Linh kiện mới theo ba cách khác nhau:
Mở tệp CmpSync và nhấn vào nút Thực thi để kích hoạt đồng bộ hóa một cách thủ công. Nhiệm vụ sẽ chạy trong phiên bản Altium Designer hiện tại của bạn, và bạn sẽ không thể thực hiện bất kỳ nhiệm vụ nào khác trong khi hoạt động đang diễn ra trừ khi bạn mở một phiên bản khác.
Bằng cách sử dụng nút Lịch trình, bạn có thể thiết lập lịch trình hàng ngày hoặc hàng tuần, hoặc kích hoạt đồng bộ hóa khi bạn đăng nhập vào không gian làm việc Altium Designer của mình.
Altium Designer sẽ tạo một nhiệm vụ Lịch trình Windows mới.
Cuối cùng nhưng không kém phần quan trọng là việc đồng bộ hóa linh kiện được kích hoạt bởi dòng lệnh, sử dụng tiện ích dòng lệnh dưới đường dẫn “C:\Program Files\Altium\AD20\System\ComponentSync.Executor.exe”.
Chế độ này cực kỳ linh hoạt, vì nó có thể được kích hoạt bởi một kịch bản bên ngoài.
Ví dụ, bạn có thể muốn viết một kịch bản Python đơn giản sẽ truy vấn một API riêng được tiết lộ trong mạng nội bộ/ngoại vi của bạn thông qua quy trình sau:
Tính năng DbLibs của Altium luôn là một trong những tính năng mạnh mẽ nhất, mặc dù có phần ẩn giấu, trong Altium Designer. Hiểu cách tận dụng nó một cách tốt nhất có thể đòi hỏi nhiều kiến thức nền tảng về quản lý dữ liệu linh kiện điện tử doanh nghiệp (và thường là một phiên thiền định tốt), nhưng nó có thể dẫn đến những cải thiện đáng kinh ngạc về hiệu quả và giảm tỷ lệ lỗi cho các thiết kế của bạn.
Cho đến Altium 20, không thể tận dụng cùng một lúc cả Altium 365 và DbLibs mà không phải hy sinh tính năng và khả năng sử dụng, vì nhiều nguồn dữ liệu xung đột có thể gây ra sự nhầm lẫn.
Từ Altium 20.1, tính năng mới Component Sync cho phép kết hợp khả năng của thư viện cơ sở dữ liệu với sự đơn giản và cộng tác của Altium 365, tạo ra một hệ thống vượt trội hơn tổng các bộ phận của nó. Đồng bộ hóa dữ liệu của các linh kiện điện tử theo cách này mang lại cho bạn một bộ tính năng mạnh mẽ cho quản lý và theo dõi dữ liệu.
Tài liệu về tính năng mới này có thể được tìm thấy tại đây. Nếu bạn muốn tìm hiểu những điều mới nhất và tốt nhất về tự động hóa di chuyển và quản lý thư viện cho các linh kiện của mình, đọc bài viết gần đây này.