INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Gelesenen Barcode Anzeigen



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!

16.08.2011, 07:44
Beitrag #1

bienee Offline
LVF-Grünschnabel
*


Beiträge: 34
Registriert seit: Aug 2011

8.20
2011
EN


Deutschland
Gelesenen Barcode Anzeigen
Hi Leute!

An meinen PC ist der Barcode-Scanner Datalogic Matrix 200 über RS232 angeschlossen. Dieser ist zusätzlich mit einer Anlage verbunden und wird durch diese getriggert und liest in regelmäßigen Abständen einen Barcode. Mein Programm soll nun erkennen, dass der Scanner einen Barcode gelesen hat und diesen als String ausgeben.
Mein Programm spuckt im "Run continously"-Modus gar nichts aus und im langsameren Debug-Modus zwischendurch immer mal "v" oder ein "y" mit Dach. Ich habe mir sämtliche RS232-Programme durchgelesen und und versucht den Fehler bei mir zu finden, ich komme allerdings auf keine Lösung. Die Anlage erhält den Barcode vom Scanner einwandfrei.

Die leere Stringkonstante war nötig, um etwas zu haben, dass im 0-Modus der Case-Struktur das "read buffer" füttert. Im 0 Modus macht er übrigens nichts.


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
16.08.2011, 08:05 (Dieser Beitrag wurde zuletzt bearbeitet: 16.08.2011 08:07 von GerdW.)
Beitrag #2

GerdW Offline
______________
LVF-Team

Beiträge: 17.469
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Gelesenen Barcode Anzeigen
Hallo bienee,

Zitat:Ich habe mir sämtliche RS232-Programme durchgelesen
Das glaubt man kaum... Dein Bild lässt jede Ähnlichkeit mit dem fast immer gut zu nutzenden Beispiel "Basic Serial Read and Write" missen. Hast du das mal ausprobiert?
Was macht dein VI, falls mal mehrere Bytes im Buffer anstehen? (Obwohl das bei deiner CPU-Heizschleife nicht zu befürchten ist...)

Gutgemeinte Tipps:
- Um Daten in einer Schleife zu Sammeln gibt es Schieberegister. (Da du keines benutzt, funktioniert dein VI nicht - unter anderem!)
- In der String-Palette gibt es eine "Leerer String"-Konstante...
- Nutze das oben genannte Beispiel-VI!

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
16.08.2011, 08:58
Beitrag #3

bienee Offline
LVF-Grünschnabel
*


Beiträge: 34
Registriert seit: Aug 2011

8.20
2011
EN


Deutschland
RE: Gelesenen Barcode Anzeigen
Das Basic Serial Read and Write habe ich ausprobiert und es macht genau das gleiche.
Bytes at Port gibt eigentlich immer nur 0 oder 1 aus. Selten gibt es mal 2 oder gar 4 aus und dann steht im readbuffer eben "vyyv". Beim Basic Serial Beispiel genau das gleiche.

Ich habe die while-Schleife nun rausgenommen und das Programm um ein VISA Close am Ende und ein VISA Configure Serial am Anfang erweitert. Beim Configure Serial sind die default-werte glaub ich in ordnung. Ändert allerdings nichts an der Ausgabe des VI's.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
16.08.2011, 09:06
Beitrag #4

GerdW Offline
______________
LVF-Team

Beiträge: 17.469
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Gelesenen Barcode Anzeigen
Hallo bienee,

ok, die Examples verwenden auch keine Schleife, um Daten zu sammeln. Mein Fehler...

Solange du die Daten vom Scanner nicht sammelst (Tipp: Schieberegister!), wirst du nie einen vollständigen Datensatz erhalten und dich immer über die einzelnen Zeichen wundern... Was sagt denn die Doku des Scanners aus über die versandten Strings? Irgendwelche Endekennzeichen? Anzahl der Zeichen? Irgendeine bestimmte Kodierung?

Noch ein Tipp:
Hier im Forum gibt es viele Threads zum Thema "Lesen von der seriellen Schnittstelle". Viele von denen haben sehr gute Erläuterungen von Lucki. Lese diese bitte!

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
16.08.2011, 09:07
Beitrag #5

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: Gelesenen Barcode Anzeigen
Du musst schon selber alle Teilstrings in einer Schleife zusammensetzen.
Beispiele hierzu sollte es genug im VISA-Unterforum geben.
Oder schau mal hier: http://www.labviewforum.de/Thread-RS232-Terminal

Gruß, Jens

Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)

!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
16.08.2011, 10:56
Beitrag #6

bienee Offline
LVF-Grünschnabel
*


Beiträge: 34
Registriert seit: Aug 2011

8.20
2011
EN


Deutschland
RE: Gelesenen Barcode Anzeigen
(16.08.2011 09:07 )jg schrieb:  Du musst schon selber alle Teilstrings in einer Schleife zusammensetzen.
Beispiele hierzu sollte es genug im VISA-Unterforum geben.
Oder schau mal hier: http://www.labviewforum.de/Thread-RS232-Terminal

Gruß, Jens

Ja ok...mein größeres Problem ist allerdings gerade, dass er anstatt des Codes diese Sonderzeichen übermittelt. Es nutzt mir leider nichts die Sonderzeichen aneinander zu hängen. DIesem Problem wollte ich mich annehmen, wenn ich die gewünschten Zeichen übermittelt bekomme. Der Barcode, den ich lesen möchte ist Code 39. Muss man den Code irgendwie erst noch übersetzen?


Eine spezielle Terminierungssequenz habe ich an sich nicht gefunden. Die Manual ist in dieser Hinsicht nicht besonders Aufschlussreich habe ich das Gefühl. Aber das Angehängte Bild zeigt einen Teil der Einstellungen zu diesem Thema.


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
16.08.2011, 11:53
Beitrag #7

GerdW Offline
______________
LVF-Team

Beiträge: 17.469
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Gelesenen Barcode Anzeigen
Hallo bienee,

zum Glück gibt es Wikipedia...

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
16.08.2011, 13:53
Beitrag #8

bienee Offline
LVF-Grünschnabel
*


Beiträge: 34
Registriert seit: Aug 2011

8.20
2011
EN


Deutschland
RE: Gelesenen Barcode Anzeigen
Hallo GerdW,

die Ascii-Sonderzeichen meinte ich nicht. Er gibt in scheinbar willkürlicher Reihenfolge "v", "V" oder "´y"(y mit Strich oben drüber, weiß gerade nicht aus welcher Sprache das kommt) aus. Wenn ich im Read-Buffer tatsächlich den Code 39 erhalten würde, wäre ja alles in Ordnung. "vV´yv`y" war jetzt nicht das was ich erwartet hatte. Mit übersetzen meinte ich, ob das jetzt vllt. irgendein Übersetzungsproblem von Labview ist. v, V und y kommen in dem Barcode nämlich gar nicht vor.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
16.08.2011, 13:56 (Dieser Beitrag wurde zuletzt bearbeitet: 16.08.2011 13:57 von GerdW.)
Beitrag #9

GerdW Offline
______________
LVF-Team

Beiträge: 17.469
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Gelesenen Barcode Anzeigen
Hallo bienee,

Zitat:ob das jetzt vllt. irgendein Übersetzungsproblem von Labview ist.
Nein. Hast du schon mal das ganze mit Hyperterminal ausprobiert?

Zitat:die Ascii-Sonderzeichen meinte ich nicht.
Woher soll ich wissen, was du meinst?

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
16.08.2011, 14:05 (Dieser Beitrag wurde zuletzt bearbeitet: 16.08.2011 14:08 von jg.)
Beitrag #10

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: Gelesenen Barcode Anzeigen
Ich würde mir mal den empfangenen String im HEX-Code anzeigen lassen...

Gruß, Jens

EDIT: Und wenn ich deinen Screenshot richtig interpretiere, dann ist die Zeichenfolge Carriage-Return + Newline (0x0D + 0x0A) der Abschluss einer Nachricht.

Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)

!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Über Serielle RS232 gelesenen String zu Zahl wandeln Mr.T 11 10.809 04.11.2005 17:13
Letzter Beitrag: Mr.T

Gehe zu: