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 

Timed loop dauert länger als vorgegeben



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!

07.11.2012, 12:53
Beitrag #1

AnnaGT Offline
LVF-Grünschnabel
*


Beiträge: 23
Registriert seit: Oct 2012

2011
-
EN



Timed loop dauert länger als vorgegeben
Hallo!

Ich habe vor kurzem mit LabVIEW angefangen, um ein Messprogramm für eine Modellgasturbine zu schreiben.
Ich habe dafür ein fertiges Programm als Unterstützung bekommen.

Das Programm soll zwei Erfassungsmodi haben. Im normalen Fall soll das Programm sekündlich die Anzeige am Frontpanel aktualisieren und Werte erfassen. Wenn eine Messung gestartet wird, sollen die Abtasfrequenz und Messwertanzahl einstellbar sein.

Um die Schleifendauer zu definieren, war es in diesem vorgegebenen Programm so, dass es über die Abtastfrequenz eingestellt werden kann.
Ich habe jetzt folgendes Problem, die Anzeige ändert sich trotz Angabe unterschiedlicher Abtastfrequenzen immer ungefähr jede 9 Sekunden.
Woran liegt das?

Ich habe schon in ein paar Einträge gelesen, dass es daran liegen kann, dass im timed loop Dateien gespeichert werden.
Aber ich bin mir nicht sicher was die beste Lösung wäre (ob Queues, getrennte Schleifen...Confused), deswegen würde ich gerne ein paar Tips von erfahrenere Leute hören.

Danke für eure Hilfe!

Lg, Anna


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
07.11.2012, 13:09 (Dieser Beitrag wurde zuletzt bearbeitet: 07.11.2012 13:11 von GerdW.)
Beitrag #2

GerdW Offline
______________
LVF-Team

Beiträge: 17.469
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Timed loop dauert länger als vorgegeben
Hallo Anna,

wenn deine TWL langsamer als gewünscht läuft, dürfte dies daran liegen, dass die subVIs einfach nicht schnell genug fertig werden...

Bevor eine neue Iteration beginnen kann, muss die aktuelle abgearbeitet sein!
Und ja, parallele Schleifen kann man nutzen, um "schnelle" und "langsame" Aufgaben voneinander zu trennen...

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
09.11.2012, 13:44
Beitrag #3

AnnaGT Offline
LVF-Grünschnabel
*


Beiträge: 23
Registriert seit: Oct 2012

2011
-
EN



RE: Timed loop dauert länger als vorgegeben
Hi!

Ok danke!

Aber bin mir noch nicht sicher, wie ich es lösen soll.

Ist es besser wenn ich statt die timed while loop direkt in den Express Vis zur Messwertaufnahme die Zeit definiere? (Siehe Anhang)
(Dabei kriege ich aber eine Fehlermeldung: Possible reason(s):
NI Platform Services: The specified resource is reserved. The operation could not be completed as specified.
Task Name: _unnamedTask<92>)

Oder würde zum Bespiel mehr Sinn machen kein Express Vi zu benutzen und das Öffnen und Schließen der Messwertaufnahme außerhald der Schleife zu machen?

Danke nochmal!

Lg, Anna


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
09.11.2012, 13:49 (Dieser Beitrag wurde zuletzt bearbeitet: 09.11.2012 13:50 von GerdW.)
Beitrag #4

GerdW Offline
______________
LVF-Team

Beiträge: 17.469
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Timed loop dauert länger als vorgegeben

Akzeptierte Lösung

Hallo Anna,

Zitat:Oder würde zum Bespiel mehr Sinn machen kein Express Vi zu benutzen und das Öffnen und Schließen der Messwertaufnahme außerhald der Schleife zu machen?
Spätestens wenn man wie du 6 DAQ-Assis parallel laufen lassen will und dabei (verständlicherweise) dauernd Fehlermeldungen bekommt, sollte man sich mal mit den DAQmx-Funktionen auseinandersetzen. Ist leichter als du denkst!

Zitat:Ist es besser wenn ich statt die timed while loop direkt in den Express Vis zur Messwertaufnahme die Zeit definiere?
1) Die TWL kann nicht schneller laufen als der Schleifeninhalt.
2) Solange man Hardware-Timing beim DAQ nutzen kann, sollte man darauf zurückgreifen.
Ergo: Nutze das Timing deiner DAQ-Hardware!

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
15.11.2012, 12:21
Beitrag #5

AnnaGT Offline
LVF-Grünschnabel
*


Beiträge: 23
Registriert seit: Oct 2012

2011
-
EN



RE: Timed loop dauert länger als vorgegeben
Hallo,

Ich habe jetzt die Initialisierung und das Schließen der Karte außerhalb von der Schleife gemacht und habe auch die Abtastfrequenz und die Anzahl der Messwerte gleich im Sample Clock definiert.
Es hat dann auch mit dem Einhalten der Zeit funktioniert. Danke!

