S210 Antreib Absolutposition des Motors (Welle) nach referenzieren ermitteln

NBerger

Level-3
Beiträge
1.735
Reaktionspunkte
538
Zuviel Werbung?
-> Hier kostenlos registrieren
Folgende Problematik:
gegeben: Antrieb S210 mit SingleTurn Geber, CPU 1517xx , TIA 19/20, Motion-Control IRT mit 0,5ms Servotakt

Es wird ein Band (formschlüssig mittels Zahnrad) transportiert. In regelmäßigen Abständen wird die Achse referenziert (Istwertverschiebung)

Die Bearbeitung des Bandes erfolgt während dem Transport. Die Bearbeitung ist zwingend von der exakten Position abhängig.

Leider ergeben sich nach einiger Zeit Verschiebungen durch das Refernzieren. (Es wird immer um eine ganze Zahnteilung verschoben)

Frage: Komme ich irgendwie, nach dem refernzieren der Achse, an die absolute Position des Motors/Gebers und somit der Motorwelle damit ich die "Drift" ausgleichen kann?
 
Fortlaufendes Referenzieren ergibt für mich nur Sinn, wenn die Genauigkeit dadurch verbessert wird.

Du willst jetzt die referenzierte Position nochmal (gegen eine weitere Referenz?) prüfen/korrigieren.
Versteh ich richtig?
Das Problem entsteht ja dadurch, dass Produkt auf dem Band ist, während der Referenzierung. Speicher doch fortlaufend die Istposition weg, dann solltest Du am Refpunkt die Differenz haben.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
OK, und ich hab schon versucht so genau wie möglich zu sein, mist.

Das Band ist das Produkt. Die produzierte Länge je Teil, mal grob 12m. Zahnteilung 1-3mm. Das Band wird später in kürzere Stücke geschnitten.

Das Referenzieren ist notwendig damit an gleichen Positionswerten bearbeitet werden kann und mir die Genauigket nicht flöten geht (Lreal mit 12 Dezimalstellen)

Derzeit verschiebe ich die Position um jeweils eine ganze Zahnteilung. Eigendlich sollte da nichts passieren, tuts aber trotzdem...

Fazit: Die Verschiebung des Masssystems ist zwingend notwendig.

Es ist auch nicht so das nach einer Verschiebung der Fehler spürbar ist, nach mehreren Hundert aber schon.

Daher der Ansatz die Wellenposition durch den Geber zu bestimmen und damit die "Refernzfehler" ausgleichen zu können.
 
... Leider ergeben sich nach einiger Zeit Verschiebungen durch das Refernzieren. (Es wird immer um eine ganze Zahnteilung verschoben) ...
... "Drift" ...
... Es ist auch nicht so das nach einer Verschiebung der Fehler spürbar ist, nach mehreren Hundert aber schon. ...
Wie hast Du das Über- bzw. UntersetzungsVerhältnis abgespeichert?
Bitte Zähler und Nenner voneinander getrennt als GanzZahlen (INT oder DINT) speichern! Keinesfalls den Quotienten vorab ausrechnen und als GleitKommaZahl (REAL oder LREAL) abspeichern!
Jeweils aktuell ausrechnen und zuletzt den Quotienten als GleitKommaZahl bilden, falls überhaupt nötig.
 
Antrieb hat kein Getriebe.
Die Vorschubkonstante ist ganzzahlig auf die Zähnezahl eingestellt.

Und ja, es macht einen Unterschied welche Zähnezahl verbaut ist. (Ist ein Wechselteil)

In erster Näherung kann man sagen: Ungeradige Zähnezahlen driften schneller.
Bei einem 2048'er Geber kommt es bei ganzzahligen Verhältnis Geber/Zähnezahl zu keinem Drift.

Klar sind da irgendwelche Rundungsfehler verandwortlich. Das hilft aber alles nicht's. Diese Zähnezahlen gibt's trotzdem.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
... Antrieb hat kein Getriebe. ...
Normalerweise wird bei langsamem Fahren referenziert, um möglichst genaue und reproduzierbare Ergebnisse zu erhalten.
Das scheint hier nicht möglich zu sein. Warum überhaupt mehrfach referenzieren?
Wäre es evtl. hilfreich, statt zu referenzieren, die diversen Differenzen zu speichern und später einen MittelWert der Differenzen zu berechnen?
 
Hier bestehen scheinbar noch einige Irrtümer...

Die Achse steht während dem Referenzieren/Istwertverschiebung.

Das refernzieren ist zwingend notwendig!

Dies ist keine Achse mit definierter Länge! Hier wird endlos, also immer weiter, in eine Richtung transportiert!

Im Übrigen habe ich doch eine klare Frage gestellt, oder?
Ich benötige hier keine Philosophie über das Konzept meiner Anlage, auch keine Belehrung darüber wann und wo oder wie zu referenzieren ist.

Nochmal zur Frage:
Frage: Komme ich irgendwie, nach dem refernzieren der Achse, an die absolute Position des Motors/Gebers und somit der Motorwelle damit ich die "Drift" ausgleichen kann?

Gibt es diese Möglichkeit? Kennt sich hier jemand mit sowas aus, oder hat ähnliches schon gemacht?

Und bitte bleibt sachlich! :sneaky:
 
Im Prinzip willst du quasi im Stillstand zwischen den Produktzyklen referenzieren ? Um dann den neuen Zyklus wieder mit einem Nullpunkt zu beginnen ?

Oder verliest sich mein Schmerzmittelverzerrter Körper da irgendwo ?

Gruss,
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Gibt es diese Möglichkeit? Kennt sich hier jemand mit sowas aus, oder hat ähnliches schon gemacht?

Vorausgesetzt ich verstehe dich richtig, kommt es zu einem Versatz zwischen "Nullposition" des Bands und dem Referenzpunkt des Antriebs bestimmt durch den Referenzpunkt des Motorgebers. Wir hatten ähnliche Anwendungen mit SEW. Bedingt durch Verschleiß, unterschiedliche mechanische Spannung und sonstige Einflüsse (Umschreibung für keiner weiß warum) kam es zu undefinierbaren Unterschieden.
Eine Lösung war: Referenzieren nicht auf den Motorgeber, sondern auf eine Marke direkt auf dem Band. Verwendet wurde ein Wenglor Druckmarkensensor. Eine andere Lösung war Referezieren direkt mit dem Werkstück. Hier wurde eine Laserlichtschranke verwendet.
 
Im Prinzip willst du quasi im Stillstand zwischen den Produktzyklen referenzieren ? Um dann den neuen Zyklus wieder mit einem Nullpunkt zu beginnen ?

Oder verliest sich mein Schmerzmittelverzerrter Körper da irgendwo ?
Ja das passt so.

@Blockmove:
Wichtig beim Referenzieren (und es ist eine Istpositionsverschiebung) der Zahn im Eingriff.
Die Zähnezahl kann je nach Artikel sich unterscheiden.
Auch Startet das Produkt auf Zahn X und Endet auf Zahn Y.

Ist aber auch alles egal..., gibt es eine Möglichkeit an die Absolute Position der Motorwelle zu kommen über den SingleTurn Motorgeber des S210???
 
Dann referenziere den Antrieb vorm Start und löse dann erst eine absolutpositionierung aus.

Hat den Nebeneffekt du kannst auch unkompliziert bei Unterbrechung weiterfahren.

Nach dem „schnitt“ einfach wieder ein mc_home und dann wieder weiter ??

Mit einer Marke und fliegendem referenzierten geht das auch, dann bräuchtest du aber für ein anderes ritzel andere offsets zur Marke ?

Gruß,
Nekron
 
Zuviel Werbung?
-> Hier kostenlos registrieren
@NBerger
Jetzt ist mir deine Anwendung (wahrscheinlich) klar.
Du setzt wahrscheinlich einfach den Referenzpunkt auf die aktuelle Istposition. Das funktioniert wirklich nicht auf Dauer. Bedingt durch Geberauflösung, Rundungsfehler, Teilungsverhältnis und ähnliche Dinge verlierst du mit der Zeit die Zuordnung zu der Zahnposition.
Ich weiß nicht, ob du mit deiner Hardware auf eine feste Geberposition referenzieren kannst. Wir haben bei einer ähnlichen Anwendung einen I-Geber verwendet. Damit kannst du auf den Nullimpuls referenzieren und hast so immer die gleiche mechanische Position.
 
Genau da liegen die Probleme. Die Bearbeitung erfolgt ab dem ersten Zahn, ein "aktives" Referenzieren kann nicht erfolgen. Ich kann die Achse nicht ohne Bearbeitung bewegen, ein ggf. Zurückfahren geht auch nicht.

Bisher war es so das 2-3 mal pro Schicht die Position manuell korrigiert wurde. Ist dann aber vom Mitarbeiter abhängig ob und wann er eingreift.
Jetzt soll dies "prozesssicher" gemacht werden. Alternativ muss dann halt mittels Messtechnik, optisch, die Positionsverschiebung gemessen werden. Ist halt extrem Kostenintensiv und bei den Geschwindigkeiten wieder mehr als grenzwertig.

Werde wohl noch 2 Wochen abwarten müssen und dann bei Siemens direkt nachfragen. Der Geberwert muß doch irgendwie erreichbar sein.
 
Hat das Band auch Zähne in der das Ritzel greift? Dann darf aber auch nichts weglaufen. Dann wäre es eher eine Definitionssache.
Wenn Du z.b. ein Zahnrad mit 17 Zähnen hast, dann definiere die Spindelsteigung z.B. mit 17mm.
Wenn Dein Band jetzt um z.B. 4000 Zähne vorpositioniert werden soll, dann gibst Du einen Positionssollwert von 4000mm an. Dann würde auch nichts weglaufen.
 
Zuletzt bearbeitet:
Ja Zähne greifen in das strukturierte Band, der Schlupt ist absolut NULL !

Bei einem Zahnrad mit 67 Zähnen steht die Vorschubkonstante auf 67. Das Problem, glaube ich, kommt vom ungeraden Teilungsverhältnis Geber/Vorschbkonstante. also z.B. 2048/67 = 30,567164179104477611940298507463 (Windows Rechner)

Das Refernzieren, Also die Istwertverschiebung erfolgt immer in Ganzen Zähnen also: 204673,0154673893 - 204673 = 0,0154673893
Soweit zumindest die Theorie. Beim Umrechnen in Geberinkremente wird es dann zu den "Verlusten"/Ungenauigkeiten kommen.

Wenn Dein Band jetzt um z.B. 4000 Zähne vorpositioniert werden soll, dann gibst Du einen Positionssollwert von 4000mm an. Dann würde auch nichts weglaufen.
Das Massystem stimmt schon, das ist nicht das Problem. Das beim Refernzieren es zu einem "Positionsfehler" kommt der sich aufsummiert ist das Drama.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Also nochmal, Du hast kein Getriebe und ein Zahnrad mit 67 Zähnen. Fährst Du immer relativ, oder absolut?
Wenn Du immer eine ganzzahlige Sollposition zum absoluten Positionieren vorgibst, kann da auch nichts weglaufen. Warum nochmal referenzieren? Du hast doch gar keinen Schlupf, oder?
 
Zuletzt bearbeitet:
- absolut
- Sollposition kann irgendwas sein, ist aber auch egal (meine/glaube ich...)
- Weglaufen, nicht durch die Positionierung, sondern durchs refernzieren. (Ist schon ne kleine Denksportaufgabe, meine ich...)
Der "Fehler" passiert halt bei der Istwertverschiebung (Aus dem Beispiel oben bei LReal (12 Stellen Genauigkeit) 0,0000000000004477611940298507463 * Verschiebung wenn ich das richtig deute. Ist nicht viel summiert sich aber auf.
 
Zurück
Oben