Xây dựng mô-đun hỗ trợ CAPP xuất Gcode tự động trực tiếp từ đối tượng gia công sử dụng lập trình tham số
Tóm tắt - Lập quy trình công nghệ có sự trợ giúp của máy tính
(CAPP) ngày càng được chú trọng phát triển nhằm đưa công nghệ,
kinh nghiệm và trí tuệ của con người vào lĩnh vực tự động hóa sản
xuất. Việc sử dụng các dữ liệu trích xuất từ CAPP bao gồm các
thông tin hình học và công nghệ của đối tượng gia công để tự động
tạo ra các chương trình Gcode gia công trên máy CNC chưa được
nghiên cứu cụ thể. Mô-đun lập trình CNC theo kiểu tham số cho
các đối tượng gia công phổ biến như mặt phẳng, hốc, đảo, rãnh,
lỗ v.v. được trình bày trong bài báo đã xử lý hiệu quả bài toán đó,
từ đó hoàn thiện dòng tích hợp CAD/CAPP/CNC mà không cần
thông qua các thao tác bằng tay trong mô-đun CAM. Với mỗi đối
tượng gia công chỉ cần khai báo thông số cơ bản, mô-đun sẽ hỗ
trợ xuất Gcode tự động cho từng đối tượng. Trong bài báo, một chi
tiết với các đối tượng gia công cơ bản được sử dụng để mô tả
phương pháp và kiểm tra tính hiệu quả của mô-đun.
Tóm tắt nội dung tài liệu: Xây dựng mô-đun hỗ trợ CAPP xuất Gcode tự động trực tiếp từ đối tượng gia công sử dụng lập trình tham số
52 Phùng Xuân Lan, Nguyễn Kiên Trung XÂY DỰNG MÔ-ĐUN HỖ TRỢ CAPP XUẤT GCODE TỰ ĐỘNG TRỰC TIẾP TỪ ĐỐI TƯỢNG GIA CÔNG SỬ DỤNG LẬP TRÌNH THAM SỐ DEVELOPMENT OF CAPP SUPPORTED MODULE FOR AUTOMATIC GCODE GENERATION FROM MACHINING FEATURE USING MACRO PROGRAMMING Phùng Xuân Lan, Nguyễn Kiên Trung Trường Đại học Bách khoa Hà Nội; lan.phungxuan@hust.edu.vn, trung.nguyenkien@hust.edu.vn Tóm tắt - Lập quy trình công nghệ có sự trợ giúp của máy tính (CAPP) ngày càng được chú trọng phát triển nhằm đưa công nghệ, kinh nghiệm và trí tuệ của con người vào lĩnh vực tự động hóa sản xuất. Việc sử dụng các dữ liệu trích xuất từ CAPP bao gồm các thông tin hình học và công nghệ của đối tượng gia công để tự động tạo ra các chương trình Gcode gia công trên máy CNC chưa được nghiên cứu cụ thể. Mô-đun lập trình CNC theo kiểu tham số cho các đối tượng gia công phổ biến như mặt phẳng, hốc, đảo, rãnh, lỗ v.v. được trình bày trong bài báo đã xử lý hiệu quả bài toán đó, từ đó hoàn thiện dòng tích hợp CAD/CAPP/CNC mà không cần thông qua các thao tác bằng tay trong mô-đun CAM. Với mỗi đối tượng gia công chỉ cần khai báo thông số cơ bản, mô-đun sẽ hỗ trợ xuất Gcode tự động cho từng đối tượng. Trong bài báo, một chi tiết với các đối tượng gia công cơ bản được sử dụng để mô tả phương pháp và kiểm tra tính hiệu quả của mô-đun. Abstract - Computer aided process planning (CAPP) is increasingly being developed to bring technology, experience and intelligence into the manufacturing automation. The implementation of the data on geometry, technical and manufacturing process extracted from CAPP from machining features to automatically generate the Gcode for CNC machine is ongoing research. CNC macro programming module for common machining features such as faces, pocket, boss, slot, holes, etc. presented in this article will be effective tool for the current problem and clear the obstacle in the integrated CAD/CAPP/CNC system without any manual proceesing at CAM module. The Gcode will be automatically generated by the module from basic information of each machining feature. In this paper, a machining part consists of the basic machining features is used to describe the method and to verify the module’s cability. Từ khóa - Lập trình tham số; đối tượng gia công; CAPP; xuất Gcode Key words - Macro programming; machining feature; CAPP; Gcode generation. 1. Đặt vấn đề Máy công cụ CNC từ lâu đã khẳng định được vai trò quan trọng của mình trong nền sản xuất hiện đại đặc biệt là trong công nghiệp sản xuất tự động hóa ngày nay và công nghiệp 4.0 tương lai. Nhờ có công nghệ CAD/CAM người kỹ sư đã được hỗ trợ khá nhiều trong việc hình thành đường chạy dao và xuất chương trình Gcode sử dụng cho máy CNC. Tuy nhiên các chương trình Gcode xuất từ CAM ra thường chỉ sử dụng những lệnh nội suy Gcode cơ bản nên có đặc thù là khá dài, khó theo dõi và sửa đổi. Các đường chạy dao là do phần mềm tự động tính toán và tạo ra, do đó nhiều khi không giống tư duy của lập trình bằng tay. Độ chính xác của đường chạy dao phụ thuộc rất nhiều vào cơ sở tính toán bên trong phần mềm. Thậm chí các đường chạy dao tự động đó có thể vi phạm vào không gian của máy và đồ gá gây các va chạm nguy hiểm cho máy, dao và đồ gá. Chính vì vậy, mặc dù ở một nước có nền công nghiệp phát triển mạnh mẽ như Nhật Bản, họ cũng không sử dụng nhiều các phần mềm CAD/CAM để hình thành Gcode mà tối đa sử dụng lập trình tham số trực tiếp trên hệ điều khiển. Ưu điểm nổi trội của lập trình theo kiểu tham số là chương trình ngắn, dễ dàng theo dõi, kiểm soát và thay đổi thông số, đáp ứng tính toán nhanh từ chính bộ điều khiển của máy CNC, đồng thời có hỗ trợ các kỹ thuật lập trình cơ bản như câu lệnh điều kiện, vòng lặp, các hàm toán học [1]. Các đường chạy dao theo một kiểu thống nhất ít phát sinh thêm các đường khác và được kiểm soát thông qua các hàm toán học do người lập trình đề xuất trong chương trình nên chương trình có độ tin cậy cao. Đặc biệt, khi đối tượng gia công thay đổi thông số hình học thì chương trình vẫn có thể sử dụng lại mà không cần phải lặp lại toàn bộ các thao tác phức tạp và rờm rà như CAM. Trong dòng tích hợp CAD/CAPP, mô hình chi tiết 3D sẽ được nhận dạng và hình thành quy trình công nghệ một cách tự động thông qua các thuật toán nhận dạng, lựa chọn và tối ưu. Đầu ra của CAPP sẽ là một danh sách các đối tượng gia công với đầy đủ các thông tin hình học và công nghệ bao gồm các lựa chọn máy, dao và chế độ cắt [2]. Những thông tin đầu vào này sẽ là cơ sở để hình thành chương trình gia công CNC cho từng đối tượng. Mỗi đối tượng gia công trên một chi tiết sẽ có tương ứng một chương trình gia công theo kiểu tham số (chương trình con). Chương trình chính sẽ có nhiệm vụ gọi các chương trình con theo đúng thứ tự gia công để gia công hoàn thiện chi tiết. Khi thay đổi thông tin tạo hình của đối tượng gia công, chỉ cần cung cấp bộ thông số khác cho các tham số thì đường chạy dao sẽ thay đổi theo. Dựa vào ưu điểm này của lập trình CNC theo kiểu tham số, nhóm nghiên cứu đã thiết lập một bộ các lệnh/hàm mới cho phép nhận thông số đầu ra của CAPP để trực tiếp tạo ra chương trình gia công cho từng đối tượng gia công và cho cả chi tiết. Từ đó, dòng tích hợp tự động CAD/CAPP/CNC dễ dàng được thiết lập với hiệu quả cao mà không cần thiết phải thông qua mô-đun CAM. 2. Lập trình CNC theo tham số Bản chất của lập trình theo tham số là việc sử dụng các biến hay thông số trong quá trình lập trình kết hợp với việc gọi chương trình con nên rất phù hợp với việc thiết lập các chương trình gia công theo từng nhóm đối tượng gia công khác nhau. Khi đối tượng gia công thay đổi thì chỉ việc thay đổi giá trị của các tham số là đường chạy dao sẽ thay đổi, trong khi cấu trúc của chương trình vẫn giữ nguyên. Đăc điểm này rất phù hợp cho các chi tiết tiêu chuẩn có hình dáng cơ bản còn kích thước khác nhau ví dụ như ổ đỡ, vòng bi, bánh răng, trục, v.v. Hiện nay, Fanuc là một trong những hệ điều khiển sử dụng rộng rãi nhất trong thực tế. Tùy từng các phiên bản của hệ điều ISSN 1859-1531 - TẠP CHÍ KHOA HỌC VÀ CÔNG NGHỆ ĐẠI HỌC ĐÀ NẴNG, VOL. 17, NO. 1.1, 2019 53 khiển Fanuc mà năng lực lập trình theo tham số cũng khác nhau. Bài báo này xây dựng các chương trình CNC theo tham số trên phiên bản hệ điều khiển là Fanuc21 và Fanuc31. Một số điểm chung của hai hệ điều khiển này là đều cho phép khai báo và sử dụng hiệu quả các tham số. Một tham số được đặt tên theo cấu trúc “#” tiếp theo sau là một số ví dụ #10 = 100 là gán giá trị 100 cho tham số #10. Tùy phạm vi của con số này mà nó có thể là biến toàn cục, biến cục bộ hay biến hệ thống [3]. Giới hạn của biến và các hàm toán học tương ứng tùy thuộc vào từng hệ điều khiển. Bảng 1 mô tả sự khác nhau của hai hệ Fanuc21 và Fanuc31 khi sử dụng lập trình tham số. Hệ điều khiển Fanuc31 có nhiều hàm hơn cho phép lập trình đơn giản và ngắn gọn hơn. Hệ điều khiển Fanuc21 không có vòng lặp khi đó có thể sử dụng chương trình con và số lần gọi chương trình con để thay thế. Fanuc21 cũng không có lệnh G65 cho phép gán giá trị cho các tham số trong chương trình con như Fanuc31. Bảng 1. So sánh đặc điểm của hai hệ Fanuc21 và Fanuc31 trong lập trình tham số STT Khả năng Fanuc21 Fanuc31 1 Phép toán +, -, *, / +, -, *, / 2 Các hàm toán học Không có SIN, COS, TAN, ATAN, ASIN, ACOS ABS, SQRT, EXP, ROUND, FIX, FUP 2 Phép logic EQ (=), NE ( ), GT(>), LT(<), GE( ), LE( ) EQ, NE, GT, LT, GE, LE AND, OR, XOR 3 Câu điều kiện IF [] GOTO n IF [] THEN [] IF [] GOTO n IF [] THEN [] 4 Vòng lặp Không có WHILE [] DO END 5 Gọi chương trình theo tham số Không có G65 Hiện nay, hệ điều khiển Fanuc21 vẫn được sử dụng nhiều trong các máy CNC thế hệ cũ (còn phổ biến ở Việt Nam) nên trong ví dụ mô tả phương pháp ở bài báo này, nhóm tác giả sẽ trình bày cách thức hình thành Gcode theo định dạng Fanuc21. Cấu trúc chương trình này cũng sẽ được áp dụng tương tự trong hệ điều khiển Fanuc31. Các biến được sử dụng theo nguyên tắc đặt tên biến trong G65 để có thể dễ dàng chuyển đổi sang Fanuc31 [4]. Với Fanuc31, chương trình hình thành còn đơn giản hơn nhiều do được trang bị nhiều công cụ hàm toán học hỗ trợ trong lập trình. Nhờ những công cụ lập trình đó mà lập trình CNC theo kiểu tham số ngày càng được mở rộng; không chỉ dừng lại ở các biên dạng đơn giản, lập trình theo tham số còn có thể áp dụng được cho các biên dạng phức tạp. Hiệu quả của lập trình theo tham số đã được khẳng định rõ rệt qua nhiều so sánh [5]. 3. Dòng tích hợp CAD/CAPP/CNC và vị trí của mô-đun chuyển đổi Gcode Mô hình tích hợp CAD/CAPP/CNC được mô tả như Hình 1, qua đó trải qua ba mô-đun cơ bản với dữ liệu đầu vào là mô hình CAD 3D có đầy đủ yêu cầu kỹ thuật và các thông tin cơ bản khác. Mô-đun 1 (CAD-CAPP) tạo ra liên kết giữa CAD và CAPP với nhiệm vụ cơ bản là tách biệt các đối tượng, trích xuất các thông tin hình học và yêu cầu kỹ thuật của từng đối tượng, đồng thời nhận dạng các đối tượng gia công cơ bản. Hình 2 mô tả các loại đối tượng gia công 2.5D cơ bản có thể nhận diện và xử lý trong mô-đun này. Mô-đun 2 (CAPP) xử lý các dữ liệu đã trích xuất trong mô-đun 1. Nó thực hiện một loạt các nhiệm vụ cơ bản của thiết kế quy trình công nghệ là nhận dạng phương pháp gia công, lựa chọn thiết bị, chế độ cắt và thiết lập thứ tự nguyên công trên cơ sở các ràng buộc công nghệ. Mô-đun cuối cùng (CAPP-CNC) trong dòng tích hợp này chính là mô- đun chuyển đổi Gcode với nhiệm vụ là thiết lập cầu nối giữa CAPP và CNC. Nó bao gồm các hàm chuyển đổi Gcode trực tiếp từ các đối tượng gia công. Bước 2 Nhận dạng các đối tượng gia công bằng các luật nhận dạng Bước 1 Tách biệt và trích xuất thông tin cho từng đối tượng gia công Bước 3 Nhận dạng phương pháp gia công ĐẦU RA (CT gia công CNC) ĐẦU VÀO Mô hình CAD 3D với đầy đủ yêu cầu kỹ thuật Vật liệu gia công Dạng sản xuất Phương pháp chế tạo phôi và xử lý nhiệt Bước 6 Duyệt từng bước/ nguyên công theo đối tượng gia công Bước 7 Gọi hàm chuyển đổi Gcode theo đối tượng gia công cơ bản Bước 8 Tạo file chương trình chính và các chương trình con CAD-CAPP CAPP CAPP- CNC Bước 4 Lựa chọn máy/dao cho từng đối tượng gia công Bước 5 Thiết lập thứ tự nguyên công Hình 1. Sơ đồ mô tả dòng tích hợp CAD/CAPP/CNC Như vậy, với mỗi loại đối tượng gia công cơ bản được nhận dạng sẽ có một hàm chuyển đổi Gcode tương ứng. Thông tin hình học trích xuất từ mô-đun 1 và thông tin công nghệ trích xuất từ mô-đun 2 sẽ được sử dụng như các tham số đầu vào của các hàm chuyển đổi này. Các thông tin đầu vào này được hệ thống lại thành các nhóm đặc trưng như mô tả trong Hình 3. Đầu ra của dòng tích hợp này là các file CNC theo tham số với hai định dạng tương ứng với hai hệ điều khiển Fanuc21 và Fanuc31. Đối tượng gia công 2.5D Mặt phẳng Bậc Hốc Hốc tròn Hốc vuông Hốc biên dạng Đảo Đảo tròn Đảo vuông Đảo biên dạng Bậc vuông Bậc biên dạng Hệ lỗ Hệ lỗ tròn Hệ lỗ thẳng Rãnh Rãnh tròn Rãnh vuông Rãnh biên dạng Bậc vuông Bậc biên dạng Hình 2. Đối tượng gia công 2.5D cơ bản 54 Phùng Xuân Lan, Nguyễn Kiên Trung Thông số đầu vào Thông số hình học Thông số vị trí Thông số công nghệ Thông số hiệu chỉnh Thông số khác - Kích thước chiều dài, bề rộng, chiều sâu, bán kính góc lượng (dạng vuông) - Kích thước đường kính, chiều sâu (dạng tròn) - Kích thước bao, đường đi biên dạng - Tọa độ tuyệt đối của góc dưới bên trái (dạng vuông) - Tọa độ tuyệt đối của tâm (dạng tròn) - Thông số góc quay - Số vòng quay trục chính - Lượng chạy dao - Bề rộng cắt - Lượng gia tăng theo trục Z - Lượng dư dành cho gia công tinh theo các trục - Giá trị hiệu chỉnh bán kính - Số hiệu dao - Kiểu chạy thể tích/đường biên dạng - Định dạng tọa độ tính toán Hình 3. Nhóm các bộ thông số đầu vào đặc trưng của chu trình Gcode mới 4. Phương pháp xây dựng Mô-đun chuyển đổi 4.1. Cấu trúc mô-đun chuyển đổi Mô-đun chuyển đổi Gcode sẽ được phát triển theo hai hình thức: 1) dưới dạng các hàm phục vụ cho việc chuyển đổi Gcode trực tiếp trong dòng tích hợp CAD/CAPP/CNC; 2) dưới dạng các chu trình Gcode mới cho phép người sử dụng có thể dễ dàng xuất các chương trình gia công cho từng đối tượng cụ thể để hỗ trợ việc lập trình tham số bằng tay. Dù dưới hình thức nào, mô-đun chuyển đổi Gcode này sẽ bao gồm một loạt các hàm chuyển đổi bên trong. Mỗi hàm chuyển đổi sẽ tương ứng thực hiện việc xuất Gcode cho một loại đối tượng gia công cơ bản. Hàm sẽ lấy các tham số đặc trưng cho loại đối tượng đó và truyền vào cho các tham số để tính toán tọa độ và hình thành Gcode. Tùy mức độ phức tạp của đối tượng gia công mà số lượng dữ liệu đầu vào sẽ khác nhau và phụ thuộc các nhóm thông số đặc trưng hình học và công nghệ như mô tả ở Hình 3. Với các đối tượng có hình dáng đặc biệt là vuông hay tròn thì thông số hình học khá đơn giản chỉ gồm các kích thước định hình đối tượng. Riêng với trường hợp đối tượng có biên dạng là sự kết hợp của các đường thẳng và cung tròn thì cần phải có một chuỗi lệnh Gcode mô tả biên dạng. Cách thức khai báo cho đối tượng loại này tương tự như cách thức mà hệ điều khiển Fanuc ứng dụng cho chu trình tiện. Hình 4 mô tả ví dụ cách thức khai báo biên dạng của một đối tượng gia công theo biên dạng. Với bộ thông số vị trí cần khai báo giá trị tuyệt đối của điểm xác định vị trí của đối tượng trên chi tiết gia công và các điểm này được quy định riêng biệt với từng đối tượng khác nhau. Ví dụ, với đối tượng hốc tròn, tọa độ điểm tâm hốc được lấy là các thông số vị trí, còn tọa độ điểm góc trái được lấy cho đối tượng hốc vuông. Đối với đối tượng biên dạng, vị trí của đối tượng đã được thể hiện qua tọa độ của các điểm trên biên dạng khi khai báo biên dạng. Bên cạnh giá trị tọa độ thì giá trị góc quay của đối tượng so với trục X+ cũng cần khai báo trong trường hợp toàn bộ đối tượng được quay theo một góc nào đó. Trong bộ thông số công nghệ thì cơ bản cần khai báo các thông số chế độ cắt (số vòng quay trục chính n và lượng tiến dao F) và khoảng cách giữa hai đường chạy dao (stepover). Ngoài ra còn có thông số liên quan đến kiểu chạy dao theo thể tích khi bóc đi toàn bộ thể tích kim loại hoặc chỉ chạy dao theo đường biên khi cần gia công tinh theo đường biên dạng. Hình 4. Ví dụ về khai báo đối tượng gia công là biên dạng 4.2. Hàm chuyển đổi Gcode cho gia công biên dạng Trong các đối tượng gia công mô tả ở Hình 4 thì dạng đối tượng gia công theo biên dạng là phức tạp hơn cả trong việc tính toán tọa độ các điểm chạy dao, các đối tượng gia công là hàng lỗ, hốc tròn, hốc vuông thì tọa độ điểm chạy dao có thể có sẵn hoặc nội suy ra dễ dàng từ đó áp dụng thuật toán chạy dao của biên dạng. Dưới đây là ví dụ mô tả hai định dạng chuyển đổi của đảo biên dạng thành Gcode theo tham số là chu trình Gcode mới và hàm chuyển đổi. Với hệ Fanuc21, trước khi gọi hàm chuyển đổi để xuất Gcode thì cần có đoạn chương trình khai báo giá trị của các tham số để truyền vào hàm chuyển đổi. Trong khi đó, ở hệ Fanuc31 giá trị của tất cả các tham số này sẽ được truyền qua mã lệnh G65 nên giảm lược được các dòng lệnh khai báo tham số. • Chu trình Gcode mới gia công đảo theo biên dạng bất kỳ cho hệ điều kiển Fanuc21 và Fanuc31 + Gán giá trị tham số cho Fanuc21 #26 = [Z] (Giá trị Z) #6 = [K] (Giá trị K) + Gán giá trị tham số cho Fanuc31 * G65 P1040 ZKHETBCR MUWFS + Chu trình Gcode chuyển đổi cho cả hai hệ điều khiển G104 ZKHDET G105 PQBCRMUWFS... Trong đó: - Z: tọa độ tuyệt đối của đáy biên dạng (+/-); - K: chiều cao của đảo (+); - H: lưu vị trí hiệu chỉnh bán kính dao; - D: đường kính của dụng cụ cắt; - E: định dạng gia công hốc (E=1)/đảo (E=0); - T: số hiệu dao; - P: số thứ tự đầu tiên xác định biên dạng; - Q: số thứ tự cuối cùng xác định biên dạng; G00 X10.0 Y10.0 G01 X5.0 Y25.0 G02 X15.0 Y35.0 R10.0 G03 X40.0 Y35.0 R30.0 G02 X50.0 Y25.0 R10.0 G01 Y20.0 G01 X45.0 Y10 G01 X30.0 Y7.0 G01 X10.0 Y10.0 5 7 1 0 2 0 3 5 2 5 15 R10 R10 R 3 0 10 40 ISSN 1859-1531 - TẠP CHÍ KHOA HỌC VÀ CÔNG NGHỆ ĐẠI HỌC ĐÀ NẴNG, VOL. 17, NO. 1.1, 2019 55 - B: khoảng cách giữa hai đường chạy dao (% so với đường kính dao); - C: lượng gia tăng theo chiều sâu (+); - R: khoảng cách an toàn; - M: lượng dư lớn nhất cần loại bỏ; - U: lượng dư dành cho cắt tinh theo X/Y, - W: lượng dư dành cho cắt tinh theo Z; - F: lượng chạy dao; - S: số vòng quay trục chính. *: Với Fanuc31 có thể lấy được giá trị hiệu chỉnh bán kính H trong hệ thống nên ko cần khai báo đường kính dao D; biên dạng được khai báo trong chương trình con P1040. • Hàm chuyển đổi CTbiendang (CauLenh s, list BienDang) CauLenh (class) là một đối tượng với nhiều thuộc tính, mỗi thuộc tính là một thông số hình học và công nghệ cần truyền (s.z, s.k, s.h, s.d, s.e, s.t, s.p, s.q, s.b, s.c, s.r, s.m, s.u, s.w, s.f, s.s) BienDang là một danh sách các chuỗi khai báo biên dạng. Trong trường hợp ví dụ ở Hình 4 chính là toàn bộ code ở bên phải của hình. Trong bước trích xuất đối tượng gia công, biên dạng này sẽ được lưu lại và chuyển đổi dưới các lệnh Gcode cơ bản 4.3. Thuật toán sinh đường chạy dao Khác với cách thức hình thành Gcode trong CAM thiên về việc tính toán toàn bộ tọa độ của các điểm đến, mô-đun chuyển đổi Gcode chỉ đảm nhiệm các tính toán điểm dao vào-ra biên dạng và giá trị hiệu chỉnh, nhường lại việc tính toán đường chạy dao xung quanh biên dạng cho hệ điều khiển máy CNC thực hiện thông qua chức năng hiệu chỉnh bán kính dao phay G41/G42. Khi phải chạy nhiều đường chạy song song biên dạng thì giá trị hiệu chỉnh bán kính dao sẽ được thay đổi tương ứng để tạo thành các đường chạy dao cho các vòng cắt thứ i khác nhau. Với thuật toán như thế, đường chạy dao cho các vòng cắt là rất rõ ràng, dễ nắm bắt và đặc biệt là trong kiểm soát theo những kiểu đường cố định và chỉ thay đổi từ bước gia công từ thô sang tinh. Các kiểu đường chạy dao trong quá trình cắt thô và cắt tinh được minh họa trong Hình 5. Trong quá trình cắt thô biên dạng, đường chạy dao là các đường hoàn toàn đồng dạng so với biên dạng gia công (i = 1÷ n, n là tổng số vòng cắt thô trên 1 lớp cắt cùng độ sâu Z). Tọa độ các điểm chạy dao trên các đường này là do hệ điều khiển tự động tính toán và nội suy ra thông qua việc thay đổi giá trị hiệu chỉnh bán kính dao Hi tương ứng với mỗi đường chạy thứ i dao dựa trên tổng lượng dư biên dạng cần cắt M, khoảng cách stepover B, lượng dư để lại cho phay tinh U, bán kính dao D và giá trị logic A (A=1, 0) thể hiện qua phương trình 1. Thuật toán đường chạy dao này sẽ tạo ra chương trình gia công thô đơn giản và dễ hiểu cho người dùng. 𝐻𝑖𝑡ℎô = [𝑀 − 𝐷 2 + (𝑖 − 1)𝐵] 𝐴 + [ 𝐷 2 + 𝑈] (1 − 𝐴) (1) Quá trình cắt tinh (i = n+1) sẽ cắt hết phần lượng dư để lại sau bước cắt thô để tạo thành biên dạng với kích thước và độ nhám bề mặt yêu cầu. Đường chạy dao ở bước này có một chút thay đổi ở giá trị hiệu chỉnh là bán kính dao và đường chạy dao có thêm các đoạn tiếp vào dao và thoát dao theo bán kính cong R được qui định bởi người lập trình hoặc có thể để theo tính toán mặc định. Do đó, các điểm lập trình ăn dao vào (1→2→3) và thoát dao ra (3→5→1) sẽ được tính dựa thông số hình học của đoạn biên dạng đầu (P1-P2), bán kính tiếp R và lượng dư cắt lớn nhất M như mô tả trong hình 5b. Tọa độ của các điểm này được thể hiện trong phương trình (2-6) dựa trên góc C của đoạn biên dạng tiếp vào so với trục X+. Hình 6 mô tả thuật toán để tạo ra đường chạy dao cho đảo biên dạng ở các bước phay thô và phay tinh được sử dụng trong mô-đun. Hình 5. Đường chạy dao cho phần a) cắt thô và b) cắt tinh 𝑋3 = 𝑋𝑃1 + 𝑋𝑃2 2 𝑌3 = 𝑌𝑃1 + 𝑌𝑃2 2 (2) 𝑋1 = 𝑋3 − 2𝑅 ∗ 𝑠𝑖𝑛𝐴 𝑌1 = 𝑌3 − 2𝑅 ∗ 𝑐𝑜𝑠𝐴 (3) 𝑋4 = 𝑋1 + 𝑋3 2 𝑌4 = 𝑌1 + 𝑌3 2 (4) 𝑋2 = 𝑋4 + 𝑅 ∗ 𝑐𝑜𝑠𝐴 𝑌2 = 𝑌4 − 𝑅 ∗ 𝑠𝑖𝑛𝐴 (5) 𝑋5 = 2𝑋4 − 𝑋2 𝑌5 = 𝑌 − 𝑌2 (6) Trong đó: A=180 - C, C là góc tạo bởi đoạn biên dạng tiếp vào và vector đơn vị 0,1u trên trục X+. 𝑐𝑜𝑠𝐶 = 0 ∗ (𝑌𝑃2 − 𝑌𝑃1) + 1 ∗ (𝑋𝑃2 − 𝑋𝑃1) 1 ∗ √(𝑋𝑃2 − 𝑋𝑃1) 2 + (𝑌𝑃2 − 𝑌𝑃1)2 (7) b) a) 56 Phùng Xuân Lan, Nguyễn Kiên Trung Xác định đối tượng gia công (Dạng đảo biên dạng) Trích xuất các thông số của đảo biên dạng - Tọa độ tuyệt đối của Z - Chiều cao của đảo K - Khai báo biên dạng (P, Q) - Lượng dư lớn nhất theo XY (M) - Vị trí hiệu chỉnh bán kính (H) - Số hiệu dao (T) - Lượng dư dành cho gia công tinh theo trục X (U) - Lượng dư dành cho gia công tinh theo trục Z (W) - Khoảng cách giữa hai đường chạy dai (B) - Lượng gia tăng theo Z (C) - Số vòng quay trục chính S - Lượng chạy dao F - Khoảng lùi dao an toàn R Zhiện tại = Z + K + R; HChiện tại = M - D/2 nbiên dạng = 1+100 * (M-U-D)/(D*B) mlớp = (K – W)/C HChiện tại = HChiện tại - 100*B*D/2 Zhiện tại - C > Z + W Zhiện tại = Zhiện tại - C n= 0, m=0 Gọi biên dạng gia công (Sử dụng G41) m = m + 1 Kết thúc Bắt đầu Zhiện tại = Z + W HChiện tại > D/2 + U HChiện tại = D/2 + U n ≥ nbiên dạng n = n+1 m ≥ mlớp HChiện tại: Giá trị hiệu chỉnh bán kính hiện tại nbiên dạng: Số vòng quanh biên dạng mlớp: Số lớp theo chiều sâu - + + - Lớp cuối cùng Vòng cuối cùng - + - + Tính toán các điểm vào, ra biên dạng Hình 6. Sơ đồ khối mô khối mô tả quá trình tính toán và hình thành Gcode cho đảo biên dạng 5. Xây dựng và thử nghiệm hiệu quả mô-đun chuyển đổi Gcode Hình 7. Giao diện của mô-đun chuyển đổi Gcode Mô-đun chuyển đổi Gcode được viết dựa trên ngôn ngữ C#. Mô-đun có tính năng cơ bản như: hỗ trợ và minh họa đường chạy dao cho các đối tượng gia công cơ bản. Trong giao diện chính là phần nhập chu trình Gcode đặc trưng cho các đối tượng gia công, phần chuyển đổi sẽ hỗ trợ để chuyển đổi các chu trình Gcode này sang Gcode dưới dạng chương trình cụ thể để có thể chạy trên các máy gia công CNC. Bên cạnh đó, một giao diện mô phỏng đường chạy dưới dạng 2D cũng được tích hợp vào mô-đun để giúp minh họa trực quan các đường chạy dao tương ứng với từng câu lệnh Gcode giúp người lập trình có thể giám sát được các đường chạy dao trong chương trình. Để minh họa cho khả năng thực thi và độ tin cậy của gia công chương trình CNC tự động sinh ra với mô-đun chuyển đổi, một chi tiết với một số đối tượng gia công cơ bản được đưa ra thử nghiệm. Dưới đây là toàn bộ chương trình Gcode mới để gia công chi tiết ví dụ và trích đoạn chương trình Gcode (chương trình chính và chương trình con) cho hệ điều khiển Fanuc21C được mô-đun chuyển đổi xuất ra. Trong ví dụ này, chương trình ngắn gọn với 17 câu lệnh bao gồm các chu trình Gcode mới là chu trình phay mặt phẳng G130/G131, chu trình phay đảo biên dạng G104/G105 và chu trình gia công hệ lỗ sâu phân bố trên vòng tròn G183. • Chương trình viết theo các chu trình Gcode mới để gia công chi tiết N1 G54 N2 G21 G90 G40 N3 G130 X0 Y0 Z0 I55 J40 K1.5 D18 E0 T01 N4 G131 B50 C0.5 R2 W0 S1000 F150 N5 G104 Z-5 K5 H12 D12 E0 T02 N6 G105 P7 Q15 B75 C1 R2 M15 U0.5 W0 S1000 F150 N7 G00 X10.0 Y10.0 N8 G01 X5.0 Y25.0 N9 G02 X15.0 Y35.0 R10.0 N10 G03 X40.0 Y35.0 R30.0 N11 G02 X50.0 Y25.0 R10.0 N12 G01 Y20.0 N13 G01 X45.0 Y10 N14 G01 X30.0 Y7.0 N15 G01 X10.0 Y10.0 N16 G183 X27 Y17 Z0 A10 K5 M4 I40 R10 T03 C2 F100 S1000 N17 M30 • Chương trình chính Gcode (Fanuc21C) N42 #26 = -5 (Z +/- ) N43 #6 = 5 (K +) N44 #11 = 12 (H) N45 #7 = 12 (D) N46 #8 = 0 (E) N47 #2 = 75 (B %) N64 G94 G97 F#9 S#19 N65 M06 T#20 M03 N66 G43 H#20 N67 #102 = #7 * #2 / 100 N68 #103 = 2 (So vong XY) N69 #104 = 5 (So lop Z) N70 #100 = 0 N71 #105 = #13 - [#7/2] N72 #101 = 1 N73 #106 = 0.94868 (SinA) N74 #107 = 0.31623 (CosA) N75 M98 P101040 • Chương trình con Gcode (Fanuc21C) cho phay đảo biên dạng O1040 N1 IF[#100 LT #103] GOTO5 N2 #101 = #101 + 1 N3 #100 = 0 N4 #105 = #13 - [#7/2] N5 #100 = #100 + 1 N6 IF[#100 LT #103] GOTO8 N7 #105 =#7/2+#21 N8 G90 G10 L11 P#11 R#105 N9 G41 H#11 N11 G90 G00 X7.5 Y17.5 N15 G01 Z#108 N16 G01 X5 Y25 N17 G02 X15.0 Y35.0 R10.0 N18 G03 X40.0 Y35.0 R30.0 N19 G02 X50.0 Y25.0 R10.0 N20 G01 Y20.0 N21 G01 X45.0 Y10 N22 G01 X30.0 Y7.0 N23 G01 X10.0 Y10.0 N25 G40 G00 X1*#105*#106+7.5 ISSN 1859-1531 - TẠP CHÍ KHOA HỌC VÀ CÔNG NGHỆ ĐẠI HỌC ĐÀ NẴNG, VOL. 17, NO. 1.1, 2019 57 Z#26+#6+#18 N12 #108=-#101*#3 N13 IF [[#26 + #23] LT #108] GOTO15 N14 #108 = #26+#23 Y1*#105*#107 +17.5 N26 #105 = #105 - #102 N27 IF[#105 GT 0] GOTO29 N28 #105=#102-#21 Hình 7 thể hiện giao diện của mô-đun chuyển đổi với các chức năng tương ứng. Cửa sổ lệnh bên trên cho phép nhập các chu trình Gcode mới để gia công chi tiết. Cửa sổ dưới chính là kết quả xuất Gcode sử dụng trực tiếp trong hệ điều khiển Fanuc21 hoặc Fanuc31. Hình 8. Kết quả mô phỏng gia công trên WinNC Fanuc21 Kết quả của mô phỏng gia công với chương trình Gcode chuyển đổi theo Fanuc 21C được thể hiện trên Hình 8. Đối với phay mặt phẳng cần phay 3 lớp để ăn hết chiều sâu và phay đảo biên dạng cần phay 5 lớp để ăn hết chiều sâu và mỗi lớp chạy 2 vòng để ăn hết lượng dư theo bề rộng. Số các lớp và vòng cắt là do mô-đun tự động tính toán ra dựa trên các thông số hình học và công nghệ của đối tượng gia công. Hình 8, mô tả hình ảnh gia công tại lớp 1 và lớp 2 của phay phẳng, vòng 1 lớp 1 và vòng 2 lớp 4 của phay đảo biên dạng và kết quả gia công toàn bộ chi tiết. Từ các kết quả mô phỏng cho thấy, chương trình xuất ra là hoàn toàn khả thi để gia công chi tiết. 6. Kết luận Bài báo cùng kết quả đạt được đã cho thấy, phương pháp lập trình tham số hiệu quả với việc xuất Gcode trực tiếp từ đối tượng gia công đã được trích xuất từ CAPP. Với lập trình theo kiểu tham số, chương trình gia công rất ngắn gọn và rõ ràng, dễ theo dõi và hiệu chỉnh chứ không như CAM. Mô-đun chuyển đổi có thể được sử dụng hỗ trợ lập trình bằng tay với mã lệnh Gcode mới và số dòng lệnh nhập vào ngắn gọn, rõ ràng hoặc kết hợp với mô-đun CAD/CAPP để tạo thành dòng tích hợp CAD/CAPP/CNC hoàn chỉnh. Trong các nghiên cứu tiếp theo, nhóm sẽ tập trung tới các biên dạng là đường cong phức tạp 2D, 3D và độ chính xác gia công trong so sánh với chương trình xuất từ mô-đun CAM. TÀI LIỆU THAM KHẢO [1] Mohd Asif Hasan. A Practical Approach to the use of Local Variables in CNC Machines Programming for Fanuc Custom Macros. Journal of Material Science and Mechanical Engineering (JMSME). Volume 3, Issue 3; 2016 p. 254-257 [2] M. Sadaiah1, D. R. Yadav2, P. V. Mohanram1 and P. Radhakrishnan A Generative Computer-Aided Process Planning System for Prismatic Components. Int J Adv Manuf Technol (2002) 20:709–719 [3] Mohd Asif Hasan A Conceptual Framework of Common Variables in CNC Machines Programming for Fanuc Custom Macros. Journal of Material Science and Mechanical Engineering (JMSME). Volume 3, Issue 3; April-June, 2016 p. 250-253 [4] Peter Smid. Fanuc CNC Custom Macros. Industrial Press Inc. 2005. [5] Vratraj Joshi, Keyur Desai, Harit Raval. Machining of Archimedean spriral by parametric programming. International Journal of Modern Manufacturing Technologies. Vol. VIII, No. 2. 2016 p. 25-30. (BBT nhận bài: 12/12/2018, hoàn tất thủ tục phản biện: 20/01/2019)
File đính kèm:
- xay_dung_mo_dun_ho_tro_capp_xuat_gcode_tu_dong_truc_tiep_tu.pdf