Daten von PC zu Registrierkasse

Gast #3266175
Lesenswert?

Hallo,

ich habe eine Registrierkasse und einen PC. An der Registrierkasse ist 
zum einscannen für EAN-Artikel ein Barcodescanner über RS232 
angeschlossen.

Ich würde nun gerne vom PC über ein separates RS232-Kabel auf gleich 
weiße "EAN-Nummer" an die Registrierkasse sende. Das alles müsste über 
VBA realisiert werden.

Gibt es da Möglichkeiten?

Danke
#3266242
Lesenswert?

Die Kommunikation mit der seriellen Schnittstelle erfolgt in VBA über 
eine extra OCX-Datei namens Mscomm32.ocx. Google einfach mal danach. Da 
solltest Du zig Beispiele für die Verwendung finden. Ich persönlich 
nutze für die Entwicklung von Anwendungen, die mit der COM-Schnittstelle 
interagieren aber lieber VB.NET wo möglich. Das .NET-Framework bietet 
bereits fertige Klassen für die Kommunikation mit der Schnittstelle.
Gast #3266263
Lesenswert?

Ok vielen Dank schon mal.

Die Idee ist aus einer Access-Datenbank die EAN-Codes an die 
Registrierkasse zu übertragen. Deswegen auch VBA.
Keine Ahnung ob da auch VB.NET möglich ist.

Werde ich mir heute Abend mal alles durchlesen.
Gast #3284395
Lesenswert?

Habe nun die Registrierkasse über ein Nullmodenkabel an den PC 
angeschlossen (Rs232).
Über VBA habe ich dann versucht mit Hilfe von XMcomm die EAN-Codes an 
die Registrierkasse zu schicken.

Quellcode sieht folgendermaßen aus:
1
Dim Port As XMCOMCRC.XMCOMMCRC
2
Set Port = CreateObject("xmcomcrc.xmcommcrc")
3

4
Port.CommPort = 1
5
Port.Settings = "9600,n,8,1"
6
Port.Output = "1234567891234"

Ich hatte mir erhofft die Zahlen "1234567891234" an die Registrierkasse 
zu senden. Leider reagiert die Registrierkasse nicht.

Bei der Registrierkasse habe ich ebenfalls die Einstellungen auf 
"9600,n,8,1" gebracht.


Ich kann auch leider nichts im Internet finden wie sonst ein 
"Outputfile" von einem Barcode-Scanner aussieht.

Kennt sich da jemand aus oder hat jemand eine Idee?

Kann mir nicht vorstellen, dass das Outputfile von den Barcode-Scannern 
kompliziert ist. Die sind ja eigentlich meißten mit allen Kassen 
kompatibel.

Danke
Mfg
Gast #3284425
Lesenswert?

Joedot schrieb:
> ich habe eine Registrierkasse und einen PC. An der Registrierkasse ist
> zum einscannen für EAN-Artikel ein Barcodescanner über RS232
> angeschlossen.
>
> Ich würde nun gerne vom PC über ein separates RS232-Kabel auf gleich
> weiße "EAN-Nummer" an die Registrierkasse sende.

fsei??
Gast #3284438
Lesenswert?

Bist Du Dir sicher, dass das Scanner Protokoll ist?
Wenn Du "1234567891234" zur Kasse sendest, erscheint mir das etwas zu 
wenig. Gibt es da keine "Begin-" und keine "Ende-Sequenz", zumindest ein 
Zeilenumbruch oder sogar Zeilenumbruch + Neue Zeile am Ende.
Gast #3284463
Lesenswert?

Ich kann mir nicht vorstellen, dass es ungültige EANs gibt.
Du kannst Dir ja sogar Deine eigenen Codes erstellen.
Was aber stimmen muss sind das Format und eine eventuelle Prüfsumme.
Da die meisten Kassen aber ein Display haben, sollte ein geordneter 
Meckerer schon drin sein.
Gast #3284471
Lesenswert?

Ich würde erstens mal einen gültigen EAN-Code senden, ungültige 
Warencodes wird die Kasse vermutlich ignorieren. "1234567891234" ist 
schon mal deshalb kein gültiger EAN13-Code, weil die Prüfziffer (13. 
Stelle) nicht stimmt. Wenn schon 123... dann sollte es "1234567891231" 
sein.

Auf folgender Seite ganz unten gibt es einen Javascript-Rechner, der dir 
die Prüfziffer aus den ersten 12 Stellen ausrechnet:

http://www.arndt-bruenner.de/mathe/scripts/pruefziffern.htm

Als zweites wäre, wie bereits erwähnt, die Kenntnis des 
Scannerprotokolls wichtig. Das kannst du aber leicht herausfinden, wenn 
du den RS232-Anschluss des Scanners an eine PC-Schnittstelle statt an 
die Kassa ansteckst. Die gesendeten Daten kannst du dann ja in einem 
Terminalprogramm ansehen.
Gast #3284593
Lesenswert?

Danke schon mal für die Infos.

Ich habe heute versucht einen gültigen EAN-Code (1234567891231) zu 
senden. Leider reagiert die Kasse immer noch nicht.

Normalerweiße reagiert die Kasse beim einscannen (Barcodescanner) eines 
neuen EAN-Codes. Man muss dann nur noch an der Kasse den Preis, Name und 
Warengruppe angeben.

Ich denke es scheitert immer noch an dem falschen Scannerprotokoll das 
ich sende. Leider habe ich nur keine Ahnung wie so ein Protokoll 
aussehen soll...
#3284623
Lesenswert?

die meisten Scanner schicken am Ende der gescannten Zeichenfolge noch 
einen Zeilenumbruch (kann man in der Regel am Scanner konfigurieren). 
Häng mal in Access beim Senden eines der Zeichen
- vbCr
- vbLf
- vbNewLine
an den EAN-Code.

Das erst ist das sog. Wagenrücklaufzeichen. Das Zweite der eigentlich 
Zeilenvorschub und das dritte eine Kombination aus beiden. Unter 
Umständen wartet die Kasse auf eines davon. Probier die mal alle drei 
durch.
Gast #3284829
Lesenswert?

Habe Hterm installiert. (Danke für Info)

Danach habe ich das Nullmodenkabel an Com1 und Com2 (gleicher PC) 
angeschlossen.
Mit folgendem Quellcode aus Access bzw. VBA habe ich "1234567891231" + 
vbCrLf gesendet:
1
Private Sub Befehl1_Click()
2

3
Dim MyObject As XMComCRC.XMCommCRC
4
Set MyObject = CreateObject("xmcomcrc.xmcommcrc")
5
MyObject.Settings = "9600,8,n,1"
6
MyObject.Handshaking = comXOnXoff
7
MyObject.CommPort = 1
8
MyObject.PortOpen = True
9
MyObject.RTSEnable = True
10
MyObject.Output = "1234567891231" + vbCrLf
11

12
End Sub

Ergebnis war das ich in Hterm 1234567891231 + "newline" auf Com2 
empfangen konnte.
Also senden aus Access müsste funktionieren!

Da ich heute leider nicht an den Barcodescanner ran komme werde ich erst 
morgen/übermorgen testen können was der Barcodescanner senden.

Aber danke schon mal für eure Hilfe!
Gast #3293840
Lesenswert?

Hi,

habe nun endlich mal messen können.

Habe versucht den Scanner an den PC anzuschließen und was einzuscannen. 
Leider ging dies nicht da der Scanner scheinbar seine Stromversorgung 
durch den Com-Port der Registrierkasse bekommt.


Glücklicherweise konnte ich den Rs232-Stecker an dem Scanner 
abschrauben. Angelötet ist Pin 1, Pin2, Pin 3, Pin 5, Pin 7 und Pin 9.

Ich habe nun mal die Pins an der Registrierkasse mit einem Multimeter 
durchgemessen. Spannung habe ich jeweils gegen Pin 5 (GND?) gemessen.
Ergebnis (Pins an der Registrierkasse):

Pin 1: 0V
Pin 2: 0V
Pin3: -5,5V
Pin 5: GND (?)
Pin 7: -5,5V
Pin 9: +5V


Danach habe ich den Scanner an die Registrierkasse angeschlossen und 
direkt an den Lötverbindungnen des RS232-Stecker gemessen
Ergebnis:

Pin 1: -6V
Pin 2: 5,5V
Pin3: 5,5V
Pin 5: GND (?)
Pin 7: -5,5V
Pin 9: -5V

Mit den Vorzeichen (+ bzw. -) bin ich mir  nicht sicher da ich das 
Gefühl habe manchmal sind die anders.

Glaub ist alle etwas komplizierter als ich mir erhofft habe.

Kann mir jemand helfen oder Tipps geben.

Ziel ist immer noch die EAN-Codes per Rs232 (Nullmodenkabel) von PC zur 
Kasse zu schicken.
Persönliche Seite #3293859
Lesenswert?

Löte dir doch einfach einen 1:1 zwischenstekcer, an dem machst du dir 
einen Abzweig der (von Scannerseite gesehen) TX Leitung und hängst die 
am PC an die RX Leitung (ggf. Widerstand zur Strombegrenzung vorsehen 
falls doch unerwartete Spannungspegel auftreten). Dann kannst du die 
Sache "belauschen" und der Scanner bekommt trotzdem alle 
Daten/Spannungen von der Kasse.

Häufig hilft auch das Handbuch weiter, ggf. ist das gar kein "echtes" 
RS-232 und du brauchst noch einen Adapter in Form eines vorgefertigten 
Bausteins oder eines uC...
Gast #3296374
Lesenswert?

So habe mir heut mal so ein Stecker gebastelt:

Hab an den Pin 2 von Scanner (female-Stecker) ein Kabel gelötet. Die 
andere Seite des Kabels habe ich an Pin 2 eines neuen RS232-Steckers 
(female) gelötet.

Den neuen Stecker habe ich dann in den PC gesteckt.
Leider konnte Hterm nichts empfangen...

Hab ich was falsch gemacht?

Müsste doch passen da Pin 2 (male) doch "Eingang" am PC ist oder?
Gast #3301052
Lesenswert?

Thema noch aktuell.

Bin diese Woche leider nur geschäftlich unterwegs.

Hab mal Firmen angeschrieben und versuche die Anleitung zu bekommen. 
Denk aber mehr als die normale Bedienungsanleitung (da steht nichts 
drin) geben die nicht raus.

PC/hterm erkenn aber glaub auch Spannungen unter +-12V. Dies dürfte 
nicht das Problem sein.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren