LabVIEWForum.de - analoge OUTs verzögern sich

LabVIEWForum.de

Normale Version: analoge OUTs verzögern sich
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo Gemeinde,

Hardware: USB 6343
eine Producer Consumer Struktur mit Statemachine, je nach VErsuchszustand. (Error, Standby, Versuchslauf..etc)
Hier möchte ich jetzt nur den State "Versuch" zur Sprache bringen.

Ich lese innerhalb einer While (10ms Takt) 2 Temperaturen aus einer Queue. Diese gehen über 4 PIDregler und
generierren mir die 4 DBL-Werte die zum Array verbrüdert werden um auf die analoge Ausgabe geschickt zu werden.

Jetzt der Bug:
Die Ausgabe verzögert sich. Ganz ganz seltsam. Zu beginn des Vesuches passt noch alles, je länger der VERsuch dauert, desto größer
die Verzögerung. Läuft da ein Puffer voll?

Wie bekomme ich das 6343 dazu immer die aktuellen Werte auszugeben?

Lösungsatz war folgender:
Ich zwinge die Hardware dazu schneller zu schreiben als die zu verarbeitenden DAten eintreffen.
Das TimingVI eingebaut und seit dem habe ich NUR Ärger. Da ich den Status des DAQ verarbeite lande ich jetzt in meinem
Errorstate. Was soweit auch richtig ist.

Gebe ich beim initialisieren der analogen OUTs keinen Task, sondern nur die Hardwareverbindungen an, bekomme ich den
Fehler -201025, mit Task den Fehler -200428.
Wo finde ich eine aktuelle Errorcodes-Liste? Habe nur diesen LINK im Forum gefunden. Sicher gibt es doch etwas aktuelleres.

Wäre toll wenn mir jemand erklären könnte was da passiert, was ich gerade falsch mache.

Vielen Dank und entspanntes WE, Ralf aka RMR
Die Ausgabe von Einzelwerten wie Du es machst ist gewissermassen der Standard. In diesem Fall brauchst Du weder das Timing- noch das Start-VI. Lass das erst mal weg und probiers.
(22.07.2011 09:56 )RMR schrieb: [ -> ]Jetzt der Bug:
Die Ausgabe verzögert sich. Ganz ganz seltsam. Zu beginn des Vesuches passt noch alles, je länger der Versuch dauert, desto größer
die Verzögerung. Läuft da ein Puffer voll?

Wie bekomme ich das 6343 dazu immer die aktuellen Werte auszugeben?

Gefunden....nach langem Suchen.
Ich gebe 4 Kanäle aus. Einer davon ist mit einem Faktor beaufschlagt. (abhängig von einem anderen anlog OUT) Somit war es möglich das dieser Kanal eine Spannung ausgeben sollte die jenseits der 10V liegt.
Mir war das durchaus bewusst, nur hätte ich nicht gedacht das mir das fast den letzten Nerv ziehen wird. Ich bin davon ausgegangen, dass eben nur 10 V raus gehen, auch wenn
am Ausgabearry der Wert 20 steht. Dem ist aber nicht so.
Die Ausgabe wird einfach gestoppt. Mir ist das erst aufgefallen als ich mir die aktuelle SChreibeposition aufs Frontpanel gelegt habe. Dort tauchte dann die 0 auf. Fällt der zu hohe Wert wieder
in den gültigen Bereich, läuft die Ausgabe wieder.

Juheeee....und heute Abend gibts BeerBeerBeer

Keep on rockin', Ralf aka RMR
(11.08.2011 14:55 )RMR schrieb: [ -> ]Mir ist das erst aufgefallen als ich mir die aktuelle SChreibeposition aufs Frontpanel gelegt habe. Dort tauchte dann die 0 auf. Fällt der zu hohe Wert wieder in den gültigen Bereich, läuft die Ausgabe wieder.
Ein Blick in den Error-Cluster hätte auch genügt. Dafür isser da.

Übrigens hatte ich auch mit Verzögerung bei AO zu kämpfen. Allerdings nur, wenn man Blöcke schreibt. Ansonsten solltest du auf Lucki hören und das Timing.vi und das Start.vi herausnehmen. Die sind überflüssig beim "on Demand" schreiben.


Gruß
Referenz-URLs