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 

Ausschaltverzögerung 2024



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!

16.05.2024, 15:16 (Dieser Beitrag wurde zuletzt bearbeitet: 16.05.2024 15:17 von baer1775.)
Beitrag #1

baer1775 Offline
LVF-Neueinsteiger


Beiträge: 8
Registriert seit: Jan 2024

2022
2000
DE


Deutschland
Ausschaltverzögerung 2024
Hallo Zusammen,

Vorab: das Thema beschäftigt mich schon eine halbe Ewigkeit und irgendwie bin ich mit meinen bisherigen Lösungen nicht zufrieden. Ich habe leider auch keine passende Lösung
gefunden und hoffe, dass es jemand gibt, der hier etwas tolles hatBig Grin

Worum geht's?
In einem Case-gesteuerten Ablaufprogramm (Statusmaschine) muss für eine gewisse Zeit der Folgeschritt aufgehalten werden. Z.B. um einen DO auf high und danach wieder auf low zu
setzen. Nach Ablauf dieser Zeit soll es mit dem nächsten Case weiter gehen. Dabei darf die Hauptschleife nicht stoppen, da paralell z.B. die Datenerfassung per DAQ läuft.

Meine Applikation ist recht groß deshalb habe ich versucht, ein sinnvolles Beispiel zu machen. Ist angehängt.

Ablauf:
CASE 0 wartet bis Starttaste gedrückt wird. Start drücken dann
CASE 1 startet das VI "verstrichene Zeit". nach 2 Sekunden geht es weiter mit
CASE 2 startet das VI "verstrichene Zeit". nach 2 Sekunden geht es weiter mit
CASE 3 startet "wait" für 2 Sekunden [Mainwhile steht --> darf nicht sein dann
CASE 4 (nur zu Darstellungszweck der LED)
CASE 5 beendet den Durchlauf.

Das ganze funktioniert nur bei Neustert des VIs. Beim erneuten Starten der Schleife per Button ist irgendwie alles Essig Sad

Letzt endlich soll es dauerhaft so funktionieren wie es beim ersten Durchgang.

Herzlichen Dank Smile


Angehängte Datei(en)
20.0 .vi  time elapsed Beispiel.vi (Größe: 84,37 KB / Downloads: 57)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
16.05.2024, 17:18
Beitrag #2

Hubert R. Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 193
Registriert seit: Jul 2011

2019 64bit
2011
DE


Deutschland
RE: Ausschaltverzögerung 2024
Hallo bear1775,
leider kann ich dein Vi nicht öffnen. Ich habe nur lv19_img.

Mein Vorschlag:

Wenn du nach dem Prinzip „mache etwas – habe etwas gemacht“ verfährst geht das.

Was meine ich mit „mache etwas“. Lagere deine 2 Sekunden verstrichen Funktion in ein separates Vi aus (SubVi).
Wenn dein state ausgeführt wird schicke diese Info über eine Queue an dieses SubVi.
Dieses kann nun deine Zeit abarbeiten.

Wenn das erledigt ist meldet es sich zurück „habe etwas gemacht“. Dieses „habe etwas gemacht“ kann man mit einem User Event erledigen.

Ich hoffe ich konnte dir etwas helfen.

Liebe Grüße Hubert
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
17.05.2024, 08:01
Beitrag #3

baer1775 Offline
LVF-Neueinsteiger


Beiträge: 8
Registriert seit: Jan 2024

2022
2000
DE


Deutschland
RE: Ausschaltverzögerung 2024
Ich habe eine lv18_img Version erstellt


Angehängte Datei(en)
18.0 .vi  time elapsed Beispiel LV18.vi (Größe: 75,98 KB / Downloads: 41)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
17.05.2024, 10:59
Beitrag #4

Martin.Henz Offline
LVF-Team
LVF-Team

Beiträge: 429
Registriert seit: Jan 2005

2.5.1 bis 20
1992
kA

74363
Deutschland
RE: Ausschaltverzögerung 2024
Hallo bear1775,

du musst bei den Elapsed Time VIs den Timer über den Rest Eingang zurücksetzen.

Martin Henz
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
17.05.2024, 11:33
Beitrag #5

baer1775 Offline
LVF-Neueinsteiger


Beiträge: 8
Registriert seit: Jan 2024

2022
2000
DE


Deutschland
RE: Ausschaltverzögerung 2024
(17.05.2024 10:59 )Martin.Henz schrieb:  Hallo bear1775,

du musst bei den Elapsed Time VIs den Timer über den Rest Eingang zurücksetzen.

Hallo Martin,
das hab ich ohne nennenswerten Erfolg versucht. Ich würde am Eingang des "elapsed time" ja ebenfalls eine Positive Flanke benötigen
um den timer zurück zu setzen. Unser VI funktioniert zwar sehr gut wenn es in einer Whileschleife läuft, aber in einer Statusmaschine
oder einer Sequenz eben leider nicht Dodgy

Grüße Marco


Angehängte Datei(en)
18.0 .vi  pos_Flanke.vi (Größe: 18,2 KB / Downloads: 34)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
17.05.2024, 11:53
Beitrag #6

baer1775 Offline
LVF-Neueinsteiger


Beiträge: 8
Registriert seit: Jan 2024

2022
2000
DE


Deutschland
RE: Ausschaltverzögerung 2024
Ich habe jetzt nochmal eine Version hochgeladen. Diese enthält als 4. Variante meine bisherige Lösung:

* ein MS Timerwert wird in den Rückkopplungsknoten geschleift
* im nächsten CASE wird dann der aktuell MS Timerwert mit dem vorherigen MS Timerwert verglichen
* Wenn das Delta größer/gleich dem Sollwert (2000ms) dann TRUE

Aber eigentlich suche ich was eleganteres, schöneres, einfacheres Smile

Grüße Marco


Angehängte Datei(en)
18.0 .vi  time elapsed Beispiel LV18 V2.vi (Größe: 77,94 KB / Downloads: 34)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
17.05.2024, 13:43
Beitrag #7

Martin.Henz Offline
LVF-Team
LVF-Team

Beiträge: 429
Registriert seit: Jan 2005

2.5.1 bis 20
1992
kA

74363
Deutschland
RE: Ausschaltverzögerung 2024
Hallo baer1775,

(17.05.2024 11:33 )baer1775 schrieb:  Ich würde am Eingang des "elapsed time" ja ebenfalls eine Positive Flanke benötigen
um den timer zurück zu setzen.

ja, genau das ... und dass kann dir zum Beispiel der vorhergehende Zustand liefern.

(ich habe dein allererstes VI modifiziert)


Angehängte Datei(en)
18.0 .vi  time elapsed Beispiel_01.vi (Größe: 65,34 KB / Downloads: 39)

Martin Henz
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
21.05.2024, 11:43 (Dieser Beitrag wurde zuletzt bearbeitet: 21.05.2024 11:45 von baer1775.)
Beitrag #8

baer1775 Offline
LVF-Neueinsteiger


Beiträge: 8
Registriert seit: Jan 2024

2022
2000
DE


Deutschland
RE: Ausschaltverzögerung 2024
Vielen Dank erst mal Martin,

das ist natürlich eine Idee, die man in einer Applikation umsetzen könnte. Der Vorteil von Deinem Beispiel ist, dass ich mir nicht erst den MS Timerwert aus einem
Case vorher holen muss und mit dem aktuellen MS Wert vergleichen (so wie in meinem Beispiel 2). Das ist nämlich meine Lösung für bisherige Applikationen die
eine Ausschaltverzögerung benötigen.

Aber du bringst mich auf eine Idee um das ganze etwas smarter / kleiner zu machen. Man nehme statt Deinem Schieberegister einen Rückkopplungskonten
und verbindet das dann mit dem Reset des Timer-VIs. Das funktioniert auch als Sub-VI Smile

Cool, das sollte es gewesen sein. Das ganze nur noch abbrechbar machen. Teste ich mal in einer großen Applikation.

Dankeschön


Wenn jemand noch eine ganz andere Lösung hat, dann gerne her damit Smile


Angehängte Datei(en)
18.0 .vi  time elapsed Beispiel_03.vi (Größe: 50,87 KB / Downloads: 35)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Einschaltverzögerung / Ausschaltverzögerung Grisu2000 0 5.416 18.10.2006 13:46
Letzter Beitrag: Grisu2000
  Ausschaltverzögerung dobi 1 4.491 03.10.2005 13:19
Letzter Beitrag: thomas.sandrisser

Gehe zu: