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 

GOTO in Labview?



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!

10.09.2012, 09:09
Beitrag #11

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
RE: GOTO in Labview?
(10.09.2012 08:36 )FelixG schrieb:  Hast du das so gemeint mit Zahlen anschliessen?
Ja, und Entschuldigung, ich hatte das nicht bemerkt, dass Du das in etlichen Cases schon so gemacht hattest.

Es wurde ja hier schon gesagt: Das Programm schreit nach einer State-Machine statt der jetzt verwendeten Vielfach-Verschachtelung Das ist nichts Kompliziertes, die Umstellung wäre in weniger als einem Tag gemacht, und an dem Ergebnis würdest auch Du deine Freude haben.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
10.09.2012, 09:34
Beitrag #12

FelixG Offline
LV-Lernwillig
*


Beiträge: 42
Registriert seit: Aug 2012

2010
2012
DE


Schweiz
RE: GOTO in Labview?
Hallo Lucki,
kein Problem. Big Grin
Ich werde mich jetzt an die Umstellung zur State-Machine machen. Ich melde mich wieder falls ein Problem auftaucht oder wenn ich fertig bin.

Gruss Felix

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
17.09.2012, 07:09
Beitrag #13

FelixG Offline
LV-Lernwillig
*


Beiträge: 42
Registriert seit: Aug 2012

2010
2012
DE


Schweiz
RE: GOTO in Labview?
Hallo Lucki,

ist das Programm deiner Meinung nach jetzt besser?
Ich hoffe ich habe das mit der State-Machine richtig verstanden. Über Verbesserungsvorschläge wäre ich auf jeden Fall dankbar Big Grin

Gruss Felix


Angehängte Datei(en)
10.0 .vi  Liftsteuerung5.3.vi (Größe: 107,74 KB / Downloads: 147)

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
17.09.2012, 08:05 (Dieser Beitrag wurde zuletzt bearbeitet: 17.09.2012 08:11 von GerdW.)
Beitrag #14

GerdW Offline
______________
LVF-Team

Beiträge: 17.469
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: GOTO in Labview?
Hallo Felix,

Zitat:ist das Programm deiner Meinung nach jetzt besser? Ich hoffe ich habe das mit der State-Machine richtig verstanden. Über Verbesserungsvorschläge wäre ich auf jeden Fall dankbar
Na ja.

Folgendes:
- viel zu viele lokale Variablen. Nutze Drähte stattdessen!
- viel zu viel kopierte Strukturen. Diese ganzen duplizierten Case-Strukturen... Warum die Unterscheidung in "Rauf" und "Runter"-Case, wenn der einzige Unterschied in einem "+1" oder "-1" besteht?
- man sollte den State einer Statemachine überall durchverdrahten. Wenn man zwischendurch auf "default"-Werte zurücksetzt, stürzt plötzlich der Lift ab... Smile
- nimm (typdefinierte) Enums statt Strings zur State-Auswahl. Dann kannst du prima auf (leere) "Voreinstellung"-Cases verzichten...
- RubeGoldberg: es gibt fertige Funktionen wie "+1" und "-1".
Siehe Anhang für ein paar Veränderungen. Es gibt noch viel mehr zu vereinfachen...
Guck dir die Eventstruktur an, wie dort die Schalter ausgewertet werden!


Angehängte Datei(en)
10.0 .vi  Liftsteuerung5.3.vi (Größe: 64,87 KB / Downloads: 132)

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
17.09.2012, 13:34
Beitrag #15

FelixG Offline
LV-Lernwillig
*


Beiträge: 42
Registriert seit: Aug 2012

2010
2012
DE


Schweiz
RE: GOTO in Labview?
Hallo GerdW,

Vielen Dank für die vielen Verbesserungsvorschläge.

Ich habe das Programm jetzt nach bestem Wissen und Gewissen angepasst und wollte jetzt noch fragen ob ich das mit den Enums richtig realisiert habe. Ich habe vorher noch nie mit Enums gearbeitet und bin mir daher nicht sicher ob ich es richtig verstanden habe.

Gruss Felix


