Defining the Valid 16-bit Position Range
For general scaling information, see the Scaling Overview topic.
Because the RMC uses 16-bit positions, positions must all fit within a range of 65,536 position units. Because position units are user definable, this range does not limit most applications. See the section below on defining position units.
For SSI axes, the Offset parameter is used with the Scale parameter to define the position range. If the Scale parameter is negative, then the position range extends from the Offset value minus 65535 up to the Offset value. If the Scale parameter is non-negative, then the position range extends from the Offset value up to the Offset value plus 65535. The following chart summarizes this concept:
Scale |
Min. Position |
Max. Position |
< 0 |
Offset - 65535 |
Offset |
³ 0 |
Offset |
Offset + 65535 |
However, because the Offset is also used to convert transducer counts to position units, it cannot be set independently.
Translating to Position Units
Before the translation from counts to position units begins, the Count Offset SSI configuration setting is applied to the counts. This means that the value of the Count Offset is subtracted from the Counts before they are displayed or processed in any way. For a full discussion on the use of the Count Offset setting, see SSI Configuration.
The Scale, Offset, and the Prescale Divisor bits of the Configuration word parameters are used to define position units as a function of transducer counts. Below is shown an example SSI and the effect of the Scale, Offset, Extend and Retract Limits:
The following formula summarizes the translation from transducer counts to Actual Position units:
As described above, the Counts field has already had the Count Offset configuration setting subtracted from it before using this formula. If the Actual Position overflows the valid 16-bit position range, as described above, the Position Overflow bit will turn on, forcing the axis to halt.
Notice that the Scale can hold values from -32768 to 32768, but 16-bit signed numbers are limited to -32768 to 32767. Therefore, enter a scale of 32768 as 0; the RMC will interpret it as 32768.
There are two main ways to calculate the Scale, Offset, and Prescale Divisor bits. Each method is described below. Notice that both have automatic Calibration Utilities built into RMCWin. It is recommended that one of these utilities is used, but the underlying math is described below.
Method 1: P0/P1 Calculation
The simplest way is to physically measure the axis’s position at two points and read how many counts the RMC reports at each position. If we call the two positions, in user position units, P0 and P1, and call the corresponding counts C0 and C1, the following two equations will give a Scale and Offset. Notice that the Prescale Divisor is left out at this point; it is assumed to be 1:
Once the Scale is calculated, the Prescale Divisor can be calculated. The Prescale Divisor can have values of 1, 2, 4, or 8. Because the Scale is always divided by the Prescale Divisor, you essentially have a fractional scale. Pick the largest Prescale Divisor you can multiply the Scale by and still be between 32767 and 32767. For example, suppose your Scale comes to 6324.70. The following table shows the possible Scales and Prescale Divisors you could use and the effective scale:
Scale |
Divisor |
Effective Scale |
Error from 6324.70 |
6325 |
1 |
6325/1 = 6325 |
0.005% |
12649 |
2 |
12649/2 = 6324.5 |
0.003% |
25299 |
4 |
25299/4 = 6324.75 |
0.0008% |
50598 |
8 |
Invalid scale |
Invalid |
Therefore, in this example, a Scale of 25299 and a Prescale Divisor of 4 should be used.
These calculations can be done automatically using the Position Scale/Offset Calibration Utility feature in RMCWin.
Method 2: Using the Transducer Resolution
The Scale can also be calculated mathematically using the SSI transducer’s reported resolution. The following formula does this. Notice that the Prescale Divisor is left out at this point; it is calculated after the initial Scale value has been calculated, as described in Method 1:
Scale = Resolution x Position Units/Resolution Unit x 32768 x Sign
In the above formula, Sign equals +1 when an extend move yields increasing Actual Position counts, and -1 when an extend move yields decreasing Actual Position counts. Position Units are generally 0.001 inches or 0.1 mm. The transducer resolution is often given in mm or µm.
Once the Scale and Prescale Divisor have been calculated, the Offset can be calculated:
These calculations are done automatically using the SSI Scale/Offset Calibration Utility feature in RMCWin.
Example 1
A system has an MDT with an SSI interface that has a resolution of 5 microns. The user wishes to have positions in thousandths of an inch. At the desired 0 position, the MDT produces 3221 counts.
We first calculate the exact Scale:
With the exact Scale value, we must choose the Prescale Divisor and the rounded Scale value. The highest divisor value we can use is 4; multiplying the scale by 8 would overflow the Scale limits of ±32767. Therefore we have the following parameters:
Scale = 25802
Prescale Divisor = 4
Next, we must calculate the offset:
Example 2
A system has an MDT with an SSI interface that has a resolution of 2 microns. The user wishes to have positions in hundredths of a millimeter. At the desired 0 position, the MDT produces 8273 counts.
We first calculate the exact Scale:
With the exact Scale value, we must choose the Prescale Divisor and the rounded Scale value. The highest divisor value we can use is 4; multiplying the scale by 8 would overflow the Scale limits of ±32767. Therefore we have the following parameters:
Scale = 26214
Prescale Divisor = 4
Next, we must calculate the offset:
Copyright (c) 1997-2015 by Delta Computer Systems, Inc.