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 

Aufruf DAQ-Task verlangsamt LV-Timer-Funktion (PCI-6259)



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.04.2011, 08:00
Beitrag #1

JoBlau Offline
LVF-Grünschnabel
*


Beiträge: 25
Registriert seit: Sep 2008

8.6, 2009 SP3
2008
DE_EN

66...
Deutschland
Aufruf DAQ-Task verlangsamt LV-Timer-Funktion (PCI-6259)
In meinem Projekt setze ich die Timer-Funktion (Get-Tick-Count) zur Synchronisierung von nicht so einfach zu synchronisierenden Prozessen ein.
Ich habe ine Datenquelle, die mit 32,045 ms Periode Werte generiert, diese puffert und DLL-gesteuert abliefert. Wie das nun bei Windows so ist, funktioniert das mit der Echtzeitfähigkeit überhaupt nicht und die Werte tauchen, je nach Systemauslastung, zu seltsamen Zeiten und in unterschiedlichen Packetgrößen auf. Doch, Hardwarepuffer sei dank, geht nichts verloren. Also hab ich ein VI geschrieben, das die Werte in ein Array packt und mit einem ms-Zeitstempel (Get-Tick-Count) der Übernahme versieht. So hab ich dann festgestellt, dass die Timerfunktion und meine externe Datenquelle sehr genau synchron laufen (ppm-Bereich).
Des weiteren habe ich eine Positionsberechnung mit der gleichen Funktion realisiert, da ich hier Startzeit und Geschwindigkeit kenne ...
Die unterschiedlichen Tasks sind in eigenen VI's untergebracht und tauschen über Notifiers und Queue die Daten aus.
Alles lief super bis ich noch eine Spannung über die PCI-6259 ausgeben wollte. Hab mir das Beispiel Gen Voltage Update.vi genommen, mit einer While-Schleife versehen, Wartezeit dazu, funktioniert. Doch wenn das VI zusammen mit den anderen VI's läuft, passen die Timerwerte nicht mehr. Die ursprünglich so genaue Datenquellenperiode von 32,045 ms ist ca. 0,5 ms kürzer.
Mein Rechner ist ein Dual-Core, die Systemlast liegt bei ca. 22%.
Eine timed loop hab ich auch schon probiert, gleiches Problem.
Da ich den Wert ca. 10-20 mal /s ändern will, bringt ein dauerndes neu erstellen und schließen des Tasks auch nichts.
Früher konnte man bei D/A-Karten einfach Werte in ein Register schreiben, aber das waren ja auch ISA-Karten (...und es hat auch öfters mal geknallt).
Kann man den DAQ-Manager irgendwie umgehen?

Vielen Dank

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


Nachrichten in diesem Thema
Aufruf DAQ-Task verlangsamt LV-Timer-Funktion (PCI-6259) - JoBlau - 13.04.2011 08:00

Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Output mit Hardware Timer verknüpfen creo_123 15 11.864 03.03.2023 21:26
Letzter Beitrag: creo_123
  PXI-6259 ctr0 - Frequenzmessung tss 0 3.312 26.11.2014 13:46
Letzter Beitrag: tss
  Erzeugen von Pulsen und synchrones Messen mit DAQ Box SCB-68 mit PCIe 6259 mobe 2 4.875 16.04.2014 08:54
Letzter Beitrag: mobe
  DAQ Box SCB-68 mit PCIe 6259 - Erzeugen von 2 Analogen Ausgängen mit Lab View mobe 13 11.986 07.02.2014 19:36
Letzter Beitrag: mobe
  Doppelter Timer! erzengelsamael 3 3.919 03.12.2013 18:11
Letzter Beitrag: Lucki
  Stromstärke und Spannung mit NI USB-6259 messen und darstellen Christian B. 7 6.908 24.10.2013 15:34
Letzter Beitrag: GerdW

Gehe zu: