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!
ich bin noch relativ neu im Umgang mit LabVIEW (hab die Lernprogramme durch) und stolpere nun scheinbar über mein erstes richtiges Problem. Ich beschreibs einfach mal:
Ich möchte Daten von einer Mehrkanal-Telemetrieanlage empfangen, die ihre Messwerte kontinuierlich (also nicht von aussen steuerbar) über einen digitalen Parallelport ausgibt. Dabei verwendet sie ein 16bit Ausgabeformat. Die ersten 12 Bit enthalten die eigentlichen Messwerte, das letzte Bit dient der Synchronisierung (wird immer beim letzten übertragenen Kanal auf H gesetzt, damit ich weiß wo ich bin). Auf dem 17. Pin gibt die Anlage einen Strobe aus, von dem ich weiß, dass bei ansteigender Flanke die Daten für einen Kanal an den 16 Datenpins anliegen. Ich habe den Parallelausgang der Telemetrie über eine SCB-68-Anschlussbox mit einer PCI-DIO-32HS (NI 6533) verbunden.
Das eigentliche Problem besteht für mich jetzt darin, dass ich es nicht schaffe die Daten irgendwie vernünftig einzulesen.
Die Karte ist nagelneu, deshalb hab ich bisher versucht mit dem DAQ-Assistenten zu arbeiten. Dort habe ich Digital I/O ausgewählt und dann Porteingang Port 0 16bit gewählt. So weit so gut, aber jetzt weiß ich nicht mehr so richtig weiter. Wenn ich jetzt keinen Denkfehler habe müsste ich doch immer einen Wert lesen, wenn von aussen das entsprechende Signal kommt (externer Taktgeber). Aber das funktioniert nicht, da kommt eine Fehlermeldung (siehe Attachment).
Wenn jemand Tipps hat, wie ich die Daten in meinen Rechner bekomme (ich will sie erstmal nur wegschreiben), möge er/sie sie mir geben.
[quote="freedive"]Die Fehlerbeschreibung sagt doch alles :-)
Volle Zustimmung meinerseits! Die anderen Modi werfen aber auch nur Fragen auf. Auf dem Screenshot kann man erkennen was passiert, wenn der endliche oder kontinuierliche Modus aktiviert wird. Auf einmal kann ich einen externen Taktgeber einstellen und habe gleichzeitig die Möglichkeit eine Taktfrequenz einzugeben. Ich frage mich, was das soll! Meine Telemetrieanlage gibt mir doch mit dem Strobe vor, wann die Daten eines Kanals anliegen (die genaue Frequenz ist mir nicht bekannt, sie liegt aber im niedrigen MHz-Bereich). Warum kann ich jetzt noch eine Taktfrequenz eingeben? Welcher Takt (extern oder eingegeben) wird dann benutzt? Aus der LabVIEW-Hilfe bin ich da nicht schlau geworden, da steht nix drin (oder ich habs nicht gefunden).
Du hast zwar die Moeglichkeit die Taktfrequenz nochmals manuell einzugeben, jedoch hat das keine Auswirkung auf deine Messung!
Problem hierbei ist, dass es LabVIEW "allen" Usern recht machen will, d.h. jenen die mit den Express VIs arbeiten als auch jenen die sich die Funktionalitaet selbst programmieren moechten.
Erstere arbeiten meistens mit dem dynamischen Datentyp in LabVIEW - dieser beinhaltet u.a. den Startzeitpunkt der Messung, die Schrittweite (sprich Abtastfrequenz) und den dazugehoerigen gemesssenen Wert. Genau hier liegt jetzt das etwas eigenartige - die Hardware hat keinen Timer eingebaut, der die "Schrittweite" bei einem externen Takt in den FIFO der Karte und in weiterer Folge in den RAM legt...
D.h. die von dir eingestellte Abtastfrequenz ist lediglich dazu da, eine softwaretechnische Schrittweite zu erzeugen damit du, sofern du mit Express VIs arbeitest, etwas auf deinem Anzeigeelement siehst - die hat jedoch KEINE Auswirkung auf deinen externen Takt, dieser bleibt davon unbeeindruckt!
Na, Lernprogramme ist vielleicht der falsche Ausdruck.
Ich hab die Tutorials gemacht, die mit LabVIEW mitgeliefert werden. Beschrieben sind die im Buch "Erste Schritte mit LabVIEW" (oder so ähnlich). Das Buch gibts auch als pdf in der LabVIEW Bibliothek und auf den CD's.
Wie gesagt, Lernprogramme sind es eigentlich nicht.