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 

Benutzereingabewerte ändern



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!

02.11.2012, 11:16
Beitrag #1

Thomaslein Offline
LVF-Grünschnabel
*


Beiträge: 16
Registriert seit: Sep 2012

8.6; LV2011
2012
DE


Deutschland
Question Benutzereingabewerte ändern
Hallo LabView-Gemeinde

Ich hab da mal wieder ne kleine Frage..

Mein Programm beginnt mit der Benutzereingabe von "Anfangswerten" diese dienen dazu des Program ordnungsgemäß zu starten.

Nun meine Frage: Ist es möglich diese Werte im späteren Programmablauf durch Bentuzer selbst wieder zu verändern???
Die Kühlung benötigt 2 Werte, Kühl-Soll-Temp und den Start-Temp.....
Nun möchte ich gerne die Werte verändern können um diese evtl anzupassen an best Leistungszustände....

Ich hatte schon die Idee über Eigenschaftsknoten aber ich komm da auch nicht so richtig weiter....


Bin über jede Hilfe dankbar....

MfG Thomas


Angehängte Datei(en) Thumbnail(s)
   

11.0 .vi  Test_v12_neu_5_1.vi (Größe: 78,85 KB / Downloads: 158)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
02.11.2012, 11:27 (Dieser Beitrag wurde zuletzt bearbeitet: 02.11.2012 11:41 von GerdW.)
Beitrag #2

GerdW Offline
______________
LVF-Team

Beiträge: 17.469
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Benutzereingabewerte ändern
Hallo Thomas,

wenn du in der Schleife die Werte ändern willst, musst du wohl die Abfrage in die Schleife hinein nehmen. Dort dann mit einem Button (und einer Case-Struktur) die Abfrage aufrufen...

Wenn du schon dein VI umschreibst:
- Entferne gleich die RaceCondition im Bild: THINK DATAFLOW! Verwende Drähte statt lokaler Variablen! Warum lokale Variablen, wenn die Terminals teilweise unbenutzt im BD rumliegen?
- Verwende doch gleich Eingabeelemente statt immer erst einen Dialog aufzurufen! (Falls dem keine Sicherheitsaspekte entgegenstehen...)
- Warum verwendest du den FXP-Datentyp in einem VI, welches offensichtlich auf einem PC läuft? Warum überhaupt der ganze Datentypen-Mix (SGL, DBL, FXP)?
- die ganzen Geräte-spezifischen Sachen würde ich in subVIs auslagern (aka "Gerätetreiber" erstellen)...
- Wenn dein Gerät Werte in einzelnen Bytes zurückmeldet und du diese Bytes mit StringToU8Array umwandelst, dann würde ich gleich nach dieser Umwandlung mit IndexArray einen skalaren Wert erzeugen, anstatt hinterher (wie du) mit Arrays hantieren zu müssen, die eh nur einen einzelnen Wert enthalten...
So z.B.:
   
- Was hälst du von einer Statemachine statt riesiger Sequenzen?
- Bei deinem "hier komm ich nicht weiter" versuchst du einen skalaren Wert in ein Array zu schreiben. Das kann so nicht funktionieren...

- In deinem Profil steht LV8.6, dein Attachment ist dagegen LV2011. Da passt was nicht...

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
02.11.2012, 11:42 (Dieser Beitrag wurde zuletzt bearbeitet: 02.11.2012 11:50 von Thomaslein.)
Beitrag #3

Thomaslein Offline
LVF-Grünschnabel
*


Beiträge: 16
Registriert seit: Sep 2012

8.6; LV2011
2012
DE


Deutschland
RE: Benutzereingabewerte ändern
Hallo Gerd,

kann ich den den Wert aus der Eingabe nicht als Standart nehmen um diese dann in der Schleife beliebig zu ändern????

Zitat: Verwende doch gleich Eingabeelemente statt immer erst einen Dialog aufzurufen! (Falls dem keine Sicherheitsaspekte entgegenstehen...)

mein Betreuer will das aber so das wenn einer das bedient gleich von anfang an das richtige einstellen kann/ oder soll

Zitat: - Entferne gleich die RaceCondition im Bild: THINK DATAFLOW! Verwende Drähte statt lokaler Variablen!

ja das das war auch nur jetzt so zum zeigen, wenn ich eine lösung habe nehm ich dann sicher drähte, obwohl ich das dann unübersichtlicher finde...

Zitat: - Warum verwendest du den FXP-Datentyp in einem VI, welches offensichtlich auf einem PC läuft? Warum überhaupt der ganze Datentypen-Mix (SGL, DBL, FXP)?

kann ich dir nicht sagen, hab ich mich noch nie damit beschäftigt, werd ich mir mal ansehen......

Zitat: - Wenn dein Gerät Werte in einzelnen Bytes zurückmeldet und du diese Bytes mit StringToU8Array umwandelst, dann würde ich gleich nach dieser Umwandlung mit IndexArray einen skalaren Wert erzeugen, anstatt hinterher (wie du) mit Arrays hantieren zu müssen, die eh nur einen einzelnen Wert enthalten...

könntest du mir das mal an einem Bsp zeigen???

Zitat: - Bei deinem "hier komm ich nicht weiter" versuchst du einen skalaren Wert in ein Array zu schreiben. Das kann so nicht funktionieren...

ja hab ich dann auch gemerkt, aber würde diese Idee prinzipiell so funktionieren???


Danke schon mal für deine Mühe
(02.11.2012 11:27 )GerdW schrieb:  - In deinem Profil steht LV8.6, dein Attachment ist dagegen LV2011. Da passt was nicht...

