Chờ nhiều đường điều khiển FANUC: vì sao đảo thứ tự hai điểm chờ lại khiến chương trình không tiếp tục?
Dựa trên chức năng chờ 30i/31i/32i-B, tính thời gian chờ bình thường của hai đường tham gia rồi so sánh với chờ vòng do đảo A và B. Qua đó phân biệt lệch nhịp gia công với điểm chờ mà chương trình không thể tới.
Mục lục
Hai đường điều khiển đều dừng tại lệnh chờ chưa chắc do một đường gia công quá chậm. Nếu mỗi đường chờ một dấu mà đường kia chỉ có thể tới sau khi vượt qua điểm chờ hiện tại, chờ thêm bao lâu cũng không giải quyết được mâu thuẫn về thứ tự.
Chờ dấu khớp nhau, không phải hoàn tất một chức năng M bất kỳ
Sổ tay mô tả FANUC 30i/31i/32i-MODEL B B-64482EN/03, §7.5, trang 254–255 (bản sao công khai của sổ tay nhà sản xuất) giải thích rằng chức năng chờ nhiều đường dùng mã M chờ đã cấu hình để khớp với các đường tham gia khác; chỉ khi khớp xong mới chạy khối tiếp theo. Lệnh chờ phải ở một khối riêng. Các mã M này không được xuất sang PMC, nên không được coi chúng như chức năng phụ thông thường và luôn đi tìm tín hiệu hoàn tất M.
Mô hình dưới đây xét hai đường tham gia của hệ thống nhiều đường có chức năng này. Giả định chờ có hiệu lực, không có thao tác bỏ qua chờ và không có đường tham gia khác. A và B chỉ là nhãn khái niệm, không phải mã M để nhập vào máy.
Với thứ tự bình thường, có thể tính thời gian chờ
| Giai đoạn | Đường 1 | Đường 2 | Kết quả chung |
|---|---|---|---|
| Trước điểm chờ A | Gia công 3 s, tới A tại t=3 | Gia công 5 s, tới A tại t=5 | Khớp tại t=5; đường 1 chờ 2 s |
| Sau A, trước B | Gia công thêm 2 s, tới B tại t=7 | Gia công thêm 4 s, tới B tại t=9 | Khớp tại t=9; đường 1 chờ thêm 2 s |
Đây là mô hình thời gian tự xây dựng, bỏ qua thời gian xử lý lệnh. Tổng thời gian chung của hai giai đoạn là max(3,5)+max(2,4)=9 s, không phải 14 s cộng toàn bộ thời gian gia công của hai đường. Đường 1 chờ tổng cộng 4 s không có nghĩa tốc độ gia công của riêng nó có vấn đề.
Điều gì xảy ra nếu chỉ đảo thứ tự của một đường
Bây giờ đường 1 chạy A→B nhưng đường 2 chạy B→A. Đường 1 dừng ở A, chờ đường 2 đến A; đường 2 dừng ở B, chờ đường 1 đến B. Cả hai đều phải thoát khỏi chờ hiện tại mới tới được vị trí mà bên kia cần, tạo thành chờ vòng.
Khác ví dụ bình thường, lúc này không có đường đối tác nào “gia công thêm vài giây rồi sẽ tới”. Giảm tốc độ chạy dao hoặc kéo dài chờ không thay đổi thứ tự các dấu. Kết luận này đến từ quan hệ phụ thuộc của hai chuỗi thực thi, không dựa trên giả định chắc chắn sẽ có một báo động hết thời gian.
Phải xem đồng thời vị trí thực thi của cả hai đường
Khi xác định nguyên nhân, tối thiểu phải đối chiếu dấu chờ hiện tại, các đường tham gia, vị trí chương trình hiện tại của bên kia và hai bên có đang ở cùng một vòng gia công hay không. Một dấu từng xuất hiện trong chương trình không chứng minh lần thực thi này có thể đến được nó. Nhánh điều kiện bỏ qua một điểm chờ cũng làm thay đổi quan hệ khớp.
Nếu một đường vẫn đang hoàn thành đoạn gia công hữu hạn, trước hết phân tích nhịp chu kỳ. Nếu cả hai đã dừng tại các điểm chờ mà đối tác không thể tới, cần kiểm tra thứ tự chương trình. Quan hệ chờ thường điều phối không gian gia công dùng chung; không được cưỡng bức bỏ qua chờ để kiểm chứng mô hình này. Xem thêm hành vi chương trình tại chuyên mục OPTION.