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 [r]
Trang 152 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
Trang 2ISSN 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ố
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 […]
END
5
Gọi chương
trình theo
tham số
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
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
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
Trang 354 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 Z…K…H…E…T…B…C…R… M…U…W…F…S…
+ Chu trình Gcode chuyển đổi cho cả hai hệ điều khiển G104 Z…K…H…D…E…T…
G105 P…Q…B…C…R…M…U…W…F…S 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
15
R10 R10 R30
10 40
Trang 4ISSN 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<string> 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
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
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
2
(2)
𝑋4=𝑋1+ 𝑋3
𝑌1+ 𝑌3 2
(4)
Trong đó: A=180 - C, C là góc tạo bởi đoạn biên dạng
(7) b)
a)
Trang 556 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
m lớp = (K – W)/C
n= 0, m=0
Gọi biên dạng gia công
m = m + 1
Kết thúc
Bắt đầu
n ≥ n biên dạng
n = n+1
m ≥ m lớp
HC hiện tại : Giá trị hiệu chỉnh bán kính hiện tại
biên dạng
m lớ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
Trang 6ISSN 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)