I found a few things:
- The soft limit is actually handled in steps, with the range 2^31-1; -(2^31-1)
- the maximum in units is then (2^31-1) divided by "steps per".
(2^31-1 is 2147'483'647, or for simplicity 2147'000'000 a bit less.)
My example:
- 80'000 steps per revolution of 360 degrees (40:1 gear)
- 222.2222222 "steps per", steps per degree
- maximum soft limit is +9'663'676.412;-9'663'676.412, respectively +9'663'676;-9'663'676 , respectively +9'661'500; -9'661'500.
- maximum limit in revolutions is 26'843 revolutions of 360 degrees in the positive or negative direction. Respectively 26837 revolutions.
(The latter values are from the above mentioned 2147'000'000 maximum steps.)
Notes:
- Mach3 does its positioning in steps in signed 32-bit values. The DRO positions are calculated on the fly from the steps and "steps per". We see this, when we change "steps per" in the motor tuning.
- When values are entered as soft limits, higher than those calculated from 2^31-1, they make overflow into negative or arbitrary values, which is not always noticed by Mach3.
- I do not yet know what is the required precision of fractional "steps by" values. Obviously Mach3 truncates them to 10 digits.
- Of course these large values are only a problem with rotational axes (because they can rotate many times, far in steps), not with linear ones (that have limited travel in steps).