LabVIEWForum.de
Möglicher Abbruch einer "Elapsed Time" Funktion - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Möglicher Abbruch einer "Elapsed Time" Funktion (/Thread-Moeglicher-Abbruch-einer-Elapsed-Time-Funktion)



Möglicher Abbruch einer "Elapsed Time" Funktion - Sven77 - 02.10.2007 14:53

Hallo allerseits,

zur Zeit arbeite ich an einer Oberfläche für die Ansteuerung zweier Schlauchpumpen, welche jeweils über eine RS232-Schnittstelle verfügen. Die Pumpen betreiben zwei Stellzylinder einer Positioniereinheit und werden über die Fördermenge [ml/min] kalibriert. Da ich über keinerlei Sensorik verfüge, muss ich die Verstellung der Zylinder über die Zeit einstellen können (mm/s). Hierzu verwende ich derzeit eine zweiteilige Sequenz in deren ersten Teil der Befehl zum Starten der Pumpe versand wird sowie eine "Elapsed Time" Funktion gestartet. Ist die Zeit abgelaufen erfolgt der zweite Teil der Sequenz, in dem die Pumpe via Befehl wieder gestoppt wird. Da die Pumpen gleichzeitig loslegen sollen, gibt es für jede Pumpe eine solche Sequenz.
Mein Problem bei der ganzen Sache ist nun, dass ich keine Möglichkeit habe (zur Zeit nicht sehe) eine Not-Aus Routine einzubauen welche die Bewegung der Pumpen auch innerhalb der verstreichenden Zeit abbricht. Nach Ablauf der Sequenz kein Problem, aber was wäre das für ein Not-SchalterDry.

Ich hab schon alles mögliche ausprobiert, komme aber auf keinen grünen Zweig. Daher hoffe ich, ihr könnt mir ein wenig auf die Sprünge helfen.

Vielen Dank vorab

Sven

P.S. Leider krieg ich es nicht hin eine Datei zur Veranschaulichung hochzuladen, vielleicht klappts ja später.
P.S.S Auf dem eigenen Rechner geht halt immer alles besser, also jetzt auch mit Anhang.

(VI LV 8.0)


Möglicher Abbruch einer "Elapsed Time" Funktion - Lucki - 02.10.2007 22:30

Man kann doch über eine OR-Verknüpfung die Schleife jederzeit stoppen.
Was soll eigentlich diese Rückführung mit Schieberegister? Versteh den Sinn nicht. Man kann doch Rücketzen nach Ablauf konfigurieren.
PS. Die Schleife sollte noch ein Wait (10ms) enthalten, damit die Systemressourcen geschont werden

(VI LV 8.0)


Möglicher Abbruch einer "Elapsed Time" Funktion - cb - 03.10.2007 07:48

' schrieb:Hallo allerseits,

zur Zeit arbeite ich an einer Oberfläche für die Ansteuerung zweier Schlauchpumpen, welche jeweils über eine RS232-Schnittstelle verfügen. Die Pumpen betreiben zwei Stellzylinder einer Positioniereinheit und werden über die Fördermenge [ml/min] kalibriert. Da ich über keinerlei Sensorik verfüge, muss ich die Verstellung der Zylinder über die Zeit einstellen können (mm/s). Hierzu verwende ich derzeit eine zweiteilige Sequenz in deren ersten Teil der Befehl zum Starten der Pumpe versand wird sowie eine "Elapsed Time" Funktion gestartet. Ist die Zeit abgelaufen erfolgt der zweite Teil der Sequenz, in dem die Pumpe via Befehl wieder gestoppt wird. Da die Pumpen gleichzeitig loslegen sollen, gibt es für jede Pumpe eine solche Sequenz.
Mein Problem bei der ganzen Sache ist nun, dass ich keine Möglichkeit habe (zur Zeit nicht sehe) eine Not-Aus Routine einzubauen welche die Bewegung der Pumpen auch innerhalb der verstreichenden Zeit abbricht. Nach Ablauf der Sequenz kein Problem, aber was wäre das für ein Not-SchalterDry.

Ich hab schon alles mögliche ausprobiert, komme aber auf keinen grünen Zweig. Daher hoffe ich, ihr könnt mir ein wenig auf die Sprünge helfen.

Vielen Dank vorab

Sven

P.S. Leider krieg ich es nicht hin eine Datei zur Veranschaulichung hochzuladen, vielleicht klappts ja später.
P.S.S Auf dem eigenen Rechner geht halt immer alles besser, also jetzt auch mit Anhang.


das löst man am besten mit einer State Machine, die z.B. folgende States enthält
- Verstellung starten
- Verstellung anhalten
- 100 (z.B.) ms Warten
- Notaus abfragen

die Sequenz sieht dann so aus:
gewünschte Wartezeit / 100 ms --> Anzahl der Aufrufe des Cases "Warten"

Verstellung starten --> Warten --> Notaus? --> Warten --> Notaus --> Warten --> Notaus? --> Warten --> Wartzeit um --> Verstellung stop

Wie man warten kann ohne das Programm zu blocken hab ich mal in diesem Beispiel demonstriert ...


Möglicher Abbruch einer "Elapsed Time" Funktion - Sven77 - 03.10.2007 09:57

Guten Morgen,

schönen Dank für die Antworten, werde mich dann direkt mal an die Ausführung machen.
Hoffe es klappt.

Gruß Sven


Möglicher Abbruch einer "Elapsed Time" Funktion - Sven77 - 03.10.2007 13:14

Hallöchen,

vielen Dank nochmal für die Hilfe, nach ein paar zusätzlichen Modifikationen am Hauptprogramm hab ich es geschafft.
Ich habe mich für die Variante von Lucki entschieden. Hierbei wird der Not-Aus-Knopf im Hauptprogramm alle 10ms abgefragt und der Wert per Referenz übergeben. Ja, und die Rückkopplung hab ich entferntWacko, war natürlich quatsch.
Hab das fertige VI nochmal als .PNG angehängt.

Gruß Sven