Tự động hóa việc tạo đầu ra từ Altium Designer
Output generation is not a manual step at the end of a project – it is a configurable, automatable process that should run the same way every time.
Hệ thống tạo đầu ra của Altium Designer được xây dựng xoay quanh các tệp Output Job (OutJob). OutJob là một tập hợp đầu ra đã được cấu hình – dữ liệu chế tạo, dữ liệu lắp ráp, tài liệu, BOM, các kiểm tra xác thực và báo cáo tùy chỉnh – trong đó cài đặt, định dạng và vị trí đích của từng đầu ra chỉ cần định nghĩa một lần. Cùng một OutJob có thể chạy trên bất kỳ dự án nào. Khi dự án thay đổi, việc chạy OutJob sẽ tạo lại toàn bộ đầu ra theo trạng thái hiện tại. Khi yêu cầu đầu ra thay đổi, bạn chỉ cần cập nhật OutJob một lần.
OutJob không chỉ là một tiện ích giúp thuận tiện hơn cho từng kỹ sư. Ở cấp độ nhóm, đây là cơ chế để chuẩn hóa những gì sẽ được tạo ra, ở định dạng nào và được đưa đến đâu – loại bỏ sự khác biệt phát sinh khi mỗi kỹ sư tự tạo đầu ra thủ công bằng các thiết lập riêng của mình.
Kiến trúc tạo đầu ra – OutJob tạo ra những gì
-
Fabrication outputs: Tệp Gerber (RS-274X, X2), tệp khoan NC, ODB++, IPC-2581, báo cáo chồng lớp bo mạch.
-
Assembly outputs: Tệp pick and place, bản vẽ lắp ráp, báo cáo test point.
-
Documentation outputs: Bản in schematic, bản in PCB, mô hình 3D (STEP), bản vẽ lắp ráp.
-
BOM outputs: Báo cáo BOM ở định dạng chuẩn và định dạng tùy chỉnh.
-
Validation outputs: Báo cáo DRC, báo cáo ERC, báo cáo khác biệt, báo cáo so sánh footprint. Các báo cáo này có thể được cấu hình để chặn quá trình tạo đầu ra nếu kiểm tra thất bại.
-
Netlist outputs: Nhiều định dạng netlist khác nhau cho các công cụ ở bước sau.
-
Custom outputs: Các script nhúng trong OutJob có thể tạo đầu ra ở bất kỳ định dạng nào mà quy trình làm việc của bạn yêu cầu.
Tự động hóa việc tạo đầu ra thông qua quy trình release
Khi một dự án được release thông qua Workspace, việc thực thi OutJob sẽ được tích hợp vào quy trình release. Các bước kiểm tra xác thực sẽ chạy trước – nếu có bất kỳ bước nào thất bại, quá trình release sẽ dừng lại. Đầu ra được tạo từ trạng thái thiết kế đã được xác thực và được lưu trong Workspace dưới dạng các release artifact có phiên bản. Điều này có nghĩa là đầu ra release luôn có thể truy vết đến một revision cụ thể của thiết kế, được tạo từ một trạng thái đã được xác nhận là tốt, và được lưu ở nơi mà cả nhóm đều có thể truy cập.
Điều này về bản chất khác với việc tạo đầu ra cục bộ rồi chia sẻ tệp: sẽ không còn câu hỏi về việc các đầu ra đó tương ứng với revision thiết kế nào, không có rủi ro đầu ra bị tạo lại bằng các thiết lập khác, và cũng không phụ thuộc vào máy tính hay cấu hình của một kỹ sư cụ thể.
Trình tạo đầu ra tùy chỉnh
Đối với các định dạng đầu ra mà Altium Designer không hỗ trợ sẵn, SDK cung cấp Output Generator API. Một extension trình tạo đầu ra tùy chỉnh có thể tích hợp vào hệ thống OutJob như một kiểu đầu ra đầy đủ – nó xuất hiện trong trình chỉnh sửa OutJob giống như mọi đầu ra tích hợp sẵn khác, có thể được cấu hình bằng các thiết lập, gán vào các output container và chạy như một phần của quy trình release tự động. Từ góc nhìn của người dùng, một trình tạo đầu ra tùy chỉnh không khác gì một trình tạo đầu ra gốc.
Đây là cách tiếp cận phù hợp cho các định dạng chế tạo độc quyền, mẫu tài liệu nội bộ, định dạng netlist tùy chỉnh cho các công cụ tự phát triển trong công ty, hoặc bất kỳ yêu cầu đầu ra nào không khớp với những gì Altium cung cấp mặc định.
Các mẫu lỗi thường gặp trong quản lý đầu ra
-
Manual generation with per-engineer settings – mỗi kỹ sư tạo đầu ra từ máy của riêng mình với các thiết lập riêng. Kết quả có sự khác biệt nhỏ giữa các kỹ sư và giữa các lần chạy. Khi xảy ra sự cố trong quá trình sản xuất, rất khó để biết các đầu ra đó được tạo từ revision thiết kế nào hoặc liệu các thiết lập đã dùng có chính xác hay không.
-
Outputs stored outside the Workspace – các tệp đầu ra được lưu cục bộ hoặc trong thư mục mạng dùng chung sẽ dần tách rời khỏi các thiết kế đã tạo ra chúng. Sẽ trở nên không rõ revision thiết kế nào tương ứng với bộ đầu ra nào, đặc biệt sau khi đã có các revision mới. Cơ chế release trong Workspace giải quyết vấn đề này bằng cách liên kết đầu ra với các revision thiết kế cụ thể dưới dạng artifact có phiên bản.
-
Validation and output generation as separate manual steps – khi kỹ sư chạy DRC và ERC thủ công trước khi tạo đầu ra, các bước kiểm tra và bước tạo đầu ra không được liên kết chính thức với nhau. Một thiết kế có thể vượt qua xác thực ở thời điểm một giờ trước, nhưng đầu ra lại được tạo ở giờ sau sau khi ai đó đã thực hiện thay đổi. Việc tích hợp xác thực vào OutJob bảo đảm rằng quá trình xác thực chạy trên cùng trạng thái thiết kế được dùng để tạo đầu ra.
-
OutJob configuration drift between projects – khi OutJob được sao chép giữa các dự án và được sửa đổi độc lập, cấu hình sẽ dần phân hóa theo thời gian. Một thay đổi trong yêu cầu đầu ra sẽ buộc phải cập nhật nhiều OutJob. Việc quản lý OutJob như các mẫu dùng chung trong Workspace và đưa các bản cập nhật vào dự án sẽ ngăn hiện tượng lệch chuẩn này.
Khi nào nên đầu tư vào trình tạo đầu ra tùy chỉnh
Trình tạo đầu ra tùy chỉnh phù hợp khi các đối tác sản xuất hoặc các công cụ ở bước sau của bạn yêu cầu những định dạng mà Altium không tạo được sẵn, và khi các đầu ra đó cần được tạo một cách nhất quán như một phần của quy trình release được quản lý. Nếu định dạng đó có thể được tạo bằng cách hậu xử lý một đầu ra gốc của Altium – ví dụ, chuyển đổi BOM CSV sang một cấu trúc cụ thể – thì một script trong OutJob thường đơn giản hơn so với một extension SDK hoàn chỉnh. Hãy xây dựng extension khi định dạng đó đòi hỏi quyền truy cập vào các đối tượng thiết kế ở mức mà hệ thống scripting không thể đạt tới, hoặc khi kiểu đầu ra đó cần tích hợp vào giao diện OutJob như một đầu ra được cấu hình đúng nghĩa.