TIA Barcodescanner über HMI mit SPS kommunizieren? // HMI TP700 Comfort & Siemens 1212C

FlixFlax5

Level-1
Beiträge
11
Reaktionspunkte
1
Zuviel Werbung?
-> Hier kostenlos registrieren
Hey liebe Community, ich brauche dringend eure Hilfe.

Ich habe als Projekt eine Erneuerung einer Annahmestelle eines Förderbandes. Dort steht zurzeit ein Windows PC mit einem Access Programm, welcher mit einer Waschanlage und Barcodescanner verknüpft ist. Meine Aufgabe ist es diesen PC durch eine SPS zu ersetzen.

Hier soll jedoch weiterhin ein Barcodescanner verwendet werden. Es sind fünf Waschprogramme auf Barcodes hinterlegt, welcher ein Mitarbeiter scannt, wenn er ein Produkt waschen will. Dies soll mit meiner neuen SPS verarbeitet werden, auf einem HMI angezeigt und über eine RS232 Schnittstelle der Waschanlage weitergeleitet werden, welche dann auch das Förderband startet. Die Kommunikation über die RS232 Schnittstelle habe ich soweit programmiert (noch nicht getestet), jedoch hänge ich nun bei dem Barcodescanner fest.
Man findet hier leider absoult gar nichts, nur das ich einen ASCII Scanner benötige und über die USB-Schnittstelle des HMI verbinde.

Wie lasse ich diesen jedoch mit der SPS kommunizieren? Damit diese weiß es soll z.B. Waschprogramm eins gefahren werden und dann über die RS232 Schnittstelle der Waschanlage weitergeleitet werden.

Barcode --> Scanner über HMI --> SPS --> RS232 Schnittstelle --> Waschanlage/Förderband

HMI TP700 Comfort / Siemens 1212C

Würde mich über viele und zeitnahe Antworten freuen. :)

Gruß Felix
 
Moin FlixFlax5,

den Barcodeleser nicht am HMI, sondern an der SPS anbinden. Ich würde einen Profinet-Barcodeleser empfehlen. Sieh Dich mal bei Sick oder Leuze um.

Was sind Deine Codevorgaben? Was für Preisvorgaben? Barcodeleser stationär oder mobil?

VG

MFreiberger
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hey Freiberger,

dies hatte ich auch überlegt, nur erste Recherchen hatten ergeben das ich über HMI angeblich am einfachsten wäre. Daher wurde der Barcodescanner schon bestellt. Naja Codervorgaben ist ASCII, nur dies kann die SPS verarbeiten laut Datenblatt. Erstmal keine Preisvorgabe, muss ich dann mit unserem Einkauf absprechen. Der Barcodeleser soll mobil sein.

Grüße Felix
 
Moin FlixFlax5,

ein Problem mit der Anbindung des Barcodelesers ist, dass zum Codeeinlesen die Seite/das E/A-Feld immer aufgerufen/im Fokus sein muss, um den Code einzulesen. Dazu muss der Barcodeleser mit Tastaturtreiber ausgerüstet sein (ist bei mobilen Geräten aber meistens so). Das E/A-Feld kann man natürlich mit einer Variablen belegen (was man logischerweise auch macht) und die Variable kann man in der SPS auslesen.
Die SPS kann eigentlich alle möglichen Daten verarbeiten. Der Barcodeleser sendet aber häufig ASCII-Zeichen. Was Du in der Steuerung damit machst ist Deine Sache.

Wieso wurde der Barcodescanner bestellt, bevor Du weißt, wie Du mit ihm kommunizierst?

VG

MFreiberger
 
Das HMI-Panel wird nur eine Seite haben, daher ist es doch möglich das E/A-Feld immer im Fokus zu haben oder? Ja dies ist bei meinem Barcodescanner ebenfalls der Fall. Ja genau, aber wie verknüpfe ich denn ein eingelesenen Barcode mit einer Variablen, dazu find ich nichts?

Aufgrund von Zeitmangel und empfehlung der Siemens Internetseite, einen Barcodescanner über ein HMI zu verbinden.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Moin FlixFlax5,

naja... im HMI einfach eine Variable ans E/A-feld anbinden?!
Variable müsste vom Typ string oder wstring sein. Im Programm kannst Du dann meinetwegen daraus ein Array[0..n] of char machen.

VG

MFreiberger
 
Ja genau, aber wie verknüpfe ich denn ein eingelesenen Barcode mit einer Variablen, dazu find ich nichts?
Du legst in der SPS in einem DB eine Variable "strBarcode_Scanner" vom Typ String oder WString an.
Dann ziehst du diese Variable in eine Variablentabelle in der HMI-Projektierung oder noch besser auch gleich auf dein gewünschtes Fenster und läßt sie "fallen" nun hat du die Variable gleich in der HMI. Aufbassen, dass das EA-Feld, das erzeugt wird vom Typ ein-/Ausgabe ist, aber das ist evtl. Standardmäßig so. Dann alles übersetzen und übertragen.
Wenn du im HMI auf diesem Feld stehst, dann scannen.
Was ich nciht weiß, ob du auch noch enter drücken oder dass feld verlassen mußt um den Wert in die Variable zu bekommen. Das kannst du ausprobieren, indem du die Varaiable in dem DB in der SPS beobachtest.
 
Moin FlixFlax5,

naja... im HMI einfach eine Variable ans E/A-feld anbinden?!
Variable müsste vom Typ string oder wstring sein. Im Programm kannst Du dann meinetwegen daraus ein Array[0..n] of char machen.

VG

MFreiberger

Du legst in der SPS in einem DB eine Variable "strBarcode_Scanner" vom Typ String oder WString an.
Dann ziehst du diese Variable in eine Variablentabelle in der HMI-Projektierung oder noch besser auch gleich auf dein gewünschtes Fenster und läßt sie "fallen" nun hat du die Variable gleich in der HMI. Aufbassen, dass das EA-Feld, das erzeugt wird vom Typ ein-/Ausgabe ist, aber das ist evtl. Standardmäßig so. Dann alles übersetzen und übertragen.
Wenn du im HMI auf diesem Feld stehst, dann scannen.
Was ich nciht weiß, ob du auch noch enter drücken oder dass feld verlassen mußt um den Wert in die Variable zu bekommen. Das kannst du ausprobieren, indem du die Varaiable in dem DB in der SPS beobachtest.

Erstmal danke für beide guten Antworten, hat geklappt mit dem reinziehen und habe nun ein E/A Feld in meiner HMI. Nur muss ich mehrere Variablen verknüpfen aufgrund mehrere Waschprogramme? Oder wie kann nun programmieren das bei einem Scan das richtige Programm ausgewählt wird?

Tut mir leid für die Fragen, aber ich bin leider kein TIA Programmierer und hatte in meiner Ausbildung nur die absoluten Grundlagen. Würde mich freuen wenn Ihr mir ein bisschen helfen könnt. :)
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Moin FlixFlax5,

ich will Dir nicht zu nahe treten, aber entspricht die Aufgabenstellung Deinem Programmierstand?

Also,
- wie lange hast Du Zeit diese Aufgabe zu lösen?
- wie viel Waschprogramme hast Du und wie sind diese abgelegt (Rezeptur im Panel, Datenbaustein auf der CPU,...)
- Sollen die einzelnen Waschprogramme editierbar sein?
- Achtung - wenn mehrere Bilder auf dem HMI nötig sind, kann es dazu kommen, dass die "ScanEingabeseite" nicht zum Zeitpunkt des Scans zur Verfügung steht.

Um mit dem Scan das richtige Waschprogramm auswählen zu können, müssen die Barcodes Werte liefern, die ein Waschprogramm eindeutig identifizieren. Im einfachsten Fall eine Nummer (1-5 oder so). Die Nummer liegt dann wahrscheinlich in ASCII vor. Das kann man zwar auch vergleichen, aber angenehmer ist es, die ASCII-Nummer erst einmal in einen Integerwert zu wandeln. Vielleicht liegt aber auch ein Text vor, der das Waschprogramm angibt ('standard', 'top Glanz', 'Hochglanz',...). Dann solltest Du eine Tabelle mit den Texten anlegen und den Scan mit der Tabelle vergleichen. Die Texttabelle sollte durchnummeriert sein, dann kann wieder mit Integerwerten gearbeitet werden.

Du siehst, es sind noch ein paar Informationen nötig, um zu helfen.

VG

MFreiberger
 
Nein entspricht sie nicht, jedoch bin ich sehr interessiert daran dies zu schaffen und will einiges dabei lernen, daher habe ich dieses Projekt angenommen.

1. Ich habe Zeit bis Ende des Jahres, kann jedoch nicht durchgängig an dem Projekt arbeiten.
2. Insgesamt 5. Waschprogramme. Laut Waschanlagen Hersteller auf einer Datenliste.
3. Nein, diese sind festgelegt auf der Steuerung der Waschanlage. Meine SPS soll der Steuerung nur mitteilen, welches Programm gefahren werden soll.
4. Nein ich habe nur ein Grundbild.

Dies wollte ich so machen, die Barcodes kann man sich ja im Internet erstellen. Dies konnte ich noch nicht herausfinden, da sich die Herstellerfirma im Moment nicht meldet. Bis jetzt habe ich die RS232 Kommunikation mit SEND_PTP Bausteinen gelöst, welche auf einen Datenbaustein zugreifen und einen jewiligen Text enthalten, was dann über die Schnittstelle zu Anlage geht.
 
Moin FlixFlax5,

ich will Dir nicht zu nahe treten, aber entspricht die Aufgabenstellung Deinem Programmierstand?

Also,
- wie lange hast Du Zeit diese Aufgabe zu lösen?
- wie viel Waschprogramme hast Du und wie sind diese abgelegt (Rezeptur im Panel, Datenbaustein auf der CPU,...)
- Sollen die einzelnen Waschprogramme editierbar sein?
- Achtung - wenn mehrere Bilder auf dem HMI nötig sind, kann es dazu kommen, dass die "ScanEingabeseite" nicht zum Zeitpunkt des Scans zur Verfügung steht.

Um mit dem Scan das richtige Waschprogramm auswählen zu können, müssen die Barcodes Werte liefern, die ein Waschprogramm eindeutig identifizieren. Im einfachsten Fall eine Nummer (1-5 oder so). Die Nummer liegt dann wahrscheinlich in ASCII vor. Das kann man zwar auch vergleichen, aber angenehmer ist es, die ASCII-Nummer erst einmal in einen Integerwert zu wandeln. Vielleicht liegt aber auch ein Text vor, der das Waschprogramm angibt ('standard', 'top Glanz', 'Hochglanz',...). Dann solltest Du eine Tabelle mit den Texten anlegen und den Scan mit der Tabelle vergleichen. Die Texttabelle sollte durchnummeriert sein, dann kann wieder mit Integerwerten gearbeitet werden.

Du siehst, es sind noch ein paar Informationen nötig, um zu helfen.

VG

MFreiberger

Danke für die vielen Antworten (;
Habe alles hinbekommen, auch ohne die Hilfe.
War mein Programmierstand wohl doch auf dem richtigen Level.
 
Zurück
Oben