Skip to main content

Drehgelenke und Modulo-Achsen

Anmerkung

Modulo-Achsen innerhalb von Achsgruppen werden ab SoftMotion 4.12.0.0 unterstützt.

Modulo-Achsen sind nur für Drehgelenke von Kinematiken zulässig. Dies sind Drehgelenke, für die SMKinematicWithInfo.GetAxisProperties den Wert props.eType = Axis_Type.Rotary zurückgibt. Wenn eine Modulo-Achse für ein lineares Gelenk oder für eine Kinematik verwendet wird, die ISMKinematicWithInfo nicht implementiert, gibt MC_GroupEnable den Fehler SMC_MODULO_AXIS_FOR_NON_ROTARY_JOINT zurück. Wenn eine Modulo-Achse verwendet wird und die Kinematik den Bereich eines Drehgelenks begrenzt, gibt MC_GroupEnable den Fehler SMC_MODULO_AXIS_FOR_LIMITED_ROTARY_JOINT zurück.

Modulo-Achsen werden nur unterstützt, wenn die Modulo-Periode 360° beträgt. Der Grund dafür ist, dass Achsen, die mit Drehgelenken verbunden sind, so konfiguriert werden müssen, dass eine technische Einheit [u] einem Winkelgrad [°] entspricht. Eine Periode muss einer vollen Umdrehung entsprechen. Wenn eine Modulo-Achse mit einer anderen Periode als 360° verwendet wird, dann gibt MC_GroupEnable den Fehler SMC_MODULO_AXIS_PERIOD_NOT_360 zurück.

SoftMotion unterstützt ab der Version 4.12.0.0 nur den Modus shortest (MC_DIRECTION). Das bedeutet, dass der Abstand und die Richtung einer Modulo-Achse so gewählt werden, dass sie so nah wie möglich an der Startposition der Achse liegen. Wenn sich zum Beispiel die Orientierungsachse zu Beginn der Bewegung bei a2 = 30° und an der Zielposition bei a2 = 290° befindet, dann wird die Position a2 = 290° - 360° = -70° gewählt und die Achse bewegt sich um 100° in negativer Richtung, anstatt sich um 260° in positiver Richtung zu bewegen.