XL2CL
4.74.1
6/1/2021

In the Windows Simulation Die Accelerators would sometimes have dips in command voltage or report Drive Not Responding errors. This was tracked down to a simulation only issue.

In the windows simulation the press operations were being logged to the console window to make watching the simulation easier. These debug prints were sometimes causing the press task not to run and generate new Set-points but the timer interrupts, encoder simulation and Loop still did run. This caused a dip in the command signal as the Loop tried to follow the instantaneous stop in the Set-points and then a Drive Not Responding when the Set-points instantly started again.

The Die Test would run a maximum of 9999 cycles before stopping.

9999 cycles is usually enough but during some testing we want to leave it running longer.

The issue was that the Die Test was keeping track of parts that it filled into the queue. It would only fill 9999 parts, which is what the hidden Die Test, test part is programmed to. No production is tracked against this part, keeping track of how many items for this part were filled into the queue was not necessary.

SCN 3575 and SCN 4426 provide history and context for this change.

With the "Lag on Die Return" set to NO there have been disturbances in the command signal (Analog) when switching the Lag ON and OFF.

The command signal is made up of proportional, integral, Lag and Feed Forward components. If any of those components are suddenly removed or added, they will cause a disturbance (Jump) in the signal. When the Lag is turned ON or OFF during the Die Cycle, this is what happens. These disturbances are especially bad if they result in a jump in the opposite direction than the signal is already trending.

The solution is to switch the Lag ON and OFF when the Lag and Feed Forward components are as close to zero as possible and when any necessary jump will be in the same direction as the signal is already trending.

The motion profile (Set-point) code knows when it wants the Lag to switch ON and OFF. The Loop code knows when it is safest to do the switch. The Loop code will now delay the switch until the best time to do so.

When switching the Lag ON, the Loop will wait until the Filtered Set-point velocity is at or above zero.

When switching the Lag OFF the Loop will wait until the sum of the Acceleration Feed Forward and the Lag are less than 0.5% of Maximum Analog. This point in time happens during the deceleration of the die before it comes to a stop. The Set-point code now requests the switch at the start of the deceleration ramp.