# Motion-Control S120 Absolutwertgeber aber Moduloachse



## NBerger (30 September 2017)

Hallo...,
Hab da ein Problemchen mit ein paar Antrieben.

Hardware CPU 1517F; Antrieb Driveclick mit Absolutwertgeber; Ansteuerung über Motion-Control.
Alle Software auf dem letzten Stand.

Drei Antriebe sind Rundachsen , Getriebe ist 7:1 mit Modulo (360°), die Geber sind Absolutwertgeber (Multiturn).

Die Achsposition stelle ich über die Absolutwertgeberjustage ein (Home mit Mode 7).
Die Achsen werden relativ und absolut verfahren. Die Taktung ist 90° bzw 360°

Durch die Modulofunktion steht der Achsenistwert nach Hauptschalter-EIN auf einem falschen Wert. (Getriebe 1:7 und Modulo)

Gibt es eine Möglichkeit dieses Verhalten zu korrigieren?


----------



## gravieren (30 September 2017)

Hi

Vorweg mit einer 1517F  noch nix gemacht.

F --> Failsave   ?
T --> Technologie ?

Motion-Control  --> TO-Objekt  ?
Hast du eine CU  ?


Meine Frage:
Du stellst den Antrieb so ein, dass alle 7 Motorumdrehungen   360°  hast  ?
Also bei 14 Umdrehungen werden normalerweise 720° angezeigt  ?
Von diesem bildest du einen Modulo  360°  ?


Sollte doch hinhauen oder wo liegt das Problem ?


Gruß Karl


----------



## NBerger (30 September 2017)

Hi,
F ist eine Safety-CPU... hier aber eher uninteressant

Ansteuerung erfolgt über die Motion-Control Funktionen.
CU ist eine CU320PN FW4.8

Solange die Steuerung ein ist, ist alles iO.
Modulo ist eingestellt  im Technologieobjekt auf: Startwert: -135° Modulolänge: 360° ( also -135° bis 224.999°)

Zur Veranschaulichung:
Eine Achse ist eine Exenter-Schere: Ein Schnitt = 360° ,die Achse steht dann wieder in Ausgangsstellung (offen). Der Start muss aber bei 0° erfolgen da sonnst die Mechanik nicht nach kommt. (Schnitt < 130ms)

Problem scheint mir das Modulo in Verbindung mit dem Absolutwertgeber und dem Getriebe 7:1 zu sein.
Habe auch schon die Multiturnauflösung von 4096 auf 7 gestellt, ohne Erfolg.

Nach NETZ-EIN ist die Achsistposition in 6 von 7 Fällen falsch! Sie ist verschoben um (0bis6 * 360/7) Grad. 

Der eingestellte Geberoffset wird scheinbar durch die Modulofunktion nicht korrigiert/nachgeführt.
Hoffe man kann das Problem nachvollziehen.


----------



## gravieren (30 September 2017)

Hi

Nochmals zum Verständnis für mich:

Du kannst von 0 bis 359,9999 °  fahren.  ( 1 x Rundachsumdrehung )   ?
Der Motor dreht sich dabei 7 mal und der Istwert zeigt  0 . . .  359,999  an ? 
Danach beginnt der Istwert nach der 359,9999  bei 0.0  anzuzeigen  ?

Das geht solange du den Hauptschalter eingeschaltet lässt  ?


----------



## gravieren (30 September 2017)

Hi

VOR dem Ausschalten:
Aktuell kannst du ja den Istwert der Rundachse abfragen  ?
Dieser stimmt IMMER überein mit der Rundachsposition ?

Lasse die Achse mal auf 180°  positionieren.
Frage den aktuellen Istwert ab.
Dieser sollte 180° sein.
Hauptschalter aus/ein.
Welchen Istwert hast du nun.   (Es darf KEINE Referenzfahrt notwendig sein. Deshalb auch nicht angefahren werden !)


----------



## gravieren (1 Oktober 2017)

Hi

Geber ist am Motor oder Rundachse   ?


----------



## NBerger (1 Oktober 2017)

Geber ist am Motor,

Achse ist nach dem Einschalten referenziert (iO da Absolutwertgeber)

Ja die Achsenistposition stimmt solange die Anlage nicht abgeschaltet wird.

Meine Vermutung ist, daß der Wert vom Geber mit jeder Umdrehung weiter hochgezählt wird. (Ganz normal für eine "normale" lineare Achse)
Durch die Modulo-Funktion wird nun aber alle 7 Umdrehungen der Achsenistwert auf Moduloanfang zurückgesetzt! Die hinterlegte Geberverschiebung (Absolutgeberjustage) kriegt dies aber nicht mit.

Beim Einschalten der Anlage wird dann wohl der Istwert aus dem Geberwert und der Geberverschiebung ermittelt und dann die Modulokorrektur durchgeführt.
Das könnte sogar richtig funktionieren wenn der Geber bei der Justage in der ersten Umdrehung ist. (In meinem Fall Inrement 0-2047 da der Geber eine Auflösung vorn 2048 inkrementen besitzt)

Kann bzw. muss ich die von der Geberjustage ermittelte Geberverschiebung korrigieren und auf die erste Motorumdrehung zurückrechnen?
Darf ich dann die Geberjustage nur innerhalb einer Motorumdrehung um den Modulonullpunkt zulassen?


----------



## zako (1 Oktober 2017)

Was hast Du im TIA Portal projektiertiert?

- Steht Gebertyp auf "zyklisch absolut"

- Passen die Geberdaten :  Hast Du das Häkchen für "Automatische Übernahme der Geberwerte im Gerät" gesetzt - auch für "Datenaustausch Antrieb" (oder hast Du die Schnittstelle "händisch" projektiert)

- Hast Du Werte im Antrieb geändert? Dann würde ich die auch wieder ändern (P418 = 11; P419 = 9);

Du kannst ja mal ein paar Screenshots hier reinstellen. Oder gleich der SIEMENS Hotline das Projekt zukommen lassen.


----------



## NBerger (2 Oktober 2017)

"zyklisch absolut" ist das nicht single-turn ?

die Gebereinstellung im Antrieb kommen vom Drive-Click!

...
scheint mir hier etwas sinnlos zu sein
Sorry...


----------



## zako (2 Oktober 2017)

Schau mal die Doku an - Seite 43, 44:
https://support.industry.siemens.com/cs/ww/de/view/109481326

Absoluter Istwert mit der Einstellung zyklisch absolut (Messbereich < Verfahrbereich)

Der Geber liefert innerhalb seines Messbereichs einen absoluten Wert. Die Steuerung zählt

die durchlaufenen Messbereiche mit und ermittelt so auch über den Messbereich hinaus die

korrekte Achsposition.

Beim Ausschalten der Steuerung werden die durchlaufenen Messbereiche im remanenten

Speicherbereich der Steuerung gespeichert.

Beim nächsten Einschalten werden die gespeicherten Überläufe in der Berechnung des

Lageistwerts berücksichtigt.

ACHTUNG

Bewegungen der Achse bei ausgeschalteter Steuerung können den Istwert verfälschen

Wenn bei ausgeschalteter Steuerung die Achse bzw. der Geber um mehr als den halben

Gebermessbereich bewegt wird, dann stimmt der Istwert in der Steuerung nicht mehr mit

der mechanischen Achsstellung überein.


----------



## NBerger (2 Oktober 2017)

na sag ich doch - Single-turn...

hilft aber nicht.


----------



## zako (2 Oktober 2017)

... wieso Singleturn?
Konntest Du es schon ausprobieren?


----------



## NBerger (2 Oktober 2017)

Also gut...
Singleturn: Absolutwertgeber der nach einer Umdrehung wieder mit 0 beginnt!

Ist der Bewegungsbereich größer als eine Geberumdrehung ist die Position nicht eindeutig definiert.
Jetzt hat Siemens im Motion eine Krücke mit der man einen Multiturn-Geber emulieren kann indem die Umrehungen in der SPS nachgeführt und die Position entsprechend korrigiert wird.
Funktioniert aber nicht wenn bei ausgeschalteter Steuerung der Geber um mehr als eine halbe Umdrehung bewegt wird.

Moderne Multiturngeber können auch bei abgeschalteter Geberversorgung die Umdrehungen mitzählen. Hierzu reicht die durch die Bewegung erzeugte Energie aus um die "interne"-Geberelektronik zu versorgen.
(Ist also (immer) die bessere Wahl)

Die Umstellung auf Zyklisch-Absolut bringt also garnichts, solange man sich innerhalb der Multiturnauflösung befindet. (Üblicherweise 4096 Umdrehungen).
Habe es trotzdem schon versucht...

Hatte heute die Möglichkeit etwas an der Anlage zu spielen:
Es scheint so,(noch nicht ausreichend bestätigt) dass... 

Wird nach der Geberjustage das Technologieobjekt "reinitialisiert" bzw. die Steuerspannung aus und wieder Eingeschaltet, OHNE das der Motor zuvor bewegt wird, scheint alles iO zu sein.


----------



## gravieren (2 Oktober 2017)

Singleturn.

Referenznocke am Drehtisch könnte helfen  ?

Bei der Referenznocke die Gebernullmarke zum Referenzieren nehmen  ?


----------



## NBerger (3 Oktober 2017)

und wozu hab ich dann nen Absolutwertgeber?


----------



## zako (3 Oktober 2017)

Falls Du einen Multiturngeber hast, dann solltest Du aber auch mit zyklisch absolut arbeiten und die 4096 als Multiturn nutzen.
Ich wuerde die Parametrierung mal von der Hotline überprüfen lassen.


----------



## zako (5 Oktober 2017)

Habe es heute mal ausprobieren können. Habe einen Motor mit 4096 Multiturn. Dort habe ich ein Getriebe von "Anzahl Motorumdrehungen = 7"; "Anzahl Lastumdrehungen = 1"; Modulo 360°; Modulostartwert -135°.
Habe für den Geber "zyklisch absolut" parametriert und die Absolutwertgeberjustage erfolgt über MC_HOME über Mode = 7.

Das hat bei mir alles super funktioniert. Bin dann nach den Justieren auch mal über 5000 Motorumdrehungen verfahren und habe nach Power OFF/ON den korrekten Wert erhalten. Ebenso habe ich mal im ausgeschalteten Zustand den Motor um 3,5 Umdrehungen verdreht und habe nach Power OFF/ON entsprechend einen um 180° versetzten Wert erhalten.
Hat also alles gut ausgesehen. Eine Rückfallsstrategie wäre für Dich z.B. der Einfachpositionierer direkt im Antrieb gewesen - der kann das auch.

Bist Du mittlerweile weitergekommen?


----------



## NBerger (8 Oktober 2017)

Dann muß ich wohl doch den Weg über den Siemens Support gehen...


----------



## gravieren (8 Oktober 2017)

Kann dir/wir leider nicht helfen, das Problem einzukreisen   !

Du solltest meine Fragen   #4 und #5    beantworten   !


----------

