Datenübertragung über serielle Schnittstelle

OP #7756904
Lesenswert?
• ▲
▼

Hallo,

ich hoffe, daß man mir bei folgendem Problem auf die Sprünge helfen kann.

Ich habe eine Waage mit einer seriellen Schnittstelle. Mit hilfe eines Schalters an der Waage kann man das aktuelle Gewicht auf einen PC übertragen lassen. Dazu habe ich in Visual Basic mit dem Visual Studio ein kleines Programm erstellt, bei dem man sich das übertragene Gewicht in einem Textfeld anzeigen lassen kann. Diese Übertragung von der Waage zum PC funktioniert und es werden die korrekten Werte im Textfeld angezeigt.

Nunmehr kann man auch an der Waage zum Beispiel die Wiegeeinheit ändern (kg/g/oz usw.) und zwar in der Art, dass man an die Waage bestimmte Befehle über die serielle Schnittstelle sendet (Befehl als ASCII-Zeichen mit (ESC s) oder als HEX-Code (1B 73))

Im Programm habe ich definiert, dass beim betätigen des Button 2 die Daten übertragen werden sollen und damit der Wiegeeinheitenwechsel durchgeführt wird.

1
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
2

3
    Dim Sende1 As String = "1B73"
4

5
    SerialPort1.Write(Sende1 & vbCrLf)
6

7
End Sub

Leider wird der Einheitenwechsel nicht durchgeführt. Eine Datenübertragung über die Schnittstelle findet jedoch statt, da dies mittels LED am Schnittstellenstecker angezeigt wird. Offensichtlich wird der Befehl nicht korrekt übertragen.

Im Visual Studio gibt es den "Seriellen Monitor". Wenn ich über diesen Monitor den Befehl 1B73 senden, wird der Einheitenwechsel an der Waage vollzogen.

#7756919
Lesenswert?
• ▲
▼

Moin,

ich bin in VBA nicht bewandert, aber was hier vermutlich passiert ist, dass dein String "1B73" als Hex 0x31 0x42 0x37 0x33 + Nullterminator für den String übertragen wird.

Vermutlich wirst du deine 0x1B 0x73 einzeln als Bytes übertragen müssen. Aber hier gibts mit Sicherheit den ein oder anderen Spezi, der sich da besser auskennt. Vielleicht hilft es ja trotzdem.

Grüße

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 2 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.