tugas
Nama : Andara A. Rachman
(20113835)
Billy
P. Putra (21113733)
Felix Reinhart (23113397)
Kelas : 3KB03
Mata Kuliah : Pengantarmukaan Periperal Komputer
KONTROL DAN
MONITORING PUTARAN MOTOR STEPPER MELALUI JARINGAN LAN MENGGUNAKAN VISUAL BASIC
Oleh : Agus Putranto, S.Pd., M.Sc.
(Widyaiswara Departemen Elektro - PPPPTK
BOE Malang)
Abstrak:
Keberadaan peralatan mesin produksi
(plant) yang tersebar luas di berbagai lokasi dalam satu wilayah industri
memerlukan adanya suatu sistim yang dapat mengontrol dan memonitor plant dari
jarak jauh. Dengan memanfaatkan jaringan LAN dengan komputer yang sudah tersedia,
suatu plant dapat dikontrol dan dimonitor langsung dari tempat lain melalui
komputer di meja kerja tanpa harus mendatangi lokasi plant atau menunggu kertas
laporan dari operator setiap akhir pergantian shift.
Pada
eksperimen ini dibangun suatu model sistim kontrol dan monitoring melalhu
jaringan LAN dengan plant berupa motor stepper. Motor stepper dipasang pada
komputer server melalui antarmuka (interface) ke port serial USB. Dua buah
program aplikasi dibangun menggunakan Integrated Development Environmen (IDE)
Visual Basic 6 untuk server dan client. Komunikasi data antara komputer dengan
motor stepper yang tersambung melalui serial port menggunakan fasilitas yang
sudah tersedia pada Visual Basic yaitu MSComm dan untuk komunikasi data antar
komputer melalui jaringan LAN menggunakan komponen Winsock.
Dari hasil ekesperimen, putaran
motor stepper dapat dikontrol dan dimonitor baik dari komputer server maupun
dari komputer client yang tersambung pada jaringan LAN baik menggunakan kabel
Ethernet maupun tanpa kabel (Wi-Fi). Banyaknya komputer client yang tersambung
pada server tidak dibatasi. Data monitoring putaran motor stepper dikirim
secara switching dengan interval timer 0.001 detik per client.
Kata kunci: Kontrol dan
monitoring, LAN, Motor stepper, Visual Basic
PENDAHULUAN
Local Area Network (LAN) adalah jaringa komputer yang
mencakup wilayah kecil seperti misalnya satu kantor, satu kampus, satu
perusahaan. Pada umumnya setiap komputer yang tersambung pada jaringan LAN
dihubungkan melalui kabel Unshielded twisted-pair (UTP)
ke perangkat yang disebut Switch dengan teknologi Ethernet atau dengan
teknologi tanpa kabel kabel dengan sebutan Hotspot menggunakan perangkat wirelessfidelity
(Wi-Fi).
Tersedianya jaringan LAN pada suatu institusi atau perusahaan
selain sebagai sarana koneksi internet dan sumberdata, dapat pula dimanfaatkan
untuk keperluan lain yaitu untuk sistim kontrol dan monitoring peralatan proses
produksi misalnya mesin. Pada industri yang besar, mesin produksi tersebar pada
lokasi yang luas bahkan untuk mendatanginya memerlukan kendaran. Pengoperasian
mesin produksi dilakukan oleh operator yang tugasnya mulai mengoperasikan
mesin, mengawasi jalannya mesin, mencatat setiap kejadian kesalahan dan
mencatat hasil produksi dalam suatu format laporan yang tertulis pada kertas.
Pelaporan catatan dalam kertas ini biasanya dibuat untuk setiap pergantian
operator pada setiap shift. Dengan demikian kalau dalam sehari terdapat tiga
pergantian maka waktu yang diperlukan untuk medapatkan informasi operasional
mesin harus menunggu setiap 8 jam sekali atau kalau memrlukan informasi aktual
saat itu harus mendatangi operator di lokasi mesin berada.
Dari pengalaman dilapangan, banyak dikehendaki adanya sistim
yang memungkinkan mengontrol dan memonitor suatu operasional mesin dengan
sedikit menggunakan kertas (paperless). Pada saat kapanpun pimpinan dapat
mengontrol dan memonitor jalannya mesin dari ruang kerjanya tau dari mana saja
tanpa harus menghubungi operator atau dating ke lokasi mesin. Keinginan itulah
yang banyak ditemukan di perusahaan besar dan permasalahan itulah yang banyak
disampaikan industri.
Tulisan pada artikel ini akan memberikan inspirasi bagaimana
mengatasi masalah di atas dengan memanfaatkan jaringan LAN yang tersedia.
Sistim kontrol dan monitoring suatu mesin dapat dilakukan dengan membuat
program aplikasi komputer dengan Integrated Development Envirement Visual Basic
6. Pada artikel ini sebagai contoh kasus peraalatan yang akan dikontrol dan dimonitoring
adalah sebuah motor stepper yang disambungkan ke salah satu computer yang
tersambung ke jaringan LAN. Sambubungan motor stepper ke komputer melalui
interface ke saluran Universal Serial Bus (USB) seperti pada gambar berikut.

