LabVIEWForum.de
3 Bedingungen abfangen - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: 3 Bedingungen abfangen (/Thread-3-Bedingungen-abfangen)



3 Bedingungen abfangen - Susanne - 07.01.2015 09:31

Hallo!

Ich bin neu hier und auch Anfänger in Labview. Meine Frage an euch:

Der User kann eine Luft&Wasser-Messung machen. Um diese machen zu können, muss er sowohl eine Luft- als auch eine Wassermessung auswählen.

1. Fall:
Wählt er nichts aus, kommt eine Meldung, dass nichs ausgewählt wurde - passt Smile

2. Fall:
Wählt er eine Wasser-, aber keine Luftmessung aus, kommt die Meldung, dass die Luftmessung fehlt - passt Smile

3. Fall:

Wählt er eine Luft-, aber keine Wassermessung aus, kommt die Meldung des 1. Falls - dass eben beides nicht ausgewählt wurde.

Ich schaffs einfach nicht, das so anzupassen, dass beim 3. Fall die Meldung ausgegeben wird, dass die Wassermessung fehlt.

Hier 2 Screenshots. Könnt ihr mir bitte helfen? Mach ich das im Haupt-VI (Messungen.png) oder im SubVI? Case in einem Case? :/

DANKE!!!


RE: 3 Bedingungen abfangen - GerdW - 07.01.2015 09:40

Hallo Susanne,

bitte immer ein VI statt einfacher Bilder anhängen…

Und vorher noch aufräumen: lokale Variablen durch Drähte ersetzen, bessere Vergleichsfunktionen verwenden, Ctrl-U drücken…


RE: 3 Bedingungen abfangen - Susanne - 07.01.2015 09:54

Danke für deine Antwort.

Da das Programm nicht von mir ist, und es sehr sehr komplex ist, möchte ich hier nichts umdrehen, da ich die Auswirkungen auf andere VIs etc. nicht kenne und auch nicht hervorrufen möchte. Das Haupt-VI greift auf sehr viele andere VIs zu, und diese kann ich aus Firmengründen nicht posten.

Hast du einen Tipp für mich, wie ich das lösen könnte?
(07.01.2015 09:40 )GerdW schrieb:  Und vorher noch aufräumen: lokale Variablen durch Drähte ersetzen, bessere Vergleichsfunktionen verwenden, Ctrl-U drücken…

bei Ctrl-U zerhauts mir das Haupt-VI, bei dem einem Sub-VI hab ichs gemacht.
Was meinst du mit lokale Variablen durch Drähte ersetzen?

PS: das Programm funktioniert tadellos; ich soll nur ein paar Änderungen machen. Deshalb möchte ich nicht haufenweise VIs anpassen etc.


RE: 3 Bedingungen abfangen - GerdW - 07.01.2015 10:22

Hallo Susanne,

Zitat:das Programm funktioniert tadellos
Das widerspricht deiner ursprünglichen Darstellung…

Zitat:ich soll nur ein paar Änderungen machen.
Nein, du sollst Fehler in deinem tadellosen Programm beheben…

Zitat:Deshalb möchte ich nicht haufenweise VIs anpassen etc.
Das, was man auf deinen Bildern sieht, lässt vermuten, das deine Fehler z.T. durch den massiven Missbrauch von lokalen Varuiablen begründet wird…

Das, was du uns zeigst, reicht für eine Analyse nicht aus:
- da werden irgendwelche "Messung lesen"-subVIs aufgerufen, von denen wir nicht wissen, was sie machen…
- da wird nur auf "Luftmessung" getestet, obwohl du zwei Bedingungen testen willst…

Solange deine Case-Strukturen nur zwei Cases haben, wirst du keine 3 verschiedenen Cases abarbeiten können. Klingt logisch, oder?


RE: 3 Bedingungen abfangen - Susanne - 07.01.2015 10:37

(07.01.2015 10:22 )GerdW schrieb:  Hallo Susanne,

Zitat:das Programm funktioniert tadellos
Das widerspricht deiner ursprünglichen Darstellung…

Zitat:ich soll nur ein paar Änderungen machen.
Nein, du sollst Fehler in deinem tadellosen Programm beheben…

Zitat:Deshalb möchte ich nicht haufenweise VIs anpassen etc.
Das, was man auf deinen Bildern sieht, lässt vermuten, das deine Fehler z.T. durch den massiven Missbrauch von lokalen Varuiablen begründet wird…

Das, was du uns zeigst, reicht für eine Analyse nicht aus:
- da werden irgendwelche "Messung lesen"-subVIs aufgerufen, von denen wir nicht wissen, was sie machen…
- da wird nur auf "Luftmessung" getestet, obwohl du zwei Bedingungen testen willst…

Solange deine Case-Strukturen nur zwei Cases haben, wirst du keine 3 verschiedenen Cases abarbeiten können. Klingt logisch, oder?

Ich schließe nicht aus, dass es Fehler gibt - eh klar. Das was ich ändern möchte, ist kein Muss, sondern wäre für den User nur ein Nice-to-have. Da ich von der Testerseite komme, habe ich mir gedacht, dass es so benutzerfreundlicher wäre.

Ich verstehe dich, aber dazu habe ich keine Zeit. Ich habe ein extrem komplexes Programm übernommen, eine Schulung besucht und nun soll ich es anpassen. Dass es besser gewesen wäre, einen Profi zur Unterstützung zu nehmen, wurde ignoriert. Deshalb kämpfe ich mich so durch.

Ein funktionierendes Programm zu optimieren, kann nur ein Profi. Dazu müßte wahrscheinlich das ganze Programm angesehen werden, und nicht nur Teilaspekte, da das Programm schon über 7 Jahre alt ist, dazwischen nichts geändert wurde, weil es ja funktioniert und es nun doch Änderungen geben soll.

Ja, das mit den Cases habe ich mir schon gedacht, ich weiß halt nur nicht, wie ich es lösen kann, weil mir die Erfahrung fehlt - und so kann ich nur herum probieren... leider Sad


RE: 3 Bedingungen abfangen - GerdW - 07.01.2015 10:41

Hallo Susanne,

vor dem eigentlichen Programmieren steht der Entwurf eines PAP:
Code:
IF Bedingung1 OR Bedingung2 THEN
  IF Bedingung1 THEN
    message("1")
  ELSE
    message("2")
  ENDIF
ENDIF

Oder auch bei Verwendung eines Enum:
Code:
Switch
  Case "keine Bedingung": do nothing
  Case "Bedingung1": message("1")
  Case "Bedingung2": message("2")
EndSwitch

Sowas musst du dann umsetzen…


RE: 3 Bedingungen abfangen - Susanne - 07.01.2015 10:43

Danke für deine Hilfe!!! Ich werde es versuchen und weiter probieren...