Modulo Position

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 (AXIS#.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.

In the image below the settings ensure AXIS#.PL.FB will always be 0-360 degrees.

Button or Box

Description

Modulo Position

Enables or disables modulo (AXIS#.PL.MODPEN

Modulo Range Begin/End

Sets the beginning and end of the modulo range (AXIS#.PL.MODP1, AXIS#.PL.MODP2)

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. (AXIS#.PL.MODPDIR)

Position Feedback

Reads and displays the position feedback (AXIS#.PL.FB )

Setting up the modulo axis from the Terminal

You can use the following parameters to configure the modulo-axis feature:

  • AXIS#.PL.MODPEN: Enables or disables the modulo-axis feature.
  • AXIS#.PL.MODP1: Defines either the beginning or the end of the modulo range, depending on whether this value is smaller or larger than AXIS#.PL.MODP2.
  • AXIS#.PL.MODP2: Defines either the beginning or the end of the modulo range, depending on whether this value is smaller or larger than AXIS#.PL.MODP1 .

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, a fieldbus, or the software oscilloscope.

  • AXIS#.PL.FB : The actual position of the drive is converted into modulo scaling.
  • AXIS#.PL.CMD: The command position of the drive is converted into modulo scaling.
  • CAP#.P: The actual position of the drive, which has been captured by the capture engine, is converted into modulo scaling.

  • Feedback device position (FB#.P) will remain unaffected by the modulo settings.

Drive functions affected by modulo axis

Software limit switch

The software limit switches in the drive compare the actual position (AXIS#.PL.FB ) with threshold values. Motion is stopped when the actual position exceeds the software limits. Since AXIS#.PL.FB is affected by the modulo-axis feature, the software limit switches monitor the modulo-converted AXIS#.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 (AXIS#.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 AXIS#.PL.FB value. Programmable limit switches that are set outside the modulo-range never become active.

Action Table Position Feedback Source

The action table position feedback source uses the modulo-converted position AXIS#.PL.FB . Values outside the range of the modulo-range will not become active.

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, Faults and Warning Messages (Motion task target position is out of modulo range).

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.

After powerup of the drive, the actual position (AXIS#.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.

Example

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.

Example

The modulo-converted position, which represents five feedback revolutions, does not correspond to the modulo-position, which represents one feedback revolution.