LabVIEWForum.de
Jede 100ms Neuer Wert soll aber jede ms sein - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Datenerfassung (DAQ) (/Forum-Datenerfassung-DAQ)
+---- Thema: Jede 100ms Neuer Wert soll aber jede ms sein (/Thread-Jede-100ms-Neuer-Wert-soll-aber-jede-ms-sein)

Seiten: 1 2 3 4


RE: Jede 100ms Neuer Wert soll aber jede ms sein - Bobo - 17.01.2012 19:13

Ich werde mich bemühen das vernüftig zu machen! Aber ich bin auch kein Profi so Ihr.ok bis Morgen


RE: Jede 100ms Neuer Wert soll aber jede ms sein - Bobo - 18.01.2012 19:23

Guten Abend,
ich habe nun versucht die Fehler zu beseitigen….. Fehler sind aber natürlich noch da bzw. unschöne „Lösungen“ das werde ich aber noch beseitigen!
Ich möchte aber letztendlich die Funktionalität der Messung erreichen, das wäre mir sehr Wichtig erstmal
Ich hoffe man kann das Programm mehr oder weniger gut Lesen nachvollziehen
Meine Fragen:
Es befindet sich Oben eine Schleife wo verschiedene Sensoren eingelesen werden welche auch per Analog Eingang USB 6009 eingelesen werden.
Dazu unten befinden sich eine Sequenz welche da (in das VI test_neu) nur rein kopiert worden ist , dieser Sensor wird per USB eingelesen. (Lokale Variable „Anzeige“, die konnte ich nicht beseitigen)
Es gibt einen Winkel Sensor (Info: per NI 6009 wird der eingelesen) dieser soll mit dem Sensor (Anzeige) welcher per USB eingelesen wird verrechnet werden.
In der xls Datei ist zu erkennen das sich der Winkel Sensor pro 0,001ms änder der Kraftsensor jedoch pro 0,1S,
1. Wie kann man das ändern das der Kraftsensor gleich eingelesen wird in der gleichen Auflösung wie der Winkel Sensor?

Das es in ms nicht Stabil läuft ist mir klar, mir ist auch nicht wichtig ob sich die beiden Sensoren oder alle in z.B 1ms oder in 1,3ms geändert haben ich möchte nur wissen ob die Änderung da gewesen ist.
Ich danke euch für Die Hilfe welche ich immer bekomme.


Vielleicht könnte man das so machen das man die Zeit im Programm selbst bestimmen kann.
Die XLS Datei


RE: Jede 100ms Neuer Wert soll aber jede ms sein - Bobo - 18.01.2012 20:49

Das Vi wo das der USB Sensor ausgelesen wird habe ich von hier: http://www.atp-messtechnik.de/site/Download.htm und dann Labview (Ver. 7.1.1) -Module (vi-Dateien) für Sensor-Interface LCV-USB


RE: Jede 100ms Neuer Wert soll aber jede ms sein - jg - 18.01.2012 22:08

Also gut, nochmal. Ich glaube, wir hatten zwar alles schon mal irgendwie, aber zur Sicherheit.

1) Taktrate der AI-Erfassung ist 1 kHz. Das läuft auch stabil, denn dieser Takt wird innerhalb deiner USB-6009 erzeugt.
2) Taktrate deiner oberen Schleife ist 10 Hz, denn du forderst immer 100 Messwerte per DAQmx-Read an. Die liegen natürlich bei einer 1kHz Erfassungtakt erst nach 0,1 s vor.
3) Die Erfassung deines Kraftsensors läuft per RS-232 Kommunikation in einer weiteren Schleife, vollkommen unabhängig von deiner AI-Erfassung. Wie schnell diese Schleife läuft, kann ich nicht genau sagen, da da ein paar VIs fehlen. Aber auf jeden Fall ist da ein Wait von 50 ms drin, also maximal mit 20 Hz. (Edit: Im Wait-VI von Lorenz Messtechnik hängt noch ein weiteres 100 ms Wait drinnen, somit sind wir bei 150 ms pro Schleifendurchlauf oder 6,6 Hz). Was da maximal möglich ist, kann ich so aus der Ferne nicht sagen. Dazu musst du dir wohl oder übel mal die Details des Kommunikations-Protokolls reinziehen.
4) Wieso wird nur alle 0,1 Sekunden ein neuer Wert aus der Kraftsensor-Abfrage in deine Ergebnisdatei geschrieben? Weil du wie unter 2) beschrieben bei der oberen Schleife eine Taktrate von 10 Hz hast. Da du die Übergabe von der unteren in die obere Schleife per lokaler Variable gelöst hast, wird immer nur der gerade momentan vorhandene Wert zu den Messdaten hinzugefügt.

