LabVIEWForum.de - Latch when released

LabVIEWForum.de

Normale Version: Latch when released
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hallo LVF.

Wie sichert man bitte zu, dass beim Start einer .vi ein Button mit "Latch when released" default value false hat? Mit lokaen Variabeln geht es nicht und ich kenne ansonsten nur "Make current values defaul". Das finde ich aber zu unsicher. Ich sehe gerade nicht, wie man einen default bei einem latch-Button einstellt.

Bisher habe ich mich immer an etwas ähnlichem wie hier beschrieben orientiert.

Danke fuer eine kurze Antwort.

Gruss
blue
Ich würde am Schalter alles so lassen wie es ist und am Ausgang einen Inverter anschließen.
Hallo,

das geht mit einer Invoke Node:

Rechtsklick auf den Button: Create -> Invloke Node -> Reinitialize to Default (oder so)

Und das zu Beginn z.B. links von der Hauptschleife aufrufen und per Fehlercluster mit der Schleife verbinden (Datenfluss).

Edit: Vielleicht habe ich dich auch falsch verstanden. Die Invoke Node ist dafür gut, dass du beim Programmstart beispielsweise einen nicht gedrückten Button erhältst auch wenn dieser vor dem Start gedrückt ist.

Edit 2: "Property Node" in "Invoke Node" geändert.
Guten Abend.

' schrieb:Ich würde am Schalter alles so lassen wie es ist und am Ausgang einen Inverter anschließen.

Also doch lokale Variabeln verwenden? Ist mit Inverter="Not.vi" gemeint?

' schrieb:Hallo,

das geht mit einer Property Node:

Rechtsklick auf den Button: Create -> Property Node -> Reinitialize to Default (oder so)

Und das zu Beginn z.B. links von der Hauptschleife aufrufen und per Fehlercluster mit der Schleife verbinden (Datenfluss).

Edit: Vielleicht habe ich dich auch falsch verstanden. Die Property Node ist dafür gut, dass du beim Programmstart beispielsweise einen nicht gedrückten Button erhältst auch wenn dieser vor dem Start gedrückt ist.
Ja genau. Das wollte ich so machen. Bei Programmstart sollen alle Buttons auf "nicht gedrueckt" automatisch zurueckspringen. Das habe ich halt immer mit Switch when released und zwei lokalen Variabeln umgesetzt. Das Beispiel sah ich hier einmal im Forum. Deinen Vorschlag schaue ich mir einmal an. Danke schoen.
Edit: Fuer spaetere Aufrufe: Man findet es unter Invoke Node.
' schrieb:Edit: Fuer spaetere Aufrufe: Man findet es unter Invoke Node.
Oh stimmt. Ich habe es oben geändert. Danke für den Hinweis.
' schrieb:Wie sichert man bitte zu, dass beim Start einer .vi ein Button mit "Latch when released" default value false hat?
Vergiß meinen Beitrag #2, ich hatte in oben zitiertem Satz statt "false" schlichtweg "true" gelesen. kann ja mal passieren...
Hallo blue,

aus Beitrag1: "ich kenne ansonsten nur 'Make current values defaul'. Das finde ich aber zu unsicher."

Wie bitte? Weil du etwa "zu unsicher findest", willst du unnötige Verrenkungen machen? Buttons per Default (beim Editieren) auf FALSE setzen, dann werden sie bei jedem VI-Start auch FALSE sein. Punkt.
' schrieb:Hallo blue,
aus Beitrag1: "ich kenne ansonsten nur 'Make current values defaul'. Das finde ich aber zu unsicher."

Wie bitte? Weil du etwa "zu unsicher findest", willst du unnötige Verrenkungen machen? Buttons per Default (beim Editieren) auf FALSE setzen, dann werden sie bei jedem VI-Start auch FALSE sein. Punkt.

Guten Abend, Gerd.

Die Unsicherheit bezog sich auf folgendes Ereignis: Button ist auf true aus Versehen. User hat irgendwann "Make current values default" gedrueckt. Start der .vi. Folge: Pumpe bewegte sich, alle Proben verloren. Man weiss ja nie, was andere Leute mit dem Programm machen.
Daher suchte ich nach einer Moeglichkeit, das abzufangen. Ich habe dann das Forum durchsucht und dann fand ich eben den Vorschlag mit lokalen Variabeln und switch when released. Warum wird denn das unter ggf. anderen Umstaenden als "gut" angesehen? Es gibt hier einige Beispiele im Forum dafuer.

Zitat:Buttons per Default (beim Editieren) auf FALSE setzen, dann werden sie bei jedem VI-Start auch FALSE sein
Ich habe ein Beispiel angehaengt. Default Value des Buttons ist false (gesetzt via "Make current value default" oim Kontextmenue). Dann folgender Fall: User drueckt den Button zu true vor dem Start der vi. Button bleibt im true-Status. Start der vi. Button springt NICHT automatisch nach false zurueck. Er bleibt im true-Status. Genau so ein Verhalten wollte ich mit den lokalen Variabeln vermeiden.
Der Hinweise bzgl. des Invoke Nodes gleicht dieses Verhalten aus.
Drueckt ein User nun "Make current values default", waehrend der Button im Beispiel faelschlicherweise true ist, dann hilft auch ein Invoke Node nicht mehr, den Button bei Start automatisch auf false zu setzen.
Wie verhindert man denn bitte sowas, wenn nicht nicht mit den lokalen Variabeln?

Gruss,
blue

Lv09_img2[attachment=29941]
Arbeiten Deine Benutzer in der LabVIEW-Entwicklungsumgebung? O
Da können die noch ganz andere Sachen machen..... O

Gruß Markus
Hallo blue,

alle deine Bedenken entstehen dadurch, dass deine User anscheinend keine EXE vorgesetzt bekommen... Da sollte das Setzen von irgendwelchen Buttons wirklich dein kleinstes Problem sein, wie Markus schon bemerkte!

"Wie verhindert man denn bitte sowas..."
Entweder du gibst den Usern Executables oder passwort-geschützte LLBs, deren VI auf "Run when opened" gesetzt sind. "Unbedarfte" User niemals mit dem Sourcecode spielen lassen! Bist du der Software-Entwickler oder sind es deine User?
Seiten: 1 2
Referenz-URLs