LabVIEWForum.de - Welches Konzept RT - FIFO - SYNC

LabVIEWForum.de

Normale Version: Welches Konzept RT - FIFO - SYNC
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
HiLeute,

Ich hab zwar schon einige Vis geschrieben und getestet, die prinzipiell
genau das tun was ich möchte allerdings nicht sehr befriedigend.
Und ich denke es scheitert am Prinzip.

Problemstellungen:

Auf einem RT PXI system Lauft die Daten erfassung von 3 Karten.
32 Analoge Werte von 6031E
96 Digitale Werte (werden BCD codiert) 6508
1 Counter (Frequenzmessung) Timing IO 6602

Die werte werden eingelesen gemittelt und über TCP versendet
ein Client VI stellt die ergebnise dar.

Mein Problem besteht nun darin das jede art der abfrage
analog,digital,timing in einer eigenen schleife laufen und ich versuche
über einen FIFO diese Werte in EINER schleife zu vereinen um
die Rohdaten zu protokollieren und ein "wertepacket" soll den selben
Zeitstempel bekommen. Allerdings is ständig irgen einer der drei Fifos leer.

Ich glaube ich brauch genau das gegenteil die sleifen müssen synchron
werden. Nur muss ich mich dann nach der langsamsten richten.
Würde aber gerne jeder Schleife die Hardware abgfrägt so schnell als möglich
betreiben.

Punkt um, wie bekomm ich Daten von 3 unterschiedlich schnell laufen
Schleifen in eine einzige andere und wie stell ich sicher das die Elemente von den 3 Fifos zur gleichen zeit im buffer anliegen ?
Welche Ideen habt ihr dazu.

greez
An dieser Stelle koenntest mit rendezvous und/oder mit queues arbeiten, somit stellst sicher, dass z.B. mind. 1 Wert von jeder Schleife anliegt!
Ich hab jetzt notifier verwendet UND Queues, klapt prima, muss mich
nur mehr um den Buffer kümmern das alles sauber auf die platte
geschrieben wird.

btw kennst du den genauen unterschied zwischen Queues, und dem
RT FIFO ? Sicherlich is zweiteres speziel für RT geschrieben
aber der technische unterschied wäre interessant und abgesehn davon
kann er weniger und was hat es für auswirkungen den normalen Queue
auf RT zu verwenden ?

greez
generell ist der RT fifo deterministisch aufgebaut!
d.h. du kannst z.B. den Buffer net mit "-1" anlegen, was bedeuten wuerde, dass immer wieder versucht werden wuerde neuen Speicher zu allokieren!
Zweitens hast du keine Moeglichkeit bei dem RT einen Listener einzubauen - d.h. du holst dir entweder die Werte ab oder nicht (bei der normalen Queue kannst das letzte Element ansehen, kannst es aber in der Queue belassen!)
Bei der normalen Queue kannst z.B. ein Element an die 1. Stelle schreiben -> sprich, es wird gleich ausgelesen...
Wenn du bei der normalen Queue eine definierte Groeße angibst und das auslesen langsamer laeuft als das schreiben, dann laeuft irgendwann die Queue voll und das wiederum bedeutet dass der Schreiber nicht mehr hineinschreiben kann (kein Ring-Buffer) -> beim RT Fifo ist jedoch ein Ringbuffer implementiert!

sonst fallen mir adhok keine Unterschiede mehr ein...
freedive schrieb:sonst fallen mir adhok keine Unterschiede mehr ein...

alles klar thx,
kann man also sagen FIFO auf RT ist bei wirklich zeitkritischen
anwendungen einzusetzen sonst is es egal ?
wennst mit RT arbeitest, dann hast zeitkritische anwendungen - sonst wuerd RT keinen sinn ergeben :-)
freedive schrieb:wennst mit RT arbeitest, dann hast zeitkritische anwendungen - sonst wuerd RT keinen sinn ergeben :-)


moment ! :-) Realtime heißt ja nicht automatisch schnell....
Ich kann die Engine auch dazu benuzen etwas autonom zu regulieren
zu protokollieren oder zu steuern da smuss nicht immer zeitkritisch sein.

Realtime bedeutet ja nicht Echtzeit im sinne von Schnell ausgeführt
es bezieht sich ja auf die 100% deterministik oder nicht ?
von schnell hat auch niemand gesprochen/geschrieben oder kennst du ein PXI System das mit 4GHz arbeitet?
freedive schrieb:von schnell hat auch niemand gesprochen/geschrieben oder kennst du ein PXI System das mit 4GHz arbeitet?

eben, jetzt schweifst aber ab :-) weil Ghz prinzipiell ned unbedingt
ein massstab für geschwindigkeit ist.

ich wollte ja nur sagen das RT nicht gezwungen Zeitkritisch sein muss,
und es durch aus sinn macht ein RT als autonome überwachung einzusetzten
wie zb Fieldpoint RT (2000 serie) als Objektschutz. Klar auf einer PXI wird
man RT kaum einsetzen wenns ned "rascher" gehen soll weil sonst kann ich das ding ja auch von Win aus bedienen.
:kopfgegendiemauer:
ich schreib nu zu diesem thema nix mehr
Seiten: 1 2
Referenz-URLs