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 

Wie programiert man richtig?



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!

24.11.2006, 08:37
Beitrag #11

Michael5 Offline
LVF-Anwender
*


Beiträge: 45
Registriert seit: Jul 2006

7.0 bis Developer Suite 2012 DS2
2003
DE

72074
Deutschland
Wie programiert man richtig?
Du kannst dich freuenBig Grin
Du hast schon richtig angefangen!
Wie programmiere ich richtig????Glare
Markus hat auch schon einen sehr guten Typ gegeben. Wenn du noch nie ein großes LabVIEW Programm erstellt hast, dann besuch erst einmal die Basic Kurse von NI.
Dann empfehle ich dir die LabVIEW Development Guidelines von National zu lesen.
Darin steht sehr gut beschrieben, was man vor einem großen Projekt machen sollte.
Wenn du auf diejenigen hörst, die dir ohne zu wissen was dein Programm machen soll, Sequenzen, Statemachinen und Schleifen empfehlen, dann bist du jetzt schon verloren.

Große Projekte müssen zuerst sehr detailliert durchdacht werden. Auch in LabVIEW!!
Welche Geräte sind beteiligt und wie wird mit ihnen kommuniziert?
Wann benötige ich auf welcher Ebene welche Informationen?
Wie kann ich im laufenden VI auf die Infos unter den verschiedenen Ebenen austauschen?
Was mache ich, wenn ich Fehler irgendeiner Art erkenne?
Wie muss meine Bedienoberfläche gestaltet werden?
Wie kommen die Messwerte oder Ereignisse an die Bedienoberfläche?
Viele Fragen die du vorher auf einem großen Blatt Papier klären mußt.

Eine gute Planung erspart dir sehr sehr viel Sorgen und Mehrarbeit.

Gruß
Michael
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
24.11.2006, 10:01
Beitrag #12

chris_deus Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 78
Registriert seit: Aug 2006

2010
2006
en

48565
Deutschland
Wie programiert man richtig?
Das kann ich nur bestätigen.

Ich habe vorher nicht gefragt und habe einfach losprogrammiert.
Mitlerweile habe ich, nachdem ich mehrfach das halbe Programm wegschmeissen musste, z.B. die "Statemachine" neu erfunden. Das es sowas schon gibt habe ich gerade erst gelesen. Man kommt nach Schlaflosen Nächten dann zwangsläufig auf sowas, weil es einfach die beste Möglichkeit ist. (In meinem Fall jetzt)
Ich hätte mir vermutlich sehr viel Arbeit und Kopfzerbrechen erspart wenn ich in diesem Forum häufiger dumme Fragen gestellt hätte.

Das nächste Mal (und mein Prof hat schon neue spaßige Aufgaben) werde ich mir jedenfalls einen riesenhaften Papierplan erstellen. Und bevor da nicht der letzte Wert korrekt übergeben wurde, werde ich auch nicht anfangen.


Grüße und mein Beileid,
Chris

Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
04.12.2006, 19:03
Beitrag #13

Gang Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 69
Registriert seit: Sep 2006

7
2005
kA

44932
Deutschland
Wie programiert man richtig?
Danke für die vielen Antworten...

Was ist eine Statemachine, ist das eine Funktion von LabVIEW?


In einem speziellen fall würden sich nun bei mir eine Ereignisbaumstruktur anbieten, könnte es aber genau so mit einer Case structure(1,2,3, ...) lösen.
Ist die ereignistruktur nur ein Mittel zum Zweck, hat sie nachteile? Zeitliche etc.
oder kann man sie genau so verwenden wie jede andere structur
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
04.12.2006, 19:11 (Dieser Beitrag wurde zuletzt bearbeitet: 04.12.2006 19:12 von Kvasir.)
Beitrag #14

Kvasir Offline
LVF-Freak
****


Beiträge: 642
Registriert seit: May 2006

10
2004
DE_EN

0000
Oesterreich
Wie programiert man richtig?
Eine Statemaschine ist keine Funktion von LV. Sie ist vielmehr ein Programmierprinzip.
Im Grunde ist es einfach eine Case Struktur mit einer While Schleife herum. In den einzelnen Cases werden dann Teile deines Programmes abgearbeitet und ausgewählt, welcher Case als nächstes kommt.
Gibt viele Beispiele dazu, auch hier im Forum.

Eine Ereignissstruktur eignet sich besonders gut dann, wenn du auf Benutzereingaben reagieren willst.

Was genau verstehst du denn unter Ereignisbaumstruktur?

A few weeks of developement and testing can save a WHOLE afternoon in the library!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
05.12.2006, 17:47 (Dieser Beitrag wurde zuletzt bearbeitet: 05.12.2006 17:51 von Gang.)
Beitrag #15

Gang Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 69
Registriert seit: Sep 2006

7
2005
kA

44932
Deutschland
Wie programiert man richtig?
Meinte eigentlich eine Ereignisstruktur...

also kann man diese uneingeschränt verwenden.
In meinem FAll sollen verschiedenen Operationen, je nach gedrückten button, ausgeführt werden.

und noch was: kann man local variable uneingeschränt verwenden oder sollte man sie eher in grenzen halten
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
06.12.2006, 15:20
Beitrag #16

Kvasir Offline
LVF-Freak
****


Beiträge: 642
Registriert seit: May 2006

10
2004
DE_EN

0000
Oesterreich
Wie programiert man richtig?
' schrieb:In meinem FAll sollen verschiedenen Operationen, je nach gedrückten button, ausgeführt werden.

Dann eignet sich auf jeden Fall eine Ereignissstruktur hervorragend.

Prinzipiell sollte man versuchen lokale Variable so wenig wie möglich einzusetzen.
Sie haben mehrere Nachteile:

- Zum einen brauchen sie Rechenleistung
- Verzettelt man sich leicht damit, weil man leicht die Übersicht verliert, wo was wohin geschrieben wird
- Ist das ganze nicht synchronisiert. Wenn du also in 2 unabhängigen Schleifen jeweils in eine lok. Variable schreibst bzw. ausliest, weißt du nie, welche Schleife nun zuerst abgearbeitet wurde.

Du solltest also:
- bevorzugt Drähte verwenden
- Melder/Queues, wenn du zwischen parallel laufenden Strukturen/SubVis Information austauscht

Wenn sich lokale Variable trotzdem nicht vermeiden lassen, sind diese der Funktion "Value" eines Eigenschaftsknoten aber vorzuziehen, wie ich neulich in diesem Forum hier erfahren habe Smile

Es gibt übrigens schon massig Threads hier über lokale Variable, die schon fast in Glaubenskriege ausgeartet sind Big Grin

A few weeks of developement and testing can save a WHOLE afternoon in the library!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
30
Antwort schreiben 


Gehe zu: