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 

Dieses Thema hat akzeptierte Lösungen:

Float mit CANopen



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!

16.04.2014, 14:52
Beitrag #1

unix1970 Offline
LVF-Neueinsteiger


Beiträge: 2
Registriert seit: Apr 2014

2013
2014
DE



Float mit CANopen
Liebes Forum,

um einen Float mit CANopnen zu nutzen müsste ich einen Float mit einem Int Bitmuster nutzen. In C habe ich das so erledigt, jedoch habe ich keinerlei Ahnung wie man das mit Labview macht. Casten Bringt nichts, da sonst der Wert ja nur gerundet wird.

float f = engine_parameter / 10.0;
int i=*(int*) &f;

Ich hoffe Ihr könnt mir diesbezüglich weiterhelfen.
Viele liebe Grüße
unix1970
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
16.04.2014, 15:22
Beitrag #2

GerdW Offline
______________
LVF-Team

Beiträge: 17.412
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Float mit CANopen
Hallo unix,

üblicherweise hat man eine DBC-Datei (oder ähnliches), die die Skalierung/Wertebereiche der Signale beschreibt. Anhand dieser Tabellen kannst du deinen Float sehr einfach in einen passenden Datentyp (gern mal U16/U32/I16) umrechnen…

Außerdem sollte dein C-Konstrukt in etwa so aussehen:
   

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
16.04.2014, 15:29
Beitrag #3

unix1970 Offline
LVF-Neueinsteiger


Beiträge: 2
Registriert seit: Apr 2014

2013
2014
DE



RE: Float mit CANopen
Aber dann castet er ihn mir nur. Ich brauche aber das selbe Bitmuster. Also mit Vorzeichen Bias und Mantisse aber gespeichert als ein int, damit ich das auf den CAN schreiben kann. Deshalb mach ich auch den Umweg in C über die Pointer und Adressen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
16.04.2014, 15:35 (Dieser Beitrag wurde zuletzt bearbeitet: 17.04.2014 07:35 von GerdW.)
Beitrag #4

GerdW Offline
______________
LVF-Team

Beiträge: 17.412
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Float mit CANopen
Hallo unix,

Zitat:Deshalb mach ich auch den Umweg in C über die Pointer und Adressen.
Als LabVIEW-Programmierer sind diese Sternchen für mich erstmal nur bessere Smileys… Big Grin

Zitat:Casten Bringt nichts, da sonst der Wert ja nur gerundet wird.
Vorhin hast du noch gesagt, das TypeCast nicht das ist, was du haben willst. Jetzt dagegen willst du es:
Zitat:Ich brauche aber das selbe Bitmuster. Also mit Vorzeichen Bias und Mantisse aber gespeichert als ein int

(type)cast ist etwas anderes als von Float nach Int konvertieren

Nimm doch einfach die TypeCast-Funktion, wenn du das brauchst!

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
16.04.2014, 15:50 (Dieser Beitrag wurde zuletzt bearbeitet: 16.04.2014 15:53 von jg.)
Beitrag #5

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: Float mit CANopen

Akzeptierte Lösung

Also so:
   

http://zone.ni.com/reference/en-XX/help/...type_cast/

Gruß, Jens

Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)

!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
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
  CANopen VISA Read liefert unerwartete Antwort MarkusS 10 5.760 09.08.2019 12:31
Letzter Beitrag: GerdW
  CANopen VISA kommunikation MarkusS 5 3.594 21.06.2019 14:17
Letzter Beitrag: GerdW
  CANopen Hydrogencarbonat 2 4.783 12.01.2017 17:26
Letzter Beitrag: jg
  CanOpen Error Hex 0xBFF62023 Isenwelle2015 2 4.868 05.05.2015 10:45
Letzter Beitrag: GerdW
  CANopen Tutorial Bishop 1 5.697 22.12.2014 19:44
Letzter Beitrag: GerdW
  Kommunikation mittels CANopen Bishop 1 3.807 03.11.2014 12:48
Letzter Beitrag: GerdW

Gehe zu: