LabVIEWForum.de - USB Interfaceboard k8055 - Rechtecksignal zu Boolschem Wert konvertieren

LabVIEWForum.de

Normale Version: USB Interfaceboard k8055 - Rechtecksignal zu Boolschem Wert konvertieren
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Wie im Titel schon zu sehen,
möchte ich einen Digitalen Ausgang des Boards, über ein von Labview simuliertes
Rechtecksignal, ansteuern
.
Im Anhang ist die entsprechende Datei wie ich es versucht habe.
Ich habe das Vorgefertigte Labview-Projekt von Vellemann nur etwas abgeändert.
Leider funktioniert es nicht. Was kann denn der Fehler sein??

Vielen Dank im Voraus für eventuelle Hilfe.

Viele Grüße rom4o

[attachment=31179]
Lv85_img
Bahn. Was macht denn die DLL? Was funktioniert denn nicht?
.... und bitte das nächste Mal die LabVIEW-Version des hochgeladenen VIs mit angeben. Rulez

Gruß Markus
Hallo sorry, dass ich erst jetzt antworten kann.
Also was die DLL macht weiss ich nicht genau, sie besitzt halt meiner Meinung nach die Befehle die nötig sind
um die Hardware entsprechend anzusteuern. Ich habe sie mal in den Anhang gepackt.
Aber das Gerät funktioniert ja und lässt sich ja auch mit LabView ansteuern.

Die eigentliche Frage ist, wie kann ich mit einem simulierten Signalverlauf, in meinem Beispiel ein Rechnteckverlauf mit
f=10Hz, Ampl=5 , Offset=5 , eine LED (also boolsch) blinken lassen.
Ich habe mal ein Screenshot eingefügt wie ich es versucht habe, ging aber alles nicht.

Wie kann mann das machen?
Konvertiere ich einfach die Dateitypen falsch oder gibt es noch andere Fehler?

Viele Grüße und Dank im Voraus

rom4o
Hallo rom4o,

Zitat:Wie kann mann das machen?
Also auch Frauen benutzen den Vergleichsoperator, um die LED anzusteuern...

Zitat:Konvertiere ich einfach die Dateitypen falsch
Höchstwahrscheinlich. Man sieht ja nicht, was aus dem ExpressVI rauskommt!

Zitat:oder gibt es noch andere Fehler?
Ja - du benutzt ExpressVIs:)Die spielen immer mit dem DDT rum, bei dem man nie weiß, was er so enthält. Und ich halte es für äußerst unlogisch, aus dem gleichen Draht mal einen einzelnen Wert, dann ein ganzes Array und womöglich noch Signalverläufe zu generieren...

Es gibt auch eine IndexArray-Funktion, dann muss man Arrays nicht erst in Cluster umwandeln...
Na das muss ja eine ganz schön schwierige Aufgabe sein,
dass so ein zynischer "Guru" keinen konkreten Lösungsvorschlag machen kann.

Big Grin
Hallo rom4o,

das war bei weitem nicht zynisch...

Ich bin nur ein starker Gegner der ExpressVI-Nutzung, Gründe siehe oben.
Noch deutlicher:
Du erzeugst einen Signalverlauf per ExpressVI. Den vergleichst du mit einem statischen Wert und lässt dir als Ergebnis einen skalaren Wert ausgeben. Was soll dieser Wert bedeuten? Ist der Signalverlauf irgendwann größer als der Schwellwert? Oder vielleicht der erste Wert des Verlaufs? oder doch eher der letzte Wert des Verlaufs? Alle diese Fragen nur, weil du ExpressVIs benutzt - und diese einen Datentyp verwenden, der alles Mögliche sein kann, ohne dies klar aufzuzeigen.

Lösungsvorschläge:
- Benutze keine ExpressVIs zum Signalsimulieren. Passende Funktionen gibt es auch in der Signalverarbeitungspalette, ohne DDT-Brimborium.
- Wandle den DDT-Draht in ein 1D-Array um. Vergleiche dieses Array mit deinem Grenzwert und du bekommst ein Array of Booleans. Dieses beschreibt den gewünschten Rechteckverlauf.
- Benutze deine ältere Version, bei der du ein Rechtecksignal mit einer Amplitude von 1 konfiguriert hattest. Dann hast du auch schon dein Signal korrekt aufbereitet.
- Immer erhälst du ein Array. Dies kann man natürlich nicht mit einem skalaren Indicator wie einer LED darstellen. Deshalb solltest du entweder ein BoolArray als Anzeige nehmen, oder einen Graphen/Chart, oder eine Schleife um deine LED packen, oder...
Vielen Dank, ich denke damit kann ich sehr viel anfangen.
Am Wochenedne habe ich mehr Zeit und werde mich der Sache annehmen.

grüße rom4o
hast du es geschaft ? die Lösung würde mir interessieren! ich habe daselbe Board gekauft!
Referenz-URLs