Hallo
Ich habe in Visual Studio ein Programm erstellt mit dem ich über die Serielle Schnittstelle mit einem anderen Gerät, per Texteingabe, kommunizieren kann. Ähnlich wie das Hyper Terminal von Windows.
Jetzt wollte ich das ganz automatisieren. Ich hab es schon geschafft, dass eine Befehlsfolge ausgeführt wird wenn ich einen Button betätige. Aber kann ich das machen das erst nach dem letzten Befehl (in meinem Fall „xb“) die Zeile die mir zurück gemeldet wird verglichen wird?
Ich hab zwar schon was geschrieben, aber es funktioniert nicht:
VB.net Code
Private Sub butTest\_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles butTest.Click
Try
serialPort.Write("zz" & vbCr)
serialPort.Write("gp61" & vbCr)
serialPort.Write("y=4000" & vbCr)
serialPort.Write("xb" & vbCr)
Now.AddSeconds(1000)
Dim Checksum\_61\_4000 As String = serialPort.ReadExisting
If Checksum\_61\_4000 = "H=0058 3497 L=005B 7621 S=00B3 AAB8" Then
MessageBox.Show("Die Checksum ist korrekt", "Auswertung", MessageBoxButtons.OK)
Else
MessageBox.Show("Die Checksum ist fehlerhaft", "Auswertung", MessageBoxButtons.OK)
End If
Catch ex As Exception
MsgBox(ex.ToString)
End Try
End Sub
Als Info noch, das Gerät antwortet auf die Befehle wie folgt:
\*gp61
gp61
Zentraler Zugang
\*061\*y=4000
y=4000
\*061\*xb
xb
**H=0058 3497 L=005B 7621 S=00B3 AAB8**
\*061\*
Das Fett geschriebene möchte ich auswerten.
Danke schon mal fürs lesen.