LabVIEWForum.de
Zeitgesteuerte Schleifen blockieren sich - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Module (/Forum-LabVIEW-Module)
+---- Forum: LabVIEW RealTime (/Forum-LabVIEW-RealTime)
+---- Thema: Zeitgesteuerte Schleifen blockieren sich (/Thread-Zeitgesteuerte-Schleifen-blockieren-sich)

Seiten: 1 2


Zeitgesteuerte Schleifen blockieren sich - R.Fuertig - 23.05.2017 11:22

Hallo,

ich habe ein großes Programm auf einem cRio 9035. auf diesem habe ich 4 Zeitegesteuerte Schleifen jeweils 2 mit 25ms und zwei mit 50ms (alle unterschiedliche Prioritäten). Des weiteren habe ich andere Schleifen die normal laufen, meistens so mit 30ms +-(Kommunikation zu Umrichter oder anderen Ethernet Teilnehmern)! Jetzt habe ich ein Benschmark durchgeführt und immer mal wieder zeigt mir dieser, das meine Schleifen mit bis zu 500ms laufen, statt den vorgegeben 25ms.

Hat damit schon jemand erfahrung? Kann das sein, das das cRio das nicht schafft alles zu verarbeiten??

Mfg Romano


RE: Zeitgesteuerte Schleifen blockieren sich - Freddy - 23.05.2017 12:20

Hallo Romano,
Parallelschleifen, hier wird genau das gleiche Thema behandelt.

Gruß
Freddy


RE: Zeitgesteuerte Schleifen blockieren sich - R.Fuertig - 23.05.2017 12:23

Hallo, der Link führt genau zu meinem Eintrag??


RE: Zeitgesteuerte Schleifen blockieren sich - Freddy - 23.05.2017 12:25

Parallelschleifen
hab es korrigiert.


RE: Zeitgesteuerte Schleifen blockieren sich - R.Fuertig - 23.05.2017 12:32

ok danke, hatte es selber schon gefunden. Das Problem ist daber dabei, das ich genau so arbeite. Also eigene gekappselte VI's mit Queue und Melder. Diese Zwei Schleifen sind "eigentlich" nicht voneinander abhängig. Es wird in dieser Schleife jeweils ein FIFO zum beispiel gelsen, welche vom FPGA kommt. Klar werden auch damit gleich Berechnungen gemacht, aber diese jeweils autonom in der jeweiligen Schleife.


RE: Zeitgesteuerte Schleifen blockieren sich - Freddy - 23.05.2017 13:17

Zitat: Klar werden auch damit gleich Berechnungen gemacht
Das liegt an der Einstellung des VI.

Datei -> VI Einstellungen -> Kategorie "Ausführung" -> Ablaufinvarianz
hier wird "Ablaufinvariante Ausführung mit vorbelegter Kopie" eingestellt.

Der Unterschied zur normalen Einstellung ist:
wenn ein VI im Speicher ist, wird es von allen verwendet. D.h. ein Programmteil muss warten bis das VI frei ist. Da kommen die Verzögerungen her.

Aber ACHTUNG Du verbrauchst mehr Speicher.

Gruß
Freddy


RE: Zeitgesteuerte Schleifen blockieren sich - R.Fuertig - 23.05.2017 13:23

Danke, für diesen Hinweis. Darauf achte ich aber schon bei der Programierung. Also daran kann es leider auch nicht liegen. Ich habe keine VI's die in anderen Verwendet werden. Wenn doch setze ich sie immer auf invariant. der Speicher spielt zum Glück noch keine Rolle.

Es ist ja auch so, das es manchmal funktioniert, und manchmal die Zeit einfach hoch schnellt.

Wenn es an einem VI liegen würde, wäre die Zeit ja immer sehr groß, und nicht nur manchmal


RE: Zeitgesteuerte Schleifen blockieren sich - Freddy - 23.05.2017 13:26

Kannst Du das VI hochladen?

Gruß
Freddy


RE: Zeitgesteuerte Schleifen blockieren sich - R.Fuertig - 23.05.2017 13:36

Leider nein, ist zu komplex.

Ist es denn allemein möglich, das die diese Schleifen so extrem behindern, das es zu solch exorbitanten Zeitsprüngen kommen kann? Wir reden ja immerhin auch von einem cRio. Das ist ja ein Echtzeit-System und sollte sowas ja eigentlich schon verarbeiten können!


RE: Zeitgesteuerte Schleifen blockieren sich - jg - 23.05.2017 17:44

Hast du schon mal geschaut, wie es mit der CPU-Auslastung und Speicherauslastung aussieht?

4 Timed Loops auf einem Dual-Core-Target, davon ist abzuraten. Die Empfehlung lautet eigentlich max. 1 Timed-Loop pro Core.

Verwendest du RT-FIFOs, die können bei falscher Verwendung die CPU-Auslastung gnadenlos in die Höhe jagen.

Gruß, Jens