LabVIEWForum.de - Barcode

LabVIEWForum.de

Normale Version: Barcode
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2 3 4 5
' schrieb:Hallo Selma,

der KeyFocus ist eine ganz normale Property des Strings - also dafür sorgen, dass dieser PropertyNode zuerst aufgerufen wird (oder evtl. regelmäßig, falls der User nicht woanders hin klicken soll...)

"wie ... der String nach jeden Scann sich leert"
Woher weißt du denn, wann der Scan abgeschlossen ist? Wenn du ein entsprechendes Signal erhälst (z.B. dein Kommunikations-VI "fertig!" meldet), kannst du doch den aktuellen Inhalt des Strings per Draht weiterleiten und den String mittels lokaler Variable zurücksetzen... Wo ist für dich das Problem? Noch'ne Frage: wieso hängst du neue Werte immer an, statt die alten gleich zu überschreiben?

Hallo Gert,
Überschreiben das ist das richtige.Aber davon habe ich auch keine Ahnung.
Du sagst das der KeyFocus natürlich zuerst aufgerufen werden muß, mach ich das durch eine Flache Sequenz?

[attachment=27013]

Lv09_img2
MfG Selma
' schrieb:Guten Morgen,
Ihr seit ja lustig. Wurde mich ja auch freuen wenn Ihr mir sagt wie ... der String nach jeden Scann sich leert.
MfG Selma
Guten Morgen Selma!

Natürlich sind wir lustig!:DDas sind wir (fast) immer....

Also wenn der String sich jedesmal leert, bedeutet es, dass du a) das VI nach der Verarbeitung beendest und zum Einlesen des nächsten Barcodes neu startest oder b) immer wieder nach dem Scannen einen leeren String in deine Variable schreibst. Ich denke b) können wir vermutlich ausschliessen.
Zu a) Das Einlesen der Barcodes sollte natürlich in einem Hauptprogramm geschehen (und sei es nur eine einfache Whileschleife ) wo der Barcode gescannt und verarbeitet wird. Wenn du nun eine Whileschleife hast, dann kannst du die empfangenen Strings in ein Array packen und dieses Array bei jedem neu eingelesenen Barcode erweitern. Das Array selber musst du an einem Schieberegister (Rechtsklick auf den Schleifenrand) anschliessen, damit dir die Werte so lange deine Whileschleife läuft erhalten bleiben und nicht ständig überschrieben werden.

Ich kann dir leider heute kein simples Bespiel dazu basteln, da ich nicht im Büro bin....

Grüße,
Tobias
Hallo selma,

"mach ich das durch eine Flache Sequenz?"

Igitt! Wozu gibt es ErrorCluster? Und jede Propertynode hat sowohl einen Error-Eingang als auch Error-Ausgang, kann man doch wunderbar einen Dataflow herstellen...
' schrieb:Guten Morgen Selma!

Natürlich sind wir lustig!:DDas sind wir (fast) immer....

Also wenn der String sich jedesmal leert, bedeutet es, dass du a) das VI nach der Verarbeitung beendest und zum Einlesen des nächsten Barcodes neu startest oder b) immer wieder nach dem Scannen einen leeren String in deine Variable schreibst. Ich denke b) können wir vermutlich ausschliessen.
Zu a) Das Einlesen der Barcodes sollte natürlich in einem Hauptprogramm geschehen (und sei es nur eine einfache Whileschleife ) wo der Barcode gescannt und verarbeitet wird. Wenn du nun eine Whileschleife hast, dann kannst du die empfangenen Strings in ein Array packen und dieses Array bei jedem neu eingelesenen Barcode erweitern. Das Array selber musst du an einem Schieberegister (Rechtsklick auf den Schleifenrand) anschliessen, damit dir die Werte so lange deine Whileschleife läuft erhalten bleiben und nicht ständig überschrieben werden.

Ich kann dir leider heute kein simples Bespiel dazu basteln, da ich nicht im Büro bin....

Grüße,
Tobias
Wie so A. Ich will doch nich das Programm jedes mal neu Starten.
' schrieb:Hallo selma,

"mach ich das durch eine Flache Sequenz?"

Igitt! Wozu gibt es ErrorCluster? Und jede Propertynode hat sowohl einen Error-Eingang als auch Error-Ausgang, kann man doch wunderbar einen Dataflow herstellen...

mmmmmh... keine Ahnung.
Wie Du das machst.
Ich weiß nur das ich nicht weiß wie ich es machen soll.
' schrieb:mmmmmh... keine Ahnung.
Wie Du das machst.
Ich weiß nur das ich nicht weiß wie ich es machen soll.
Zwischen deinen "Projekten" drückst du wohl auch immer einen internen Reset-Knopf. Das kann doch nicht sein, dass du bei sowas immer noch nicht weißt was gemeint ist. Echt jetzt.

[attachment=27020]
' schrieb:Wie so A. Ich will doch nich das Programm jedes mal neu Starten.
Ok - hab mich evtl etwas ungeschickt ausgedrückt.... Mellow

Darum geht es! Du SOLLST das Programm nicht jedes Mal neu starten. Ich vermute, dass du genau dieses tust. Evtl unbewusst, durch den "Run Continously"-Button. Denn wenn ich mich recht erinnere hatte dein zu Anfang gepostetes VI keine Schleife und kann somit nicht andauernd ausgeführt werden. Du kannst ja mal einen Screenshot von deinem jetzigen VI machen und hochladen. Komplette VIs kann ich mir heute nicht angucken.
' schrieb:Zwischen deinen "Projekten" drückst du wohl auch immer einen internen Reset-Knopf. Das kann doch nicht sein, dass du bei sowas immer noch nicht weißt was gemeint ist. Echt jetzt.

[attachment=55690:CLUSTER.png]

Ja, so ist das .
[attachment=27021]

Suche und Klicke aber leider, weiter bin ich nicht. Blush
Hallo Selma,

"mmmmmh... keine Ahnung. Wie Du das machst."

Mmmh, wie lange arbeitest du jetzt schon mit LabVIEW? Wie oft haben wir dir schon was von Dataflow erzählt?
Dataflow = eine Funktion/Struktur/Node wird erst dann ausgeführt, wenn alle benötigten Daten bereitstehen!
Also:
Den Error-Ausgang der Propertynode mit der (zeitlich) nächsten Funktion/Struktur verbinden. Schon wird die Propertynode vor der zweiten Funktion ausgeführt...

Edit:
"Suche und Klicke aber leider weiter bin ich nicht."
Das mit dem Rechts-Klick-Öfter-Benutzen haben wir sicherlich auch schon mal erwähnt...
Also: PropertyNode per Rechtsklick auf "Schreiben" setzen. Dann kann man nämlich eine True-Konstante anschließen, mit der der KeyFocus auf den String gesetzt wird. Wenn du die Kontexthilfe benutzt, siehst du auch, wo der ErrorCluster rauskommt. Wenn du den benutzt, kannst du dir den ersten Frame sparen... Wenn du deinen String nur auf diese beiden Werte vergleichen willst, kannst du den String auch direkt an den CaseSelector anschließen und die beiden Stringkonstanten als Case-Werte vorgeben. Du hast dann eine Case-Struktur mit 3 Fällen (deine beiden Konstanten und einen Default-Case für alle anderen String-Werte...)!
Seiten: 1 2 3 4 5
Referenz-URLs