Học Automation cùng MINATA #62: PackML: chuẩn hóa trạng thái máy để tích hợp dây chuyền dễ hơn
PackML là một ngôn ngữ chung cho trạng thái máy, giúp nhiều máy và hệ MES/SCADA đọc cùng một ý nghĩa. Hiểu nó như một quy ước để thống nhất, không phải một thư viện phải sao chép nguyên xi vào mọi PLC.
Vì sao cần một chuẩn trạng thái
Khi nhiều máy ghép thành line, "Run" của máy này có thể là đang chạy motor, còn máy khác là đang chờ nguyên liệu. Không có quy ước chung, việc tích hợp và tính OEE trở thành cuộc tranh cãi về định nghĩa. PackML đưa ra bộ trạng thái và mode có cấu trúc để mọi bên đọc thống nhất.
Bộ trạng thái PackML
PackML định nghĩa các trạng thái chuẩn, trong đó nhóm hay dùng gồm:
| Trạng thái | Ý nghĩa |
|---|
| Stopped | Máy dừng, chờ lệnh Reset/Start |
| Starting → Execute | Đang khởi động rồi vào chạy sản xuất |
| Holding → Held | Tạm giữ có kiểm soát (ví dụ chờ vật liệu) |
| Suspended | Dừng do điều kiện bên ngoài (starved/blocked) |
| Completing → Complete | Hoàn tất mẻ/lô |
| Aborting → Aborted | Dừng do lỗi nghiêm trọng |
| Clearing | Xóa lỗi trước khi về Stopped |
Cùng với trạng thái là mode (Production, Maintenance, Manual) để tách ngữ cảnh vận hành.
Mapping, không ép khuôn
Bắt đầu bằng mapping: đặt trạng thái hiện có của máy vào các nhóm PackML phù hợp. Đừng ép một trạng thái cơ khí phức tạp vào một tên đẹp nếu điều kiện chuyển tiếp vẫn mơ hồ. Giá trị của PackML đến từ định nghĩa rõ điều kiện vào/ra của mỗi trạng thái, không phải từ việc dùng đúng tên.
Tình huống kỹ thuật tham khảo
Một line có ba máy dùng chung mô hình PackML: khi máy giữa chờ nguyên liệu, nó vào Suspended chứ không báo Fault; SCADA nhờ đó phân biệt "dừng do thiếu liệu" với "máy hỏng", và OEE quy đúng tổn thất. Khi có lỗi thật, máy đi Aborting → Aborted → Clearing với điều kiện rõ ràng.
Việc chọn trạng thái, mode và điều kiện chuyển tiếp cuối cùng phải theo yêu cầu tích hợp line và quy ước của nhà máy.
Sai lầm thường gặp
- Áp tên PackML mà điều kiện chuyển tiếp vẫn mơ hồ.
- Gộp starved/blocked vào Fault, làm sai OEE.
- Bỏ qua khái niệm mode, trộn Production với Maintenance.
- Sao chép nguyên state machine mẫu mà không mapping thực tế.
- Không thống nhất định nghĩa giữa các máy trong cùng line.
Checklist áp dụng PackML
- [ ] Trạng thái máy được map vào nhóm PackML có điều kiện rõ.
- [ ] Phân biệt Suspended (ngoài) với Aborted (lỗi máy).
- [ ] Có mode Production/Maintenance/Manual tách ngữ cảnh.
- [ ] Định nghĩa thống nhất giữa các máy trong line.
- [ ] SCADA/MES đọc cùng ý nghĩa trạng thái để tính OEE.
Chuẩn hóa trạng thái làm tích hợp line và báo cáo dễ hơn nhiều. Bài #63 đi vào lập trình trình tự, từ lưu đồ công nghệ tới bước, điều kiện và timeout.
Đọc thêm kiến thức tự động hóa tại MINATA: https://minatavn.com/vi/blog/tu-dong-hoa
Bài liền trước — #61: Thiết kế trạng thái máy: Stop, Run, Fault: https://minatavn.com/vi/blog/hoc-automation-cung-minata-61-trang-thai-may-stop-run-fault
Bài tiếp theo — #63: Lập trình trình tự PLC: https://minatavn.com/vi/blog/hoc-automation-cung-minata-63-lap-trinh-trinh-tu-sfc
Xem tất cả bài viết kỹ thuật MINATA