Gruß, Jens


RE: Jede 100ms Neuer Wert soll aber jede ms sein - Bobo - 19.01.2012 11:54

Danke erstmal für die Antwort und die Analyse!
Zur Punkt 3 aus dem Beitrag von GerdW: Ich habe das Vi von http://www.atp-messtechnik.de/site/Download.htm > Labview (Ver. 7.1.1) -Module (vi-Dateien) für Sensor-Interface LCV-USB versucht zu bearbeiten, nun ich habe auch die wait.vi geändert bzw. ich habe die Verzögerungen entfernt , der Sensor Funktioniert immer noch, schneller (Ich habe die VI’s als Zip angehängt dort ist auch das wait.vi)
Aber meine Frage:
1. Wie kann ich nun die Lokale Variable Ersätzen, so das alle Werte an die Obere Schleife übergeben werden ? In meinem VI test_neu.vi, könnte mir einer Zeigen?
Ich habe mir ein Buch ausgeliehen, dort wird erwähnt das man unter Programmierung > Strukturen > Zeitgesteuerte Strukturen, eben Zeitgesteuerte Schleifen verwenden kann.


RE: Jede 100ms Neuer Wert soll aber jede ms sein - Bobo - 20.01.2012 09:22

Hallo, ich habe nochmal alles zusammen gestellt als eine Zip Datei.
In der unteren Schleife habe ich eine Zeitgesteuerte Schleife eingefügt.
1.Wie kann ich nun die Zeiten der beiden Schleifen oben und unten anpassen im Zesz_neu1.vi
2.Wie kann ich die Lokale Variable „Anzeige“ welche die Werte von der unteren Schleife in die obere überträgt Ersätzen?
Letztendlich fehlt mir nur die eine Sache…und ich komme einfach im Moment nicht weiter.


RE: Jede 100ms Neuer Wert soll aber jede ms sein - Bobo - 20.01.2012 12:52

Die ZIP Datei oben ist fehlerhaft, die ist jetzt richtig, Danke


RE: Jede 100ms Neuer Wert soll aber jede ms sein - Bobo - 21.01.2012 16:20

hat keiner eine Idee, wie ich die Kratkomponente (untere schleife) in der oberen Schleife ist das die lokalevariable "Anzeige" übetragen könnte ? in der gleichen Zeit wie die andren Sensoren


RE: Jede 100ms Neuer Wert soll aber jede ms sein - GerdW - 22.01.2012 10:05

Hallo Bobo,

schon mal Beitrag #24 gelesen?
Übertragung läuft doch im geforderten Takt, es werden nur nicht schnell genug neue Werte generiert...

Wenn sich an der Sachlage nichts ändert, ist diese Frage für uns schon beantwortet!


RE: Jede 100ms Neuer Wert soll aber jede ms sein - Bobo - 22.01.2012 14:09

Hallo GerdW, Danke für deine Antwort.
Du meinst diesen Beitrag:
„3) Die Erfassung deines Kraftsensors läuft per RS-232 Kommunikation in einer weiteren Schleife, vollkommen unabhängig von deiner AI-Erfassung. Wie schnell diese Schleife läuft, kann ich nicht genau sagen, da da ein paar VIs fehlen. Aber auf jeden Fall ist da ein Wait von 50 ms drin, also maximal mit 20 Hz. (Edit: Im Wait-VI von Lorenz Messtechnik hängt noch ein weiteres 100 ms Wait drinnen, somit sind wir bei 150 ms pro Schleifendurchlauf oder 6,6 Hz). Was da maximal möglich ist, kann ich so aus der Ferne nicht sagen. Dazu musst du dir wohl oder übel mal die Details des Kommunikations-Protokolls reinziehen.“
Ich habe die fehlenden Vi eingefügt im meinem Beitrag davor als ZIP. Dort habe ich die Wartezeiten entfernt.
Meine Idee ist jetzt aus der unteren Schleife da wo der Sensor per RS-232 läuft (USB) eine Zeitgesteuerte Schleife zu machen das die Schleife genau so schnell läuft wie die obere.
Nach dem ich die Zeiten entfernt habe und daraus eine Zeitgesteuerte schleife gemacht habe , habe ich festgestellt das der Sensor ganz normal weiter läuft….Aber in meine Ergebnisdatei werden immer noch die Werte des Kraftsensors jede 0,1s aktualisiert…. Dann habe ich mich gefragt ob das jetzt an der lokalen Variablen liegt? Das waren so meine Versuche

Aber vielleicht ist das wirklich so das es einfach schneller nicht geht....