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 

Verzögerung im Datentransfer



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.01.2012, 15:14
Beitrag #1

Doskias Offline
LVF-Grünschnabel
*


Beiträge: 24
Registriert seit: Oct 2011

2009/2010
2011
kA



Verzögerung im Datentransfer
Hallo Leute,

mal wieder ein kleines Problem von mir. Im Anhang befindet sich mein Target-VI welches auf einem RT-System (PXI-1042 Chassis) mit einer PXI-6229 Karte und einer PXI-4472B läuft und ein schon modifiziertes Beispiel mit FIFO-Elementen, welches allerdings nicht korrekt funktioniert (tdms-Datei bleibt leer).
Ich habe über die Karten Daten von verschiedenen Kanälen gelesen oder auf verschiedene Kanäle ausgegeben. Jetzt habe ich allerdings ein Timing-Problem.
In der tdms-Datei und auch in den Umgebungsvariablen, welche mir über das Host-VI grafisch angezeigt werden, werden die Inputkanäle der PXI-6229 verzögert angezeigt.
Der Output auf der 6229 und der Input über die 4472B werden direkt aktualisiert.
Die Verzögerung liegt immer ungefähr bei 0,6 Sekunden, aber immer etwas unterschiedlich.

Achso, noch zu den Funktionen der Inputkanäle:
An der 4472B habe ich Beschleunigungssensoren angeschlossen.
An der 6229 waren Dehnungsmessstreifen, Kräftesensoren, ein Drucksensor und mehrere Lichtschranken bzw. Geschwindigkeitssensoren im Input angeschlossen.
Der Output ging an Ventile eines ESP-Moduls.

Ich finde es verwirrend, warum nur der Input der einen Karte verzögert angezeigt wird (bei einem zwischen den Sensor und der Hardware geschalteten Kräfteanzeiger kamen die Daten auch unmittelbar an). Dies führt natürlich zu erheblichen Messungenauigkeiten.
Nun habe ich schon mit dem NI-Support kommuniziert und mir wurde geraten, in der deterministischen Schleife FIFO-Elemente zu benutzen um das Erstellen der tdms-Datei hieraus zu entkoppeln. Nur hilft mir auch das LabVIEW-Beispiel zu diesem Thema wenig weiter, da ich es nicht auf mein VI übertragen bekomme.

Hat jemand von euch ein ähnliches Problem oder immerhin einen Lösungsvorschlag (am besten mit Beispiel oder konkret am VI).

Danke im Voraus.

Gruß,
Sören

Lv09_img2


Angehängte Datei(en)
9.0 .vi  target - single rate - variables.vi (Größe: 176,54 KB / Downloads: 249)

9.0 .vi  target mit FIFO-Elementen.vi (Größe: 180,24 KB / Downloads: 227)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
26.01.2012, 07:36
Beitrag #2

Hook1986 Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 149
Registriert seit: Jan 2012

2010
2011
DE_EN


Deutschland
RE: Verzögerung im Datentransfer
Hallo Sören,

Im Prinzip kannst du deine Timed Loop entzögern, indem du es wie in dem Beispiel gezeigt machst. Die Daten werden in die Queue geschrieben und nacheinander durch die While-Loop weggeschrieben. Der Datenempfang geht dann aber schneller.
Ich hoffe, dass du verstehst wie es aufgebaut werden sollte und kannst was damit anfangen. Bei Rückfragen bitte einfach nochmal melden.

MfG Carsten


Angehängte Datei(en)
9.0 .vi  Beispiel.vi (Größe: 78,02 KB / Downloads: 244)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
26.01.2012, 12:54
Beitrag #3

Doskias Offline
LVF-Grünschnabel
*


Beiträge: 24
Registriert seit: Oct 2011

2009/2010
2011
kA



RE: Verzögerung im Datentransfer
Ich danke dir für die schnelle Antwort. Ich hoffe, ich habs richtig verstanden.
Nach dem Datenempfang werden selbige in eine Queue geschrieben (wahrscheinlich ähnlich dem FIFO Prinzip?).
Der Baustein "Element aus Queue entfernen" zieht die Elemente einzeln aus der Liste und gibt sie über "Variant nach Daten" an die tdms-Datei weiter. D.h. die Queue-Elemente "kommunizieren" untereinander ohne direkte Verbindung. Das würde dann auch mein Verständnisproblem erklären, da ich bis jetzt angenommen habe, ich müsse quasi eine Kette aus den Elementen bauen, nach dem Motto (Queue erstellen-->Element einfügen-->Element auslesen-->Queue löschen). Das würde dann eine direkte Verbindung zwischen "einfügen" und "auslesen" fordern.
Habe ich das richtig verstanden?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
26.01.2012, 13:03
Beitrag #4

Hook1986 Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 149
Registriert seit: Jan 2012

2010
2011
DE_EN


Deutschland
RE: Verzögerung im Datentransfer
Hallo Sören,

Das mit der Queue ist recht einfach. So lange noch Platz in der Queue ist, werden einfach die neuen Daten reingeschrieben und die Queue wird immer länger. Die Schleife, welche die Queue ausliest kann ruhig etwas langsamer Arbeiten. Ich habe ein ähnliches Problem bei meiner Bachelorthesis gehabt und habe damals leider nichts von Queues gewusst. Daher gingen bei mir Daten verloren, wenn ich nicht schnell genug hinterher kam. Inzwischen bin ich jedoch ein wenig schlauer und habe mir das Arbeiten mit den Queues angeeignet.

Da ich leider nicht weis, wie lange du Daten aufnehmen willst/musst kann ich dir auch nicht sagen, ob es nicht doch zu einem Datenverlust kommen könnte, wenn die Queue mal Überlaufen sollte. Für kurze Messungen oder Ähnliches sollte die Lösung mittels Queue jedoch vollkommen ausreichend sein.

PS: Du hast es schon richtig verstanden. Die Queue ist nichts anderes als ein FIFO. Und derjenige der reinschreibt kann ruhig schneller schreiben, als derjenige der ausliest.

MfG Carsten
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
26.01.2012, 13:34
Beitrag #5

Doskias Offline
LVF-Grünschnabel
*


Beiträge: 24
Registriert seit: Oct 2011

2009/2010
2011
kA



RE: Verzögerung im Datentransfer
Okay, ich werde wohl Messungen machen von 5-200 Sekunden. Ich denke, in dem Bereich (hauptsächlich allerdings ca. 10 Sekunden Bereich) liegen alle Messungen. Ich versuche es gerade mal mit FIFO-Elementen.
Ich bin auch am Ba-Arbeit schreiben und hab mich von Stand 0 in LabVIEW eingearbeitet und jeden Tag gibts neue Bausteine, die mir die Arbeit bisher deutlich erleichtert hätten...alles nicht so einfach Wink
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
26.01.2012, 14:05
Beitrag #6

Hook1986 Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 149
Registriert seit: Jan 2012

2010
2011
DE_EN


Deutschland
RE: Verzögerung im Datentransfer
Hallo Sören,

ich habe meine Thesis letztes Jahr geschrieben und habe mir auch alles selbst beigebracht. Ich hatte jedoch nicht an die Idee mit diesem genialen Forum gedacht. Dies ist mir erst in diesem Jahr gekommen. Ich habe aber seit letztem Jahr sehr viel in Punkto LV-Programmierung dazugelernt ... eben auch dies mit der Queue.

MfG Carsten
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
  Nachrichten- und Datentransfer MKay 3 5.747 03.06.2015 16:38
Letzter Beitrag: MKay
  TCP IP Verzögerung / Delay / Ping über Netzwerk LazyBoNe 2 7.804 25.02.2014 16:19
Letzter Beitrag: LazyBoNe
  Unerkannter Fehler beim Datentransfer per ftp-VI W-C 2 3.932 18.03.2012 19:25
Letzter Beitrag: W-C

Gehe zu: