English
🠦 Deutsch
Symptoms
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:
But due to a critical cycle time this was no solution.
Diagnosis
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:
The same applies for the standstill window in the IndraDrive:
So finally we started a scope measurement and then it was quite obviously:
Solution
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
Symptome
Obwohl der Drehtisch mit dem Objekt NexeedRotTableDrive die Zielnestposition erreicht, tritt ein Positionsfehler auf:
Mit steigender SettlingTime, tritt der Fehler immer seltener auf:
Doch diese Lösung ist nicht pratikabel, da sie die Zykluszeit negativ beeinflusst.
Diagnose
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:
Lösung
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 );
... View more