XL2CL
4.37.0
6/6/2016
SCN: 2921 — XL2 Added 16 more DIP switches to the Configuration Screen

Planning for future development that is common between Open and Closed Loop projects 16 more DIP switches were added to the configuration screen.

There were no more free DIP switches that the Open and Closed Loop projects had in common so 16 new ones were added.

SCN: 2935 — XL2 Addition of Dual Line Encoders

An additional Line Encoder port was added in order to eliminate the use of an Encoder Switcher and Dual sensors when two line encoders are used for scrap savings on coil threadup and tailout.

DIP switch 17 enables the second line encoder. Open Loop controllers will use port 2 for the second line encoder. Closed Loop controllers will support this feature with port 3.

At this time, only Closed Loop Die Accelerators support this feature. Single Encoder Feed to Stop will never support it. Two Encoder Feed to Stop will support it in a later SCN.

Only Version 4 controllers have the available DIP switch and encoder port. Much of the source modified for this change is shared between the Version 4 and 3 controllers so they are included on the change.

To support Trim Correction of the second encoder, two new setups were added. Trim Correction Encoder and Correction Factor 2. Trim Correction Encoder has two settings, Exit(1) and Entry(2). This setting indicates which encoder was used to produce the Last Measured Length part.

When two line encoders are enabled, only one sensor is required to handle threadup and tailout. When the tail out input comes on, the coil does not actually tail out until some distance later. When the tailout input turns on, the location of the trailing edge of the material is captured and when the trailing edge travels far enough, the controller then tails out. The controller internally switches from the Entry(2) encoder to the Exit(1) encoder on thread up or tail out based on a new setup called Main Encoder.

The new setup Main Encoder has two settings, Exit(1) or Entry(2). It defaults to Exit(1). When set to Exit(1), the controller switches to the Exit(1) encoder during threadup. When set to Entry(2), the controller switches to the Exit(1) encoder when the tail out input turns on. Several new setups were added to support threadup and tailout.

Shear Tail Out Distance is the distance from the shear where the material is considered to have tailed out. This distance should be longer than the shear to encoder distance so the controller tails out while still in contact with the Exit(1) encoder. Many times a rollformer is not able to drive the material beyond the Exit(1) encoder. In this case a slightly longer distance, measured from the shear, where the material stops, should be entered. While running or jogging forward, the run status will display TAILING while the material is moving to the Shear Tail Out Distance.

Shear Encoder Switchover Distance is the distance from the shear where the controller will switch from the Entry(2) encoder to the Exit(1) encoder when the Main Encoder setting is set to Exit(1). This distance should be shorter, as measured from the shear than the shear to encoder distance. This parameter replaces the Shear to Encoder distance parameter. A value smaller than the distance between the shear and Exit(1) encoder should be entered.

Additional effects of the Main Encoder Setting. The encoder that is not selected is considered the Auxiliary encoder. The controller calculates encoder targets and other internal variables based on the resolution of the Main Encoder. When using the Auxiliary encoder, the Auxiliary encoder counts are converted to counts as if the controller were running on the Main Encoder so that the rest of the software is unaware that the Auxiliary Encoder even exists.

As part are being run, the controller keeps track of the Last Programmed Length and also which Encoder was last used to produce a part. This information is used to prepopulate the Last Programmed Length and Trim Correction Encoder settings.

It is best practice to only perform a Trim Correction on parts that have been run using the Main Encoder. The ratio of encoder counts between the Exit(1) and Entry(2) encoders is expected to be relatively constant once it is known. Using this knowledge a trim correction of the Main Encoder is also able to trim correct the Auxiliary encoder at the same time.

The controller uses two methods to determine the ratio between the two encoders.

  1. When the encoder resolutions are hand entered. The ratio between the two resolutions is used.
  2. While running, the controller monitors both encoders and calculates a filtered ratio of encoder counts between the two encoders based on the number of encoder counts coming in on each port.

Because the machine will operate on the Main Encoder most of the time and operators typically Trim Correct periodically, the Main Encoder effective resolution is expected to be accurate.

A new setup called Auto Correct Auxiliary Encoder has two settings, Enable and Disable. When Enabled, the controller uses the filtered encoder count ratio and corrected resolution for the Main Encoder to automatically correct the resolution for the Auxiliary encoder.

A Trim Correction on the Main Encoder preserves the ratio between the two encoder resolutions. A Trim Correction on the Auxiliary Encoder establishes a new ratio. In other words, A Trim Correction on the Main Encoder also corrects the Auxiliary Encoder. A trim correction on the Axillary Encoder, only corrects the Auxiliary Encoder. However, when Trim Correcting the Auxiliary Encoder, two wrongs can make a right.

Best practice is to leave the Auto Correct Auxiliary Encoder Enabled and only Trim Correct the Main Encoder. Following these practices should result in an accurate resolution for the Auxiliary Encoder on all but its initial use.

If Auto Correct Auxiliary Encoder is Disabled, best practice is to Trim Correct the Main Encoder prior to Trim Correcting the Auxiliary Encoder.

For machines that use a front shear to cut blanks or have an alternate shear where the Entry(2) encoder is temporarily not used during threadup or tailout, a new setup called Tail Out Configuration was added. It has two settings, Single and Double. It defaults to Double, meaning both encoders are involved in threadup or tailout. When set to Single, only the Main Encoder is used for threadup and tailout. The controller will tailout immediately when set to Single. Also, when set to Single, the Auto Correct Auxiliary Encoder setting is effectively Disabled.

The ability to select between Encoder Ports was also added via an Extended MODBUS input, input 45.

SCN: 2936 — XL2 Undo SCN 2912 - Second Line Encoder Resolution

Trying to implement two resolutions using a single encoder port and an external encoder switcher proved to be too difficult to configure. Correcting for encoder tracking was very unfriendly and caused much confusion.

This option is being removed and is being replaced by the changes described in SCN 2935 - Addition of Dual Line Encoders.

This means that any customer using a version 3 controller that wants dual resolutions for their line encoder must upgrade to a version 4 controller.

SCN: 2940 — XL2CL Move Rotary Dies to Start Position after a Line Halt

The Rotary Dies follow a Cam algorithm tied to material motion. When the material stops moving, the die stops moving. If configured correctly, the controller will stop material motion after all dies have left the metal but typically prior to their reaching the start position.

Prior to this change, the dies would move to their start positions prior to the material beginning its motion during the next Line Start. This has resulted in production being delayed while this happens.

After the material and dies stop moving during a Line Halt, if the die position is between the stop match position and the start position, the controller will now move the die to the start position. This will allow the material to begin moving right away during the next Line Start, eliminating the production delay.

SCN: 2941 — XL2CL Selectively Allow Rotary dies to start tracking material at any time

The Rotary Dies follow a Cam algorithm tied to material motion. When the material stops moving, the die stops moving. When configured and integrated correctly, the controller will prevent stopping the material while a rotary shear or punch is in the metal. However on some patterns on some machines it may not be possible.

If the die stops in the metal, we were not allowing the material to start moving again because some machines run material that is too thick to cut or punch without the momentum of a moving die. It is more difficult than necessary to recover from this condition on machines that don't have this concern.

We now allow the customer to be in control of when or if it is allowed for the material to begin moving again when a die is in the material.

New setups for each die have been added. For Shear only, the setup is called "In Material Die Recovery". For Dual systems the setup is called "In Material Die n Recovery" where n is replaced with 1 or 2 depending on which die it references. It has two settings, Automatic and Manual. It defaults to Manual for backwards compatibility. When set to Automatic, the controller will allow material to start moving and will track the die through the material when it begins moving again during the next Line Start.

SCN: 2942 — XL2CL Anti-Backup Enhancement for Rotary Dies

The Rotary Dies follow a Cam algorithm tied to material motion. When the material stops moving, the die stops moving. Also, if the material moves in reverse, the die will begin moving in reverse. The algorithm is only minimally able to handle material that is moving in reverse so it is only allowed for a brief period of time before an error is displayed and the controller will exit run.

On some lines we have noticed that when the material comes to a stop it may oscillate forward and reverse prior to coming to a complete stop. This causes nuisance errors. Additionally, there is concern that it may oscillate enough in reverse that it reverses the die back into the metal and then stops.

Two changes have been made:

  1. During Coast to Stop mode, after the die leaves the metal and prior to it accelerating for the next target, reverse motion of the die is clipped such that the die will only advance with the material. It will not follow it in reverse. The material must proceed in the forward direction passed the point where the die stopped in order for the die to begin moving forward again.
  2. The negative velocity error test becomes disabled when the controller enters Coast to Stop mode.
SCN: 2943 — XL2 Multi-Axis not OR'ing gags correctly

For Multi-Axis controllers, gags were not being OR'ed correctly in some circumstances. If a press had many operations at the same X location with multiple Y locations, operations that could be performed together were not being combined.

When searching the Queue for oportunities to combine, the routine was only comparing Y-operations at the last operation at a given X location rather than looking at all operations at a given X location.

SCN: 2944 — XL2 Videojet 1510 Logo Printing.

For the VideoJet 1510 printer logo printing can now be done in one of two ways.

If the string associated with the logo font is only 1 character, the graphics character command will be used to select the specified graphics character.

If the string associated with the logo font is longer than 1 character the string is interpreted as a file name and the command that attempts to print the logo from a file contained on the printer will be used.

SCN: 2945 — XL2 Missing Scrap Code on Manual Shear Records

The XL requires scrap codes on Manual Shears when Scrap Codes are enabled and the length of the Manually Sheared material is longer than the Manual Shear Scrap Length.

One customer discovered that when two manual shears are executed in succession, one Manual Shear production record had the Scrap reported and the next production record had no Scrap but it did have a scrap code.

A code review revealed that on the first manual shear, the controller detected that a scrap code was required, zeroed the length past the shear, asked for the scrap code and delayed reporting the manual shear until the scrap code was entered. The second manual shear had no material past the shear so it executed a manual shear and reported the manual shear, which also reported the footage. When the operator later entered a scrap code, a manual shear was reported but the footage was zero because it had already been reported in the earlier production record that had no scrap code.

There was technically two bugs here:

  1. The actual history of events was not being accurately reported. The time when the Manual shears actually took place was actually being distorted by delaying the production record.
  2. The Scrap was being reported separated from the scrap code instead of together.

Both bugs have been fixed by preventing the manual shear from occurring until the Scrap Code is entered. This is consistent with preventing the line from entering the run mode until a delay code is entered.

SCN: 2946 — XL2 0x8F000012 Task Error with SERCOS

Controllers with SERCOS and issues reaching phase4 due to improperly configured cable lengths, faulty fiber optic cables were most susceptible to the 0x8F000012 task error. This task error is generated if an IRQ 7 interrupt is generated when not expected.

IRQ7 is the receive interrupt that is generated by the DSP to indicate it has response data ready.

This bug could readily be duplicated by tying the receive and transmit SERCOS ports together with a single fiber optic cable.

The problem was caused by a bug in the controllers Operating System API functions for installing, enabling and disabling interrupt vectors. These functions were allowing interrupts to occur during the function.

Additional restructuring of when Interrupt Vectors were enabled and disabled was done in the SERCOS task.

SCN: 2947 — XL2 On TailOut, display Unload Previous Coil screen.

Prior to this change the user was NOT asked what happened to the previous coil until the next coil was threaded. This does not tend to matter unless you have Eclipse and Eclipse is keying off of the Unload production record to do something important like printing a new coil tag. The delay in the production record generation delays the generation of the coil tag.

The XL will now ask what happened to the previous coil when the coil tails out. If the operator answers promptly, the delay of the new coil tag is eliminated.

This also impacts the Decrement Qty screen since it asks which coil the dec qty parts were produced from. The screen used to default to the currently loaded coil which now may no longer be loaded. It now displays the last loaded coil, The last loaded coil becomes and also is the currently loaded coil when a new coil is loaded.