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...
6 trang |
Chia sẻ: quangot475 | Lượt xem: 526 | Lượt tải: 0
Bạn đang xem 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ố, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
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)
Các file đính kèm theo tài liệu này:
- pdffull_2019m05d09_10_20_54_8516_2134894.pdf