08-06-2013 07:09 AM
Liebes Forum,
ich selbst bin seit 4 Wochen dabei, LabView mehr oder weniger erfolgreich anzuwenden und scheitere an der ein oder anderen Kleinigkeit. Vielleicht wird sich finden es die erfahrereren Kollegen etwas amüsant. Ich kam über Herr Jacky auf dem LabView-Grundlagen Seminar zu diesem Forum und hoffe auf eure Unterstützung.
Ich möchte einen Sitz testen und bestimmte Funktionen überprüfen. Für diese Test gibt es verschiedene Stationen, die eigentlich nacheinander kommen, manchmal soll aber auch zwischen den Stationn gesprungen werden können. Ich habe Bilder angefügt, damit es bisschen verständlicher ist. Der Hauptbildschirm zeigt die bisherigen Stationen. Vom Hauptbildschirm möchte ich in die jeweiligen Reiter springen, sobald auf die Butttons gedrückt wird. Wie könnte ich das machen?
Desweiteren möchte ich im Reiter Initialisieren Werte eingeben, die im späteren Verlauf des Programms immer wieder aufgerufen werden. Wobei es davon abgängt (Enum "Betriebtemperatur"), welche Betriebstemperatur ausgewählt wurde. Wie könnte ich das machen? Die Werte abspeichern? Oder lokale Variablen verwenden?
VIelen Dank schon mal für eure Hilfe.
JaGenau
08-06-2013 07:45 AM
Hallo "JaGenau",
einfach im Netz mal ausführlich nach dem Architekturmuster "labview state machine" oder "labview event driven state machine" suchen bzw. zum Einstieg in LV (ab 2012) ein neues Projekt anlegen und die Template "Simple State Machine" verwenden.
Gruß
Markus
08-06-2013 08:53 AM
Hallo Markus,
Regsisterkarte und Schieberegister habe ich soweit ausprobiert und ich kann zwischen den Registern springen und dies auch gezielt steuern. Aber die Umschaltung läuft nur im Blockdiagramm und nicht im Frontpanel. Wie funktioniert das Umschalten zwischen den Reitérn im Frontpanel?
Grüße
Siegfried
08-06-2013 09:10 AM
Panel mit Reitern rechtsklicken und einen Eigenschaftsknoten für den "Wert" erzeugen. Diesen auf "Alle in Schreiben ändern" setzen und dann per Rechtsklick auf den Konnektor eine Konstante erzeugen und auf den Namen des Reiters setzen den Du gerade brauchst. Achtung: wenn Du nachträglich Reiternamen änderst oder hinzufügst dann musst Du die Konstante neu erzeugen...aber das ist eine andere Geschichte ...nämlich die von den kleinen Type Definitions.
Viel Erfolg
Markus
08-08-2013 06:31 AM
Hi Markus,
das mit dem automatischen Weiterleiten in den Reitern hat problem geklappt. Danke für die Hilfe.
Jetzt bleibt aber immer noch die Frage, wie ich die Initialisierung in meinem Programm löse. Ich habe Screenshots vom Frontpanel und Blockdiagramm oben geändert. Ich möchte Werte links eingeben und rechts anzeigen lassen. Diese Werte brauche ich später im Programm noch. Soll ich diese Werte abspeichern und später wieder einlesen oder kann ich diese zwischen den Registern durchschieben? Wichtig dabei ist, dass die Werte von der Betriebtemperatur abghängig sind, d.h. je nach Betriebstemperatur sind es andere Werte, die auch später im Programm unterschieden werden.
Gruß
Siegfried
08-08-2013 07:00 AM
Zunächsteinmal würde ich recherchieren wie man mit Config File VIs (Englische LV-Version) .ini-Dateien einliest und schreibt. Dein Ansatz frustriert Dich sonst spätestens wenn Du zum zweiten Mal von Hand die Parameter eingeben musst, weil Du das Programm neu gestartet hast. Außerdem solltest Du Dir auch überlegen ob Du die Temperatur evtl. in den Parametersatz mit hineinnimmst.
08-08-2013 01:41 PM
Hi Siegfried,
wenn Du Daten zwischen den einzelnen States übergeben willst geht das mit einem Schieberegister. Erzeug einfach ein Cluster in dem Du alle relevanten Daten einfügst und hol Dir in den einzelnen States die benötigten Werte mit der Funktion Unbundle by name.
Wenn Du von dem Cluster eine Typdefinition erstellst kannst Du auch nachträglich noch Daten hinzufügen oder wegnehmen ohne gleich den ganzen Code überarbeiten zu müssen. Wie Markus schon vorgeschlagen hat, schau Dir mal das Statemachine Template an, des zeigts ganz gut und ist auch gut beschrieben in den Dokufiles.
Viele Grüße
Carsten
08-08-2013 04:13 PM
Hallo Siegfried,
was sags Du über NI LabVIEW Basic 1 und 2 kurs zu besuchen??|No free ride.
08-09-2013 06:24 AM
Mir hat das Seminar sehr viel gebracht. Ich habe in kurzer Zeit gelernt, wie ich mit LabView umgehen soll. Vor allem die Systematik ist dabei sehr wichtig. Programmieren kann jeder, aber etwas übersichtlich und kompakt zu programmieren ist die Kunst. Und das hat das Seminar vermittelt. Ich bin sehr froh es gemacht zu haben und kann es sehr gut umsetzen. Leider habe ich konnte ich auch noch Basic 2 besuchen, aber die Grundlagen sind auf jeden Fall da.
Also ich kann es nur empfehlen. Es ist für Diplomanden und Bacheloranden usw. sehr günstig. Für 1500€ hätte ich den Kurs sehr wahrscheinlich nicht bezahlt bekommen.
Grüße
Siegfried
08-12-2013 08:05 AM
Hallo Markus und Carsten,
nachdem ich nun einiges ausprobiert habe, habe ich mich für das Schieberegister entschieden. Soweit funktioniert das Initialisieren auch sehr gut. Danke Carsten für den Typ mit der Typdefinition, habe ich natürlich gemacht. Damit bleibt mir mich nochmal bei allen zu bedanken und alles Gute zu wünschen.
Gruß
Siegfried