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.