Selasa, 18 Januari 2011

Pemrograman Mesin CNC

Diagram Cartesian
Titik A [ 5, 8  ]
Titik B [ -6, 4 ]
Titik C [ -9,-2 ]
Titik D [ 3, -7 ]


A. Sistem Pemrograman.
Sistem pemrograman mesin CNC mengacu pada prinsip diagram Cartesian. Sistem Pemrograman Mesin CNC ada 2 macam :

         -Pemrograman sistem Absolut
         -Pemrograman sistem Inkremental


  1. Pemrograman Absolut.
Didalam program mesin CNC sistem pemrograman ini lebih banyak digunakan dibanding sistem pemrograman dengan inkremental. Dalam sistem pemrograman Absolut hanya mengacu pada satu titik referensi saja [ titik nolnya tidak berpindah-pindah ]



Lihat gambar diatas. Apabila sebuah endmill

S                       X-8. Y-4. Z15.
S --> A             X-5. Y-4. Z0.
A --> B             X  5. Y-4. Z0.
B --> C             X  5. Y  4. Z0.
C --> D             X -5. Y 4.  Z0.
D --> A             X -5. Y-4. Z0.


  1. Pemrograman Inkremental.

Pemrograman sistem inkremental titik referensinya [ titik nolnya ] selalu berpindah-pindah, dimana gerakan itu berhenti, disitulah titik referensi untuk menghitung jarak untuk pergerakan berikutnya [ Endpoint akan menjadi start point untuk start berikutnya ]

Lihat gambar diatas. Apabila sebuah endmill

S                       X0. Y0. Z0.
S --> A             X3. Y0. Z-15.
A --> B             X10. Y0. Z0.
B --> C             X 0. Y 8. Z0.
C --> D             X-10. Y0.  Z0.
D --> A             X 0. Y-8. Z0.


B. Fungsi G dan M

Fungsi G :

G00     : Gerakan cepat tanpa pemakanan / rapid [ gerakan mesin ]
           
              G00 X ….Y ….Z ….

Gerakan ini tidak boleh dipergunakan untuk melakukan cutting / pemakanan terhadap benda kerja, sebab bisa menyebabkan pisau atau alat potong patah. Didalam pemrograman gerakan G00 ini harus diperhatikan dengan cermat agar gerakannya tidak menimbulkan tabrakan antara alat potong dan benda kerja atau alat bantu lainnya.



G01     : Gerakan pemakanan lurus

              G01 X…. Y…. Z…. F …

Gerakan ini dipergunakan untuk pemakanan lurus. Kecepatan gerakan ini ditentukan oleh feedingnya.



O0008
N0010 G21 ;
N0020 G0 G17 G40 G49 G80 G90 ;
N0030 T1 M6 ;
N0040 G0 G90 G54 X-15. Y25. S5000 M3 ;             [ Titik S ]
N0050 G43 H1 Z30. ;                                    
N0060 Z2. ;
N0070 G1 Z-5. F200. ;
N0080 X0. F1200. ;                                                    [ S -->  A ]
N0090 X35. ;                                                              [ A --> B ]
N0100 X50. Y10. ;                                                     [ B --> C ]
N0110 X80. Y40. ;                                                     [ C --> D ]
N0120 X100. ;                                                            [ D --> E ]
N0130 G0 Z30. ;
N0140 M5 ;
N0150 G91 G28 Z0. ;
N0160 G28 X0. Y0. ;
N0170 M30 ;


G02     : Gerakan melingkar searah jarum jam 

              G02 X .... Y .... Z .... R .... F ... ;                    atau
              G02 X .... Y .... Z .... I .... J .... K .... F ... ;

Gerakan ini dipergunakan untuk pemakanan melingkar yang searah jarum jam. Kecepatan gerakan inipun ditentukan oleh feedingnya.

G03     : Gerakan melingkar berlawanan arah jarum jam 

              G03 X .... Y .... Z .... R .... F ... ;                    atau
              G03 X .... Y .... Z .... I .... J .... K .... F ... ;

Gerakan ini dipergunakan untuk pemakanan melingkar yang berlawanan arah jarum jam. Seperti halnya G02, kecepatan gerakan inipun ditentukan oleh feedingnya.

Sedangkan masing-masing fungsi addres yang mengikuti gerakan G02/G03 ini adalah:

X,Y,Z  : Koordinat yang dituju                                                
R          : Radius [ Jarak antara start point ke center poit ]
I           : Jarak antara start point menuju center point searah sumbu X secara
              Inkremental                                                                              
J           : Jarak antara start point menuju center point searah sumbu Y secara
              Inkremental                                                                             
K         : Jarak antara start point menuju center point searah sumbu Z secara
              Inkremental
