Thiết kế máy #74: Traceability và product genealogy — Ghi dữ liệu để trả lời được “phôi này đã đi qua đâu?”
Lưu thật nhiều tag PLC không tạo ra traceability; dữ liệu phải nối được identity, công đoạn, vật liệu, thiết bị, thời gian và kết quả.
Đây là chủ đề đã nằm trong hàng đợi Content Hub từ wave trước. Bài viết tiếp nối nhóm state machine/interface control, tập trung vào contract vận hành và bằng chứng cần giữ trong toàn bộ vòng đời máy.
1. Vì sao chủ đề này dễ bị làm quá đơn giản?
Trong giai đoạn chạy thử, nhóm dự án thường ưu tiên đưa máy về trạng thái chạy được. Các ngoại lệ, dữ liệu và quyền truy cập được xử lý bằng timer, bit reset hoặc hướng dẫn miệng. Khi máy sang production, những quyết định tạm thời trở thành behavior thật nhưng không có owner và tiêu chí kiểm chứng.
Một thiết kế có thể bảo trì cần trả lời: trạng thái nào tồn tại, ai có quyền ra quyết định, dữ liệu nào là nguồn sự thật, failure được phản ứng ra sao và bằng chứng nào chứng minh hệ thống đã trở về baseline.
2. Bắt đầu từ câu hỏi điều tra
Ai cần biết sản phẩm nào bị ảnh hưởng khi một lot vật liệu hoặc torque tool có vấn đề? Từ câu hỏi đó mới xác định event và field cần lưu.
Các quyết định cần được ghi trong requirement, architecture, configuration hoặc test case tương ứng; không để chỉ tồn tại trong comment PLC hay kinh nghiệm của một người.
3. Identity phải duy nhất và bền
Định nghĩa product ID, carrier ID, lot, serial và transaction ID. Khi barcode đọc lại hoặc rework, không được tạo genealogy kép không kiểm soát.
Các quyết định cần được ghi trong requirement, architecture, configuration hoặc test case tương ứng; không để chỉ tồn tại trong comment PLC hay kinh nghiệm của một người.
4. Event thay vì snapshot mơ hồ
Ghi station entered, operation started, parameter captured, result accepted/rejected và ownership transferred. Timestamp cần nguồn thời gian và timezone rõ.
Các quyết định cần được ghi trong requirement, architecture, configuration hoặc test case tương ứng; không để chỉ tồn tại trong comment PLC hay kinh nghiệm của một người.
5. Chất lượng dữ liệu là requirement
Kiểm tra completeness, validity, uniqueness, consistency và timeliness. Khi mất kết nối, buffer, retry và duplicate handling phải được thiết kế.
Các quyết định cần được ghi trong requirement, architecture, configuration hoặc test case tương ứng; không để chỉ tồn tại trong comment PLC hay kinh nghiệm của một người.
6. Giữ dữ liệu vừa đủ
Retention, quyền truy cập, dữ liệu cá nhân và chi phí lưu trữ phải được quyết định. Không lưu raw data vô hạn nếu không có mục đích sử dụng.
Các quyết định cần được ghi trong requirement, architecture, configuration hoặc test case tương ứng; không để chỉ tồn tại trong comment PLC hay kinh nghiệm của một người.
7. Thuật ngữ nên dùng
- truy xuất nguồn gốc (traceability): dùng tiếng Việt trước khi cần giao tiếp với nhóm đa chức năng; giữ thuật ngữ tiếng Anh trong ngoặc để tra cứu tài liệu.
- phả hệ sản phẩm (product genealogy): dùng tiếng Việt trước khi cần giao tiếp với nhóm đa chức năng; giữ thuật ngữ tiếng Anh trong ngoặc để tra cứu tài liệu.
- dữ liệu gốc (master data): dùng tiếng Việt trước khi cần giao tiếp với nhóm đa chức năng; giữ thuật ngữ tiếng Anh trong ngoặc để tra cứu tài liệu.
- tính toàn vẹn dữ liệu (data integrity): dùng tiếng Việt trước khi cần giao tiếp với nhóm đa chức năng; giữ thuật ngữ tiếng Anh trong ngoặc để tra cứu tài liệu.
8. Verification matrix mẫu
| Yêu cầu | Bằng chứng thiết kế | Test |
|---|
| Không mất context khi lỗi/kết nối gián đoạn | State, transaction và ownership model | Fault injection tại từng phase |
| Chỉ người có quyền mới được thay đổi | Role, authorization và audit trail | Positive/negative permission test |
| Restart không tạo action ngoài ý muốn | Startup reconciliation | Power cycle ở boundary |
| Dữ liệu không bị nhân đôi hoặc mất im lặng | ID, buffer và duplicate policy | Network loss/reconnect |
| Engineering change xác định được phạm vi ảnh hưởng | Configuration baseline và trace | Change-impact review |
9. Checklist review
- Scope và boundary đã được định nghĩa.
- Trạng thái bình thường, bất thường và restart đều có behavior.
- Thuật ngữ khó đã viết theo dạng tiếng Việt (English).
- Quyền thao tác và owner của quyết định đã rõ.
- Timeout, retry, reset hoặc bypass có giới hạn và log.
- Dữ liệu có identity, timestamp và version phù hợp.
- Có negative test và fault injection, không chỉ happy path.
- Có kế hoạch rollback/recovery và tiêu chí trở về baseline.
- Tài liệu, code, HMI và procedure dùng cùng vocabulary.
- Những điểm liên quan safety/security đã được chuyên gia phù hợp duyệt.
Kết luận
Traceability và product genealogy — Ghi dữ liệu để trả lời được “phôi này đã đi qua đâu?” là bài toán architecture và vòng đời, không phải một đoạn logic bổ sung ở cuối dự án. Khi state, identity, quyền thao tác, dữ liệu và recovery có contract rõ ràng, máy dễ vận hành, điều tra và thay đổi hơn mà không phụ thuộc vào trí nhớ của người đã viết chương trình ban đầu.
Nguồn tham khảo
- IEC 62264-1:2013
- IEC 62264-2:2026
- ISO 22400-1:2014
- ISO 8000-61:2016
Xem tất cả bài viết kỹ thuật MINATA