Parallele Datenaufnahme, Erz-Verbr verbraucht irgendwann nicht mehr
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!
19.07.2012, 10:17 (Dieser Beitrag wurde zuletzt bearbeitet: 19.07.2012 10:19 von kiX.)
RE: Parallele Datenaufnahme, Erz-Verbr verbraucht irgendwann nicht mehr
erneut ein Update:
Ich habe den Speichervorgang hingekriegt, nun wird nurnoch beim Verlassen der Consumerloop gespeichert.
Auch der Waittimer ist gänzlich rausgeflogen.
Den Fehlerausgang von "Dequeue Element" habe ich mit der Stopbedingung verbunden, nun endet die C-Loop auch, nachdem die P-Loop stopt.
Ich habe in der P-Loop die Weitergabe von Elementen in die Queue geändert, sodass die Elemente ans ENDE der Queue gegeben werden (und in der C-Loop vorne abgenommen werden). Ich hoffte, dadurch die C-Loop dazu zu bringen, die Queue vollständig abzuarbeiten, auch wenn die P-Loop stoppt.
Zwei Probleme bleiben jedoch bestehen:
1. Im Realtime-Mode ignoriert die C-Loop das letzte Element, welches durch die zweite Queue-Bedingung (Element einfügen bei Stop) eingefügt wird. Im Highlight-Mode klappt das. Ich vermute, dass im RT-Mode die Stopinfo zur C-Loop gelangt, bevor diese das letzte Element "anfasst", und somit die Queue "überschreibt". Kann man das beheben?
2. Weiterhin, obwohl ich die unnötigen Speicherzugriffe aus der C-Loop entfernt habe und die Prio durch Waittimer=0 entfernt wurde, stockt die Motorsteuerung deutlich, wenn die C-Loop arbeitet (wie gesagt, wenn die C-Loop leer ist, gehts).
Ich würde ja gerne testen, ob die Sache "rund" läuft, wenn ich alles zu ner .exe kompiliere. Problem ist, dass ich keinen Application Builder habe. Und ob ich einen kaufe, ohne dass ich weiß, obs danach läuft... weiß ich nicht.
Hierran schließen sich zwei Fragen an:
- Habt ihr ähnliche Erfahrungen bei Producer-Consumer-Schleifen gemacht und die Probleme gelöst?
- Gibt es eventuell eine sinnvolle Alternative zum Producer-Consumer-Konzept für den gewünschten parallelen Ablauf?
Ich danke euch erneut für die Hilfe.
das neue VI ist angehängt, die SubVIs sind unverändert, s. ersten Post
edit: Was die Taskerstellung angeht, habe ich da noch nicht wirklich durchblicken können. Ich fände es merkwürdig, wenn es daran läge, wo doch die Motorsteuerung selbst (alleine wie auch bei fast leerer Consumer-Loop) gut läuft. Wenn es aber wirklich daran liegen kann, steig ich da nochmal tiefer ein.