11.09.2007, 14:08
Beitrag #2
|
eg
LVF-SeniorMod
Beiträge: 3.868
Registriert seit: Nov 2005
2016
2003
kA
66111
Deutschland
|
Probleme mit Zykluszeiten...
Ich würde mal behaupten, die Zykluszeit wird nicht (nur) wegen der Größe des Arrays länger, sondern wegen der Darstellung auf dem Graphen. Die Darstellung nimmt am meisten Ressourcen.
http://www.LabVIEWforum.de/index.php?showt...ost&p=35601
eg
|
|
|
11.09.2007, 14:14
Beitrag #3
|
|
|
11.09.2007, 14:32
Beitrag #4
|
fruchtalarm83
LVF-Grünschnabel
![*](images/labview/lvfpip.gif)
Beiträge: 19
Registriert seit: Apr 2007
8.2.1
2006
kA
Deutschland
|
Probleme mit Zykluszeiten...
ah ok das könnt sein, weil nämlich das XYGraph Anzeigeelement auch in der Hauptschleife liegt.
Aber wie würde ich denn die Arraywerte von der Hauptschleife in die links daneben bekommen,
wenn ich angenommen den Graph in die linken Schleife lege die nur alle 250ms abgefragt wird.
Über lokale Var würd ich das nicht probieren, oder wär das in dem Fall egal?
Die Arraygröße ist mir im prinzip nicht bekannt, das programm soll ja soviel messwerte aufnehmen können wie geht... aber müsste doch in so einer kurzen zeit doch keine Auswirkung auf die gesammte schleife haben oder?
|
|
|
11.09.2007, 14:52
Beitrag #5
|
eg
LVF-SeniorMod
Beiträge: 3.868
Registriert seit: Nov 2005
2016
2003
kA
66111
Deutschland
|
Probleme mit Zykluszeiten...
' schrieb:ah ok das könnt sein, weil nämlich das XYGraph Anzeigeelement auch in der Hauptschleife liegt.
Aber wie würde ich denn die Arraywerte von der Hauptschleife in die links daneben bekommen,
wenn ich angenommen den Graph in die linken Schleife lege die nur alle 250ms abgefragt wird.
Über lokale Var würd ich das nicht probieren, oder wär das in dem Fall egal?
Die Arraygröße ist mir im prinzip nicht bekannt, das programm soll ja soviel messwerte aufnehmen können wie geht... aber müsste doch in so einer kurzen zeit doch keine Auswirkung auf die gesammte schleife haben oder?
Hast du den Link mal angeschaut? Du kannst deine XY-Anzeige in der Hauptschleife lassen, nur aber in einer Case-Struktur verstecken und halt nicht mit jedem Schleifendurchlauf erneuern.
eg
|
|
|
12.09.2007, 15:10
(Dieser Beitrag wurde zuletzt bearbeitet: 12.09.2007 15:34 von jg.)
Beitrag #7
|
jg
CLA & CLED
Beiträge: 15.864
Registriert seit: Jun 2005
20xx / 8.x
1999
EN
Franken...
Deutschland
|
Probleme mit Zykluszeiten...
Wie sollen wir das jetzt wissen?
Du hast noch kein Wort darüber verloren, was bei dir "Messdatenerfassung" heisst.
Woher bekommst du deine Messdaten? DAQ? Bilder? Seriell? GBIB? Fragen über Fragen!
Denn in dein Datenerfassung(bzw. DatenIO)-VI kann ich hier per Hellseherfunktion nicht reinschauen.
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!
Einführende Links zu LabVIEW, s. GerdWs Signatur.
|
|
|
12.09.2007, 16:15
Beitrag #8
|
Lucki
Tech.Exp.2.Klasse
Beiträge: 7.699
Registriert seit: Mar 2006
LV 2016-18 prof.
1995
DE
01108
Deutschland
|
Probleme mit Zykluszeiten...
Die Hauptgründe, warum es nicht gut funktioniert, wurden ja schon genannt:
1.) Funktion Ersetzen statt Anhängen bei den Arrays verwenden
2.) Man kann/soll ein Diagramm nicht 1000mal in des Sekunde Updaten.
Das Übel beginnt hier schon bei der Datenerfassung. (Auch ich kann allerdings nicht hellsehen, wie das bei Dir genau ist. Aber so viel steht fest: Die Optimierung der Datenerfssung ist das wichtigste)
Folgendes sollte da beachtet werden:
1) Die Datenerfassungs VI, und nicht die übergeordnete Schleife, sollte den Takt bestimmen. Der Takt sollte von der Hardware der Messkarte getriggert sein, und nicht wie bei Dir, wo jeder einzelen Messwert von der übergeordneten Schleife ausgelöst wird. Wenn man das VI DAQmx Lesen verwendet, bestimmt dieses automatisch den Takt, da es immer so lange wartet, bis die gewünschte Anzahl von (hardwaregeriggerten) Werten im DAQ-Buffer erreicht ist
2) Bei einer Rate von 1000Sampes/sec ist es der helle Wahnsinn, jeden Wert einzeln aus dem DAQ-Buffer auszulesen und zu verarbeiten. Sinnvoll währe z.B eine Bufferlänge von 200 Samples. Dann würde auch das Diagramm nicht 1000 mal ind er Sekunde, sondern nur noch 5 Mal upgedatet. Natürlich muß da manches in der Organisation geändert werden.
2 kleine Hinweise:
a) Die Timer in der Eventschliefe ist überflüssig. Das Timeout ist bereits auf Unendlich eingestellt, d.h ein Schleifendurchlauf findet überhaupt nur dann statt, wenn ein Ereignis anliegt.
b) Der Stop-Taster muß spätesten beim Neustart des Pragramms mit eine lokalen Variablen auf false rückgesetzt werden.
Wenn man mich fragen würde, wie ich es machen würde, dann würde ich dies sagen:
Signalverlaufsdiagramm statt XY-Garaph verwenden. Dort ist eine Rinpuffer schon eingebaut, Du brauchst Dich nicht mit dem Sammeln und Aufbewahren aller Daten (Inserte oder Replace) im Vorfeld herumzuschinden. Außerdem hast Du nur dort die Möglichkeit Stapelplots zu verwenden (Deine Signalbezeichnungen "Hub", "Lastwert", "Kraft" sehen mir nicht so aus, als ob man sie in einem Diagramm mit einer einheitlichen Y-Achse konfortabel darstellen könnte)
|
|
|
13.09.2007, 08:10
Beitrag #9
|
fruchtalarm83
LVF-Grünschnabel
![*](images/labview/lvfpip.gif)
Beiträge: 19
Registriert seit: Apr 2007
8.2.1
2006
kA
Deutschland
|
Probleme mit Zykluszeiten...
@ Jens G
Die Frage war auf das "Ersetzen anstatt Anhängen" bezogen.
Schließlich muss ich dann meine Arraygröße kennen, was mich jetzt fragen lässt ob diese angegebene Arraygröße analog zu dem ist, was ich dann später an Werte in dem Array erhalten werde...
aber gut ich werds einfach mal ausprobieren...
@Lucki
danke für die Hinweise...
Wenn ich das Signalverlaufsdiagramm benutze dann darf ich/kann ich sozusagen meine Istwerte dort anschließen und die werden automatisch gepuffert und angezeigt?
Dann würde aber noch offen bleiben wie ich die Daten dann in eine ANSI Datei bekomme...
Naja ich probier mal beide Varianten vielleicht lösen sich ja gleich alle Probleme auf...
Vielen Dank soweit...
|
|
|
13.09.2007, 09:36
|
Lucki
Tech.Exp.2.Klasse
Beiträge: 7.699
Registriert seit: Mar 2006
LV 2016-18 prof.
1995
DE
01108
Deutschland
|
Probleme mit Zykluszeiten...
' schrieb:Wenn ich das Signalverlaufsdiagramm benutze dann darf ich/kann ich sozusagen meine Istwerte dort anschließen und die werden automatisch gepuffert und angezeigt?
Ja, so ist es, aber wenn Du mit "automatisch" meinst, das jeder Anfänger das ohne Probleme hinbekommt, dann muß ich Dich enttäuschen. Schon wenn es mehr als ein Kanal ist wird es schwieriger. Ich habe recht lange gebraucht, bis ich alle Möglichkeiten von Signalverlaufsdiagrammen auschöpfen konnte.
Wenn Du nicht klar kommt: funktionsfähiges VI posten, wobei die darzustellenden Daten (updates) in eine normale Anzeige gehen. Dann kann Dir hier weitergeholfen werden.
|
|
|
| |