Serielle Schnittstelle für Messgeräte mit Visual Basic
programmieren
Author D. Selzer-McKenzie
Youtube-Video: https://youtu.be/yn8osin2PoQ
Heute zeige ich Ihnen, wie Sie ein Serielle Schnittstelle
für
Externe Messgerät mit Visual Basic programmieren, um z.B.
technische Messungen usw. vorzunehmen.
Der SourceCode ist hier im Video vergrössert abgefilmt und
Sie
Müssten ggf. das Video anhalten, um den Text abschreiben zu
können.
Aber der SourceCode ist auch im Forum
zu finden.
Der SourceCode:
Imports System.IO.Ports
Public Class FormSerielleSchnittstellen
Private Sub
FormSerielleSchnittstellen_Load(sender As Object, e As EventArgs) Handles
MyBase.Load
SerialPort1.Open()
End Sub
Private Sub
SerialPort1_DataReceived(sender As Object, e As
System.IO.Ports.SerialDataReceivedEventArgs) Handles SerialPort1.DataReceived
Try
Dim count
As Integer = SerialPort1.BytesToRead '
Anzahl Bytes im Empfangspuffer des Ports
'
bestimmte Anzahl von Bytes aus dem Empfangspuffer in ein Byte-Array einlesen:
Dim ba()
As Byte
ReDim
ba(count - 1)
SerialPort1.Read(ba, 0, count)
'
Aufsplitten des Byte-Arrays in zwei Strings (Messwert und Messbereich):
Dim data1
As String = System.Text.Encoding.Default.GetString(ba, 0, 5) ' Messwert
Dim data2
As String = System.Text.Encoding.Default.GetString(ba, 6, 2) ' Messbereich
LabelAusgabeFenster.Invoke(displayDataPtr, data1, data2) ' Umschaltung auf UI-Thread
Catch
End Try
End Sub
Private Delegate
Sub displayDataDlg(dat1 As String, dat2 As String)
Private
displayDataPtr As displayDataDlg = AddressOf displayData
'
Messbereichsabhängige Umrechnung und Anzeige:
Private Sub
displayData(d1 As String, d2 As String)
' Messwert in
Gleitkommazahl parsen:
Dim f As
Single = Single.Parse(d1)
Select Case d2
Case
"11" : LabelAusgabeFenster.Text = f / 1000 & " V"
Case
"21" : LabelAusgabeFenster.Text = f / 100 & " V"
Case
"41" : LabelAusgabeFenster.Text = f / 10 & " mV"
Case Else
: LabelAusgabeFenster.Text = String.Empty
End Select
End Sub
Private Sub
ButtonMessungenBeenden_Click(sender As Object, e As EventArgs) Handles
ButtonMessungenBeenden.Click
SerialPort1.Close()
Me.Close()
End Sub
End Class
Keine Kommentare:
Kommentar veröffentlichen
Hinweis: Nur ein Mitglied dieses Blogs kann Kommentare posten.