05.02.2015, 14:19
|
GerdW
______________
Beiträge: 17.488
Registriert seit: May 2009
LV2021
1995
DE_EN
10×××
Deutschland
|
RE: Abbruchbedingung while-Schleife führt zu Fehler
Hallo Franzie,
Zitat:Bei IndexArray kommt alles an - bei der Konstante sollte ja nicht allzu viel schief gehen, die liefert den Wert 10. Aber auch das, was vom "FromDDT" kommen soll, ist da (ein paar komische Werte halt weil ich wie gesagt noch keine Widerstände angeschlossen habe).
Es kommen also Daten vom DAQAssi/FromDDT, aber nach dem IndexArray kommt nichts mehr.
Lösung: per Sonde/zusätzlichem Indicator anschauen, wieviele Kanäle/Samples du im Array vor dem IndexArray hast - und ob es überhaupt eine Zeile "10" gibt! Wenn du versuchst, nicht existierende Zeilen/Spalten zu indizieren, kommt natürlich ein leeres Array heraus…
Wie schon gesagt: sowas findet man per Debugging heraus…
|
|
|
05.02.2015, 14:31
(Dieser Beitrag wurde zuletzt bearbeitet: 05.02.2015 15:02 von toxicomanie.)
|
toxicomanie
LVF-Gelegenheitsschreiber
![*](images/labview/lvfpip.gif) ![*](images/labview/lvfpip.gif)
Beiträge: 97
Registriert seit: Feb 2015
2014
2015
DE
Deutschland
|
RE: Abbruchbedingung while-Schleife führt zu Fehler
(05.02.2015 14:19 )GerdW schrieb: Hallo Franzie,
Zitat:Bei IndexArray kommt alles an - bei der Konstante sollte ja nicht allzu viel schief gehen, die liefert den Wert 10. Aber auch das, was vom "FromDDT" kommen soll, ist da (ein paar komische Werte halt weil ich wie gesagt noch keine Widerstände angeschlossen habe).
Es kommen also Daten vom DAQAssi/FromDDT, aber nach dem IndexArray kommt nichts mehr.
Lösung: per Sonde/zusätzlichem Indicator anschauen, wieviele Kanäle/Samples du im Array vor dem IndexArray hast - und ob es überhaupt eine Zeile "10" gibt! Wenn du versuchst, nicht existierende Zeilen/Spalten zu indizieren, kommt natürlich ein leeres Array heraus…
Wie schon gesagt: sowas findet man per Debugging heraus…
uuuuh tricky Idee mit dem Anzeigeelement^^ Das war leider zu einfach, die Kanäle sind alle da, von 0 bis 10. :/ Allerdings habe ich das Gefühl, dass es an der CASE-Struktur scheitert, diese Bedingung ist nämlich einfach immer falsch! Kann das sein? Die Array-Größe ist 0! o.O
|
|
|
05.02.2015, 15:39
(Dieser Beitrag wurde zuletzt bearbeitet: 05.02.2015 15:39 von GerdW.)
|
|
|
05.02.2015, 15:43
(Dieser Beitrag wurde zuletzt bearbeitet: 05.02.2015 15:49 von toxicomanie.)
|
toxicomanie
LVF-Gelegenheitsschreiber
![*](images/labview/lvfpip.gif) ![*](images/labview/lvfpip.gif)
Beiträge: 97
Registriert seit: Feb 2015
2014
2015
DE
Deutschland
|
RE: Abbruchbedingung while-Schleife führt zu Fehler
Okay, von vorne. Ich habe nochmal eine Anzeige erstellt, um mir den Array anzeigen zu lassen vor IndexArray. Am "From DDT" hat sich leider nochmal was verstellt bzw. hab ich wahrscheinlich beim Abspeichern versagt, jedenfalls sind es jetzt die 11 erforderlichen Zeilen für die 11 Kanäle und 10 Spalten (warum eigentlich genau 10?). Alle Sonden, die ich platziert habe, zeigen jetzt etwas an - bis auf die hinter "1D-Array teilen"! Es wird also nichts an das SRG weitergegeben! der zweite Teil-Array wird nicht erstellt. Allerdings ist immer noch das Problem da, dass die Sonde vor dem Selektoranschluss immer FALSE anzeigt o.O Nach wie vor landen keine Daten in meiner Datei, obwohl auch bei der Sonde zwischen "Array erstellen" und "Tabellenkalkulationsdatei" ein Wert vorhanden ist.
Ich glaube, es liegt einfach daran dass der Case TRUE gar nicht stattfindet. Die Sonde vor dem Selektoranschluss zeigt mir nach Beenden der Schleife den Wert 4750 - das bedeutet, das Programm hört einfach auf ohne überhaupt an die geforderten 6000 Samples pro Minute zu kommen! Wieso das? ![Glas1 Glas1](images/smilies/lvfsmilies/fun/glas1.gif) magic ![Tongue Tongue](images/smilies/tongue.gif)
Ha! Schau an... Also, ich habe jetzt die Zahl von 6000 auf 1000 reduziert und jetzt springt es in den Case rein und in meiner Datei landen 5 Dateien. Ein bisschen fühle ich mich jetzt Check24
Danke für das Testprogramm! Das und die viele Arbeit die du hier investierst, ich weiß deine Hilfe wirklich sehr zu schätzen!
|
|
|
05.02.2015, 15:51
|
GerdW
______________
Beiträge: 17.488
Registriert seit: May 2009
LV2021
1995
DE_EN
10×××
Deutschland
|
RE: Abbruchbedingung while-Schleife führt zu Fehler
Hallo Franzie,
Zitat:jedenfalls sind es jetzt die 11 erforderlichen Zeilen für die 11 Kanäle und 10 Spalten (warum eigentlich genau 10?)
Wow, was man nicht alles mit Debugging herausfinden kann… ![Big Grin Big Grin](images/smilies/biggrin.gif)
Warum 10 Samples pro Kanal? Was hast du nochmal dem DAQAssi als Blockgröße auf den Weg gegeben?
Zitat:Die Sonde vor dem Selektoranschluss zeigt mir nach Beenden der Schleife den Wert 4750 - das bedeutet, das Programm hört einfach auf ohne überhaupt an die geforderten 6000 Samples pro Minute zu kommen!
Wenn im Array im Schieberegister nur 4750 Werte stehen, wird ein Case, der erst bei mehr als 6000 Samples aufgerufen werden soll, wohl nicht aktiviert…
Zitat:Wieso das?
Lass doch mal deine eigene Zeit-Abbruchbedingung weg und stoppe die Schleife erst, wenn wirklich 6000 Samples gemessen wurden. Du solltest nur die Zeit messen, die deine Schleife dann zum Durchlaufen benötigt…
Und wenn du das gemacht hast, schaust du dir bitte mal die BeispielVIs zu DAQmx an. Und vollziehst das Ganze mit einfachen DAQmx-Funktionen OHNE DAQAssi nach. Ist nämlich super einfach…
|
|
|
05.02.2015, 16:14
|
toxicomanie
LVF-Gelegenheitsschreiber
![*](images/labview/lvfpip.gif) ![*](images/labview/lvfpip.gif)
Beiträge: 97
Registriert seit: Feb 2015
2014
2015
DE
Deutschland
|
RE: Abbruchbedingung while-Schleife führt zu Fehler
Hmm es sind 69,807 Sekunden vergangen bis ich die 6000 Samples hatte^^ Soll das heißen dass es auch länger dauern kann als die 6o Sekunden?
xD oh weh, da stand ich wieder auf dem Schlauch mit der Blockgröße. Ich arbeite an mir.
Ich habe fest vor den DAQ-Assistenten auszutauschen, so sehr wie du mir dazu rätst komm ich kaum dran vorbei ![Wink Wink](images/smilies/wink.gif) Ich sehe auch die Notwendigkeit ein - für heute mach ich erst mal Schluss, morgen möchte ich dann noch das mit der Zeit hinbekommen und wenn es dich glücklich macht, dann kümmere ich mich auch um die Arbeit mit DAQmx ![Big Grin Big Grin](images/smilies/biggrin.gif) Ich hoff, du kannst mir auch da wieder helfen, bisher war es Gold wert
Liebe Grüße,
Franzie
|
|
|
05.02.2015, 16:18
(Dieser Beitrag wurde zuletzt bearbeitet: 05.02.2015 16:18 von GerdW.)
|
GerdW
______________
Beiträge: 17.488
Registriert seit: May 2009
LV2021
1995
DE_EN
10×××
Deutschland
|
RE: Abbruchbedingung while-Schleife führt zu Fehler
Hallo Franzie,
Zitat:Ich habe fest vor den DAQ-Assistenten auszutauschen, so sehr wie du mir dazu rätst komm ich kaum dran vorbei Wink Ich sehe auch die Notwendigkeit ein - für heute mach ich erst mal Schluss, morgen möchte ich dann noch das mit der Zeit hinbekommen und wenn es dich glücklich macht, dann kümmere ich mich auch um die Arbeit mit DAQmx
Ich habe die starke Vermutung, dass der DAQAssi für die Verzögerung verantwortlich ist.
Wenn du also erst die DAQmx-Funktionen erlernen würdest, könntest du "das mit der Zeit" quasi nebenbei hinbekommen…
Wie oft habe ich dich jetzt schon auf die BeispielVIs hingewiesen?
|
|
|
05.02.2015, 16:54
|
Nordvestlys
LVF-Gelegenheitsschreiber
![*](images/labview/lvfpip.gif) ![*](images/labview/lvfpip.gif)
Beiträge: 108
Registriert seit: Sep 2014
2015 (und testweise 2016)
2005
EN
07743
Deutschland
|
RE: Abbruchbedingung while-Schleife führt zu Fehler
Den DAQ-Assi kann man mit Rechtsklick in "normalen" Code umwandeln. Dann sind die grundlegenden Einstellungen schonmal übernommen und man vergisst nichts....
Meistens erkennt man dann ganz schnell, dass es Teile gibt (Start/Stop) die man sinnvollerweise nur einmal ausführt, und andere Teile (Datenerfassung) die regelmäßig wiederholt werden.
Der entsprechende Umbau sollte auch ohne DAQ-Detailkenntnisse zu bewerkstelligen sein.
|
|
|
06.02.2015, 07:07
|
toxicomanie
LVF-Gelegenheitsschreiber
![*](images/labview/lvfpip.gif) ![*](images/labview/lvfpip.gif)
Beiträge: 97
Registriert seit: Feb 2015
2014
2015
DE
Deutschland
|
RE: Abbruchbedingung while-Schleife führt zu Fehler
Guten Morgen ihr beiden!
Danke noch für eure Antworten gestern Nachmittag.
Das mit dem Umwandeln des DAQ-Assistenten habe ich schon vor ein paar Tagen gefunden - ich werde das mit Sicherheit benutzen, weil ich tatsächlich Angst habe, sonst etwas zu vergessen. Nichtsdestotrotz muss ich Gerd recht geben, es wird mir wenig übrigbleiben als mich damit auseinanderzusetzen. Immerhin soll ich diese Software ja auch bis zum Ende meines Studiums sinnvoll in der Arbeit anwenden, da helfen oberflächliche Kenntnisse irgendwann nicht mehr weiter. Der Schnelligkeit halber muss ich aber auf das Umwandeln zurückgreifen (ich habe nur noch 5 Wochen bis zum Semesterbeginn, bis dahin sollte ich eigentlich auch noch andere Projekte machen ![Wink Wink](images/smilies/wink.gif) ).
|
|
|
06.02.2015, 08:12
(Dieser Beitrag wurde zuletzt bearbeitet: 06.02.2015 08:21 von toxicomanie.)
|
|
|
| |