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!
06.05.2009, 09:53 (Dieser Beitrag wurde zuletzt bearbeitet: 06.05.2009 10:04 von Dennis.Moser.)
Wenn ich mit der flachen Seqenzstruktur arbeite und einen timer in der sequenz benutze, läuft die sequenz doch so lange wie der timer angibt, oder?
Weil in meinem Beispiel das ich unten anhänge fängt die DO zeitversetzt an, sie geht jedoch nicht wieder aus.
Ich will damit ein pumpe alle 30 min für 30 sek laufen lassen. (Die Zeitwerte stimmen noch nicht überein)
Wenn mal jmd mein VI durchschauen könnte und mir weiterhelfen kann, wäre ich sehr dankbar.
Ein Fehler den ich schonmal sehe: die WarteFunktionen sind nicht im Datenfluss integriert, sprich es steht nicht fest, wann diese ausgeführt werden (vor oder nach den DAQMX-Funktionen). Zur abhilfe dagegen könntest du einen weiteren sequenzrahmen um die Wartefunktion bauen und die Errorline dadurch führen. oder du baust dir ein eigenes SubVI mit FehlerEingang und -Ausgang, was nichts anderes macht als zu warten.
LG
Torsten
"Über Fragen, die ich nicht beantworten kann, zerbreche ich mir nicht den Kopf!" (Konrad Zuse)
' schrieb:..
Wenn ich mit der flachen Seqenzstruktur arbeite und einen timer in der sequenz benutze, läuft die sequenz doch so lange wie der timer angibt, oder?
..
Die Warte-Funktionen die du eingebaut hast, bedeuten, dass dein Programm nichts tut, bis ein Vielfaches von den angegebenen Millisekunden erreicht wird. Danach wird das Programm fortgeführt.
"Über Fragen, die ich nicht beantworten kann, zerbreche ich mir nicht den Kopf!" (Konrad Zuse)
06.05.2009, 10:35 (Dieser Beitrag wurde zuletzt bearbeitet: 08.05.2009 11:06 von Dennis.Moser.)
Ich habe jetzt noch eine andere Variante versucht zu realisieren. ist vllt die geschicktere.
Jedoch: Was für einen Schalter kann ich einbauen (wo noch einer fehlt) der sich selbst anschaltet, und dann nach der Seqenz wieder aus ist? Gibt es so etwas?
Wenn du mit so grossen Zeitwerten arbeitest, musst du schauen, in einer While-Schlaufe, ob die Zeit verstrichen ist, und dann eine Aktion auslösen.
So wie du das jetzt machst, geht es im schlechtesten Fall 30 Minuten bis das Programm auf den Exit Befehl reagiert, das ist für Anwender unbrauchbar.
Vergiss die Sequenzen und überleg mal eine Lösung mit mehreren Case in der Schlaufe. (Zustandsmaschine)
- Init um Zähler zurückzusetzen
- Warten
- Schreiben
- Exit
Als Einstieg eignet sich folgendes: Datei | Neu | und dort die Vorlage | Standart State Machine
.·´¯)--> Leben ist das, was dir passiert, wenn du eifrig dabei bist andere Pläne zu machen <--(¯`·.
07.05.2009, 13:23 (Dieser Beitrag wurde zuletzt bearbeitet: 08.05.2009 11:07 von Dennis.Moser.)
Ich habe jetzt etwas neues ausprobiert. allerdings wieder mit Sequenzen.
Ich will wie oben beschrieben, nach einer bestimmtn zeit ein und nach einer bestimmten zeit ausschalten.
Das habe ich jetzt hinbekommen.
Jedoch: die Intervalle sind nicht gleichmäßig. warum? wo liegt denn hier mein Fehler?
Ich nehme an, Du verwendest das Metronom. Dieses VI wartet immer bis zu einem Vielfachen der angegebenen Zeit. Als Startzeit wird aber der Start der LabVIEW Session verwendet. Deshalb stimmt das erste Mal die Zeit nicht.
Hallo koler,
anbei etwas zum Spielen und Testen (und um die Möglichkeit dieser Funktionalität in LV zu beweisen)... aber wenn es wirklich ein Prüfstandsprogramm werden soll...gilt frei nach RoLe: Zustandsmaschine verwenden!
1Postingempfehlungen, 2Motivation Fragen und Anpassungswünsche per PM werden, gegen Rechnungsstellung gerne beantwortet und realisiert ....wenn's dann doch kostenlos sein soll... bitte hier im LVF unter Berücksichtigung der voranstehenden Links posten.