INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Zeitverzögerung Ausgang zu Eingang



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!

25.06.2009, 14:32
Beitrag #1

IoInBlack Offline
LVF-Neueinsteiger


Beiträge: 3
Registriert seit: Jun 2009

8.2
-
de

39106
Deutschland
Zeitverzögerung Ausgang zu Eingang
Hallo!

Für meine Studienarbeit soll ich eine Regelung mit LabVIEW umsetzen, da der zu regelnde Prozess ziemlich schnell ist (ca. 1 ms Zeitkonstanten) habe ich überprüft, was man mit LabVIEW für Geschwindigkeiten hinbekommt. Folgendes Problen: Ich habe zwei VIs, mit dem einen Lese ich kont. ein und speichere die Werte in einer lvm-File. Im anderen gebe ich einen einstellbaren Konstanten Wert über analog aus, über einen Trigger merke ich mir die "Sprungzeit".

Die Ausgabe erledigt die NI9263, Einlesen die NI9215, beide stecken im NI-9172. Nun schleiße ich den Ausgang direkt zur Eingangskarte und messe, wann sich was tut. In der File kann ich dann nachrechen, wieviel Zeit zwischen erzeugtem Sprung und gemessenem Sprung liegen.

Nun die böse Überraschung: Ohne irgendwelche Berechnung liegt die Verzögerung bei über 1 Sekunde. Ist das normal (lahmer 1Ghz Rechner), brauche ich für fixe Anwendungen irgendwelche Spezialaddons oder läßt sich durch geschicke Einstellungen beim Einlesen/Ausgeben viel Zeit sparen?

Danke im voraus :-)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
26.06.2009, 07:24
Beitrag #2

Santi Offline
LVF-Grünschnabel
*


Beiträge: 27
Registriert seit: Jan 2008

8.2;8.5.1;8.6;2009;2010
2003
EN

8023
Oesterreich
Zeitverzögerung Ausgang zu Eingang
Hallo,

naja ohne den Sourcecode zu sehen ist das natürlich so eine Sache ! Wenn du einem Windows Rechner arbeitest ist es sowieso Essig mit Echtzeit da dir das Betriebssystem zuviel reinpfuscht.
Aber über eine Sekunde hört sich schon ein wenig viel an.

Da beide Karten 100kS/s haben sollte das ganze doch wesentlich fixer gehen. Wenn der Sprung lange genug anliegt das die Eingangskarte zum messen kommt (Nyquist).

Hast du dir dein Sprungsignal schonmal mit einem Ozi angeschaut ?

Wie schreibst du in das File ? Beendest du zuerts die Messung und schreibst dann die Werte aus einem Fifo in das File oder schreibts du während der Messung ins File ?


greetz Chris

Those who would give up essential Liberty, to purchase a little temporary Safety, deserve neither Liberty nor Safety

Benjamin Franklin
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
26.06.2009, 10:58 (Dieser Beitrag wurde zuletzt bearbeitet: 26.06.2009 10:58 von IoInBlack.)
Beitrag #3

IoInBlack Offline
LVF-Neueinsteiger


Beiträge: 3
Registriert seit: Jun 2009

8.2
-
de

39106
Deutschland
Zeitverzögerung Ausgang zu Eingang
Ich habe noch etwas an den Dateien rumgebastelt (Samplerate angepasst, Graphen rausgenommen...) und komme nun auf immer ca. 200ms. Mal mehr mal weniger. Anbei der Quelltext, ich schreibe mit WriteSingle. Der Sprung liegt von ner bestimmten Zeit, die ich durch den Vergleich ermittle bis zum Ende der Messung an (Vergleich wird nicht im Frontpanel angezeigt, könnt ja Geschwindigkeit kosten ;-)).

Die Messung mache ich mit den anderen beiden Files (nicht gleichzeitig, nur zum Test das eine bzw. das andere). Je mit 500Hz, 10 Samples to read und 10 Samples pro Kanal. Timeout bei 1 bis 10, ändert eh nix. Auch fixere Frequenzen, weniger Samples usw. bringen nichts. Nur die Reduzierung des Timeout auf 0 gibt mir seltsame Zeiten (negativ, Sprünge in der Zeitabfolge), ich denke also der Rechner ist zu lahm...

Achso: mit dem oszi angucken bringt nicht viel, dann habe ich keine vergleichszeit.


Angehängte Datei(en) Thumbnail(s)
           
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
29.06.2009, 10:02
Beitrag #4

Santi Offline
LVF-Grünschnabel
*


Beiträge: 27
Registriert seit: Jan 2008

8.2;8.5.1;8.6;2009;2010
2003
EN

8023
Oesterreich
Zeitverzögerung Ausgang zu Eingang
Hmmm...

hast du mal geschaut wie lange das in datei schreiben alleine dauert ?
Ich würde die Daten in ein Array schreiben und dann erst nach abschluss der Messung in die Messdatendatei schreiben.
Schreiben/lesen einer Datei ist immer etwas zeitaufwendig.

Wenn du 500 Hz samplerate hast und 10 Samples aufnimmst (1/500 = 2ms ) sollte die ganze Sache 20ms dauern. Der rest wird wohl das in Datei schreiben sein.

greetz chris

Those who would give up essential Liberty, to purchase a little temporary Safety, deserve neither Liberty nor Safety

Benjamin Franklin
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
29.06.2009, 15:59
Beitrag #5

IoInBlack Offline
LVF-Neueinsteiger


Beiträge: 3
Registriert seit: Jun 2009

8.2
-
de

39106
Deutschland
Zeitverzögerung Ausgang zu Eingang
Danke für den Hinweis, ich habe das Dateischreiben komplett rausgenommen und durch einen Trigger ersetzt. So komme ich im besten Fall auf 50ms, allerdings auch nur, wenn ich eine zeitgesteuerte Schleife mit 50ms Verzögerung nehme. Bei weniger Verzögerung erhöht sich der Lag wieder :-( Muss mal ne besserer Rechner her.

Wie realisiere ich das ganze mit dem Array? Habe eins initialisert, aber wie schreibe ich die Messwerte dort rein und vor allem: wie schreibe ich das Array am Ende der Messung in eine Datei?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
01.07.2009, 07:45
Beitrag #6

Santi Offline
LVF-Grünschnabel
*


Beiträge: 27
Registriert seit: Jan 2008

8.2;8.5.1;8.6;2009;2010
2003
EN

8023
Oesterreich
Zeitverzögerung Ausgang zu Eingang
Hallo,

ganz einfach :

1. Array shiften (Array Konstante ausserhalb der schleife an ein Shiftregister anschließen, Array initialisieren wird hier nicht funktionieren da du ja nicht weist wie groß das Array wird)
2. Array mit Build Array in der Schleife aubauen.
3. Anschließend mit For-Schleife und selben express VI in File schreiben, oder mit Array to Spreadsheet String direkt mit Write to Textfile Schreiben (dann kannst es sogar mit excel einlesen, und es geht schneller)

greetz Christian

Those who would give up essential Liberty, to purchase a little temporary Safety, deserve neither Liberty nor Safety

Benjamin Franklin
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
30
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Hochzählen mit digitalen Eingang TiBu 4 5.008 03.07.2019 08:06
Letzter Beitrag: TiBu
  Analogen Eingang Überwachen mmk1988 3 4.817 17.10.2016 21:32
Letzter Beitrag: GerdW
Question Ausgang lesen olmethn 5 5.989 24.03.2015 18:14
Letzter Beitrag: GerdW
  Analog Eingang triggern nach Digital Ausgang cobain2004 0 4.235 28.11.2014 13:49
Letzter Beitrag: cobain2004
  NI 9411 digitalen Eingang mit 10 khz abfragen Scenic626 6 7.818 17.08.2012 12:25
Letzter Beitrag: Scenic626
  'DMM'-Eingang des myDAQ Sworks 5 6.623 11.07.2012 21:09
Letzter Beitrag: Sworks

Gehe zu: