Tutorial 2 Complete Tank Measurement

Target Pembelajaran

  • Description dan Tip strip dari sebuah elemen
  • While loop iteration number (untuk ditampilkan dalam numeric indicator pada Front panel)
  • Clock (untuk menunjukan waktu yang berjalan)
  • Cluster ( untuk menggabungkan elemen K dan u0 kedalam satu cluster elemen)
  • Local variable
  • Boolean indicator
  • Comparison functions
  • String indicators
  • Chart (akan menampilkan data terupdate)
  • Property node (untuk pengaturan chart)

 

  1. Pendahuluan

 lv2-1

  1. VI Development

Save VI yang akan dibuat dengan nama Level Measurement 02.vi

  • Description dan Tip strip dari sebuah element

Descriptio dan Tip strip

Kita akan menambahkan Description dan Tip untuk uin elemen (sinyal pengukuran yang akan disimulasikan:

Buka property window dari vertical pointer slide variable u (klik kanan pada elemen, dan pilih Properties). Buka Documentation tab, dan ketikan deskripsi pada Description dan Tip seperti pada gambar di bawah.

lv2-2

Sehingga akan menghasilkan seperti program di bawah ini:

lv2-3

  • While loop iteration number (untuk ditampilkan pada numeric indicator di Front Panel)

lv2-4 lv2-5

  • Clock (untuk menampilkan waktu yang berjalan)

lv2-6 lv2-7-8-9

Akan menghasilkan program seperti di bawah ini:

lv2-10

Lalu Save VI.

2.4 Cluster (untuk menggabungkan elemen K dan u0 kedalam satu elemen cluster)

Cluster adalah elemen yang terdiri dari satu atau lebih elemen dengan memungkinkan ada elemen yang berbeda tipe data pada cluster tersebut. Kita akan membuat cluster dengan terdiri dari elemen Gain K dan Zero u0. Apa keunggulan menggunakan cluster? Pada Front panel, cluster divisualisasikan dengan mengelompokan elemen-elemen yang terkait. Dalam Bock diagram, cluster akan menyederhanakan kode dan wire yang disederhanakan menjadi 1 wire saja.

Tambahkan sebuah cluster kosong dari Array, Matrix & Cluster pallete ke Front Panel. Tempatkan pada tempat yang kosong. Gambar berikut menunjukan cluster kosong.

lv2-11-12 lv2-13

Sekarang buka Block diagram dan perhatikan gambar di bawah ini. Terminal Cluster_para sudah ditempatkan pada Block diagram dengan acak.

lv2-14

Selanjutnya, lakukan seperti instruksi di bawah ini. Hasil akhir ditunjukan pada Fig. 15.

  • Pindahkan terminal Cluster_para ke posisi kiri atas While loops. Tentunya berada dalam While loop.
  • Tambahkan Unbundle disebelah kanan terminal cluster. Fungsi Unbundle terdapat pada Cluster & Variant subpalette dari Function palette.
  • Hunbungkan terminal Cluster_para ke Unbundle.
  • Lalu expand (perlebar) item Unbundle dengan mendrag item tersebut ke bawah sehingga muncul terminal K dan u0.
  • Terakhir, wire elemen K ke Multiply (perkalian) function dan terminal u0 ke Subtract (pengurangan) function.

lv2-15

Lalu save VI.

2.5. Boolean indicator dan Local variable

Sekarang kita akan menambahkan Boolean indicator yaitu LED (Light Emitting Diode) yang akan menyala ketika VI dijalankan (mati ketika VI dalam keadaan stop). Local variable juga akan digunakan dalam aplikasi ini.

Buka block diagram dari VI Anda.  Tambahkan sebauh constant True dan constant False dari Boolean subpalette dari Functions palette (lihat Fig. 19). Dengan cara klik Boolean constant, maka nilai pada item tersebut akan berganti dari True ke False atau jika dari False maka menjadi True.

Buka front panel dari VI Anda. Tambahkan LED dari Boolean subpalette dari Controls palette dan atur posisinya (lihat Fig.20a) (LED diberi label Running?). Atur nilai properties dari LED sebagai berikut (lakukan setting pada Property window):

  • Label “Running?” (invisible)
  • Caption “VI is Running?” (visible)
  • Beri tanda centang pada Show Boolean Text
  • Hilangkan tanda centang pada Lock text in center
  • On text: “Yes”
  • Off text: “No”

Catatan: Terkadang Caption mempunyai background berwarna hitam. Dengan double-click pada area Caption maka warna background akan menjadi putih.

Buka block diagram VI Anda. Atur posisi terminal Boolean Running? Dan pindahkan ke posisi sesuai posisi yang terlihat pada gambar di bawah. Kemudian wire constant True ke terminal Running? .

Buat local variable dari variable (terminal) Running? dengan cara: klik kanan pada terminal Running? / Create Local Varible. Kemudian, tempatkan Local variable tersebut tepat di luar While loop, dan hubungkan ke constan False, lihat gambar di bawah.

Catatan: dalam kondisi awal sebuah local variable menunjukan wire untuk dibaca (readable). Akan tetapi bisa juga di-setting menjadi untuk dituliskan/dimasukan data (writable) dengan cara klik kanan pada item tersebut dan pilih Change to Write pada menu yang muncul.

lv2-16 lv2-17-18

lv2-19

Buka Front panel, dan jalankan VI. Amati bahwa LED akan menyala. Stop VI, dan LED akan mati. Program yang sudah selesai (Front Panel) bisa dilihat di Fig.20a dan Fig.20b:

lv2-20a lv2-20b

Lalu save VI.

2.6. Comparison function, String Indikator dan Property node

Kita akan coba untuk membuat alarm. Text alarm batas tinggi akan muncul di Front Panel jika level lebih tinggi dari 380mm, dan Text alarm batas bawah akan muncul jika level kurang dari 20mm.

Mari kita mulai dengan menambahkan String indicator yang akan kita gunakan untuk menampilkan alarm.

Buka Front Panel dari file Level Measurement.vi

Tambahkan dua String indicator dari String & Path subpalette. Tempatkan seperti gambar di bawah.

Untuk String indicator atas:

lv2-21

Hide item indicator: klik kanan pada elemen -> Advanced -> Hide Indicator

Ulangi langkah di atas akan tetapi lakukan pada String indicator batas bawah, akan tetapi ketikan string: Alarm: Low level (<20mm), dan ubah labelnya menjadi “Low Alarm”.

  • Buka blok diagram.
  • Tambahkan sebuah fungsi Greater? (lebih besar) dan fungsi Less? (lebih kecil) dari Comparison subpalette ke block diagram Anda.
  • Tambahkan dua numeric constant, dan beri nilai 7 dan 1 secara berturut (dengan cara double klik pada elemen dan masukan angka tersebut).
  • Hubungkan dengan wire ke Greater? Dan Less? secara berurut.
  • Posisikan High Alarm indicator dan Low Alarm indicator, dan pindahkan keduanya ke samping While loop seperti 23 di bawah.
  • Buat sebuah Property node untuk High Alarm elemen: Klik kanan pada High Alarm indicator / Create Property Node / Visible. Dengan demikian maka akan terbuka daftar menu dari properties, lihat gambar di bawah, memilih Visible, lalu letakan Property node di block diagram.

lv2-22

Dengan klik kanan pada High Alarm indicator / Create Property Node maka daftar properties dari indicator elemen tersebut akan muncul.

Nilai dari sebuah property dapat diakses secara writable (bisa dituliskan nilai) atau readable (membaca nilai settingan properties tersebut). Pada kasus kita sekarang ini kita menggunakan mode writable, sehingga indicator yang kita gunakan akan bisa kita atur untuk muncul di front panel (visible) atau menghilang/tak terlihat (not visible) tergantung output dari fungsi Greater?. Maka, klik kanan pada Property node / Select Change to Write.

  • Ulangi step di atas (membuat property node) untuk Low Limit indicator.
  • Kemudian, hubungkan/wire output dari fungsi Greater? ke input dari High Alarm Property Node, dan output fungsi Less? ke input Low Alarm Property Node.
  • Program akan terlihat seperti gambar berikut.

lv2-23

lv2-24  

Atur nilai ui sehingga level tank kurang dari 20mm, maka Low Alarm String akan muncul.

Save VI.

2.7. Chart (dengan plot data kontinyu)

Labview mempunyai banyak Virtual Instrument termasuk didalamnya adalah Charts and Graphs untuk menampilkan data. Mari kita tambahkan chart ke VI. Sebuah chart adalah diagram yang akan mem-plot data variable secara kontinyu sepanjang waktu pengukuran yang direpresentasikan dengan axis x. Pada kasus kita, chart akan kita gunakan untuk memplot/menampilkan tiga sinyal:

Level.

Alarm batas atas, 380mm.

Alarm batas bawah, 20mm.

Menambahkan chart:

Klik kanan di sembarang tempat pada Front Panel.

Chart dapat dicari di Control palette > Modern subpalette > Graph > Waveform Chart

Tiga sinyal yang akan kita plot di chart akan kita gabungkan dalam satu fungsi Bundle. Maka output dari Bundle tersebut adalah sebuah wire signal cluster yang akan kita hubungkan ke chart.

lv2-25

Maka akan terbentuk tampilan pada Front panel sebagai berikut.

lv2-26

  • Buka Block Diagram dari VI.
  • Pindahkan terminal y_chart ke posisi sesuai yang ditunjukan pada 27.
  • Masukan fungsi Bundle dari Cluster & Variants palette, seperti pada gambar 27.
  • Expand/perlebar fungsi Bundle sehingga muncul 3 input dengan cara drag bagian bawah elemen ke arah bawah.
  • Tambahkan dua numeric constant dari Numeric palette, dan berilah nilai 380 dan 20 berurutan.
  • Wire/sambungkan output dari fungsi Multiply/perkalian, yang merupakan level singnal, dan dua konstanta tersbut ke fungsi
  • Wire output Bundle ke terminal y_chart (maka kemudian akan berganti warna dan icon secara otomatis).
  • Buka front panel. Sekarang chart mempunyai tiga sinyal yang akan ditampilkan. Anda dapat memindahkannya ke bagian luar sisi kanan dari chart. Block diagramnya sendiri akan tampak sebagai berikut.

lv2-27

Buka Front panel. Chart mempunyai 3 digital display. Klik kanan pada Chart (disebut Level chart), Properties

  • Pada Appearance tab:
    • Label “y_chart”. Invisible. Caption “Level Chart”
    • Show digital display(s).
  • Scales tab:
    • Pilih Time (x-axis) pada axis list yang ada pada bagian halaman tab ini.

lv2-28

  • Name : “Time t [s]”
  • Scaling factor: Multiplier: 0.1, berdasarkan pada cycle time 0.1 detik pada program kita (ini adalah cycle time dari While loop). (Dengan nilai default/awal dari Multiplier adalah 1, maka nilai increment x-axis akan 1, maka dalam 1 detik x-axis akan bertambah 10 kali, ini bukan yang kita inginkan).
  • Minimum: 0
  • Maximum: 20
  • Scale Style and Colours: Pilih seperti yang yang ditunjukan gambar di bawah ini:

lv2-29

  • Grid Style and Colours: Klik button tersebut, dan pilih opsi yang muncul di sebelah kanannya. (Jika Anda ingin mengubah warna grid, Anda dapat klik pada colour button).
  • Pilih y-axis pada Scales tab.
  • Pilih y-axis pada Scales tab.
    • Name: “[mm]”.
  • Grid Style and Colours: klik button tersebut, pilih opsi yang muncul di sebelah (Jika Anda ingin mengubah warna grid, Anda dapat klik pada colour button).

Untuk Mengatur Plot legend (dari atas diagram, ke kanan), maka:

  • Drag bagian sisi bawah dari Plot legend ke arah bawah untuk menampilkan informasi dari ketiga sinyal yang akan kita plot. Pindahkan Plot legend ke posisi yang sesuai.
  • Plot legend text: Double klik pada setiap Plot legend text areas, dan ketikan text berikut, secara berurutan: “Level y [mm]”; “High Alarm Limit [mm]”; “Low Alarm Limit [mm]”.
  • Line Colour: Klik kanan pada display/ Pilih Colour. Set warna yang Anda inginkan untuk ketiga sinyal tadi.

Buka Front panel. Jalankan Vi, dan coba ubah-ubah nilai uin. Maka akan terlihat bahwa skala y-axis akan secara otomatis, sesuai settingan awal/default. Ubah ke manual scaling ketika VI sedang dijalankan dengan cara klik kanan pada chart, dan pilih AutoScale Y.

lv2-30

Stop Vi. Lalu Save VI.

Dalam chart sendiri sudah terdapat data buffer yang akan menyimpan data-data sebelumnya (data history) sehingga data sinyal sebelumnya dapat ditampilkan di chart. Nilai awal/default buffer chart ini adalah 1024. Maka 1024 data terakhir akan tersimpan di memori buffer ini. Pada kasus VI kita, dengan menggunakan time sampling 0.1 detik dan lebar sampling 50 detik sepanjang x-axis, maka kita harus mempunyai nilai buffer minimum 50s/0.1s = 500 sample. Walaupun setinggan awal buffer dalam kasus kita sudah aman. Akan tetapi dalam kasus lain mungkin sangat penting untuk menambahkan nilai dari buffer itu sendiri.

Untuk melihat/mengatur nilai buffer: Klik kanan pada chart/ Pilih Chart History Length, lihat gambar di bawah. Seperti penjelasan di atas, kita tidak perlu mengganti settingan buffer lagi, maka kita close saja dialog window yang muncul.

lv2-31

Chart History Length dapat dilihat/diatur dengan cara klik kanan pada Chart History Length.

2.8 Konfigurasi Chart Secara Program

Sebagai contoh bagaimana menkonfigurasi chart secara programmatic, kita akan mengatur History property dari Property Node chart pada Block Diagram sehingga chart harus kosong/clear/tidak ada sinyal yang ter-plot saat aplikasi pertama-tama dijalankan.

Save VI Anda dengan nama Level Measurement 0201.vi.

Kemudian, kita perlu memastikan bahwa kode kita ini akan tereksekusi sebelum masuk ke While loop. Maka, dengan hal itu kita akan menggunakan Sequence structure yang berbentuk seperti film strip frame. Dalam setiap frame tersebut kita bisa memasukan kode. Kode yang berada pada frame pertama akan dieksekusi pertaama kali, kemudian setelah selesai di frame satu lalu ke frame kedua, dst.

Tambahkan sebuah Flat Sequence dari Struccture palette (pada Function palette), dan pastikan While loop berada di dalamnya, lihat gambar di bawah.

Lakukan seperti berikut.

  • Tambahkan Flat Sequence Structure dari Structure palette (pada Function palette atau pada Express Vi). Buat label dari Sequence Structure visible/terlihat: Klik kanan pada border / Visible Items / Label.
  • Tambahkan satu frame lagi sebelum frame yang sudah ada dengan cara: Klik kanan pada bagian atas border frame / Add Frame Before. Maka Block diagram akan terlihat seperti gambar di bawah.

lv2-32

  • Buka History property dari Property node dengan cara sbb: Klik kanan pada y_chart terminal / Create Property Node / History Data (di bagian bawah). Lihat gambar berikut.

lv2-33

  • Ubah History property dari readable menjadi writable : Klik kanan pada Property Node / Change to Write. (maka symbol panah pada Property node akan berpindah ke kiri menjadi input).
  • Untuk menambahkan konstanta pada History property node: Klik kanan pada node / Create Constant. (Constant akan secara otomatis muncul sebagai cluster yang berisi tiga data array kosong (satu array untuk mem-plot satu garis), sehingga History buffer akan menjadi kosong).
  • Buat Label dari array yang masuk Property node visible.
  • Untuk menghemat ruang, pindahkan array ke atas Property node, seperti terlihat pada gambar.

Hasil akhir program block diagram ditunjukan gambar di bawah.

lv2-34

Buka Front panel, kemudian jalankan VI. Atur-atur sinyal input u. Stop VI, lalu jalankan lagi.

Apakah chart tereset/kosong pada saat VI di start seperti yang kita inginkan?

lv2-35-36

Stop Vi, lalu Save Vi.

_____________________________

Daftar Pustaka

academic.amc.edu.au/~hnguyen/JEE344ACE/

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s