LabVIEWForum.de
Zahl: Dez in Hex und splitten - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Zahl: Dez in Hex und splitten (/Thread-Zahl-Dez-in-Hex-und-splitten)



Zahl: Dez in Hex und splitten - DocBader - 19.01.2015 17:50

Hi,

ich möchte über ein Eingabefeld einen Wert zwischen 1 und 30.000 eingeben können. Dieser soll dann in eine vierstellige Hexadezimalzahl umgewandelt werden. Diese Hex Zahl soll dann in zwei, zweistellige Hex Zahlen geteilt werden und danach wie eine Num. Konstante mit der Hex Einstellung behandelt werden.

Mein bisheriger Ansatz war die Dezimalzahl in einen Hex String umzuwandeln. Den kann man ja auch Problemlos mit der Funktion "String Teilen" in zwei Teile zerlegen. Allerdings kann ich Hex Zahlen als String nicht weiter verarbeiten und muss diese in eine num. Konstante Hex zahl umwandeln.

Ist das mit meiner Methode überhaupt möglich, oder gibt es einen eleganteren Weg?
Das Wichtigste ist die Dezimal Eingabe und das ich am ende zwei num. hex konstanten rausbekommen.

Bsp:
Dez. Zahl: 12345
=> Hex = 3039
=> Splitten =
A = 30
B = 39 (immer noch oder wieder Hexzahlen)

Falls jemand wissen will wofür ich das mache. Es betrifft eine CANopen Steuerung die nur mit Hex Zahlen funktioniert und ich möchte eine variable Motorgeschwindigkeit eingeben können. das funktioniert nur mit mehreren Paketen mit 2 Hex zahlen.

Hoffe mir kann jemand helfen. Schon einmal Danke im Voraus.

Gruß
DocBader


RE: Zahl: Dez in Hex und splitten - jg - 19.01.2015 18:01

Ich glaube, du denkst vieeeel zu kompliziert.

Einfach den U16 in zwei U8 splitten:
[attachment=51839]
Gruß, Jens


RE: Zahl: Dez in Hex und splitten - GerdW - 19.01.2015 18:13

Hallo Bader,

Zitat:Es betrifft eine CANopen Steuerung die nur mit Hex Zahlen funktioniert und ich möchte eine variable Motorgeschwindigkeit eingeben können.
Bietet diese CANopen-Steuerung keine Funktion, die die zu übergebenden Werte selbständig von DBL in das interne Botschaftsformat umrechnet?


RE: Zahl: Dez in Hex und splitten - DocBader - 19.01.2015 19:39

@jg:
Aber dann hab ich doch einfach nur meine Dezimalzahl gesplittet. Ich brauch am ende aber zwei Hexa Zahlen die in ner numerischen Konstante sind. Die Hex Zahlen als String können die CAN Bausteine nicht verarbeiten.

@GerdW:
Nicht das ich wüsste. In dem Programmierbeispiel mit einer CANopen Verbindung werden die Datenpakete auch als Hex eingegeben und dann abgeschickt. ABer genau das möchte ich automatisieren um der manuellen Eingabe zu entkommen.


RE: Zahl: Dez in Hex und splitten - Lucki - 19.01.2015 22:26

(19.01.2015 19:39 )DocBader schrieb:  @jg:
Aber dann hab ich doch einfach nur meine Dezimalzahl gesplittet. Ich brauch am ende aber zwei Hexa Zahlen die in ner numerischen Konstante sind. Die Hex Zahlen als String können die CAN Bausteine nicht verarbeiten.
Entweder Du hast es übersehen oder weißt es nicht: Das kleine "x" vor den Zahlen im Beispiel von Jens zeigt das HEX-Fomat an. Es handelt sich hier nicht um Dezimalzahlen!


RE: Zahl: Dez in Hex und splitten - DocBader - 20.01.2015 07:41

Ok das mit dem x hab ich übersehen UND wusste es nicht.
Allerdings seh ich noch nicht wie ich meine Dezimaleingabe in Hex umwandeln kann. Vllt stell ich mich blöd an
und sehe das offensichtliche nicht. Aber so


RE: Zahl: Dez in Hex und splitten - GerdW - 20.01.2015 07:54

Hallo Bader,

Zitat:Allerdings seh ich noch nicht wie ich meine Dezimaleingabe in Hex umwandeln kann.
HEX und DECIMAL sind nur Darstellungsweisen ein und desselben Wertes!
Nimm ein NumericControl, gib eine Dezimalzahl ein. Dann Rechtsklick -> Sichtbare Objekte -> Radix und den dann auf "x" ändern: schwups, schon hast du deine Hex-Darstellung…

Zitat:sehe das offensichtliche nicht.
HEX und DECIMAL sind nur Darstellungsweisen ein und desselben Wertes!


RE: Zahl: Dez in Hex und splitten - Lucki - 20.01.2015 22:38

Was Gerd sagte nochmal mit anderen Worten: Für die interne Speicherung im Memory des PC gibt es keine Format-Optionen. Das Format ist - wie allgemein bekannt - immer binär. Etwas anderes ist die visuelle Darstellung einer Zahl auf dem FP (wenn es sich um eine Anzeige oder ein Bedienelemant handelt) oder auf dem BD (wenn es sich um eine Konstante handelt).
Hier gibt es die Anzeigeoptionen Dezimal, Binär, Oktal, Hex. Default ist Dezimal. Für die Auswahl einer anderen Anzeigeoptionen muss man im Kontextmenü zuerst anwählen: Sichtbare Elemente / Radix.
Auf irgendwelche Rechenoperatinen hat das Anzeigeformat aber keinerlei Enfluss.


RE: Zahl: Dez in Hex und splitten - Trinitatis - 22.01.2015 17:53

(20.01.2015 07:41 )DocBader schrieb:  ... Allerdings seh ich noch nicht wie ich meine Dezimaleingabe in Hex umwandeln kann. ...


hier nochmal ein Bildchen mit deinen eigenen Zahlen als Anregung..


Gruß, Marko


RE: Zahl: Dez in Hex und splitten - Lucki - 22.01.2015 19:02

Das Beispiel von Marko kann allerdings auch Verwirrung stiften.
Man kann
a) entweder die Zahl selbst in den unterschiedlichen Zahlenformaten Binär, Oktal, Decimal oder Hex darstellen. Darauf bezog sich mein Beitrag.
Man kann aber auch
b) eine Zahl in einen String aus Ziffern konvertieren, wobei man als Konvertierungsmöglichkeiten Binär, Oktal, Decimal oder Hex hat. Hierauf bezieht sich Markos Beitrag.