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 

Case einmalig ausführen



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!

28.11.2016, 19:37 (Dieser Beitrag wurde zuletzt bearbeitet: 28.11.2016 19:38 von Tobolf.)
Beitrag #1

Tobolf Offline
LVF-Grünschnabel
*


Beiträge: 33
Registriert seit: Nov 2016

2014
2016
EN



Question Case einmalig ausführen
Hallo,

ich habe folgendes Problem: ich möchte innerhalb einer Schleife einen Case einmalig ausführen, sobald am Eingang "True" anliegt. Ich habe gelesen, dass man das Ganze über Schieberegister lösen soll. Meinen Ansatz habe ich angehängt. Allerdings wird am Eingang ja nur einmalig der Wert des Schalters in den Schieberegister initialisiert und dann innerhalb des Cases auf False gesetzt.
Würde ich das Ganze lösen, indem ich eine weitere Schleife um das Ganze lege?
Diese Idee ist mir gerade beim Schreiben gekommen..
In dem eigentlichen Programm wird das Ganze nicht über einen Schalter initialisiert, sondern über eine lokale Variable. Macht das einen Unterschied? Eigentlich nicht, oder?

Freundliche Grüße
Tobolf


Angehängte Datei(en)
14.0 .vi  Untitled 1.vi (Größe: 5,29 KB / Downloads: 321)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
28.11.2016, 19:56 (Dieser Beitrag wurde zuletzt bearbeitet: 28.11.2016 19:56 von GerdW.)
Beitrag #2

GerdW Offline
______________
LVF-Team

Beiträge: 17.469
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Case einmalig ausführen
Hallo Tobolf,

Zitat:ich habe folgendes Problem: ich möchte innerhalb einer Schleife einen Case einmalig ausführen, sobald am Eingang "True" anliegt.
Du willst also ein TRUE haben, wenn am Eingang jetzt auch ein TRUE anliegt, aber in der Iteration davor ein FALSE?
Warum programmierst du das dann nicht einfach?

Gleich 2 Methoden:
   

Zitat:über eine lokale Variable. Macht das einen Unterschied? Eigentlich nicht, oder?
An sich nicht - es sei denn, du hast dir damit eine RaceCondition eingefangen…

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
28.11.2016, 20:12
Beitrag #3

Tobolf Offline
LVF-Grünschnabel
*


Beiträge: 33
Registriert seit: Nov 2016

2014
2016
EN



RE: Case einmalig ausführen
Genau, in den Iterationen davor ist der Wert auf False, sobald die lokale Variable auf Tru springt soll einmal der Case ausgeführt werden und danach nicht mehr;
Praktisch in dem Programm wird eine Spannung erreicht bei der in dem Case die Last ausgeschaltet werden soll. Das Ausschalten darf aber nur einmal passieren, da es sonst zu einem Schreibfehler kommt. Beide deine Lösungen können das lösen?

Freundliche Grüße
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
28.11.2016, 20:22
Beitrag #4

GerdW Offline
______________
LVF-Team

Beiträge: 17.469
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Case einmalig ausführen
Hallo Tobolf,

Zitat:Beide deine Lösungen können das lösen?
Einfach mal ausprobieren - und vielleicht auch noch mit Highlighting zugucken…

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
28.11.2016, 21:02 (Dieser Beitrag wurde zuletzt bearbeitet: 28.11.2016 21:02 von Tobolf.)
Beitrag #5

Tobolf Offline
LVF-Grünschnabel
*


Beiträge: 33
Registriert seit: Nov 2016

2014
2016
EN



RE: Case einmalig ausführen
Danke Gerd für deine schnelle Hilfe!
Auf Highlight Execution hätte ich auch selbst kommen können, anstatt direkt blöd zu fragen, wie das VI funktioniert. Sorry 2hands

Was mich etwas irritiert.. die untere Lösung mit der "Boolean Crossing.vi" macht genau das was ich möchte. Die obere VI schaltet allerdings nicht auf False nach einem Durchlauf, sondern zeigt durchgängig True an. Eventuell hab ich auch was falsch gemacht beim zusammenklicken.. :Bluse:


Angehängte Datei(en)
14.0 .vi  Untitled 2.vi (Größe: 6,49 KB / Downloads: 315)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
28.11.2016, 21:21
Beitrag #6

GerdW Offline
______________
LVF-Team

Beiträge: 17.469
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Case einmalig ausführen
Hallo Tobolf,

Zitat:Eventuell hab ich auch was falsch gemacht beim zusammenklicken..
Ja.

Schau dir meine Lösung genau an - und korrigiere dann deinen Versuch…
(Tipp: der Fehler ist bei der CompoundArithmetic.)

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
30
Antwort schreiben 


Gehe zu: