Hallo zusammen, ich bin neu im Forum und hätte direkt mal eine Frage..
Ich bekomme von einer SPS Daten per RS232-Schnittstelle gesendet, welche in einer Richtextbox dargestellt werden, als hexadezimal.
Die Daten werden so eingelesen: "A1-FF-0B-D3" (als Beispiel).
Ich hab es so eingestellt dass das "-" Zeichen eine neue Zeile auslöst, und nicht mit angezeigt wird.
Jetzt möchte ich den Wert der zweiten Zeile zurück an den Port schicken, aber nicht einzeln sondern innerhalb einer Zeichenfolge.
Ich hab also folgendes versucht: Den Wert aus Zeile 2 der RichTextBox in die Variable "eintest" schreiben, und diesen bei einem ButtonClick an den Port senden mit folgendem Code:
In Public Class Form1:
(as Byte und String ebenfalls probiert)
Im DataReceived des Com Ports:
Der Button:
So, nun endlich zum Problem: mit dem o.g. Code wird immer "00" gesendet, auch wenn Zeile 2 der TextBox z.B A1 ist.
Testweise habe ich den Wert der Variable in einen Label schreiben lassen: Es ist immer "0". Zudem frage ich mich, ob mit diesem Code z.B. ein "A1" der Textbox / in der Variable dann auch als hexadezimales Zeichen gesendet wird, bzw. wie ich dies bewirken kann ("&H" anhängen!?).
Kann jemand helfen?
PS: Ich mach das mit Framework 3.5 damit es bestenfalls auch unter Win XP funktioniert...
Danke schon mal
Ich bekomme von einer SPS Daten per RS232-Schnittstelle gesendet, welche in einer Richtextbox dargestellt werden, als hexadezimal.
Die Daten werden so eingelesen: "A1-FF-0B-D3" (als Beispiel).
Ich hab es so eingestellt dass das "-" Zeichen eine neue Zeile auslöst, und nicht mit angezeigt wird.
Jetzt möchte ich den Wert der zweiten Zeile zurück an den Port schicken, aber nicht einzeln sondern innerhalb einer Zeichenfolge.
Ich hab also folgendes versucht: Den Wert aus Zeile 2 der RichTextBox in die Variable "eintest" schreiben, und diesen bei einem ButtonClick an den Port senden mit folgendem Code:
In Public Class Form1:
(as Byte und String ebenfalls probiert)
Im DataReceived des Com Ports:
Der Button:
VB.NET-Quellcode
- Dim antwort() As Byte = {&H04, &HDF, eintest, &HFF}
- If antwort.TextLength > 0 Then SerialPort1.Write(antwort, 0, 4) 'Die Variable, die den Wert aus Textbox Zeile 2 haben soll, innerhalb der Zeichenfolge die gesendet werden soll und wird nur gesendet wenn die antwort-TextBox > 0 ist, damit ich weiß dass die Variable nicht leer ist
So, nun endlich zum Problem: mit dem o.g. Code wird immer "00" gesendet, auch wenn Zeile 2 der TextBox z.B A1 ist.
Testweise habe ich den Wert der Variable in einen Label schreiben lassen: Es ist immer "0". Zudem frage ich mich, ob mit diesem Code z.B. ein "A1" der Textbox / in der Variable dann auch als hexadezimales Zeichen gesendet wird, bzw. wie ich dies bewirken kann ("&H" anhängen!?).
Kann jemand helfen?
PS: Ich mach das mit Framework 3.5 damit es bestenfalls auch unter Win XP funktioniert...
Danke schon mal