Pada kali ini saya akan menerangkan bagaimana cara mengakses library intrument lab dari mitov pada visual studio 2013. Namun sebelum mulai ke program, instrument lab yaitu sebuah framework/library yang berbasis net framework dan digunakan untuk simulasi berbasis peralatan laboratorium, dan lain sebagainya. Pada pemrograman kali ini saya menggunakan bahasa basic jadi jika anda ingin merubahnya ke bahasa lain sangat mudah sekali. Namun kalian harus terlebih dahulu mendownload library instrument lab pada website nya sendiri disini atau menggunakan file yang saya gunakan yaitu versi Instrument lab 6.0 disana. Setelah itu buah project baru pada Visual Basic 2013 dan jangan lupa setting net framework versi 4.5 agar library mitov dapat muncul.
pertama kalian choose item pada kotak toolbox dan pilih mitov
kemudian kalian pilih ok
setelah itu kalian mulai buat komponen pada gui seperti gambar dibawah ini :
Berikut listing program VB :
Imports System
Imports System.ComponentModel
Imports System.Threading
Imports System.IO.Ports
Public Class Form1
'Variabel Untuk Data Serial
Private readBuffer As String = String.Empty
Private Bytenumber As Integer
Private ByteToRead As Integer
Private byteEnd(2) As Char
Dim strinput As String
Dim prosesoff As Boolean = False
Dim disconnect As Boolean = False
Dim nilai As Integer
'Variabel Penampung Port
Dim myPort As Array 'COM Ports detected on the system will be stored here
Delegate Sub SetTextCallback(ByVal [text] As String) 'Added to prevent threading errors during receiveing of data
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
'When our form loads, auto detect all serial ports in the system and populate the cmbPort Combo box.
myPort = IO.Ports.SerialPort.GetPortNames() 'Get all com ports available
cmbBaud.Items.Add(9600) 'Populate the cmbBaud Combo box to common baud rates used
cmbBaud.Items.Add(19200)
cmbBaud.Items.Add(38400)
cmbBaud.Items.Add(57600)
cmbBaud.Items.Add(115200)
For i = 0 To UBound(myPort)
cmbPort.Items.Add(myPort(i))
Next
cmbPort.Text = cmbPort.Items.Item(0) 'Set cmbPort text to the first COM port detected
cmbBaud.Text = cmbBaud.Items.Item(0) 'Set cmbBaud text to the first Baud rate on the list
btnDisconnect.Enabled = False 'Initially Disconnect Button is Disabled
Led1.Color = Color.Red
End Sub
Private Sub btnConnect_Click(sender As Object, e As EventArgs) Handles btnConnect.Click
SerialPort1.PortName = cmbPort.Text 'Set SerialPort1 to the selected COM port at startup
SerialPort1.BaudRate = cmbBaud.Text 'Set Baud rate to the selected value on
'Other Serial Port Property
SerialPort1.Parity = IO.Ports.Parity.None
SerialPort1.StopBits = IO.Ports.StopBits.One
SerialPort1.DataBits = 8 'Open our serial port
SerialPort1.Open()
btnConnect.Enabled = False 'Disable Connect button
btnDisconnect.Enabled = True 'and Enable Disconnect button
System.Threading.Thread.Sleep(10)
Timer1.Enabled = True
Led1.Color = Color.Green
End Sub
Private Sub btnDisconnect_Click(sender As Object, e As EventArgs) Handles btnDisconnect.Click
'SerialPort1.Close() 'Close our Serial Port
Timer1.Enabled = False
btnConnect.Enabled = True
btnDisconnect.Enabled = False
System.Threading.Thread.Sleep(10)
disconnect = True
Timer2.Enabled = True
rtbReceived.Text = " "
Led1.Color = Color.Red
End Sub
Private Sub SerialPort1_DataReceived(sender As Object, e As SerialDataReceivedEventArgs) Handles SerialPort1.DataReceived
If SerialPort1.IsOpen Then
Try
'================Default Coding Data Serial===========================
byteEnd = SerialPort1.NewLine.ToCharArray
Bytenumber = SerialPort1.BytesToRead
readBuffer = SerialPort1.ReadLine()
Me.Invoke(New EventHandler(AddressOf DoUpdate))
Catch ex As Exception
'MsgBox("read " & ex.Message)
End Try
End If
End Sub
Public Sub DoUpdate(ByVal sender As Object, ByVal e As System.EventArgs)
'Pada TextBox1.Text sudah dapat menampilkan data dari SerialPort1
Timer1.Enabled = True
'Jika membaca boolean disconnect maka mengirim perintah true ke prosesoff
If disconnect Then
prosesoff = True
End If
End Sub
Private Sub cmbPort_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cmbPort.SelectedIndexChanged
If SerialPort1.IsOpen = False Then
SerialPort1.PortName = cmbPort.Text 'pop a message box to user if he is changing ports
Else 'without disconnecting first.
MsgBox("Valid only if port is Closed", vbCritical)
End If
End Sub
Private Sub cmbBaud_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cmbBaud.SelectedIndexChanged
If SerialPort1.IsOpen = False Then
SerialPort1.BaudRate = cmbBaud.Text 'pop a message box to user if he is changing baud rate
Else 'without disconnecting first.
MsgBox("Valid only if port is Closed", vbCritical)
End If
End Sub
Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
If SerialPort1.IsOpen Then
rtbReceived.Text = readBuffer
LinearGauge1.Value = Val(rtbReceived.Text)
AngularGauge1.Value = Val(rtbReceived.Text)
SegmentGauge1.Value = Val(rtbReceived.Text)
Thermometer1.Value = Val(rtbReceived.Text)
nilai = Val(rtbReceived.Text)
End If
End Sub
Private Sub Timer2_Tick(sender As Object, e As EventArgs) Handles Timer2.Tick
If prosesoff Then
SerialPort1.Close()
Timer2.Enabled = False
rtbReceived.Text = " "
End If
End Sub
End Class
Ini hasil dari running aplikasinya :
Terima kasih dan semoga bermanfaat :)
Tags:
Tutorial