SELAMAT DATANG DI BLOG SAYA

SELAMAT DATANG DI BLOG SAYA (FAHRI HASAN AFANDI. S.Pd) tiap minggu materi akan diperbarui...

Selasa, 16 Oktober 2012

Pembuatan dan Menjalankan Program PLC-VB

Pembuatan dan Menjalankan Program PLC-VB
Urutan-urutan cara membuat dan menjalankan program adalah sebagai berikut :
a.    Rencanakan Program Syswin 3.4 dan Visual Basic 6.0
·      Siapkan dahulu PC yang mempunyai program Syswin 3.4 dan Visual Basic 6.0. Kemudian buat dahulu program Syswin 3.4 untuk menentukan input dan output yang akan digunakan. Meskipun syswin adalah PLC jadul tapi masih banyak digunakan. Berikut contoh program syswinnya :

·      Setelah jadi, maka buat program Visual Basic-nya sesuai dengan rancangan menu utama yang telah dibuat sebelumnya (tombol on/off lampu, tombol merubah mode PLC, tombol exit, serta komponen-komponen lainya). Berikut contoh rancangan Menu utamanya :

·      Kemudian buatlah EXE atau SETUP Visual Basic-nya agar dapat dijalankan pada PC yang tidak ada program Visual Basic-nya.
b.    Cara Menjalankan Program
·      Download dahulu program Syswin yang telah dibuat ke dalam PLC. Kemudian tutup program Syswin-nya agar program Visual Basic-nya bisa dijalankan. Kemudian jalankan program Visual Basic-nya, tekan tombol monitor agar PLC mampu diperintah oleh PC. Jika dirubah ke mode Program atau Run maka PLC tidak mampu diperintah PC.
c.    Sistem Kerja Program
·      Ketika tombol mode Monitor atau Run ditekan, maka lampu RUN pada PLC akan hidup. Namun jika diubah ke mode program, maka lampu akan mati.
·      Ketika tombol ON lampu ditekan, maka lampu akan menyala, kemudian indikator lampu akan berubah warna menjadi kuning, muncul tulisan lampu benar-benar menyala dan muncul form animasi. Jika OFF maka lampu mati, kemudian indikator lampu akan berubah warna menjadi hitam dan muncul tulisan lampu benar-benar mati.
·      Namun ketika lampu dinyalakan, belum tentu lampu benar-benar hidup. Hal itu bisa terjadi jika lampu putus atau kabel putus, untuk menanggulangi hal tersebut maka dipasanglah sensor. Namun sensor disini peran kerjanya akan digantikan oleh saklar dan sensor atau saklar akan mendeteksi lampu mati atau hidup.
Pengiriman Data Dari PC-PLC
Pengiriman data dari PC ke PLC seperti contohnya ditunjukkan pada tombol on/off lampu. Berikut di bawah ini akan ditampilkan tabel data yang akan dikirim saat lampu on/off.
Data yang dikirim
Output
Kondisi Lampu
Data Yang Dikirim
Perubahan Yang terjadi





00

ON 1
"@00WH00010001"
HR0100 hidup
Shape4.FillColor = vbYellow
Kotak yang mewakili ruangan berwana kuning

OFF 1
"@00WH00010000"
HR0100 mati
Shape4.FillColor = vbBlack
Kotak yang mewakili ruangan berwana hitam.





01

ON 2
"@00WH00020001"
HR0200 hidup
Shape1.FillColor = vbYellow
Kotak yang mewakili ruangan berwana kuning.

OFF 2
"@00WH00020000"
HR0200 mati
Shape1.FillColor = vbBlack
Kotak yang mewakili ruangan berwana hitam.





02

ON 3
"@00WH00030001"
HR0300 hidup
Shape2.FillColor = vbYellow
Kotak yang mewakili ruangan berwana kuning.

OFF 3
"@00WH00030000"
HR0300 mati
Shape2.FillColor = vbBlack
Kotak yang mewakili ruangan berwana hitam.





03

ON 4
"@00WH00050001"
HR0500 hidup
Shape3.FillColor = vbYellow
Kotak yang mewakili ruangan berwana kuning.

OFF 4
"@00WH00050000"
HR0500 mati
Shape3.FillColor = vbBlack
Kotak yang mewakili ruangan berwana hitam.
Tombol On/Off lampu berfungsi memberi perintah PC untuk mematikan serta menyalakan lampu atau output PLC. Berikut di bawah ini adalah gambar tombol On/Off lampu :

 Tombol ON/OFF lampu
Di bawah ini adalah contoh listing program dari tombol ON/OFF Lampu :
·      Tombol ON
Private Sub Command1_Click()
data = "@00WH00010001"
Call kirim
Shape4.FillColor = vbYellow
Form2.Visible = True
End Sub
Ketika tombol ON ditekan, maka data  "@00WH00010001" akan dikirim dengan menggunakan kode program call kirim. Berikut di bawah ini adalah listing program dari call kirim :
Private Sub kirim()
Dat$ = data ‘(data yang akan dikirim, misal "@00WH00010001")
l = Len(Dat$) ‘(untuk menghitung jumlah karakter dari data)
A = 0
For I = 1 To l
Opo$ = Mid$(Dat$, I, 1) ‘(mengambil n (jumlah) karakter dari suatu posisi yang telah ditetapkan)
A = Asc(Opo$) Xor A ‘(Pengubahan ke ASCII dengan di XOR kan)
Next I
FCS$ = Hex$(A)
If Len(FCS$) = 1 Then ‘(jika hasil penghitungan karakter dari FCS$ = 1)
FCS$ = "0" + FCS$
End If
DatTX$ = Dat$ + FCS$ + "*" + Chr$(13)
MSComm1.Output = DatTX$
End Sub
Agar Program Visual Basic dapat membaca ataupun menulis data PLC, maka data yang harus kirim dalam bentuk paket tersetruktur yang disebut frame melalui commport. Frame yang digunakan untuk PLC yaitu  FCS. FCS (Frame Check Sequence) adalah hasil konversi 8-bit data ke 2 digit karakter ASCII. Ke 8-bit data merupakan hasil dari exclusive OR secara berturut (sequence) karakter pertama hingga karakter terakhir pada sebuah frame. Jika ternyata ASCII yang dihasilkan adalah 1 digit, maka perlu ditambahkan ASCII ”0” di depan ASCII yang kedua. Lalu setelah data digabung dengan FCS dan ASCII lainya, kemudian dimasukkan dalam variabel DatTX$. Setelah itu, variabel DatTx$ dikirim ke port menggunakan perintah ”MSComm.Output”.  
Program akan membaca kondisi output pada PLC pada setiap 100 ms dengan memanfaatkan komponen timer, sehingga bila output menyala, kotak yang mewakili ruangan akan berubah warnanya dan pada label akan berubah tulisanya. Ini berarti setiap 100 ms sekali PC akan berkomunikasi langsung dengan PLC dengan mengirimkan 1 frame untuk untuk membaca kondisi output. Di bawah ini adalah tabel untuk menjelaskan dari listing program string  Private Sub kirim() di atas.
Tabel Fungsi String Pada Listing Program Private Sub kirim()
Fungsi
Keterangan
Dat$
Data yang akan dikirim.
Len (l)
Untuk menghitung jumlah karakter dari data.
Opo$ = Mid$(Dat$, I, 1) atau Mid$(Dat$, n, m)
Untuk mengambil 1 karakter pada dari karakter ke I yang telah ditetapkan. Atau mengambil m karakter dari karakter ke n terhadap variabel string.
Chr$(13)
Menspesifikasikan nilai dalam ASCII, dan penambahan Chr$(13) agar PLC mampu dibaca oleh VB.
Asc$
Menghasilkan angka ASCII dari suatu karakter tunggal
FCS$ (Frame Check Sequence)
Hasil konversi 8-bit data ke 2 digit karakter ASCII

Ketika tombol On/Off ditekan, jika lampu menyala atau mati, maka gambar tampilan dari indikator On/Off lampu akan berubah sebagai berikut :

 Indikator On/Off Lampu
Keterangan :
·      Ketika tombol ON 1 ditekan dan sakelar dalam keadaan ON, maka data yang akan dikirim adalah "@00WH00010001". Data "@00WH00010001" ini akan mengaktifkan HR0100 pada program PLC untuk menyalakan output 1000. Sedangkan data Shape4.FillColor = vbYellow, berfungsi untuk merubah warna pada kotak ruangan menjadi kuning.
·      Ketika tombol OFF 1 ditekan atau sakelar dalam keadaan OFF, maka data yang akan dikirim adalah "@00WH00010000". Data "@00WH00010000" ini akan tidak mengaktifkan HR0100 pada program PLC sehingga output 1000 mati. Sedangkan data Shape4.FillColor = vbBlack, berfungsi untuk merubah warna pada kotak ruangan menjadi hitam.
·      Begitu juga sistem kerja tombol ON/OFF 2, ON/OFF 3, ON/OFF 4 sama dengan sistem kerja tombol ON/OFF 1.

Pengiriman Data Dari PLC ke PC
Ketika sakelar/sensor sebagai input PLC dihidupkan, maka kotak yang mewakili ruang akan berubah menjadi kuning dan label akan memunculkan tulisan lampu benar-benar hidup dan begitu juga sebaliknya saat sakelar sebagai input PLC mati. Hal itu menunjukkan adanya komunikasi atau pengiriman data dari PLC ke PC. Komunikasi atau pengiriman data dari input PLC ke PC memanfaatkan komponen timer pada program. Berikut adalah listing program timer :
Private Sub Timer1_Timer()
Label15.Caption = Time ‘(membuat jam pada form)
Label16.Caption = Format(Date, "dd mmm yyyy") ‘(membuat tanggal pada form)
data = "@00RH00040002"‘(isi data akan dibaca oleh VB dan diletakkan pada Text3.Text)
Call kirim
Text3.Text = MSComm1.Input
cek$ = Mid(Text3.Text, 8, 4) ‘(data diambil sebanyak 4 karakter dari karakter ke 8 pada text3.text)
Text1.Text = cek$
Select Case cek$
Case "0001" '+Chr$(13)
Shape1.FillColor = vbYellow ‘(warna menjadi kuning)
Shape2.FillColor = vbBlack ‘(warna menjadi hitam)
Shape3.FillColor = vbBlack ‘(warna menjadi hitam)
Shape4.FillColor = vbBlack ‘(warna menjadi hitam)
Label1.Caption = "lampu 1 Benar2 ON " ‘(tulisan menjadi lampu 1 benar2 ON)
Label2.Caption = "lampu 2 Benar2 OFF" ‘(tulisan menjadi lampu 2 benar2 OFF)
Label3.Caption = "lampu 3 Benar2 OFF"‘(tulisan menjadi lampu 2 benar2 OFF)
Label4.Caption = "lampu 4 Benar2 OFF"‘(tulisan menjadi lampu 2 benar2 OFF)
Form2.Visible = True  ‘(form2 “animasi” muncul)
Form3.Visible = False ‘(form3 “animasi” sembunyi)
Form4.Visible = False ‘(form4 “animasi” sembunyi)
Form5.Visible = False ‘(form5 “animasi” sembunyi)
dst sampai ……
Case "000F" '+Chr$(13) ‘(kasus 000F )
Kode program di atas ditujukan untuk melakukan pengecekkan pada alamat PLC HR0400, pengecekkan dilakukan setiap 100 ms. Kemudian data yang telah dibaca oleh VB akan diletakkan pada Text3.text. Perintah Text3.Text = MSComm1.Input berguna agar variabel Text3.Text berisi data yang telah diambil per 100 ms dari PLC. Pada  perintah cek$ diambil data dari Text3.Text sebanyak 4 karakter yang kemudian diletakkan pada Text1.text.
Contoh pada kasus (case) 0001 itu menunjukkan bahwa input 0000 dihidupkan dan tombol ON 1 dihidupkan, maka kotak yang mewakili ruang 1 akan berubah menjadi kuning  dan label akan muncul tulisan lampu 1 benar-benar ON. Begitu juga pada kasus (case) lainnya atau input-input yang lainnya. Sebenarnya komponen timer ini juga dimanfaatkan sebagai komunikasi data dari PLC ke PC ataupun dari PC ke PLC. Berikut di bawah ini adalah tabel keterangan dari Case "0001" '+Chr$(13).
Tabel Keterangan  Listing Program Private Sub Timer1_Timer()
Case
Data Yang Dikirim
Perubahan Yang Terjadi










Case “0001”

Shape1.FillColor = vbYellow
Kotak 1 yang mewakili ruangan berwana kuning.
Shape2.FillColor = vbBlack
Kotak 2 yang mewakili ruangan berwana hitam.
Shape3.FillColor = vbBlack
Kotak 3 yang mewakili ruangan berwana hitam.
Shape4.FillColor = vbBlack
Kotak 4 yang mewakili ruangan berwana hitam.
Label1.Caption = "lampu 1 Benar2 ON "
Muncul tulisan lampu 1 Benar2 ON pada label 1
Label2.Caption = "lampu 2 Benar2 OFF"
Muncul tulisan lampu 1 Benar2 OFF pada label 2.
Label3.Caption = "lampu 3 Benar2 OFF"
Muncul tulisan lampu 1 Benar2 OFF pada label 3.
Label4.Caption = "lampu 4 Benar2 OFF"
Muncul tulisan lampu 1 Benar2 OFF pada label 4.
Form2.Visible = True
Form2 (animasi) muncul
Form3.Visible = False
Form3 (animasi) sembunyi
Form4.Visible = False
Form4 (animasi) sembunyi
Form5.Visible = False
Form5 (animasi) sembunyi
Case ”0002”
dst.....
case ”000F”
…………………………………….dst…………………………………………………………
............................................dst................................................


6 komentar:

  1. bagus banget nih.oh ya sekedar informasi,bagi yang ingin mendaptkan dollar recehan.daftar dapt $2.jika ada orang klik referral link anda dapat$0.5. minmum payout 30$.visit ;http://visitors2cash.com/ref.php?refId=24288

    BalasHapus
  2. gan ane mau tnya, plc buat belajar berapaan yach???mks gan

    BalasHapus
  3. gan mau tnyk pnyk gak tutorial plc - vb yang inputnya dari sensor terus outputnya di vb dengan tampilan warna.,mohon bantuan nya gan.,

    BalasHapus
  4. Gan mau tanya, itu kan dari PC ke Wiznet (gateway) dulu, agan pake protocol pengirimannya apa UDP atau TCP gan??
    boleh minta listing program keseluruhannya gak gan? hehe makasih gan

    BalasHapus