INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

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!

13.07.2012, 09:08
Beitrag #7

M Nussbaumer Offline
Zarathustra
****


Beiträge: 654
Registriert seit: Sep 2009

2009 SP1
2009
EN

6300
Schweiz
RE: Parallele Datenaufnahme, Erz-Verbr verbraucht irgendwann nicht mehr
(12.07.2012 14:57 )kiX schrieb:  hier mal ein kleines Update:

Viel hat sich nicht verändert, und manche Probleme bestehen immer noch.

Die Waittime ausm Consumer wurde rausgeworfen, DBL wird direkt in die Queue eingespeist, unnötige Lokale Variablen wurden entfernt (s. Anhang).

Bislang ist es nicht passiert, dass der Consumer einfach nicht mehr gearbeitet hat, selbst wenn ein neues Element in die Queue gesetzt wurde. Schonmal gut.


Was immernoch passiert, ist, dass die Motorsteuerung stockt, wenn irgendwas gemacht wird. Es dauert anscheinend recht lange, die aktuelle Motorposition an die Queue weiterzugeben (währenddessen kann der Motor nicht weiter), aber noch mehr stockt er, wenn der Consumer läuft.

Liegt es am (für heutige Verhältnisse) lahmen PC (2,4GHz Celeron, 2GB Ram) oder kann man das irgendwie beheben?
Eine wirklich parallele Abarbeitung (mit höchster Prio beim Producer) wäre wirklich wünschenswert. Gibts da eine Alternative zum Producer-Consumer-Design?


Kurz noch zum Consumer (s. Screenshot):
Nach meinem Empfinden sollte er die gesamten (alten) Messdaten aus Values1.txt lesen, pro Schleifendurchgang je einen Teilstring anhängen und bei Beenden der Schleife den gesamten String wieder in Values1.txt abspeichern. Tut er aber nicht. Starte ich das Programm mit aktivierten Stopschaltern, speichert er (für den einen Durchlauf) die Messdaten ab, lasse ich jedoch das Programm einfach laufen und beende dann nach ein paar Durchgängen über (beide) Stop-Schalter, speichert er NICHTS ab.

Was geht, ist in jedem Durchgang einen String in Values2.txt abzuspeichern. Er wird dadurch nicht spürbar langsamer (er IST es ja schon Big Grin), aber wirklich elegant finde ich das nicht. Sad

Jemand ne Idee?

Nimm mal das Wait aus der Consumer-Loop ganz raus, wenn du das auf 0 setzt bekommt die Schleife Priorität (siehe Kontexthilfe zur Wait-Funktion). Ausserdem anstatt ein 2.Stop in der Consumer-Loop zu verwenden würde ich einfach den Fehlerausgang an die Stopbedingung anschliessen (oder unboundle und den Boolean-Wert des Fehlerclusters verwenden falls das in 7.1 noch nicht geht).

Das Problem mit den nicht gespeicherten Werten mit dem Shift-Register konnte ich nicht nachvollziehenHuh Nimm mal den 2.Stop Knopf wie oben beschrieben raus und schau mal ob es dann funktioniert.

Gruss Marc
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Nachrichten in diesem Thema
RE: Parallele Datenaufnahme, Erz-Verbr verbraucht irgendwann nicht mehr - M Nussbaumer - 13.07.2012 09:08

Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  [split] Button reagiert nicht mehr samba 13 7.450 19.04.2021 09:30
Letzter Beitrag: samba
  Parallele Frequenz-Datenerfassung mit NI-9401 ArneS 5 4.010 18.02.2021 09:41
Letzter Beitrag: GerdW
  parallele Ausführung von for-loops stsc 5 5.007 24.07.2019 15:12
Letzter Beitrag: stsc
  Programm funkioniert nach LV-Neustart nicht mehr TeCruz 9 6.103 23.03.2018 13:33
Letzter Beitrag: TeCruz
  LabVIEW startet nicht mehr Fredy 8 7.447 08.12.2017 15:40
Letzter Beitrag: Fredy
  Durch Schließen des SubVIs reagiert das Haupt VI nicht mehr?! C.Maier 2 3.950 07.10.2016 07:52
Letzter Beitrag: Lucki

Gehe zu: