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 

Mehrere Signale von NI-6009 erfassen



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!

10.01.2022, 22:28 (Dieser Beitrag wurde zuletzt bearbeitet: 13.01.2022 00:05 von Kiesch.)
Beitrag #13

Kiesch Offline
LVF-Stammgast
***


Beiträge: 397
Registriert seit: Mar 2009

2019, 2018, 2016
2009
DE

04519
Deutschland
RE: Mehrere Signale von NI-6009 erfassen
Oje. Ich habs fast befürchtet. Bin grade nämlich selbst ins gleiche Problem gerannt mit dem ich nicht gerechnet hatte. Kann mir einer erklären warum das für AIs offenbar gilt, für AOs aber nicht? Weird.

Weil meine Architektur darauf ausgerichtet ist, dass ich einfach für jeden In bzw. Out einen eigenen Task im Programm bauen lasse und anschließend zur Entkopplung der Hardwarezugriffe pro device einfach sequentiell lesen wollte, ist das in meinem Fall auch etwas weniger einfach zu beheben (wobei mir grade ne erste Idee kommt, dass kann eventuell mein Daq Device Objekt erledigen nachdem die AI Channel übergeben worden sind; tasks wieder killen und nochmal neu als SammelAI erstellen den ich dann nutzen kann; ich weis etwas unsauber aber vermutlich das was sich mit begrenztem Aufwand umsetzen lässt). Anyway:
Ich habe grade mal getestet wie performant der Autostart der Tasks ist der offenbar auch problemlos funktioniert. Hier komme ich bei single channel readout einer Analogspannung auf einem NI USB 6001 bei dem ich alle 8 Kanäle auslesen auf um die 20ms Ausführungszeit auf meinem Rechner. Da ich "nur" mit 100-200ms pollen will sollte das wahrscheinlich ausreichen, so dass ich die Änderung für bessere Performance zur Not auch noch später machen kann.

Im wesentlichen daher zur Info für alle die eine "teilweise" Lösung für das Problem interessiert:
Task einfach nicht starten und stattdessen den "Autostart" das ganze erledigen lassen. NI behauptet selbst das das nicht besonders performant ist, da dann für jeden Read der Task gestartet und gestoppt werden muss. Das verhindert dadurch die Zugriffsverletzung um die es im Thread geht, ohne ein zusammenfassen der Kanäle notwendig zu machen. Für meine Zwecke ist es vermutlich sogar hinreichend performant die konkrete Performance in eurem Fall müsst ihr wahrscheinlich austesten.

Angehängt ein Snippet des Programs das ich zusammengeschossen habe für den (Ausführungszeit-)Test zur Weiterbenutzung. Bitte zerreist mich nicht in der Luft weil ich nix groß anders benannt habe. Das x-y Output gibt euch nen Average über alle Messungen. Nen aktuellen wert könnt ihr ebenfalls jederzeit weiter vorne im Wire exportieren. Das Array war nur um zu sehen das auch wirklich was gelesen wird, die zwei Fehlerstati um zu sehen ob was schief geht. Ausgelesen werden einfach alle vorhandenen AI Kanäle des NI USB 6001 nach vorheriger Konfiguration, ohne expliziten Task Start.

*edit sagt: Es betrifft natürlich deswegen nur die AIs weil die alle über den gleichen Multiplexer laufen. Demzufolge ist der busy wenn auch nur ein AI task gestartet wird.


Angehängte Datei(en) Thumbnail(s)
   

Zitat:Märchen und Geschichten werden erzählt am Lagerfeuer, technischen Fakten werden mitgeteilt (oder so). (Genauso wie Software nicht auf einem Server "herumliegt", die ist dort installiert.)
*Zitat: IchSelbst*
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Nachrichten in diesem Thema
RE: Mehrere Signale von NI-6009 erfassen - Kiesch - 10.01.2022 22:28

Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  DAQ mehrere Signaltypen parallel erfassen serge_franke 1 3.177 22.01.2018 14:06
Letzter Beitrag: GerdW
  15 Digitale Output Signale in echtzeit erfassen galilio 8 5.195 04.05.2017 14:38
Letzter Beitrag: GerdW
  Mehrere Signale in einem Schaubild darstellen Fuchsi 6 5.330 19.11.2015 14:28
Letzter Beitrag: Fuchsi
  Mehrere Queues für mehrere Tasks Gerald85 4 7.332 21.08.2013 13:18
Letzter Beitrag: Gerald85
  mehrere Signale gleichzeitig messen SebJoh 9 9.503 16.03.2013 12:07
Letzter Beitrag: GerdW
  NI cDAQ-9178 - 2 analoge Signale gleichzeitig erfassen und speichern trialanderror 2 5.152 09.10.2012 09:25
Letzter Beitrag: trialanderror

Gehe zu: