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 

TMCM-110 String reply to Hex



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!

30.04.2009, 11:08
Beitrag #1

Troy Offline
LVF-Neueinsteiger


Beiträge: 9
Registriert seit: Apr 2009

8.5
-
de

52064
Deutschland
TMCM-110 String reply to Hex
Hallo,
ich habe einen TMCM-110 Motor der mir als reply einen 8-Byte-String liefert.
Aus diesem String möchte ich die letzten 4 Bytes nehmen, die Zahlen darin aneinanderketten und damit eine Hexzahl erhalten. Diese wird dann am ende in eine Integerzahl umgewandelt die die Position des Motors darstellt.

Nun ergibt sich folgendes Problem:
Der Motor steht an Position 32000. Wenn ich ihn aber frage wo er steht sagt er mir 2000. Wenn ich mir nun die Hexzahlen angucke sehe ich das Problem. Der Rückgabewert damit 32000 rauskommt, müsste 7D00 sein, ist jedoch 7D0 und somit 2000.
Das gleiche passiert wenn der Motor bei 257 steht. Die Rückgabe ist 17. 257 = 101 und 17 = 11 in Hex.

Es scheint also so dass mein Problem führende Nullen sind, die einfach weggelassen werden!

Die umwandlung vom String in Zahlen erfolgt über den Befehl "String to Byte Array". Und dabei werden meiner Meinung nach diese Nullen verschlampt, da dann ein Byte Array herauskommt in dem Integerzahlen stehen.

So die Frage ist nun wie kann ich es schaffen, dass die Zahlen die in jedem Byte im String stehen so übermittelt werden wie sie sind also mit allen führenden Nullen? Ich finde einfach keine Möglichkeit den ankommenden String in z.B. ein Byte-String-Array zu zerlegen (also jedes Byte in einen String in einem Array).

Ich hoffe jemand hat eine Idee.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
30.04.2009, 11:51
Beitrag #2

schrotti Offline
LVF-Freak
****


Beiträge: 842
Registriert seit: Feb 2008

2009 - 2011
2006
kA

70180
Deutschland
TMCM-110 String reply to Hex
Lade bitte das VI hoch, das die Umwandlung des Strings in einen Zahl durchführt oder poste wenigstens den String, den du von deinem Gerät bekommst.

Gruß Julius
Empfehlungen: expressionflow, LavaG , mooregoodideas, OpenG, JKI Blog
Tipp
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30.04.2009, 15:12
Beitrag #3

ImExPorty Offline
LVF-Freak
****


Beiträge: 572
Registriert seit: Jan 2008

8.6
2001
kA

65934
Deutschland
TMCM-110 String reply to Hex
Hallo Troy,
ich glaube nicht das LV etwas verschlappt....Tongue
Wenn man die richtige Funktion (Du hast Dich durch die Info 8-Byte-String wohl verleiten lassen) verwendet, kommt auch etwas sinnvolles raus... aber diese Arbeit ist Dir hier schon komplett abgenommen worden.
Viel Erfolg.

1 Postingempfehlungen, 2 Motivation
Fragen und Anpassungswünsche per PM werden, gegen Rechnungsstellung gerne beantwortet und realisiert ....wenn's dann doch kostenlos sein soll... bitte hier im LVF unter Berücksichtigung der voranstehenden Links posten.
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
04.05.2009, 08:54 (Dieser Beitrag wurde zuletzt bearbeitet: 04.05.2009 17:01 von jg.)
Beitrag #4

Troy Offline
LVF-Neueinsteiger


Beiträge: 9
Registriert seit: Apr 2009

8.5
-
de

52064
Deutschland
TMCM-110 String reply to Hex
Danke schonmal aber mein Problem löst sich dadurch leider noch nicht ganz, da in dem VI dass du mir gegeben hast nicht Get Axis Parameter implementiert wurde wo die Rückgabe zu meinem Problem führt...
Hab jetzt mal die beiden vis hochgeladen wo meiner Meinung nach der Wurm drin ist.

Lv85_img


Angehängte Datei(en)
Sonstige .vi  ComPort.vi (Größe: 16,62 KB / Downloads: 175)

Sonstige .vi  ByteArrayToNumber.vi (Größe: 10,16 KB / Downloads: 180)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
04.05.2009, 10:23
Beitrag #5

RoLe Offline
LVF-Guru
*****


Beiträge: 1.236
Registriert seit: Jul 2007

-
1997
en

0
Schweiz
TMCM-110 String reply to Hex
meinst du sowas ...


Angehängte Datei(en) Thumbnail(s)
   

.·´¯)--> Leben ist das, was dir passiert, wenn du eifrig dabei bist andere Pläne zu machen <--(¯`·.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
04.05.2009, 12:57
Beitrag #6

schrotti Offline
LVF-Freak
****


Beiträge: 842
Registriert seit: Feb 2008

2009 - 2011
2006
kA

70180
Deutschland
TMCM-110 String reply to Hex
Irgendwie blicke ich nicht durch. Warum wandelst ihr das in ein Bytearray um und warum verbindust du dann die beiden Byte des Asciicodes? Ich hätte jetzt, naiv wie ich bin, gedacht, ein Byte in hexadezimaler Represantation wird durch zwei Char, also zwei Byte dargestellt. Ich kann mir allerdings nicht vorstellen, dass du String wie FFF erhälst. Woher soll ich denn wissen obs 0F FF oder FF 0F ist.

Gruß Julius
Empfehlungen: expressionflow, LavaG , mooregoodideas, OpenG, JKI Blog
Tipp
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
04.05.2009, 13:14
Beitrag #7

Troy Offline
LVF-Neueinsteiger


Beiträge: 9
Registriert seit: Apr 2009

8.5
-
de

52064
Deutschland
TMCM-110 String reply to Hex
Jo RoLe danke schon mal das hat schon mal was gebracht. Es werden jetzt alle positiven Zahlen richtig zurückgegeben.
Problem sind nun die negativen Hex Zahlen. Hab jetzt gelesen dass man die zahl erst in Binärsystem umrechnen muss um dann wieder ins Hexsystem zu gehen... Gibts da ne bessere Alternative? Oder wenn nicht, wie genau muss man das denn machen mit dem umrechnen?
Habe mal die neue Version angehängt...
(als Beispie für die Ausgabe am Endel:
2000: [0]: 0; [1]: 7; [2]: 208
-2000: [0]: 255; [1]: 248; [2]: 48)


Lv85_img

(schrotti was du gerade meinst weiß ich leider nicht genau)


Angehängte Datei(en)
Sonstige .vi  ComPort.vi (Größe: 20,31 KB / Downloads: 165)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
04.05.2009, 14:04
Beitrag #8

ImExPorty Offline
LVF-Freak
****


Beiträge: 572
Registriert seit: Jan 2008

8.6
2001
kA

65934
Deutschland
TMCM-110 String reply to Hex
Hallo Troy,
mit meinem Hinweis
Zitat:diese Arbeit ist Dir hier schon komplett abgenommen worden.
meinte ich das die Aufschlüsselung des Strings hier zu 100% offengelegt ist (wenn Du also die gleiche Struktur beim Abfragen zurückbekommst):
   
   

Lv85_img
Sonstige .vi  Troy_TMCM_Konvertierung_lv85.vi (Größe: 10 KB / Downloads: 199)

viel Erfolg

1 Postingempfehlungen, 2 Motivation
Fragen und Anpassungswünsche per PM werden, gegen Rechnungsstellung gerne beantwortet und realisiert ....wenn's dann doch kostenlos sein soll... bitte hier im LVF unter Berücksichtigung der voranstehenden Links posten.
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
04.05.2009, 15:09
Beitrag #9

Troy Offline
LVF-Neueinsteiger


Beiträge: 9
Registriert seit: Apr 2009

8.5
-
de

52064
Deutschland
TMCM-110 String reply to Hex
Ja soweit ich das erkenne bekomme ich nicht die gleiche Antwort beim abfragen.
Ich bekomme mehrere (dezimal-)Zahlen in einem Array, die dann einzeln in Hexzahlen umgewandelt werden, die dann aneinander gehängt werden und eine große Hexzahl ergeben, die dann wiederrum in eine Dezimalzahl umgerechnet werden muss.

Die Frage jetzt gerade ist aber eher wie man eine Hexzahl (von der ich weiß dass sie eine negative Dezimalzahl darstellt) in eine Dezimalzahl umwandle. An dem Beispiel vorhin denke ich zu sehen, dass die 255 mir sagt dass eine negative zahl vorliegt, und ich dann die andern beiden Zahlen nur einzeln von 255 abziehen muss - das passt ja auch FAST^^.
Wahrscheinlich liegt dieses 'fast' daran, dass man normalerweise die Hexzahl erst in eine Binärzahl umwandelt, invertiert und dann noch +1 macht (so wie ich das aus anderen Forenbeiträgen verstanden habe) und dann wieder in Hex umwandelt.
Wäre cool wenn mir jemand da bei meinem Programm n Tipp geben könnte wie man das bewerkstelligt...
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
04.05.2009, 15:14
Beitrag #10

ImExPorty Offline
LVF-Freak
****


Beiträge: 572
Registriert seit: Jan 2008

8.6
2001
kA

65934
Deutschland
TMCM-110 String reply to Hex
Hallo Troy,
damit dieser Thread auch anderen in Zukunft helfen kann, wäre es schön die Originaldaten mit mehren Beispielen und tatsächlichen Werten bereitgestellt zu bekommen.

1 Postingempfehlungen, 2 Motivation
Fragen und Anpassungswünsche per PM werden, gegen Rechnungsstellung gerne beantwortet und realisiert ....wenn's dann doch kostenlos sein soll... bitte hier im LVF unter Berücksichtigung der voranstehenden Links posten.
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Gehe zu: