LabVIEWForum.de
Umwandlung in Decimal - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Instrument IO & VISA (/Forum-Instrument-IO-VISA)
+---- Thema: Umwandlung in Decimal (/Thread-Umwandlung-in-Decimal)



Umwandlung in Decimal - Darkskater - 10.12.2020 10:06

Hallo zusammen!

ich beschäftige mich jetzt seit ein paar Stunden mit LabView, also bitte Nachsichtig sein wenn falsche Ausdrücke verwendet werden oder eventuell ins falsche Unterforum gepostet wurde.Angel_not
Folgendes Problem:
Ich habe 4 IR Sensoren zur Temperaturmessung an einer kleinen "Produktionsanlage". Diese Temperaturwerte wurden bislang händisch von den Anzeigen protokolliert (alle 2min und das über 1-2h hinwegAhrg1). Ich bin jetzt dran mit LabView die ganze Geschichte etwas zu verschlanken.
Am Ende soll im FrontPanel quasi eine Skizze der Anlage angezeigt werden, wo die 4 Messstellen der Temperatursensoren mit einer Temperaturanzeige dargestellt werden.
Der Bediener soll nachher im FrontPanel mit einem Klick das Loggen der Temperaturwerte starten, mit einem weiteren Klick beenden und abschließend mittels Mausklick, möglichst als Excel, speichern können.
Ich bekomme mittels des richtigen Befehls bereits die Temperatur des jeweiligen Sensors angezeigt, allerdings als Hexadecimal.
Der ausgegebene Hex-Wert (z.B. 04D3) ist aber nicht der tatsächliche Temperaturwert sondern dieser muss daraus berechnet werden (z.B. (04D3-1000)/10 = IST-Temperatur [°C]). Um diese Berechnung durchzuführen müsste ich den HEX Wert also erstmal in einen Decimalwert umwandeln. Allerdings komme ich da absolut nicht weiter und wollte euch fragen, ob ihr mir da etwas Unterstützung geben könntet.Blush

FrontPanel und Blockdiagramm habe ich euch mal angefügt.


Vielen Dank und viele Grüße
Christian


RE: Umwandlung in Decimal - GerdW - 10.12.2020 10:17

Halo Christian,

herzlich willkommen im Forum!

Zitat:Ich bekomme mittels des richtigen Befehls bereits die Temperatur des jeweiligen Sensors angezeigt, allerdings als Hexadecimal.
Wo genau? Leider sieht man das in deinen Bilder nicht…

Zitat:Um diese Berechnung durchzuführen müsste ich den HEX Wert also erstmal in einen Decimalwert umwandeln.
Bitte definiere "HEX-Wert":
Siehst du diesen Wert in einer String-Anzeige, die auf "normalen" Anzeigemodus gestellt ist?
Siehst du diesen Wert in einer String-Anzeige, die auf "hexadezimalen" Anzeigemodus gestellt ist?
Siehst du diesen Wert in einer numerischen Anzeige, nachdem du dieses TypeCast gemacht hast?

Die Lösung besteht aus zwei Schritten:
1. String in einen numerischen (Integer-)Wert umwandeln. Genaues Vorgehen hängt von den Fragen zuvor ab und benutzt entweder HexStringToInteger oder TypeCast/UnflattenFromString…
2. Mit diesem numerischen Wert dann einfach rechnen: y=(x-1000)/10…

Genereller Hinweis:
Das Anhängen von Bildern ist nett. Dummerweise können wir diese mit LabVIEW aber weder debuggen noch editieren. Es wäre also noch netter, wenn du auch ein VI bereitstellen würdest. Und am nettesten, wenn dieses auch noch typische Daten enthalten würde…

P.S.: Kennst du schon das AutoCleanup-Feature von LabVIEW? Big Grin


RE: Umwandlung in Decimal - Darkskater - 10.12.2020 10:48

Danke für die Begrüßung und ebenfalls Danke, dass du dir die Zeit nimmst um mir zu helfen @Gerd! Wink2


(10.12.2020 10:17 )GerdW schrieb:  
Zitat:Siehst du diesen Wert in einer String-Anzeige, die auf "normalen" Anzeigemodus gestellt ist?
Siehst du diesen Wert in einer String-Anzeige, die auf "hexadezimalen" Anzeigemodus gestellt ist?
Siehst du diesen Wert in einer numerischen Anzeige, nachdem du dieses TypeCast gemacht hast?
Ich schätze mal String-Anzeige, welche auf hexadezimal eingestellt ist. Also ich habe jedenfalls die Blau markierte Anzeige auf Hexadecimal geändert.

Zitat:Die Lösung besteht aus zwei Schritten:
1. String in einen numerischen (Integer-)Wert umwandeln. Genaues Vorgehen hängt von den Fragen zuvor ab und benutzt entweder HexStringToInteger oder TypeCast/UnflattenFromString…
2. Mit diesem numerischen Wert dann einfach rechnen: y=(x-1000)/10…
Den ersten Schritt habe ich glaube ich schon versucht (zum Teil noch nicht gelöscht, siehe grüne Markierungen). Allerdings habe ich nicht den korrekten Dezimalwert ausgegeben bekommen.

Zitat:Genereller Hinweis:
Das Anhängen von Bildern ist nett. Dummerweise können wir diese mit LabVIEW aber weder debuggen noch editieren. Es wäre also noch netter, wenn du auch ein VI bereitstellen würdest. Und am nettesten, wenn dieses auch noch typische Daten enthalten würde…
VI wurde hochgeladen sowie das FrontPanel mit Beispielwerten.

Zitat:P.S.: Kennst du schon das AutoCleanup-Feature von LabVIEW? Big Grin
Ctrl+U bzw Ctrl+B? Wenn ja, dann kenne ich diese Funktionen. Allerdings war mir das zu unübersichtlichBig Grin



RE: Umwandlung in Decimal - GerdW - 10.12.2020 10:51

Hallo Christian,

so vielleicht:
[attachment=61484]
22°C kommt für den Wert 04C4 heraus…

Tipp: wenn man von der Standardanzeige (dezimal oder "normales Display") abweicht, sollte man den Radix oder den Displaymode bei Strings auch sichtbar machen - siehe die Stringkonstante in meinem Snippet…


RE: Umwandlung in Decimal - Darkskater - 10.12.2020 10:55

Danke dir Gerd, das werde ich mal nachbasteln und nachher dann die Rückmeldung geben!
Schon mal vielen lieben Dank!Beer

Edit:
Gerd du bist ein EngelAngel