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!
Hey, also ich habe irgendwie nicht ganz verstanden wie das mit de For-Schleife und diesem booleschen Array, dass ich übrigens in dieser Darstellung nicht finden kann. Im Moment sieht es so aus, aber ich bekomme das mit dem Array zusammenfügen nicht richtig hin, weil ich nicht weiss, welchen Wert ich da noch einbinden soll. Sorry, aber zu meiner Entschuldigung, das ist mein erstes VI
Danke nochmal für die geleistete und hoffentlich noch folgende Hilfe.
Jetzt noch den Ausgang vom "Build-Array" mit dem rechten Teil vom Shift-Register verbinden. Dabei das Build-Array-VI auf Funktionsmodus "Concatenate Inputs" (Rechte Maustaste-Menu) stellen. Außerdem würde ich zur Sicherheit das Shift-Register mit einem leeren Array initialisieren. Sieht dann am Ende so aus:
MfG, 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!
ja soweit hab ich das alles nachstellen können, aber mir ist nicht ganz klar was das für ein Element ist indem das alles endet. Das, das bei dir mit "Array" bezeichnet wird. Das soll doch bestimmt ein boolesches Array sein oder? Aber wie erstelle ich das denn nun wieder? Ich sehe weder das Symbol noch ein entsprechendes Element in der Bedienleiste.
Sorry, habe nicht erkannt dass es sich dabei nur um ein Anzeigeelement handelte. Naja dann ist das ganze schon klar.
Nun steh ich aber vor einem neuen Problem.
Ich erhalte die RDS-Nachricht
D3
Diese hat einen Dezimalwert von 211.
Daraus ergibt sich ein binärer Wert von 11010011, eigentlich :-)
Das hier besprochene Programm macht daraus 11001011, was ja 203 wäre.
Nun ist die Frage, wo das Porblem liegt. Ich könnte mir vorstellen, dass irgendwo in der Logik der Schleife ein Denkfehler enthalten ist.
Der entstehende Datensatz aus 1 und 0 ist 72 Zeichen lang, was ja passen würde, da ich 9*8 Bit habe.
Da es immer eine Stelle gibt, die bei jeder Übertragung gleich ist, werde ich mir die Datensatz zusammenstellen und schauen, ob diese signifikante Stelle im Satz enthalten ist. Das Problem könnte ja sein, dass er bei Lesen irgendwo in der RDS-Nachricht anfängt, anstatt am Anfang.
Diesen String stelle ich doch sicherlich am besten mit einer For-Schleife zusammen, oder? Naja ich versuchs mal.
Okay ich habe den fehler entdeckt. Er speichert die 8-Bit-Sequenzen falsch herum ab. Also das Array hat 72 Felder, wobei immer eine Gruppe von 8 Bit falsch herum ist. Also statt 11010011 kommt dann 11001011. Ich habe den Rest überprüft und da trifft das zu.
Heisst doch eigentlich, dass er in der Schleife irgendeinen Fehler beim erstellen des Array macht oder? Ich könnte versuchen es nachträglich, umständlich noch mal umzudrehen, aber es wäre doch ressourcensparender, wenn das in der Schleife gleich korrekt gemacht werden würde. Wisst ihr woran das liegen kann, ich zerbrech mir daran den Kopf!
' schrieb:Wisst ihr woran das liegen kann, ich zerbrech mir daran den Kopf!
Es kommt darauf an, wie dein RDS-Bitstream seine Daten sendet: Zuerst das höchstwertigste Bit und am Schluss das niederwertigste Bit - oder umgekehrt.
[*grübel*]
Kommt zuerst das niederwertigste Bit, wann passt die Sache mit den vielen Konvertierungen automatisch. Kommt aber das höchstwertigste Bit zuerst, so landet dieses dann nach allen Konvertierungen in B0 (anstelle in B7). Hinweis: Bitte diese meine Aussage selbst verifizieren!
Schau mal in der Array-Palette. Gibt es da nicht was zum "1D-Array umkehren"?
Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alles klar habs hinbekommen. Danke für die Hilfe, jetzt fängt ja das Projekt erst richtig an. Aber schon schade, dass ich in LabVIEW 7 Elemente plus vdiverse Optionen brauche, wo ich in Java zwei Zeilen brauche. Naja, ich werd mich schon noch mit LabVIEW anfreunden :-)
Ich habe da auch noch eine Variante um den String in ein 2D-Bool-Array zu konvertieren.
Das würde ich jetzt als "nur eine Zeile Code" interpretieren, das TypeCast.
.·´¯)--> Leben ist das, was dir passiert, wenn du eifrig dabei bist andere Pläne zu machen <--(¯`·.