XL220CL
5.81.0
1/19/2022

With the exception of Hungarian these languages have been in our translation database but they have never been added to the XL2 source code.

This change adds the languages, which are in various stages of translation.

The Language Selection window that is displayed on Memory Clear shows all languages translated using native spelling and fonts. In other words, each speaker will see their language in the font and using the spelling/characters they understand. This is possible because multiple fonts are able to be used to display items in a window. It is not possible in a list were everything must use the same font.

A new type of edit control and setup type was developed specifically for editing the Language setup. It behaves in all ways like a regular list type except when it comes time to display the list. At that time, the new control displays the same modal window that is displayed on memory clear and it is used to display the language selections.

When the Version 4 and Version 3 XL200 source code was shared we needed conditional assembly to manage the differences between them. They are no longer shared since the V3 controller is obsolete. Now that we have the Version 5 controller the conditional assembly could get unnecessarily complicated. Nearly everything that is in Version 4 is in Version 5 so the Version 4 condition checks are being removed.

SERCOS drives have the ability to have configurable levels of precision (number of decimal places) for each type of parameter, depending on the parameters units, i.e. velocity units.

The XL needs to know the precision of the units in order to correctly interact with the drive and scale the value it sends and receives from the drive.

The XL has always set the precision of the velocity units for example so that they would be in a consistent known format.

A tech in the field experienced an issue where the chosen precision was limiting the speed that could be used by the Axis. The motor was capable of running faster but the precision of the velocity units places an upper limit on how fast the drive would run the axis.

In order to allow the precision to be changed to suit the techs installation without affecting legacy installs, the XL software was modified to read the precision setting out of the drive and to use it to do its conversions rather than set the precision. This was only done for Multi-Axis drives. Feeder and DA drives still function and use the precision configured by the XL.

SERCOS drives don't use the Drive Enable output from the XL. They are enabled through the SERCOS communication to the drive. The drive also reports back its enabled status through the same communication.

This change expands upon the change that was made in SCN 4583 where the enabled status from the drive was monitored to terminate Multi-Axis moves. Now all SERCOS drives are monitored.

As long as SERCOS communication is fully active, in phase four with full cyclical data transfer we can monitor the state of the drives enabled status.

If we attempt to enable the drive and it fails or if the drive loses its enabled state for external reasons we will display an error message informing them that the drive failed to enable or became disabled and to check the state of the drive for faults or any condition that prevents normal operation.

Closed Loop Feeders and Die Accelerators using SERCOS or Analog also have a Loop that gets enabled when the drive gets enabled. SERCOS has additional feedback that can be monitored to determine if the Drive has disabled itself.

This change ensures that the Loop on the XL gets disabled when the loss of enable is detected through feedback from the drive or when loss of communication to the drive is detected.

A bug was introduced in SCN 1912 back in 2008.

The timer interrupt that transfers data between the two processors on the XL must be installed before SERCOS takes over running the operating system. Otherwise, both the timer interrupt and SERCOS will attempt to transfer the data. This causes a timing problem and the 8F00000E occurs as a result.

The code prior to SCN 1912 had the proper protection to prevent this. SCN 1912 conditionally bypassed this code with incorrect logic. All Closed Loop controllers with the SERCOS option need the protection. If the controller had the Multi-Axis option the protection code got bypassed.

Any long delay, such as displaying an error message, prior to installing the timer interrupt could cause the task error to occur. This bug has now been fixed.

The setup Reference Die on Manual Shear was added so that the die would not home on a Manual Shear. Some customers need to jog the die and cut in a specific place and this setting facilitated that need by cutting wherever the die happens to be.

Homing the die can take some time. Mechanical four post presses need to shear the part when the die is centered between the posts. The setup Shear Die Distance facilitates that need.

A recent customer asked that they be able to use the Shear Die Distance and also disable the die homing on a manual shear. Prior to this change those two options were mutually exclusive.

This change allows the Shear Die Distance to be used on a manual shear when Reference Die on Manual Shear is set to NO. Howeve, it is only used when it is set to a Non-Zero value.

There have been reports of the V5 controllers failing to generate a command (voltage) signal when the Loop is enabled on V5 Closed Loop controllers. The problem was also duplicated internally.

In general the issue was caused by the order that the ARM processor was processing data sent to it through the 386 processors timer interrupt. If the ARM processor received two or more data blocks prior to being able process them, they needed to be processed in the same order as the 386 send them and they weren’t. This will eliminate any processing order dependencies that may occur as a result.

Specifically the individual Loop Settings were getting processed before the initial Power up settings were getting processed. Until the initial Power up settings are configured, the individual Loop settings cannot be processed. The Loop gain and other settings were not getting set, which prevented the loop from generating a signal.