4.37.0
6/6/2016
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.
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.
- When the encoder resolutions are hand entered. The ratio between the two resolutions is used.
- 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.
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.
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.
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.
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:
- 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.
- 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.
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.
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.