LabVIEWForum.de - Statemachine-Projekt…

LabVIEWForum.de

Normale Version: Statemachine-Projekt…
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Anbei nochmal die Aufgabenstellung zum Projekt[attachment=62233]
Hallo,

du wirst dir leichter tun, wenn du nach der Initialisierung im nächsten Schritt auf eine Eingabe mit Hilfe der Event-Struktur wartest.
In diesem Zusammenhang, wieso hast du nicht das gemacht, was dir laut Aufgabenstellung vorgeschlagen wird, nämlich ein LabVIEW-Projekt aus der Vorlage "Simple State Machine" zu starten?
Pulldown-Menü File->Create Project..., dann:
[attachment=62234]
Das Pattern enthält meinen Vorschlag "Event-Struktur", nach Abändern des Frontpanel bist du fast schon fertig.

Und noch zwei "Design"-Tipp:
1) NIE das Label eines Controls wegeditieren wie bei deinen beiden Buttons. Wenn du die Labels im Frontpanel nicht brauchst, dann zeig sie im FP nicht an; Rechtsklick auf Control -> Visible ->...
2) Leg auch für deine Cluster jeweils eine Typ-Definition an, dann tust du dir später bei Änderungen leichter.

Gruß, Jens
hallo jens,

Das mit der Event-Struktur haben wir in den Vorlesungen nicht besprochen, ich höre es also zum ersten mal. Könntest du bitte zeigen, wie du es machen würdest bzw. ein Lösungsvorschlag zur Veranschaulichung geben. Das würde mir echt weiter helfen, da ich gerade ziemlich auf dem Schlauch steh.

Vg
riu
Hallo,

hast du die Vorlage, die ich erwähnt habe, aufgemacht? Sieht nicht so aus, denn dann würde sich deine Rückfrage eigentlich erübrigen.

Also hier ein rudimentäres nicht lauffähiges Template:
[attachment=62235]

Gruß, Jens
Servus Leute,

bin grad in der Uni und versuche es grad nach der Vorlage, die mir gezeigt wurde zu machen. Irgendwas scheint dennoch nicht zu funkzunieren bzw. nicht zu stimmen. Könnt ihr mir bitte die Lösung zeigen oder etwas brauchbares, was mir dann auch weiter hilft. Ich würde mich über eine schnelle Antwort sehr freuen!!

Vg
riu
Hallo,

wenn du das FP meines Templates verwendest, dann hast du alle Bedien- und Anzeige-Elemente, die du zur Lösung der Aufgabe benötigst.

Meine State-Machine enthält die folgenden Fälle:
[attachment=62239]

Per Schieberegister führe ich nur den Anzeige-Cluster durch:
[attachment=62240]

Den Münzeinwurf-Cluster mit den Buttons musst du nur in der Eventstruktur verwenden. Jede Button-Betätigung entspricht dem Einwurf einer Münze, entsprechend wird die Anzeige "Einwurf" hier immer weiter aufaddiert.

Die Aufgabenstellung ist an dieser Stelle etwas unklar: Soll nach jedem Einwurf überprüft werden, ob das Geld schon auslangt, oder erst bei Betätigung de OK-Buttons.

Bei meiner State-Machine mache ich das nur nach Betätigung "OK", und dann wird in einen der beiden Anzeige-Cases gesprungen. Ein wenig Quick&Dirty, aber so könnte es im Prinzip gehen:
[attachment=62241]

Gruß, Jens
Hallo Leute,

Ich brauche bitte eure Hilfe. Drei von den sechs unten genannten Vorgaben müssen erfüllt sein. Wie ihr selbst sieht bin ich gar nicht gut in diesem Programm, eher sehr schlecht. Ich würde mich daher über konkrete und ausführliche Lösungsvorschläge, die mir weiter helfen sehr freuen! Abgabe des Projekts ist bis spätestens Freitag um 8:00 Uhr.

Folgende Vorgaben sind bisher nicht erfüllt:
1. Die eingeworfenen Münzen werden aufaddiert, die Summe im Anzeigeelement „Einwurf“ angezeigt
2. Wenn der eingeworfene Betrag für 1 Getränk ausreicht, wird im Anzeigeelement „Info“ der Text „Einwurf ausreichend“ angezeigt und die LED „Einwurf ausreichend“ leuchtet grün
3. Die Betätigung des „OK“ Buttons bewirkt:…(siehe Aufgabenstellung)
4. Erstellen Sie vor der Implementierung ein Zustandsübergangsdiagramm (das abgegebene Diagramm bildet nicht die Funktion des abgegebenen Programms korrekt ab)
5. Erstellen Sie ein LabVIEW Projekt (Ihre Dateien sind aktuell nicht in einem LabVIEW-Projekt organisiert – siehe Lektion-01, Abschnitt B)
6. Dokumentieren Sie Ihr Programm durch: VI Beschreibung, Tipps, Beschriftungen im Blockdiagramm
Hallo,

- überlegt euch bitte, wann ihr in den Start-Case springt. Da muss man nur in 2 Fällen rein, nicht in 4 wie bei euch - sobald das Programm mal läuft, sogar nur aus einem Fall heraus.
- verwendet "Wait (ms)", nicht "Wait until next ms Multiple"
- wartet im "Start" und im "Zahlung erfassen" Case jeweils 50 ms

Ich hätte mich noch mehr gefreut, wenn meine früheren Hinweise befolgt worden wären, wie den Münzeinwurf-Cluster zu einer Typ-Definition zu machen (dann kann man den auch an das Sub-VI übergeben) oder die Labels beim OK und Stopp Button wieder sichtbar zu machen, so dass sie im Blockdiagramm dokumentiert sind... Sad

Gruß, Jens

EDIT: 1x STRG+U betätigen bringt vielleicht auch Plus-Punkte...
Hallo,

ich habe gestern euer Ablaufdiagramm-PDF übersehen, hier springt ihr ja nur im Programmstart in den "Start"-Case, auch wenn ihr es nicht so programmiert habt, deshalb:
(14.06.2022 17:37 )jg schrieb: [ -> ]- überlegt euch bitte, wann ihr in den Start-Case springt. Da muss man nur in 2 Fällen rein, nicht in 4 wie bei euch - sobald das Programm mal läuft, sogar nur aus einem Fall heraus.
Wohin sollte es nach dem Case "Betrag reicht nicht" gehen? Im Diagramm einzeichnen und dann entsprechend umsetzen.
Wohin sollte es nach dem Case "Betrag reicht" gehen? Im Diagramm einzeichnen und dann entsprechend umsetzen.

Der Vollständigkeit halber vielleicht noch den Abbruch/Ende-Case einzeichnen...

Gruß, Jens
Seiten: 1 2
Referenz-URLs