LabVIEWForum.de - Probleme mit hex an Serielle Schnittstelle...

LabVIEWForum.de

Normale Version: Probleme mit hex an Serielle Schnittstelle...
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
hallo,

bin hier am verzweifeln...

ich muss für eine grossbildanzeige einen string über rs232 senden...

soweit ja kein problem...


jetzt muss nur noch a) anzahl der bytes ermittel werden und eine prüfsumme generiert werden...

hört sich ja nicht so kompliziert an :?

ABER ! ! !

LV scheint mit der hex convertierung probleme zu haben...


d.h. ich müchte einen hexstring senden

Code:
16 17 00 01 27 E0 50 52 55 45 42 41 20 44 45 20 54 45 58 54 4F 51 05

16 startzeichen
1700 anzahl bytes (invertiert)
01 Display
27E0 steuerzeichen
50 52 55 45 42 41 20 44 45 20 54 45 58 54 4F Text
51 05 Prüfsumme (invertiert) summe der bytes OHNE bytes der Prüfsumme

Anzahl bytes kann ich ermitteln über string lenght funktioniert.
wenn ich jetzt "to hex" convertiere, wird im indicator der hexwert angezeigt (zb. für anzahlbytes= 23bytes hex0017)

jedoch ist dies wieder nur eine dezimalzahl für LV die dann in hex 3030 3137 lautet.

jetzt meine frage wie kann ich LV beibringen das es nur mit den hexwerten arbeitet ?!


ich steh hier völlig auf dem schlauch...



Cry
Hallo Dennis

so recht versteh ich dein Problem nicht
Kannst du dein Vi hochladen ?
Arbeitest du mit der format into String funktion um die Zahl nach hex zu wandeln

Gruß

Jürgen
hi,

also bin jetzt zwar schon ein stück weiter, jedoch spuckt mir die prüfsumme noch in die suppeSad

also ich habe hier einen string (hex) und ich möchte ihn mit einem string auch (hex) über concentenated string verbinden.

jetzt spuckt lv mir aber immer die hexwerte des hexwertes aus ?!

jemand idee ?

anbei ein kleines beispiel...
Hallo Dennis,

leider habe ich nur LV7.0 und kann Dein VI daher nicht öffnen, vielleicht kannst Du es nochmal in LV7.0 abspeichern?

Aus dem Screenshot alleine werde ich nicht soooo sehr schlau, allerdings ist mir aufgefallen, das Du zwar das "Codewort" (stringhex1) scheinbar hexadezimal formatiert hast, jedoch nicht die String-Prüfsumme .. ist das so richtig?
Ich schalte da immer gerne mal den "Radix" ein (Visible Items->Radix).
Sind alle Felder gleich formatiert? Unsigned Long/Word/Byte?

Würde mich freuen von Dir zu hören.
Hi Dennis,

sorry, da fällt mir nur der Vergleich mit den Äpfeln und den Birnen ein.

Auf der Einen Seite betrachtest du den String in der Hex-Ansicht, auf der Anderen die Prüfsumme als normale Ansicht.
Dann möchtest du aber, das LV die Strings aus zwei verschiedenen Ansichten so zusammenfügt, das du eine versteckte Konvertierung hast.
Das geht aber nicht, und wird auch nicht unter Merkel gehen Lol
Du hättest entweder deine berechnete Prüfsumme anders in einen String konvertieren müssen, oder wandelst sie dir noch mal in ein Bytearray um, wobei immer zwei Zeichen eine Zahl ergeben (siehe mein Beispiel...)

So nun kannst du hoffentlich wieder beruhigt schlafen - LV macht das schon richtig - denk noch mal drüber nach und frage sonst..

Gruß
Oliver
Hi Olli, Hi Dennis,

ich habe nochmal kurz eine kleine Korrektur vorgenommen, da doch die Prüfsumme auch in Hex sein muß .. sie zu berechnen und als "Normal" und nicht als Hex mit zu übertragen wäre doch falsch *grübel*.

Anbei also meine kleine Version .. by the way: irgendwie gefällt mir das Prinzip noch nicht, da mit der Thematik gekippte Bits doch nicht richtig erkannt werden können und die Prüfsumme nicht berechnet wird.
wäre doch mal was, dies noch zu tun, oder?
Hi Franz,

genau das war ja gerade Dennis Problem, wesshalb ich auf die Äpfel und Birne anspielte...
(es ist seine Oberfläche - ich habe nur den nachher Indicator mitsamt seines vorlaufes hinzuprogrammiert. Aber die Controls und den farbigen Text mit den Werten und den verschiedenen Ansichten hat Dennis vorgegeben.)

Deshalb hatte ich Dennis ja auch geraten den Fehler bei der Prüfsummenberechnung zu korregieren. Ich nehme an, er hat das numerisch Ergebnis dort in einen HexString umgewandelt, weil er sich dachte "ich will ja in Hex übertragen...".

Wenn Dennis also jetzt ebenso noch mal grübelt, wie du, dann weiß er wo sein Denkfehler war.

Gruß
Oliver
Hi,

hoffentlich könnt ihr mir auch helfen ....

... ich steh jetzt auch auf den Schlauch und habe so in etwa die gleiche Schwierigkeit ... Nur wie erklär ichs am besten *g*

Was ich möchte:
-------------------
Ich möchte einer Steuereinheit HEX-Befehle zuschicken.

Was funktioniert:
--------------------
Erstelle ich Befehlssatz (String) als HEX-definiert (+entsprechende HEX-Eingaben im String) und schicke diesen über die Schnittstelle an die Steuereinheit, wird der Befehl angenommen und verarbeitet.
--> Ansicht des Strings ist beim Eingabetext auf HEX gestellt und die Ausgabe erfolgt "normal" und wird dementsprechend dargestellt.

Was nicht funktioniert:
--------------------------
Ich möchte eine Datei laden, welche verschiedene nummerische Werte gespeichert hat.
Diese Werte wandle ich anschließend in HEX um und möchte sie an die Steuereinheit verschicken.
Nur ist diesmal der HEX-Code in der "normalen" Anzeige und wir folglich von der Steuereinheit nicht verstanden.

Ich hoffe, ich habe mich verständlich ausgedrückt.

lg,
rolf
HI rolfi,

wandel die zeichen doch mal in normale Strings um und nicht in Hex.
Und schicke sie dann...
Ansonsten gib beispiele, wie stehts in der Datei und wie sollen die ASCII Zeichen aussehen die das Gerät versteht (Wie Dennis es gemacht hat).

Gruß
Oliver
Hi,

anbei ein Beispiel.

Danke für die Hilfe Wink
Seiten: 1 2
Referenz-URLs