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!
da ich noch absoluter Newby in Sachen LABView bin, wäre ich super glücklich, wenn ich von euch mal einen Tip bekommen würde.
Ich soll einen Schaltplan zur Datenerfassung von Duchflüssen bei verschiedenen Drücken realisieren.
Die verschiedenen Druckstufen lasse ich eine Rampenfunktion fahrfen, die sich Schrittweise alle 30 Sekunden um 0,125 erhöht. Das war eig. nicht wirklich das Problem, da man es in zig verschiedenen Varianten erstellen kann. Mein Problem ist: Nachdem eine Druckstufe angefahren ist möchte ich nach 24Sekunden, bis zur 29. Sekunde, jede Sekunde einen Messwert aufnehmen und aus diesen 6 Messwerten ein Mittelwert bilden, die danach abgespecihert werden und der Vorgang beginnt wieder von vorne mit einer neuen Druckstufe und neuen 30 Sekunden...
Ich hoffe mir kann da jemand mit helfen, wäre echt nett...
Unter 7.1 gibt es Timelopps mit offsetfunktion und Schleifendurchlaufzeit usw....
Du kannst im Vi also nach der Druckstufenwertänderung über zum Bsp eine Eventstruktur die Timeloop ablaufen lassen unabhängig vom Rest oder aber auch die Druckstufenregelung mit Timeloops. Das Ganze geht auch recht einfach mit Wait und Countfunktionen. Sollte nicht das Problem sein. Sofern es noch ein Problem ist
' schrieb:Hallo,
da ich noch absoluter Newby in Sachen LABView bin, wäre ich super glücklich, wenn ich von euch mal einen Tip bekommen würde.
Ich soll einen Schaltplan zur Datenerfassung von Duchflüssen bei verschiedenen Drücken realisieren.
Die verschiedenen Druckstufen lasse ich eine Rampenfunktion fahrfen, die sich Schrittweise alle 30 Sekunden um 0,125 erhöht. Das war eig. nicht wirklich das Problem, da man es in zig verschiedenen Varianten erstellen kann. Mein Problem ist: Nachdem eine Druckstufe angefahren ist möchte ich nach 24Sekunden, bis zur 29. Sekunde, jede Sekunde einen Messwert aufnehmen und aus diesen 6 Messwerten ein Mittelwert bilden, die danach abgespecihert werden und der Vorgang beginnt wieder von vorne mit einer neuen Druckstufe und neuen 30 Sekunden...
Ich hoffe mir kann da jemand mit helfen, wäre echt nett...
mfg
Dominik
13.07.2006, 13:27 (Dieser Beitrag wurde zuletzt bearbeitet: 13.07.2006 13:29 von Dom.)
' schrieb:Unter 7.1 gibt es Timelopps mit offsetfunktion und Schleifendurchlaufzeit usw....
Du kannst im Vi also nach der Druckstufenwertänderung über zum Bsp eine Eventstruktur die Timeloop ablaufen lassen unabhängig vom Rest oder aber auch die Druckstufenregelung mit Timeloops. Das Ganze geht auch recht einfach mit Wait und Countfunktionen. Sollte nicht das Problem sein. Sofern es noch ein Problem ist
Hmm, komme Gerade erst wieder aus meinem wohlverdienten Urlaub :-), freut mich das sich jdm meinem Problem angenommen hat, nur viel weiter bin ich dann doch nicht gekommen.
Habe einfach mal das Vi angehängt, d.h. wie weit ich jetzt schon bin, vieleicht gibt mir jdm doch nich Tips, wie ich es wie oben beschrieben realisieren kann. Stehe gerade mal total auf dem Schlauch, da ich auch noch nie mit Event Structures gearbeitet habe.
Hmm vielleicht kann mir noch jemand helfen?
Ich will ja meinen Sollwert einstellen, der um einen gewissen Betrag immer wieder erhöht wird.
Nachdem der Sollwert eingestellt ist, möchte ich ihn so lange halten, bis das eine andere Schleife abgearbeitet ist und danach erst der neue Sollwert wieder eingestellt ist. (Bin am verzweifeln :-( )
In der zweiten Schleife sollte die Messwerterfassung laufen, die nachdem der Sollwert eingestellt ist, erst nach 20s aktiviert wird.
Ich glaube man kann das bestimmt mit einer Time-Loop realisieren, nur gearbeitet habe ich halt damit noch nie und die Bsp sagen mir auch nicht viel.#Wäre also nett wenn mir da jdm helfen könnte.
Ich lade noch einmal ein VI hoch, wie ich mir es vorstellen könnte (funkt aber ja leider nicht)
Hilfe brauche ich wirklich, wir ihr dann schon sehen werdet...
Schönen Dank schon einmal!
Gruß
Dominik
22.07.2006, 03:33 (Dieser Beitrag wurde zuletzt bearbeitet: 22.07.2006 03:41 von Teutates.)
Hab Dir da mal was gebastelt aber ich zeig Dir nur die Screenshots , nachbauen musste selber
Hab ich außerdem mit der Studentversion gemacht und da kannst es eh nicht nutzen weil gesperrt...
der Timer in der ersten Sequenz muss natürlich auf 20000 gestellt werden.
Würde Dir aber mal raten das so nachzubauen und dann weiterzumachen und so anzupassen wie Du es brauchst.
Falls Du das Symbol property nodes noch nicht kennst dann klicke mal links auf eines der numerischen Anzeigen
mit der rechten Maustaste unter erstellen , dann kannst Du einstellen welche Eigenschaft dieses Elements beeinflusst werden sollen, da kannst mit der linken Maustaste auf die Defaulteigenschaft visible klicken und value auswählen, so hast volen Zugriff auf die Werte welche das Element anzeigt. Du kannst unter den Eigenschaften indem Du mit rechter Maustaste auf die propertynode klickst auch wählen ob gelesen oder geschrieben werden soll. probier mal ein bißchen rum...
' schrieb:Hab Dir da mal was gebastelt aber ich zeig Dir nur die Screenshots , nachbauen musste selber
Hab ich außerdem mit der Studentversion gemacht und da kannst es eh nicht nutzen weil gesperrt...
der Timer in der ersten Sequenz muss natürlich auf 20000 gestellt werden.
Würde Dir aber mal raten das so nachzubauen und dann weiterzumachen und so anzupassen wie Du es brauchst.
Falls Du das Symbol property nodes noch nicht kennst dann klicke mal links auf eines der numerischen Anzeigen
mit der rechten Maustaste unter erstellen , dann kannst Du einstellen welche Eigenschaft dieses Elements beeinflusst werden sollen, da kannst mit der linken Maustaste auf die Defaulteigenschaft visible klicken und value auswählen, so hast volen Zugriff auf die Werte welche das Element anzeigt. Du kannst unter den Eigenschaften indem Du mit rechter Maustaste auf die propertynode klickst auch wählen ob gelesen oder geschrieben werden soll. probier mal ein bißchen rum...
Hi,
schönen Dank, dass du dich damit beschäfigst.
Habe es jetzt auch soweit aufgebaut, da ich aber noch nie mit Property Nodes gearbeitet habe, komme ich damit auch noch nicht wirklich klar, hänge Dir am besten das Vi an, dann siehst du ja schon was schief läuft. Habe Verbindungsprobleme en Masse.
Wäre schön, wenn ud mir da noch einmal helfen könntest.
mfg
ich hoffe das ist kein Problem, wenn ich mich hier etwas "einmische".
Hab Dein Programm durchgesehen und denke ich weiß in etwa was Du erreichen möchtest.
Wir machen das schrittweise:
1. Die Verbindung zum Eigenschaftknoten "Sichtbar" von Mittelwert.
Hier versuchst Du einen DBL-Wert (orangene Linie) mit einem Bool-Wert (Eigenschaft sichtbar) zu verbinden.
Das geht nicht. Lösch mal die Verbindung nur zu dem Attribut sichbar.
Danach sind ein paar Verbindungen wieder ok.
2. Du verwendest in Deinem Programm fast außschließlich Eigenschaftknoten. Das ist aber nicht notwendig.
Das Anzeigeelement Schrittgröße kannst Du zusammen mit der Konstanten statt dem Knoten verwenden.
Das trifft gleichermaßen auf auf den Stop-Button (Cancel) zu. Den kannst Du statt dem Eigenschaftknoten
"Wert" verwenden.
3. Auf der linken Seite hast Du an den Anzeigenelementen "Mittelwerte" und "Alle Messwerte" jeweils ein
Array angeschlossen. Das paßt leider nicht zusammen. Ein Array beinhaltet mehrere Werte des gleichen
Datentyps. Ein Anzeigenelement wie Du es verwendest, kann nur einen Wert anzeigen. Du müßtest also
aus den Anzeigen ein Array erstellen, dann kannst Du diese Verbindung herstellen.
4. Das gleiche Problem taucht ähnlich bei den Funktionen in Array einfügen auf. Hier solltest Du an dem
linken oberen Anschluß das Array anschließen (Ausgang von Convert Dynamic Data) und am linken
unteren Anschluß den einzufügenden Wert.
Wobei ich nicht verstehe, warum Du in ein Array von Signaldaten einen Mittelwert einfügen möchtest.
5. Die Funktion MEAN hast Du bereits verwendet. Am rechten Anschluß dieser Funktion kannst Du direkt
Dein Anzeigenelement "Mittelwert" anschließen.
Beschäftige Dich mal mit den Korrekturen und poste dann Dein geändertes VI. Dann gehen wir die nächsten Schritte an.
Grüßle
Andreas
Geht nicht, gibts nicht!
24.07.2006, 16:25 (Dieser Beitrag wurde zuletzt bearbeitet: 24.07.2006 16:26 von Dom.)
ich hoffe das ist kein Problem, wenn ich mich hier etwas "einmische".
Hab Dein Programm durchgesehen und denke ich weiß in etwa was Du erreichen möchtest.
Wir machen das schrittweise:
1. Die Verbindung zum Eigenschaftknoten "Sichtbar" von Mittelwert.
Hier versuchst Du einen DBL-Wert (orangene Linie) mit einem Bool-Wert (Eigenschaft sichtbar) zu verbinden.
Das geht nicht. Lösch mal die Verbindung nur zu dem Attribut sichbar.
Danach sind ein paar Verbindungen wieder ok.
2. Du verwendest in Deinem Programm fast außschließlich Eigenschaftknoten. Das ist aber nicht notwendig.
Das Anzeigeelement Schrittgröße kannst Du zusammen mit der Konstanten statt dem Knoten verwenden.
Das trifft gleichermaßen auf auf den Stop-Button (Cancel) zu. Den kannst Du statt dem Eigenschaftknoten
"Wert" verwenden.
3. Auf der linken Seite hast Du an den Anzeigenelementen "Mittelwerte" und "Alle Messwerte" jeweils ein
Array angeschlossen. Das paßt leider nicht zusammen. Ein Array beinhaltet mehrere Werte des gleichen
Datentyps. Ein Anzeigenelement wie Du es verwendest, kann nur einen Wert anzeigen. Du müßtest also
aus den Anzeigen ein Array erstellen, dann kannst Du diese Verbindung herstellen.
4. Das gleiche Problem taucht ähnlich bei den Funktionen in Array einfügen auf. Hier solltest Du an dem
linken oberen Anschluß das Array anschließen (Ausgang von Convert Dynamic Data) und am linken
unteren Anschluß den einzufügenden Wert.
Wobei ich nicht verstehe, warum Du in ein Array von Signaldaten einen Mittelwert einfügen möchtest.
5. Die Funktion MEAN hast Du bereits verwendet. Am rechten Anschluß dieser Funktion kannst Du direkt
Dein Anzeigenelement "Mittelwert" anschließen.
Beschäftige Dich mal mit den Korrekturen und poste dann Dein geändertes VI. Dann gehen wir die nächsten Schritte an.
Grüßle
Andreas
Hi, ja klar kannst du dich da einmischen, freut mich sogar, bin irgendwie im Moment ein bissel Konfus, wie du merkst. So habe das Programm jetzt mit den Änderungen versehen, werde jetzt mal zu dem Prog noch ein paar Fragen stellen (uh man, ich weiß gar nicht wo ich anfangen soll) Ich denke mal, das die Grundzüge schon richtig sind, nur das das Prog noch nicht das macht, was ich möchte.
Ich habe da mal ein paar Kommentare hereingheschrieben. mIr ist glaube ich noch nicht richtig die Funktion des Arrays im bezug auf diesesn Programmes klar geworden. Das Programm soll für eine gewisse Zeit Messwerte aufnehmen und daraus dann den Mittelwert bilden, bei der Sollwerterhöhung soll dann in die nächste Zeile des Arrays der zweite Mittelwert folgen usw.
Vielleicht kann mir da ja noch jdm auf die Sprünge helfen.
' schrieb:Ich denke mal, das die Grundzüge schon richtig sind, ....
Das denke ich auch!
Zitat:Mir ist glaube ich noch nicht richtig die Funktion des Arrays im bezug auf diesesn Programmes klar geworden.
Du hast es doch reinprogrammiert, dann solltest Du doch wissen was Du damit anfangen wolltest.
Späßle!
Dröseln wir das Problem in zwei Teile auf.
Das Messprogramm nimmt Messwerte auf und bestimmt den Mittelwert.
Wie lange soll der Zeitraum sein? Fest eingestellt? Veränderlich?
Aktuell passiert folgendes:
Zu dem aktuellen Wert wird die Schrittgröße addiert und ein Vergleich mit Umax durchgeführt. Danach passiert 5s nichts. Anschließend wird das Signal simuliert, die Signaldaten in ein Array gewandelt, der Mittelwert berechnet und der Mittelwert in ein Mittelwertarray eingefügt. Zusätzlich werden die aktuellen Messerte an das Array "Alle Messwerte" hinten angehängt. Danach passier 2s nichts.
So wie ich Dich verstanden habe möchtest Du ein 2D Array in dem die Messdaten gefolgt von dem zugehörigen Mittelwert gespeichert sind. Jede weitere Spalte beinhaltet dann weitere Messwerte mit Mittelwert.
Wenn dem so ist, bauen wir Dein Programm ein kleines bischen um, dann geht es fast wie von selbst.
hast Du schonmal was von einem Schieberegister in Verbindung mit einer Whileschleife gehört ?
Falls nein, klicke mal mit der rechten Maustaste auf den linken Rand der Whileschleife.
Na da hab ich wohl doch etwas mehr verwiirt als vorgesehen
Also das mit den propertynodes ist sicher nicht immer notwendig aber ich finde es bequemer und um Einiges flexibler falls das Programm mal ausgebaut wird und Du 2 While Schleifen stoppen willst zum Beispiel.
Dann hättest Du alle Elemente am linken Rand plaziert und müsstest nicht suchen. Aber gut das lohnt sich erst so richtig bei Programmen mit 20 und mehr Varaiblen die an verscheidenen Stellen gebraucht werden und wie der Name schon sagt man auch verschiedene Eigenschaften bearbeiten will, wie zum Beispeil die Skala eines Anzeige Elementes, oder aber die Anzahl der Reihen in einer Tabelle usw.....
Zu den Kommentaren die 2 Sequenz läuft 2 Sekunden aber ein Express.VI für die Simulation verwendet wird und diese immer genau einen Bereich an Werten ausspuckt braucht diese Funktion triangle auch keine 2 Sekzunden.
Wenn Du mit der Hardware dann kommunizierst und immer jeweils einen Wert einliest musst Du entweder eine Timeloop nehmen die halt 6 mal läuft für eine Sekunde und genau bei jeden Durchlauf einen Wert einliest oder Du nimmst eine For oder Whileschleife und machst die Zeitsteuerung über Stoppuhren oder was Dich wahrscheinlich noch mehr vewirrt Du triggerst und was weis ich was man noch so tun könnte
Zu den Funktionen, zum Einen sind diese da um den Anwender Informationen zu geben und die Arrays weil ich dachte das die Werte später in eine Datei gespeichert werden sollen oder falls mal Fragen sind warum jetzt das Ergebnis rauskommt, kann man nachforschen zum Bsp., die Array Anzeigen musst Du ja noch nicht mal sichtbar machen wieder über property nodes kannst Du auch die Elemente aus und einblenden je nach Deinen Wünschen. Deswegen solltest Du ja auch mit denen rumprobieren, weil es einfach viel mehr Möglichkeiten eröffnet. Ich weiß ja nicht wann Du das Programm fertig haben musst, aber je nach Zeit würde
ich einfach probieren und probieren und Beispiele anschauen. Ich habe nun wirklich fast immer alles durch Probieren und überlegen rausgefunden. Ab und zu wenn mich dann was nervt oder ich mich zu sehr verfahren habe schreibe ich auch mal hier rein und meißtens sind es Sachen die dem Sprichwort folgen " Ich sehe den Wald vor lauter Bäumen nicht".
Im Grunde müsste das Programm doch jetzt soweit funktionieren das es gestartet und gestoppt werden kann zudem aller 5 Sekunden um eine Schrittweite die Signalspannung erhöht ( also den Wert der später die Spannung bestimmen soll) und diese Werte gesammelt werden. Jetzt ist es an Dir das was momentan das Express.vi trangle ist zu ersetzen mit einem Programmteil welcher mit der Hardware kommuniziert und die Werte ausließt und die Druckstufen regelt. Aber mach doch erst einmal Folgendes.
Ersetze das Express.vi mit einer Forschleife diese soll aller 1 Sekunde einmal durchlaufen und eine Zufallszahl produzieren. Die Zufallzahl wird multipliziert mit dem Wert welcher später die Spannung sein soll. Ja und natürlich 7 Durchläufe für die 7 Werte. Dann hast Du schon mal das grob was später rauskommen soll.
Mal ne Frage hast Du schon andersweitig programmiert?
MfG
T.
' schrieb:Hi, ja klar kannst du dich da einmischen, freut mich sogar, bin irgendwie im Moment ein bissel Konfus, wie du merkst. So habe das Programm jetzt mit den Änderungen versehen, werde jetzt mal zu dem Prog noch ein paar Fragen stellen (uh man, ich weiß gar nicht wo ich anfangen soll) Ich denke mal, das die Grundzüge schon richtig sind, nur das das Prog noch nicht das macht, was ich möchte.
Ich habe da mal ein paar Kommentare hereingheschrieben. mIr ist glaube ich noch nicht richtig die Funktion des Arrays im bezug auf diesesn Programmes klar geworden. Das Programm soll für eine gewisse Zeit Messwerte aufnehmen und daraus dann den Mittelwert bilden, bei der Sollwerterhöhung soll dann in die nächste Zeile des Arrays der zweite Mittelwert folgen usw.
Vielleicht kann mir da ja noch jdm auf die Sprünge helfen.