English | 🠦 Deutsch |
Although the rotary table with the object NexeedRotTableDrive reaches the target nest position a position error occurs:
When we increased the settling time parameter of the object the error occured less and less:
The customer has ordered our coaching support so we were able to check the problem in detail.
The position range in the object was ok and had only a little effect:
So finally we started a scope measurement and then it was quite obviously:
The IndraDrive had to be optimized with IndraWorks. In this case especially the jerk settings were bad.
Now everything runs fine without settling time.
The condition for "in position" of NexeedRotTableDrive V2.3.6.0:
_modResult := MOD(_axisPos, _nestDistance);
OutImm.InPos :=
( ( _modResult < _parCfg.InPosRange ) OR
( ABS(_modResult - _nestDistance) <= _parCfg.InPosRange ) ) AND
( _axis.OutImm.AxisInReference ) AND
( _axis.OutImm.StandStill );
Deutsch | 🠦 English |
Obwohl der Drehtisch mit dem Objekt NexeedRotTableDrive die Zielnestposition erreicht, tritt ein Positionsfehler auf:
Mit steigender SettlingTime, tritt der Fehler immer seltener auf:
Der Kunde hat unseren Coaching-Support bestellt, so dass wir das Problem im Detail überprüfen konnten.
Der Positionsbereich im Objekt war ok und hatte nur einen geringen Effekt:
Gleiches gilt für das Stillstandsfenster im IndraDrive:
Also haben wir schlussendlich eine Scope-Messung gestartet und dann war es ganz offensichtlich:
Der IndraDrive musste mit IndraWorks optimiert werden. In diesem Fall waren vor allem die Ruckeinstellungen schlecht.
Jetzt läuft alles gut, ohne die SettelingTime zu anpassen zu müssen.Die Bedingung für "in Position" von NexeedRotTableDrive V2.3.6.0:
_modResult := MOD(_axisPos, _nestDistance);
OutImm.InPos :=
( ( _modResult < _parCfg.InPosRange ) OR
( ABS(_modResult - _nestDistance) <= _parCfg.InPosRange ) ) AND
( _axis.OutImm.AxisInReference ) AND
( _axis.OutImm.StandStill );