F          : Feeding [ kecepatan pemakanan / asutan / penyayatan ]

Cara menentukan nilai I dan J :



- Jika center point berada disebelah kanan start point, maka         : I +
- Jika center point berada disebelah kiri start point, maka             : I - 
- Jika center point berada disebelah atas start point, maka            : J+
Jika center point berada disebelah bawah start point, maka        : J-

 

 
A         G03 X -3. Y 6. R 5.924
B          G03 X 2. Y 8. R 4.744
C         G03 X -9. Y -7. R 3.809
D         G02 X 2. Y -3. R 4.677

Atau

A         G03 X -3. Y 6. I -1.892 J 5.613
B          G03 X 2. Y 8. I -4.663 J 0.871
C         G03 X -9. Y -7. I -3.456 J -1.601
D         G02 X 2. Y -3. I -2.432 J 3.994

 
O0000
N100 G21
N102 G0 G17 G40 G49 G80 G90
N104 T1 M6
N106 G0 G90 G54 X-20. Y20.S5000 M3      [ Titik S ]
N108 G43 H1 Z20.
N110 Z2.
N112 G1 Z-3. F200.
N114 X0. F1200.                                            [ S --> A ]
N116 X30.                                                      [ A--> B ]
N118 G3 Y50. R15.                                        [ B --> C ]
N120 G2 Y80. R15.                                        [ C -> D ]
N122 G1 X60.                                                 [ D --> E ]
N124 G0 Z20.
N126 M5
N128 G91 G28 Z0.
N130 G28 X0. Y0.
N132 M30



G04     : Waktu diam sesaat [ dwell ]

              G04 P…. ;
              G04 X…. ;

Perintah ini dipergunakan agar tool tidak bergerak dalam waktu yang telah ditentukan. Pada proses drilling/ngebor perintah ini bisa ditambahkan agar kedalaman bor bisa tercapai sesuai ukuran dan dasar lubangnya halus. Begitu juga pada waktu proses grooving/bikin alur pada mesin bubut.

G17     : Bidang/daerah pergerakan melingkar untuk sumbu XY
G18     : Bidang/daerah pergerakan melingkar untuk sumbu XZ
G19     : Bidang/daerah pergerakan melingkar untuk sumbu YZ




 
G28     : Perintah kembali ke referensi point / kembali ke titik nol mesin

              G28 Z0.  ;
              G28 X0. Y0.  ;

G40     : Perintah pembatalan kompensasi radius

Apabila dalam membuat sebuah program tanpa mengaktifkan kompensasi radius,  maka program bekerja tanpa kompensasi radius dan berarti G40 aktif.

G41     : Perintah pengaktifan kompensasi radius kiri

Dalam sebuah program, bila G41 diaktifkan maka posisi mata potong pisau akan berjalan disebelah kiri garis benda kerja.

G42     : Perintah pengaktifan kompensasi radius kanan.

Bila G42 diaktifkan dalam sebuah program, maka posisi mata potong pisau akan berjalan di sebelah kanan garis benda kerja.

Dalam kompensasi radius perlu diperhatikan hal – hal sebagai berikut :

- Harga tool offset normal = ½ X Ø tool [ radius ]
- Jarak dari titik tengah tool ke garis benda sesuai dengan harga tool offset yang dipanggil.
- Pemanggilan tool offset pada program biasanya dengan kode D... atau H... tergantung spesifikasi kontrol   mesinnya.
- Tool offset bisa digunakan untuk mengatur toleransi ukuran.
- Harga tool offset = radius tool berarti penyayatan tepat pada garis benda.
- Harga tool offset > radius tool berarti penyayatan diluar garis benda.
- Harga tool offset < radius tool berarti penyayatan melewati garis benda.
- Pada waktu mengaktifkan kompensasi radius tidak boleh pada waktu gerakan melingkar [ G02 / G03 ].  Begitu pula pada waktu pembatalan kompensasi radius.
                                                                       
                                                                                                            




Program dengan kompensasi radius kiri [ G41 ]

O0001
N100 G21
N102 G0 G17 G40 G49 G80 G90
N104 T1 M6
N106 G0 G90 G54 X8. Y10. S4000 M3
N108 G43 H1 Z30.
N110 Z2.
N112 G1 Z-5. F200.
N114 G41 D11 X-10. F1200.
N116 X-70.
N118 Y70.
N120 X-10.
N122 Y10.
N124 G40 Y-8.
N126 G0 Z30.
N128 M5
N130 G91 G28 Z0.
N132 G28 X0. Y0.
N134 M30




Program dengan radius kompensasi kanan [ G42 ]

O0002
N100 G21
N102 G0 G17 G40 G49 G80 G90
N104 T1 M6
N106 G0 G90 G54 X-10. Y-8. S4000 M3
N108 G43 H1 Z30.
N110 Z2.
N112 G1 Z-5. F200.
N114 G42 D11 Y10. F1200.
N116 Y70.
N118 X-70.
N120 Y10.
N122 X-10.
N124 G40 X8.
N126 G0 Z30.
N128 M5
N130 G91 G28 Z0.
N132 G28 X0. Y0.
N134 M30


Program tanpa kompensasi radius [ G40 ]

O0003
N100 G21
N102 G0 G17 G40 G49 G80 G90
N104 T1 M6
N106 G0 G90 G54 X14. Y4. S4000 M3
N108 G43 H1 Z30.
N110 Z2.
N112 G1 Z-5. F200.
N114 X-4. F1200.
N116 X-76.
N118 Y76.
N120 X-4.
N122 Y4.
N124 Y-14.
N126 G0 Z30.
N128 M5
N130 G91 G28 Z0.
N132 G28 X0. Y0.
N134 M30




G43     : Kompensasi panjang alat potong / pisau

             G43 H.... ;

Perintah ini berfungsi untuk memanggil data panjangnya alat potong. Setiap tool mempunyai panjang yang berbeda – beda, sehingga jarak antara masing – masing tool terhadap permukaan benda kerja pun berbeda – beda. Data panjang masing – masing tool tersebut disimpan dalam memori mesin dengan nomer tertentu. Dalam pemanggilan data tool menggunakan addres H dan diikuti nomer dalam penyimpanan.

G49     : Pembatalan Kompensasi panjang alat potong / tool.





 
G54     : Pencatat koordinat titik nol benda kerja posisi 1
G55     : Pencatat koordinat titik nol benda kerja posisi 2
G56     : Pencatat koordinat titik nol benda kerja posisi 3
G57     : Pencatat koordinat titik nol benda kerja posisi 4
G58     : Pencatat koordinat titik nol benda kerja posisi 5
G59     : Pencatat koordinat titik nol benda kerja posisi 6



G73     : Siklus pengeboran dengan pemutusan tatal

G73 X .... Y .... Z .... P .... Q .... R .... F .... K ....

X,Y      : Posisi koordinat center lubang
Z          : Kedalaman lubang yang dituju
P          : Waktu berhenti sejenak pada dasar lubang
Q         : Kedalaman tiap pemakanan
R          : Posisi pada titik R [ posisi sebelum mulai mengebor ]
F          : Feeding [ Kecepatan pemakanan ]
K         : Jumlah pengulangan


 
G81     : Siklus pengeboran secara langsung

G81 X .... Y .... Z .... P .... R .... F .... K ....

G82     : Siklus pengeboran secara langsung

G82 X .... Y .... Z .... P .... R .... F .... K ....


X,Y      : Posisi koordinat center lubang
Z          : Kedalaman lubang yang dituju
P          : Waktu berhenti sejenak pada dasar lubang
R          : Posisi pada titik R [ posisi sebelum mulai mengebor ]
F          : Feeding [ Kecepatan pemakanan ]
K         : Jumlah pengulangan
  



G83   : Siklus pengeboran dengan penarikan kebidang awal [ penarikan sampai ke        titik R ]

G83 X .... Y .... Z .... P .... Q .... R .... F .... K ....


X,Y      : Posisi koordinat center lubang
Z          : Kedalaman lubang yang dituju
P          : Waktu berhenti sejenak pada dasar lubang
Q         : Kedalaman tiap pemakanan
R          : Posisi pada titik R [ posisi sebelum mulai mengebor ]
F          : Feeding [ Kecepatan pemakanan ]
K         : Jumlah pengulangan


 
  
G84     : Siklus pengetapan

G84 X .... Y .... Z .... R .... Q .... F .... K ....


X,Y      : Posisi koordinat center lubang
Z          : Kedalaman pengetapan
Q         : Kedalaman tiap pemakanan
R          : Posisi pada titik R [ posisi sebelum mulai mengetap ]
F          : Feeding [ Kecepatan pemakanan ]
K         : Jumlah pengulangan


 
Untuk perintah pengetapan, nilai F disini harus dihitung dengan tepat. Apabila penghitungan nilai F tidak tepat akan berakibat Tap menjadi patah, sedang untuk mencari harga F yaitu dengan rumus :

            F = n . z

            n = Putaran spindel
            z = Kisar ulir / gang / pitch

Dalam membuat ulir kanan, pada waktu mulai mengetap putaran berputar M03 sedang waktu jalan keluarnya berputar M04. Sedang untuk ulir kiri pada waktu mengetap putaran berputar M04, untuk jalan keluarnya berputar M03.