Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!
Vielen Dank nochmals für Deine schnelle Hilfe, Du konntest mir sehr helfen? Eine Frage hätte ich dann aber zu guter letzt dann doch noch: Die Symbolblöcke in Deiner Version des Blockschaltbildes mit dem "s" bzw "m" in der Mitte eingeschlossen von zwei Pfeilen, habe ich noch nie zuvor gesehen. Könntest Du mir kurz erklären, auch interessehalber, was es damit auf sich hat!
Funktionen--> numerisch --> konvertierung --> Units
LabVIEW erlaubt den Umgang mit dimensionsbehafteten Variablen. das m steht für "Meter" und das s für Sekunden.
Vorteil bei der graphischen Darstellung (den ich dann leider nicht wahrgenommen habe): Du siehts neben/unter den Achsen das "m" und "s" Wenn ich dort statt dessen "mm" und "ms" hingeschrieben hätte, wäre die Skalierung in mm und ms, ohne daß ich noch irgendetwas mit 1000 multiplizieren müßte.
Es ist aber nichts wirklich wichtiges, das kannst Du weglassen.
Ich habe das Programm und die Integration jetzt implementiert (zwar vielleicht etwas umständlicher, aber es läuft) und konnte jetzt Messungen durchführen. Leider sind die erhalten Werte für die Wegbestimmung total unbrauchbar, und ich weiss nicht woran es liegt. Klar, im Ruhestand habe ich auch eine "Nullbeschleunigung" von etwa 0,05m/s^2, aber ich sollte doch, wenn ich den Sensor von der Ruhelage aus 20cm in x- Richtung schiebe, auch ungefähr diesen Wert angezeigt bekommen. Anstattdessen bekomme ich nur negative X-Werte geliefert. Da wollte ich fragen, ob ich evtl. etwas übersehen habe, oder etwas falsch implementiert habe?Denn normalerweise sollte diese Strecke doch, wenn ich im "SingleShot" - Verfahren den Sensor in etwa 600ms in diese Richtung bewege, en wenigstens halbwegs vernünftiges Ergebnis zum Vorschein kommen.Auch ist es merkwürdig, dass der Weggrph, so wie ich es abgespeichert habe, im Ruhezustand in etwa den Punkt (3cm,-2,4cm) angibt. Gibt es in LabVIEW viellicht Möglichkeiten oder vis, um das Rauschen softwaremässig zu begrenzen? Hat jmd. vielleicht ähnlihce Erfahrungen?
Was mir noch Kopfzerbrechen bereitet ist die Darstellung der Weg-Zeit-Diagramme, ich bekomme immer als Fehlermeldung, dass ein Konflikt mit den Clustergrößen vorliegt, bekomme das Problem aber leider nicht in den Griff, muss ich meinen Graph in ein Cluster einfügen?
Hat denn keiner vielleicht einen Rat für mich, wie ich die Weg-Zeit-Diagramme richtig implementiere?Und vielleicht weiss jemand Rat, warum die Messwerte bei mir so komisch sind, bzw. ich einen gravierenden Fehler im Programm habe.
Zitat:Was mir noch Kopfzerbrechen bereitet ist die Darstellung der Weg-Zeit-Diagramme, ich bekomme immer als Fehlermeldung, dass ein Konflikt mit den Clustergrößen vorliegt, bekomme das Problem aber leider nicht in den Griff, muss ich meinen Graph in ein Cluster einfügen?
Nein, das mußt Du nicht, es ist so richtig. Aber bei einem Weg-Zeit-Verlauf mit konstantetem dt sollte man das richtige Diagramm verwenden. Du benutzt ein xy-Diagramm, das kann natürlich nicht funktionieren.
Tip: Wenn Du hier Hilfe erwartest, dann darfst Du nicht davon ausgehen, daß andere Deine Meßtechnit inklusive der Sensoren auch bei sich zu Hause haben und damit Versuche anstellen. Du solltest schon Offline-Daten mitliefern, und das Programm so modifizieren, daß es diese Daten verarbeitet. Diese Daten solltest Du kommentieren, beispielsweise so: "Bei der Erfassung dieser Daten bewegte sich das Objekt von Punkt P0 über den Weg soundso nach P1. Mein Programm zeigt statt dessen dieses hier an:...."
Wie kommst Du überhaupt ansatzweise auf die Idee, daß jemand Dir helfen kann, wenn das alles fehlt?
Habe seit langer Zeit mal wieder das Programm hervorgekramt, und wollte nun versuchen drei analoge Spannungen zu erfassen. Das klappt bis auf weiteres auch ohne Probleme, nur bekomme ich nun nicht mehr meine Koordinaten angezeigt. Nachedem von den Arryas(0....999), um eins dekrementiert wird, um die letzten Punkte angezeigt zu bekommen, werden ab dieser Stelle keine Werte mehr übergeben. Den Index habe ich entsprechend bei drei Spannungen auf 2 gesetzt, aber leider funktioniert es trotzdem nicht:-(
Hat jemand einen Rat, wo das Problem liegen könnte.
Ich habe als Anhang einen Ausschnitt des Programmes miteingefügt, in dem das Problem auftaucht.
Eine weitere, ich glaube eher stilistischere, Frage, wäre, ob es eine elegantere Möglichkeit gibt, um die Offsets jeweils von den Spannungen abzuziehen. Ich ahbe es schon mal mit indizierten Clustern versucht, aber leider stimmen dann die Eingabeparameter für das Subvi nicht mehr.
Ich habe es mir mal angesehen, laufen lassen konnte ich es nicht, es fehlt das Sub-vi 2fache Integration.
Mit "Array erstellen" erzeugst du ein zweidimensionales Array. Es sind 3 Zeilen mit je 1000 Messwerten. Am Ausgang von "Array-Größe" müßte [1000; 3] stehen, d.h es gibt nur 2 Elemente, Element 0 und Element 1. Drei Elemente gäbe es nur bei einem dreidimensionalem Array.
(3 Arrays mit Spannungswerten ergeben kein 3dimenionales Array, sondern lediglich eine zweidimensionales Array mit 3 Zeilen!)
Es gibt also am Ausgang von "Array-Größe" überhaupt kein Element 2, deshalb kannst du's auch nicht indizieren
Zur stilistischen Frage:
Es geht eleganter: DAQ-Assistent --> rechte Maustaste --> "Eigenschaften" --> Spannung0 --> Eigene Skalierung --> Neu
Das Weitere ist quasi selbterklärend.
Der besondere Vorteil ist, daß die Kalibrierwerte im M&A-Explorer permanent gespeichert sind. Man kann sie dort, wenn z.B der Sennsor getauscht wird, ändern.
In der Tat bin ich von der falschen Annahme ausgegenagen, dass ich am Ausgang von "Array-Größe" 3 Elemente habe, dieses Problem ist jetzt gelöst. Allerdings wollte ich hdie Endpunkte kontinuierlich in einem 3D - Graph darstellen und wollte dies mit Schieberegistern realisieren. Ich erstelle ein Array und gebe als Eingangsparameter das Schieberegister und die Endpunkt-Elemetnte ein. Das resultierende Array nehme ich als Eingang für ein inditiertes Array und die drei Teilarrays wollte ich als Eingangsparameter für x, y, und z meines Graphen nehmen. Leider fuinktioniert das mit der Anzeige nicht undweiß nicht, wie ich meine Endpunkte quasi fortlaufend im Graph darstelle kann??
Die Offsets mittles des DAQ - Assistenten abzuziehen hat geklappt, aber ich dachte eher an eine direkte Umsetzung im Programm. Denn momentan ziehe ich in der for - Schleife mittles Subtraktion von dem Eingangscluster immer nur ein und diesellbe Größe, nömlich x ab, obwohl ic ham Anfang der Schleife auch Indizierung aktiviert habe. Gäbe es hier noch eine Lösung, ohne dass ich das ganze Programm umstricken muss?
In der Tat bin ich von der falschen Annahme ausgegenagen, dass ich am Ausgang von "Array-Größe" 3 Elemente habe, dieses Problem ist jetzt gelöst. Allerdings wollte ich hdie Endpunkte kontinuierlich in einem 3D - Graph darstellen und wollte dies mit Schieberegistern realisieren. Ich erstelle ein Array und gebe als Eingangsparameter das Schieberegister und die Endpunkt-Elemetnte ein. Das resultierende Array nehme ich als Eingang für ein inditiertes Array und die drei Teilarrays wollte ich als Eingangsparameter für x, y, und z meines Graphen nehmen. Leider fuinktioniert das mit der Anzeige nicht undweiß nicht, wie ich meine Endpunkte quasi fortlaufend im Graph darstelle kann??
Die Offsets mittles des DAQ - Assistenten abzuziehen hat geklappt, aber ich dachte eher an eine direkte Umsetzung im Programm. Denn momentan ziehe ich in der for - Schleife mittles Subtraktion von dem Eingangscluster immer nur ein und diesellbe Größe, nömlich x ab, obwohl ic ham Anfang der Schleife auch Indizierung aktiviert habe. Gäbe es hier noch eine Lösung, ohne dass ich das ganze Programm umstricken muss?
Ich habe 3D-Graphen noch nie selbst verwendet, und kann Dir da auf die Schnelle nicht helfen.
Wegen der Subtraktion kann ich auch nicht richtig helfen, weil ich nicht verstehe, was Du mit dieser Clusterbildung vorhast und warum Du aus drei Arrays letztlich 9 Arrays machst, um diese dann dem Sub.vi zu übergeben.