5.89.0
3/17/2023
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.
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):
- Tail out is immediate.
- Thread up uses the Shear to Encoder Distance 2 to set the encoder
- Tail out uses the Shear to Encoder Distance 2 to calculate scrap.
When the Main Encoder is set to Exit (1)
- Tail out is delayed until the Shear Tail out Distance.
- Thread up uses the Shear Tail out Distance to set the encoder.
- 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.
We have added a selection for the Keyence MK-G1000 part printer. This and the Keyence MK-U6000 printer selection select the exact same driver behind the scenes. The new selection makes it clear that the MK-G1000 printer is supported and avoids the confusion of having to select a driver that does not match the printer model.
The Closed Loop Feed to Stop controllers have a Slow Run input to help reduce Scrap when threading a new coil. It also helps for Material pit control.
Up until this point Open Loop controllers or controllers that have Open Loop Material motion control have handled with these things with external logic. However, if the material speed is controlled using the Analog feature of the controller, external logic is not sufficient.
This change adds an extended IO input (MODBUS) on input 52 or 50 for Open Loop Slow Run control. If the controller has Open Loop Material motion control, this input will be available.
HVAC Controllers use input 50.
All other controllers use input 52.
The Coast Mode Timeout setting was added for lines that take longer than the 3 second value that was hard coded at the time. It was only really intended to be left alone or used to compensate for lines that have longer coast times.
Customers have felt the need to adjust it down to the minimum of 1 second. This can create Missed Target scenarios where targets could have been hit wile coasting but were limited by the shortened coast time.
The Minimum Limit on this setting has now been changed to the default setting of 3 seconds.
On a Coil tail-out the tailed coil must be classified as Completely Used, Returned to Inventory or Not Unloaded. There is an Unload Coil Window that requires this classification to occur.
The software was not accounting for the possibility that an operator may turn power off to the machine while the Unload Coil screen is active. The window is displayed as soon as the coil tails out. It is very possible, near the end of a shift, that there may be no more production for the day and the machine gets turned off before threading the next coil. Because the tailed Coil was not classified, it is still considered the current coil. When the new coil is threaded, the software has no reason to prompt for a new coil. All the new coil’s production was getting attributed to the tailed coil.
The result of this scenario is the tailed coil gets double production tracked to it and the new coil gets none. The customers inventory still believes it has the new coil available for use.
To fix this issue, the state of tail-out will now be remembered throughout a power cycle. The Unload Coil screen will be presented after the power-up, requiring the tailed coil to be classified.
When selecting a driver, the RS232 Baud rate is displayed as a read only setup parameter to help in configuring the printer. The 19200 Baud rate is mistakenly displayed as 14400. This has been resolved.
The 0x00B0002 task error is an indication of memory record corruption It is displayed when the record corruption is detected.
SCN 4716 setup conditions that cause memory corruption when trying to implement a new Queue Record garbage collection scheme.
SCN 4755 attempted to fix it by adding more protection around adding, removing, and deleting records. Customers are still experiencing issues with the new collection scheme, so it has now been re-implemented using a combination of the original method but with a new improvement.
The original method involved each press task removing and immediately deleting their own Queue Records. Deleting the records can be a lengthy process and is undesirable in a high priority press task.
The new solution returns to having each press task remove its own Queue Records but rather than delete them, it adds them to a new queue that a low priority task monitors to do the deletion.
Any window that requires attention from an operator is going to be a Modal Window. A status bit has been added to the Flags in the UART Status Sub-Command to indicate anytime a Modal Window is open.
The intended use for this is to notify a PC application anytime the XL controller needs attention. This allows the XL user interface to be buried and accessible through a KVM Window Application on a PC. In theory this allows an XL to be installed on a system where its only access to the XL display and keyboard is through a KVM interface window. A monitoring application can monitor the status bit and indicate on the computer screen that the XL requires attention.
This bit becomes available with Eclipse UART version 3.61 and higher.