INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Zeitereignisse steuern



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!

23.01.2008, 11:26
Beitrag #1

Gabi Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 50
Registriert seit: Oct 2007

8.2
2005
kA


Deutschland
Zeitereignisse steuern
Hallo LVG
ich wollte fragen ob einer von euch folgende Frage beantworten kann.
Ich würde gerne in einer Endlosschleife alle z.b. 10 sekunden eine Funktion ausführen und dadruch eine Anzeige setzen oder Re-setzen. Diese Funktion soll aber wirklich nur alle 10 sekunden auftretten. Wenn man z.b. eine Endlosschleife mit einer Periodendauer von 2s hat, müsste diese Funktion immer nach 5 Schleifendurchgängen aufgerufen werden. Oder wenn man z.b. eine Sequenz mit 100 Sequenzblöcken hat und jeder Block hat ne Dauer von 1s<t<2s, dann müsste LabVIEW praktisch nach 10 Sekunden in einem der 100 Blöcke kurz stoppen, die Funktion aufrufen und ausführen und dann da weiter machen wo LabVIEW angehalten hat. Kann man sowas in LabVIEW realisieren?

Gruß Gabi
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
23.01.2008, 11:28
Beitrag #2

jeffrey Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 123
Registriert seit: Aug 2007

8.0 zuhause, 8.2 Uni
2007
kA


Deutschland
Zeitereignisse steuern
' schrieb:Hallo LVG
ich wollte fragen ob einer von euch folgende Frage beantworten kann.
Ich würde gerne in einer Endlosschleife alle z.b. 10 sekunden eine Funktion ausführen und dadruch eine Anzeige setzen oder Re-setzen. Diese Funktion soll aber wirklich nur alle 10 sekunden auftretten. Wenn man z.b. eine Endlosschleife mit einer Periodendauer von 2s hat, müsste diese Funktion immer nach 5 Schleifendurchgängen aufgerufen werden. Oder wenn man z.b. eine Sequenz mit 100 Sequenzblöcken hat und jeder Block hat ne Dauer von 1s<t<2s, dann müsste LabVIEW praktisch nach 10 Sekunden in einem der 100 Blöcke kurz stoppen, die Funktion aufrufen und ausführen und dann da weiter machen wo LabVIEW angehalten hat. Kann man sowas in LabVIEW realisieren?

Gruß Gabi
Hallo,
mach das ganze doch einfach in eigene eigene parallele Schleif, die nur alle 10s läuft.
MfG Jeffrey
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
23.01.2008, 11:34
Beitrag #3

Gabi Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 50
Registriert seit: Oct 2007

8.2
2005
kA


Deutschland
Zeitereignisse steuern
' schrieb:Hallo,
mach das ganze doch einfach in eigene eigene parallele Schleif, die nur alle 10s läuft.
MfG Jeffrey

Hab ich schon versucht ...... ich bin in einer Endlosschleife die sich alle 20ms<t<500ms wiederholt und in diese Endlosschleife hab ich dann ne Zeitschleife mit der Periodendauer von 10s eingebaut --> das Problem dabei ist das die schleife 1 mal pro Endlosschleifendurchlauf ausgeführt werden muss, sodass sie solang wartet. D.h. wiederrum das sich die Endlosschleife der Periodendauer der 10s schleife anpasst.
Jedenfalls in meinem Beispiel.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
23.01.2008, 11:42 (Dieser Beitrag wurde zuletzt bearbeitet: 23.01.2008 11:44 von Achim.)
Beitrag #4

Achim Offline
*****
*****


Beiträge: 4.223
Registriert seit: Nov 2005

20xx
2000
EN

978xx
Deutschland
Zeitereignisse steuern
Probiers mal so:




Sonstige .vi  warten.vi (Größe: 12,38 KB / Downloads: 504)

Sonstige .vi  Time_out.vi (Größe: 37,54 KB / Downloads: 608)
Lv80_img


Beide VI's in einen Ordner kopieren und dann "warten.vi" starten!

"Is there some mightier sage, of whom we have yet to learn?"

"Opportunity is missed by most people because it is dressed in overalls and looks like work." (Thomas Edison)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
23.01.2008, 11:52
Beitrag #5

jeffrey Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 123
Registriert seit: Aug 2007

8.0 zuhause, 8.2 Uni
2007
kA


Deutschland
Zeitereignisse steuern
Hi,
ich meinte nicht die Schleife dazu rein packen, sondern parallel dazu. Ich schätze mal Achim macht es genauso, kann siene VIs leider nicht öffnen, ist kein LV hier auf dem Rechner. Deswegen das Bild halt jetzt in Paint :-)
Hoff man blickt des trotzdem.
MfG Jeffrey


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
23.01.2008, 11:55
Beitrag #6

Achim Offline
*****
*****


Beiträge: 4.223
Registriert seit: Nov 2005

20xx
2000
EN

978xx
Deutschland
Zeitereignisse steuern
' schrieb:Ich schätze mal Achim macht es genauso

Nö!Tongue

"Is there some mightier sage, of whom we have yet to learn?"

"Opportunity is missed by most people because it is dressed in overalls and looks like work." (Thomas Edison)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
23.01.2008, 11:59
Beitrag #7

Gabi Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 50
Registriert seit: Oct 2007

8.2
2005
kA


Deutschland
Zeitereignisse steuern
' schrieb:Probiers mal so:
[attachment=37844:warten.vi][attachment=37845:Time_out.vi] Lv80_img
Beide VI's in einen Ordner kopieren und dann "warten.vi" starten!

Danke erstmal für die schnellen Antworten.
Das VI von Dir Achim ist nicht die von mir erhoffte Lösung. Auf die Idee bin ich auch gekommen und so ähnlich werde ich es wohl auch lösen müssen wie es aussieht. Die Sache ist diese das desto länger die Hauptschleife ist desto ungenauer ist dein Funktionsaufruf. Und dauert die Hauptschleife sogar länger als deine Zeitgrenze hat kann man sowieso nicht mehr das Event rechzeichtig starten, ausser man setzt dein VI mehrmals in die Schleife. Naja jedenfalls hatte ich gehofft das das auch anderes geht.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
23.01.2008, 12:05
Beitrag #8

Gabi Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 50
Registriert seit: Oct 2007

8.2
2005
kA


Deutschland
Zeitereignisse steuern
' schrieb:Hi,
ich meinte nicht die Schleife dazu rein packen, sondern parallel dazu. Ich schätze mal Achim macht es genauso, kann siene VIs leider nicht öffnen, ist kein LV hier auf dem Rechner. Deswegen das Bild halt jetzt in Paint :-)
Hoff man blickt des trotzdem.
MfG Jeffrey

Nein das geht auch nicht ..... meine Hauptschleife ist doch ne endlosschleife und sobald LabVIEW diese einmal ausführt gelangt LabVIEW nie mehr in die andere Schleife. D.h. die Funktion wird nur ein einzigesmal ausgeführt und auch nur dann wenn LabVIEW die Zeitschleife beim ersten mal als erstes durchläuft und dann in die Endlosschleife gelangt.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
23.01.2008, 12:08
Beitrag #9

Achim Offline
*****
*****


Beiträge: 4.223
Registriert seit: Nov 2005

20xx
2000
EN

978xx
Deutschland
Zeitereignisse steuern
' schrieb:Die Sache ist diese das desto länger die Hauptschleife ist desto ungenauer ist dein Funktionsaufruf. Und dauert die Hauptschleife sogar länger als deine Zeitgrenze hat kann man sowieso nicht mehr das Event rechzeichtig starten

Wat? Wie lange dauert denn bei dir ein Schleifendurchlauf? "Normale" Wartzeiten in ner Schleife liegen so zwischen 20-100 ms...da bist du doch mit deiner Wartezeit von 10 Sekunden Welten davon entfernt...

Wenn bei dir ein Schleifendurchlauf wesentlich größer sein sollte als diese "Normal"-Zeiten, solltest du evtl. mal deinen Programmier-Ansatz überdenken.

Abgesehen davon: Diese Wartezeit in der Schleife ist ein "Richtwert" und ist immer nur so genau, wie es die CPU zulässt...wenn die was anderes zwischenrein macht (ganz sicher!) oder wenn die Funktion in der Schleife länger dauert (warum auch immer), ist diese "Periodendauer" sowieso hinfällig. Wenn du's genauer brauchst, musst du ein RT-System verwenden!

"Is there some mightier sage, of whom we have yet to learn?"

"Opportunity is missed by most people because it is dressed in overalls and looks like work." (Thomas Edison)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
23.01.2008, 12:10
Beitrag #10

Achim Offline
*****
*****


Beiträge: 4.223
Registriert seit: Nov 2005

20xx
2000
EN

978xx
Deutschland
Zeitereignisse steuern
' schrieb:Nein das geht auch nicht ..... meine Hauptschleife ist doch ne endlosschleife und sobald LabVIEW diese einmal ausführt gelangt LabVIEW nie mehr in die andere Schleife. .

FALSCH!

LV arbeitet diese Schleifen parallel ab! Quasi-Parallel (Multi-Threaded) bei nem normalen PC, bei nem Multi-Core-PC je nach Einstellung auch wirklich parallel...

Genauer wird's dadurch aber auch nicht...siehe meinen vorhergehenden Beitrag!

"Is there some mightier sage, of whom we have yet to learn?"

"Opportunity is missed by most people because it is dressed in overalls and looks like work." (Thomas Edison)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Gehe zu: