Nein, also das mit dem pseudo-code ist kein Problem. Das verstehe ich.
Ich habe halt nur überlegt ob das überhaupt ein unterschied macht.
Ok.. jetzt habe ich es verstand. Danke. Ich werde es mal nächste Woche teste, komme vorher nicht ins Labor, und mich dann ggf melden
Danke.
Gruß atilla
Guten Morgen,
Also ich habe das nun so umgesetzt wie von dir vorgeschlagen GerdW.
Es hat sich auch nun etwas verändert. Beim Start wird das Bild für 5 Sec normal angezeigt und dann aber verschiebt sich das Bild um eine LED. Aber dann bleibt es so. Ich erhalte alle 5s. ein flakern des Arrays, das ist der Zeitpunkt, wo mein Fehler case anspringt. Es läuft jetzt schon eine Weile und das LED Array ist am flakern. Zwischenzeitlich zeigt es das richtige Bild an, aber dann ändert sich das wieder ganz schnell.
Ich weiß nicht, was ich da tun kann.
Hallo Attila,
Zitat:Ich weiß nicht, was ich da tun kann.
Ein Anfang wäre es, wenn du den aktuellen Stand deines VIs hochladen würdest...
Hallo GerdW,
ja, also imgrunde habe ich ja nur den einen Case verändert.
[
attachment=42752]
Ich habe dann noch etwas mit dem "Fehler"-Case rumprobiert. Habe da jetzt eine direkt Verbindung stehen da ich mir für den Fehler-Fall gedacht habe, dass das Aktuelle Array so beibehalten soll und nicht verändern brauche.
Oder kommt gerade von hier der Verschub? Also dann er bei der SChleife einen Index weiter geht, aber das Array noch den selben Index hat und gerade deshlab dann das Bild verschoben wird.
Müsste ich dann nicht eigentlich schon diese störende Ausgabe vor dem SChleifendurchlauf aussortieren?
Gruß Atilla
Hallo Attila,
du hast bei deiner Case-Struktur auch noch einen unverdrahteten Ausgangstunnel, der dich ebenfalls stören dürfte...
Aber sonst: Ja, wenn du im "Gut"-Fall ein Bit ins Array schreibst und im Fehlerfall nicht, dann sieht dein Ausgangsarray bei Fehlern natürlich anders aus...
(19.12.2012 16:20 )GerdW schrieb: [ -> ]du hast bei deiner Case-Struktur auch noch einen unverdrahteten Ausgangstunnel, der dich ebenfalls stören dürfte...
Du meinst den großen Case, in dem meine Anfragen stattfinden?
Also mein Array soll nur 6 elemente habe und ich dachte damit kürzen sich die zwei unnötigen raus
Hallo Attila,
guck dir mal das Attachment an und prüfe, ob deine Bit-Zuordnungen noch stimmen.
Jedenfalls sollte dein LED-Array jetzt jedesmal aus 6 Bits bestehen (und der Rest drumherum etwas vereinfacht und schlanker sein)!
Hallo GerdW,
Danke für deine Antwort, es sieht schon viel übersichtlicher aus.
Also ich musste ne Kleinigkeit noch anpassen, aber ansicht funktioniert die Ausgabe immer noch gut.
Eine Frage zu deiner Version und zwar bei FormatString das %d bedeutet dies, dass hier ein double eingefügt wird? Und %o6b kürzt die Binärzahl auf 6 stellen?
Die LED Ausgabe hat sich nicht groß verändert. Also das Bild wandert nur kontinuirlich in bestimmter zeit eine Einheit nach rechts bzw. im kreis.
Dafür habe ich auch eine Frage und zwar habe ich es im Attachment rot umkreist. Was genau macht es hier? Das habe ich nicht ganz verstanden.
[
attachment=42793]
Gruß Atilla
Steht alles in der LabVIEW-Hilfe, u.a. bei FormatIntoString, da musst du dich halt ein wenig durchklicken.
%d: Wandelt in eine Integerzahl-String.
%06b: b->Wandelt in Binärzahlstring, 6->String hat mind. 6 Zeichen, 0 davor: fehlende Zeichen werden mit Null aufgefüllt.
Gruß, Jens
Hallo Attila,
Zitat:Was genau macht es hier?
- Das ScanFromString stammt von dir!
- Die Select-Funktion ersetzt die Case-Struktur, die du verwendet hattest!
- Das ReplaceArraySubset dient dem Eintragen des LED-Zustands ins Array, nach Möglichkeit, ohne die Position zu rotieren oder durch Fehler beim StringScan Einträge zu verlieren...
Also im Grunde wie bei dir, nur etwas übersichtlicher...