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 

Hex Zahl aus String in konvertieren



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!

05.07.2007, 08:40
Beitrag #1

hanno Offline
LVF-Grünschnabel
*


Beiträge: 16
Registriert seit: Mar 2007

---
2007
kA


Deutschland
Hex Zahl aus String in konvertieren
Hi Zusammen,

Ich bekomme von einer Schrittmotorensteuerung drei HEX-Zahlen in einem String, der wiefolgt formatiert ist:
"AAAAAABBBBBBCCCCCC"
die Drei Zahlen liegen im Zweierkomplement vor. Gibt es eine Funktion in LV mit der eine 6Byte lange Zahl aus einem String gelesen werden kann? Vielen Dank für eure Hilfe.

Hanno.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
05.07.2007, 09:15
Beitrag #2

VDB Offline
LVF-Stammgast
***


Beiträge: 426
Registriert seit: Oct 2005

2010-2011
1997
kA

52134
Deutschland
Hex Zahl aus String in konvertieren
Hallo,

bitte die Suchfunktion benutzen, das Thema Hex-Strings von Steuerung XYZ ist im Forum schon 1000-mal behandelt worden.

Kurz gesagt: String unterteilen (Stringfunktionen) in den 3 Zahlenstrings, diese konvertieren von Hex-string -> Number.

VDB
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
05.07.2007, 09:19 (Dieser Beitrag wurde zuletzt bearbeitet: 05.07.2007 09:31 von eg.)
Beitrag #3

eg Offline
LVF-SeniorMod


Beiträge: 3.868
Registriert seit: Nov 2005

2016
2003
kA

66111
Deutschland
Hex Zahl aus String in konvertieren
Da muss man ein bischen tricksen. Du musst die Zahlen Byteweise einlesen uns daraus eine normale Zahl machen 64-Bit-Zahl machen (unsigned/signed Quad). Anhand des höchstwertigen Bits entscheidest du dich für das Vorzeichen.

Ich habe sowas mit 24-Bit-Zahlen gemacht, also eine 32-Bit daraus gezaubert.

Mit dem Einlesen(aus dem String extrahieren) hast du kein Problem, oder?

eg

Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
05.07.2007, 10:05
Beitrag #4

hanno Offline
LVF-Grünschnabel
*


Beiträge: 16
Registriert seit: Mar 2007

---
2007
kA


Deutschland
Hex Zahl aus String in konvertieren
Habe das Forum nach passenden Lösungsansätzen durchsucht, und leider nichts gefunden. Mit der Format-String ("%6x%6x%6x") Funktion habe ich Probleme mit negativen Zahlen, werde deswegen wahrscheinlich die Zahlen bitweise zerpflücken müssen, oder gibt es eine Funktion die mit dem 2er-Komplement umgehen kann.
@eg:
könntest Du deine Lösung mit dem bitweisen zerpflücken posten. Ich kann mir im Moment nicht vorstellen wie ich dabei vorzugehen hab.

Vielen Dank.

' schrieb:Da muss man ein bischen tricksen. Du musst die Zahlen Byteweise einlesen uns daraus eine normale Zahl machen 64-Bit-Zahl machen (unsigned/signed Quad). Anhand des höchstwertigen Bits entscheidest du dich für das Vorzeichen.

Ich habe sowas mit 24-Bit-Zahlen gemacht, also eine 32-Bit daraus gezaubert.

Mit dem Einlesen(aus dem String extrahieren) hast du kein Problem, oder?

eg
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
05.07.2007, 10:11
Beitrag #5

eg Offline
LVF-SeniorMod


Beiträge: 3.868
Registriert seit: Nov 2005

2016
2003
kA

66111
Deutschland
Hex Zahl aus String in konvertieren
Also hier die Konvertierung. Wichtig für dich ist der Inhalt der For-Schleife.

eg


Angehängte Datei(en) Thumbnail(s)
   

Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
05.07.2007, 13:05 (Dieser Beitrag wurde zuletzt bearbeitet: 05.07.2007 14:39 von Lucki.)
Beitrag #6

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

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
Hex Zahl aus String in konvertieren
Alternativ die etwas einfachere Konvertierung (oder hast Du, Eugen, das in den falschen Threat gepostet, mir ist das so kompliziert, daß ich nicht mal den Zusammenhang zur Frage sehe)

   

Funktionsweise:
1.) Der String wird in einen Array von Teilstrings konvertiert, wie sie den 3 Zahlen entsprechen
2.) Die Strings werden in U32 gewandelt
3.) Damit das das Vorzeichen bestimmende Bit des 24bit-Wertes zum MSB der 32 bit-Zahl wird, müssen die bits um 8 bit nach links geshiftet werden (Multiplikation mit 256)
4) Wandlung in I32 ergibt ergibt die vorzeichenbehaftete zahl
5.) Sie ist um den Faktor 256 zu hoch, Division liefert das richtige Ergebnis.


Angehängte Datei(en)
Sonstige .vi  Konvertstring.vi (Größe: 12,5 KB / Downloads: 602)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
06.07.2007, 08:06
Beitrag #7

hanno Offline
LVF-Grünschnabel
*


Beiträge: 16
Registriert seit: Mar 2007

---
2007
kA


Deutschland
Hex Zahl aus String in konvertieren
Vielen Dank an euch, hab beide Varianten versucht.
@eg: Funktioniert wunderbar
@Lucki: Funktioniert wunderbar
Gruß, Hanno.
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
  String in Cluster konvertieren TpunktN 3 3.476 01.04.2021 15:44
Letzter Beitrag: TpunktN
  String nach Enum konvertieren NoWay 2 4.850 20.08.2019 10:58
Letzter Beitrag: NoWay
  Dezimal-String nach Zahl Funktion ares2013 4 5.052 10.04.2019 13:12
Letzter Beitrag: jg
  String to Zahl. Leerzeile 911tom 7 5.198 21.11.2017 11:15
Letzter Beitrag: Lucki
  String in Zahl/ Zahl in String mit Type Cast Jann 6 6.181 18.01.2016 09:02
Letzter Beitrag: Jann
  Problem mit Zahl zu Hex String Bishop 7 6.882 16.06.2015 13:51
Letzter Beitrag: Bishop

Gehe zu: