Forum: PC-Programmierung VBNET Serial Port Zeitstempel


von discounter (Gast)


Lesenswert?

Abend,

folgendes: Ich muss einen String in HEX an einen COM Port (RS232) 
senden. Dieser String muss im Hintergrund alle x Sekunden gesendet 
werden, das habe ich ganz einfach per Timer realisiert.
Ein Zeichen in diesem vorgegebenen String muss eine Art Zähler / 
Zeitstempel sein. Es ist immer beim neu-verbinden 01, dann beim nächsten 
senden (macht der Timer ja alle paar Sekunden) 02,03 etc.. ich denke das 
ist logisch.

Nun frage ich mich, wie ich das am einfachsten umsetzen könnte.

Ich arbeite mit
1
Comport.Write (str, ReadToEnd)
, während der String vorher mit
1
Dim str As Byte = {&H01, &Hff, &H05, &x, &H9f}
 eingebunden ist. "&x" beim Beispiel soll der Zähler sein... mein "&x" 
wird aber nicht akzeptiert. Ich habe es mit While Loop versucht. Also x 
= bla bla.

Das Hauptproblem liegt aber darin dass ich in meinen String zwischen die 
feste Werte (01 ff 05 [Zähler] 09) eben diesen Zähler nicht einfach bei 
Comport.write einfügen kann.

Hat da jemand eine Idee?
Danke!!

von c-hater (Gast)


Lesenswert?

discounter schrieb:

> Hat da jemand eine Idee?

Lerne Programmieren!

von Oliver S. (oliverso)


Lesenswert?

discounter schrieb:
> Hat da jemand eine Idee?

Auch in einem ungenannten Basic-Dialekt auf einer ungenannten Hardware 
dürfte es erlaubt und möglich sein, mehr als einen „String“ 
hintereinander zu senden. Vielleicht kommst du mir diesem Ansatz ans 
Ziel.

Oliver

von Ingo S. (schicki)


Lesenswert?

schick mir mal eine persönliche Nachricht mit Deiner Mail. In meiner DLL 
könnte das drin sein.

Ingo

von Schlaumaier (Gast)


Lesenswert?

c-hater schrieb:
> Lerne Programmieren!

Sehr gute Idee.

Ich würde es SO lösen.

die variable

public my_count as Integer

bei Start deklarieren

Beim Aufruf der Sende_sub macht man folgendes

my_count = my_count + 1

Dann my_count umwandeln und an den Sende-String vorne dranhängen.

Fertig.

Hinweis:

str ist als variblen_name MIST. Es ist ein erlaubter Fehler in VB das 
man Befehle via DIM Befehl zu Variablen machen kann. Also machst du erst 
mal aus str die Varible Sende_str.

str = ist ein Befehlsfunktion .  Die wandelt Zahlen in Text um.

Beispiel.

text = Str(10)
Text = "10"

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.