5.99.0
7/3/2025
A method for converting Gag ID's to the Gag index and bit in Gag Bit arrays was added.
The Debug output for Gags was only showing gags up to gag 32.
The File import function for testing Shape Programming was not working with gags greater than 32.
Added a test to combine duplicate operations in the solution pattern into one single operation.
There are some debug print changes that are only active when the source code is used in the Eclipse Pro FindSolutions DLL.
Added a field to store the Tool X offset in the shape table. This is used to correctly offset the X offset of a set of grouped shapes. The Tool X offset is used as the group handle to calculate the resulting X Offset in the Pattern.
Removed the X offset from the Press Table. This field is not used in the controller and wasn't needed in the DLL. Eliminating it helps eliminate complexity and confusion.
Removed the Y offset from the press table and replaced it with a Y Reference Offset. This offset is used to account for the offset in the shape locations when a machine is Edge Referenced. The part operations are always converted to Center Referenced. To be comparable, the shapes need to be offset to make them center referenced as well.
Added methods to the Solution class so that all direct access to the gPart table in the DLL could be removed and replaced with calls to these methods.
Added the ability to optionally read multiple 32bit gag words from the File Import.
Added the ability to optionally specify a shape X and Y offset to the File Import.
Use the Radius tolerance when comparing Y-Offsets of non-movable shapes, looking for a handle.
Fixed an Array out of bounds error when searching backwards in a part to apply a grouped shape.
Cleaned up the debug printout for the press table to make it easier to read.
The display in the Windows simulation was not updating durring the Toggle input R command. This command is used to simulate the toggling of a home sensor.
The issue was the Toggle R and all other windows simulation commands were executing in the PEG graphics task, which updates the display. While executing the Toggle R command, the PEG task could not also update the display.
Now the commands will execute in their own task, which will allow the display to update during any lengthy command like the Toggle R command.
There were several tasks in the windows simulation that were not identified with catalogs.
Edits to the QTY on a DONE item were being converted to Remake (Scrap) parts, with no scrap code. This makes no sense. Edits to a partially complete item don't do the same thing, which makes this behavior even more surprising and confusing. In addition, we have a remake function that will explicity do this, and prompt for a scrap code to boot. If the user wants these extra parts to be remake parts, they can use the remake function.
Edits to a DONE order will now clear the scrap qty and the scrap code in the item.
Using the keypad there was no way to cancel an Increment Qty other than canceling all Increment Qty with the CE key.
The F5-Dec Qty key can now be used to undo a single Increment Qty part.
We ran into an issue on a customer install. We were incorrectly informed that Diax02 drives support the Drive Internal Interpolation mode that we have historically used on multi-Axis installs. It turns out this is incorrect.
Rather than relying on the Drive to calculate the Position Profile Setpoints for an axis move, we had to add the capability for the controller to generate them.
These are 30-year-old drives, SERCOS is also an obsolete technology. The customer’s line is down, and they have several more lines with these same drives. With all these things in mind, some compromises were made to speed up the implementation.
The setpoint generation requires our operating system to be in sync with the SERCOS Bus. We already do this by using the SERCOS chip to run our OS on SERCOS Closed Loop Controllers. For this and the previously stated issues, this support is only available on the Closed Loop models with the SERCOS option.
A new Driver Type called "Local SERCOS Diax02" has been added.
A new Check box in the SERCOS Settings window "Diax02 Operation" is available on the Closed Loop controller with the SERCOS option. When this box is checked all SERCOS drives will be configured in operation modes known to work on Diax02 drives. For Multi-Axis drives, the Local SERCOS Diax02 driver type must be used. . The Local SERCOS Diax02 drive can be used on a more modern drive Diax03 or higher as it still uses settings and operating modes that are available in those drives.
Only SERCOS drives with the appropriate drive type will be visible in Diagnostics. A Run Mode entry test will display an error if the wrong type has been selected.
Other than the Driver Type, the only visible difference between a "Local SERCOS" and a "Local SERCOS Diax02" driver will be the Diax02 type will have an Acceleration parameter that is required in order to generate the motion profile.
The Diax02 version does not support S-Curves. Those were provided by the Drive Internally when it generated the motion profile.
A bug was found in the Diax02 drives we had available to test with. The Velocity parameters were found to only work reliably in the drives when configured for RPM. We chose to use Preferred scaling, where the drive chooses its own prefereed scaling.
Velocity drives, for Feeders and Die Accelerators still operate in the Velocity mode they have always used. Velocity will be in RPM so drive scaling will require some new math to RPM instead of Inches/minute.
Multi-Axis drives now operate in Position Mode where we have to send a postion setpoint on each drive sample. The XL is generating the motion profile with these setpoints.
Additional help for configuring these drives can be found in the Support One-Note.
If there were more than 1 SERCOS drive, sometimes clearing an error using the F3-Clear Error function key did not work.
This has been resolved.
The controller default part print message has a rotation of 270 degrees. The Keyence Print driver only prints one character of the default part print message. The single character that does print, prints horizontally instead of vertically. Because the message gets rotated by 270 degrees, the rest of the message is hidden in the screen and does not print on the part..
It is too late to change the default message for the driver. This will break existing customers installs that may use the default message. It is also too late to completely adjust the driver’s interpretation of the rotation property so that the default message prints properly. Again, any general adjustment will impact existing customers of the printer.
A new setup has been added that is enabled when the Keyence Part Print drivers are selected. It is called Adjust Part Print Rotation. The parameter has two options, 0 and 90. It defaults to 0 degrees for legacy reasons. When set to 90, it will add 90 degrees to the rotation found within in any print message definition. This effectively converts 270 degrees back to zero. All the other rotation options are shifted by the same amount.
To help with pattern troubleshooting on Multi-Axis machines, the Axis Id for the Tool used in a pattern will now be displayed in the operation grid.
For non-multi-axis machines, the Axis ID will always be zero.
If the Axis cannot be determined at display time it will be displayed as a '?'. Macros and Shape operations don't have an Axis until after the part has been calculated. If the operation is for a Macro pattern or if it is for a shape operation, it will also display a '?'. Other cases where the Axis ID cannot be determined are the case of missing tools that cannot be found at display time.
In the future we will be creating a Software Licensing feature that allows a controller to be sold without functioning software. The Software will be sold seperately and licensed. The license will contain and select the Model that the controller is supposed to function as.
A new model has been created for controllers that have not had a software license enabled. This Model will be be selected by the software when a software license has not yet been enabled in the software.
The new model will be functional enough to be configured to communicate with Eclipse, which can provide the license in the future. In the future it will also provide the ability to configure the license manually.
Starting from a functionally controller the following changes have been made to create this model.
Disable all inputs to the controller so that it cannot function. No presses or motion configuration is defined.
The XL2OL controllers will have XL200-Unlicensed as their Model. The XL2CL will have XL200CL-Unlicensed as their Model. The XL220 will have XL220-Unlicensed as its Model. The XL220CL will have XL220CL-Unlicansed as its Model.
There is currently no way to configure a controller as Unlicensed. That will come in a future SCN.
Enable the "Clear Queue After" setup for the KMF controller.