Mahlzeit! Ich habe da so ein Problem mit einem Basic-Programm. Aber vorher erstmal die angestrebte Funktion: Ein alter Barcodeleser soll einen erkannten Code an eine SPS übermitteln. Der Barcodeleser kann mit der vorhandenen RS232-Schnittstelle nicht so ohne Weiteres an die SPS angeschlossen werden. Also kommt ein ATMega8 da zwischen. Der Mega8 speichert den Barcode zwischen, wartet auf ein "Freigabe-Signal" von der SPS und gibt den Code dann in einem reinen und formlosen Impulssignal an die SPS (Barcode z.B. 114 => 114 Impulse an die SPS). Das angehängte Programm funktioniert erstmal. ABER nur einmal! Der Controller erhällt den Barcode und kann ihn auch weitergeben. Kommt aber der nächste Barcode vom Lesegerät, so erhält der Controller nur eine "0" (Anzeige im Display!). Schließe ich statt des Lesegerätes das HyperTerminal von Windoof an, dann klappt es immer (also auch mit dem 3'ten, 4'ten, ...Code) Vielleicht hat hier ja jemand eine Idee. Gruß Ingo
Wenn es mit dem Daten vom Terminalprogramm geht, ist ein Fehler im Code ja eher unwahrscheinlich. Und wenn Du das Lesegerät ans Hyperterminal anschließt? Sehen dann der zweite und die folgenden Bytes richtig aus?
Das Lesegerät läuft am HyperTerminal auch ohne Probleme.
nimm mal das Programm "COM Terminal" und schau, was der Barcode Leser ausgibt. Vielleicht sendet der ein anderes "endzeichen" am Ende des Barcodes als du erwartest? Dies lässt sich mit dem HyperTerminal schlecht feststellen. COM Terminal gibt dir die Daten unformatiert aus und daher kannst du auch die Sonderzeichen erkennen.
So, COM Terminal erzählt mir, dass nach den eigentlichen Barcode-Ziffern noch zwei Zeichen übertragen werden: 1. Dez. 13 Hex. 0D (Carriage return) 2. Dez. 10 Hex. 0A (LineFeed) Also zum Beispiel für Barcode 123: 49 50 51 13 10 Sende ich mit COM Terminal eine 123, dann kommt dabei folgendes raus: 49 50 51 13 10 10 (ja, 2x 10. Warum auch immer...?) UND: beim zweiten Senden mit COM Terminal bekomme ich in der µC-Anzeige wieder eine "0" !!! Also wo ist der Unterschied zwischen Lesegerät/COM Terminal <=> HyperTerminal ????
Nur für's Protokoll: :) Es funktioniert! Ich habe dann einen anderen Weg eingeschlagen ischarwaiting() und clear serialin (wen es interessiert: siehe Anhang) Vielen Dank! Grüße Ingo
Hallo, ich sehe du hast einen Barcodeleser an einen Microcontroller angeschlossen? Ich hatte nun auch vor einen Barcodescanner an einen Mikrocontroller anzuschliessen, der dann den gelesenen Code mit einem gespeicherten vergleicht und dann ein Signal ausgibt ob dieser richtig oder falsch ist. Ist es schwer einen Scanner direkt an einen Mikrocontroller anzuschliessen??? Alles was man so findet ist ja meistens für den PC mit irgend welcher Software. Hast du einen speziellen genommen? Kann man die einfach über RS232 ansprechen und der Scanner sendet dann einfach den Code? Wäre nett wenn du mir ein paar Infos geben kannst, wie man am besten so ein Projekt angeht (Welcher Scanner(Soll bei mir ein Festerscanner sein ohne das man noch ein Knopf zum scannen drücken muss), welcher Mikrocontroller (geht jeder dann mit RS232?) und wie die Kommunikation zwischen Scanner und Mikrocontroller ist (muss ein Protokoll geschrieben werden?)) Vielen Dank, wenn du mir da ein paar Infos geben kannst. Gruß Jens
Hi Jens. Den Scanner den ich benutzt habe war schon etwas aeltern Baujahrs. Ich bin zur Zeit noch im Urlaub. Wenn ich wieder zurueck bin, kann ich dir mehr erzaehlen... Bis dahin T4B
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.