XL2OL
4.88.5
12/19/2022

When the Dual Line Encoder option is enabled our recomendaion is to run on the Entry(2) encoder until tailout before switching to the Exit(1) encoder. To encourage our recomendation the default setting for Main Encoder has been changed to Entry(2).

When the Dual Encoder option is used the Part Queue targets are calculated using the resolution of the Main Encoder. If the Main Encoder changes, the Part Queue targets are no longer valid.

The software has been changed to Clear the Queue and display an error message indicating that the Part Queue has been cleared when the Main Encoder setting has been changed.

After a memory clear, during powerup, setup parameters receive default values. Calculations are made in some settings that rely on calculations made in other settings. If any of those calculations involve division, protections must be made to prevent divide by zero errors.

The top three lines window does a lot of periodic low priority functions. One of those functions is to update a persistent footage totalizer. The Footage totalizer is stored in feet, which requires conversion from counts, which requires division, which requires a constant that gets calculated after a memory clear on power-up.

There is a bit of timing involved as to which thing happens first, the calculations for the constant or the calculations that require the constant. It is unclear how this problem has not shown up until now, at least ten years since the footage totalizer was added.

The software has been modified to delay the footage totalizer calculations until they can be safely performed.

SCN 4533 added an error message to prevent long runs of uncorrected parts when Hole Correction is enabled. This feature needs some enhancements to handle negative targets or scrap pieces added during Queue Initialization.

This test also may need additional considerations added when operating in Synchronous vs. Asynchronous Hole Correction Mode.

This change attempts to handle the Scrap pieces that are added while operating in Synchronous mode. It is not intended to handle all potential issues with this test. It is being made to help a field tech who is on site at a customer. Further evaluation will be required.

In Synchronous mode, Shear Targets flagged as Scrap Pieces will not be tested for Missing Hole Correction.

Certain software needs to be disabled during the Powerup sequence. Clearing memory is part of the Powerup sequence. There is a flag that is active during powerup that is used to disable software. Clearing memory involves a certain amount of initialization after the memory has been cleared. Some of that initialization code runs both during and after powerup and uses the powerup flag to disable portions of it.

The bug that is being fixed here is that the Memory Clear also cleared out the powerup flag, allowing software that was intended to be disabled, to run. In the specific instance that led to this discovery it caused the 0x8006095B task error. However, it is unpredictable what other sorts of errors this could or has been causing.

When the Dual Line Encoder option is enabled and the Tail Out Configuration is set to Single encoder, the Main encoder is supposed to be used all the time. Setting the Main Encoder to Exit(1) would not work, only the Entry (2) encoder was being used. This was resolved.

Some other changes were made related to tailing out and tailing in, based on which encoder is being used.

When the Main Encoder is set to Entry (2):

  1. Tail out is immediate.
  2. Thread up uses the Shear to Encoder Distance 2 to set the encoder
  3. Tail out uses the Shear to Encoder Distance 2 to calculate scrap.

When the Main Encoder is set to Exit (1)

  1. Tail out is delayed until the Shear Tail out Distance.
  2. Thread up uses the Shear Tail out Distance to set the encoder.
  1. Tail out uses the Shear Tail out Distance to calculate scrap.

A 0xC0000000 task error is caused by a divide by zero attempt. The Dual Line Encoder option can Auto Correct the Auxiliary Encoder. If the Auxiliary Encoder is not getting counts, a divide by zero error can occur.

This has been resolved. Auto correction of the Auxiliary encoder is prevented unless both encoders have encoder counts greater than zero.

Setting the Tail Out Configuration to Single was mistakenly hiding the Shear Tail Out Distance and Shear Encoder Switchover distance parameters.