Angehängte Datei(en)
10.0 .vi  Liftsteuerung5.3.vi (Größe: 67,71 KB / Downloads: 131)

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
17.09.2012, 14:22
Beitrag #16

GerdW Offline
______________
LVF-Team

Beiträge: 17.469
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: GOTO in Labview?
Hallo Felix,

das sieht doch schon deutlich besser aus. Das mit den Enum hast du gut gemacht, du solltest nur noch eine Typdefinition dafür anlegen.

Nächster Schritt:
Die aktuellen State-Daten (aktuelle Position, Zielposition(en), etc.) würde ich auch noch ein einem (typdefinierten) Cluster zusammenfassen. Dann könnte man nämlich die ganzen einzelnen Cases (für jede Etage extra) zusammenfassen: man fährt dann einfach von aktueller Position zur Zielposition.
Dann brauchst du nämlich nur noch 2 subVIs statt der ganzen Cases:
- ein subVI fährt den Lift zur Zielposition
- ein subVI generiert die Anzeigedaten: aktuelle Position, Etagenname, "Etagenlämpchen"

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
18.09.2012, 12:16
Beitrag #17

FelixG Offline
LV-Lernwillig
*


Beiträge: 42
Registriert seit: Aug 2012

2010
2012
DE


Schweiz
RE: GOTO in Labview?
Hallo,

Ich komme gerade beim anlegen der Typdefinition des Enum nicht weiter.
Wie funktioniert das genau?

Als erstes drücke ich auf Datei -> Neu. Danach auf Benutzerdefiniertes Element und schalte dann von Element auf Typ-Def. um.
Was ich danach machen muss ist mir ein Rätsel Blink

Was ist überhaupt der Vorteil bei Typdefinierten Enum, Cluster usw.?

Gruss Felix

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
18.09.2012, 12:20 (Dieser Beitrag wurde zuletzt bearbeitet: 18.09.2012 12:25 von Achim.)
Beitrag #18

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


Beiträge: 4.223
Registriert seit: Nov 2005

20xx
2000
EN

978xx
Deutschland
RE: GOTO in Labview?
(18.09.2012 12:16 )FelixG schrieb:  Als erstes drücke ich auf Datei -> Neu. Danach auf Benutzerdefiniertes Element und schalte dann von Element auf Typ-Def. um.
Was ich danach machen muss ist mir ein Rätsel Blink

Speichern?Blink

http://digital.ni.com/public.nsf/allkb/1...6300588BFA
https://decibel.ni.com/content/docs/DOC-23941

Zwei bis drei Schritte weiter:
http://www.eyesonvis.com/blog/2009/03/th...ition.html

"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
18.09.2012, 12:51
Beitrag #19

GerdW Offline
______________
LVF-Team

Beiträge: 17.469
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: GOTO in Labview?
Hallo Felix,

Zitat:Was ist überhaupt der Vorteil bei Typdefinierten Enum, Cluster usw.?
Du legst einmal eine Typdefinition an. Wenn du diese Typdefinition später einmal anpassen musst, wird dies automatisch an jeder Stelle im BD, wo du diese Typdefinition verwendest, übernommen.

Jetzt stell dir mal vor, du hast einen Cluster mit mehreren Einzelwerten. Dieser wird durch mehrere subVIs durchgeschliffen. Jetzt fällt dir auf, dass du noch ein/zwei Werte im Cluster nachtragen musst. Du wirst dich dann freuen, in wievielen subVIs du die gleiche stupide Anpassung des Clusters vornehmen darfst, weil du vorher zu faul warst eine Typdefinition anzulegen und zu verwenden...

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
18.09.2012, 13:23
Beitrag #20

FelixG Offline
LV-Lernwillig
*


Beiträge: 42
Registriert seit: Aug 2012

2010
2012
DE


Schweiz
RE: GOTO in Labview?
Hallo zusammen,

erstmal danke für die schnellen Antworten.

Jetzt verstehe ich auch für was das ganze gut ist und werde jetzt mal meine Faulheit besiegen und die Typdefinitionen anlegen.

Danke nochmal und Gruss

Felix

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


Gehe zu: