Modulo-Positionierung
Die Modulo-Positionierung kann bei geschlossenen Linearachsen ebenso wie bei rotatorischen Achsen angewendet werden. In TwinCAT nicht zwischen diesen Typen unterschieden. Auch eine Modulo-Achse hat eine fortlaufende absolute Position im Bereich ±∞. Die Modulo-Position der Achse ist eine zusätzliche Information zur absoluten Achsposition und die Modulo-Positionierung stellt die gewünschte Zielposition auf eine andere Art dar.
Im Gegensatz zur absoluten Positionierung, bei der der Benutzer das Ziel eindeutig vorgibt, wird bei der MC3 Modulo Positionierung die absolute Zielposition aus folgenden Parametern gebildet:
- MC3 Achsparametern:
- Position Modulus
- Position Modulo Tolerance Window
- Tc3_Mc3Ptp.MC_MoveModulo Eingangsparametern
- MC_MoveModulo.Position
- MC_MoveModulo.AdditionalTurns
- MC_MoveModulo.Direction
Achs-Parametrierung
Die Modulo-Unterstützung ist an einer MC3-Achse über den Parameter „Is Modulo Axis“ zu aktivieren. Ist der Parameter gesetzt, so können die weiteren Modulo-Parameter gesetzt werden.

Position Modulus
Der Parameter Position Modulus definiert den Modulo Faktor für die Berechnung von Modulo Umdrehung und Modulo Position.
Position Modulo Tolerance Window
Der Parameter Position Modulo Tolerance Window definiert ein Positionsfenster um die aktuelle Modulo-Sollposition der Achse herum. Das Positionsfenster entspricht dem doppelten angegebenen Wert (Sollposition ± Positionsfenster).
Die Positionierung einer Achse bezieht sich immer auf deren aktuelle Ist-Position. Liegen Ist-Position und Zielposition sehr nah beieinander, kann es passieren, dass unbeabsichtigte Umdrehungen gefahren werden. Z. B. wenn die Ist-Position minimal größer ist als die Zielposition und MC_MoveModulo.Direction= EModuloDirection.PositiveDirection gewählt wurde. Dies kann insbesondere dann auftreten, wenn die Ist-Position ungenau bestimmt wird. Um dies zu vermeiden, kann ein Toleranzfenster für die Modulo Positionierung festgelegt werden. Falls die Entfernung zwischen Start- und Zielposition kleiner oder gleich dem Toleranzfenster ist, so wird die Zielposition auf kürzestem Weg (wie bei MC_ MoveModulo.Direction = EModuloDirection.ShortestDistance), also auch entgegen der angegebenen Richtung, angefahren.

Zyklisches Interface
Die Soll- und Ist-Modulo-Position kann mit ins zyklische Interface aufgenommen werden.


PLC-Programmierung
Die Kommandierung einer MC3-Achse auf eine Modulo-Position erfolgt über den Funktionsbaustein MC_MoveModulo der Tc3_Mc3Ptp-Bibliothek.
MC_MoveModulo.Position
Bei einer Modulo Positionierung darf die Ziel-Position nur kleiner gleich des parametrierten Position Modulus der Achse sein.
MC_MoveModulo.AdditionalTurns
Sollen vor dem Erreichen der Zielposition eine definierte Anzahl an Umdrehungen erfolgen, so sind diese über den Eingang AdditionalTurns vorzugeben.
MC_MoveModulo.Direction
Über den Eingang Direction vom Typ EModuloDirection aus der Tc3_Mc3Ptp Bibliothek wird die Bewegungsrichtung vorgegeben. Die möglichen Werte sind:
ShortestDistancePositiveDirectionNegativeDirection