Forum: Platinen Siplace Feeder - Kommunikationsprotokoll / Praxiserfahrung / Software


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Alexander W. (alexander_w)


Lesenswert?

Hallo zusammen,

ich versuche Informationen über die Siplace S-Serie-Feeder zu finden, 
insbesondere:

- Infos zum Kommunikationsprotokoll
- Die Handhabung in der Praxis (z.B. automatische Identifikation der 
Feeder, Anordnung auf dem BE-Wechseltisch, Kalibrierung)
- Software für "Siplace S-Feeder Checking Device" 03071323-01

Öffentliche Ressourcen (siehe folgende Links) bis hin zu Firmware-Dumps 
und partieller Disassembly verschiedener Feeder-Firmwares habe ich schon 
konsultiert, aber ein vollständiges Bild ergibt sich daraus leider 
nicht:

- Video 3x8-Feeder: https://www.youtube.com/watch?v=_snAjJtib24
- Bilder verschiedener feeder: 
https://imgur.com/gallery/siemens-siplace-feeders-with-openpnp-pick-place-machine-Lg7P8L1
- Allgemeine Diskussion zu den Feedern: 
https://groups.google.com/g/openpnp/c/xOUfz1hjlAE
- USB-Controller für die Feeder: 
https://github.com/bilsef/SchultzController

Hat jemand hier Erfahrung mit den Dingern, oder Zugriff auf 
entsprechende Ressourcen (Manuals, Software) bzw. vielleicht sogar 
Kontakte in Richtung der originalen "Schultz-Feeder"-Entwickler?

Wir möchten die Feeder auf einer selbst gebauten Maschine einsetzen und 
den Support in OpenPnP weiter ausbauen.

Viele Grüße
Alex

: Bearbeitet durch User
von Jens M. (schuchkleisser)


Lesenswert?

Oh, das finde ich interessant.
Ich arbeite mit den Dingern auf einer D1-Linie (vorher auf S und F), 
aber über das Komm-Protokoll kann ich nix sagen. In der Googlegruppe 
scheint das aber jemand schon dekodiert zu haben? Die alten Feeder aus 
der F und A-Ära tun es problemlos auf einer D, das ist die letzte 
Generation mit S-Feedern, sollte also protokollarisch identisch sein.

Alexander W. schrieb:
> Die Handhabung in der Praxis (z.B. automatische Identifikation der
> Feeder, Anordnung auf dem BE-Wechseltisch, Kalibrierung)

ID gibt's keine, evtl. kann man die Seriennummer abfragen oder so, aber 
die Maschine schert sich nicht drum wenn man einen falschen hinstellt, 
selbst in und mit der Rüstkontrolle.
Zumal ja z.B. 12/16er Feeder umbaubar sind zwischen 12mm-Gurt und 16mm, 
aber das sind 1-2 Teile die man umklappt, da gibt's keine Konfiguration 
oder sowas. Da könnte die Maschine nichts unterscheiden selbst wenn sie 
könnte und täte.

Anordnung ist frei, die stellt man einfach hin und gut. Das die 
Anordnung der Rüstung entspricht ist Menschenaufgabe, die Kiste 
versuchts einfach, vielleicht geht's. Ausnahme: wenn man sehr kleine 
Teile einsetzt (afaik 0402 und kleiner) wird die Feedermarke vermessen, 
das geht natürlich nur wenn der richtige Typ da steht wo er soll.

Kalibrierung kenn ich nicht, wenn die einmal vernünftig eingestellt 
sind, ab und an gesäubert werden und nicht runterfallen gehen die 
jahrelang problemlos.

Die melden Fehler auch am Display selbst, plus Meldung über die 
Maschine, die Maschine kann die Schrittweite einstellen und man kann die 
via Tasten programmieren.
Ansonsten sind die Dinger recht doof.

: Bearbeitet durch User
von Gebhard R. (Firma: Raich Gerätebau & Entwicklung) (geb)


Lesenswert?

Alexander W. schrieb:
> Hallo zusammen,
>
> ich versuche Informationen über die Siplace S-Serie-Feeder zu finden,
> insbesondere:
>
> - Infos zum Kommunikationsprotokoll
> - Die Handhabung in der Praxis (z.B. automatische Identifikation der
> Feeder, Anordnung auf dem BE-Wechseltisch, Kalibrierung)
> - Software für "Siplace S-Feeder Checking Device" 03071323-01

Ich arbeite seit 20 Jahren mit diesen Feedern auf 2 Stk. Siplace F3, die 
Feeder haben keine Intelligenz, bekommen nur Impulse zur Förderung, das 
war's.

Grüsse

von Alexander W. (alexander_w)



Lesenswert?

Moin,

@Jens: Danke für die Infos. Das Protokoll ist teilweise dekodiert, mich 
interessiert halt wie das Protokoll "nominal" genutzt werden soll, nicht 
nur, welche Bits laut Beobachtung was machen.

Das mit der Rüstkontrolle ist sehr interessant, ich dachte, dass die 
Maschinen da schlauer sein würden.

Unsere Idee mit der ID ist einfach, dass man die Feeder in einen 
beliebigen Slot packt, und die Maschine weiß anhand der Feeder-ID und 
einer Datenbank, welches Bauteil im Feeder drin ist und welche 
Pick-Offsets verwendet werden sollen.

Die Feeder, die wir da haben, werden wir auch nach und nach überholen, 
die Servicemanuals liegen uns vor - haben wir mal irgendwo im Internet 
gefunden.

@Gebhard: Unsere Feeder haben ne 8051-MCU, ältere haben wohl mit reinen 
Pulsen gearbeitet. Kalibrierung ist für mich vor allem Einstellung der 
Pick Up-Position, über das kleine mit Klemmring montierte Zahnrad.

--

Vielleicht bekommen wir bald noch detailliertere Informationen zum 
Protokoll, ich hab da nen Lead. Kann das wahrscheinlich nicht 1:1 
veröffentlichen, aber vielleicht ein paar Auszüge.

Weiß jemand noch, wie das mit der Nummerierung der Spuren funktioniert? 
Pro "Pin" auf der Maschine gibt es ja 6 Spuren, wie funktioniert es, 
wenn man einen Feeder auf Spur 1 oder Spur 7 (...) packen möchte, wird 
an der linken Kante des Feeders gezählt? Die tatsächlichen Spuren 
(gerade bei 2x8 und 3x8) korrespondieren dann ja nicht sauber mit der 
Nummerierung, wie wird hier gezählt?

Viele Grüße
Alex

: Bearbeitet durch User
von Chris S. (schris)


Lesenswert?

Die Feeder haben einen 4byte ID wenn ich mich richtig erinnere welche 
man schreiben und lesen kann und welche von der Firmware nicht verwendet 
wird. Dank dieser kann dann der Feeder in ein Slot eingesteckt werden 
und dann weiss die Bestückungssoftware dass der Feeder an jenem 
Feederplatz verfügbar ist.

von Alexander W. (alexander_w)


Lesenswert?

@Chris: Kommt die Info aus dem OpenPnP-nahen Umfeld (SchultzController 
und Co.) oder hast du da noch eine andere Quelle?

Ich hab mich halt gefragt, ob diese ID wirklich eine ID ist, oder 
einfach nur ein Feld im EEPROM, das eigentlich für was anderes gedacht 
ist, aber ohne praktische Konsequenz überschrieben werden kann.

von Chris S. (schris)


Lesenswert?

Ja die info kommt von openpnp Reverse engerning. Habe aber auch andere 
Info dafür. Früher gab es mal ein VB Feeder calib/Test Programm in VB 
geschrieben, 16bit. Auch dort wird dieselbe ID als Feeder ID angezeigt.

von Jens M. (schuchkleisser)


Lesenswert?

Alexander W. schrieb:
> dass man die Feeder in einen
> beliebigen Slot packt, und die Maschine weiß anhand der Feeder-ID und
> einer Datenbank

Das würd ich lassen. Orignal kann man bei Problemen einfach einen 
Reservefeeder umrüsten oder sogar einen vorgerüsteten austauschen, zack 
der Kram tut wieder.
Aber wie gesagt, ob die Dinger überhaupt schlau genug sind eine 
Seriennummer kundzutun weiß ich nicht.

Alexander W. schrieb:
> Die Feeder, die wir da haben, werden wir auch nach und nach überholen

Jagutäh, das sind die Zweispurer, die sind ja noch älter....
Aber wie gesagt, selbst die tun ewig, bis auf abgebrochene oder 
abgerissene Teile, aber das meiste kann man einfach so tauschen.
Die PuP einzustellen ist Fummelkram, aber das ist normal einmal gemacht 
und dann passt das bis 2032.

Alexander W. schrieb:
> Unsere Feeder haben ne 8051-MCU, ältere haben wohl mit reinen
> Pulsen gearbeitet.

Alle S-Feeder mit dem runden 7-poligen Stecker kommunizieren, wenn auch 
nur recht einfach.
Ohne ein entsprechendes Tischgerät geht da nix. Es gibt allerdings 
diverse Firmwareversionen, die m.W. auch teilweise andere 
Hardware(-funktionen) haben, aber prinzipiell sind die alle gleich. Da 
geht's um die Einstellbarkeit der Steps und welche angeboten werden, ob 
das Display da ist und ob es irgendwann ausgeht. Maschinenseitig sind 
die alle gleich.

Alexander W. schrieb:
> wie funktioniert es,
> wenn man einen Feeder auf Spur 1 oder Spur 7 (...) packen möchte, wird
> an der linken Kante des Feeders gezählt?

Linke Gurtkante

Alexander W. schrieb:
> Die tatsächlichen Spuren
> (gerade bei 2x8 und 3x8) korrespondieren dann ja nicht sauber mit der
> Nummerierung, wie wird hier gezählt?

Die Tischspuren sind Feederplätze, die Feederspuren zählen extra (und 
bei Wafflepacks auch noch Tray...). Jeder Feeder hat zur Identifizierung 
diese 3 Zahlen: Tischplatz, Spur und Ebene. Bei den meisten Feedern ist 
Spur und Ebene fest 1, der 2x8 oder 3x8 hat dann Spur 1-2/3, ein WPC hat 
28x Spur 1 aber Ebene 1-28.

Das mit der dämlichen 6er-Zählung ist von gaaaanz früher ein 
Überbleibsel, hat mit den Bauteilspuren aktuell nichts mehr zu tun.
Bei den 24/32er gibt's ja auch 2 Stellmöglichkeiten, da wirds ganz 
schräg.

Chris S. schrieb:
> Dank dieser kann dann der Feeder in ein Slot eingesteckt werden
> und dann weiss die Bestückungssoftware dass der Feeder an jenem
> Feederplatz verfügbar ist.

Das nutzt aber keine Maschine für S-Feeder aus, auch nicht mit 
Rüstkontrolle, zumindest keine mir bekannte, originale Siemens/ASM.
Da muss man tatsächlich die am Deckel angebrachten Barcodes für die 
belegte Spur scannen, da nicht mal der Feedertyp erkannt werden kann.
Da die Nummer beschreibbar ist vermute ich eine (vielleicht auch nur 
geplante) offizielle Verwendung als firmeninterne Inventarnummer.
Aber alle mir bekannten Systeme zur Feederinventarisierung nutzen 
Barcodes, die man auf die Maschine oder das Fach pappt, weil weder ASM 
noch die Feeder selbst entsprechendes können. Der Rüster schießt also 
den (der Software bekannten, vorher entsprechend zugewiesenen) 
Feedercode und dann den der Rolle ab und die Rüstkontrollsoftware kann 
sagen "Passt" oder "du Depp musst das nochmal umbauen".
Der Maschine ist das völlig egal, so lange sie ein Bauteil aus der 
Tasche ziehen kann und die Kamera nicht motzt.

Passiert gern bei den großen Feedern, da muss ja der Stecker in den 
Platz der der zugewiesenen "Spur" entspricht. Die Maschine holt fleißig 
das erste Teil ab und meckert dann das die Tasche leer sei... Weil der 
Feeder nicht weitertaktet weil er im falschen Stecker steckt. Mancher 
Bediener schaut dann rein, taktet manuell und sagt "k.A. was da los ist, 
klappt doch. Step stimmt, Gurt klemmt nicht, was weiß ich". Klappe zu, 
play drücken, eins wird bestückt, nächste Position gleicher Fehler: Kein 
Bauteil an der Pipette.
Bis man da drauf kommt das der Stecker einfach im gewohnten Slot direkt 
unter dem Feeder steckt aber eins weiter links rein müsste kann es 
dauern...

: Bearbeitet durch User
von Chris S. (schris)


Lesenswert?

War Mal vorgesehen, aber da einige Feeder unterschiedlich Protokoll 
fahren geht die Vorgehensweise nur bedingt, sprich wenn man nur eine 
Protokollversion hat.
Ansonsten Barcode/Marker auf Feeder und Kamerafahrt registriert alle 
Feeder im Eilgang.

von Alexander W. (alexander_w)


Lesenswert?

Moin zusammen,

@Jens: Spannende Infos, vielen Dank dafür!

hier noch mal ein Update:

Wir haben inzwischen einen ganzen Haufen an Infos zu den Feedern, 
offizielle und weniger offizielle.

Verstanden ist, dass 2x8 und alle anderen (3x8, 12/16, 24-88, ...) zwei 
verschiedenen "Generationen" angehören. Für beide sind wir gerade dabei, 
systematisch das Protokoll zu analysieren und aus allen Infos, die wir 
so haben, eine Protokollbeschreibung auszuarbeiten. Das läuft bisher gut 
und wir werden wohl ein für praktische Nutzung hinreichend vollständiges 
Bild bekommen.

Den https://github.com/bilsef/SchultzController werden wir in dem Zuge 
deutlich upgraden, so dass dieser mit allen Feedern umgehen kann und 
eine klarere API erhält.

Das schließt dann auch Anpassungen in OpenPnP ein, wo z.B. ein separater 
Fiducial-Offset eingeführt wird. Bisher ist Slot-Position = 
Fiducial-Position, das Prinzip funktioniert aber nicht, wenn man 2x8 und 
3x8 gemischt verwendet.

Der Offset bemisst sich von der Nominalposition des Slots und wird zu 
der Feeder-ID gespeichert (oder ist abhängig vom Typ fest). So können 
2x8 und 3x8 beide eingemessen werden, obwohl es unterschiedliche 
Fiducial-Positionen gibt.

Wir gehen davon aus, dass alle Feeder eine ID haben können und möchten 
darüber eine Rüstkontrolle / "pack den Feeder in einen beliebigen Slot 
und die Maschine findet ihn" realisieren. Für die Feeder, die man in 
zwei Positionen platzieren kann, würden wir als Luxusfeature vielleicht 
noch einen aufgeklebten Marker in Verbindung mit der Kamera verwenden, 
um hier die Position zu ermitteln.

Auch das Thema mit Slots und Spuren und der Nummerierung haben wir für 
uns gelöst, nachdem wir uns von der 6-fach-Nummerierung maximal 
verwirren lassen haben.

Sobald wir einen ersten Release-Stand haben, schreibe ich noch mal ein 
Update und verlinke unser aktualisiertes Repository!

Viele Grüße
Alex

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
Noch kein Account? Hier anmelden.