Hallo Andy,
Zitat:Warum funktioniert das auch so???
Du bist mit deinem PC und deiner LabVIEW-IDE mit dem cRIO verbunden: hier wird LabVIEW mit aller Macht alles möglich machen (und notfalls simulieren).
Unter der Haube besteht trotzdem "nur" eine LAN-Verbindung mit dem cRIO - und darüber läuft nun mal kein DMA-FIFO, sondern eben nur "normaler" Netzwerkverkehr!
(Dieses Thema hatten wir hier schon mal, kannst ja mal die alten Beiträge durchsuchen.)
Wenn du diesen Weg (DMA-FIFO direkt mit dem PC) weiterverfolgst, bekommst du vielleicht (!) auch in der EXE einen Datenaustausch hin. Dieser wird aber auf keinen Fall deterministisch oder zuverlässig vonstatten gehen, da ja eben eine Netzwerkverbindung dazwischenhängt.
Ich schlage weiterhin die NetworkStreams vor, um Daten vom cRIO zum PC zu schicken: da hat LabVIEW schon einen Buffer eingebaut, der schlechte Netzwerkverbindungen ausgleicht…
Zu deinen Bildern:
- Du bekommst Integerdaten aus deinem DAQ-Modul? Üblicherweise kenne ich da nur FXP-Daten… (Liest du Raw-Daten?)
- Warum liest du im Host nicht einfach eine feste Anzahl an Daten aus dem FIFO, z.B. 256 oder 1024 Elements (Mehrfache von 16)?
- Statt Decimate und BuildArray könntest du auch ReshapeArray verwenden…