5. Ý nghĩa khoa học và thực tiễn của đề tài:
1.7.4. Các phương pháp lập trình
1.7.4.1. Lập trình bằng tay
Khi lập trình chi tiết bằng tay người lập trình hoàn thành chương trình không có sự trợ giúp của máy tính phương tiện duy nhất là bảng số liệu và máy tính xách
29
tay. Các lệnh lập trình trong một hệ thống máy công cụ thiết bị điều khiển cụ thể, một thiết bị điều khiển băng và kinh nghiệm.
Người lập trình phải được học khóa đạo tạo kỹ năng lập trình, phải biết hiệu chỉnh và sửa chữa chương trình. Các bước lập trình bằng tay:
Bước 1: Sau khi chọn được máy NC phù hợp nhất trên cơ sở độ phức tạp về hình học cấu tạo của chi tiết, người lập trình phác họa qúa trình gia công trong một bản thảo chương trình.
Bước 2: Là bước quyết định với sự trợ giúp của một tập dữ liệu về dụng cụ về số kiểu và chuỗi dụng cụ cần thiết kẹp hay đồ gá riêng biệt để kẹp chi tiết hay không. Tất cả phụ thuộc vào vật liệu gia công, tốc độ trục chính và tỷ số tiến dao được lựa chọn ở bước này.
Sau hai bước trên người lập trình làm việc với dữ liệu hình học từ bản vẽ khi lập trình cho chuyển động tương đối chi tiết thường cần các tính toán hình học phụ để xác định các điểm cắt đều nhau, các điểm giao nhau phụ thuộc vào khả năng tính toán của các thiết bị điều khiển được sử dụng và độ phức tạp của chi tiết. Đồng thời cũng đảm bảo chính xác về chuyển động để tránh va chạm giữa dao, đồ gá hay mâm cặp. Cần tiến hành các bước này theo trình tự được qui định cụ thể trong các sổ tay hướng dẫn lập trình cho chi tiết điều khiển gia công có liên quan.
1.7.4.2. Lập trình với sự trợ giúp của máy tính
Lập trình có sự trợ giúp của máy tính người lập trình mô tả chi tiết cho máy tính bằng ngôn ngữ mà máy tính có thể hiểu được chương trình gốc này có thể đưa vào máy tính bằng một trong hai cách sau:
Tách rời chương trình gốc được đưa vào máy tính thông qua một phân mạng dữ liệu. Ví dụ thể đục lỗ. Dữ liệu được đưa vào máy tính thông qua một cổng (tominal) và sử dụng ngôn ngữ lập trình thích hợp. Nhiệm vụ của ngôn ngữ lập trình là giúp đỡ cho việc mô tả chi tiết nghĩa là chuyển động giữa dao và phôi để đạt được hình dạng theo yêu cầu trên máy NC được trang bị cho công việc.
30
- Nghiên cứu bản vẽ chi tiết, chọn gốc tọa độ chi tiết (W), có thể ghi lại kích thước của các điểm kích thước đặc biệt trên đường bao sao cho dễ minh họa tọa độ của chúng.
- Lập trình công nghệ lập ra các bước cắt thô và cắt tinh. Chọn dụng cụ cắt và xếp chúng theo dụng cụ gia công.
- Xác định chế độ cắt theo dao, đối với từng bề mặt gia công chọn bước cắt thô, tinh, xác định số vòng quay (n), tốc độ tiến dao (S), chiều sâu cắt (t).
- Phân tích đường bao của chi tiết thành các đoạn thẳng hoặc cong, chọn điểm đầu và điểm cuối.
- Lần lượt vẽ từng câu lệnh cho đến khi kết thúc chương trình. Kiểm tra kỹ phát hiện sai sót và sửa chữa.
a. Một số ngôn ngữ lập trình bằng máy.
Có khoảng hơn 100 ngôn ngữ lập trình điều khiển số đã được triển khai ngay từ những năm của thập kỷ 50. Các ngôn ngữ thể hiện tính ưu việt được sử dụng rộng rãi, chúng có những ưu điểm:
- Cho phép xác định bài toán một cách đơn giản không cần tính toán nhiều. - Ngôn ngữ sử dụng vàký tự biểu trưng dễ học, dễ nhớ do các từ thường được lấy ra từ gốc tiếng Anh mà ngôn ngữ lập trình CNC được phổ biến trên phạm vi quốc tế.
- Với dữ liệu đầu vào ít có thể sản sinh được nhiều dữ liệu đầu ra. - Các tính toán cần thiết do máy thực hiện.
b. Một số ngôn ngữ phổ biến.
- APT: Automaticaly Progam Medtool – Tự động hóa lập trình công nghệ. Ngôn ngữ này được học viện Massachuseet của Mỹ triển khai trên những hệ thống lập trình điều khiển số từ những năm 50 và đưa vào sản xuất năm 1959.
- EXAPT: Extended Subject of APT. Tập con mở rộng của APT. Ngôn ngữ này có một ưu điểm quan trọng là tính toán tối ưu chế độ cắt một cách tự động. EXAPT được triển khai ở Đức năm 1964 dựa trên đó có 3 phiên bản sau:
31
+ EXAPT I: Được thiết kế cho điều khiển vị trí điểm (khoan và phay mặt phẳng).
+ EXAPT II: Được thiết kế cho quá trình điều khiển trên máy tiện. + EXAPT III: Được thiết cho các quỹ đạo hạn chế.
- MINI APT là tập con thu gọn của APT. Là ngôn ngữ lập trình do nhà chế tạo phần mềm Horn thiết lập cho nhiệm vụ điều khiển đường và phi tuyến với vốn từ vựng thu gọn là 200 từ.
- TELEAPT: Ngôn ngữ này do IBM phát triển có khả năng đối thoại và dùng cho các dạng điều khiển điểm, đường và phi tuyến 2
2 1
D. Ngôn ngữ này thuộc họ APT cho phép thông qua mạng Telephone để chuyển vào một máy tính xử lý.
- COMPACT 2: Là ngôn ngữ lập trình vạn năng cho các nhiệm vụ điều khiển đường và phi tuyến do viện nghiên cứu MDSI của Mỹ phát triển. Đây là ngôn ngữ được dùng cho hệ thống Telephone và chế độ hoạt động nhiều đối tác trên nhiều Teminal (đầu ra) và được phổ biến rộng rãi trên thế giới.
- ELAN: Ngôn ngữ lập trình của Pháp dành cho các nhiệm vụ gia công từ 2 ÷ 4 trục điều khiển số, nó gắn liền với các máy tính để bàn của hãng HEWLETT – PACKARD.
- ATOPROGRAMER: Ngôn ngữ lập trình cho các vấn đề gia công: Tiện, khoan, phay do hãng BOEHRINGEN phát triển và chạy trên các máy tính nhỏ và trung bình.
- MITURN: Ngôn ngữ lập trình do Hà Lan phát triển công nghệ tiện cho phép tìm ra bằng tính toán các dữ liệu công nghệ gia công và chế độ cắt gọt.
Ngoài các ngôn ngữ trên còn có các ngôn ngữ khác phát triển mạnh mẽ ở Tây Âu như: AUTOTECH, SYMAP…Trong số các ngôn ngữ đã nêu thì APT là ngôn ngữ đại diện cho phong cách lập trình gia công và được sủ dụng rộng rãi và ngày càng hoàn thiện.
32
APT – Automatically Programmed Tools, nghĩa là công cụ lập trình tự động và là ngôn ngữ lập trình NC bậc cao đầu tiên được sử dụng rộng rãi cho thế hệ máy công cụ điều khiển số. Ngôn ngữ này được nghiên cứu thành công tại phòng thí nghiệm hệ thống điện của viện công nghệ Massachuset trong sự hợp tác với ngành công nghiệp hàng không Hoa Kỳ. Vào những năm 1955, APT được phát triển rộng rãi tại Mỹ và đã thích ứng với các công việc gia công, kể cả lập trình 3D phức tạp. Ưu việt lớn của APT đó là: Nó đã trở thành chuẩn mực cho thế giới rộng lớn các máy NC. Hơn nữa, APT còn được phát triển hết sức đa dạng bên ngoài nước Mỹ. Ví dụ như: NEAPT tại ANH, EXAPT tại Đức, IFAPT tại Pháp…
Là ngôn ngữ lập trình củaCAM, APT có khoảng 3000 từ vựng để lập trình cho việc gia công đơn giản cũng như các yếu tố đường cong 3 chiều như hình: Hình cầu, hình trụ, parabol, mặt võng… Với APT người lập trình có thể xác định hình dáng dụng cụ, dung sai mô tả hình dáng hình học của chương trình gia công, chuyển động dụng cụ cũng như các lệnh hỗ trợ. Hệ thống APT cho phép ta có khả năng xử lý dữ liệu gia công với các chức năng nổi bật như: Copy, Mirro, di chuyển, xoay,… Và có thể làm mềm hóa chương trình gia công bởi Macro…
Là ngôn ngữ lập trình bằng máy, APT cũng có 2 chương trình tính toán đặc biệt đó là: Bộ xử lý và bộ hậu xử lý. Bộ xử lý APT là chương trình máy tính phục vụ cho việc xử lý chương trình nguồn. Từ đó đưa ra một file dữ liệu (CL) bao gồm dữ liệu vị trí dao và các thông tin điều khiển máy. Bộ hậu xử lý cũng là một chương trình máy tính, xây dựng nhằm mục đích xử lý file CLDATA và tạo ra chương trình NC thích ứng với máy kèm theo nó.
APT là hệ thống lập trình không gian 3 chiều, cùng một lúc có thể điều khiển tới 5 trục. Để lập trình APT điều đầu tiên người lập trình phải tìm hình dáng hình học của chương trình gia công tiếp theo là định hướng chuyển động của dụng cụ cắt. Trong khi lập trình, điểm nhìn (VIEW POINT) của người lập trình luôn cố định.Và như vậy chi tiết gia công là cố định và dụng cụ cắt được coi là di chuyển. Do sự tiện dụng cho nhiều nhiệm vụ gia công nên đã có rất nhiều ngôn ngữ lập trình khác nhau được suy diễn từ nó như một tệp con của nó, ..
33
Cấu trúc một chương trình APT gồm 5 phần như sau: 1. Phần mở đầu: Có nhiệm vụ khai báo nguồn.
2. Mô tả hình học: Có nhiệm vụ mô tả hình dáng hình học chi tiết gia công. 3. Chế độ cắt: Có nhiệm vụ khai báo công cụ, tốc độ trục chính, tốc độ tiến dao
và chế độ làm mát trơn nguội.
4. Thiết lập đường chạy dao: Có nhiệm vụ chỉ dẫn chuyển động dụng cụ cắt để gia công chi tiết.
5. Phần kết thúc: Khai báo kết thúc để hoàn thành chương trình.
1.7.5. Cấu trúc chương trình CNC
- Cấu trúc một trình NC đã được tiêu chuẩn hoá, nó được tạo nên bởi chuỗi các câu lệnh (Block), với đường dịch chuyển của dao là nội dung cơ bản của chương trình. Một câu lệnh có thể có từ một lệnh đến nhiều lệnh (Word), một lệnh gồm một địa chỉ (Address) và những con số.
- Một chương trình lập ra để gia công trên máy NC bao giờ cũng phải có 3 phần: Ký hiệu khởi đầu, phần câu lệnh thân chương trình và kết thúc chương trình. Trong tiêu chuẩn ISO, kí hiệu khởi đầu là % và kết thúc chương trình là M30.
- Ví dụ: Một đoạn chương trình sau: Số
thứ tự câu
Thông tin hình học Thông tin về công nghệ Mã dịch chuyển Các trục toạ độ Lượng chạy dao Số vòng quay Dụng cụ cắt Chức năng phụ N G X Y Z F S T M %1000 *Gia công CNC* N1 G90 F100 S3000 T0102 M03; N2 G00 Z-20.; N3 G00 X50. Y35.5; ...; N10 M30;
34 Trong đó:
+ Phần đầu của chương trình là :
% 1000 - Ký hiệu của chương trình để phân biệt với các chương trình khác, dùng để lưu trữ chương trình trong bộ nhớ.
*...* - Ghi chú chương trình (tên quản lý và lưu giữ chương trình) dùng để giúp người sử dụng nhận biết được dễ dàng.
+ Phần thân của chương trình: Bao gồm một dãy các khối lệnh về gia công và các chế độ gia công chứa các thông tin về hình học (mã hoá Gcode) và các thông tin về công nghệ (F, S, M chọn dao chọn chế độ cắt Va, Vc điều khiển máy và các chức năng phụ).
+ Lệnh M30 là kết thúc chương trình.
- Chương trình có hai loại: chương trình chính (main program) và chương trình con (subprogram) (hình 1.7). Tiến trình điều khiển được thực hiện theo chương trình chính. Khi xuất hiện lệnh gọi chương trình con trong chương trình chính, tiến trình điều khiển được chuyển tới chương trình con. Đến khi lệnh kết thúc chương trình con được khai báo, tiến trình điều khiển được trả về chương trình chính. Cấu trúc của hai loại chương trình này giống nhau, có nghĩa là phải nhận biết được sự bắt đầu và kết thúc của chương trình.
Hình 1.7. Chương trình chính và chương trình con
- Cấu trúc một câu lệnh (Block): Mỗi một dòng lệnh là một câu lệnh nó bao gồm các thông tin về: vị trí dòng lệnh, đường đi, chế độ cắt, dụng cụ, dung dịch trơn nguội... Cuối câu lệnh bao giờ cũng có dấu chấm phảy ( ; )
35
- Cấu trúc một từ lệnh (Word): Mỗi một thông tin tương ứng với một từ lệnh. Một từ lệnh hàm chứa một thông tin về kỹ thuật lập trình, về hình học hoặc về công nghệ nó bao gồm một chữ cái địa chỉ (Address) kèm theo là những con số mang giá trị của địa chỉ. Tập hợp các từ lệnh được ngăn cách bằng dấu cách sẽ hình thành một dòng lệnh, các từ lệnh được xếp vào câu lệnh với một trình tự chặt chẽ, theo tiêu chuẩn (DIN 66025):
+ Từ cho số thứ tự câu lệnh N, số thứ tự câu lệnh giúp ta dễ dàng tìm chúng trongbộ nhớ của hệ thống điều khiển hay trong trường hợp sử dụng lệnh lặp, chu trình.
+ Từ cho điều kiện đường dịch chuyển hoặc điều kiện chuẩn bị Code mã hoá G + Các từ cho những trục toạ độ điểm đích X, Y, Z, U, V, W, P, Q, R, A, B, C, D, E + Các từ cho những thông số nội suy I, J, K
+ Từ lệnh cho lượng chạy dao cắt gọt F (mm/phút hoặc mm/vòng). Lượng chạy dao F: trên máy tiện đơn vị có thể tính theo mm/vòng khi đi với G99 hoặc mm/phút khi đi với G98.
Ví dụ: N60 G99 F240; (mm/phút), N30 G99 F0.25; (mm/vòng).
+ Từ lệnh cho số vòng quay trục chính hoặc cho tốc độ cắt S (vòng/phút) Tốc độ trục chính: từ lệnh gồm chữ cái địa chỉ và một số nguyên đứng sau biểu thị giá trị tốc độ trục chính. Trên máy tiện giá tốc độ quay trục chính có thể theo đơn vị: vg/ph hoặc m/ph phân biệt thông qua việc tổ hợp với các câu lệnh G96 và G97: Ví dụ: G96 S120; (m/ph), G97 S1000’ (v/ph).
+ Từ lệnh cho chọn dao và giá trị hiệu chỉnh dao T theo sau có thể là 2 hoặc 4 số: T0201. Dãy số biểu thị tên dụng cụ cắt và địa chỉ số liệu hiệu chỉnh.
+ Từ lệnh về chức năng máy và các chức năng phụ kèm theo là 2 con số Địa chỉ (Address): Là tất cả 26 chữ cái English từ A đến Z.
A- Định vị chuyển động quay quanh trục X B- Định vị chuyển động quay quanh trục Y C- Định vị chuyển động quay quanh trục Z
36
D- Định vị chuyển động quay quanh một trục đặc biệt khác và gọi chức năng hiệu chỉnh kích thước dao hay chạy dao thứ 3.
E- Định vị chuyển động quay quanh một trục đặc biệt khác hoặc gọi chức năng hiệu chỉnh kích thước dao, hay chạy dao thứ 2.
F- Tốc độ, lượng chạy dao (Feed).
G- Điều kiện chức năng đường dịch chuyển.
H- Địa chỉ chưa dùng, dự trữ, có thể sử dụng tự do.
I- Tham số nội suy theo trục X (toạ độ của tâm đường tròn hoặc bước ren // với trục X).
J- Tham số nội suy theo trục Y (toạ độ của tâm đường tròn hoặc bước ren // với trục Y).
K- Tham số nội suy theo trục Z (toạ độ của tâm đường tròn hoặc bước ren // với trục Z).
L- Địa chỉ dự trữ chưa dùng. M- Thực hiện các chức năng phụ. N- Số thứ tự câu lệnh.
O- Không sử dụng (tránh nhầm lẫn với 0).
P- Chuyển động thứ 3 bổ sung thêm // X hoặc thông số hiệu chỉnh dao. Q- Chuyển động thứ 3 bổ sung thêm // Y hoặc thông số hiệu chỉnh dao. R- Chuyển động thứ 3 bổ sung thêm // Z hoặc thông số hiệu chỉnh dao. S- Số vòng quay trục chính hoặc tốc độ cắt (Speed).
T- Gọi dao (Tool)
U- Chuyển động thứ 2 bổ sung thêm // X hoặc thông số hiệu chỉnh dao. V- Chuyển động thứ 2 bổ sung thêm // Y hoặc thông số hiệu chỉnh dao. W- Chuyển động thứ 2 bổ sung thêm // Z hoặc thông số hiệu chỉnh dao. X- Toạ độ chuyển động theo hướng của trục X
Y- Toạ độ chuyển động theo hướng của trục Y Z- Toạ độ chuyển động theo hướng của trục Z
37