LabVIEWForum.de
Lauflicht verbessern - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Lauflicht verbessern (/Thread-Lauflicht-verbessern)

Seiten: 1 2 3


Lauflicht verbessern - FIE - 10.11.2009 10:41

hi markus!

Dein Vi mit den Referenzen funktioniert einwandfrei.
Habe aber zu wenige Kenntnisse über LabVIEW.
Könntest du mir bitte erklären wie du das gemacht hast?
Vor allem die Änderungen im Sub.vi sind mir ein rätsel.

gruß georg


Lauflicht verbessern - Y-P - 10.11.2009 10:50

Per Referenz kannst Du mit Deinen Controls aus dem HauptVI Dein SubVI steuern. Die Controls im SubVI werden also quasi vom HauptVI aus bedient.

Gruß Markus


Lauflicht verbessern - FIE - 10.11.2009 11:13

ok, aber wie hast du die Referenzen und Eigenschaftsknoten im subVi erstellt?
blick da grad gar nicht durch. Wäre super wenn du mal so eine kleine Anleitung für dummis erstellst. ;-)

georg


Lauflicht verbessern - Y-P - 10.11.2009 19:26

Hier habe ich es erklärt:

http://www.LabVIEWforum.de/index.php?s=&am...ost&p=84708

Gruß Markus


RE: Lauflicht verbessern - KI86 - 29.12.2012 18:44

Hallo Leute,

ich habe auch eine Frage zum Lauflicht. Ich habe solch ein Lauflicht programmiert, welches auch wunderbar funktioniert, doch würde ich gerne das Lauflicht zurücksetzen, wenn ich den Schalter "Laden/Entkoppeln" wieder ausschalte. Kann mir dabei jemand helfen??

ich habe das Programm mal hochgeladen!

MfG KI86


Lauflicht zurücksetzen - KI86 - 29.12.2012 19:07

Hallo Leute,

ich bin neu hier und weiß nicht genau, in welchem Forum ich mein Problem schildern soll, deshalb schreibe ich es hier rein.
Ich habe innerhalb meines Gesamtprojektes Lauflichter programmiert, die auch wunderbar funktionieren. Doch möchte ich gerne die Lauflichter zurücksetzen.
Zur Funktion: ich schalte das Lauflicht mit einem Schalter ein, dann läuft es auch wie gewünscht, kann es auch wieder ausschalten, aber dann bleibt das Lauflicht einfach stehen und setzt sich nicht zurück. Einfach gesagt, ich möchte das Lauflicht mit dem gleichen Schalter zurücksetzen, mit dem ich es einschalte.

Kann mir dabei jemand helfen??

zum besseren Verständnis habe ich eins der Lauflichter mal hochgeladen!!

MfG KI86


RE: Lauflicht verbessern - GerdW - 29.12.2012 20:17

Hallo KI,

bitte hier keine Doppelposts anlegen! (Threads zusammengelegt!)

Tipps:
- Verzichte auf lokale Variablen, solange die Terminals ungenutzt rumliegen!
- Überdenke deine boolsche Logik: Wenn "Entkoppeln" auf FALSE gesetzt wird, musst du einen Case aufrufen, der die LEDs wieder löscht...


RE: Lauflicht verbessern - KI86 - 29.12.2012 20:37

Ok! Danke für die Hinweise!

Die Variablen kommen zu stande, da es nur ein Auszug aus dem Hauptprogramm ist! Die Terminals sind auch dort verknüpft!
Jetzt habe ich selber raus bekommen, dass es im eigenständigen vi auch funktioniert, aber im Hauptprogramm kann ich die selbe funktion nicht realisieren! Habe nun die Variable "Laden/Entkoppeln" negiert und an die Abbruchbedingung der while-schleife gehangen. woran kann es liegen, dass es im Hauptprogramm selber nicht geht??

Habe mal das gesamte Programm hochgeladen!

Danke für die Hilfe


RE: Lauflicht verbessern - GerdW - 30.12.2012 18:28

Hallo KI,

wow, alles, was ich sehe, ist "massive overuse of local variables"...

Du solltest dir wirklich überlegen, ob du so "kompliziert" programmieren musst!
- muss alles in separaten Schleifen erledigt werden?
- wenn in einer Schleife mehrfach lesend auf eine Größe zugegriffen wird, dann nutzt man höchstens eine lokale Variable und ansonsten Drähte!
- wenn man nur lokale Variablen benötigt, um einen Wert zu "updaten" (Read-Modify-Write-Operation), dann nutzt man ein Schieberegister!
- brauchst du die ganzen RubeGoldbergs wirklich? (Boolschen Wert nach Int umwandeln, in FormulaNode einen Vergleich anstellen, Int ausgeben und in Case-Struktur auswerten: kann man alles direkt mit boolscher Algebra erledigen!)
- Grundlagen der boolschen Algebra:
Code:
x OR TRUE = TRUE
x OR FALSE = x
x AND FALSE = FALSE
x AND TRUE = x
x OR x = x
x AND x = x
(fällt bei dir alles unter RubeGoldberg)
- eine Statemachine wäre sehr sinnvoll in deinem Fall!
- man kann auch Bilder in den FP-Hintergrund legen, was eine Alternative zum Zusammenklicken von Dekorationsobjekten sein mag... (keine Kritik, nur eine Idee!)
- Wenn man Rechenwerte hat, sollte man die auch als Zahl anzeigen und nicht als String. Das erspart ständiges hin- und herkonvertieren!

Ich habe bei deinem VI mal die Schleife zur Verbrauchs-Anzeige (kWh und Eur) als auch die Batterie-Schleife überarbeitet.
Schau dir das mal an. Dann kannst du die anderen Schleifen entsprechend überarbeiten. Und dir nebenbei Gedanken zum Erstellen einer Statemachine machen (die dein ganzes VI deutlich vereinfachen würde)...

Ich würde zwei Schleifen verwenden (so eine Art Producer-Consumer-Struktur): eine Schleife wertet deine Eingangsgrößen (Sonne, Wind, etc) aus und berechnet die Ausgabewerte (Verbrauch, Euro, etc.) sowie die Statusangaben für deine "Lauflichter". Die zweite Schleife bedient die Lauflichter in Abhängigkeit von den zugehörigen Statuswerten...


RE: Lauflicht verbessern - KI86 - 31.12.2012 13:02

Hi GerdW,

danke für deine umfangreichen Hilfestellungen, auch wenn ich noch nicht alles verstehe, weißt du schreibst! Aber ich versuche es mir anzueignen und umzusetzen.
Deine Überarbeitung ist eine sehr gute Anregung, so dass ich mein Programm noch einmal komplett vereinfachen kann.
Da fällt mir auf, wie umständlich ich denke, wenn ich etwas programmieren will. Schade, dass wir nicht solche Leute wie dich als Dozenten haben, die wirklich was von LabVIEW verstehen.

Doch noch einmal zurück zum Lauflicht. Also kann es sein, dass das Problem des Zurücksetzens durch meine Komplexität an Variablen ensteht? Weil darauf kann ich mir noch immer keinen Reim machen!!

Ich danke dir vielmals für deine Hilfe!!

Gruß KI86