23.05.2017, 11:22
(Dieser Beitrag wurde zuletzt bearbeitet: 23.05.2017 11:23 von R.Fuertig.)
Beitrag #1
|
R.Fuertig
LV developer
Beiträge: 44
Registriert seit: Jan 2015
11-17
2013
DE
08538
Deutschland
|
Zeitgesteuerte Schleifen blockieren sich
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
|
|
|
23.05.2017, 12:20
(Dieser Beitrag wurde zuletzt bearbeitet: 23.05.2017 12:28 von Freddy.)
Beitrag #2
|
Freddy
Oldtimer
Beiträge: 729
Registriert seit: Aug 2008
2019, 2020, 2021
1996
DE
76275
Deutschland
|
RE: Zeitgesteuerte Schleifen blockieren sich
Hallo Romano,
Parallelschleifen, hier wird genau das gleiche Thema behandelt.
Gruß
Freddy
|
|
|
23.05.2017, 12:23
Beitrag #3
|
R.Fuertig
LV developer
Beiträge: 44
Registriert seit: Jan 2015
11-17
2013
DE
08538
Deutschland
|
RE: Zeitgesteuerte Schleifen blockieren sich
Hallo, der Link führt genau zu meinem Eintrag??
|
|
|
23.05.2017, 12:25
Beitrag #4
|
|
|
23.05.2017, 12:32
Beitrag #5
|
R.Fuertig
LV developer
Beiträge: 44
Registriert seit: Jan 2015
11-17
2013
DE
08538
Deutschland
|
RE: Zeitgesteuerte Schleifen blockieren sich
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.)
Beitrag #6
|
Freddy
Oldtimer
Beiträge: 729
Registriert seit: Aug 2008
2019, 2020, 2021
1996
DE
76275
Deutschland
|
RE: Zeitgesteuerte Schleifen blockieren sich
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
|
|
|
23.05.2017, 13:23
(Dieser Beitrag wurde zuletzt bearbeitet: 23.05.2017 13:24 von R.Fuertig.)
Beitrag #7
|
R.Fuertig
LV developer
Beiträge: 44
Registriert seit: Jan 2015
11-17
2013
DE
08538
Deutschland
|
RE: Zeitgesteuerte Schleifen blockieren sich
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
|
|
|
23.05.2017, 13:26
Beitrag #8
|
|
|
23.05.2017, 13:36
Beitrag #9
|
R.Fuertig
LV developer
Beiträge: 44
Registriert seit: Jan 2015
11-17
2013
DE
08538
Deutschland
|
RE: Zeitgesteuerte Schleifen blockieren sich
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!
|
|
|
23.05.2017, 17:44
|
jg
CLA & CLED
Beiträge: 15.864
Registriert seit: Jun 2005
20xx / 8.x
1999
EN
Franken...
Deutschland
|
RE: Zeitgesteuerte Schleifen blockieren sich
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
Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)
!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!
Einführende Links zu LabVIEW, s. GerdWs Signatur.
|
|
|
| |