LabVIEWForum.de
AI and AO - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Datenerfassung (DAQ) (/Forum-Datenerfassung-DAQ)
+---- Thema: AI and AO (/Thread-AI-and-AO)

Seiten: 1 2 3


AI and AO - Sworks - 28.07.2013 12:28

Hi Leute,

ich versuche mich gerade verzweifelt an folgendem:

Ich lese einen AI kontinuierlich ein und möchte den Wert auch kontinuierlich auf einen AO schreiben (später will ich das Signal vorher manipulieren, aber ich hänge schon hier). Das ganze soll etwa mit 1000 Hz Abtastrate laufen und möglichst synchron sein (Ein- und Ausgabe)

Siehe Anlage, so sieht es jetzt aus, bekomme aber den Error -200279
Possible reason(s):
Attempted to read samples that are no longer available. The requested sample was previously available, but has since been overwritten.

Ich denke mal, dass das 'schreiben' nicht kontinurlich läuft, habe aber keine Ahnung wie ich das lösen soll.

Anbei ein Bild des VI's

Danke, Gruß GEorg


RE: AI and AO - GerdW - 28.07.2013 19:28

Hallo Georg,

der Fehler sagt: du hast Samples nicht rechtzeitig gelesen. Irgendwas war zu langsam...

Zitat:Ich denke mal, dass das 'schreiben' nicht kontinurlich läuft, habe aber keine Ahnung wie ich das lösen soll.
Du solltest dem AO-Task auch ein Sampletiming verpassen, wenn du mehrere Werte ausgeben willst...

Du solltest auch über ein Producer-Consumer-Schema nachdenken, das entkoppelt dir den AI- vom AO-Task!


RE: AI and AO - jg - 28.07.2013 19:59

Welche DAQ-Hardware kommt zum Einsatz?

Gruß, Jens


RE: AI and AO - Sworks - 28.07.2013 20:21

Hallo,

danke für die Info.

@Gerd: Wer ich mal probieren. Was ist ein 'Producer-Consumer-Schema' ?

@Jens: Mydaq

Gruß Georg


RE: AI and AO - Sworks - 28.07.2013 20:43

Hi,

ich nochmal. Das mit dem Sample-Timing habe ich hinzugefügt, siehe Anlage.

Jetzt läuft es ohne Fehler, aber scheinbar wird der AO nicht beschrieben. Das klappte vorher zumindest bis zum Fehler (nach ca. 3 sek).

Habt Ihr noch eine Idee ?

Übrigens: Ich habe in der vorherigen Version ohne Sample-Timing den Wert 'No of written Samples' anzeigen lassen, Das entspricht exact dem Wert des eingestellten 'Samples to Read' für den AI. Scheinbar sorgt die Schleife nicht für ein Weiterschreiben auf dem AO...

Gruß Georg


RE: AI and AO - Morpheus - 29.07.2013 05:37

Hallo Georg

Habe mir den Code nicht im Detail angesehen aber...
Warum startest Du den AO Task 2x?

Gruss
Chris


RE: AI and AO - GerdW - 29.07.2013 07:56

Hallo Georg,

Zitat:Was ist ein 'Producer-Consumer-Schema' ?
Guck mal hier nach, gleich der erste Eintrag...

Und wenn du das gelesen hast, trennst du AI- und AO-Tasks in verschiedene Schleifen auf!


RE: AI and AO - Sworks - 29.07.2013 11:19

Hallo Leute,

@Morpheus: aus Unwissenheit ;-) - bringt aber keine Änderung

@Gerd: Danke für den Tipp: Habe ich getestet, das VI läuft, leider wird der AO nicht beschrieben...

Ich habe noch ein bisschen rumprobiert: wenn ich mein Original-VI laufen lasse, kommt die Analogausgabe ziemlich verzögert zum Analogeingang (bis zum Fehler). Wenn ich die Smple-rate und 'Samples to read' runtersetze (1000 Hz und 50 Samples), läuft es etwas länger (15s), aber die Ausgabe ist um Sekunden verzögert. Auch der Graph ist deutlich verzögert. Setze ich den Autostart des 'DAQmx write' auf false, läuft alles durch und die Anzeige wird in Echzeit aktualisiert. Es scheint, als ob das schreiben alles deutlich verlangsamt, habe ich vielleicht mit der Schleife einen Fehler gemacht ?
Ich habe mal den Teil des Analog OUt aus der Schleife verschoben, dann werden allerdings keine Analogwerte geschrieben.

Der Rechner ist potent, das sollte nicht das Nadelöhr sein...

Ich glaube, es ist nur eine Kleinigkeit, ich finde diese nur nicht...

Eigentlich sollte man doch auch irgendwo ein Beispiel finden, da diese Aufgabe doch recht häufig vorkommen sollte: Analogwert lesen, manipulieren und wieder ausgeben...

Gruß Georg


RE: AI and AO - Sworks - 29.07.2013 12:05

Hallo Gerd,

(29.07.2013 07:56 )GerdW schrieb:  
Zitat:Was ist ein 'Producer-Consumer-Schema' ?
Guck mal hier nach, gleich der erste Eintrag...
Und wenn du das gelesen hast, trennst du AI- und AO-Tasks in verschiedene Schleifen auf!

so habe ich das jetzt gemacht. Messtelle 12 (Enqueue) zeigt den Analogeingang, Messstelle 13 (Dequeue) zeigt 'not executed' ???

Huh

gruß Georg


RE: AI and AO - GerdW - 29.07.2013 12:10

Hallo Georg,

ich sage nur "THINK DATAFLOW"!

Schleifen laufen nur parallel, wenn es keine Abhängigkeit (direkt per Draht) zwischen ihnen gibt. Und was machst du mit dem STOP-Draht?