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 

DAQmx & PFN_LIST_CORRUPT Bluescreen



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!

22.01.2009, 10:26
Beitrag #10

cb Offline
LVF-SeniorMod


Beiträge: 1.731
Registriert seit: Feb 2006

2018SP1
2001
EN

40xxx
Deutschland
DAQmx & PFN_LIST_CORRUPT Bluescreen
' schrieb:Ich fand eigentlich das es sehr einfach war die zu programmieren. Da ich hier bereits alles habe was ich für meine Applikation brauche (Offset, High-, Lowtime). Aber deine Anregung finde ich nicht verkehrt.
Bei mir sind es DI/DO. Mit Hardware-Timing habe ich allerdings noch keine Erfahrung. Werde mir mal die Examples ansehen. Danke schonmal.

ich hab grad mal n büschen rumprobiert und komme zu folgendem Ergebnis:

das wird schon etwas kniffliger und bei DI/DO sieht es tatsächlich so aus als müsstest du tatsächlich auf (IMHO die schlechteste aller Lösungen) Software-Timing zurückgreifen, es sei denn du hast
2 Messkarten, die in der Lage sind gepufferte DIO-Operationen auszuführen, oder eine Messkarte die auf 2 Ports gepufferte DIO Operationen ausführen kann (weiß nicht ob NI so eine im Programm hat)

Hintergrund: Hardware-Timing beruht mehr oder weniger darauf, dass man die Karte einmal "richtig" einstellt und die Karte das "harte Timing" machen läßt und mehr oder weniger "locker" einmal innerhalb eines Datenblocks liest oder schreibt. Beispiel: Analoge Erfassung mit 1000 Hz, Blockgröße 100 Samples => alle 100 ms (= Loop-Rate der Lese-Schleife von 10 Hz) holt man einmal Daten ab. Die Karte macht die schnelle Arbeit, die CPU ist relativ gelangweilt mit alle 100 ms mal 100 Werte in den Hauptspeicher übertragen. Bei Software Timing schreibt man (je nach einstellung, ich beschreib jetzt mal den schlechtesten Fall) jeden Wert als Single-Update auf die Messkarte bzw. holt jeden Wert einzeln hab, das ist jedes mal (mindestens ein) ein DLL function call, Kommunikation über den PCI-Bus, etc und das mit der vollen Sample-Rate

Aber: es gibt eine Alternative, die vielleicht gar nicht mal so schlecht ist:
mach die digitale Ausgabe mit einem analogen Ausgang, es ist ja nicht verboten immer 0 Volt oder 5 Volt auszugeben (und kannst sogar noch deinen TTL-Pegel manipulerenWink). Dann hast du einen gepufferte analoge Ausgabe und eine gepufferte digitale Erfassung, du kannst das ganze als synchronisierte Tasks auf der Karte laufen lassen und brauchst kein Software-Timing. Leider unterstützen gepufferte digitale Tasks (ich hab's mit einer 6259 getestet) keine start-Trigger, darum muss man sich als Krücke noch mit einem selbst erzeugten, externen Messtakt behelfen den man mit einem Counter erzeugt ...


   


Sonstige .zip  Syn_DI_DO_Example.LV851.zip (Größe: 44,31 KB / Downloads: 218)

http://www.rotabench.com - rotierende Prüfstände nach dem Baukasten-Prinzip
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Nachrichten in diesem Thema
DAQmx & PFN_LIST_CORRUPT Bluescreen - cb - 22.01.2009 10:26

Gehe zu: