LabVIEWForum.de
Hilfe für Schulprojekt?! - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Hilfe für Schulprojekt?! (/Thread-Hilfe-fuer-Schulprojekt)



Hilfe für Schulprojekt?! - SteveO - 06.02.2010 14:35

Hallo erstmal zusammen!

Ich bin neu hier und habe mich bereits etwas durch das Forum geforstet.
Ich bin im zweiten Jahr der Techniker Abendschule und wir haben jetzt mit LabVIEW (8.5) Programmierung begonnen. Wir bekamen an zwei Tagen eine kleine Einführung über die Programmoberfläche, Strukturen etc. Leider konnte ich hier im Forum nur wenig für LabVIEW Anfänger finden.
Nun aber zu meinem Problem:

Wir haben folgende Projektaufgabe bekommen:
a)
Für ein Werkstück sollen Stichprobenartig zwei verschiedene Messwerte ermittelt werden.
Für beide Messungen sollen zunächst eine obere und Untere Eingriffsgrenze festgelegt werden.
Die Stichproben werden in ein Array eingelesen und als Graph ausgegeben.
Zusätzlich werden arithmetische Mittelwert und die obere sowie untere Eingriffgrenzen in den Graphen gezeichnet.
Das Programm lässt es zu, das die Stichproben für beide Messwerte kontinuierlich eingelesen werden.

b)generierung der Häufigkeitsverteilung

c)Möglichkeit der Speicherung in einem Datenfile u. Abruf aus einem Datenfile

d)Auslagerung der Daten in eine Exceltabelle

Wichtig ist mir erstmal die Grundaufgabe a).
Kann mir jemand sagen wie ich an die Sache ran gehen sollte?
Ähnliche Beispiele als VI? Also das ich mir die Grundstruktur abschauen kann?
Bin für jede Hilfe dankbar!
Bahn


Hilfe für Schulprojekt?! - Y-P - 07.02.2010 10:36

Wie war das? Du willst pro Stichprobe 2 Werte erfassen und jeden Wert einzeln überprüfen, ob er zwischen zwei Werten (Grenzen) liegt?
Danach werden die zwei Punkte in einem (2D-)Array (Pro Wertepaar eine Zeile?) weggeschrieben?
Wie sehen solche Werte aus. Hast Du da ein Bsp.? Und wie werden die Werte erfasst?

Gruß Markus


Hilfe für Schulprojekt?! - SteveO - 07.02.2010 18:42

Hier die genaue Aufgabe in Anhang.
Die Messwerte werden einfach mit einem Messschieber gemessen. Zwei verschiedene Maße. Also zwei mal das gleiche Prinzip.
Über eine Eingabe werden die Werte in ein 1D Array geschrieben und in einem Diagramm dargestellt (wie das diagramm unten auf dem Aufgaben Zettel)[attachment=24237]


Hilfe für Schulprojekt?! - BsaiboT - 08.02.2010 17:09

Ich habe mich gestern Abend mal ein bisschen an deiner Aufgabe ausgetobt.

Soll das Ergebnis für Aufgabenteil a) ungefähr so aussehen?
[attachment=24257] (Edit: Screenshot korrigiert)

Ich würde dir empfehlen eine State machine in Kombination mit einer Eventstruktur aufzubauen.

Als erstes musst du dir also eine state machine bauen. Dazu verbindest eine Enum-Konstante mit einer Case-Struktur, die sich innerhalb einer While-Schleife befindet.
Beim Enum trägst du nun alle States ein, die du benötigst. Beispielsweise "Setup", Messdaten einlesen", "Graph ausgeben" und "Close".
Folgender Screenshot zeigt ein Beispiel wie man den Setup-Case gestalten könnte:
[attachment=24253]

...und so könnte die Event-Struktur im "Messdaten einlesen" State aussehen:
[attachment=24254]

Die Screens vom Blockdiagramm gehören übrigens nicht zu dem oben gezeigten Front Panel, sondern zu diesem wesentlich einfacheren:
[attachment=24255]

Bei dem von mir zuerst gezeigtem Front Panel Beispiel, sind noch kleine Feinheiten eingebaut, wie z.B. Eigenschaftsknoten um die Benutzereingabe zu steuern. D.h. ich aktiviere und deaktiviere dort Bedienelemente um sicherzustellen, dass zuerst die Limits eingegeben werden und während der Messung immer zuerst der d-Wert und danach der s-Wert abgefragt wird, um dann den Graph zu aktualisieren.
Da ich jedoch nicht einschätzen kann wie fortgeschritten ihr bei eurem LV-Unterricht seid, habe ich dies jetzt erstmal weggelassen. Solltet ihr schon soweit sein und mit Eigenschaftsknoten arbeit, dann solltest du soetwas auf jeden Fall mit einbauen, da es meiner Meinung nach die elegantere Lösung ist.

Ich hoffe dies gibt dir ein paar Denkanstöße in die richtige Richtung. Jetzt solltest du erstmal loslegen und versuchen die ersten Schritte zu programmieren. generell solltest du dir zuerst ein Frontpanel erstellen, wie es deinen Vorstellungen entspricht und welches alle benötigten Ein- und Ausgabeelemente beherbergt. Erst dann solltest du dich dem BD zuwenden, dort Ordnung schaffen und mit der eigentlichen Programmierung beginnen.

Viel Erfolg dabei!

Beste Grüße aus Schweden,
Tobias

PS: Wenn Du weitere Fragen hast, dann frag einfach. Die meisten Antworten wirst du hier dann bekommen, wenn du dein bis dato bereits erstelltes VI hier hochlädst oder Bilder davon zeigst. Nur dann können wir dir konkret helfen.