Hallo liebe VB-Gemeinde,
Ich bin ein wenig "grün" mit dem Thema VB Programmierung und komm leider nicht auf die richtige Befehlskette für mein Vorhaben.
Mein Ziel ist es Messdaten mittels Comm Port auszulesen per Ereignis (Tastatur oder Button Klick)
Ich erhalte zwar schon Messdaten wenn ich selber auf die Messuhren klicke aber ich möchte das über die Software machen.
Ich denke ich muss sowas wie ein "gib mir die aktuellen Messdaten" an die Messuhren senden allerdings komm ich genau da nicht weiter...
Ich hoffe ihr habt vielleicht eine Idee wie ich das ansteuern kann.
Hier mein bisheriger Code:
Ich bin ein wenig "grün" mit dem Thema VB Programmierung und komm leider nicht auf die richtige Befehlskette für mein Vorhaben.
Mein Ziel ist es Messdaten mittels Comm Port auszulesen per Ereignis (Tastatur oder Button Klick)
Ich erhalte zwar schon Messdaten wenn ich selber auf die Messuhren klicke aber ich möchte das über die Software machen.
Ich denke ich muss sowas wie ein "gib mir die aktuellen Messdaten" an die Messuhren senden allerdings komm ich genau da nicht weiter...
Ich hoffe ihr habt vielleicht eine Idee wie ich das ansteuern kann.
Hier mein bisheriger Code:
VB.NET-Quellcode
-
- Imports System
- Imports System.Threading
- Imports System.IO.Ports
- Imports System.ComponentModel
- Public Class Form1
- Dim myPort1 As Array
- Dim myPort2 As Array
- Delegate Sub SetTextCallback(ByVal [text] As String)
- 'definieren der Ports per DropDown
- Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
- myPort1 = IO.Ports.SerialPort.GetPortNames()
- ComboBox1.Items.AddRange(myPort1)
- myPort2 = IO.Ports.SerialPort.GetPortNames()
- ComboBox2.Items.AddRange(myPort2)
- Button1.Enabled = True
- Button2.Enabled = False
- Button3.Enabled = True
- End Sub
- 'definieren und öffnen der Ports
- Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
- SerialPort1.PortName = ComboBox1.Text
- SerialPort1.BaudRate = 4800
- SerialPort1.DataBits = 7
- SerialPort1.StopBits = IO.Ports.StopBits.Two
- SerialPort1.Parity = IO.Ports.Parity.Even
- SerialPort1.ReceivedBytesThreshold = 1
- 'SerialPort1.DtrEnable = False
- SerialPort1.DtrEnable = True
- 'SerialPort1.RtsEnable = False
- SerialPort1.RtsEnable = True
- SerialPort1.ReadTimeout = 999
- SerialPort1.WriteTimeout = 999
- SerialPort2.PortName = ComboBox2.Text
- SerialPort2.BaudRate = 4800
- SerialPort2.DataBits = 7
- SerialPort2.StopBits = IO.Ports.StopBits.Two
- SerialPort2.Parity = IO.Ports.Parity.Even
- SerialPort2.ReceivedBytesThreshold = 1
- 'SerialPort2.DtrEnable = False
- SerialPort2.DtrEnable = True
- 'SerialPort2.RtsEnable = False
- SerialPort2.RtsEnable = True
- SerialPort2.ReadTimeout = 999
- SerialPort2.WriteTimeout = 999
- SerialPort1.Open()
- SerialPort2.Open()
- Button1.Enabled = False
- Button2.Enabled = True
- Button3.Enabled = True
- End Sub
- 'messung per knopfdruck starten
- Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
- 'SerialPort1.ReadExisting("FTDIBUS\VID_0403+PID_6001+MAO74PVOA\0000" & vbCrLf) -> hier sollte irgendwie ein Messe jetzt Signal hinein
- 'SerialPort2.ReadExisting("FTDIBUS\VID_0403+PID_6001+MAOHWY2WA\0000" & vbCrLf) -> hier sollte irgendwie ein Messe jetzt Signal hinein
- Button1.Enabled = False
- Button2.Enabled = True
- Button3.Enabled = True
- End Sub
- 'wenn beim port was reinkommt wird prozedur gestartet
- Private Sub SerialPort1_DataReceived(sender As System.Object, e As System.IO.Ports.SerialDataReceivedEventArgs) Handles SerialPort1.DataReceived
- Me.Invoke(Sub() ReceivedText1(SerialPort1.ReadExisting()))
- End Sub
- Private Sub ReceivedText1(ByVal [text] As String)
- RichTextBox1.Text &= [text]
- End Sub
- Private Sub SerialPort2_DataReceived(sender As System.Object, e As System.IO.Ports.SerialDataReceivedEventArgs) Handles SerialPort2.DataReceived
- Me.Invoke(Sub() ReceivedText2(SerialPort2.ReadExisting()))
- End Sub
- Private Sub ReceivedText2(ByVal [text] As String)
- RichTextBox2.Text &= [text]
- End Sub
- 'schließen der Ports
- Private Sub Button3_Click(sender As System.Object, e As System.EventArgs) Handles Button3.Click
- SerialPort1.Close()
- SerialPort2.Close()
- Button1.Enabled = True
- Button2.Enabled = False
- Button3.Enabled = False
- End Sub
- End Class