LabVIEWForum.de
cRIO verzoegert schleife - wieso? - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Module (/Forum-LabVIEW-Module)
+---- Forum: LabVIEW RealTime (/Forum-LabVIEW-RealTime)
+---- Thema: cRIO verzoegert schleife - wieso? (/Thread-cRIO-verzoegert-schleife-wieso)

Seiten: 1 2


cRIO verzoegert schleife - wieso? - scheindruck - 15.03.2010 17:45

Hallo

ch bin gerade dabei unseren cRO zu programmieren, das er alle 25 Hz alle kanæle ausliest.
Prinzipiell funktioniert das sehr gut, jedoch bekommt der kleine etwa alle 6 - 10 sekunden einen schluckauf und verzoegert ein Sample um bis zu 25 ms... is das normal? Ich hoffe nicht - ich glaub nict das mein chef das akzeptieren kann, und ich auch nicht.

Ich benutze KEIN FPGA, sondern nur die Scan-Engine.

Kann es sein das alle paar sekunden ein interrupt gepingt wird? Wie kann ich den abschalten?

Ein code brauch ich nicht anzuhængen, weil es bei ALLEN, programmen so ist...

Ich Bitte um Hilfe - ich bin am verzweifeln... AAARGHHH
(Hab auch schon ne ecke aus der tischkante gebissenSmile)

Falls mehr informationen gebraucht werden - einfach fragen, ich weiss nicht was ich noch angeben soll.

Vielen Dank!

Kai


cRIO verzoegert schleife - wieso? - cheeze - 16.03.2010 16:54

Arbeitest du mit einer For-Schleife?
Das passiert wenn die For Schleife am Ende angekommen ist und erneut ausgeführt wird.


cRIO verzoegert schleife - wieso? - echtzeit - 16.03.2010 17:14

Zitat:Ein code brauch ich nicht anzuhängen, weil es bei ALLEN, programmen so ist...

..dann wird man dir auch nicht helfen können..

allgemeine Dinge dir mir so einfallen: 25Hz sind keine geschwindigkeit bei irgendwas schief gehen sollte...ausser man versucht Tausendmillionen Kanäle alle parallel zur gleichen Zeit im 25Hz-Takt auszulesen und alle tausendmillionen Einlesedaten durch ein Nadelöhr (aka PCI-BUS) durchzupressen...

Big Grin

also: was für kanäle? wieviele kanäle? was für daten (format etc.)? her mit den VI's.. Wink
was amchst du mit den daten?

Zitat:Kann es sein das alle paar sekunden ein interrupt gepingt wird?
Das interrupt könntest du einbauen....das ist nämlich im allgemeinen eine Hilfe beim "Datentransfer"..


ausserdem: wenn du mit den daten irgendwas rechnen willst..dann verwende doch direkt das FPGA...sonst ist das FPGA nämlich reine Verschwendung

also entweder du rückst mit mehr info's raus, oder dir bleibt nix anderes übrig als noch den ganzen tisch zu essenBig Grin


cRIO verzoegert schleife - wieso? - scheindruck - 16.03.2010 20:30

Hi...

Geil, es antwortet doch jemand...
Bin leider grad aufm sprung - aber ich antworte sofort morgen frueh... irgendwie muss das zu knacken sein!

Vielen Dank schon mal - aber der Bus kommt in 10 minuten...

Kai


cRIO verzoegert schleife - wieso? - scheindruck - 17.03.2010 10:41

Hi Echtzeit und cheeze

Vielen Dank schon mal fuer die Antworten!

Habe heute morgen nochmal die Gunst der Stunde genutzt um dem ganzen weiter auf die schliche zu kommen, und weitere spæne meines tisches zu nachen.

Habe ein neues projekt gebastelt und mit dem mindesten angefangen - und siehe da, wenn ich einen kanal auslese, ist das kein problem, die schleifenzeit schwankt "nur" um etwa 1 ms - was auch schon eine ganze menge ist, wie ich finde!

Habe nun elemente aus meinem komplexeren VI in das neue uebersichtliche gepackt um euch um hilfe zu fragen.

Was ich mache:
Ich sample 24 Kanæle mit 25 Hz in 2 timed while loops, welche auf die scan-engine synchronisiert sind.
Ausgelesen werden die daten in der deterministischen schleife mit prioritæt 100. In der nicht-deterministischen schleife werden die daten in ein TDMS file geschrieben.
Mittels einer Queue wird das Daten-Array von Schleife 1 zu Schleife 2 transportiert.
(kønnte es die Queue sein die alle paar sekunden einen schluckauf ausløst?)

Die Hardware:
cRIO 9074 (200MHz - sollte dicke ausreichen ?!?)
5 X NI 9239 - 4 kanal Analog input
1 X NI 9401 - Digital I/O Counter card.

Ich benutze noch kein FPGA, weil ich erstens nicht das software modul habe, und zweitens ziemlicher anfænger bin, mein Vertreter von NI hat mir gesagt das wuerde auch ohne gut gehen - drittens habe ich keine zeit mir das noch anzueignen...


Falls noch Fragen sind, bitte nachhaken - ich versteh nicht wieso der bei 25 Hz schon Probleme macht...

Bin ueber jede Idee/Kritik/Hinweis dankbar

Gruss aus dem Norden
Kai

VI is in LV-2009


cRIO verzoegert schleife - wieso? - scheindruck - 17.03.2010 11:04

Hi

Was mir noch aufgefallen ist, wenn ich an beide Schleifen (deterministic und non-deterministic) einen indicator an den schleifenzæhler setze, kann ich klar sehen, dass die deterministische schleife etwa 3 mal hæufiger ablæuft...

Sind das etwa doch Hardware grenzen??? - aber das macht doch keinen Sinn...

Haben als vorheriges system einen 268er PC mit einer A/D card benutzt. Als software lief DOS und ein selbstgebasteltes Delphi programm - das haben meine kollegen vor 25 jahren aufgebaut und es hat niemals probleme mit der performance gehabt. Der Grund wieso er ersetzt wird ist die eingeschrænkte netzwerkfæhigkeit und die MTBF wird immer kleiner.

Versucht mal fuer solche Kisten ein neues Netzteil zu bekommen - sogar Ebay-Hændler lachen einen aus!

Vielen Dank nochmals
Kai


cRIO verzoegert schleife - wieso? - dlambert - 17.03.2010 13:35

Wenn Du die Queue im Verdacht hast, teste doch mal eine SharedVariable mit RT FIFO enabled. In der non-deterministischen Schleife kann der dann in aller Ruhe geleert werden.


cRIO verzoegert schleife - wieso? - scheindruck - 17.03.2010 13:53

Hi dlambert

Klingt auf jeden fall nach nem interessanten Ansatz...

Hmm, stelle grad fest, das mein Cluster nicht als input genommen werden kann :/
Mal schaun wie ich das ændern muss...


Ich melde mich wenn es was neues gibt!

Vielen Dank!

Kai

- Ich finde es immernoch seltsam, das die deterministische Schleife 3 mal øfter ablæuft...
Kann mir jemand sagen wie ich die Systemauslastung der cRIO auslesen kann?


cRIO verzoegert schleife - wieso? - echtzeit - 17.03.2010 14:05

Zitat:Kann mir jemand sagen wie ich die Systemauslastung der cRIO auslesen kann?

Tools --> Realtime Modul --> Realtime System Manager Wink


cRIO verzoegert schleife - wieso? - scheindruck - 17.03.2010 14:46

Thanks to Echtzeit!

Hi
Ich glaube ich komm dem ganzen auf die schliche...
Ich habe es erst in ein array umgewandelt, und dann in ein waveform und irgendwie war noch ein string dabei...

Welches ist denn das schnellste datenformat? sollte ich es direkt in eine waveform wandeln, oder wie schreibe ich am besten in tdms?

Super Forum! Mit ein wenig hilfe macht programmieren echt spassSmile

Gruss
Kai

Muss grad nochmal weg - ich melde mich wieder bei neuen erkenntnissen!

Hoffe immernoch auf jede positive AntwortSmile