Menyimpan dan Membuka Data Logging Dengan Visual Basic 6

Tulisan kali ini adalah mencoba menjawab pertanyaan dari pengunjung, “bagaimana cara menyimpan dan membuka kembali data dari sebuah data logger?”
Disini akan dicoba dijelaskan bagaimana menyimpan data dari data logger/grafik yang sudah dijelaskan pada tulisan sebelumnya.
Pada dasarnya seperti sudah dijelaskan pada tulisan sebelumnya, data dari pengukuran yang ditampilkan pada grafik adalah disimpan dalam variabel yang berupa array. Sehingga dengan format ini kita akan dapat dengan mudah untuk menyimpan dan membuka kembali, karena data sudah tersusun berdasarkan waktu pengukuran.
Array yang dibuat adalah berdimensi MxN, dimana M adalah banyaknya pengukuran/sampling data dan N adalah banyaknya data dari sensor/jumlah data sensor yang dibaca.
Misalnya data pengukuran adalah sebegai berikut:

Senin Selasa Rabu Kamis Jumat Sabtu Minggu
Data 10 12 15 8 20 5 7
X1 0 1 2 3 4 5 6
Y1 0 10 12 15 8 20 5
X2 1 2 3 4 5 6 7
Y1 10 12 15 8 20 5 7

dari data di atas maka diketahui,
M = 1,2,3,4,5,6,7 atau Senin, Selasa, Rabu, Kamis, Jumat, Sabtu, Minggu
N = 10, 12, 15, 8, 20, 5, 7
misalya array disimpan dengan nama array ADC(M,N).
Berikut adalah cara membuat menu untuk menyimpan dan membuka data logging.
1. Form awak dari VB
awal form
2. Menambahkan komponen Common Dialog,  masuk ke menu ini dengan menekan Ctrl + T. Kemudian cari dari list Microsoft Common Dialog Control 6.0
add component dialog
3. Setelah itu, klik Apply dan akan muncul pada kota toolbox sebelah kiri dari form
componen dialog
4.  Buatlah form sebagai berikut, atau gunakan template yang sudah ada disini.
desain form
5. Tambahkan componen Dialog Box, dengan cara mendrag kebagian tengan form
drag componen dialog
6. Tambahkan dua komponen Timer1, dan Timer2
drag componen timer
7. Buatlah menu dengan Menu Editor dengan menekan Ctrl+E untuk memunculkan menu editor berikut ini.
menu editor
8. Buatlah menu seperti berikut:

menu

 
9. Menambahkan komponen Slider
add slider
 
Coding Visual Basic
1. Deklarasi variabel

Dim ADC(1800000) As Long
Dim Perulangan As Long
Dim RecStp As Long

– untuk mendeklarasikan array ADC sebagai variabel penampung data
– untuk mendeklarasikan variabel banyaknya data
2. Menyimpan data
 

Private Sub mnSimpan_Click()
If RecStp = 0 Then
MsgBox “No Data Recorded Dipshit!!   “, vbExclamation, “Forget something?”
Exit Sub
End If
CD1.DefaultExt = “dlg”
CD1.Filter = “Logger Files (*.txt)|*.txt”
CD1.Flags = cdlOFNOverwritePrompt
CD1.DialogTitle = “Save As DataLogger File”
CD1.ShowSave
On Error GoTo salah
‘Tulis data ke file
MousePointer = vbHourglass
Open CD1.FileName For Output As #1
Print #1, “Data ke-“, “Waktu”, “Nilai”
For Perulangan = 0 To RecStp – 1
Print #1, Perulangan,  ADC(Perulangan)
Next Perulangan
Close #1
Me.Caption = CapT & CD1.FileName
MousePointer = vbDefault
MsgBox “Data sudah disimpan”, vbOKOnly
Exit Sub
salah:
MousePointer = vbDefault
Exit Sub
End Sub

– pada program di atas, pertama kali akan mengecek apakah ada data yang sudah tersimpan pada array dengan mengecek jumlah pengambilan data, jika tidak ada data tersimpan maka akan menampilkan pesan error dan langsung keluar dari Sub.
– Jika ada data, maka akan menampilkan dialog box untuk menanyakan lokasi penyimpanan dan nama file yang akan digunakan.
– menyimpan data dengan looping sebanyak data yang ada dengan menulis pada file text. Kemudian keluar Sub.
3. Membuka data

Private Sub mnBuka_Click()
Dim w As Integer, w1 As Integer, w2 As Integer
picGrafik.Cls
picGrafik.Refresh
Call Awal
With CD1
.DefaultExt = “dlg”
.Filter = “Logger Files (*.txt)|*.txt”
.DialogTitle = “Open saved file”
.ShowOpen
End With
‘Call ColLoad
m = Right$(CD1.FileName, 3)
If m = “txt” Then
‘Garis
MousePointer = vbHourglass
Open CD1.FileName For Input As #1
RecStp = 0
w = 0
w1 = 0
w2 = 0
Do Until EOF(1)
Input #1, w, w1, w2
ADC(RecStp) = w2
Slider1.Value = w2
Call Grafik
RecStp = RecStp + 1
Loop
Close #1
Else
MsgBox “Invalid File Type Dipshit!!  “, vbCritical, “File Type Error”
End If
MousePointer = vbDefault
Exit Sub
Erex:
MsgBox “File failed to load – ERROR  “, vbCritical, “Load ERROR”
MousePointer = vbDefault
Close #1
Exit Sub
End Sub

– pada program diatas, pertama menyiapkan tampilan grafik dengan menghapus grafik yang ada jika ada, kemudian membuat dasar grafik sebelum dibuat grafik data
– menampilkan dialog box untuk menanyakan nama file dan lokasi penyimpanan data
– menggambar ulang data yang dibaca dengan memanggil fungsi grafik
– menampilkan message box, bahwa proses sudah selesai dilakukan
4. Membuat grafik

Sub Grafik()
‘data yang akan digambar
DATA = Slider1.Value
‘ titik awal untuk menggambar garis, Titik O
‘X1 = Text9.Text
‘Y1 = Text10.Text
‘ titik data yang akan digambar Titik A
‘X2 = Text11.Text
Y2 = DATA ‘Text12.Text
RecStp = RecStp + 1
ADC(RecStp) = DATA
WAKTU(RecStp) = Time
‘ menggambar garis
picGrafik.Line (500 + X1 * SkalaX, TitikNolY – (Y1 * SkalaY))-(500 + X2 * SkalaX, TitikNolY – (Y2 * SkalaY)), vbRed
‘ mengatur nilai untuk titik berikutnya
X1 = X2            ‘ X1 = X2
Y1 = Y2          ‘ Y1 = Y2
X2 = X2 + 1     ‘ X2 = X2 + 1
End Sub

– membaca data dari slider yang merupakan data yang dibaca dari file
– menentukan nilai sumbu Y yang didapatkan dari DATA
– membuat garis pada picturebox dengan koordinat (X1,Y1)-(X2,Y2), warna
– mengatur nilai X1=X2 dan Y1=Y2 sebagai nilai awal grafik berikutnya.
 
Demikian semoga bermanfaat.
Source code langkap, disini.
— Rohmadi —

You may also like...

8 Responses

  1. nopy says:

    pak,, kalau untuk merekam selama beberapa menit atau jam dan menyimpan grafik dari sensor gmna pak?sehingga kita bisa membuka kembali hasil rekaman grafik dari sensor tersebut…,makasih pak…,oia klo boleh jwabanya dikirim ke email saya.ardat765@yahoo.com

  2. brian says:

    permisi pak, posting ini bermanfaat sekali pak untuk saya yang baru belajar,
    tapi saya ada kendala pak, apabila saya ingin menambahkan satu tombol untuk mengosongkan kembali picture box nya, jadi seakan-akan tombol reset, bagaimana caranya pak?
    mohon responnya..
    terima kasih

    • roohmadi says:

      coba anda buat sebuat button dengan nama btnReset, dan Caption Reset, kemudian masukkan script berikut pada:
      Private Sub btnReset_Click()
      picGrafik.Cls
      picGrafik.Refresh
      Call Awal
      end Sub

  3. rahmat says:

    pak, kalau data logingnya disimpan/diexspor ke dalam file excel bagaiman caranya?

  4. yandi says:

    Terimakasih banyak ilmunya saya ijin mengamalkan pa. Semoga ilmu bapa semakin berkah selalu!

Leave a Reply

Your email address will not be published. Required fields are marked *