INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

ASCII über HEX in Dezimal umrechnen



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

28.07.2006, 19:57
Beitrag #1

Lektor Offline
LVF-Grünschnabel
*


Beiträge: 12
Registriert seit: Jul 2006

8.0 Trial
2005
kA


Deutschland
ASCII über HEX in Dezimal umrechnen
Hallo,
ich habe ein Problem an dem ich mir langsam die Zähne ausbeisse. Es müßte eigentlich eine Kleinigkeit sein, aber ich bekomme es einfach nicht hin.

Über die Com1 bekomme ich einen String von 58 Bytes und davon benötige ich nur einige. Zwei zusammenhängende Bytes stehen für einen Temperaturwert und den möchte ich mir in LV anzeigen lassen.

Ich bekomme mit String Subset also die beiden Bytes, welche für eine Temperatur stehen in der Form 0B01. 0B ist das Lowbyte, 01 das Highbyte. Durch weitere Funktionen habe ich diese Bytes gedreht und habe nun 010B da stehen welches von HEX in DEZ umgewandelt 267 ergibt, was für 26,7°C steht.
Ich habe also nun die 010B da stehen und ich weiss nicht wie ich mit LV auf die 267 kommen soll.
Habe die Funktion Hexadecimal String to Number ausprobiert und noch paar andere, aber nichts hat so wirklich funktioniert. Bei den String Indicatoren kann man schön über die rechte Maustaste angeben Hex Display und er zeigt es wunderbar an, nur wie kann ich ihm sagen, dass er ständig mit den Hexwerten umgehen soll.
Ich vermute, dass er ständig mit ASCII arbeitet und deswegen auch die Funktion Hexadecimal String to Number nicht funktioniert.

Ich denke ich bin dicht dran, aber ich finde einfach die richtige Funktion nicht.

Ich lade mal mein Projekt hoch. Der entscheidende Teil ist auf der zweiten Seite von der Stacked Sequence.


Sonstige .vi  Solaranlage.vi (Größe: 22,94 KB / Downloads: 353)


Wie gesagt, es muß eine Kleinigkeit sein.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
28.07.2006, 22:49 (Dieser Beitrag wurde zuletzt bearbeitet: 28.07.2006 23:00 von Lucki.)
Beitrag #2

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
ASCII über HEX in Dezimal umrechnen
' schrieb:Wie gesagt, es muß eine Kleinigkeit sein.
Ja, es ist eine Kleinigkeit, aber sie hat es in sich. Nebenbei ausgezeichneter Intelligenztest, hat Spaß gemacht das herauszufinden.
Also: In der als Beipiel mitgelieferten Stringkonstanten hast Du im Kontextmenü das Häkchen "Hexadezimalanzeige" gesetzt. Damit gaukelst Du Dir ein ASCII-Format vor, welches dieser String in Wirklichkeit gar nicht hat. Wenn er ASCII-Format hätte, würde es bereits in der normalem Anzeige wie ein ASCII-Format aussehen, das ist aber nicht der Fall. In Deinem Fall besteht der String überhaupt nicht aus Buchstaben und Ziffern (wenn, dann ist das Zufall und nicht so gemeint), sondern die Bytes im String sind direkt die zu übertragenen Zahlen-Bytes selbst.
Was ist zu tun: a) String in Byte-Array umwandeln b) die Elemente 10 und 11 herauspicken c) die beiden Bytes zu 16 Bit Zahl verbinden d) durch 10 dividieren und Temperatur anzeigen
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
29.07.2006, 09:48
Beitrag #3

Lektor Offline
LVF-Grünschnabel
*


Beiträge: 12
Registriert seit: Jul 2006

8.0 Trial
2005
kA


Deutschland
ASCII über HEX in Dezimal umrechnen
' schrieb:Damit gaukelst Du Dir ein ASCII-Format vor, welches dieser String in Wirklichkeit gar nicht hat. Wenn er ASCII-Format hätte, würde es bereits in der normalem Anzeige wie ein ASCII-Format aussehen, das ist aber nicht der Fall. In Deinem Fall besteht der String überhaupt nicht aus Buchstaben und Ziffern, sondern die Bytes im String sind direkt die zu übertragenen Zahlen-Bytes selbst.

die Elemente 10 und 11 herauspicken
Danke für die Hilfe. Es sieht doch erfolgbringend aus. Bin seit einer Stunde am suchen, wo ich diese "die Elemente 10 und 11 herauspicken" Funktion finde. Kenne den Namen dieser Funktion nicht und unter Array und den anderen Rubriken finde ich sie auch nicht. Ein Suche in der Hilfe war auch erfolglos.

Und wie bekomme ich dieses orange DBL Zeichen hin? Wenn ich Numeric Indicator auswähle und Representation ändere, dann sieht es zwar auch orange aus, aber dennoch anders.

Ich bin davon ausgegangen, dass über COM1 die Daten binär übertragen werden und durch Programme in jedes Format umgewandelt werden können ( ASCII, HEX, DEC).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
29.07.2006, 10:12
Beitrag #4

ahlers01 Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 143
Registriert seit: Feb 2005

7.1-2011
1993
DE_EN

38116
Deutschland
ASCII über HEX in Dezimal umrechnen
Versuch's mal so:
   


-Franz
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
29.07.2006, 10:30 (Dieser Beitrag wurde zuletzt bearbeitet: 29.07.2006 10:31 von Teutates.)
Beitrag #5

Teutates Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 73
Registriert seit: Nov 2004

7.1 Developer Suite inkl. Vision
2004
kA


Deutschland
ASCII über HEX in Dezimal umrechnen
Hier ich schick Dir mal was, das von Franz ist natürlich eleganter aber im Grunde wirst da auch bestimmt nicht so einfach zurecht kommen mit TypecastWink

Aber im Grunde bastel ruhig mal ein wenig rum so lernt mans am Besten.


MfG

T.


Angehängte Datei(en)
Sonstige .vi  Solarhilfmir.vi (Größe: 16,23 KB / Downloads: 333)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
29.07.2006, 11:56
Beitrag #6

Lektor Offline
LVF-Grünschnabel
*


Beiträge: 12
Registriert seit: Jul 2006

8.0 Trial
2005
kA


Deutschland
ASCII über HEX in Dezimal umrechnen
Danke für die Antworten. Teutates ist ziemlich identisch mit dem von Lucki und sieht auch ziemlich kompakt aus. Da ich aber nicht wußte, dass diese Funktion Index Array heisst, habe ich sie selbst nicht über die Suche gefunden. Den Rest eigentlich schon.
Habe es erstmal nach dem Beispiel von ahlers01 aufgebaut, da es gleich funktioniert hat.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
29.07.2006, 12:12
Beitrag #7

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
ASCII über HEX in Dezimal umrechnen
Ja, unter LV 8 hat sich einiges geändert, da beginnt man wieder neu mit suchen
Zitat:Bin seit einer Stunde am suchen, wo ich diese "die Elemente 10 und 11 herauspicken" Funktion finde
Das ist einfach "Array indizieren". Seit einiger Zeit (Aber ich glaube schon seit LV7 und nicht erst seit LV8) kann man diese Funktion mit der linken Maustaste nach unten verlängern und dadurch mehr als nur ein Element "herauspicken". Hat bei mir auch lange gedauert, bis ich diese neue Möglichkeit mitbekommen hatte.
Zitat:Und wie bekomme ich dieses orange DBL Zeichen hin?
High byte und low byte zu 16bit Zahl: Unter "Numerisch/Datenmanipulation"
String zu byte array: unter "String/String-Array-Pfad-Konvertierung/
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
29.07.2006, 18:29
Beitrag #8

Lektor Offline
LVF-Grünschnabel
*


Beiträge: 12
Registriert seit: Jul 2006

8.0 Trial
2005
kA


Deutschland
ASCII über HEX in Dezimal umrechnen
Hier mal den Stand der Dinge. Bisher klappt es wunderbar. Habe es auch mal an die Solaranlage angeschlossen und die Werte werden auch angezeigt. So im Nachhinein ist mir aufgefallen, dass der Index Array Befehl für die 4 Temperaturen wohl besser wäre, weil ich dadurch paar Funktionen einspare, aber es war ja meistens eh nur copy paste. Wenn ich denn Datenlogger fertig mache, dann muß ich mir das ganze Konzept eh anders überlegen.
Falls euch grober Mist auffallen sollte, dann schreibt es mal bitte. Man hat ja nie ausgelernt und ich habe bisher vielleicht gerade mal 20 Std. LV Erfahrung.Wink

Danke nochmal für die Hilfe


Sonstige .vi  Solaranlage.vi (Größe: 360,17 KB / Downloads: 325)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30.07.2006, 23:07 (Dieser Beitrag wurde zuletzt bearbeitet: 30.07.2006 23:12 von ahlers01.)
Beitrag #9

ahlers01 Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 143
Registriert seit: Feb 2005

7.1-2011
1993
DE_EN

38116
Deutschland
ASCII über HEX in Dezimal umrechnen
' schrieb:Hier mal den Stand der Dinge. Bisher klappt es wunderbar. Habe es auch mal an die Solaranlage angeschlossen und die Werte werden auch angezeigt. So im Nachhinein ist mir aufgefallen, dass der Index Array Befehl für die 4 Temperaturen wohl besser wäre, weil ich dadurch paar Funktionen einspare, aber es war ja meistens eh nur copy paste. Wenn ich denn Datenlogger fertig mache, dann muß ich mir das ganze Konzept eh anders überlegen.
Falls euch grober Mist auffallen sollte, dann schreibt es mal bitte. Man hat ja nie ausgelernt und ich habe bisher vielleicht gerade mal 20 Std. LV Erfahrung.Wink

Danke nochmal für die Hilfe

[attachment=28672:attachment]
Für 20 Std. LV ist das schon ganz schön gut!

Zwar kein 'grober Mist', aber dennoch änderungswert: für den sich wiederholenden Code-Teil eine subVI benutzen, und auf die Sequenz-Struktur würde ich auch verzichten (ist aber bisschen Geschmacksache):
   
Die subVI ist beigefügt:

Sonstige .vi  subVI.vi (Größe: 8,69 KB / Downloads: 258)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
31.07.2006, 21:40
Beitrag #10

Lektor Offline
LVF-Grünschnabel
*


Beiträge: 12
Registriert seit: Jul 2006

8.0 Trial
2005
kA


Deutschland
ASCII über HEX in Dezimal umrechnen
' schrieb:Zwar kein 'grober Mist', aber dennoch änderungswert: für den sich wiederholenden Code-Teil eine subVI benutzen, und auf die Sequenz-Struktur würde ich auch verzichten (ist aber bisschen Geschmacksache):
Das sieht natürlich super aus. Habe mir schon gedacht, dass es sowas zum Vereinfachen geben könnte. Wie kriegt man denn die Komponenten so schön angeordnet? Gibts da einen Befehl für. Clean up wires kenne ich. Align Objects sieht auch nicht sonderlich schön aus. Gibts noch etwas, was schneller zum Ziel führt oder geht es von Hand noch am schnellsten?

Müßte mir noch die ganzen Tutorials durchschauen, aber jetzt hatte ich eine Anwendung und ich wollte schnell zum Ziel kommen und da konnte ich auf eine besonders schöne Formatierung verzichten. Aber wenn es kein besonders großer Zeitaufwand ist, dann mache ich es auch in zukünftigen VIs
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Timestamp umrechnen Keithley2000 1 3.150 12.08.2020 09:09
Letzter Beitrag: GerdW
  Eingangswert über Funktion 3. Grades umrechnen mikadm 5 2.809 27.07.2020 10:19
Letzter Beitrag: GerdW
  Einheiten umrechnen TpunktN 7 5.472 10.12.2019 09:54
Letzter Beitrag: TpunktN
  Dezimal-String nach Zahl Funktion ares2013 4 4.370 10.04.2019 13:12
Letzter Beitrag: jg
  GS1 Trennzeichen - ASCII Zeichen Andi_89 1 3.149 16.07.2018 15:57
Letzter Beitrag: GerdW
  Name Referenz von Hex in Dezimal voellig_egal 9 4.729 21.06.2018 14:31
Letzter Beitrag: voellig_egal

Gehe zu: