• Tidak ada hasil yang ditemukan

TA : Perancangan dan Pembuatan Simulator NC/CNC Pada Mesin EMCOTURN 242.

N/A
N/A
Protected

Academic year: 2017

Membagikan "TA : Perancangan dan Pembuatan Simulator NC/CNC Pada Mesin EMCOTURN 242."

Copied!
102
0
0

Teks penuh

(1)

PADA MESIN EMCOTURN 242

Nama : ARFAN FAHRUDI NIM : 97.41020.4349 Program : S1 (Strata Satu) Jurusan : Sistem Komputer

SEKOLAH TINGGI

MANAJEMEN INFORMATIKA & TEKNIK KOMPUTER

SURABAYA

(2)

PENDAHULUAN

1.1. Latar Belakang

Pada era sekarang ini kebutuhan akan teknologi pada sebuah industri sangat dibutuhkan. Teknologi sangat membantu dalam meningkatkan kuantitas dan kualitas produk yang dihasilkan.

Salah satu peralatan yang dapat dipakai pada industri saat ini adalah NC/CNC (Computer Numerically Controlled). Aplikasi teknik NC/CNC tidak terpaut kepada mesin-mesin perkakas klasik seperti mesin bubut, mesin frais atau kepada bidang pengerjaan logam. Secara praktis semua okupasi/jabatan seperti: perancang bangun teknik, manager teknik atau salesman, pekerja trampil insinyur, pengendali dan lain-lain, akan dihadapkan kepada teknik NC/CNC dalam berbagai cara. Maka keberadaan mesin perkakas NC/CNC sebagai sarana bantu proses produksi adalah sangat vital, sehingga diperlukan tenaga ahli untuk menanganinya, terutama programmer mesin tersebut.

Disamping itu pengadaan mesin perkakas NC/CNC bukanlah suatu hal yang murah apabila tidak dipergunakan secara efektif dan efisien. Mahalnya ongkos perawatan dan ongkos operasi yang disebabkan oleh besarnya investasi, maka pemakaian peralatan NC/CNC harus dilakukan sebaik mungkin. Kemampuan seorang programmer untuk merencanakan proses seoptimal mungkin akan membantu pengoperasian mesin secara baik dan benar. Oleh karena itu sebelum program (G-Codes) dijalankan pada mesin NC/CNC yang sebenarnya, perlu adanya simulasi program gerakan pada mesin NC/NC tersebut yang akan

(3)

dibuat program simulatornya. Dengan demikian kesalahan pemrograman yang langsung berimplikasi pada mesin maupun pada benda kerja dapat dihindari.

Dengan tugas akhir ini mesin CNC yang dibuat simulasinya adalah CNC jenis EMCOTURN 242. sebelumnya bahasa pemrograman pada mesin ini tidak terdapat simulasi, setelah programmer membuat program pada panel yang tersedia, program langsung dieksekusi pada benda kerja. Jika output tidak sesuai dengan yang diinginkan maka benda kerja harus digantikan dengan yang baru, sehingga akan berdampak pemborosan ongkos produksi. Maka dengan pembuatan dan pengenalan pemrograman simulasi NC/CNC diharapkan programmer dapat lebih dulu mengetahui output dari program tersebut, baru diterapkan pada mesin NC/CNC EMCOTURN 242 agar biaya akan menjadi lebih murah.

1.2. Perumusan Masalah

Perumusan masalah dari tugas akhir ini adalah bagaimana merancang dan membuat simulator NC/CNC pada mesin EMCOTURN 242.

1.3. Batasan Masalah

1. Software ini ditujukan untuk para calon programmer atau programmer pemula, dibuat sederhana dan disesuaikan dengan buku EMCOTURN 242. 2. Diameter, panjang, dan fungsi pahat ditentukan sendiri oleh programmer 3. Skala benda kerja diameter maksimal 42 mm dan panjang maksimal 170 mm. 4. Proses-proses yang dapat dilakukan pada simulator ini adalah interpolasi

(4)

5. Beberapa panel yang dirancang untuk pemuatan dan pembacaan data seperti port serial (RS 232) dan port paralel tidak dimasukkan dalam bahasan tugas akhir ini

1.4. Tujuan

Tujuan tugas akhir ini adalah untuk membuat perangkat lunak atau program simulasi untuk mesin CNC (Computer Numerically Controlled) khususnya untuk mesin bubut EMCOTURN 242.

1.5. Sistematika Penulisan

Sistematika yang digunakan dalam penyusunan Tugas Akhir ini dibagi menjadi beberapa bab, yaitu :

BAB I : PENDAHULUAN

Bab ini membahas mengenai latar belakang, perumusan masalah, pembatasan masalah, tujuan dan sistematika penulisan.

BAB II : LANDASAN TEORI

Bab ini membahas landasan teori yang merupakan teori penunjang yang diperlukan dalam rangka menyelesaikan tugas akhir ini

BAB III : METODE PENELITIAN

Bab ini membahas mengenai perancangan dan pembuatan simulator mesin perkakas NC/CNC Turnning.

BAB IV : PENGUJIAN PERANGKAT LUNAK

(5)

BAB V : PENUTUP

(6)

2.1. Pengertian Umum Mesin CNC

Sejak dibuatnya dari mesin NC (Numerical Control) di laboratorium mekanisme servo MIT (Massachusetts Institute of Technology) pada tahun 1952, perkembangan teknologi NC menjadi semakin pesat dengan berhasilnya pengguanaan komputer mikro sebagai pengendali utama, yang selanjutnya dikenal dengan CNC (Computer Numerical Control). Dengan mulai digunakan CIM (Computer Integrated Manufacturing) di beberapa negara industri, telah membawa pengaruh terhadap perkembangan teknologi CNC, karena mesin perkakas CNC merupakan salah satu bagian utama dari sistem CIM.

Pengendalian suatu mesin perkakas dengan menggunakan program yang telah dipersiapkan terlebih dahulu dikenal dengan nama kontrol numerik yang disingkat dengan istilah NC (Numerical Control). Menurut EIA (Electronic Industries Association), NC didefinisikan Suatu sistem yang aksi kerjanya di kontrol dengan menyisipkan secara langsung data numerik pada beberapa titik. Dalam suatu sistem NC data numerik yang dimaksud diatas merupakan kode-kode dari bilangan, huruf dan simbol. Untuk membuat bentuk tertentu dari benda kerja pada mesin perkakas NC, diperlukan adanya data numerik yang disusun dari bilangan, huruf dan simbol yang selanjutnya dinamakan sebagai program part. Pada umumnya program part disimpan dalam media berbentuk pita berlubang (punch tape), dimana setiap kombinasi dari posisi lubang pada suatu baris menyatakan suatu kode yang tertentu dari bilangan atau huruf atau simbol. Dengan demikian, dapat dikatakan bahwa program part adalah suatu himpunan

(7)

petunjuk yang dinyatakan secara terperinci langkah yang memberi tahu mesin perkakas mengenai apa yang harus dilakukannya.

2.2. Bagian-bagian Utama Mesin CNC

Mesin perkakas CNC memiliki 3 komponen utama yaitu:

A. Program Part

Program part merupakan masukan dari unit pengendali mesin yang selanjutnya memberikan perintah ke mesin perkakas untuk melakukan aksi kerja sesuai dengan program part yang telah dibuat. Pembuatan program part merupakan hal yang sangat penting dalam memproduksi suatu benda kerja dengan mesin perkakas CNC. Kualitas benda kerja yang dapat dihasilkan oleh suatu mesin perkakas CNC sangatlah ditentukan oleh program part, sebab program part terdiri dari informasi sebagai berikut:

1) Lintasan relatif antara pahat potong dengan benda kerja

2) Kecepatan gerak makan yang harus diberikan oleh mesin perkakas 3) Kecepatan potong yang harus diberikan oleh mesin perkakas

4) Fungsi-fungsi pembantu, seperti: spindle berputar searah atau kebalikan dari putaran jarum jam, spindle berputar/berhenti.

B. Unit Pengontrol Mesin

Secara umum, unit pengontrol mesin dapat dikatakan mempunyai 2 bagian utama, yaitu :

a) Unit pemroses data (Data Processing Unit).

(8)

tape reader. Data tersebut kemudian diproses lebih lanjut dan akhirnya menghasilkan informasi yang dikirimkan ke servo unit dan sequence control unit pada control loop unit. Dalam sistem NC hard wire, unit pemroses data ini merupakan rangkaian logika (logic circuits) hard wire. Dan fungsi-fungsi yang dilakukan oleh unit pemroses data adalah :

1. Membaca data dalam bentuk kode melalui paper tape reader.

2. Melakukan pemeriksaan terhadap data tersebut melalui rangkaian parity checking.

3. Menyediakan buffer untuk satu blok data, agar pergerakan aksis dari mesin perkakasnya lebih continue. Bila tidak ada buffer, maka akses dari mesin perkakas harus menunggu sesuai dengan waktu yang diperlukan pada saat reading circuit dan parity checking circuit, ini dilakukan setiap kali akses dari mesin perkakas yang telah selesai melaksanakan perintah pergerakan dari satu blok data yang sebelumnya.

b) Control Loop Unit.

Adapun fungsi-fungsi dari CLU (Control Loop Unit) adalah :

1. Menyediakan rangkaian dari pengontrolan posisi dan kecepatan untuk setiap akses pada mesin perkakasnya. Setiap akses dari mesin perkakas dilayani oleh control loop. Servo unit untuk pengontrolan posisi dan kecepatan ini merupakan bagian yang amat penting dalam CLU, sebab ketelitian dimensi serta kualitas permukaan dari benda kerja akan sangat tergantung padanya. 2. Menyediakan rangkaian-rangkaian untuk proses deselerasi (perlambatan) dan

(9)

3. Melakukan pengontrolan dari urutan operasi fungsi-fungsi pembantu (auxiliary function), yaitu spindle, cairan pendingin, penggantian pahat, penggantian pelat dan sebagainya.

C. Mesin Perkakas

Komponen ketiga dari sistem mesin perkakas NC adalah mesin perkakas atau mesin bubut itu sendiri. Mesin perkakas inilah yang terlihat secara fisik melakukan proses pemotongan yang diinginkan. Bagian-bagian yang penting dari mesin perkakas adalah meja, spindle, motor servo sebagai penggerak yang dapat dikontrol, pahat potong, jig & fixture dan sebagainya.

2.3. Komputer Dalam Sistem NC/CNC

Perkembangan dari teknologi NC tidak terlepas dari kemajuan-kemajuan yang telah dicapai dalam bidang komputer. Penggunaan dari komputer dalam unit pengontrol NC telah menghasilkan perkembangan-perkembangan dalam teknologi NC, fungsi dari NC tersebut dapat disimpan dalam bentuk program. selanjutnya, dikenal beberapa macam unit pengontrol NC yang menggunakan komputer sebagai pengontrol utamanya, yaitu :

- Direct Numerical Control (DNC) - Computer Numerical Control (CNC)

(10)

Dalam pengoperasian NC konvensional (hardwire), telah ditemukan berbagai masalah sebagai berikut :

1) Mudah terjadinya kesalahan dalam pembuatan program part, yaitu berupa kesalahan sintak atau kesalahan numerik. Biasanya kesalahan-kesalahan tersebut dapat diperbaiki setelah mencoba program part tersebut dijalankan di mesin perkakas NC selama 2 atau 3 kali jalan. Hal lain yang juga merupakan masalah yaitu cara menentukan urutan (langkah-langkah) pemotongan yang terbaik.

2) Tidak optimumnya penggunaan kecepatan potong dan kecepatan gerak makan. Dalam mesin perkakas NC konvensional, tidaklah mungkin mengubah kecepatan potong dan kecepatan makan ketika proses pemotongan sedang berlangsung.

3) Punched tape, dalam mesin perkakas NC, pita berlubang digunakan berkali-kali untuk setiap benda kerja yang dibuat. Kerusakan-kerusakan dari pita berulang ini seringkali menimbulkan masalah.

4) Tape reader, pada bagian ini sudah dikenal oleh konsumen-konsumen mesin perkakas NC konvensional bagian yang paling tidak reliable.

5) Dalam unit pengontrol NC, tidak akan dilakukan perubahan-perubahan yang sifatnya pengembangan dari fungsi-fungsinya interpolasi dan sebagainya. 6) Management information. Dalam unit pengontrol NC tidak disediakan port

(11)

2.3.1. Direct Numerical Control (DNC)

DNC didefinisikan sebagai suatu manufacturing system, suatu komputer (komputer besar) mengontrol secara langsung sejumlah mesin perkakas (dapat mencapai 100 mesin perkakas). Tape reader tidak lagi diperlukan oleh sistem DNC ini, yaitu bagian yang dianggap paling tidak reliable. Sebagai pengganti tape reader, program part dikirimkan secara langsung dari memori komputer ke mesin-mesin perkakas. Disamping itu, komputer juga mengumpulkan data dari mesin perkakas untuk diolah guna keperluan-keperluan tertentu. Konsep ini timbul karena harga dari komputer pada saat itu sangat tinggi, sehingga tidak mungkin untuk menggunakan satu komputer guna mengontrol hanya satu mesin perkakas.

Secara umum, ada 2 macam konfigurasi dari sistem DNC, yaitu :

a) Konfigurasi DNC dengan menggunakan satu komputer yang secara langsung mengontrol sejumlah tertentu mesin-mesin perkakas, terlihat pada gambar 2.1. b) Konfigurasi DNC dengan menggunakan satu komputer utama yang

dihubungkan ke mesin-mesin perkakas melalui satelit-satelit berupa komputer-komputer mini, dapat dilihat pada gambar 2.2.

Keuntungan-keuntungan yang didapat diperoleh dengan menggunakan konsep DNC adalah :

1) Tidak lagi diperlukannya punched tape dan tape reader

2) Kemampuan dalam menghitung dan fleksibilitas yang lebih besar

3) Dapat menyimpan program part dengan lebih mudah dalam suatu file dari komputer.

(12)

5) Dapat membuat suatu laporan (report) mengenai performance dari shop 6) Memberikan suatu konsep nyata tentang bentuk dari pabrik dimasa mendatang

2.3.2. Computer Numerical Control (CNC)

CNC adalah sistem NC yang dilengkapi dengan dedicated mini/mikro komputer dengan program-program yang tersimpan dalam memorinya, untuk melaksanakan fungsi-fungsi utama dari NC.

Apabila dilihat dari bentuk luarnya, maka sistem CNC sangatlah serupa dengan sistem NC. Program part mula-mula dibaca oleh sistem CNC melalui

Control

Gambar 2.1. Konfigurasi sistem DNC dengan satu komputerpusat

Telecommunication

Gambar 2.2.Konfigurasi DNC dengan satu komputer pusat dan beberapa

(13)

tape reader, seperti halnya dalam sistem NC. Walaupun demikian, pembacaan program part dari media pita berlubang hanyalah dilakukan sekali saja, dan selanjutnya disimpan dalam memori komputer. Pada sistem NC, program part tersebut dibaca setiap kali untuk setiap benda kerja, karena sistem NC tidak memiliki memori. Dengan demikian, tape reader dalam sistem CNC hanya perlu 1 kali loading dari program part, dan setelah itu sistem mesin perkakas CNC dapat menghasilkan benda kerja yang sama sebanyak-banyaknya selama sistem CNC tidak dimatikan. Dibandingkan dengan sistem NC konvensional, maka sistem CNC lebih fleksibel dan kemampuannya dalam operasi-operasi aritmetik juga lebih besar. Fungsi-fungsi yang bersifat options dapat dimasukkan kedalam sistem CNC hanya dengan cara pemprograman, karena itulah sistem CNC juga dinamakan sebagai softWare NC system. Pada gambar 2.3 menunjukkan konfigurasi umum dari sistem mesin perkakas CNC.

Fungsi-fungsi yang dapat dilakukan oleh CNC adalah sebagai berikut :

a) Pengendalian mesin perkakas

Fungsi utama dari sistem CNC adalah mengontrol mesin perkakas, yaitu mengubah program part menjadi gerakan-gerakan aktual dari aksis-aksis pergerakannya dan fungsi-fungsi pembantu yang diperlukan dalam proses pemotongan.

NC part program storage)

Computer hardware interface and servo system

(14)

Ada 2 jenis sistem CNC, yaitu : 1) System reference pulses CNC)

Dalam system refenrence pulse CNC, komputer menghasilkan pulsa-pulsa untuk dikirimkan ke digital control loop (position and velocity control unit) untuk melaksanakan pergerakan aksis sesuai dengan perintah yang ada dalam program part.

2) System sampled data CNC

Dalam sampled data CNC system, posisi control loop direalisasi di komputer, kemudian komputer menghasilkan kesalahan posisi untuk diubah menjadi sinyal analog yang selanjutnya dikirimkan ke velocity control unit.

b) Kompensasi dalam proses

Fungsi ini merupakan fungsi yang terdekat dengan machine control unit, yang mencakup koreksi-koreksi yang harus dilakukan oleh mesin perkakas bila terjadi penyimpangan-penyimpangan atau kesalahan-kesalahan selama proses berlangsung.

Beberapa fungsi yang tergolong dalam in-proses compensation adalah :

1) Perhitungan kembali dari posisi-posisi aksis bila inspection probe digunakan untuk menentukan suatu bidang referensi pada benda kerja.

2) Offset adjustment untuk radius pahat dan panjang pahat.

(15)

c) Mengubah program dan operasi proses

Fleksibilitas dari sistem NC software ini adalah tersedianya fasilitas-fasilitas yang memudahkan pemrograman maupun operasinya.

1) Membenahi program part pada mesin perkakas CNC, sehingga dapat mengoreksi atau melakukan optimalisasi dari program part.

2) Graphic display dari lintasan pahat, untuk memeriksa program part. 3) Berbagai jenis interpolasi, seperti : lingkaran, parabola dan sebagainya. 4) Tersedianya kemungkinan untuk bekerja dalam unit metric atau inchi 5) Manual data input (MDI)

6) Local storage dari sejumlah program part, sesuai dengan kemampuan memorinya.

d) Diagnosa

Mesin perkakas CNC merupakan sistem yang mahal dan kompleks. Kompleksitas dari sistem ini dapat menimbulkan suatu resiko terjadinya kerusakan dari salah satu komponennya, yang mengakibatkan sistem menjadi down time. Dengan demikian diperlukan adanya teknisi dalam bidang perawatan yang mempunyai skill tinggi, sehingga dapat menekan down time sekecil mungkin.

Sistem-sistem CNC biasanya dilengkapi dengan fasilitas self diagnostics yang dapat membantu teknisi perawatan memecahkan masalah-masalah yang mungkin timbul dalam sistem mesin perkakas CNC Fasilitas self diagnostic ini harus dapat melakukan beberapa fungsi sebagai berikut :

(16)

2) Diagnosa program harus mampu memberi tahu sebab terjadinya kerusakan 3) Fungsi yang ketiga ini masih merupakan suatu kemungkinan, yaitu

disediakannya komponen-komponen ganda sebagai cadangan dalam rangkaian kontrolnya, pada komponen-komponen ganda sebagai cadangan dalam rangkaian kontrolnya, pada komponen-komponen yang dinilai paling tidak reliable. Apabila terjadi kerusakan pada suatu komponen tersebut, maka CNC akan memerintahkan untuk menggunakan komponen cadangan dan melepaskan dari komponen yang rusak. Dengan demikian proses perbaikan terjadi tanpa adanya waktu berhenti (down time)

2.4. Prinsip Kerja Mesin CNC Bubut

Mesin CNC bubut mempunyai gerakan dasar kearah melintang dan horisontal dengan sistem koordinat sumbu X dan Z. Prinsip kerja mesin CNC bubut ini adalah benda kerja yang terpasang pada chuck berputar, sedangkan pada bagian pahat diam. Arah gerakan pada mesin bubut diberi lambang sebagai berikut :

1. Sumbu X arah gerakan melintang tegak lurus terhadap sumbu putar. 2. Sumbu Z arah gerakan horisontal yang sejajar sumbu putar.

Untuk memperjelas fungsi-fungsinya dapat dilihat pada gambar 2.4.

(17)

Pada mesin perkakas dengan benda kerja berputar, seperti mesin bubut, sumbu Z sejajar dengan spindle dan gerakan positif menggerakkan pahat menjauhi gerakan benda kerja (gambar 2.4). Sedangkan sumbu X adalah searah dengan arah gerakan pahat potong gerakan positif menggerakkan pahat potong menjauhi benda kerja. Pada sumbu Y adalah sumbu kiri dalam sistem koordinat Cartesian.

2.5

.

Definisi Pemrograman CNC

Pemrograman adalah menetapkan dalam kode dari posisi perkakas terhadap benda kerja, dengan memperhitungkan aspek teknologi dari hasil pengerjaan dan kemungkinan dari mesin perkakas dan benda kerja.

Dengan definisi tersebut, pemrograman CNC merupakan proses menyusun informasi yang terdiri dari huruf dan angka, dalam fungsi mesin dan gerakan perkakas agar proses pemesinan menghasilkan benda kerja yang dikehendaki.

Informasi yang diberikan kepada mesin meliputi informasi berupa dimensi benda kerja dan program G-codes yang digunakan untuk merealisasikan bentuk benda kerja yang diinginkan.

2.5.1. Metoda Pemrograman

(18)

A. Pemrograman harga absolut.

Pada pemrograman harga absolut, titik-titik posisi yang harus dicapai oleh pahat potong selalu dinyatakan atau diukur berdasarkan titik nol dari sistem koordinat mesin perkakas yang bersangkutan (titik nol dijadikan referensi), untuk lebih jelasnya, dapat dilihat contoh pada gambar 2.5.

B. Pemrograman harga inkremental.

Pada pemrograman harga inkremental, titik-titik posisi yang harus dicapai oleh pahat potong selalu didasarkan atau diukur dari titik posisi sebelumnya, lihat contoh pada gambar 2,5.

Absolut : A(1,2) B(9,6) Inkremental : A(1,2) B(8,4)

2.5.2. Titik Nol dan Titik Referensi

Dalam pembuatan program CNC operator harus menentukan posisi pahat potong relatif terhadap titik nol (zero point) dari sistem koordinat mesin perkakas

A

B

10 1

8 7 6 5 4 2

0 1 2 3 4 5 6 7 8 9 11

x

(19)

yang bersangkutan. Pada mesin perkakas NC/CNC mempunyai dua metoda untuk menspesifikasikan titik nol tersebut.

Kemungkinan pertama adalah untuk mesin perkakas yang telah mempunyai titik nol, dalam hal ini titik nol selalu dilokasikan pada posisi yang sama dari meja kerja mesin. Sebagai contoh pada mesin freis titik nol adalah pojok kiri bawah dari meja kerja, dan posisi pahat ditentukan koordinat X positif dan Y positif. Penetapan titik nol ini disebut fixed zero.

Yang kedua dan pada umumnya ditampilkan pada mesin perkakas CNC mutakhir, penetapan titik nol tergantung keinginan operator dalam berbagai posisi pada meja kerja mesin, disebut juga dengan floating point.

Selain titik nol, mesin perkakas CNC mempunyai sejumlah titik-titik referensi yang akan mendukung di dalam operasi proses maupun dalam pemrograman. Gambar di bawah ini menunjukkan titik-titik tersebut dalam mesin perkakas CNC Turning.

Gambar 2.6. Titik nol dan titik referensi pada mesin CNC Turning

M W

E =N

(20)

Jenis dari titik referensi itu adalah sebagai berikut :

A. Titik Nol Mesin (M)

Titik nol ini dispesifikasikan oleh pabrik pembuat mesin CNC. Titik ini adalah titik nol dari sistem koordinat mesin yang merupakan starting point dari semua sistem koordinat lainnya (bila titik nol digeser) serta titik referensi di dalam mesin perkakas.

B. Titik Nol Benda Kerja (W)

Titik ini merupakan titik nol dari sistem koordinat benda kerja dalam hubungannya dengan titik nol dari mesin (M). Titik ini dapat dipilih bebas oleh operator dengan metode penggeseran titik nol, namun disarankan mempertimbangkan dari pemberian ukuran dimensi dari benda kerja.

C. Titik Referensi Setting Pahat Potong (E/N)

Titik ini dilokasikan pada titik tertentu pada pemegang pahat. Titik ini digunakan sebagai referensi pengukuran pahat yang datanya dimasukkan pada memori data pahat potong pada sistem kontrol, misal panjang pahat sebagai koordinat Z atau L dan offset pahat koordinat X atau radius pahat sebagai R.

(21)

D. Titik Referensi R

Titik referensi ini dimaksudkan untuk mengkalibrasi dan mengontrol sistem pengukuran dari jalannya peluncur dan pahat. Setelah menghidupkan mesin, titik referensi R harus dicapai. Posisi referensi R berbeda pada setiap mesin dan ditetapkan masing-masing oleh pabrik pembuat.

2.5.3. Penggeseran Titik Nol

Titik nol dari suatu sistem koordinat mesin (titik M) dapat dipindahkan sesuai keinginan operator ke titik nol benda kerja (titik W), oleh karena itu harus memberikan perintah melalui fungsi perintah tertentu yang telah ditetapkan untuk maksud penggeseran titik nol pada program CNC, dan memasukkan data penggeseran kedalam memori tabel PSO (position shift offset) pada sistem kontrol. Fungsi-fungsi pada bahasa program CNC itu antara lain, G54, G55 bila penggeseran selalu dari titik nol dan G57, G58, G59 bila penggeseran tidak dari titik nol (M).

2.5.4. Pengukuran dan Pemrograman Pahat Potong

(22)

Adapun kemungkinan untuk mendapatkan data alat potong itu, adalah : 1. Menyentuhkan puncak mata alat potong ke ujung muka benda kerja. 2. Menggunakan peralatan optik

2.5.5. Bahasa Mesin CNC

Bentuk kode gerakan CNC adalah sejumlah aturan dan kolom. Jumlah kolom ditentukan oleh sejumlah fungsi. Banyaknya aturan ditentukan oleh banyaknya pengerjaan. Beberapa istilah yang perlu dijelaskan pada pemrograman CNC antara lain :

Tabel 2.1. Part programming NC/CNC

Istilah Penjelasan

Isi Kombinasi huruf, angka, tanda

Alamat (address) Sebuah huruf yang berhubungan dengan arti yang tertentu Kata (word) Sebuah huruf dan beberapa angka (alamat dan bilangan) Aturan (block) Kumpulan kata dan berisi informasi untuk melaksanakan

sebuah pengerjaan.

Contoh:

G 01 X35 Z12.0 F100 M02 M08

Gambar 2.8.Format penulisan part programming NC/CNC N 0010

kata

isi

alamat

Fungsi Informasi

Informasi penghubung Informasi geometri

(23)

A. Nomor

Nomor blok dipakai untuk melokalisir blok-blok penulisan program sehingga memudahkan koreksi atau penambahan bila diperlukan.

B. G (Go) : Fungsi yang diperintahkan

Fungsi G bertujuan agar mesin memerintahkan mesin untuk melaksanakan gerakan tertentu. Di sini dibedakan antara fungsi fungsi persiapan gerakan misalnya G00, G01 G02 dan G03 dengan fungsi fungsi persiapan setting pendahuluan misalnya G54 dan G55. Fungsi ini sangat vital dalam pemrograman benda kerja karena berisi perintah kendali gerakan mesin dan program.

C. Alamat

Alamat-Alamat ini berisi informasi arah gerak. Alamat adalah parameter yang diperlukan untuk mendukung beberapa fungsi kendali proses menuju ke bentuk yang diinginkan. Alamat X dan Z mengisyaratkan titik tujuan dalam koordinat yang akan dituju untuk pergerakan pahat. Hal ini dapat sebagai pergerakan incremental maupun absolute tergantung dari pada setting awalannya. Selain X dan Z juga ada address lain, yaitu (alamat U W, alamat I K, alamat S, alamat T, alamat L, alamat R, alamat F).

D. Pemakanan (F)

(24)

E. Jumlah Putaran Spindel (S)

Jumlah putaran spindel memberi informasi tentang jumlah putaran spindel setiap menit atau putaran per menit.

F. Fungsi Bantu(M)

Fungsi bantu ini berfungsi sebagai pemberi informasi, saklar pendingin, penutup program, putaran sumbu utama.

G. Parameter P dan D

Jenis pelaksanaan khusus dalam siklus, sebagai contoh digunakan pada siklus pembubutan memanjang (G 84), diperintahkan parameter P dan D.

H. Tool (T)

Instruksi ini berisi alamat pahat dan berisi informasi geometrinya.

2.6

.

Informasi Geometri dan Teknologi

(25)

Informasi teknologi adalah informasi yang berisi tentang cara merealisasikan bentuk dan ukuran produk, seperti metode pemasangan dan metode pembuatan benda kerja, cara pengerjaan, urutan pengerjaan, kondisi pemakanan, kecepatan potong, material benda kerja, material perkakas, toleransi dan kualitas permukaan. Dengan demikian, seorang programmer harus mempunyai pengetahuan yang mendasar tentang gambar kerja, urutan pengerjaan, pengertian teknologi berbagai parameter produksi dengan menggunakan CNC, dan teknik pemasangan benda kerja dan pahat. Informasi teknologi seperti yang tersebut di atas sangat vital pengaruhnya terhadap perencanaan produk serta proses pemesinan CNC yang akan dilakukan.

2.7. Program CNC

2.7.1. Struktur Program

Dalam pemrograman CNC dikenal tiga jenis program, yaitu :

A. Program Utama

Adalah program yang berisi perintah-perintah proses pemesinan benda kerja mulai dari awal sampai dengan selesai, yang meliputi penggeseran titik nol, pemanggilan pahat potong, penetapan status mula, perintah gerakan cepat, berbagai perintah gerakan pemotongan, pemanggilan sub-program, cairan pendingin on-off, program berhenti sementara atau berakhir dan sebagainya. Struktur program utama :

- Nomor program (versi EMCO : O0000 s/d O0079 dan O0256 s/d O6999) - Isi program

(26)

B. Sub-Program

Adalah bagian program yang dibuat tersendiri (diluar program utama) jika ada bagian proses pemesinan pada benda kerja yang mempunyai bentuk identik, sehingga dapat dipanggil masuk ke program utama pada saat diperlukan dan dapat secara berulang.

Struktur sub-Program :

- Nomor program (versi EMCO O0080 s/d O0255). - Isi program

- Akhir program (M 17 merupakan fungsi pengaktifan sub-program).

C. Program poligon

Adalah sebuah program untuk membuat gambar benda kerja dan sistem pencekamannya pada layar monitor mesin CNC. Program poligon dimaksudkan untuk melakukan simulasi proses pemesinan terhadap benda kerja dari program CNC (program utama maupun sub-program) yang telah dibuat.

2.7.2. Instruksi Pemrograman

(27)

Berikut ini adalah fungsi dari G-codes :

Sedangkan untuk fungsi M-codes pada perangkat lunak simulasi ini, adalah :

Tabel 2.3. Fungsi M-codes

Fungsi Keterangan

M 03 Putaran sumbu utama searah jarum jam M 05 Putaran sumbu utama berhenti

M 00 Berhenti terprogram M 17 Sub Program habis

M 30 Program berakhir dan kembali ke awal program M 08 Pendingin hidup

M 09 Pendingin mati

Fungsi Keterangan

G 00 Gerakan cepat G 01 Interpolasi linear

G 02 Interpolasi melingkar searah jarum jam

G 03 Interpolasi melingkar berlawanan arah jarum jam G 84 Siklus pembubutan memanjang dan melintang

G 96 Data kecepatan asutan, dalam mm/menit [ n = 1000 x V ] (konstan) π x D

G 97 Pemrograman langsung jumlah put. spindel [ V = π x D x n ] (konstan) 1000 G 94 Penentuan asutan, dalam mm/putaran (feeding)

G 95 Penentuan asutan, dalam µm/putaran (feeding) G 53 Pembatalan G 54 dan G 55

G 54 Penggeseran titik nol dari titik M G 55 Penggeseran titik nol dari titik M G 92 Penggeseran khusus bukan dari titik nol G 56 Pembatalan G 57, G 58, dan G 59 G 57 Penggeseran titik nol bukan dari titik M G 58 Penggeseran titik nol bukan dari titik M

G 59 Penggeseran titik nol bukan dari titik M dan pengaktifan kembali G 92

G 25 Pemanggilan Sub-Program

G 40 Pembatalan Penggeseran jalannya alat potong (pembatalan G41 dan G42)

G 41 Koreksi jalannya pahat sebelah kiri

(28)

X

a

b

Z P2

α

P1 P3

r 2.7.3. Perhitungan Koordinat

Selama Proses berjalan pahat bergerak dari satu koordinat ke koordinat yang lain dengan melalui lintasan tertentu. Lintasan adalah kumpulan koordinat yang telah diperhitungkan secara matematis oleh komputer dengan mengikuti aturan yang sesuai dengan jenis gerakan yang dilakukan. Lintasan tersebut terdiri dari lintasan linier dan circular.

A. Interpolasi Linier

Gambar 2.9. Interpolasi linier

Dari gambar 2.9, dapat dicari koordinat–koordinat yang dilalui oleh pahat dari titik P1 ke titik P2 adalah (Anton, H: Dasar-dasar Aljabar Linear : 2000: 307)

sin (α) = r b

dimana b = r . sin (α) ...(2-1)

cos (α) = r a

dimana a = r . cos (α ) ...(2-2)

(29)

Z2

Z1

X1

X2 B. Interpolasi Circular

Gambar 2.10. Interpolasi linier

Dari gambar di atas dapat dianalisa gerakan circular, dengan terlebih dahulu mentranslasikan setiap koordinat tersebut ke (0,0) dalam koordinat bayangan, seperti pada gambar dibawah ini :

Gambar 2.11. Translasi koordinat

(30)

k

Jadi koordinat–koordinat yang dilalui oleh pahat :

Z = Zc+ r cos θ ...(2-8)

X = Xc+ r sin θ ...(2-9)

:2.7.4. Koordinat Kompensasi

(31)

menuliskan koordinat benda kerjanya saja. Pergeseran koordinat akibat adanya diameter (radius) pahat, inilah disebut dengan kompensasi.

Ada dua jenis kompensasi yang dipergunakan pada proses, yaitu kompensasi kiri dan kompensasi kanan. Kompensasi kiri adalah pergeseran koordinat benda kerja ke sebelah kiri relatif terhadap gerakan pahat sejauh radius pahat yang dipergunakan. Sedangkan kompensasi kanan adalah pergeseran koordinat benda kerja ke sebelah kanan relatif terhadap arah gerakan radius yang dipergunakan. Dibawah ini akan digambarkan perbedaan dari kompensasi kanan dan kompensasi kiri.

Gambar 2.12. Kompensasi kiri dan kompensasi kanan

Saat proses pemotongan berlangsung, koordinat awal dan akhir titik pusat pahat tidak dapat ditentukan dengan menggeser koordinat program sejauh jari-jari pahat begitu saja, tetapi masih diperhitungkan koordinat gerakan pahat berikutnya. Hal ini dilakukan untuk menghindari kerusakan geometri benda kerja, dan untuk memperoleh gerakan pahat yang lebih efisien.

Dalam proses kompensasi ini ada beberapa pasangan gerakan yang harus diperhitungkan, yaitu :

1. Pasangan gerak linier dengan gerakan linier. 2. Pasangan gerakan linier dan circular.

(32)

Gambar 2.13. Perbedaan kontur

Untuk pemanggilan program pada mesin CNC ada dua prosedur, selain memasukkan perintah kompensasi (G 42, G 41) juga harus dimasukkan informasi pahat pada data tool yaitu r (nose radius) dan L (posisi radius pahat). Prosedur ini harus dilakukan agar perintah kompensasi dapat berjalan dengan baik. Pada gambar 2.12 ditunjukkan perbedaan kontur yang terbentuk pada proses dengan menggunakan perintah kompensasi dan tidak ada perintah, akan terlihat perbedaan pembacaan pada sistem kontrol tentang titik nol radius pahatnya,

2.8. C++ Builder

C++ Builder merupakan alat bantu pemrograman dalam lingkungan visual untuk RAD (Rapid Aplication Development). Dengan menggunakan C++ Builder dapat dibuatkan suatu aplikasi windows dengan lebih efisien dan

(33)

meminimalisasi penulisan kode program, juga memberikan sebuah library component yang komprehensif, dan disertai sederetan tool-tool RAD yng meliputi aplikasi, template form, dan wizard pemrograman.

C++ Builder salah satu produk dari Borland yang menganut Object Oriented Programming (Pemrograman Berorientasi Object). Program ini dekembangkan karena semakin banyaknya perangkat lunak berbasis windows dan Linux yang dikembangkan dengan bahasa C dan C++, sehingga software yang dihasilkan lebih efisien serta menigkatkan performance dan functionality.

(34)

PERANCANGAN SOFTWARE

3.1. Langkah Perancangan

Pada perancangan software simulasi CNC ini dilakukan dengan mengklasifikasikan semua proses–proses mesin CNC ke dalam unit–unit tertentu, dalam tiap unitnya terdiri dari modul–modul perintah. Cara ini lebih memudahkan dalam pembuatan software, karena pada form utama tidak terlalu banyak memuat perintah pemrograman. Pada perancangan sistem ini terdapat dua form utama, yaitu Form User Interface (keyboard panel) dan Form Animasi, dan tiap form terdiri dari unit modul. Setiap unit modul akan digabungkan antara satu dengan lainnya, sehingga form panel yang terdiri dari unit data dapat diakses oleh form animasi.

Prinsip kerja dari program simulator ini adalah menterjemahkan file program dari hasil input user interface (keyboard panel), dalam hal ini meliputi file pemrograman perintah G codes dan parameter–parameternya, M codes, file tool (TO). Selanjutnya setiap kode instruksi hasil input dieksekusi oleh unit animasi sesuai dengan fungsi pergerakannya.

(35)

3.1.1. Perancangan User Interface (keyboard panel)

Pada bagian ini sistem mengklasifikasikan prosedural dari setiap tombol (panel) yang terdapat pada keyboard panel mesin secara keseluruhan. Keyboard panel simulasi terdiri dari empat mode utama, yaitu : mode automatic, mode edit, mode execute, mode manual. Setiap mode tersebut diklasifisikan sebagai subrutin pada software simulasi ini yang merupakan prosedur untuk memberikan perintah pemrograman.

User interface berisi modul–modul yang dapat menterjemahkan setiap perintah dari hasil input panel. Untuk memudahkan pembuatan program ini perlu adanya inisialisasi tiap modul dalam panel pada user interface, sehingga setiap hasil input dapat diterjemahkan menjadi perintah pemrograman pada setiap mode utama maupun sub–mode. Dengan cara di atas maka prosedur pemrograman dapat berjalan dengan terstruktur.

Adapun mode utama dan sub–mode (softkey) pada keyboard dapat ditunjukkan pada bagan dibawah ini :

(36)

Gambar 3.4. Panel mode automatic

Automatic

Graphic On

Single Graphic

Page

Status Dry run

Gambar 3.3. Panel mode edit Port

RS 232 Port

Cassete

Port Paralel Edit

Gambar 3.2. Panel mode execute Status

Graphic On

(37)

Gambar 3.5. Tampilan keyboard mesin CNC

1. Monitor 5. Keyboard function

2. Mode keyboard 6. Softkeys

3. Address keyboard 7. RESET key

4. Digit keyboard 8. CYCLE START key

MANUAL

6 7 8

(38)

Keyboard panel mesin (user interface) dalam bahasan software ini ditunjukkan pada gambar di atas. Pada keyboard terdapat bagian dan pengelompokan tombol menurut fungsinya, yang ditunjukkan dengan nomor di atas.

A. Monitor

Bagian ini menampilkan informasi dan hasil input dari user interface software simulasi ini sesuai dengan mode utama yang aktif.

Gambar 3.6. Monitor

?

(39)

Automatic

B. Mode Keyboard.

Bagian ini berfungsi sebagai pengaktifan mode utama mesin. Mode utama pada operasional mesin. Seperti yang sudah dijelaskan pada bagan di atas, ada empat mode utama pada panel, setiap mode terdiri dari beberapa sub mode. Kelompok dari panel mode utama dapat ditunjukkan pada gambar di bawah ini :

Gambar 3.7. Tombol mode

B.1. Mode Manual

Mode ini berfungsi sebagai mode pelayanan manual, dengan kata lain digunakan untuk melakukan proses pemesinan secara manual. Misalnya, pada mode ini dapat menjalankan pahat dengan cara manual dengan fungsi tombol Manual Jog bersamaan dengan arah panah .

Pada tahap perancangan software simulasi ini, tidak semua sub mode pada mode manual diaktifkan. Adapun yang dibahas pada software ini adalah pengaktifan titik referensi pada sub mode referensi. Sub-mode referensi yang dimaksudkan adalah untuk pencapaian titik referensi.

Edit

(40)

Pada pencapaian titik referensi ini sangat penting dalam hubungannya dengan data pergeseran titik nol mesin (Position Shift Offset) pada bahasan mode Utama Edit. Tampilan monitor pada mode manual ini dapat dilihat seperti gambar dibawah ini :

Gambar 3.8. Mode manual

Listing program tampilan manual :

void __fastcall TMainForm::bManClick(TObject *Sender) {

ScanKey(kMan, kMode); ShowAlarm();

UpdateTitle(""); UpdateTool(); }

ALARM 460 Reference Possition Not Active

(41)

B.2. Mode Execute

Mode ini berfungsi untuk pemrosesan buffer penyimpan blok, pemanggilan alat potong dan penggeserannya, sehingga harganya tersajikan pada mode manual, penggeseran pahat secara manual dengan harga incremental dengan panel Manual Jog. Pada pembahasan software ini, mode Execute tidak diaktifkan karena hanya digunakan fungsinya secara manual oleh operator dalam hal setting pahat. Seperti penjelasan diatas maka pada mode ini kami tetap memberikan tampilan di monitor user interface, akan tetapi fungsi–fungsi dari mode utama dan sub modenya tidak di bahas atau diaktifkan. Tampilan pada layar monitor dapat dilihat pada gambar berikut ini :

Gambar 3.9. Tampilan mode execute

(42)

Listing program tampilan mode execute :

void __fastcall TMainForm::bExcClick(TObject *Sender) {

ScanKey(kExc, kMode); // ResetDisplay();

Pada mode edit ini ada beberapa kemungkinan antara lain :

1. Input program CNC (G codes beserta parameter–parameternya) lewat keyboard simulasi.

2. Memasukkan data alat potong.

3. Pengubahan data pergeseran titik nol (PSO).

4. Pemilihan program dan melihat daftar dari program yang tersimpan pada memori utama. Seperti yang dapat dilihat pada bagan di bawah ini :

Gambar 3.10. Mode edit

(43)

TO, PSO, L adalah aplikasi sub-rutin yang terdapat pada mode utama edit. Sedangkan untuk O (pemilihan atau pengukuhan nomor program) dapat diaplikasikan langsung pada saat kita sudah siap untuk memasukkan atau mengubah program CNC pada mode utama edit.

Pembahasan software yang dirancang ini perlu diperhatikan untuk sub-mode pada Mode Edit seperti, port kaset, port RS 232, dan port paralel tidak diaktifkan, fungsi dari sub-mode tersebut adalah untuk pemuatan dan pembacaan data melalui kaset, peralatan RS 232, dan antar peralatan paralel. Pada gambar 3.11 dapat dilihat dimana pada saat mode utama edit aktif monitor menampilkan tampilan tersebut. Pada saat itu juga kita dapat memasukkan program CNC ini dengan menekan panel pada user interface (keyboard panel).

Gambar 3.11. Tampilan mode edit

(44)

Listing program tampilan mode edit :

void __fastcall TMainForm::bEditClick(TObject *Sender) {

ScanKey(kEdit, kMode); //ResetDisplay(); ShowEdit(); UpdateTitle(""); UpdateTool();

}

Sedangkan untuk fungsi subrutin pada mode utama edit untuk mengubah dan memasukkan data alat potong pada memori utama sesuai dengan prosedur yang berlaku dimesin dapat dilihat pada gambar 3.12.

TO

No X Z R L

00 0.000 0.000 0.000 0

01 0.000 0.000 0.000 0

02 0.000 0.000 0.000 0

03 0.000 0.000 0.000 0

04 0.000 0.000 0.000 0

05 0.000 0.000 0.000 0

06 0.000 0.000 0.000 0

07 0.000 0.000 0.000 0

08 0.000 0.000 0.000 0

09 0.000 0.000 0.000 0

EDIT : [MM]

(45)

Listing program TO :

TextCanvas->Brush->Color=clGray;

TextCanvas->Rectangle(11,(80+15*(RowActive-dif)),11+3+TextCanvas->TextWidth(TempData->Lines->Strings[RowActive]),(80+15*(RowActive-dif))+TextCanvas->TextHeight("N"));

TextCanvas->Brush->Color=clBlack; TextCanvas->Brush->Style=bsClear; */

TextCanvas->TextOutA(11+100*j,80, label[j]); TextCanvas->Pen->Color=clRed;

TextCanvas->MoveTo(10,110);// 10,78,10+467,78+200 TextCanvas->LineTo(477,110);

for(int i=0;i<10;i++) {

GetBuffOf(TempDataTo->Lines->Strings[i]); for(int j=0; j<=4; j++)

{

TextCanvas->TextOutA(11+100*j,120+15*i, TO.databuff[j]); }

}

WorkCanvas->CopyRect(Rect_Text,TextCanvas,Rect_Text); PaintBox1->Canvas->CopyRect(Rect_Back,WorkCanvas,Rect_Back); }

(46)

Pada mode utama ini disediakan file memory untuk menyimpan data dari program G codes, PSO dan TO. Sehingga setiap aplikasi diaktifkan data terakhir yang tersimpan bisa dipanggil kembali.

Listing program PSO :

void __fastcall TMainForm::ShowPso(void)

TextCanvas->TextOutA(11+100*j,80, label[j]);

PSO

(47)

TextCanvas->Pen->Color=clRed;

TextCanvas->MoveTo(10,110);// 10,78,10+467,78+200 TextCanvas->LineTo(477,110);

for(int i=0;i<5;i++) {

GetBuffOf(TempDataPso->Lines->Strings[i]); for(int j=0; j<=3; j++)

{

TextCanvas->TextOutA(11+100*j,120+30*i, PSO.databuff[j]); }

Pembahasan terakhir dari mode utama pada user interface software ini adalah mode automatic. Mode ini berfungsi untuk menjalankan program yang sudah disusun pada mode edit dan tersimpan pada buffer memori utama dari software.

Setelah program G codes siap untuk disimulasikan (tersimpan pada buffer utama), maka mode utama dari automatic harus diaktifkan terlebih dahulu. Setelah itu dimasukkan nilai dimensi dari benda kerja. Langkah selanjutnya mengaktifkan form animasi, kemudian untuk menampilan simulasi gerakan pahat dengan menjalankan perintah cycle start. Sajian informasi pada mode utama ini meliputi harga dari parameter yang dimasukkan pada tiap blok program, harga asutan pada benda kerja (F), harga kecepatan sumbu utama (S), nomor pahat dan nomor koreksinya.

Listing program tampilan mode automatic :

void __fastcall TMainForm::bAutomaticClick(TObject *Sender) {

ScanKey(kAuto, kMode); ShowAuto();

(48)

Tampilan layar monitor di mode automatic utama, seperti gambar di bawah ini :

Gambar 3.14. Mode automatic

Program simulasi ini dirancang rancang pada saat form animasi aktif (simulasi proses pemesinan dijalankan), akan muncul window baru yang berisi form animasi tersebut. Secara bersamaan dengan itu dapat juga ditampilkan form user interface pada aplikasi window yang lain. kita dapat melihat blok program yang sedang aktif menjalankan proses selain di window form animasi dan sajian informasi– informasi yang lain seperti yang sudah kami jelaskan diatas.

Time

00:00:00.0

AUTOMATIC : [MM]

X U Z W

(49)

C. Address Keyboard

Address keyboard berfungsi untuk memberikan input perintah berupa alamat untuk memanggil aplikasi sesuai prosedur mesin yang sudah diklasifikasikan pada unit dalam form utama panel dalam software simulasi ini. Unit tersebut berisi modul–modul, dibawah ini beberapa jenis dari alamat–alamat pada user interface (panel) yang kami bahas pada perancangan software simulasi ini,

Tabel 3.1.a. Tabel tombol address beserta fungsinya

Tombol Address

Hasil Tombol

Keterangan

N Alamat untuk nomor blok

O Untuk nomor program

G Untuk fungsi G

PSO Pergeseran posisi titik nol atau memasukkan ke tabel PSO

M Untuk fungsi M

P Untuk parameter dalam siklus

X, Z Untuk data gerak dalam absolut

I, K Untuk parameter titik pusat lingkaran

(50)

Tabel 3.1.b. Tabel tombol address beserta fungsinya

Tombol Address

Hasil

Tombol Keterangan

F

Untuk kecepatan asutan pada benda kerja

D

Untuk parameter dalam siklus

S

Untuk kecepatan putaran sumbu utama

L

Untuk parameter dalam siklus

T

Untuk alamat alat potong

TO

Untuk alamat masuk pada data pahat

.

D. Digit Keyboard

Digit keyboard berfungsi untuk memasukkan data nilai dari setiap alamat yang bersifat perintah pada pemrograman G codes beserta parameter, misal nilai dari koordinat X, Z, U, W dan harga dari F, S, T, dan parameter lain. Pada software ini nilai desimalnya adalah tiga digit dibelakang parameter koma. Dan satuan yang digunakan adalah milimeter.

(51)

Digit keyboard pada user interface (panel mesin) dalam perancangan software ini dapat dilihat pada gambar13.15.

Gambar 3.15. Digit keyboard

E Keyboard Function

Keyboard function adalah fungsi pengendali. Pada pembahasan perancangan ini dapat dijelaskan berbagai keyboard fungsi beserta penggunaannya pada saat mengoperasikan software simulasi ini. Adapun penjelasannya sebagai berikut,

1. Tombol Enter, digunakan untuk : a) Menyimpan ke memori utama b) Menetapkan nomor program baru c) Memindahkan kursor yang aktif d) Pemanggilan pencatat TO, PSO, N, O

2. Tombol Shift, berfungsi sebagai pengalihan fungsi tombol yang aktif.

3. Tombol Store Next, berfungsi menyimpan blok program ke dalam file memori utama.

4. Tombol Previous, berfungsi untuk memindahkan kursor ke blok yang aktif. 5. Tombol Clear entry, berfungsi untuk menghapus data terakhir (angka).

7 8 9

6

3 2 1

+/-

0

.

(52)

6. Tombol Clear block, berfungsi untuk menghapus blok dalam file memori.

7. Tombol Clear word, berfungsi untuk menghapus satu kata (kursor yang aktif harus pada posisi kata yang akan dihapus).

8. Tombol Clear program, berfungsi untuk menghapus program yang tersimpan pada file memori utama.

F. Reset Key dan Cycle Start Key

Panel reset key berfungsi sebagai reset atau kembali pada mode utama, panel ini digunakan apabila user ingin membatalkan proses yang terlanjur dilakukan. Sedangkan panel cycle start key berfungsi untuk memulai proses animasi dan pengaktifan referensi titik nol mesin setelah penekanan panel reference.

3.1.2. Perancangan Subrutin PSO

Pada perancangan subrutin PSO ini digunakan buffer penyimpan memori utama. Pada subrutin ini buffer dibagi menjadi dua antara lain : buffer PSO (a), yang berfungsi sebagi penyimpan data pergeseran titik nol untuk fungsi G54 dan G55, sedangkan untuk buffer PSO (b) untuk menyimpan data pergeseran G57, G58 dan G59. Pembagian buffer PSO menjadi dua untuk membantu peterjemahan posisi akhir sebelum proses fungsi pembatalan (G53 dan G56) yang aktif dan melakukan pembatalan pergeseran titik referensi nol.

(53)

G54 G55 G57 G58 G59

Gambar 3.16. Pencatat PSO

Dari gambar di atas dapat dilihat bahwa tiap-tiap fungsi G memiliki baris sendiri dalam pencatatannya di subrutin PSO. Untuk mengetahui proses pemanggilan dan eksekusi perintah G dalam PSO pada software ini dapat dilihat dari beberapa diagram alir berikut :

A. Eksekusi Kode G54

Eksekusi G54

NewCoord.pX = p.X (0) + p.X [pada data PSO (ke-1)]

NewCoord.pZ = p.Z (0) + p.Z [pada data PSO (ke-1)]

NewCoord.pX NewCoord.pZ

Proses penyimpanan pada buffer PSO (a)

End eksekusi G54

Gambar 3.17. Flow chart eksekusi kode G54 PSO

1 0.000 0.000 50.000

2 0.000 0.000 70.000

3 0.000 0.000 0.000

4 0.000 0.000 0.000

5 0.000 0.000 0.000

(54)

Dari bagan alir gambar 3.17 dapat diterangkan bahwa kode ini merupakan fungsi pergeseran titik nol dari titik nol mesin (0,0) ke posisi-1, dinamakan posisi-1 karena data (X,Z) berada pada PSO baris ke-1 yang merupakan data pergeseran milik G54. Koordinat baru dari pergeseran kode ini adalah penambahan dari (0.0) dengan data (X,Z) sub rutin PSO baris ke-1 dan new Coord hasil pergeseran ini disimpan pada buffer PSO (a) yang sudah disediakan.

Listing Program G54 :

void TAnimasiForm::G54_55() {

draft->noldraft= Point((draft->noldraft.x + g53.z*draft->pixel_per_cm/10), (draft->noldraft.y - g53.x*draft->pixel_per_cm/10));

draft->nolchack.x= draft->nolchack.x-g53.z/10; //cm draft->nolchack.y= draft->nolchack.y-g53.x/10; //cm draft->inc_point.x= draft->inc_point.x - g53.z; //mm draft->inc_point.y= draft->inc_point.y - g53.x; //mm BackCanvas->Brush->Color=syscol;

BackCanvas->FillRect(Rect_Back); draft->DrawMiliMeter(BackCanvas);

draft->DrawChack(BackCanvas, data[0].spindle); //draft->DrawWorkpiece(BackCanvas);

}

B. Eksekusi Kode G55

(55)

Eksekusi G55

Gambar 3.18. Flow chart eksekusi kode G55

Listing Program G55 :

void TAnimasiForm::G54_55() {

draft->noldraft= Point((draft->noldraft.x + g53.z*draft->pixel_per_cm/10), (draft->noldraft.y - g53.x*draft->pixel_per_cm/10));

draft->nolchack.x= draft->nolchack.x-g53.z/10; //cm draft->nolchack.y= draft->nolchack.y-g53.x/10; //cm draft->inc_point.x= draft->inc_point.x - g53.z; //mm draft->inc_point.y= draft->inc_point.y - g53.x; //mm BackCanvas->Brush->Color=syscol;

BackCanvas->FillRect(Rect_Back); draft->DrawMiliMeter(BackCanvas);

draft->DrawChack(BackCanvas, data[0].spindle); //draft->DrawWorkpiece(BackCanvas);

}

C. Eksekusi Kode G53

(56)

ke-2 merupakan data pergeseran milik G54 dan G55. Subrutin dari PSO ini alan disimpan ke dalam buffer PSO (a), selanjutnya perintah G53 akan membaca buffer (a) sehingga dapat menentukan posisi nol akhir, kemudian melakukan pembatalan dengan harga sesuai yang tersimpan pada buffer PSO (a). Dengan proses ini referensi titik nol bergeser menuju titik nol mesin (M).

Eksekusi G53

NewCoord.pX = p.X - p.X [pada data PSO (a)]

NewCoord.pZ = p.Z - p.Z [pada data PSO (a)]

NewCoord.pX = 0 NewCoord.pZ = 0

Membaca Buffer PSO untuk G54 atau G55 Buffer PSO (a)

End eksekusi G53

Gambar 3.19. Flow chart eksekusi kode G53

Listing Program G53 :

void TAnimasiForm::G53() {

draft->noldraft= Point((draft->noldraft.x - g53.z*draft->pixel_per_cm/10), (draft->noldraft.y + g53.x*draft->pixel_per_cm/10));

BackCanvas->Brush->Color=syscol; BackCanvas->FillRect(Rect_Back); draft->DrawMiliMeter(BackCanvas);

(57)

D. Eksekusi Kode G57

Fungsi dari kode G57 ini merupakan fungsi pergeseran titik nol tidak dari titik nol mesin (0,0), tetapi pergeseran posisi titik nol referensi dari hasil pergeseran PSO beris ke-1 atau ke-2 [buffer PSO (a)]. Sedangkan data pegeseran untuk kelompok G57, G58, dan G59 pada software ini diberikan fasilitas penyimpan, yaitu di buffer PSO (b), pada diagram ini dapat dilihat proses dari G57 :

Gambar 3.20. Flow chart eksekusi kode G57 Eksekusi G57

NewCoord.pX = p.X [buffer PSO (a)] + p.X [PSO baris - 3]

NewCoord.pZ = p.Z [buffer PSO (a)] + p.Z [PSO baris - 3]

NewCoord.pX NewCoord.pZ

Membaca data PSO [baris - 1 atau 2] Buffer (a)

End eksekusi G57

Membaca Data PSO [baris ke - 3]

(58)

Liting Program G57 :

void TAnimasiForm::G57 () {

draft->noldraft= Point((draft->noldraft.x + g56.z*draft->pixel_per_cm/10), (draft->noldraft.y - g56.x*draft->pixel_per_cm/10));

draft->nolchack.x= draft->nolchack.x-g56.z/10; //cm draft->nolchack.y= draft->nolchack.y-g56.x/10; //cm draft->inc_point.x= draft->inc_point.x - g56.z; //mm draft->inc_point.y= draft->inc_point.y - g56.x; //mm BackCanvas->Brush->Color=syscol;

BackCanvas->FillRect(Rect_Back); draft->DrawMiliMeter(BackCanvas);

draft->DrawChack(BackCanvas, data[0].spindle ); }

Dengan diagram alir gambar 3.20 dapat dilihat bahwa fungsi G57 adalah fungsi pergeseran dari hasil pergeseran referensi titik nol dari titik nol mesin yaitu kode G54 atau G55 [buffer PSO (a)]. Setelah ada perintah G57 ini, maka modul tersebut membaca kondisi titik nol referensi yang ada pada buffer PSO (a). Sedangkan hasil pergeseran titik referensi titik nol ini merupakan penambahan dari kondisi terakhir (buffer PSO a) dengan data PSO baris ke-3, sehingga menghasilkan koordinat referensi baru. Setelah koordinat baru tercapai, maka kondisi tersebut disimpan pada buffer PSO (b). Pengelompokan buffer PSO ini bertujuan sebagai inisialisasi posisi titik referensi dalam hubungannya dengan fungsi pembatalan setiap kelompok PSO itu sendiri.

E. Eksekusi Kode G58

(59)

Yang membedakan antara G58 dengan G57 adalah setelah membaca kondisi titik nol referensi yang ada pada buffer PSO (a), maka fungsi G58 ini menterjemahkan data PSO baris ke-4, yang merupakan data milik fungsi G58 itu sendiri. Sedangkan hasil pergeseran titik referensi dari titik nol ini penambahan dari kondisi teakhir (buffer PSO a) dengan data PSO baris ke-4, sehingga menghasilkan koordinat referensi baru. Setelah koordinat baru tercapai maka kondisi ini disimpan pada buffer PSO (b). Pada diagram alir di bawah ini dapat dilihat proses dari G58 :

Eksekusi G58

NewCoord.pX = p.X [buffer PSO (a)] + p.X [PSO baris - 4]

NewCoord.pZ = p.Z [buffer PSO (a)] + p.Z [PSO baris - 4]

NewCoord.pX NewCoord.pZ

Membaca data PSO [baris - 1 atau 2] Buffer (a)

End eksekusi G58

Membaca Data PSO [baris ke - 4]

Proses penyimpanan pada buffer PSO (b)

(60)

Liting Program G58 :

void TAnimasiForm::58 () {

draft->noldraft= Point((draft->noldraft.x + g56.z*draft->pixel_per_cm/10), (draft->noldraft.y - g56.x*draft->pixel_per_cm/10));

draft->nolchack.x= draft->nolchack.x-g56.z/10; //cm draft->nolchack.y= draft->nolchack.y-g56.x/10; //cm draft->inc_point.x= draft->inc_point.x - g56.z; //mm draft->inc_point.y= draft->inc_point.y - g56.x; //mm BackCanvas->Brush->Color=syscol;

BackCanvas->FillRect(Rect_Back); draft->DrawMiliMeter(BackCanvas);

draft->DrawChack(BackCanvas, data[0].spindle ); //draft->DrawWorkpiece(BahanCanvas);

}

F. Eksekusi Kode G59

Kode G59 ini memiliki dua fungsi pada implementasinya dipemrograman mesin pekakas CNC. Fungsi dari kode G59 adalah :

1. Untuk pergeseran titik nol referensi nol mesin, dalam hal ini sama dengan fungsi kode-kode G57 dan G58.

2. Untuk pengaktif kode G92, yang merupakan pergeseran referensi tidak dari titik nol mesin dan menunjukkan perintah, program dijalankan secara absolut, dari nilai X dan Z yang dimasukkan.

(61)

Gambar 3.22. Flow chart eksekusi kode G59

Dari diagram alir gambar 3.22 dapat dilihat bahwa dengan adanya perintah dari kode G92 maka secara langsung data dari pencatat PSO baris ke-5 berubah nilainya sesuai dengan harga X, Z nya, data yang diaktifkan oleh kode ini disimpan di

Eksekusi G59

Membaca data PSO [baris - 1 atau 2]

Membaca data PSO [baris - 1 atau 2]

(62)

sub rutin PSO baris untuk G59 (ke-5) untuk menjalankan keseluruhan proses pemesinan secara absolut dari titik referensi tersebut.

Liting Program G59 :

void TAnimasiForm:: 59() {

draft->noldraft= Point((draft->noldraft.x + g56.z*draft->pixel_per_cm/10), (draft->noldraft.y - g56.x*draft->pixel_per_cm/10));

draft->nolchack.x= draft->nolchack.x-g56.z/10; //cm draft->nolchack.y= draft->nolchack.y-g56.x/10; //cm draft->inc_point.x= draft->inc_point.x - g56.z; //mm draft->inc_point.y= draft->inc_point.y - g56.x; //mm BackCanvas->Brush->Color=syscol;

BackCanvas->FillRect(Rect_Back); draft->DrawMiliMeter(BackCanvas);

draft->DrawChack(BackCanvas, data[0].spindle ); //draft->DrawWorkpiece(BahanCanvas);

}

Liting Program G92 :

void TAnimasiForm::g92Scan(AnsiString temp[]) {

for(int i=1; i<3; i++) {

if(temp[i].SubString(1,1)=="X") {

temp[i]= temp[i].Delete(1,1); g92.x= temp[i].ToDouble(); }

(63)

G. Eksekusi Kode G56

Fungsi dari kode G56 adalah kode fungsi untuk pembatalan dari hasil pergeseran dari kode G57, G58, dan G59.

Eksekusi G56

NewCoord.pX = p.X - p.X [ pada buffer PSO (b)]

NewCoord.pZ = p.Z - p.Z [ pada buffer PSO (b)]

NewCoord.pX NewCoord.pZ

Membaca Buffer PSO untuk G57, G58 atau G59 Buffer PSO (b)

End eksekusi G56

Gambar 3.23. Flow chart eksekusi kode G56

(64)

Liting Program G56 :

void TAnimasiForm::G56() {

draft->noldraft= Point((draft->noldraft.x - g56.z*draft->pixel_per_cm/10), (draft->noldraft.y + g56.x*draft->pixel_per_cm/10));

draft->nolchack.x= draft->nolchack.x+g56.z/10; //cm draft->nolchack.y= draft->nolchack.y+g56.x/10; //cm draft->inc_point.x= draft->inc_point.x + g56.z; //mm draft->inc_point.y= draft->inc_point.y + g56.x; //mm g56.x=0; g56.z=0;

BackCanvas->Brush->Color=syscol; BackCanvas->FillRect(Rect_Back); draft->DrawMiliMeter(BackCanvas);

draft->DrawChack(BackCanvas, data[0].spindle); //draft->DrawWorkpiece(BahanCanvas);

}

3.1.3. Perancangan Modul Benda Kerja

(65)

Dari diagram alir gambar 3.24 dapat dijelaskan bahwa data inputan dari setting benda kerja adalah X dan Z, dimana X merupakan diameter benda kerja dan Z adalah panjang dari benda kerja. Titik (0,0) dari benda kerja untuk memulai polygon adalah ujung kiri atas benda kerja berhimpit dengan pencekam mesin CNC.

Gambar 3.24. Flow chart eksekusi setting benda kerja

Listing Program setting benda kerja :

void __fastcall TAnimasiForm::meDiameterKeyPress(TObject *Sender, char &Key) {

if(Key==VK_RETURN) {

draft->material_dia= meDiameter->Text.ToDouble()/10.0; draft->material_length= mePanjang->Text.ToDouble()/10.0; BackCanvas->Brush->Color=syscol;

BackCanvas->FillRect(Rect_Back); draft->DrawMiliMeter(BackCanvas);

draft->DrawChack(BackCanvas, data[0].spindle);

WorkCanvas->CopyRect(Rect_Back,BackCanvas,Rect_Back); draft->DrawWorkpiece(BahanCanvas);

draft->MakePolygon(BahanCanvas, WorkCanvas); //draft->DrawPoligon(BahanCanvas, WorkCanvas); tool=0;

draft->DrawPahat(WorkCanvas, BahanCanvas,draft->inc_point.x, draft->inc_point.y, tool); //aft->MakePolygon(BahanCanvas, WorkCanvas);

//draft->DrawPoligon(BahanCanvas, WorkCanvas);

PB->Canvas->CopyRect(Rect_Back,WorkCanvas,Rect_Back);

Posisi X = posisi. X benda kerja

Posisi Z = posisi. Z benda kerja

(66)

3.1.4. Perancangan Modul tool library

Pada modul ini kami sediakan beberapa tool yang dapat dipilih dan dapat dimasukkan nomer koreksinya kedalam data TO. Pada pembahasan software ini data TO merupakan subrutin yang memiliki file memori, sehingga pada saat proses simulasi berlangsung modul dari tool ini dapat memanggil data koreksinya pada data TO dan menterjemahkan dari perintah–perintah pemrograman G codes dalam pergantian tool.

Start

Posisi Nol Pahat sesuai input parameter

To = data To Menerjemahkan perintah

T xx xx

End Pahat = To [i]

Posisi X, Z pahat = sesuai input parameter di To

(67)

Untuk pergantian pahat dapat dilihat pada diagram alir gambar 3.25, pada saat pembacaan G code pahat akan berjalan ke posisi sesuai dengan nilai parameter data X,Z, setelah ada perintah pergantian pahat (Txx xx) maka akan diterjemahkan sesuai dengan data To[i] yang berisi data konpensasi pahat yang berada di subrutin TO pada software ini. Setelah itu pahat melakukan pergantian sesuai dengan data parameter G code pada blok program sebelumnya, untuk setting pahat yang akan diletakkan pada turet pahat dapat dilakukan dengan mekanisme pemberian nomor sesuai dengan nomor turet pada tool display

Nomer Tool Bentul Tool

T0101

T0202

T0303

T0404

T0505

T0606

Listing Program Setting tool :

void __fastcall TDRAFT::DrawPahat(TCanvas *can, TCanvas *candes, double zp, double xp, int tool) {

//save canvas

TCanvas *oldcanvas = new TCanvas;

oldcanvas->Brush->Style = can->Brush->Style; oldcanvas->Brush->Color = can->Brush->Color; oldcanvas->Pen->Color = can->Pen->Color; //set new can properties

(68)

can->Pen->Color= 0x009D6A00; can->Pen->Style= psSolid; can->Brush->Color=clRed;

TPoint base_pahat1[]={ Point(z+6*zo, x-11*zo),

(69)

Point(z+0.1*zo, x-0.2*zo),

case 1: can->Polyline(mid_pahat1,6); can->Polygon(pahat1,9); break; case 2: can->Polyline(mid_pahat2,4); can->Polygon(pahat2,9); break; case 3: can->Polyline(mid_pahat3,6); can->Polygon(pahat3,11); break; case 4: can->Polyline(mid_pahat4,4); can->Polygon(pahat4,7); break; case 5: can->Polyline(mid_pahat5,4); can->Polygon(pahat5,3); break; case 6: can->Polyline(mid_pahat6,5); can->Polygon(pahat6,3); break; }

//========================== //=========================== candes->Pen->Color= clWhite; candes->Pen->Style=psSolid; case 3: candes->Polygon(pahat3,11); break; case 4: candes->Polygon(pahat4,7);break; case 5: candes->Polygon(pahat5,3);break; case 6: candes->Polygon(pahat6,3);break; }

can->Pen->Style= psClear; can->Brush->Color=clNavy;

can->Pie((z-r*zo), (x-r*zo), (z+r*zo), (x+r*zo), (z), (x-r*zo), (z), (x-r*zo)); can->Brush->Color=clWhite;

can->Pie((z-r*zo), (x-r*zo), (z+r*zo), (x+r*zo), (z+r*zo), (x-r*zo), (z-r*zo), (x-r*zo)); can->Pie((z-r*zo), (x-r*zo), (z+r*zo), (x+r*zo), (z-r*zo), (x+r*zo), (z+r*zo), (x+r*zo));

//store canvas

(70)

can->Brush->Color= oldcanvas->Brush->Color; can->Pen->Color= oldcanvas->Pen->Color; delete oldcanvas;

}

3.1.5. Perancangan Modul setiap fungsi G codes dan M codes

Modul G codes dan M codes dalam software ini kami masukkan dalam subrutin pada form utama animasi, setiap subrutin tersebut berisi modul yang dapat membaca segala perintah gerakan dari pemrograman G codes dengan menterjemahkan semua parameter–parameter dari data input.

Berikut akan dijelaskan beberapa perintah kode G dan M yang digunakan pada program ini.

G00 (Gerakan Cepat)

G00 (gerakan cepat) adalah gerakan jalan murni tanpa pengerjaan, kecepatan dari gerak cepat ditentukan oleh pabrik untuk setiap jenis mesin.

Keterangan :

1) N : Nomor blok 2) G00 : Gerakan cepat

3) X,Z : Koordinat tujuan dalam absolut 4) U,W : Koordinat tujuan dalam inkremental

(71)

Contoh G code dari gambar 3.27 :

N100….

N110 G00 X40.000 Z2.000 N120…..

Listing Program G00 :

void __fastcall TDRAFT::G00(double z, double x, bool absolut){ finish=false;

length_point.y=Y-inc_point.y; length_point.x=X-inc_point.x;

radius= sqrt(pow(length_point.x, 2) + pow(length_point.y, 2)); if(radius!=0)

(72)

G01 (Interpolasi Lurus)

G01 adalah gerakan pengerjaan lurus, feeding harus diprogram, dapat dalam

mm/menit (G94) atau dalam μm/put (G95).

Keterangan :

1) N : Nomor blok 2) G01 : Interpolasi lurus

3) X,Z : Koordinat tujuan dalam absolut 4) U,W : Koordinat tujuan dalam inkremental 5) F : Feeding

Contoh program G code dari gambar 3.29:

N110 G00 X42 Z2.00 N120 G00 X36.000 N130 G01 Z-60.000

N140 G01 X40.000 Z-62.000 N150 G00 X42.000 Z2.000

(73)

Pada pembahasan dalam software ini eksekusi G00 dan G01 dirancang seperti yang dijelaskan pada diagram alir di bawah ini :

Eksekusi

Dari bagan alir gambar 3.30 dapat dijelaskan bahwa, untuk mengeksekusi kode G01/02 terlebih dahulu menentukan dan membaca posisi tool saat itu, kemudian membaca parameter kodenya apakah absolute atau incremental. Jika program dijalankan secara absolut maka tool akan bergerak dengan koordinat berpindah sesuai dengan parameter, bila incremental maka tool bergerak dengan koordinat

(74)

perpindahan posisi tool sekarang ditambah dengan nilai parameter. pada proses gerakan ini tool akan dihadapkan pada kondisi terkompensasi atau tidak.

Listing Program G01 :

void __fastcall TDRAFT::G01(double z, double x, bool absolut, int f) {

length_point.y=Y-inc_point.y; length_point.x=X-inc_point.x;

radius= sqrt(pow(length_point.x, 2) + pow(length_point.y, 2)); if(radius!=0)

G02 Interpolasi melingkar searah jarum jam. G03 Interpolasi melingkar berlawanan arah jarum jam

(75)

Keterangan :

1) N : Nomor blok

1) G02 : Interpolasi melingkar dalam arah jarum jam

2) G03 : Interpolasi melingkar dalam arah berlawanan arah jarum jam 3) X,Z : Koordinat tujuan dalam absolut

4) U,W : Koordinat tujuan dalam inkremental

5) I,K : Jarak titik pusat lingkaran dari titik awal lingkaran 6) F : Feeding

Eksekusi G02/G03

Membaca parameter G02/G03

Menghitung titik pusat rotasi

End eksekusi G02/G03 Konpensasi ?

Tool bergerak dengan konpensasi dan memakan benda

kerja

Tool bergerak tanpa konpensasi dan memakan benda kerja

Y N

Menghitung sudut awal dan akhir

(76)

Bagan alir pada gambar 3.32. menerangkan proses eksekusi dari G02 dan G03 akan dilakukan dengan membaca parameter dari kode, kemudian menentukan titik pusat dan menghitung sudut awal dan sudut akhir rotasi, kemudian apakah kondisi dari gerakan tersebut berkompensasi atau tidak. Bila tidak, tool akan bergerak pada lintasan tanpa kompensasi atau sebaliknya, tool akan bergerak dengan terkompensasi.

Contoh program G code dari gambar 3.33 :

N100…..

N110 G01 X20.000 Z-30.000

N120 G02 X40.000 Z-40.000 I10.000 K00.000 N130…..

Listing Program G02 :

void __fastcall TDRAFT::G02(double z, double x, double i, double k, bool absolut, int f) {

double r,a,b,deg1,deg2; double X,Y;

finish=false; speed= f; if(absolut) {

X= (abs_point.x+z);

Gambar

Gambar 2.13. Perbedaan kontur
Gambar 3.1. Panel mode manual
Gambar 3.2. Panel mode execute
Gambar 3.5. Tampilan keyboard mesin CNC
+7

Referensi

Dokumen terkait

Ekstraksi faktor menggunakan Principal Component Analysis (PC). Dalam metode ini diharapkan dapat diperoleh hasil yang dapat memaksimumkan presentase varian yang mampu

Dari hasil desain dan implementasi diperoleh sebuah sistem informasi visualisasi yang terdiri dari 2 aplikasi yaitu aplikasi web dan aplikasi android, dimana aplikasi web

Dan dalam film itu menceritakan bahwa anak-anak yang berada di pedalaman papua yang haus akan pendidikan,buta akan huruf,namun mereka memiliki tekad yang besar untuk memperoleh

b) Dari hasil uji coba pada titik N0005 dapat disimpulkan bahwa solusi penentuan posisi dari sistem RTK yang dibuat jauh lebih baik dibanding sistem penentuan

Maka dari itu tes pilihan ganda dengan alasan terbuka akan dikombinasikan dengan CRI (Certain of Response Index). CRI sendiri adalah metode yang digunakan untuk

Mengajarkan ibu cara – cara perawatan bayi sehari – hari dengan gumoh pada bayi yaitu dengan segera membersihkan wajah bayi yang terkena gumoh serta mulut bayi yang

Angka Beban Tanggungan adalah angka yang menyatakan perbandingan antara banyaknya orang yang tidak produktif (umur di bawah 15 tahun dan umur 65 tahun ke atas) dengan

Berdasarkan hasil analisis dan pembahasan yang telah dilakukan sebelumnya, maka dapat ditarik simpulan 1) Time budget pressure berpengaruh negatif pada kinerja audit auditor KAP di