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 

Boolsche Werte zusammenfassen



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!

22.11.2010, 09:42 (Dieser Beitrag wurde zuletzt bearbeitet: 22.11.2010 09:53 von Schü.)
Beitrag #1

Schü Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 68
Registriert seit: Sep 2010

2010 Student, 2010, 2012 SP1
2010
DE_EN

08427
Deutschland
Boolsche Werte zusammenfassen
Hallo liebe LabView-Gemeinde,
heute bin ich mal wieder auf ein Problem gestoßen, welches ich nicht so ohne Weiteres lösen konnte.

Ich arbeite an einem Projekt, bei dem ich mir Daten von einer SD-Card abgreife und sortiere. Es werden immer Blöcke übermittel, die aus 51 Teilen bestehen. Jeder einzelne Teil enthält 7Byte für einen Zeitstempel, 1Byte für einen Wertetyp und 2Byte für den Wert selber. Nach der Sortierung ist jetzt mein Problem, dass ich die 2Bit zu einem einzelnen Wert zusammenfassen muss. Da 2x ein Hex-Wert übertragen wird und im LabView schon ein Dezimalwert ankommt, dachte ich ich könnte das Ganze über boolsche Werte lösen.

Als Beispiel:

1. Es kommten zwei Hex-werte (0xC und 0x5) an und LabView gibt mir die Dezimalwerte (12 und 5)
2. Ich wandele diese Dezimalwerte in boolsche Arrays um und erhalte dann 0000 1100 und 0000 0101 (oder etwa nicht?)
3. Ich fasse irgendwie (das ist der Knackpunkt, wo ich nicht weiter weiß) beide Werte zu 0000 1100 0000 0101 zusammen
4. Das Boolsche Array wird wieder in einen Dezimalwert umgewandelt und erhalte dann 3077 was der entsprechende Wert ist.

Das zusammenfügen der beiden boolschen Werte ist mir ein Rätsel, da Addition, Multiplikation, AND und OR mich nicht weitergebracht haben.

Ich hoffe es ist einigermaßen verständlich. Wenn meine Idee absoluter Blödsinn ist, dann bin ich für bessere Vorschläge immer offen.

Liebe Grüße Schü

P.S.: wusste nicht zu welcher Rubrik das passt, drum hab ichs ins Allgemeine geschrieben.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
22.11.2010, 09:54
Beitrag #2

RHeil Offline
LVF-Grünschnabel
*


Beiträge: 26
Registriert seit: Nov 2010

2011 SP1
2001
EN

81737
Deutschland
Boolsche Werte zusammenfassen
Ich glaube, Du denkst zu kompliziert.
Hexadezimal und dezimal sind nur unterschiedliche Repräsentationen der gleichen (binären) Daten.
Die kannst Du zusammensetzen, ohne sie erst umständlich zu konvertieren.

Zuerst mal: Wie sehen Deine Daten wirklich aus?
Du schreibst erst von 2x2 Bit, das Beispiel geht dann mit 2x4 Bit weiter.
Am besten lädst Du mal ein kleines VI hoch.

Hast Du Deine Werte schon in Integer-Drähten?
Dann sollte diese Formel zum richtigen Erebnis (197) führen: 16 * A + B
Wenn Du es mit booleschen Operationen machen möchtest: Die Multiplikation mit 16 entspricht einem Bit-Shift um 4 Bit. Die Addition bewirkt in diesem Fall das gleiche wie OR.
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
22.11.2010, 09:59
Beitrag #3

Ome Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 109
Registriert seit: Nov 2009

2011
2009
DE

12XXX
Deutschland
Boolsche Werte zusammenfassen
Moin,

also ich vermute du suchst nach so einer Lösung hier?

Gruß Ome


Angehängte Datei(en)
Sonstige .vi  Unbenannt_1.vi (Größe: 5,24 KB / Downloads: 311)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
22.11.2010, 10:02 (Dieser Beitrag wurde zuletzt bearbeitet: 22.11.2010 10:09 von Lucki.)
Beitrag #4

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

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
Boolsche Werte zusammenfassen
Da gibt es zwei gleich einfache Möglichkeiten:
1.) Wie RHeil schon sagte, allerdings lautet die richtige Fomel C = 256*B + A
2.) Noch einfacher: Unter Numerisch/Datenverarbeitung gibt es die Funktion "Daten verbinden". Da schließt du die beiden Bytes an, und heraus kommt die gewünschte U16-Zahl
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
22.11.2010, 10:03 (Dieser Beitrag wurde zuletzt bearbeitet: 22.11.2010 10:07 von Schü.)
Beitrag #5

