LabVIEWForum.de - Loops

LabVIEWForum.de

Normale Version: Loops
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
(21.12.2017 11:12 )GerdW schrieb: [ -> ]Hallo Ratio,

[quote]Die Queue 5 und 6 werden mit "Daten" versorgt, ich sehe mit der Sonde wie der Speicher entsprechend hochzählt bzw. die Daten "ready to compare" eingelesen werden (in Queue 5 und 6).
In beiden "Prep Telegram"-Loops wird ein "ready to compare"-Array aufgebaut? Die Daten dazu kommen aus Queue2/4…
Hast du geprüft, ob (und was) auch jeweils Werte nach Queue5/6 geschrieben wird?
Hast du geprüft, ob die Werte in der SearchTelegram-Loop ankommen?
Hast du mittlerweile (per Highlight-Execution, Breakpoints oder Sonden) geprüft, ob deine SearchTelegram-Loop überhaupt gestartet wird?

In Queque5/6 wird geschrieben aber nie ausgelesen, da die SearchTelegram-Loop nicht gestartet wird.
Sorry wenn ich das schlecht beschrieben habe, aber mein einziges Problem ist, dass die SearchTelegram-Loop nicht ausgeführt wird.
Hallo Ratio,

Zitat:Hast du mittlerweile (per Highlight-Execution, Breakpoints oder Sonden) geprüft, ob deine SearchTelegram-Loop überhaupt gestartet wird?
Zitat:mein einziges Problem ist, dass die SearchTelegram-Loop nicht ausgeführt wird.
Dann formuliere ich meine Frage um:
Hast du mittlerweile mittels Debugging geprüft, warum deine SearchTelegram-Loop nicht gestartet wird?
Auf welche DATAFLOW-Abhängigkeit wird hier noch gewartet?
Hallo Gerd

Ich kenne einfach Einzelschritte inkl. Stoppunkte, und die Messsonde und den langsamen Modus. Dort sehe ich einfach, dass die Schleife nicht ausgeführt wird.

Wie sehe ich die Abhängigkeit?
Hallo Ratio,

Zitat:Ich kenne einfach Einzelschritte inkl. Stoppunkte, und die Messsonde und den langsamen Modus. Dort sehe ich einfach, dass die Schleife nicht ausgeführt wird.
Wie sehe ich die Abhängigkeit?
- Du kannst mit Sonden prüfen, ob alle Inputs dieser Schleife einen Wert erhalten haben und die Schleife deshalb loslaufen könnte: auf jeden Draht, der in die Schleife hineingeht, eine Sonde legen und prüfen, ob diese einen Wert zugewiesen bekommt…
- Du kannst mit Breakpoints/Sonden prüfen, ob die Ausführung deines Programm ("der DATAFLOW") innerhalb der Schleife angekommen ist: dazu z.B. auf die Queue-Referenzen innerhalb der Loop einen Breakpoint legen. Du bekommst eine Meldung, wenn der DATAFLOW diese Stelle im Programm erreicht…
- Du kannst im langsamen Modus verfolgen, ob/wann die Schleife alle ihre Inputs bekommt: THINK DATAFLOW!
- Du kannst im langsamen Modus sehen, ob die Schleife generell losläuft: solbald der DATAFLOW an der Schleife ankommt, wird sie nicht mehr "ausgegraut" dargestellt…

Alles Dinge, die du tun kannst.
Ich dagegen bekomme schon beim VISAInit Fehlermeldungen und habe keinen Bock, dein riesiges VI erstmal umzuprogrammieren…
Ach sooo, ja das habe ich alles bereits gemacht. Alle Werte bis zur Schleife werden geladen. Die Schleife bleibt unbenutzt (ausgegraut).
die gelegten Sonden erhalten keine Werte (ist ja eigentlich auch klar wenn die Loop nicht ausgeführt wird). Die Queue 5 und 6 erhalten laufend Werte (Elemente in Queue: Zahl steigt an).

Ja das ist mir klar, ohne die Hardware kannst du das auch nicht wirklich simulieren, was ich auch nie verlangen würde, ich dachte vielleicht sieht da jemand von Auge was nicht stimmen könnte.
Hallo Ratio,

Zitat:Alle Werte bis zur Schleife werden geladen. Die Schleife bleibt unbenutzt (ausgegraut).
Das kann nicht sein…
Wenn alle Eingangswerte der Schleife vorhanden sind, wird die Schleife auch gestartet: THINK DATAFLOW!

Edit:
Kaum fängt man an, dein VI mal aufzuräumen, sieht man auch schon das Problem:
[attachment=58573]
Ich habe den Übeltäter markiert…

Wie ich schon ein paarmal sagte: per Debugging überprüfen, ob ALLE Eingänge der letzten Schleife bereitstehen!
Da hast du wohl was übersehen… Wall
Lieber Gerd

Ja das war der Fehler, jetzt wird die Schleife endlich aufgerufen, jetzt ist mir klar, was du damit gemeint hast. Ich hatte damit gerechnet, dass sowas eine Fehlermeldung nach sich ziehen würde, und darum auch nicht genauer kotrolliert.
Nun habe ich wider etwas gelernt was ich so schnell wohl nicht mehr vergessen werde (DATAFLOW) Big Grin....
Aber die Hauptsache ist ja, dass ich dank deiner Hilfe nun weitergekommen bin.

Ich wüsche Dir schöne Festtage und ein frohes neues Jahr.

Gruss Ratio
Hallo Ratio,

Zitat:Ich hatte damit gerechnet, dass sowas eine Fehlermeldung nach sich ziehen würde
Wieso soll es ein Fehler sein oder eine Fehlermeldung geben, wenn DU festlegst, dass eine Schleife erst starten soll, wenn eine andere beendet wurde?
THINK DATAFLOW! Big Grin

Frohe Weihnachten!
Seiten: 1 2
Referenz-URLs