LabVIEWForum.de
LEDs serielle beleuchten - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Instrument IO & VISA (/Forum-Instrument-IO-VISA)
+---- Thema: LEDs serielle beleuchten (/Thread-LEDs-serielle-beleuchten)

Seiten: 1 2


LEDs serielle beleuchten - stillalive - 10.10.2007 15:47

ich wollte 8-bit-Daten in Parallele-Schnittstelle eingeben. Die 8 Bits-Daten werden von 0000 0000 bis 1111 1111 automatisch eingegeben und die 8 LEDs können nach entsprechenden Codes beleuchten.

Aber was ich jetzt gemacht habe, können die LEDs nur das letzte Code anzeigen. Die Codes dazwischen können leider nicht angezeigt werden.

z.B. wenn ich 255 eintippen, in For-Schleife wird der Zahl um eins erhöhen. Und LEDs warten bis der letzte Zahl angegeben und dann leuchten (8 LEDs ON). $01,$02... ... $FE können die LEDs nicht erzeugen.

Weißt jemand, mit welcher Funktion kann es realisiert werden?

Danke!!!


LEDs serielle beleuchten - jg - 10.10.2007 16:25

Hallo,

gibst du auch innerhalb deiner For-Schleife die Werte bzw. Ansteuerung an deine Schnittstelle aus? Hört sich für mich nämlich nicht so an.

Ansonsten gilt, wie fast immer: Screenshot oder noch besser VI hochladen.

MfG, Jens


LEDs serielle beleuchten - monoceros84 - 11.10.2007 07:39

' schrieb:gibst du auch innerhalb deiner For-Schleife die Werte bzw. Ansteuerung an deine Schnittstelle aus? Hört sich für mich nämlich nicht so an.

Ansonsten gilt, wie fast immer: Screenshot oder noch besser VI hochladen.

Entweder das, oder ich würde mal noch eine Zeitverzögerung in der Schleifen einbauen. Es kann nämlich sein, dass deien Schleife so schnell hochzählt, dass du die Zwischenschritte gar nicht mitbekommst...

"Ansonsten" schließ ich mich Jens anSmile


LEDs serielle beleuchten - stillalive - 11.10.2007 12:15

hallo, Ihr beide

meine Schaltung sieht so aus, obwohl es noch ein Problem bei error gibt, wird ich erst das schaffen.

Diese Schaltung habe ich als SubVI definiert, dann habe ich es in standard parallel schnittstelle write and read.vi implementiert, ich lade es hoch, hoffentlich dass es funktioniert.

Wobei gibt es noch das problem bei Error, das ist, wenn ich der Wert größer als 255 eingebe, wird dieser Wert als Error gezeigt, da der Wert ab 255 nicht nur mit 8 LEDs gezeigt erden kann. Aber nach dem Error-Anzeig läuft der Schleife immer weiter und bis zum letzter Wert geschickt ist. z.B. wenn icwh 257 eintippe, läuft bis 256, zeigt error, dann geht es weiter und der letzte Wert ist 1. (257-255=2 wegen 0 ist bis 1).

Ich will der Prozess sofort aufhören und zurücksetzen. geht das? Natürlich Ja, aber wie???

Danke euch zuerst.

Übrigens, ich hoffe, dass Ihr meine Deutsch verstehen könnt.

(VI LV 7.1)


LEDs serielle beleuchten - stillalive - 11.10.2007 12:20

dann ist die Schaltung mit 8 LEDs, Parallel schnittstelle.

Eigentlich nicht so komplieziert.


LEDs serielle beleuchten - jg - 11.10.2007 13:04

Hallo,

so wie ich es gedacht habe. Du hast ein Subvi, in diesem die For-Loop, die dir die Zahlen hochzählt. Das wird komplett abgearbeitet, und erst am Ende schreibst du dann die letzte Zahl per Out.vi an deinen Parallelport.

MfG, Jens


LEDs serielle beleuchten - monoceros84 - 11.10.2007 13:06

Zunächst: Klar verstehe ich dein deutsch. Meinen tiefsten Respekt davor, dass du deutsch lernst/gelernt hast!

Also dein problem ist wohl, dass du den parallelen Port an den Ausgang deines VIs gehängt hast. Das bedeutet, dass "Out Port" erst abgearbeitet wird, wenn dein eigenes VI fertig ist. Demnach bekommt "Out Port" auch nur den letzten gültigen Wert zugewiesen. Das funktioniert wie bei allen anderen VIs auch.

Du hast nun drei Möglichkeiten: Entweder fügst du die Funktion "Out Port" in dein SubVI ein. Oder du verzichtest auf ein SubVI. Oder du überlegst dir, eine globale Kommunikation (globale Variablen, SubVIs mit nicht-initialisierten Schieberegistern, Notifier, FIFOs, ...) und legst im Hauptprogramm parallel ablaufende Schleifen an. Letzteres wäre aber sicher etwas Overkill. Ich würde dir zur zweiten Möglichkeit raten.

EDIT: Jens war schneller - mist!Smile


LEDs serielle beleuchten - stillalive - 05.11.2007 11:43

hallo, Monoceros84:

Danke für deine Vorschläge. Ich habe die erste 2 Möglichkeiten schon versucht, aber sie funktionieren leider nicht. Das LEDs zeigen nur den letzten Wert an.

Soll ich 2 "Out Port" und "In Port" einfügen? eine innerhalb die For-Schleife und eine ausßerhalb die For-Schleife aber innerhalb die Case-Schleife?


LEDs serielle beleuchten - monoceros84 - 05.11.2007 13:23

Nein, nur einmal in die For-Schleife - anstatt deinen End Value Indikatoren. Oder zusätzlich zu denen. Der gleiche Wert/ die gleiche Leitung, die in diese Indikatoren geführt wird, muss auch in dein Out Port VI.


LEDs serielle beleuchten - stillalive - 05.11.2007 14:51

Klasse!!!!

Danke monoceros84, es klappt endlich.

Die Out und In Port müssen beiden in For-Schleife liegen.

Ich habe noch ein paar Fragen nach die Wertordnung:

1. warum muss ein Array indizieren.vi (Array Index.vi) sowohl von Adresse auch von Fehler zwischen In Port.vi und 32bitread_to_dsub.vi eingesetzt werden? wegen der For-Schliefe? Bei originaler Schaltung ist es nicht benötigt. (Bild Parallel Port True Case.jpg)

2. Bei Case-Schleife, warum muss bei False-Case ein Array Erstellen auch eingestzt werden? (Bild Parallel Port False Case.jpg)

Obwohl die beide automatisch ( durch Rechtsmaus drücken) gelöscht werden, weiß ich leider nicht die Funktion, besonders den Grund.