Schü Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 68
Registriert seit: Sep 2010

2010 Student, 2010, 2012 SP1
2010
DE_EN

08427
Deutschland
Boolsche Werte zusammenfassen
Das Problem ist, dass mir die Daten von einem kleinen Emulationsboard geschickt werden. Und somit das schwierig mit einem VI ist, zumal ich ja schon im Grundsatz ein Problem habe.

Zu den Werten. Ich habe einen Datenblock mit 512 Byte. In jedem Datenblock ist eine 10Byte lange Gruppe, die Informationen zu einem Wert enthält. Beispielsweise eine Temperatur. Von den 10 Byte sind die ersten 7 Byte ein Zeitstempel, dann kommt ein Byte mit einem Typ (sagt mir, dass es eine Temperatur ist) und dann kommen noch 2 Byte die den Wert enthalten.
Die Werte kommen als Hexwerte vom Board am Computer an und werden über USB und ausgelesen. Da habe ich die Werte dann wie du schon sagtest in einer Integerleitung drin. Problem ist halt weiterhin, dass ich nicht zwei 8bit Werte, sondern einen 16bit Wert brauche.

Diese zwei letzten Byte möchte ich nun zusammenfassen. Nach den obengenannten Bedingungen.

EDIT: Ome, ich kann deine Datei nicht öffnen, da LabView-Version nicht der Datei-Version entspricht - habe auf Arbeit nur 8.6 und nur daheim 2010

EDIT2: Habe das von RHeil umgesetzt und es funktioniert. Vielen Dank für die schnelle Hilfe
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
22.11.2010, 10:07
Beitrag #6

Ome Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 109
Registriert seit: Nov 2009

2011
2009
DE

12XXX
Deutschland
Boolsche Werte zusammenfassen
dann hier noch mal Lv86_img


Angehängte Datei(en)
Sonstige .vi  Unbenannt_1.vi (Größe: 5,17 KB / Downloads: 248)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
22.11.2010, 12:10
Beitrag #7

RHeil Offline
LVF-Grünschnabel
*


Beiträge: 26
Registriert seit: Nov 2010

2011 SP1
2001
EN

81737
Deutschland
Boolsche Werte zusammenfassen
' schrieb:Da gibt es zwei gleich einfache Möglichkeiten:
1.) Wie RHeil schon sagte, allerdings lautet die richtige Fomel C = 256*B + A
2.) Noch einfacher: Unter Numerisch/Datenverarbeitung gibt es die Funktion "Daten verbinden". Da schließt du die beiden Bytes an, und heraus kommt die gewünschte U16-Zahl
:ahrg1:Wer lesen kann ist klar im Vorteil!
Ich hatte vorhin wohl die Worte "Bit" und "Byte" durcheinandergeschnissen, sorry.

Wenn es nur um ganze Bytes geht, dann ist "Daten verbinden" natürlich der bessere Weg.
Webseite des Benutzers besuchen 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
  Erstellte Regelung zusammenfassen Special354 6 4.634 01.11.2019 11:11
Letzter Beitrag: Special354
  Lokale Variablen eliminieren / Signale Zusammenfassen Philipp841 8 5.222 30.09.2019 09:51
Letzter Beitrag: Philipp841
  Case über boolsche Taster steuern Timo86 9 8.640 18.12.2015 13:31
Letzter Beitrag: Jann
  Alle boolsche Werte im Cluster auf true setzen Alexa 8 7.058 25.09.2012 08:06
Letzter Beitrag: Y-P
  Boolsche verknüpfen Stefan 4890 11 10.835 11.08.2012 12:31
Letzter Beitrag: Lucki
  Case-Unterscheidung über boolsche Schaltfläche CheckerPig 3 4.408 30.07.2012 18:51
Letzter Beitrag: Lucki

Gehe zu: