XL220OL
4.102.0
10/3/2025

Over the Years we have been mixing more and more Open Loop and Closed Loop features. The more code that is in common between software projects, the easier it is to support.

The stacker code was stacking on a budle change or when there were no more orders.

Usually, there is a bundle number change between orders, but sometimes, for single item orders, there is not. The old test, bundle number change, mostly worked unless there were subsequent single item Orders where the items in each order had the same bundle number.

This change forces a stack on an Order change.

Allen Bradley SERCOS drives work differently than the Bosch drives. On site at a customer we discovered that the drives apparently will generate faults internally that they want to be cleared, but they don't report them in the SERCOS interface or even in the Drive Explorer software. This has been learned by exerience by the customer who has these drives.

A recent change to Clearing drive errors for SERCOS seems to have opened up an issue. When in Phase 4, a request to clear drive errors now will initiate a new phase progression from Phase 0. In Phase 2, each drive is checked for an error and it will get cleared if it is reporting one. The old software would clears errors, present or not.

In this new change we will be setting an override flag that tells Phase 2 to clear errors in every drive,even if the drive is not reporting one. This is a change that is being made on site. There is a possibility that the AB drive may not do the same processing in Phase 2 as it does in Phase 4. Implementing this in Phase 4 is not something I want to undertake on site, where I can't test it before hand. It is much more complicated.

We have added Min Tolerance and Average Tolerance fields to the Closed Loop Data screen.

The Max Error value is no longer compared as an absolute value against the absolute error.

All of the fields are initialized to zero when the screen in initialized or when a new graph is started. The first tolerance that is measured will be filled into the Max, Min and Avg Tolerance fields. Min and Max will then be compared from there. The Average will begin being calculated on the second tolerance measurement reported.

These new fields are intended to make it easier to evaluate how consistent the tolerance is and to provide some sense of how it is distributed.

SCN 5112 changed what happens when errors are cleared in SERCOS Phase4. All errors are cleared by forcing a new phase progression. While passing through phase 2, errors are cleared in all drives.

To be consistent, this SCN adds the same behavior to the EtherCat fieldbus. If F3-Clear Error is selected on a drive while the bus is in Full Operational state, a new Operational State progression will be triggered. While passing through Pre-Operational state, all drives with errors will have them cleared.

As a test we needed to be able to a -5 exponent for position parameters on a Diax02 drive. The software was changed to allow us to use whatever exponent is currently configured in the drive. In addition, since the Diax02 drives don't work with Drivetop the Position and Velocity exponents are now programable through the XL SERCOS Paramater editor.

Changing the exponent did not resolve the issue we were experiencing. However, this ability may come in handy in the future so I am going to preserve the changes.

A new field has been added to the Diax02 Multi-Axis Driver.

In almost all cases, this field should be zero. However, in some drives with high gear ratio's, we run into an issue with Absolute Encoder Travel range. The encoder can only measure 2048 motor turns on either side of zero. If the motor has to travel further than that, the reported position will invert its polarity sign when it crosses the 2048 turn boundary. Position Limits Errors, if enabled, will happen slightly before that.

The maximum travel range can be calculated by 2048 * (Gear Out/Gear In) * Feed Constant. The Travel limits will be +- this calculated value. For example, a gear ratio of 20:1 and a Feed Constant of .2" results in a travel range of +-20.48".

The Offset From Zero lets us use this range more effectively by making it appear that the zero point of the axis is in a different place. If we use our earlier example and we need the axis to travel to 24" we can shift where zero is. We can shift the zero point -10" by entering -10" in the Offset From Zero setting. This will make our travel range -10.48" and + 30.48" inches.

When referencing and sending positions to the drive, the controller lies to it. It offsets the positions it sends and the positions it gets back by the Offset by Zero value to effectively shift the travel range the drive has, into the range that we can use.

If Position Limits are being used, the must be shifted in the drive by the Offset From Zero value. For example, if the Axis upper limit is 30.48", adding the -10" offset from our example means the limit in the drive needs to be 20.48".