Hallo zusammen...
ich habe heute folgendes Anliegen.
Ich arbeite an einer Stelle im meinem Projektprogramm mit der Zeitverzögerung. Ich möchte die Verzögerung mittendirn aufheben wenn ich die Case-Structur auf Treu setzte...aber die Verzögerung bleibt immer drinn und wird immer abgearbeitet auch wenn der Case schon lange auf Fasle ist...Gibt es eine Möglichkeit die Zeitverzögerung zu umgehen ohne dass ich das ganze Schleife stoppen muss. Ich hatte an sowas wie Priorität gedacht aber finde nichts für....
Hi,
du hast vermutlich noch nicht sonderlich viel mit LabVIEW programmiert, richtig?
Du solltest dir dringend Grundlagen anlesen, um das Datenflussprinzip zu verstehen. So wie du das da vorhast, geht es nicht. Eine einmal begonnene Verzögerung verzögert auch definitiv um die am Eingang anliegende Zeit.
Gruß
Christoph
Hi
Sieh Dir mal nach den Stichworten Occurrence, Notifier und Queue in der LabVIEW Hilfe und den Beispielen.
Gruß Holger
Sonderlich viel hatte ich nicht programmiert..7Monate Erfahrung. Und hatte gefragt ob eine Möglichkeit gibt die Verzögerung zu unterbrechen, ich habe schon vor 7 Monaten gewusst dass den Datenflussprinzip von links nach Rechts führt. und wird nicht unterbrochen wenn ich es nicht programmiere....DANKE.
Ein Vorschlag würde mir helfen den Logikfluss in richtige Richtung zu richten. Danke
(28.08.2012 12:58 )bigwowan11 schrieb: [ -> ]Sonderlich viel hatte ich nicht programmiert..7Monate Erfahrung. Und hatte gefragt ob eine Möglichkeit gibt die Verzögerung zu unterbrechen, ich habe schon vor 7 Monaten gewusst dass den Datenflussprinzip von links nach Rechts führt. und wird nicht unterbrochen wenn ich es nicht programmiere....DANKE.
Ein Vorschlag würde mir helfen den Logikfluss in richtige Richtung zu richten. Danke
Deswegen hatte ich dir geantwortet, dass es nicht möglich ist eine einmal gestartete Verzögerung vorzeitig zu unterbrechen.
Außerdem findet der Datenfluss nicht zwangsläufig von links nach rechts statt, auch wenn das in den meisten Fällen zutrifft. Wenn du erwartet hast, dass dein VI die Verzögerung abbricht, wenn du den Eingang der Case-Struktur umschaltest, hast du das Prinzip der LabVIEW-Programmierung einfach nicht verstanden - da kannst du mir erzählen was du magst. Deswegen mein Vorschlag, dass du dir die Grundlagen aneignen solltest. Dafür gibts ne Menge guter Literatur. Mein Tipp: "Einführung in LabVIEW" von Wolfgang Georgi & Ergun Metin.
Gruß
Christoph
Danke für den Tipp
Hallo Bigwowan
Nimm das VI "Verstrichene Zeit" oder Elapsed time. Der Boolesch3 kommt an den Reset Eingang und der Boolesch an den Time has elapsed Ausgang. Ich hoffe, das ist was Du willst.
Gruss, BDB
danke für die Empfehlung. Ich suche eine Möglichkeit die Flache Sequenz bei der ich eine Zeitverzögerung eingebaut hatte zu unterbrechen. Oder einfach zu umgehen....wenn ich das CaseStructer auf false setze.
(30.08.2012 10:22 )bigwowan11 schrieb: [ -> ]danke für die Empfehlung. Ich suche eine Möglichkeit die Flache Sequenz bei der ich eine Zeitverzögerung eingebaut hatte zu unterbrechen. Oder einfach zu umgehen....wenn ich das CaseStructer auf false setze.
Geht nicht...gab's schon 1000x hier im Forum...Stichwort: State Machine
(30.08.2012 10:22 )bigwowan11 schrieb: [ -> ]danke für die Empfehlung. Ich suche eine Möglichkeit die Flache Sequenz bei der ich eine Zeitverzögerung eingebaut hatte zu unterbrechen. Oder einfach zu umgehen....wenn ich das CaseStructer auf false setze.
Ich habs jetzt mal codiert, damit Du siehst, was ich meine.
Das VI Verstrichene Zeit hat den Vorteil, dass der Code einfach weiterläuft, während Dein Delay alles blockiert.
Probier mal, ob Du damit weiterkommst.
Gruss, BDB