Gambar 1. Sistem control dan monitoring melalui jaringan LAN
Seperti disampaikan di atas, untuk menhubungkan komputer
pada suatu jaringan LAN terdapat dua macam cara, yaitu mengunakan koneksi
Ethernet dengan kabel UTP antara computer dengan Switch/hub atau dengan koneksi Wi-Fi sambungan tanpa kabel
(wireless) ke Access Point.
Motor stepper yang terhubung pada salah satu komputer dapat
dikontrol dan dimonitor putarannya oleh komputer manasaja yang tersambung pada
jaringan LAN. Dua macam program aplikasi harus dibangun untuk memenuhi fungsi
control dan monitoring ini, yaitu server dan client.
SERVER
Komputer tempat motor stepper dipasang disebut komputer
server yang nantinya dipasang program aplikasi server. Program aplikasi server
melayani hubungan antarmuka (interfacing) antara komputer dan motor stepper dan
hubungan antara komputer server dengan komputer lain yatu client.
Untuk melayani komunikasi data antara komputer dengan motor
stepper melalui port serial USB digunakan komponen MSComm yang sudah disediakan
pada Visual Basic 6. Beberapa instruksi penting untuk mengakses port serial
menggunakan MSComm adalah :
MSComm1.CommPort
|
Untuk menentukan nomor port serial yang digunakan
|
MSComm1.Settings
|
Untuk menentukan parameter komunikasi, meliputi : baud
rate, parity, lebar data bit dan stop bit
|
MSComm1.PortOpen
|
Membuka/menutup port
|
MSComm1.Output
|
Mengeluarkan data ke port serial
|

Program aplikasi dibuat dengan Visual Basic untuk komputer
server tampak pada gambar berikut:
Gambar 2. Screen shoot program aplikasi server
Koneksi ke motor stepper melalui port komunikasi serial
dapat dipilih nomor portnya melalui combox. Nomor port serial dapat diketahui
dengan melihat pada properties komputer – Device Manager – Ports (Com &
LPT) – Virtual Communication (COM …). Tombol “Connect” untuk membuka serial
port dan tombol “Disconnect” untuk menutup sambungan.
Pada frame “Kontrol” tersedia tiga buah tombol untuk
mengontrol putaran motor stepper, yaitu “Putar kiri”, “Stop” dan “Putar kanan”.
Apabila motor stepper sudah tersambung ke komputer server melalui interface
USB, setelah tombol “Putar kiri” di tekan maka rentetan data akan dikeluarkan
oleh komputer melalui serial port ke motor stepper dan motor akan berputar
kearah kiri atau berlawanan dengan arah jarum jam. Apabila tombol “Stop”
ditekan, maka motor stepper akan berhenti. Sedangkan jika tombol “Putar kanan”
ditekan, maka motor akan berputar ke arah kanan
atau searah dengan jarum jam.
Pada frame “Monitorig” tampak motor stepper dengan jarum
berwarna merah dipergunakan untuk memonitor arah putaran motor. Jika motor
berputar ke kiri maka jarum ikut bergerak ke kiri, jika motor berputar ke kanan
maka jarum akan berputar ke kanan dan jika motor berhenti maka jarum juga akan
bergenti.
Komputer server dapat melakukan kontrol dan monitoring
putaran motor stepper. Pada Frame1 tersedia isian textbox untuk menentukan
nomor port yang akan didengar. Sebelum tombol “Start Listening” ditekan, maka
koneksi ke jaringan LAN belum dibuka dan computer client tidak dapat
menghubungsi server, Sehingga kontrol dan monitoring putaran motor stepper
hanya dapat dilakukan oleh komputer server saja.
Ketika tombol “Start Listening” ditekan, maka komputer
server siap melayani hubungan ke client. Tampak pada gambar di atas bahwa
setelah koneksi ke jaringan dibuka, satu komputer client terhubung. Tampak pula
bahwa komputer Client1 ini telah mengontrol motor stepper untuk berputar ke
kanan. Setiap kejadian pada jaringan LAN selalu dicatat pada memo yaitu setiap
ada komputer client yang tersambung akan dicatat nomor alamat IP-nya (Internet
Protocol) , data kontrol apa yang dikirim dan ketika komputer client memutus
hubungan juga akan dicatat sehingga jumlah komputer client yang tersambung saat
itu dapat dihitung dan dimonitor.
Pada bagian bawah memo ditampilkan jumlah Client yang online
saat itu. Program aplikasi kontrol dan montoring ini dapat berjalan untuk
banyak Client. Setiap komputer client dapat mengontrol motor yang sama dan akan
mendapatkan data informasi monitoring putaran motor stepper yang sama pula.
CLIENT
Komputer client dapat berupa laptop atau desktop harus
tersambung ke jaringan LAN dan suatu program aplikasi client harus dipasang
pada komputer client untuk mengontrol dan atau memonitor putaran motor stepper
yang terpasang pada komputer server.

Gambar 3. Screen shoot program aplikasi client.
Tampak pada gambar di atas, yang harus diketahui adalah
alamat IP dan port dari komputer server tempat motor stepper dipasang. Karena
perangkat yang akan dikontrol dan dimonitoring dapat dipasang pada computer
atau laptop mana saja yang tersambung pada jaringan, maka alamat IP harus
disesuaikan dengan computer yang dipakai. Pada eksperimen ini alamat IP dari
komputer yang dipergunakan sebagai server adalah 192.168.50.100 dan alamat port
adalah 123. Untuk menyambung ke komputer
server dilakukan dengan meng-click tombol “Sambung”. Apabila program aplikasi
server tidak dijalankan atau “Start Listening” tidak dijalankan maka sambungan
tidak akan terjadi dan pada frame “Status” akanm muncul informasi
“Disconnect”. Tetapi apabila program
aplikasi server telah dijalankan maka pada frame “Status” akan muncul informasi
bahwa sudah tersambung ke alamat IP yang dimaksukkan. Begitu computer client
tersambung ke computer server, data monitoring putaran motor stepper yang
paling aktual kan dikirim dari komputer server ke komputer client. Data ini
kemudian ditampilkan pada frame “Monitoring” berupa teks yaitu “kanan”.
Visualisasi data monitoring dapat disesuaikan dan diganti dengan yang lain.
Visualisasi data monitoring yang tampil pada program aplikasi server berupa
lingkaran dengan jarum merah yang berputar sesuai dengan kondisi motor.
Pada bagian frame “Kontrol” tersedia tiga tombol dengan
fungsi yang berbeda. Tombol “Putar kiri” untuk memutar motor stepper kea rah
kiri atau berlawanan arah jarum jam. Tombo “Stop” untuk menghentikan putaran
dan tombol “Putar kanan” untuk memutar kea rah kanan atau searah jarum jam.
Apabila tombol tombol tersebut ditekan, suatu data request akan dikirim dari
komputer client ke komputer server. Selanjutnya data ini diterima oleh komputer
server dan dipergunakan untuk mengontrol putaran motor stepper yang tersambung
pada port serial USB.
Jumlah komputer client yang dapat tersambung pada server
tidak dibatasi, dan semua komputer client dengan program aplikasi yang sama
dapat mengontrol dan memonotor motor stepper yang sama. Seprti tampak pada gambar 2 di atas, pada
saat yang bersamaan terdapat tiga komputer yang mengontrol dan memonitor motor
stepper. Setelah tersambung, komputer dengan alamat IP 192.168.50.100 memutar
motor stepper kea rah kanan, kemudian komputer dengan IP192.168.50.112
menghentikan motor dam berikutnya komputer dengan IP 192.168.50.180 memutar
motor kearah kiri.
METODOLOGI
Penelitian ini dilakukan dengan metode eksperimen, yaitu
dengan membuat dua buah program aplikasi server dan client menggunakan
Integrated Development Enviroment (IDE) Visual Basic 6 yang kesuluruhan kode
programnnya disertakan pada bagian akhir artikel ini. Tujuan eksperimen ini
adalah untuk mendapatkan suatu model sistim control dan monitoring plant
melalui jaringan LAN. Plant yang dipergunakan pada eksperimen ini dipilih
sebuah motor stepper dengan pertimbangan keamanan. Motor stepper sangat aman
apabila diubah-ubah puatarannya oleh banyak client tanpa harus menunggu keadaan
berhenti. Dari hasil eksperimen ini diharapkan dapat dijadikan acuan dan dasar
untuk merancang sistim kontrol dan monitoring plant berupa mesin produksi yang
tersebar di suatu wilayah industri melalui jaringan LAN sehingga proses control
dan monitoring tersebut dapat dilakukan jarak jauh dengan memanfaatkan
fasilitas komputer dan jaringan yang sudah ada. Eksperimen ini dilakukan di
PPPPTK/VEDC dengan menggunkan jaringan LAN yang tersedia baik melalui sambungan
kabel maupun Wi-Fi
HASIL DAN PEMBAHASAN
Dari hasil eksperimen telah dibuat dua buah program aplikasi
untruk server dan client dengan screen shoot seprti tampak pada gambar 2 dan 3
di atas. Motor stepper dipasang pada komputer server melalui perangkat
antarmuka yang disambung ke port serial USB. Kecepatan motor stepper pada
eksperimen ini ditetapkan konstan. Putaran motor stepper dapat dikontrol oleh
komputer server maupun client dangan cara meng-click tombol pilihan: Putar
kiri, Stop dan Putar kanan. Kondisi aktual putaran motor stepper dikirim
sebagai data monitoring ke setiap client yang on-line saat itu dengan metode
switching dengan interval timer 0,001 detik.
KESIMPULAN
Sistim kontrol dan monitoring
putaran motor stepper melalui jaringan LAN memerlukan dua program aplikasi
masing masing untuk server dan client.
Motor stepper dipasang pada komputer
server dan dapat dikontrol dan di-monitoring putarannya oleh semua komputer
baik server maupun client yang tersambung pada jaringan LAN pada lokasi yang
berbeda baik menggunakan sambungan kabel maupun melalui Wi-Fi.
DAFTAR RUJUKAN
Mark
Gibbs, Durchblick im Netzwerk, IWT
Verlag, Bonn, 1995
Steve
Brown, “VISUAL BASIC 5 The 15 Essential Skills”, BPB Publications, New
Delhi., 1997
KODE PROGRAM SERVER
Dim lampu, lamp, c As Byte
Dim SocketCounter As Long
Dim i, j, k, t, tol As Integer
Dim dout, din As String
Dim dLED, sd, sr, A, B, R, dm, f As Double
Private Sub bntListen_Click()
On Error Resume Next
For n = 1 To SocketCounter
sock1(n).Close
Unload sock1(n)
Next
On Error GoTo t
sock1(0).Close
sock1(0).LocalPort = txtPort
sock1(0).Listen
List3.AddItem "Listening on Port " & txtPort
Exit Sub
t:
MsgBox "Error : " & Err.Description,
vbCritical
End Sub
Private Sub bntExit_Click()
End
End Sub
Private Sub Command1_Click()
MSComm1.CommPort = Combo1.Text
MSComm1.Settings = "19200,N,8,1"
On Error Resume Next
MSComm1.PortOpen = True
If Err Then
MsgBox "COM" + Str(MSComm1.CommPort) + "
tidak bisa dipakai, ganti COM yang lain"
Command1.Enabled = True
Command2.Enabled = False
Combo1.Enabled = True
Exit Sub
End If
Combo1.Enabled = False
Command1.Enabled = False
Command2.Enabled = True
Timer3.Enabled = True
End Sub
Private Sub Command2_Click()
On Error Resume Next
MSComm1.PortOpen = False
If Err Then
Command1.Enabled = False
Command2.Enabled = True
Combo1.Enabled = False
Exit Sub
End If
Combo1.Enabled = True
Command1.Enabled = True
Command2.Enabled = False
Timer3.Enabled = False
End Sub
Private Sub Command6_Click()
din = "kiri"
End Sub
Private Sub Command7_Click()
din = "stop"
End Sub
Private Sub Command8_Click()
din = "kanan"
End Sub
Private Sub Form_Load()
Label11.Caption = "Data arrival = "
Line1.X1 = 1400
Line1.Y1 = 400
Line1.X2 = 1400
Line1.Y2 = 1400
Timer2.Interval = 100
din = "stop"
dm = 1
Timer3.Interval = 50
Timer3.Enabled = False
c = 0
dLED = 0
t = 0
MSComm1.Settings = "19200,n,8,1"
Combo1.Clear
For i = 1 To 99
Combo1.AddItem Str(i)
Next i
Combo1.Text = Combo1.List(0)
Command2.Enabled = False
Label14.Caption = ""
List1.Clear
List2.Clear
Label3.Caption = "Jumlah client yang online :"
Timer1.Interval = 10
Timer4.Interval = 10
Timer4.Enabled = False
End Sub
Private Sub sock1_Close(Index As Integer)
sock1(Index).Close
Unload sock1(Index)
List1.List(Index - 1) = ""
List3.AddItem "Client" & Str(Index) &
" -> *** Disconnected"
End Sub
Private Sub sock1_ConnectionRequest(Index As Integer, ByVal
requestID As Long)
SocketCounter = SocketCounter + 1
Load sock1(SocketCounter)
sock1(SocketCounter).Accept requestID
List3.AddItem "Client Connected. IP : " &
sock1(SocketCounter).RemoteHostIP & " , Client Nick : Client"
& Str(SocketCounter)
sock1(SocketCounter).SendData "Your Nick is
""Client" & Str(SocketCounter)
List1.AddItem Str(SocketCounter)
End Sub
Private Sub sock1_DataArrival(Index As Integer, ByVal
bytesTotal As Long)
Dim dat As String
sock1(Index).GetData dat, vbString
din = dat
Label11.Caption = "Data arrival = " & dat
List3.AddItem "Client" & Str(Index) &
" : " & dat
End Sub
Private Sub sock1_Error(Index As Integer, ByVal Number As
Integer, Description As String, ByVal Scode As Long, ByVal Source As String,
ByVal HelpFile As String, ByVal HelpContext As Long, CancelDisplay As Boolean)
List3.AddItem "*** Error ( Client" & Index
& ") : " & Description
sock1_Close Index
End Sub
Private Sub Timer1_Timer()
dout = "~" & Format(dLED, "000")
List2.Clear
For i = 0 To List1.ListCount
If List1.List(i) <> "" Then
List2.AddItem List1.List(i)
End If
Next i
Label3.Caption = "Jumlah client yang online :"
& Str(List2.ListCount)
If List2.ListCount > 0 Then
Timer4.Enabled = True
Else:
Timer4.Enabled = False
End If
End Sub
Private Sub Timer2_Timer()
If din = "kanan" Then
sd = sd + 1.8
If (dm = 1) And (f = 0) Then
dm = 2
dLED = (dLED And &HF0) Or dm
f = 1
End If
If (dm = 2) And (f = 0) Then
dm = 4
dLED = (dLED And &HF0) Or dm
f = 1
End If
If (dm = 4) And (f = 0) Then
dm = 8
dLED = (dLED And &HF0) Or dm
f = 1
End If
If (dm = 8) And (f = 0) Then
dm = 1
dLED = (dLED And &HF0) Or dm
f = 1
End If
End If
If din = "kiri" Then
sd = sd - 1.8
If (dm = 1) And (f = 0) Then
dm = 8
dLED = (dLED And &HF0) Or dm
f = 1
End If
If (dm = 2) And (f = 0) Then
dm = 1
dLED = (dLED And &HF0) Or dm
f = 1
End If
If (dm = 4) And (f = 0) Then
dm = 2
dLED = (dLED And &HF0) Or dm
f = 1
End If
If (dm = 8) And (f = 0) Then
dm = 4
dLED = (dLED And &HF0) Or dm
f = 1
End If
End If
If sd > 360 Then sd = 0
If sd < 0 Then sd = 360
sr = Sin(sd * (3.14 / 180))
R = 1000
A = sr * R
B = Sqr((R * R) - (A * A))
If sd <= 90 Then
Line1.X1 = 1400 + A
Line1.Y1 = (1000 - B) + 400
End If
If ((sd > 90) And (sd <= 180)) Then
Line1.X1 = 1400 + A
Line1.Y1 = 1400 + B
End If
If ((sd > 180) And (sd <= 270)) Then
Line1.X1 = 1400 + A
Line1.Y1 = 1400 + B
End If
If ((sd > 270) And (sd <= 360)) Then
Line1.X1 = (1000 + A) + 400
Line1.Y1 = (1000 - B) + 400
End If
If MSComm1.PortOpen = True Then MSComm1.Output =
"c" + Format(dLED, "000") + vbCr
Line1.X2 = 1400
Line1.Y2 = 1400
f = 0
End Sub
Private Sub Timer3_Timer()
Label14.Caption = "c" + Format(dLED,
"000")
End Sub
Private Sub Timer4_Timer()
On Error Resume Next
sock1(Val(List2.List(k))).SendData din
Label15.Caption = Str(k)
k = k + 1
If k >= List2.ListCount Then k = 0
End Sub
KODE PROGRAM CLIENT
Dim lampu, lamp As Byte
Dim c, i, j As Integer
Private Sub bntConnect_Click()
On Error GoTo t
sock1.Close
sock1.RemoteHost = txtIP
sock1.RemotePort = txtPort
sock1.Connect
Exit Sub
t:
MsgBox "Error : " &
Err.Description, vbCritical
End Sub
Private Sub bntExit_Click()
End
End Sub
Private Sub Command1_Click()
sock1.SendData "kiri"
End Sub
Private Sub Command2_Click()
sock1.SendData "kanan"
End Sub
Private Sub Command3_Click()
sock1.SendData "stop"
End Sub
Private Sub Form_Load()
Label4.Caption = ""
End Sub
Private Sub sock1_Close()
sock1.Close
txtLog = txtLog & "***
Disconnected" & vbCrLf
End Sub
Private Sub sock1_Connect()
txtLog = "Connected to "
& sock1.RemoteHostIP & vbCrLf
End Sub
Private Sub sock1_DataArrival(ByVal
bytesTotal As Long)
Dim dat As String
sock1.GetData dat, vbString
Label4.Caption = dat
c = InStr(dat, "~")
If c <> 0 Then
End If
End Sub
Private Sub sock1_Error(ByVal Number
As Integer, Description As String, ByVal Scode As Long, ByVal Source As String,
ByVal HelpFile As String, ByVal HelpContext As Long, CancelDisplay As Boolean)
txtLog = txtLog & "***
Error : " & Description & vbCrLf
sock1_Close
End Sub
Sumber:
http://www.vedcmalang.com/pppptkboemlg/index.php/menuutama/listrik-electro/1259-kontrol-dan-monitoring-putaran-motor-stepper-melalui-jaringan-lan-menggunakan-visual-basic
Komentar
Posting Komentar