5.86.0
8/9/2022
SCN 4635 allowed the Open Loop presses on an XL244CL to be configured for Feed to Stop operation.
This change had an unforeseen impact in that it was the first time the Shear on a Closed Loop controller was able to be configured as an Open Loop Feed to Stop.
There are many places in the code that test the type of shear press to determine if the controller is a Closed Loop Feeder or a Closed Loop Die Accelerator. This test is no a longer valid test in a lot of instances on a Closed Loop controller now.
Every place this test is used has had to be re-evaluated. There are so many places that require edits that all of edits are not practically able to be tested.
A combination of heavy code review and some spot testing is being used to verify these changes.
Eliminated the the possibility of a Divide by Zero error when calculating the die return velocity. The code was testing for a negative value but was failing to text for a zero value in the math doing the calculation.
When running a Feed to Stop press with a Closed Loop Die Accelerator, if the stopping operation is within the travel range of the die, the DA will delay its operation and do it with the die stationary.
This change optimizes production by calculating and positioning the die where it needs to be positioned so that it will be already be very close to the correct position to fire when the stopping press has stopped the material. After the material is stopped, for accuracy, the die is repositioned again based on the actual material stopped position vs the press target position.
This change actually impacts all software models due to a design change in how the software determines if it is safe to move material and at what speed.
A poorly documented design choice was making it very difficult get the Two Speed operation on the XL244CL Standard Die to work properly when combined with a two speed Open Loop stopping press.
A global variable that appears to have been added for the closed loop Delay After Shear operation was being used in an attempt to remember what speed to return to after the delay. Otherwise, all presses had the ability to vote on what speed to move at and they all have to agree on the fastest speed, Fast, Slow or Stopped. The Run code was trying to pretend to be the Shear press using the global variable.
This has been modified to give the Run code its own equal vote in what speed the material is able to move at so that it is more clear, separated and no longer prone to race conditions associated with the use of the global variable.
Moved bit manipulation and testing of various bit fields into methods of the Move Structure.
This is has been very rare. On power-up the 5387 board occasionally seems to report a large number of encoder counts, usually negative. The number of counts is far larger than anything that could physically occur on a machine. This is has been very rare. On power-up the 5387 board occasionally seems to report a large number of encoder counts, usually negative. The number of counts is far larger than anything that could physically occur on a machine.
Since we have a large number of 5387 boards in the field that would be very difficult to update, this change attempts to detect the problem and ignore the erroneous counts if and when they occur. Prior attempts to read the encoder several times on power-up to throw away any encoder counts occurring during power up have failed, leading us to believe the timing of the issues is complicated. For this reason we are adding a test that we expect will capture and correct the issue no matter when it occurs.
If the number of counts (positive or negative) exceeds 10,000 on a single read the encoder counts are discarded. This number, despite the appearance of being a nice round number pulled out of the air, was actually calculated using the following rational. A maximum material rate of 2000fpm using the smallest allowable resolution of 0.00004" and an encoder sample rate of 1msec results in a maximum number of counts per 1msec of 10,000 counts.
When entering the Run Mode (Auto), Closed Loop Die Accelerators sometimes need to position themselves prior to starting material movement. Historically this has been done using the Die Jog Speed. The Die Jog or Reference Speed makes sense for referencing but it unnecessarily slows down production for other operations.
For all stationary operations in Auto, besides referencing the home sensor, Standard Die Accelerators and Multi-Hit Die Accelerators will now position themselves using the Max Die Return velocity.
The Tab order of objects in windows on the XL screen is determined by the reverse order of when they are added to the window. The last object added receives focus and the object added just prior to that will be the next object to receive focus.
Combo Boxes failed to adhere to that rule, which messed up the tab order of some windows that selectively display combo boxes instead of integer prompts. The reason being that the combo box is built with a Window control and Window controls by default don't adhere to the same tab order rules. This was rectified in the Combo Box control.
This change prevents the No Selection entry of a combo box from being saved in the Scrap Code, Delay Code, Employee Code, Setup Library or Tool Library selection process. The windows containing these fields were modified to prevent the user from Selecting OK with a no Selection entry active. The OK button will display an Error Message with relevant instructions on what is required before OK is a valid option.
The Combo Box displays a list or text strings. If the current selection (integer value) is not in the list, the Comb Box displays "No Selection". The combo box allows for an integer entry if the user knows the code they want to select from the list and doesn’t want to scroll through it in entirety. It is expected that the user will select an entry or enter valid code from the list.
There was a bug when entering an integer value. The Combo box would delete itself and replace itself with an integer prompt. This potentially left a window with a pointer to an object that no longer existed(Dangling Pointer). Use of this pointer could result in memory corruption. Also, if they selected an invalid number, the list was no longer available for them to reference to find an entry.
Rather than delete itself the combo box is removed( not deleted) and replaced with the integer prompt. If the user enters a value that is not in the list, the integer prompt is deleted (no one has a pointer to it) and the Combo Box, with the list, is added back into the window.
The Two Speed Advance Task was being created unnecessarily at times.
In most cases an Enter key is required to validate and save data entered in an open edit window. However Dialog windows have additional code that detects when the OK button is selected to validate and save the data.
This change adds the same capability for the Right Explorer windows that have a data entry window rather than the traditional Grid. Examples of this would be the Setup and Tool Library selection windows in the Setup screen.
If the part printing option is enabled the printer press will not prevent a Manual Shear in Run Mode, provided no print driver is selected.
The DATA segment has outgrown the size allotted for it. The Heap Memory segment was moved from 2D000 to 2E000 to make room for it.