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 

Veränderung von Werten überprüfen



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!

11.06.2008, 13:29
Beitrag #1

Only08 Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 74
Registriert seit: Apr 2008

7.00
2008
de

10557
Deutschland
Veränderung von Werten überprüfen
Hey,

ich habe das Problem dass ich einen booleschen Wert habe und diesen überprüfen möchte. Die Anforderung ist einfach, dass ich egal welchen Status er hat, bei einem Wechsel ein Ereignis ausgeführt wird.
Heisst es wird 10 Mal True gesendet und nix passiert, dann kommt False und es soll was passieren. Anderherum natürlich dann auch.
Damit möchte ich die Inhalte einer Anzeige löschen, damit dieses neu beschrieben wird.

Ich habe es schon mit einem Vergleich (Gleich?) gefolgt von einem Formelknoten verscucht, allerdings entsteht damit ein Kreis, der ja nicht erlaubt ist. Gibts vielleicht ne Möglichkeit das zu bewältigen. Ist bestimmt nicht schwer, aber irgendwie macht es einfach nicht Klick.....

Vielen Dank schonmal,
CIAO
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
11.06.2008, 13:53
Beitrag #2

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


Beiträge: 4.223
Registriert seit: Nov 2005

20xx
2000
EN

978xx
Deutschland
Veränderung von Werten überprüfen
' schrieb:Ist bestimmt nicht schwer, aber irgendwie macht es einfach nicht Klick.....
   

"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
12.06.2008, 09:22
Beitrag #3

Only08 Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 74
Registriert seit: Apr 2008

7.00
2008
de

10557
Deutschland
Veränderung von Werten überprüfen
Ja danke, an sowas hatte ich auch gedacht, ich habs jetzt so gelöst. Aber irgendwie will der den neuen Wert aus dem Schieberegister nicht annehmen und damit ist der Vergleich natürlich total statisch. Was hab ich falsch gemacht? Ich dachte der Initailwert wird halt nur zum Anfang einmal genommen und dnach nur noch dder Wert aus dem Register.


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
12.06.2008, 09:36 (Dieser Beitrag wurde zuletzt bearbeitet: 12.06.2008 09:37 von Achim.)
Beitrag #4

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


Beiträge: 4.223
Registriert seit: Nov 2005

20xx
2000
EN

978xx
Deutschland
Veränderung von Werten überprüfen
Offenbar verwendest du die Schleife innerhalb einer weiteren (umgebenden Lebens-) Schleife. D.h. die innere Schleife wird jedes Mal neu aufgerufen, wenn die äußere Schleife einen neuen Durchlauf macht...dann wird natürlich auch immer der Init-Wert am Schleifenanfang verwendet!

Du hast drei Möglichkeiten:

1. Entweder du machst diese Überprüfung in der äußeren Schleife direkt, dann wird der Init nur beim ersten Mal von außen genommen, danach immer der Wert aus dem Schiebergister

2. Du machst den Init innerhalb der inneren Schleife mit einem zusätzlichen booleschen Eingang an der Schleife, der das Init aus der äußeren Schleife vorgibt und zwar nur bei deren ersten Durchlauf (i=0: TRUE oder FALSE) ...das wäre doppelt gemoppelt...

3. Du nimmst direkt in der äußeren Schleife statt des Schiebergisters einen Feedback-Node und vergleichst dessen Wert mit deinem aktuellen/neuen Wert, damit hast du den gleichen Effekt wie mit einem Schieberegister. Vorteil: Du sparst die Verdrahtung über die Schleife hinweg, das macht es übersichtlicher. Nachteil: Das ist später evtl. mal schwerer wieder nachzuvollziehen.

A.

"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
12.06.2008, 09:45 (Dieser Beitrag wurde zuletzt bearbeitet: 12.06.2008 09:55 von Only08.)
Beitrag #5

Only08 Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 74
Registriert seit: Apr 2008

7.00
2008
de

10557
Deutschland
Veränderung von Werten überprüfen
Ach man, stimmt, danke. Immer diese Schusselfehler.
Also die erste Möglichkeit geht nicht da es sich dabei um ein immer wider aufgerufenes SUBVI handelt und deshalb immer der Initwert verwendet wird.
Die zweite Varinate ist mir etwas kryptisch geraten. Also ist mir nicht gnaz klar.
Die dritte hört sich vielversprechend an, auch wenn ich noch nie mit Feedback-Nodes gearbeitet hab. Muss ich mir mal anguckne was das sein sollen? Hast du da nen Beispiel für?

EDIT: Habs versucht, aber er übernimmt den neuen wert nicht


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

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


Beiträge: 4.223
Registriert seit: Nov 2005

20xx
2000
EN

978xx
Deutschland
Veränderung von Werten überprüfen
Das was du da gemacht hast, ist doch das selbe in grün. Wenn du diese oder deine vorhergehende Variante in ein SubVI auslagerst, kann es nicht gehen (Stichwort "Schusselfehler")

Wenn du das im SubVI machen willst, dann kannst du das Init einfach weglassen:
   

Beim ersten Aufruf dieses SubVIs wird ein Wert ins Schieberegister geschrieben. Solange deine Software läuft, bleibt dieser Wert im Register und steht beim nächsten Aufruf zur Verfügung. Stichwort "Nicht initialisiertes Schieberegister" (such mal nach "Funktionaler globaler Variable" im LVF). Evtl. hast du am Anfang halt einen unzulässigen Vergleich, weil ein nicht definierter Wert im Schieberegister steht.

"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
12.06.2008, 11:22
Beitrag #7

Only08 Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 74
Registriert seit: Apr 2008

7.00
2008
de

10557
Deutschland
Veränderung von Werten überprüfen
jupp verstanden, dachte nur ein Register braucht ein Initialwert. Sonst vergleich er beim ersten mal ja mit... NIX.
Aber danke funzt jetzt einwandfrei und wird direkt mal umgesetzt.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
12.06.2008, 12:48
Beitrag #8

Only08 Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 74
Registriert seit: Apr 2008

7.00
2008
de

10557
Deutschland
Veränderung von Werten überprüfen
FRAGE: Weiss einer wie ich das mit dem Löschen von Inhalten eines Anzeigeelementes über das Blockdiagramm realisiere?
Ich habe ein Array, dass die Dezimalwerte für die Asciizeichen speichert. Diese würde ich gerne beim Auftreten von TRUE komplett löschen, damit es neu gefüllt wird. Aber in meiner Lösung macht er das zwar, aber wenn TRUE nicht mehr aktiv ist, hat er tortzdem wieder die alten Werte drin. Hab ich also nicht viel erreicht ausser, dass für ganz kurze Zeit nichts da steht und dann wider das alte Zeug...


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
12.06.2008, 13:26
Beitrag #9

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


Beiträge: 4.223
Registriert seit: Nov 2005

20xx
2000
EN

978xx
Deutschland
Veränderung von Werten überprüfen
Was erwartest du denn? Sobald wieder der False-Fall eingetreten ist, wird halt wieder der Inhalt des oberen Array in deine Anzeige geschrieben...Die Überprüfung klappt ja offenbar jetzt...nun musst du genau definieren, wann was in die Anzeige geschrieben werden soll...Warum ist es denn nicht mehr True? Was soll denn geschrieben werden, wenn es False ist?

Es läuft vermutlich darauf hinaus, dass du deinen Code anders aufbauen musst...wenn du dazu Hilfe brauchst, solltest du mal dein gesamtes VI posten und nicht immer nur Ausschnitte aus dem BD...

"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
12.06.2008, 14:04
Beitrag #10

Only08 Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 74
Registriert seit: Apr 2008

7.00
2008
de

10557
Deutschland
Veränderung von Werten überprüfen
Ach man, manchmal denke ich anscheinend echt nicht nach, wenn ich was in LabVIEW progge. Also ich hab das ganze jetzt ins Schieberegister verschoben und damit das gewünschte ergebnis erzielt. Vielen dank nochmal und sorry, wegen der depperten Fragen :-(
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Gehe zu: