Laprak 2
Laprak 2
1. Tujuan Umum
Mempelajari pemrograman lanjutan LabVIEW
Mempelajari dsar-dasar pengolahan data LabVIEW berupa LabVIEW Graphs,
Charts, Array, Cluster, String, File I/o dan property node.
2. Teori Grafik, Diagram(Charts), Array, dan Cluster.
A. GRAFIK DAN CHART
Grafik dan Chart digunakan untuk menampilkan plot data dalam bentuk
grafik. Grafik dan Chart berbeda pada cara menampilkan dan memperbarui
data. VI dengan grafik selalu menampilkan data dalam bentuk array dan
memplot data dalam bentuk grafik sama dengan spreadsheet, pertama
menyimpan data untuk kemudian di tampilkan. Sedangkan pada chart, data
yang baru langsung ditampilkan pada display. Pada chart kita bisa melihat
data terbaru dari suatu sistem pengukuran dengan data sebelumnya tetap
ditampilkan.
Grafik dan chart terdapat pada Control >> Graphs pallete dan terdiri dari
beberapa tipe :
i. Wavefor Chart and Graphs : menampilkan data pada nilai yang
konstan.
ii. XY Graphs : menampilkan data dengan nilai yang tidak konstan seperti
trigger.
iii. Intensitity Chart and Graphs : menampilkan data 3D dan 2D dengan
menggunakan warna untuk menampilkan 3 dimensi.
iv. Digital Waveform Graphs : Menampilan data dalam bentuk pulsa atau
kumpulan dari data digital.
v. 3D Graphs : menampilkan data 3D dengan plot #D pada activeX object
pada front panel.
Grafik dan Chart dapat Diatur melaluipilihan-pilihan yang tidak terlihat.
Menampilkan pilihan-pilihan tersebut dengan cara klik kanan pada grafik atau
chart dan pilih Visible Item. Pilihan-pilihan itu antara lain :
i. Plot Legend : mendefinisikan warna dan bentuk dari plot
ii. Scale Legend : mendefinisikan label untuk skala dan mengkonfigurasi
properti skala.
iii. Graphs Pallete : merubah skala dan memformat saat VI dijalankan.
iv. XY scale : mengatu skala x dan y
v. Cursor Legend(hanya pada grafik) : Menampilkan pada koordinat yang
ditunjuk.
vi. Scrollbar(hanya pada chart) : menampilkan data yang tidak terlihat
pada tampilan.
B. ARRAY
Pengelompokkan elemen data pada array dari jenis array yang sama. Array
terdiri dari elemen dan dimensi. Elemen merupakan pembuatan datanya
pada array. Dimensi merupakan panjang, tinggi, atau lebar datanya dari
array. Array terdiri dari satu atau lebih dimensi dan sebanyak 231 -1 elemen
per dimensinya, diijinkan untuk disimpan.
Kita dapat membuat array dari numerik, Boolean, path, string,
waveform, dan tipe data cluster. Mengingat penggunaan array ketika anda
membuat dari data yang serupa dan ketika anda menghitung jumlah data
tersebut berulang-ulang. Array sangat ideal untuk kumpulan data-data anda
dari waveform atau data yang dihasilkan pada loopnya, dimana setiap iterasi
dari satu elemen yang dihasilkan pada loop array.
Kita tidak dapat membuat array dari array yang lain. Bagaimanapun
juga, anda hanya dapat membuat array dari cluster, dimana setiap cluster
terdiri dari satu atau lebih array. Seperti ditunjukkan pada Bab 5, Cluster,
untuk keterangan lebih jelas tentang cluster.
Elemen array merupakan suatu perintah. Setiap penggunaan array
terdapat indeks jadi anda dapat dengan mudah mencari beberapa
keterangan tentang elemen tersebut. Indeks awalnya adalah dimulai dengan
angka nol, yang mana rangenya antara 0 sampai n -1, dimana n adalah angka
yang ada pada elemen array. Contohnya, jika anda membuat array dari
planet pada susunan tata surya, n = 9 untuk 9 planet, jadi indeks rangenya
dari 0 8. Bumi adalah planet ketiga, jadi pada indeksnya range ke 2.
Batasan-batasan pada array, Kita dapat membuat array dari berbagai macam
tiper data kecuali :
i. Kita tidak dapat membuat array dari chart.
ii. Kita tidak bisa membuat array dari grafik selain grafik xy karena grafik
memiliki tipe data array.
iii. Kita tidak bisa membuat array dari array. Kita dapat menggunaka
array multidimensi atau membangun cluster array dimana masing-
masing cluster terdiri dari satu atau lebih array.
Array dengan Dua Dimensi
Suatu 2D array menyimpan elemen pada suatu kolom. 2D array tersebut
membutuhkan indeks kolom dan indeks baris, indeks keduanya tampilan
awalnya kosong, tempat untuk elemennya. Seperti gambar berikut ini yang
terdiri dari 6 kolom dan 4 baris dari 2D array, yang mana berisi 6 x 4 = 24
elemen. Untuk menambahkan dimensi pada array di satu waktu, klik kanan
pada tampilan indeks dan pilih Add Dimension dari menu shortcut. Anda
dapat juga menggunakan positioning tool sesuai ukuran tampilan displaynya
sampai Anda menginginkan banyak dimensi yang Anda inginkan. Berikut ini
merupakan contoh dari control 2D array yang tampilan awalnya belum
digunakan.
Membuat Nilai konstan pada Array
Anda dapat membuat nilai konstan array pada blok diagram dengan memilih
nilai konstan array dari FunctionAllFunctionArray palette, tempatkan pada
blok diagram, dan menarik nilai konstannya didalam kolom array. Nilai
konstan array biasanya digunakan untuk nilai data didalam subVI tersebut.
C. CLUSTER
Cluster adalah penggabungan element data dengan tipe data yang berbeda,
misalnya bundel dari wire, seperti pada kabel telfon dimana masing-masing
wire mewakili element yang berbeda dari custer. Cluster sama edngan recor
atau struct pada pemrograman berbasis teks. Menggabungkan beberapa
data pada cluster akan mengurangi jumlah wire pada blok diagram dan
jumlah connector pane.
Meskipun element cluster dan array dapat diakses secara individu kita harus
meng-unbundle semua element cluster pada suatu waktu. Kita bisa
menggunakan fungsi Unbundle By Name untuk mengakses bagian khusus
dari element cluster. Cluster berbeda dengan array pada nilai tertentu.
Seperti array, cluster terdiri dari control indicator tetapi tidakbisa
menggabungkan control dan indcator pada satu cluster. Element cluster
mempunyai urutan logika sesai dengan posisinya pada shel. Objek pertama
yang kita letakkan adalah element 0. Jika kita menghapus satu element
makan urutan ini akan berubah secara otomatis. Kita dapat melihat dan
memodifikasi cluster order dengan cara meng-klik kana cluster border dan
memilih Reorder Controls In Cluster.
D. STRING
String adalah urutan karakter-karakter ASCII. String menyediakan format
flatform independent untuk informasi dan data. Beberapa aplikasi string
meliputi:
i. Membuat pesan teks sederhana.
ii. Mengirim data numerik dalam bentuk karakter string pada instrumen,
kemudian mengubah string menjadi nilai numerik.
iii. Penyimpanan data numerik pada disk. Untuk menyimpan nilai
numerik dalam bentuk ASCII, pertama harus mengubah nilai numeric
menjadi string sebelum menuliskan nilai numerik ke file disk.
iv. Menginstruksikan pengguna dengan kotak dialog.
v. Pada front panel string tampil dalam bentuk tabel, text entry boxes,
dan label.
Membuat Kontrol String dan Indikator
Memilih ControlsText Controls dan ControlsText Indicators palette untuk
mensimulasi text entry boxes dan label. Gunakan Operating tool atau
Labeling tool untuk tipe atau edit text pada kontrol string. Gunakan
Positioning tool untuk mengatur ukuran front panel string objek. Untuk
memperkecil ruang string, klik kanan dan pilih Visible ItemScrollbar. Klik
kanan kontrol string atau indikator pada front panel untuk memilih tipe
display.
Tabel
Express Table VI digunakan untuk membuat tabel pada front panel. Setiap sel
pada tabel berupa string dan setiap sel terdiri dari kolom dan baris. Sebelum
ditampilkan pada tabel 2D numerik arrays diubah kedalam 2D string array.
Baris dan kolom header tidak otomatis tampil seperti pada spreadsheet. Jadi
harus membuat ID string arrays untuk baris dan kolom header.
Fungsi String
Fungsi string digunakan untuk mengatur ulang (edit) serta memanipulasi
string pada blok diagram. Fungsi String terdiri dari :
i. String Length digunakan untuk mengatur panjang karakter-karakter
(byte) pada string, termasuk karakter space. Contoh : The quick brown
fox .
ii. Concatenate Strings digunakan untuk menggabungkan input string
dan string 1D array kedalam sebuah output string tunggal. Fungsi ini
menggabungkan setiap elemen pada input array.
iii. String Subset digunakan untuk mengatur substring dari input string
yang bermula pada offset dan terdiri dari karakter-karakter lengt
number. Karakter pertama dari offset pada string adalah 0. Contoh
jika penggunaan string sebelumnya sebagai input, maka fungsi String
Subset mengatur substring untuk sebuah offset 4 dan length 5 : quick.
iv. Match Pattern digunakan untuk mencari regular expression dalam
string yang bermula pada offset setelah ditemukan, pisahkan string
kedalam tiga substring.
E. PROPERTY NODE
Gunakan property node untuk mendapatkan dan menset berbagai property
pada VI. Pilih properties dari node menggunakan operating tool untuk
mengklik terminal property atau mengklik kanan bagian putih dari node dan
pilih properties.
Kita bisa menulis dan membaca banyak properties menggunakan node.
Gunakan positioning tool untuk mengubah ukuran dari property node dan
untuk emnambahkan terminal baru. Sebuah panah kecil dengan arah ke
kanan dari property nide untuk menambahkan terminal baru.
Jika kita membuat property nide dari front panel object dengan mngklik
kanan objek dan memilih create>>property node dari shortcut menu,
LabVIEW akan menempatkan property node pada blok diagram yang secara
tidak langsung berhubungan dengan objek pada front panel sehingga kita
tidak perlu menghubungkan property nide ke terminal dari objek pada front
panel atau control refnum.
3. TUGAS PENDAHULUAN
i. Jelaskan perbedaan grafik dan Chart ?
Grafik selalu menampilkan data dalam bentuk array dan memplot
semua data dalam grafik, dan dibutuhkan penyimpanan data terlebih
dahulu untuk kemudian ditampilkan dalam grafik. Sedangkan Char
kita bisa langsung melihat data yang baru dan dapat langsung
ditampilkan dalam display dengan data yang sebelumnya tetap
ditampilkan.
ii. Sebutkan tiga mode update yang dimilika oleh chart! Jelaskan!
Strip Chart : mode ini mempunyai scrolling display yang menampilkan
value plot yang lama dengan yang baru dengan tampilan dari kiri ke
kanan.
Scope Chart : mode ini sama dengan display yang ada pada osiloskop.
Pada saat plot mencapai sisi kanan dari plotting area, dia akan
menghapus plot dengan sendirinya dan memulai/melanjutkan
plotting lagi dari sisi sebelah kiri.
Sweep Chart : Mode ini hampir sama dengan scope, hanya saja pada
saat plot mencapai sisi sebelah kanan pada sweep chart plottingannya
tidak dihapus, melainkan bergerak vertikal dari data yang baru dan
bergerak sepanjang display dari kiri ke kanan tepar pada data yang
baru.
iii. Bagaimanakan cara membuat array?
Array dapat dibentuk dari berbagai tipe data seperti numeric,
Boolean, path, string, waveform, dan cluster. Array tidak dapat
dibentuk dari sekumpulan array. Array control dan indicator dapat
dibuat pada front panel dengan meletakkan array pada shell pada
front panel dan menarik objek data atau element yang bisa berupa
numeric, booleanm string, path, refnum, cluster dari control dan
indicator ke dalam array.
iv. Jelaskan perbedaan cluster dan array ?
Array hanya dapat mengelompokkan data dengan tipe yang sama
saja, namun cluster bisa menggabungkan data dengan tipe yang
berbeda(seperti numerical, dan string data) serta cluster mempunyai
size yang fix.
v. Jelaskan Fungsi Bundle dan Bundle by Name!
Bundle digunakan untuk membuat sebuah cluster dari elemen-
elemen individu atau mengganti elemen dalam cluster yang ada.
Fungsi bundle mengacu pada posisi elemen cluster. Dengan
menggunakan fungsi bundle unruk menggantikan elemen cluster yang
ada mengharuskan jumlah terminal masukan harus sesuai dengan
jumlah elemen dalam cluster masukan dan harus seusai dengan
urutan elemen-elemen tersebut. Fungsi bundle by name juga
digunakan untuk menggantikan satu atau lebih elemen dalam cluster
yang ada. Fungsi ini mengacu pada elemen cluster by name dengan
posisi mereka di cluster. Akibatnya, fungsi ini hanya dapat mengakses
elemen cluster yang memiliki label mereka sendiri.
vi. Jelaskan perbedaan Unbundle dan Unbundle by Name!
Fungsi Unbundle digunakan untuk memisahkan sebuah cluster
didalam elemennya yang berdiri sendiri. Fungsi Unbundle by Name
digunakan untuk menghasilkan element clusternya sesuai dengan
spesifikasi nama yang dimasukkan.
vii. Untuk setiap string berikut, sebutkan tipenya!
A = string data type
B = numeric data type
C = boolean data type
D = Dynamic data type
viii. Jelaskan bagaimana mengakses sebuah file melalui dialog box?
Pada kota dialog dan select browse, lalu pilih file yang sudah ada dan
add ke conflicting items.
ix. Pada property node berikut, bagaimanakah urutan nide tersebut akan
dieksekusi?
4. PROSEDUR PRAKTIKUM
A. Temperature Monitor VI
Tujuan: Membuat suatu VI yang menggunakan while loop dan waveform chart
untuk mengelola dan menampilkan data
Langkah Kerja:
- membuat VI baru
- membuat front panel
- memilih vertical toggle switch pada palette Controls>>Boolean dan
tempatkan pada front panel. Mengetik power pada text table. Switch ini
digunakan untuk menghentikan akuisisi data
- memilih waveform chart pada palette Controls>>Graph. Waveform chart
menampilkan temperature pada saat yang sama (sebenarnya). Mengetik
temperature history.
- Lagenda dari waveform chart adalah Plot 0. Menggunakan labeling tool untuk
mengganti plot 0 dengan Temp.
- Menggunakan labeling tool untuk klik dua kali 10.0 pada sumbu y, mengganti
dengan 90
- Mengubah -10.0 pada sumbu y dengan 70
- Memberi nama sumbu y dengan temp(Deg F) dan sumbu x sebagai time (sec)
- Membuat block diagram
- Memilih while loop
- Mengklik dan menahan selection rectangle mengelilingi kedua terminal.
- Memilih function>>tutorial>>digital thermometer.vi. VI ini akan
mensimulasikan pengukuran temperature
- Menghubungkan semua icon pada block diagram
- Menyimpan VI
- Memformat skala sumbu x dan y dari waveform chart
- Mengklik kanan waveform chart dan memilih menu data operation>>clear
chart untuk menghapus data pada chart.
- Memodifikasi vertical rectangle toggle switch sehingga temperature di plot
pada grafik setiap vi dijalankan
- Menjalankan vi
- Mengklik vertical toggle switch untuk menghentikan program
- Menyimpan VI
B. Temperature Analysis VI
Tujuan: Membuat VI untuk mengukur temperature setiap 0.25s sampai 10s
dengan menggunakan chart, graph, array, dan cluster. Selama eksekusi, vi akan
menampilkan data pengukuran real time pada waveform chart. Setelah eksekusi,
vi akan memplot data graph dan menghitung nilai minimum, maximum, dan rata-
rata
Langkah Kerja:
- Membuka VI baru dan membuat front panel
- Menyimpan VI dengan nama Temperature Analysis.vi.
- Membuat block diagram
- Memilih function>>tutorial>>digital thermometer.vi,
- Menempatkan wait until next ms multiple dan membuat konstanta 250.
Mengeksekusi dilakukan 0.25s
- Menempatkan fungsi array max dan min yang teradapat pada palette
function>>array
- Menempatkan fungsi mean: function>>mathematics>>probability and
statistics
- Mengklik kanan terminal output dari fungsi array max dan min seta mean dan
memilih create indicator untuk menghasilkan indicator max, min, dan mean
- Menempatkan general polynomial fit: function>>mathematics>>curve fitting
- Menempatkan fungsi bundle: function>>cluster
- Menempatkan fungsi build array: function>>array
- Menyimpan VI
- Menampilkan frontpanel dan jalankan VI
- Mencoba nilai yang berbada untuk polynomial order pada block diagram.
- Mengubah tampilan plot dengan mengubah style plot dan fill
- Menyimpan VI
C. Find Mid Value VI
Tujuan: Mengaplikasikan pengetahuan tentang array untuk membuat suatu vi
sebagai implementasi dari berbagai fungsi array
Langkah Kerja:
- Membuat vi yang mengumpulkan array dari nilai temperature dengan
menggunakan digital thermometer.vi.
- Mengatur nilai dari array dengan menggunakan control pada front panel
- Menginisialisasi array dengan menggunakan fungsi initialize array dengan
ukuran yang sama di mana semua nilai sama dengan 10
- Menambahkan dua array, menghitung ukuran dari final array dan mengambil
nilai tengah dari final array
- Menampilkan dua temperature array, initialize array, final array, dan mid
value
- Menyimpan vi
D. Build String VI
Tujuan: Membuat suatu vi yang mengkonversi numeric ke string, merangkai
string dengan string yang lain untuk membentuk suatu output string,
menentukan panjang dari output string, menyesuaikan bentuk dari string dan
mengubah string menjadi numeric.
Langkah Kerja:
- Membuka VI baru
- Membuat block diagram
- Menempatkan fungsi format into string yang terdapat pada palette
function>>string
- Mengklik kanan format into string dan memilih edit format string untuk
menampilkan kotak dialog edit format string
- Menempatkan tanda cek pada use specified precision dan mengetik 4 pada
kotak teks corresponding untuk membuat format string yang mengubah
numeric menjadi string dengan 4 angka dibeliking koma
- Mengklik OK
- Menggunakan labeling tool untuk mengetikkan space stelah %4f constant
- Mengklik kanan konstan dan memilij \ codes display
- Menempatkan fungsi concatenate strings yang ada di palette
function>>string
- Menempatkan fungsi string length yang terdapat di palette function>>string
- Menempatkan fungsi match pattern yang terdapat di palette
function>>string
- Mengklik kanan terminal input regular expression
- Menempatkan fungsi scan from function
- Menampilkan front panel dan membuat icon
- Menyimpan vi.
E. File Writer VI
Tujuan: membuat vi yang menggabungkan pesan string, numeric, dan unit string
to file. Membuat vi untuk membaca file dan menampilkan nilainya
Langkah Kerja:
- Membuat vi dan front panel
- Membuat block diagram
- Menempatkan buildstring.vi.
- Menempatkan open/create/replace vi, terdapat pada palette function>>file
i/o
- Mengklik kanan terminal input prompt dan memilih create>>constant untuk
membuat konstanta
- Mengklik kanan terminal input function dan memilih create>>constant
- Menempatkan fungsi write file yang terdapat di function>>file i/o
- Menempakan fungsi close file yang terdapat di function>>file i/o
- Menempatkan simple error handle vi
- Menyimpan vi
F. File Reader VI
Tujuan: Membuat vi yang membaca file yang dibuat pada bagian terdahulu dan
menampilkan informasi pada indicator string
Langkah Kerja:
- Membuat vi dan front panel
- Membuat block diagram
- Menyimpan vi
- Mencari demofile.txt dan mengklik open or ok
G. Spread Sheet Example VI
Tujuan: Memeriksa vi yang menyimpan array numeric ke file dengan format yang
bisa di akses dengan spreadsheet
Langkah Kerja:
- Membuat front panel
- Membuat block diagram
- Menjalankan vi. Vi akan menghasilkan 2D array dengan 128 baris dan 3
kolom.
- Mengetik wave.txt dan save
- Membuka file dengan aplikasi word prosesor
- Menyimpan vi
H. Property Node Exercise
Tujuan: membuat vi yang deprogram dapat mengubah posisi, disable, dan warna
dari objek pada front panel
Langkah kerja:
- Membuka vi dan membuat front panel serta block diagram
- Menyimpan vi
- Menjalankan vi
- Melihat dan menganalisis apa yang terjadi
LAPORAN AKHIR PRATIKUM INTERFACING
PEMROGRAMAN LANJUTAN LABVIEW
Nama : Komang Surya Adi Putra
NPM : 1106066183
Kelompok :
Hari,Tanggal , Praktikum : Senin, 29 September 2014
Kawan Kerja :
Asisten : Cherry
LABORATORIUM INTERFACING
DEPARTEMEN FISIKA
UNIVERSITAS INDONESIA
DEPOK
2014