Học Automation cùng MINATA #63: Lập trình trình tự PLC: từ lưu đồ công nghệ tới bước, điều kiện và timeout
Một chu trình tự động tốt được đọc như quy trình vận hành: đang ở bước nào, chờ điều kiện gì, quá bao lâu thì dừng và báo gì. Lập trình trình tự bắt đầu từ lưu đồ công nghệ, không từ việc nối dài rung ladder.
Chia chu trình thành bước nguyên tử
Thay vì một khối logic lớn với nhiều cờ trung gian, chia chu trình thành các bước có một mục tiêu rõ: chờ điều kiện, kẹp phôi, xác nhận kẹp, thực hiện công đoạn, xác nhận hoàn tất, nhả phôi. Mỗi bước biết mình đang làm gì và bước nào theo sau, nên trace online dễ và bàn giao dễ.
Ba phần của một transition
Mỗi chuyển bước (transition) cần ba phần:
- Điều kiện hợp lệ: tín hiệu nào cho phép sang bước sau.
- Thời gian chờ tối đa (timeout): quá thời gian mà điều kiện chưa thỏa thì xử lý bất thường.
- Xử lý khi thất bại: khóa năng lượng cần thiết, ghi alarm, giữ dấu vết bước đang lỗi.
Thiếu timeout là nguồn của "máy đứng im không báo gì"; thiếu xử lý thất bại là nguồn của chuyển động sai khi một bước không hoàn tất.
SFC và tư duy bước
Cách tổ chức này gần với SFC (Sequential Function Chart) trong IEC 61131-3: các step và transition nối tiếp, có nhánh rẽ và song song khi cần. Dù viết bằng SFC hay ST, tư duy vẫn là step có action rõ và transition có điều kiện rõ, không phải một mớ cờ đan nhau.
Tình huống kỹ thuật tham khảo
Trong một trạm gắp–đặt, cảm biến kẹp chưa về trong timeout thì PLC không tự nhảy bước sau. Nó khóa năng lượng cần thiết, ghi alarm nêu bước đang lỗi ("bước 3: chờ xác nhận kẹp quá thời gian") và giữ trạng thái để kỹ thuật viên trace. Người vận hành thấy đúng bước đang kẹt thay vì một máy đứng im.
Số bước, điều kiện và timeout cuối cùng phải theo công nghệ, cơ cấu và đánh giá rủi ro thực tế.
Sai lầm thường gặp
- Nối dài ladder với nhiều cờ, không chia bước rõ.
- Transition không có timeout, máy đứng im không báo.
- Không xử lý thất bại, tự nhảy bước khi chưa hoàn tất.
- Một bước ôm nhiều mục tiêu, khó trace khi lỗi.
- Không giữ dấu vết bước đang lỗi cho việc dò lỗi.
Checklist lập trình trình tự
- [ ] Chu trình chia thành bước nguyên tử có một mục tiêu.
- [ ] Mỗi transition có điều kiện hợp lệ và timeout.
- [ ] Có xử lý thất bại: khóa năng lượng, alarm, giữ dấu vết.
- [ ] Bước đang chạy và bước lỗi hiển thị được trên HMI.
- [ ] Logic đọc được như quy trình, dễ trace và bàn giao.
Trình tự rõ bước là nền cho máy dễ vận hành và dò lỗi. Bài #64 phân biệt interlock và permissive, hai khái niệm hay bị gộp làm một.
Đọ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 — #62: PackML: chuẩn hóa trạng thái máy: https://minatavn.com/vi/blog/hoc-automation-cung-minata-62-packml-trang-thai-may
Bài tiếp theo — #64: Interlock và permissive: https://minatavn.com/vi/blog/hoc-automation-cung-minata-64-interlock-va-permissive
Xem tất cả bài viết kỹ thuật MINATA