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 

Case-Struktur, in best. Fall andere Aktion ausführen



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.12.2009, 16:00 (Dieser Beitrag wurde zuletzt bearbeitet: 22.12.2009 19:21 von jg.)
Beitrag #1

LV-Starter Offline
LVF-Grünschnabel
*


Beiträge: 22
Registriert seit: Nov 2009

2009
2009
kA

97
Deutschland
Case-Struktur, in best. Fall andere Aktion ausführen
Hallo.

Ich bin mal wieder mit einer Anfänger-Frage hier.

Es geht um Folgendes:

Ich habe ein boolsches Array vorliegen.

Dieses muss manchester-decodiert werden, und zwar soll das wie folgt stattfinden:

Ich hole mir immer zwei Werte aus dem Array heraus, dann die nächsten beiden, und wieder die nächsten beiden usw.
"01" soll für 0 stehen
"10" soll für 1 stehen
soweit so gut, das ist auch kein problem, WENN alles passt.

Aber die werte "00" und "11" lassen ja logischerweise auf einen Fehler schließen, oder zeigen dass ich genau um ein Bit versetzt angefangen habe.

Für den Fall das die Schleife um ein Bit "versetzt" angefangen hat, würde ich einfach die Schleife nochmal neu starten lassen, allerdings würde ich dann gerne das Array um eine Stelle rotieren lassen,das selbiges nicht nochmal auftritt. Und genau da ist mein Problem.
Will ich in den Fall 0 für 00 oder 3 für 11 das rotieren "einbauen" bekomme ich Fehler, dass ich unverbindete Tunnel hätte.

Jetzt bin ich am überlegen wie ich das, ich nenne es mal "synchronisieren" der Decodierung, hinbekomme.

Allerdings fehlen mir dazu die Einfälle.

Wäre gut wenn mir jemand einen Denkansatz geben könnte.

MFG

Das programm OHNE die Fehlererkennung ist dabei.
LV-Version 8.6


Angehängte Datei(en)
Sonstige .vi  22.12.ManchDECOD.ohneFehler.vi (Größe: 7,76 KB / Downloads: 181)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
22.12.2009, 19:03
Beitrag #2

Y-P Offline
☻ᴥᴥᴥ☻ᴥᴥᴥ☻
LVF-Team

Beiträge: 12.612
Registriert seit: Feb 2006

Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN

71083
Deutschland
Case-Struktur, in best. Fall andere Aktion ausführen
Ich würd's so machen (wenn ich Dein Problem richtig verstanden habe):


Sonstige .vi  22.12.ManchDECOD.ohneFehler_NEU.vi (Größe: 8,01 KB / Downloads: 211)

Lv86_img

Gruß Markus

--------------------------------------------------------------------------
Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
23.12.2009, 11:24
Beitrag #3

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

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
Case-Struktur, in best. Fall andere Aktion ausführen
Rotieren lassen wäre keine gute Idee. Denn dann kämen erstes und letztes bit zusammen und würde verglichen, obwohl sie doch gar nicht zusammen gehören. Du kannst nur wahlweise die Dekodierung bei Bit 0 oder bei Bit 1 beginnen lassen und nachschauen, wo es weniger Fehler gibt. Z.B so:
   
Edit: false und true müssen vertauscht werden.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
02.01.2010, 13:42
Beitrag #4

LV-Starter Offline
LVF-Grünschnabel
*


Beiträge: 22
Registriert seit: Nov 2009

2009
2009
kA

97
Deutschland
Case-Struktur, in best. Fall andere Aktion ausführen
Danke schonmal an euch beide!

Ich löse es jetzt anders, simple aber effektiv.

Um den DAQ - Assistenten " zu aktivieren" also dass er die von mir gewünschte Anzahl von Samples macht, habe ich einen Taster.
Es wird quasi pro Tastendruck eine "Sequenz" gemessen.

Wenn beim decodieren 00 oder 11 ansteht, ergibt die = verknüpfung ein true, dieses true verwende ich um neben dem Start taster (mit einer Oder verknüpfung) eine neue messung mit dem DAQ - Assistenten auszulösen. Dann hab ich zwar ab und an "Fehlmessungen" aber das stört nicht weiter. So bekomm ich immerhin ständig das "richtige" Ergebnis.
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
  states auf case struktur kopieren machfax 2 3.725 26.11.2013 16:07
Letzter Beitrag: machfax
  Parallele While Schleife, oder andere Lösungsansätze? Lumberjacker 17 15.575 19.06.2013 19:01
Letzter Beitrag: Holy
  XY-Graph Plot2 auf eine Andere Y-Achse mit Eigenschaftsknoten pyrates 1 3.915 21.04.2011 07:51
Letzter Beitrag: GerdW
  Wiederholen der letzten Aktion möglich? szonic 4 6.601 18.07.2010 11:23
Letzter Beitrag: jg
  cursorpos auf andere graphen übergeben dani 15 8.827 26.03.2009 15:57
Letzter Beitrag: Lucki
  For schleife in Case- Struktur Dr. Holsten 2 3.893 09.02.2009 15:15
Letzter Beitrag: Dr. Holsten

Gehe zu: