Step 7 S7-300 mit Barcodescanner programmieren

Alex95

Level-1
Beiträge
4
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
ich bin ganz neu dabei und muss für mein Praktikum einen Barcodescanner programmieren.
Erstmal die allgemeinen Daten:
Scanner: Honeywell Modell 1900 mit RS 232C eine CP 340 habe ich und ist auch schon auf ASCII eingestellt. Meine CPU ist CPU 315-2 PN/DP
Mir ist klar dass ich mit dem FB "P_RECV" die Daten einlesen muss aber wenn ich scanne passiert nichts.
Ich freue mich über jede Antwort und Hilfe!
Danke!
 
Hallo,

ich würde als erstes mal die Einstellungen für die serielle Schnittstelle am CP340 und am Scanner überprüfen. Insbesondere die Baud-Rate. Der CP340 kann, soweit ich mich erinnern kann, im ASCII-Mode nur 9600 Baud. Der Scanner ist wahrscheinlich auf 19200 Baud eingestellt (so wars zumindest bei meinem letzten Scanner, obwohl im Handbuch 9600 als default angegeben war).
 
Komme leider trotzdem nicht weiter! Die Einstellungen müssten eigentlich passen, bei der CP 340 leuchtet auch RxD auf wenn ich scanne. Glaube es liegt wahrscheinlich eher an meinem Programm. Bin dort wirklich blutiger Anfänger deswegen bin ich auch ziemlich ideenlos. Freue mich über jeden Tipp!
 
Hier mal ein älterer Baustein von mir als Quelle.
Der Baustein ist in AWL geschrieben und für dich als Orientierung gedacht.
Die Behandlung des Scanstrings ist nicht gerade eine meiner Sternstunden, ich greife da aus dem Fb auf den DB zu.
Mit einer "Aufdröselung" der Stringadresse wäre das sicher eleganter gewesen, aber es sollte schnell gehen, funktionieren und damals hatte ich da nicht so den Plan von dieser Sache, :)
Außerdem hat der RCV-Baustein ja eine direkte Schnittstelle (DB-Nr, DBB-Nr) das ist dann etwas umständlich zu handeln.
Aber immerhin, der Baustein tut es seit Jahren klaglos.
In ihm werden immer 2 Scannereignisse ausgewertet und die Ergebnisse auf die Outschnittstelle des FB gelegt.
Der RCV-Baustein ist bei mir FB7, das mußt du entsprechend im Code austauschen.

Wichtig für den CP340, du muß einstellen, Endeerkennung: "Nach Ablauf der Zeichenverzugszeit", ca. 20ms
 

Anhänge

  • FB30_Scannen.AWL.txt
    8,3 KB · Aufrufe: 141
Zuviel Werbung?
-> Hier kostenlos registrieren
Hier noch der Aufruf des FB30:

Code:
      CALL  "FB_Scannen" , "IDB_Scannen"
       LADDR           :=480
       Rcv_DBNO        :=31
       Rcv_Start_DBB_NO:=68
       Rcv_LEN         :=254
       Scan_String     :="Scannen".ScanString
       Ack             :="M1.7 ACK"
       Reset           :="M3.1 IM FLP Reset"
       Auftrag_Nummer  :="Scannen".Auftragnummer
       Teile_Nummer    :="Scannen".Teilenummer
       Data_Timeout    :=#Scan_Timeout
       Scan_Start      :="Scannen".Scan_Start
       Scan1_fertig    :="Scannen".Scan_Zeile1_fertig
       Scan2_fertig    :="Scannen".Scan_Zeile2_fertig
"Scannen".Scanstring ist ein String in DB31. Er beginnt bei Adresse 66.
Achtung, RCV-Start_DBB_No ist immer die Startadresse von "Scannen".ScanString + 2 !!!
 
Zurück
Oben