Để hiểu hoạt động của các giá trị chế độ với các block bị bỏ qua, bạn cần nhớ các lệnh chế độ có thể được chuyên biệt chỉ một lần trong chương trình, trong block nơi chúng xuất hiện lần thứ nhất. Các lệnh chế độ không lặp lại trong các block kế tiếp, nếu chúng vẫn không thay đổi.
Trong các chương trình hoàn toàn không sử dụng hàm bỏ qua block, chương trình được thực thi lần lượt qua từng block. Khi sử dụng hàm bỏ qua block, bạn cần đặc biệt chú ý các lệnh chế độ. Bạn cần nhớ, lệnh được thiết lập trong block sử dụng mã dấu nghiêng không phải lúc nào cũng có hiệu lực do phụ thuộc vào xác lập của công tắc bỏ qua block. Lệnh chế độ bất kỳ, được chuyển từ phần có dấu nghiêng đến phần khồng có dấu nghiêng, có thể bị mất, nếu hàm bỏ qua block được sử dụng. Sự tổn thất các lệnh chế độ khi lập trình hàm bỏ qua block có thể đưa đến nhiều hậu quả xấu.
Giải pháp lập trình đơn giản là tránh xảy ra vấn đề này. Bạn hãy lặp lại mọi lệnh chế độ trong phần chương trình không bị ảnh hưởng của hàm bỏ qua block.
Bạn hãy so sánh hai ví dụ sau đây:
Ví dụ A – Các lệnh chế độ không được lặp lại
N5 G00 X10.0 Y5.0 Z2.0
/N6 G01 Z0.l F3 0.0 M08
N7 Z-1.0 P12.0 (G01 AND M0 8 MISSING)
N8 . . .
Ví dụ B – Các lệnh chế độ được lặp lại
N5 G00 X10.0 Y5.0 Z2.0
/ N6 G01 Z0.1 F30.0 M08
N7 G01 Z-1. 0 F12.0 M08
N8 …
Trong cả hai ví dụ A và B, block chương trình chứa dấu nghiêng biểu thị vị trí trung gian trên trục Z là X.01. Vị trí này có thể chỉ cần thiết trong một số trường hợp trong khi gia công, người vận hành .sẽ quyết định có sử dụng hay không và thời điểm sử dụng.
Block cơ bản, trong cả hai ví dụ là N6, chứa các hàm chế độ. Các lệnh G01, Z01, F30.0 và M08 sẽ luôn luôn có hiệu lực, trừ khi chúng bị xóa hoặc thay đổi trong block bất kỳ phía sau. Từ block N7 dường như vị trí tọa độ Z và giá trị tốc độ cắt thay đổi. Tuy nhiên, các lệnh G01 và M08 không được lặp lại trong ví dụ A, sẽ không hoạt động nếu công tắc bỏ qua block được xác lập là ON.
Cả hai ví dụ A và B sẽ có cùng kết quả chỉ khi hàm bỏ qua block không hoạt động (OFF). Hệ điều khiển sẽ thực thi các lệnh trong mọi block, thèo đúng thứ tự lập trình.
Hai ví dụ nêu trên sẽ có kết quả khác nhau. Nếu hàm bỏ qua block là hoạt động (ON), các lệnh block sau dấu nghiêng sẽ không được xử lý. Ví dụ A dưới đây sẽ có kết quả không thể chấp nhận, do có khả năng xảy ra va chạm. Ví dụ B sử dụng phương pháp tinh tế hơn. Dưới đây là các kết quả khi bỏ qua block N6.
Ví dụ A – Các lệnh chế độ không được lặp lại
N5 G00 X10.0 Y5.0 Z2.0 (RAPID MOTION)
N7 Z-1.0 P12.0 (RAPID MOTION)
N8 . . .
Ví dụ B – Các lệnh chế độ được lặp lại
N5 G00 X10.0 Y5.0 Z2.0 (RAPID MOTION)
N7 G01 Z-1.0 F12.0 M08 (FEEDRATE MOTION)
N8 . . .
Bạn hãy lưu ý chuyển động tuyến tính G01, tốc độ cắt F30.0 và chất làm nguội M08 bị bỏ qua trong ví dụ A. Các trục X và Y không được cập nhật do đó sẽ không thay đổi. Kết luận là ví dụ A sẽ đưa đến chuyển động nhanh theo trục Z trong hai block kế tiếp, có thể gây ra tình huống nguy hiểm. Trong ví dụ B, lập trình lặp lại tất cả các lệnh G01, F12.0, M08 bảo đảm chương trình chạy đúng theo yêu cầu. Phần kế tiếp sẽ trình bày các nguyên tắc thiết kế chương trình đốì với nhiều ứng dụng thực tiễn.
Tóm lại, nguyên tắc cơ bản về lập trình CNC với các block sử dụng hàm bỏ qua block,là:
Luôn lụôn lập trình tất cả các lệnh dù có thể phải lặp lại một số giá trị chương trình và các lệnh cần được bảo toàn.
Ký hiệu dấu nghiêng có thể được đặt vào chương trình sau khi chương trình được thiết kế cho cả hai tùy chọn. Chỉ đặt dấu nghiêng trong các block xác định sự bỏ qua tùy chọn đối với mọi block chương trình đã chọn. Luôn luôn kiểm tra chương trình.
Chương trình CNC bất kỳ chứa hàm bỏ qua block phải được kiểm tra ítnhất hai lần.
Kết quả của các kiểm tra phải luôn luôn thỏa mãn, cả hai trường hợp hàm bỏ qua block có và không có hiệu lực. Nếu phát hiện lỗi, dù là nhỏ, cũng cần phải xử lý ngay. Sau khi sửa lỗi, bạn hãy kiểm tra lại chương trình ít nhất hai lần cho cả hai trường hợp. Lý do để kiểm tra hai lần là sự chỉnh sửa lỗi trong một kiểu xử lý (có hoặc không có hàm bỏ qua block) có thể gây ra lỗi khác trong kiểu xử lý kia.