LabVIEWForum.de
Abarbeitung einer Timed Loop bleibt hängen - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Module (/Forum-LabVIEW-Module)
+---- Forum: LabVIEW RealTime (/Forum-LabVIEW-RealTime)
+---- Thema: Abarbeitung einer Timed Loop bleibt hängen (/Thread-Abarbeitung-einer-Timed-Loop-bleibt-haengen)



Abarbeitung einer Timed Loop bleibt hängen - RosJon - 26.09.2012 10:23

Hallo zusammen,

ich habe ein RT Programm, welches auf einem cRIO 9024 läuft.
Es laufen 3 timed loops parallel, eine für die Kommunikation RT <-> Host, eine um eine analoge Karte einzulesen (9205) und eine in der ein releativ komplexes Programm abgearbeitet wird (Zustandsautomat). Die Prioritäten unterscheiden sich für alle Schleifen (höchste Prio hat die AI-In Schleife, dann die mit dem komplexen Programm, dann die mit der Host Kommunikation). Die Namen der TL unterscheiden sich auch alle.

Soweit so gut.

Es kommt nun sporadisch dazu, dass die Schleife mit dem komplexen Programmteil an einer undfinierten Stelle stehen bleibt und nicht weiter abgearbeitet wird. Wenn ich dann im Highlight-Modus die Stelle suche an der die Schleife hängt, sind alle Bedingungen erfüllt, um diesen Programmteil weiter abzuarbeiten. - Starte ich das Programm von vornherein im Highlightmodus, ist der Fehler bisher noch nicht aufgetreten.
Die anderen Schleifen werden weiter abgearbeitet. Die Prozessorlast des cRIOs liegt relativ konstant bei 30-40%.

Kann es nun sein, dass die TL durch die anderen TLs unterbrochen wird und dann nicht weiter ausgeführt wird? Dies würde aus meiner Sicht u.U. erklären, warum der Fehler nur sporadisch auftritt.

Danke und Gruß
RosJon


RE: Abarbeitung einer Timed Loop bleibt hängen - snuz - 26.09.2012 11:30

Hallo RosJon,

Zitat:Die Prioritäten unterscheiden sich für alle Schleifen (höchste Prio hat die AI-In Schleife, dann die mit dem komplexen Programm, dann die mit der Host Kommunikation).

Was bedeutet das? Hast Du tatsächlich die Priorität der Schleifen verändert (wenn ja wie hoch?)? Wenn ja warum, NI gibt ja vor das die Schleifen parallel abgearbeitet werden, wozu die Änderung?
Von NI wurde mir mal gesagt das man das besser nicht macht, sollte man die Priorität auch nur um eins erhöhen - könnte man auch direkt 1000 reinschreiben. Um eine genauere Aussage zutreffen bräuchte man dein VI.

Gruß snuz