Biến macro FANUC #4001 và #4201: vì sao đọc được G01 nhưng máy có thể vẫn đang thực hiện khối khác?
Dựa trên chương biến hệ thống macro của 0i-D, phân biệt modal của khối trước tại vị trí đọc trước với modal của khối đang thực hiện. Bảng thời điểm tự xây dựng giải thích vì sao #4001 và #4201 có thể khác nhau, tránh coi việc đọc trạng thái chương trình là tín hiệu hoàn tất chuyển động.
Mục lục
Macro đọc được một trạng thái mã G nhưng khối đang thực hiện trên màn hình lại cho thấy kiểu chuyển động khác chưa chắc là lỗi dữ liệu. Bộ diễn giải chương trình và phần thực hiện của CNC có thể ở các vị trí khác nhau; trước hết phải hiểu mốc thời gian mà biến mô tả.
Cùng nhóm 01 nhưng tham chiếu vị trí chương trình khác nhau
Bài viết chỉ áp dụng cho trung tâm gia công 0i-D/0i Mate-D có chức năng macro tương ứng. B-64304EN/02, §14.2 về biến hệ thống, trang 184–186 (bản sao công khai của tài liệu gốc nhà sản xuất) định nghĩa #4001 là modal nhóm 01 của khối trước tương ứng vị trí xử lý đọc trước, còn #4201 là modal nhóm 01 của khối đang thực hiện. “Khối trước” ở đây không đơn giản là khối máy vừa chạy xong; cả hai đều là biến chỉ đọc.
Ví dụ thời điểm tự xây dựng: hai giá trị khác nhau vẫn có thể cùng hợp lý
Giả sử tại một thời điểm minh họa, phần thực hiện vẫn đang chạy cung G02 ở N200, còn phần diễn giải đã xử lý tới gần N910 và N900 trước đó chỉ định G01. Phép so sánh dưới đây dành cho trạng thái giả định này, không cam kết mọi chương trình đều đọc trước cùng số khối:
| Đối tượng quan sát | Vị trí tương ứng trong ví dụ | Thông tin nhóm 01 |
|---|---|---|
| Tham chiếu của #4001 | Khối trước N900 ở phần diễn giải | 1, tức G01 |
| Tham chiếu của #4201 | N200 đang được thực hiện | 2, tức G02 |
Vì vậy, “#4001 đọc được 1” không suy ra “cung N200 đã kết thúc”. Dùng suy luận đó để kích hoạt hành động tiếp theo sẽ nhầm tiến độ diễn giải chương trình với điều kiện hoàn tất chuyển động. Ngược lại, modal được đọc để lưu ngữ cảnh tại một vị trí chương trình cũng không thể đổi sang trạng thái phần thực hiện mà không phân tích.
Xác định sự kiện cần quan sát trước khi chọn dữ liệu
Nếu câu hỏi là “vị trí chương trình chứa macro thừa hưởng modal chuyển động nào”, phải phân tích ngữ cảnh tại vị trí ấy; nếu hỏi “lúc này CNC đang thực hiện kiểu khối chuyển động nào”, cần tham chiếu khối đang thực hiện. Nếu thực sự cần biết “trục đã đến vị trí chưa” hay “hành động bên ngoài đã hoàn tất chưa”, cả hai giá trị modal mã G này tự chúng đều không trả lời.
Ví dụ, G01 có thể là một đoạn chạy dao rất dài hoặc một chuyển động rất ngắn; cùng giá trị 1 không chứa quãng đường còn lại hay xác nhận thiết bị đã hoàn tất hành động. Suy đoán ý nghĩa ứng dụng chỉ từ tên số biến dễ bỏ sót sự khác biệt này.
Kiểm chứng thế nào để không coi nhật ký là bảo đảm thời gian thực?
Khi đối chiếu, ghi đồng thời phiên bản chương trình, vị trí câu lệnh đọc và vị trí khối đang thực hiện, rồi kiểm tra xem khi có khác biệt có thỏa giả định đọc trước hay không. Các biến được đọc riêng không trở thành ảnh chụp đầy đủ của cùng một thời điểm chỉ vì được ghi vào cùng nhật ký. Bài viết phân tích ngữ nghĩa, không cam kết chu kỳ lấy mẫu, khả năng đồng bộ hay hiệu quả liên động an toàn; xem thêm về macro tại chuyên mục OPTION.