LabVIEWForum.de - Abfahren einer vorgegebenen Druckrampe - Benötige Hilfe zur Optimierung

LabVIEWForum.de

Normale Version: Abfahren einer vorgegebenen Druckrampe - Benötige Hilfe zur Optimierung
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Einen wunderschönen Guten Morgen liebe Labviewer,

ich habe noch nicht sehr viel Erfahrung mit dem Programm, beschäftige mich aber seit einigen Tagen ausführlich damit.

Folgende Situation stellt sich für mich dar.

Ich führe Messungen zu Ventilen durch und habe hierzu:

- das Ventil
- Druckregler
- Flusssensor
- Labview Cool

Ich habe bereits ein Programm geschrieben, das mir eine bestimmte Druckrampe anfährt.
D.h. ich gebe den maximalen AKtuierungsdruck des Ventils an und mein Druckregler beginnt ausgehend von 0 bar langsam in kleinen Schritten bis zum vorgegebenen Maximaldruck hochzufahren.

Dies funktioniert eigentlich auch gut. Jetzt zu meinen beiden Fragen, die zur Optimierung des Programms beitragen sollen.

1. Ich würde sehr gerne den maximalen Druck eine bestimmte Zeitdauer halten können. D.h. alles wie gehabt, langsames hochfahren, dann wenn gewünscht, den maximal vorgegebenen Druck eine Zeit x beibehalten und dann wieder runterfahren.
Am besten durch einen Schalter (Druck halten - ja/nein), der dann das Feld für die Haltedauer aktiviert.


2. Ich möchte zum einen bei der Messdatenerfassung, also bei meiner Waveform, die Anzahl der erfassten Messwerte merklich reduzieren. Aktuell nimmt er alle 100ms einen Wert. Dies möchte ich was die Messwerte innerhalb des Programms angeht beibehalten, aber für die ausgegebene LVM-Datei um den Faktor 10 reduzieren. D.h. irgendwie soll er mir nicht alle Messwerte in die Datei schreiben, sondern nur jeden zehnten.


So, das wars auch schon. Anbei noch das VI von mir.

Herzlichen Dank schon mal für den ein oder anderen Denkanstoß. Big Grin

Gruß theflex
Hallo theflex,

Du hast Glück, ich hatte grad Lust an deinem VI rumzubasteln. Leider hast du die Sub-VIs nicht mitgeschickt, aber ich habe versucht den Sinn, soweit es ging, selbst zu entziffern. Ich habe die Struktur umgeschrieben; es ist nun eine Producer-Consumer-Struktur. Beim Beenden der Eventstruktur werden die Queues zerstört, was die resetlichen Loop beendet.

Producer:
- 1 Eventstruktur für die User-Aktionen
- 1 periodische Schleife (synchron) zum Messdatenaufnehmen
Consumer:
- 1 Loop für die Drucksteuerung
- 1 Loop für die Speicherung
- 1 Loop für die Darstellung

Das alles ist nur eine Idee und "blind" geschrieben, ich habe nichts davon getestet. Es soll als Denkansatz dienen.
Bei Fragen, einfach fragen.
Am besten gleich das von dir korrigierte und verbesserte VI mit hochladen.


Grüße und viel Glück
(09.12.2011 14:34 )erik.brenncke schrieb: [ -> ]Hallo theflex,

Du hast Glück, ich hatte grad Lust an deinem VI rumzubasteln. Leider hast du die Sub-VIs nicht mitgeschickt, aber ich habe versucht den Sinn, soweit es ging, selbst zu entziffern. Ich habe die Struktur umgeschrieben; es ist nun eine Producer-Consumer-Struktur. Beim Beenden der Eventstruktur werden die Queues zerstört, was die resetlichen Loop beendet.


@erik:

Das is ja einfach Wahnsinn! Big GrinBig Grin
Herzlichen Dank für diese Hilfe. Da steckt ja eine Menge Arbeit drin und bestimmt viel Zeit. Zumindest hätte ich dafür eine Ewigkeit gebraucht.

Super Ideen dabei und ganz bestimmt auch viel was ich nutzen kann. Leider ist es jetzt schon fast 16 Uhr und ich kann es mir dann erst am Montag ganz genau anschauen und eben auch testen.

Ich habe gerade nur mal die Sub-VIs mal dazugenommen und geschaut obs anspringt. Leider noch nicht ganz. Er spuckt den ein oder anderen Fehler aus. Aber vielleicht kann ich das (eventuell mit deiner Hilfe 2hands) noch lösen!

Find ich wirklich toll von Dir, dass du mir geholfen hast!

Ein schönes Wochenende euch allen!

Gruß


P.S: Hier sind mal noch die Sub-VIs
Hallo theflex,

mit den hochgeladenen VI's konnte ich schnell sehen wo sich sonstige Fehler versteckten. Bis auf diese Sub-VI's ist das Programm soweit rudimentär einsetzbar. Du musst beim Starten das Gerät dranhaben, sonst "timed es aus". In diesem Fall (Fehlerfall) schaltet die Messschleife in einen Simulationsmodus und man kann das Porgramm dennoch testen.
Es ist noch nicht alles optimal, aber du kannst es nun einfach anpassen, denke ich. Zum Beispiel die Auswahl des Speicherortes der Datei, hübsches Diagramm, mehr Vorgabeprogramme,...

Der schwerste "Fehler" war das fehlende Timing in der Messschleife, dadurch lief diese Schleife ungebremst und hat den Prozessor unnötig belastet. Schaue dir das bitte einmal genau an: Ich habe das Schleifentiming abhängig von der Userwahl gemacht. Je nachdem welche "Refresh-Rate" das Gerät hat, so schnell soll auch die schleife die Daten holen. Das ist mein erster Ansatz dazu gewesen.

Soweit so gut. Hast du die Struktur soweit durchdrungen?


Grüße und viel Glück
Hallo Erik,

bitte entschuldige, dass ich mich erst jetzt melde!
Ich habe die letzte Woche sehr wenig Zeit gehabt um mich mit dem Programm auseinanderzusetzen.
Nichtdestotrotz steht dies asap an! Deshalb nochmal ein riesen Dankeschön für deine ausgezeichnete Hilfe!
Ich werde das Programm selbstverständlich testen und ein Feedback geben!

Für jetzt nochmal herzlichen Dank und bis die Tage hier im Forum.

Grüße 2hands
Referenz-URLs