(29.09.2011 13:54 )IchSelbst schrieb: Ich habe meine CI-Tasks aber nie als eigenen Thread laufen. Die (beiden) CI's-Tasks (leider muss man pro CI immer eine Task machen) laufen immer im Thread, der die AI-Task bedient.
Hmmm, passt bei mir nicht so gut. Ich brauche unterschiedlich große Datenblöcke (AI 50er, CI_1 1000er) -> Schleifezeit ist also unterschiedlich.
Zitat:Und zwar deswegen, weil die CI-Samlpe-Daten parallel zu den AI-Sample-Daten laufen sollen. Die AI-Klasse liefert dann praktisch ein 2DArr, in dem die Daten von AI und CI stehen.
Dazu müssen sie ja nicht in einem Thread laufen. Ich habe die SampleClock von dem AI Task als "externe" Taktquelle für den CI_2 Task geroutet (Wegencoder). (Wieso eigentlich 2DArr? Ich finde waveforms viel praktischer, vor allem für TDMS-Schreiben. Ich bau mir grundsätzlich aus den Countersignalen auch wavefroms auf Teufel komm raus ...)
Zitat:Eine dumme Bemerkung:
Unter 20 kann auch über 19 heißen. 19% aber ist viel. Anständig ist unter 5% - auch bei vielen Tasks und Threads (dauernde graphische Refreshes lass ich jetzt mal außen vor).
Ist schon so um die 10% rum ... Ich unterhalte gerne den Werker/Entwickler mit einem schönen bunten Graphen (ca. 15 Siganle - 5000 Samples Ringpuffer - xy Graph). Hab noch nie ausprobiert wie ohne Dartsellung ist.
Zitat:CAN müsste ich erst nochmal kucken. Ich weis gerade nicht, ob der einen eigenen Puffer hat. Versuch mal den CAN-Thread auch hohe Priorität zu setzen.
Also die CAN Karte hat einen Eingangpuffer ... ca 32k Nachrichten. Mit der Prioritätensetzung meinst du die VI-Eigenschaft? (Gibt ja auch bei der timed Loop sone Option.) Hab ich schon gemacht: auf "höchste Priorität". Dann habe ich tatsächlich wieder die "rcv Queue empty" Meldung bekommen und es ging wieder. Gefallen hat's mir aber nicht ...
Der Chef lässt noch einen Frequenzwandler springen (aus anderen Gründen) - damit spar ich mir den extra Counter wieder und habe so die identische Anzahl an Tasks auf beiden Maschinen. Alles rennt wieder. Aber was mich eben wundert, dass ein
beliebieger Thread mehr/weniger schon soviel ausmacht. Kann ich fast nicht glauben. Nachher spiel ich mal ein bisschen mit der Prio-Vergabe im Taskmanager.