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!
23.05.2017, 11:22 (Dieser Beitrag wurde zuletzt bearbeitet: 23.05.2017 11:23 von R.Fuertig.)
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
23.05.2017, 12:20 (Dieser Beitrag wurde zuletzt bearbeitet: 23.05.2017 12:28 von Freddy.)
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.
23.05.2017, 13:17 (Dieser Beitrag wurde zuletzt bearbeitet: 23.05.2017 13:18 von Freddy.)
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.
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
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!