Modulo position is a function that simplifies rotational applications such as unidirectional rotating assembly tables. When enabled, the modulo axis feature converts several position-based parameters to fit in a defined modulo range. Once this range is defined, a given position value will roll over at the end of the modulo range and return to the beginning of the modulo range. This behavior affects some drive functions, which work with modulo-scaled position variables when the modulo-feature is enabled.
The following figure describes the progress of the actual position value (PL.FB) for linear scaling and modulo scaling when the motor moves continuously in a positive direction:
Setting up the modulo axis in WorkBench
You can set up the modulo axis from the Modulo view in WorkBench.
Button or Box
Enables or disables modulo (PL.MODPEN
Modulo Range Begin/End
Direction for Absolute Motion Task
Sets the direction of an Absolute Motion task when Modulo is enabled. The direction can be set to always positive, or always move negative. The "Shortest Distance" mode will determine the shortest distance to the target and move in that direction. The "inside range" mode will move in the direction that allows the motor to stay in between the defined scale and therefore not to wrap around. Shortest Distance is more commonly used than Inside Range mode. (PL.MODPDIR)
Reads and displays the position feedback (PL.FB )
Setting up the modulo axis from the Terminal
You can use the following parameters to configure the modulo-axis feature:
- PL.MODPEN: Enables or disables the modulo-axis feature.
- PL.MODP1 : Defines either the beginning or the end of the modulo range, depending on the PL.MODP2 setting.
- PL.MODP2 : Defines either the beginning or the end of the modulo range, depending on the PL.MODP1 setting.
Parameters affected by the modulo axis
The following parameters are converted into modulo format when the values of these parameters are queried by a user,
- PL.FB : The actual position of the drive is converted into modulo scaling.
- PL.CMD : The command position of the drive is converted into modulo scaling.
- CAP0.PLFB (CAP0.PLFB, CAP1.PLFB ): The actual position of the drive, which has been captured by the capture engine 0, is converted into modulo scaling.
- CAP1.PLFB (CAP0.PLFB, CAP1.PLFB ): The actual position of the drive, which has been captured by the capture-engine 1, is converted into modulo scaling.
Drive functions affected by modulo axis
Software limit switch
The software limit switches in the drive compare the actual position (PL.FB ) with threshold values. Motion is stopped when the actual position exceeds the software limits. Since PL.FB is affected by the modulo-axis feature, the software limit switches monitor the modulo-converted PL.FB value. Software limit switches with thresholds outside of the modulo range never limit motion.
Programmable limit switch
The programmable limit switches compare the actual position (PL.FB ) with selectable thresholds and then status flags are set to "true" when the actual position is currently within these position limits. The programmable limit switches monitor the modulo-converted PL.FB value. Programmable limit switches that are set outside the modulo-range never become active.
Digital output Modes 5 and 6
The digital output modes 5 and 6 (position greater than x, position less than x) compare the actual position of the drive with thresholds and activate the associated outputs when PL.FB is lower or higher than the threshold. The digital output mode functionality monitors the modulo-converted PL.FB value. Position thresholds that are set outside the modulo range continuously activate or deactivate the digital output.
Motion tasking to absolute target positions
When modulo is enabled, absolute motion tasks assume that the command is modulo converted. Absolute motion tasks to target positions outside of the modulo range generate a warning, nFault and Warning Messages (Motion task target position is out of modulo range).
Analog input in position mode
When modulo is enabled, the analog position input value is converted to a position value within the current modulo range. When the position is changed by the analog input signal, the drive always moves the shortest distance to the new position.
Using the modulo position feature with multiturn encoders
A special case exists for the following combinations of events:
- The drive is connected to a multiturn feedback device.
- The modulo axis feature is enabled.
- The selected modulo range does not fit as an integer in the range of the multiturn feedback.
- The application moves further than the total amount of multiturn feedback revolutions. In this case, problems occur because the multiturn feedback position overrun and a modulo range position rollover point does not occur at exactly the same position.
- If FB1.EXTENDEDMULTITURN = 1, absolute position can be restored even if modulo position is enabled.
After powerup of the drive, the actual position (PL.FB ) will be read from the multiturn feedback device. This position can be considered as a position within the feedback range as described in the figures below.
The following figure illustrates drive behavior when the selected modulo range fits as an integer within the multiturn feedback range. For simplicity, assume that one multiturn feedback range describes four feedback revolutions and the selected modulo range is set to two feedback revolutions.
As described in the figure above, the selected modulo range of the drive is repeated exactly at the point where the connected multiturn feedback rolls over (Modulo range 1, 3, 5…). The application can move for several multiturn feedback ranges and the drive can recalculate the modulo position correctly after a power cycle. The positions within the modulo ranges represent the same value in modulo format for each feedback range.
The modulo-converted position, which represents 5 or 9 feedback revolutions, corresponds to the modulo position, which represents 1 feedback revolution.
The next figure illustrates the drive behavior when the selected modulo range does not fit as an integer within the multiturn feedback range. For simplicity, assume that one multiturn feedback range describes four feedback revolutions and the selected modulo range is set to 2.5 feedback revolutions.
As described in the figure above, the selected modulo range is not repeated exactly at the place where the connected multiturn feedback rolls over. The application can move for several multiturn feedback ranges, but the drive cannot calculate the modulo position correctly after a power cycle.
The modulo-converted position, which represents five feedback revolutions, does not correspond to the modulo-position, which represents one feedback revolution.