Ich habe es gespeichert und jetzt funktioniert es nicht mehr. Die Daten werden nicht mehr sekündlich im Frontpanel aktualisiert. Und zwar glaube ich liegt es daran, dass im Input (Devices_Read.vi) kommt am Ausgang der Read Funktionen ein Error: -200077.

Ich habe Info über diesen Fehler gesucht und habe aber nichts hilfreiches gefunden. Ich habe auch den Datentyp am Ausgang verändert aber es liegt anscheinend nicht daran Confused.

Weißt ihr was ich machen konnte oder woran es liegen konnte?

(Das SubVI ist noch nicht fertig, aber ich wollte erstmal die Anzeige in der Zeit hinkriegen)

Viele Grüße,

Anna


Angehängte Datei(en) Thumbnail(s)
   

11.0 .vi  Devices_Read.vi (Größe: 176,68 KB / Downloads: 229)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
15.11.2012, 12:56 (Dieser Beitrag wurde zuletzt bearbeitet: 15.11.2012 13:00 von GerdW.)
Beitrag #6

GerdW Offline
______________
LVF-Team

Beiträge: 17.469
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Timed loop dauert länger als vorgegeben
Hallo Anna,

Zitat:glaube ich liegt es daran, dass im Input (Devices_Read.vi) kommt am Ausgang der Read Funktionen ein Error: -200077.
Bei welchem DAQmx-Aufruf? Du hast mehrere im VI...
Der Fehler sagt: die gewünschte Einstellung wird vom Gerät nicht unterstützt. Du musst schon gucken, ob das, was du da einstellst, auch von der Hardware unterstützt wird!

Weiterhin unsinnig:
   
Wozu überhaupt die InitArray-Funktion? Und warum dann ein Array mit NULL Elementen (d.h. leer!) erzeugen?
Wozu überhaupt die Messschleife, wenn alle Messergebnisse weggeworfen werden???

Diese ganze Umwandel-Orgie nach und von DDT ist auch nicht hilfreich. Auch hier schleichen sich schnell Fehler ein!

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
15.11.2012, 16:43
Beitrag #7

AnnaGT Offline
LVF-Grünschnabel
*


Beiträge: 23
Registriert seit: Oct 2012

2011
-
EN



RE: Timed loop dauert länger als vorgegeben
Ja das mit dem Array hatte ich schon agenfangen zu ändern (siehe Anhang), weil ich am Anfang nicht wusste wie man aus alle Elementen der For-Schleife ein Array zu machen. Ich dachte die Null war die erste Indizierungsnr.

Ich wollte halt am Ende ein Array mit allen Messwerten bekommen.

Aber diese Fehlermeldung verstehe ich nicht, weil die vorher nicht da war und die Hardware hat sich nicht geändert. Die kommt nach allen DAQmx-Read (Analog...) Kann es nicht an was anderes liegen?
Ich habe auch zuerst die Fehlermeldung 200088 bekommen.


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
15.11.2012, 16:47 (Dieser Beitrag wurde zuletzt bearbeitet: 15.11.2012 16:47 von GerdW.)
Beitrag #8

GerdW Offline
______________
LVF-Team

Beiträge: 17.469
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Timed loop dauert länger als vorgegeben
Hallo Anna,

"-200088" bedeutet: Task ungültig.
"-200077" bedeutet: gewünschte Eigenschaften nicht unterstützt.

Da du uns nicht zeigst, wie die Tasks konfiguriert werden, kann man da wenig helfen. Musst du selbst suchen!
(Sind alle Referenzen richtig zugeordnet?)

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
15.11.2012, 19:36 (Dieser Beitrag wurde zuletzt bearbeitet: 15.11.2012 19:41 von jg.)
Beitrag #9

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: Timed loop dauert länger als vorgegeben

Akzeptierte Lösung

Laut der Doku in deinem VI hast du 3x USB-9211-Module verwendet.
Dieses Modul lässt sich laut Specs auf ni.com mit einem Software-Takt von maximal 14S/s auslesen, hier also einen Hardware-Takt mit Sample-Clock zu konfigurieren muss fehlschlagen. Das sollte die Ursache für den "-200077" Fehler sein.

Gruß, 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!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
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
  Parallel Port Read and Write Loop.vi rothhp 2 4.292 16.12.2015 16:08
Letzter Beitrag: rothhp
  While-loop Margi 2 3.332 21.09.2015 12:49
Letzter Beitrag: TDO
  For und While Loop katana 2 4.178 29.07.2015 11:14
Letzter Beitrag: Trinitatis
  While Loop Case überspringen PaulC 13 12.575 07.01.2015 15:13
Letzter Beitrag: GerdW
  Timing simulation and control loop I2thavo 0 3.633 23.07.2014 19:49
Letzter Beitrag: I2thavo
  Aufruf externer Lib dauert sehr lange dimitri84 7 7.126 21.05.2013 08:18
Letzter Beitrag: dimitri84

Gehe zu: