LabVIEWForum.de - Aufgabe

LabVIEWForum.de

Normale Version: Aufgabe
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Moin Leute,

folgende Aufgabe wurde mir zugetragen. Nur leider fehlt mir hierfür der Ansatz :/
Hoffe ihr könnt helfen.


Aufgabe:

Programmieren Sie einen Zustandsautomaten. Dieser soll kontinuierlich eine Sinus- oder Cosinusschwingung darstellen. Die Amplitude soll 2 betragen, die Frequenz soll während der Laufzeit einstellbar sein. Alle 5 ms soll ein neuer Wert zur Darstellung hinzugefügt werden. Alle 200ms soll der Zustandsautomat die Eingaben des Benutzers prüfen und die Darstellung entsprechend ändern. Sind Änderungen aufgetreten, soll die Historie gelöscht werden und die Schwingung von vorn beginnen. Die Eingabeelemente sollen in einer Dekobox angelegt werden, um sie vom Rest abzugrenzen. Je nachdem, ob die Frequenz größer als 10 Hz oder kleiner als 1 Hz ist, soll die Schriftfarbe des Eingabeelements rot(>10Hz), grün(<1Hz) oder blau(1Hz< x <10Hz) sein(„Eigenschaftsknoten“). Erstellen Sie einen weiteren Button, der die letzten 200 Werte der Schwingung in eine txt-Datei speichert. Dazu soll ein weiterer Zustand erzeugt werden, in dem ein Dialog nach dem Speicherort fragt. Während des Speichervorgangs sollen keine Eingaben möglich sein („Eigenschaftsknoten: Deaktiviert“). Das Speichern soll ebenfalls erst möglich sein, sobald die ersten 200 Werte erzeugt wurden. Erstellen Sie dafür eine Abfrage im „Werteauslesen“-Case. Bedenken Sie unvorhergesehene Programmzustände. D.h. Alle Eingabe und Ausgabe Elemente sollte zu Beginn Initialisiert werden und manche mit bestimmten Werten vorbelegt werden.


Beste Grüße
Christian
(02.06.2018 10:56 )mumi809 schrieb: [ -> ]Nur leider fehlt mir hierfür der Ansatz
Kucks du die Links in GerdW's Signatur. Dann kannst du mal eine Vorlage machen. Ohne Vorlage ist ganz schwer zu helfen.

Zitat:Bedenken Sie unvorhergesehene Programmzustände.
Interessante Ausdrucksweise. Eigentlich ein Widerspruch in sich selbst: Hat man es bedacht, also vorhergesehen, ist es nicht mehr unvorhergesehen. Gemeint ist das Sequenzieren per Errorcluster und das Auswerten ebendieser.
Wie kann ich denn eine Vorlage erstellen, unter welchem Link ist das möglich ?

Bei der Aufgabenstellung geht es vermutlich auch darum zu verstehen, was denn nun genau gefordert ist.
Jedoch fehlt mir hier komplett der Ansatz...
(02.06.2018 11:24 )mumi809 schrieb: [ -> ]Wie kann ich denn eine Vorlage erstellen, unter welchem Link ist das möglich ?
Zitat:Bei der Aufgabenstellung geht es vermutlich auch darum zu verstehen, was denn nun genau gefordert ist.

Da muss ich zuerst einmal hart rückfragen: Welchen Studiengang bzw. welche Ausbildungsrichtung hast du denn eingeschlagen? Bist du sicher, dass du ein LabVIEW-Programm schreiben willst (nicht musst)? Zumal ich die Aufgabe für nicht ganz trivial halte ...

In GerdW's Signatur findest du Links auf Tutorials zu LabVIEW und zum LabVIEW-Programmieren. Ohne gewissen Grundlagen, die du eben über diese Links in der Signatur findest, wird das mit einer Beratung per Forum nichts. Und die Beratung wird sich immer nur mit einer Vorlage, also einem (möglicherweise) ablauffähigen VI, durchführen lassen. Wenn du noch gar keine Ahnung von LabVIEW bzw. vom Programmieren bzw. vom Link auswerten, dann solltest du dir einen "Lehrer" für Face-To-Face-Unterricht suchen.

Zitat:Wie kann ich denn eine Vorlage erstellen, unter welchem Link ist das möglich ?
Da antworte ich mal so:
Eine Vorlage, also das VI, das wir hier gerne sehen würden, kannst du so ohne weiteres nicht per Link erstellen. Da musst du schon die Aufgabe verstanden haben und entsprechend programmieren. Du kannst in der Hilfe von LV suchen nach z.B. Statemachine (Zustandsautomaten = Case-Struktur mit Enumerator). Wenn du Glück hast (ich selbst verwende keine Hilfe, daher weiss ich das nicht), findest du ein Vorlagen-VI, das du weiter verwenden kannst.

Zitat:Bei der Aufgabenstellung geht es vermutlich auch darum zu verstehen, was denn nun genau gefordert ist.
Hast du denn die Aufgabe verstanden? Im übrigen bin ich der Meinung, dass du hier im Forum nur schwer einen finden wirst, der dir diese Aufgabe in ein VI umsetzten wird. Also am schnellsten geht: erst selbst denken und arbeiten, dann hier VI einstellen, dann gibt es Hilfe in Massen ...

Zitat:Jedoch fehlt mir hier komplett der Ansatz
Der erste Ansatz ist eine Statemachine (Case-Sequenz in While-Schleife, gesteuert mit einem Enumerator), die den grundsätzlichen Aufgabenablauf durchführt. Parallel würde ich eine Ereignisstruktur verwenden, die die Benutzereingaben handhabt und eine Schnittstelle für die Benutzerdaten zur Statemachine hin zur Verfügung stellt. Die Frage ist weiterhin, ob Queues verwendet werden sollen oder nicht ...
Referenz-URLs