Ja das liegt daran das der PC im Labor die Version Lv86_img hat, aber leider kein Internet hat Dodgy und ich zu Hause aufm Lapi die neuere... ich hätte es als "ältere Version" speichern sollen....





Danke für das Bild... das hilft mir sehr, aber ich als Neuling in LV war froh das ich es überhaupt IWIE hinbekommen habe...... ich werde deinen Vorschlag natürlich annehmen und mein Programm umschreiben Smile
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
02.11.2012, 11:49 (Dieser Beitrag wurde zuletzt bearbeitet: 02.11.2012 11:49 von GerdW.)
Beitrag #4

GerdW Offline
______________
LVF-Team

Beiträge: 17.469
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Benutzereingabewerte ändern
Hallo Thomas,

Zitat:mein Betreuer will das aber so das wenn einer das bedient gleich von anfang an das richtige einstellen kann/ oder soll
Im geschilderten Fall kann man die Abfrage auch im ersten Schleifendurchlauf erzwingen: Oder-Verknüpfung mit dem Ergebnis von "i=0"...

Zitat:ja hab ich dann auch gemerkt, aber würde diese Idee prinzipiell so funktionieren???
Wenn du wirklich einen skalaren Wert in ein Array schreiben willst, musst du BuildArray oder InsterIntoArray verwenden.
Wenn dieses Problem aber auf dem anderen geschilderten Problem mit der deutlich zu umständlichen Auswertung der Gerätemeldungen beruht, würde ich die Eingabeelemente selbst als Skalare anlegen und nicht als Arrays. Siehe Bild Snippet oben!

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
02.11.2012, 12:19
Beitrag #5

Thomaslein Offline
LVF-Grünschnabel
*


Beiträge: 16
Registriert seit: Sep 2012

8.6; LV2011
2012
DE


Deutschland
RE: Benutzereingabewerte ändern
Zitat:Wenn du wirklich einen skalaren Wert in ein Array schreiben willst, musst du BuildArray oder InsterIntoArray verwenden.
Wenn dieses Problem aber auf dem anderen geschilderten Problem mit der deutlich zu umständlichen Auswertung der Gerätemeldungen beruht, würde ich die Eingabeelemente selbst als Skalare anlegen und nicht als Arrays. Siehe Bild Snippet oben!

du meinst das sicher so...


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

GerdW Offline
______________
LVF-Team

Beiträge: 17.469
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Benutzereingabewerte ändern
Hallo Thomas,

Zitat:du meinst das sicher so...
Nein!
- Du verwendest InitArray statt der genannten Funktionen.
- Du erstellst ein Array mit NULL (!) Elementen. Was erhoffst du dir davon?

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
02.11.2012, 12:57
Beitrag #7

Thomaslein Offline
LVF-Grünschnabel
*


Beiträge: 16
Registriert seit: Sep 2012

8.6; LV2011
2012
DE


Deutschland
RE: Benutzereingabewerte ändern
^^ ach ich kann doch auch nix dafür, Ja ich hätte geau lesen sollen.. Top1

aber jetzt...


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
02.11.2012, 13:04 (Dieser Beitrag wurde zuletzt bearbeitet: 02.11.2012 13:12 von GerdW.)
Beitrag #8

GerdW Offline
______________
LVF-Team

Beiträge: 17.469
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Benutzereingabewerte ändern
Hallo Thomas,

noch etwas Manöverkritik:
- du liest aus einer lokalen Variablen einen Wert und erstellst damit ein Array mit einem Element.
- du liest ein Array aus (Anschalttemperatur, wahrscheinlich nur ein einziges Element im Array) und fügst dieses an der Position 0 ein: dies ist nichts weiter als ein Voranstellen und kann ( oder sollte - meiner Meinung nach) mit BuildArray erledigt werden...
- dieses zusammengefügte Array wird jetzt genommen und das erste Element wird als "AN-Temp" angezeigt (und wohl auch nur verwendet)
So gehts vielleicht auch:
    (Äquivalent für die Ausgabe der AN-Temp!)

Diese ganze Array-Akrobatik (mit der du noch so deine Probleme hast) machst du nur, weil du die Rückmeldungen deines Gerätes als Array (mit nur einem einzigen Element) ausgeben lässt, statt dort gleich skalare Werte zu erzeugen. Merkst du nicht, wie du dir selbst das Leben schwer machst?

Schon mal den Link in meiner Signatur beachtet?

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
02.11.2012, 14:11
Beitrag #9

Thomaslein Offline
LVF-Grünschnabel
*


Beiträge: 16
Registriert seit: Sep 2012

8.6; LV2011
2012
DE


Deutschland
RE: Benutzereingabewerte ändern
Hallo Gerd...

ich habs nun doch hinbekommen....

   

und das ganze ausserhalb der While-Schleife...

somit kann ich den Anfangswert im laufenden programm ändern....

danke dir
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
02.11.2012, 15:33 (Dieser Beitrag wurde zuletzt bearbeitet: 02.11.2012 15:36 von Thomaslein.)
Beitrag #10

Thomaslein Offline
LVF-Grünschnabel
*


Beiträge: 16
Registriert seit: Sep 2012

8.6; LV2011
2012
DE


Deutschland
RE: Benutzereingabewerte ändern
Hallo Gerd,


in deinem ersten Bild ganz oben...

[Bild: attachment.php?aid=42089]

was ist das für ein Symbol das die beiden Leitungen zusammen führt????

    ... das finde ich bei mir nicht
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Gehe zu: