Position Fault and Max Position Error
We’ve all been there: Press GO, the cue begins but then stops well before its target and Spikemark is displaying yellow highlights and the cursed Position Fault icon.
Inevitably this happens under intense stares from the artistic team and lots of pressure to “just make it work”. Before you begin looking for a job raising Alpacas or turning off Abort on Position Error, which we do not recommend, what else can be done? Read on to learn what Abort on Position Error means and how Spikemark conjures up the mystical Max Position Error.
Spikemark keeps an eye on the actual position of the machine and compares that to where it should be at any given time through the cued movement. If the actual position error is greater than the Max Position Error value, the movement will be stopped and you will see the Position Fault icon in Spikemark.
Some common reasons you will see the Position Fault in Spikemark:
• A slow speed move with a small Position Lag Time
• Unattainable speed
• If the machine can't go as fast as you are asking it to - it will always be behind.
• Encoder loss
• If the encoder signal is lost (or simply not connected) it will be behind
• Motor/Encoder direction mismatch
• If the FWD command is returning REV counts, Spikemark will see the position error grow and fault out
• Poor motor tuning
• This is a bit more challenging to quantify...

# Max Position Error

Throughout a cue, Spikemark is constantly calculating where a machine is supposed to be, and comparing that number to where the machine is in reality. If that discrepancy becomes larger than the Max Position Error, Spikemark will stop that motor and indicate a Position Error.

# Calculating The Maximum Max Position Error

The MPE is given in scaled position units such as inches or degrees. The maximum allowable Max Position Error (MPE) value is 32,767 raw encoder counts after scaling.
Therefore, if you have a position scale of 10,000 encoder counts per inch, the largest MPE you can input will equal 3.2767” [32,767 raw encoder counts ÷ 10,000 encoder counts/inch = 3.2767 inch]. Below is a table of stock CCI machines and their MPE values as a real world reference:
Machine
Counts/Unit
MPE
Units
Pushstick V2
3145.87
10.42
Inches
Revolver
5585.048
5.87
Degrees
CM Chain Hoist
29520.16239
1.11
Inches
You can set the MPE to be lower than this maximum, but Spikemark wont let you set a value higher. Try for yourself: Try setting the MPE for the Pushstick V2 to be 15", you will notice that it corrects itself to ~10.42". These values can be set and changed under the Advanced tab of the Stagehand Properties pane:

# Position Lag Time

Position Lag is another way to look at the MPE value, but it is calculated dynamically based on the speed of the current movement.
When the cue is loaded Spikemark will calculate the Position Lag Value and compare it to the MPE value, using the smaller value as the MPE for that move.
$Position Lag Value(units) = PositionLagTime(s) * MovementSpeed(units/sec)$
Let's look at a real world example:
Let's say we have a show with a Pushstick V2. From the table above we know the MPE is 10.42" and we have the Position Lag Time set to .5 seconds. If we run a cue with a speed of 30"/s.
The Position Lag Value will equal
$15" = 30"/s * 0.5s$
Since Spikemark will use the smaller value of the Position Lag Value and the inputted MPE, from the MPE field, the loaded MPE will be 10.42"
However, if use the same Pushstick V2 with the same MPE Value and Position Lag time, but a cue with a speed of 12"/s:
The Position Lag Value will equal
$6" = 12"/s * 0.5s$
Since Spikemark will use the smaller value of the Position Lag Value and the inputted MPE, from the MPE field, the loaded MPE will be 6" not 10.42"
Make sense? I hope so. The short answer is that both the inputted Max Position Error and Position Lag Time will effect the actual loaded Max Position Error and will stop a motor if exceeded. On a poorly tuned motor this will most likely cause position faults on the slower cues, while faster cues may complete without issue. If you are experiencing faults at slower speeds you can try the following:
• Auto-tuning(drive level)
• Motor Tuning(Spikemark)
• Increase the Position Lag Time
• Although not the most desirable, you can widen the Position Lag Time until the cues run without faulting

# Abort On Position Error

If this is selected, Spikemark will use the smaller of the numbers as discussed above to stop the motion of a motor when the Max Position Error has been exceeded.
Deselect this and the move will continue, regardless of how far off it may be, until Spikemark receives feedback that the motor is located within the Target Tolerance of the target destination.
If you are having an encoder issue, turning off Abort On Position Error could result in a motor that increases speed until you e-stop the machine. This could be very dangerous.
Turning off Abort On Position Error should only be used for troubleshooting and without scenery attached and with nothing near the machine.
Max Position Error
Calculating The Maximum Max Position Error
Position Lag Time
Abort On Position Error