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!

14.12.2020, 10:16
Beitrag #11

braendy Offline
LVF-Grünschnabel
*


Beiträge: 23
Registriert seit: Oct 2020

2020
2019
DE


Deutschland
RE: Mehrere Signale von NI-6009 erfassen
mit einem 1D waveform bekomme ich nun beide Signale separat in einem Diagramm angezeigt.
Ich benötige dennoch beide Signale als Zahlenwert da ich mit diesen weiter rechnen muss. Ich kann das Signal nicht aufteilen und seperat als INT anzeigen lassen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
14.12.2020, 10:21 (Dieser Beitrag wurde zuletzt bearbeitet: 14.12.2020 10:25 von GerdW.)
Beitrag #12

GerdW Offline
______________
LVF-Team

Beiträge: 17.470
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Mehrere Signale von NI-6009 erfassen
Hallo braendy,

Zitat:mit einem 1D waveform bekomme ich nun beide Signale separat in einem Diagramm angezeigt.
Stell zurück auf "2D array"…
Glas1 Schalte beim Chart das "Transpose" im Kontextmenü wieder aus… Glas1

Zitat:Ich benötige dennoch beide Signale als Zahlenwert da ich mit diesen weiter rechnen muss.
Man kann auch mit Waveforms rechnen…

Zitat:Ich kann das Signal nicht aufteilen und seperat als INT anzeigen lassen.
Um ein Array "aufzuteilen", verwendet man IndexArray.
Und DAQmx liefert dir im Normalfall keine INT-Werte, sondern immer DBL: wieso willst du hier INT anzeigen lassen?

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
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: 412
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 


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

Gehe zu: