5.84.0
5/11/2022
A request was made to provide timely and convenient access to information about the Eclipse communication status. The request was to provide an icon in the Top Line Window that will show if Eclipse is communicating to the controller and if there are any messages pending for Eclipse to process. The intent is for an operator to be able to notice if Eclipse is down prior to it being a problem without having to periodically navigate to the Eclipse Diagnostic screen.
Four icons were created:
- A green computer monitor with an empty screen.
- A green computer monitor with part of the screen filled in.
- A grey computer monitor with an empty screen and a red X crossing through it.
- A grey computer monitor with an part of the screen filled in and a red X crossing though it.
The specified icons are displayed under the following conditions: No Icon - Eclipse not configured. 1 - Eclipse active, no messages to process. 2 - Eclipse active with messages to process. 3 - Eclipse NOT active, no messages to process. 4 - Eclipse NOT active with messages to process
If Eclipse see that production records don't have sequential dates and times it will report the "Bad date-time received from the controller" error.
One instance of this was tracked down to the production record generated when the Power-Off in Run Mode error is displayed. It was being reported before the Power Off production record. The Power Off in run mode record is reported with the last saved (Power-Off ) date time. All other records are reported with the current time. This means the Power-Off record needs to be the first production record generated after a power cycle.
A few lines of code were swapped so that the production records get generated in the correct order which now makes Eclipse happy.
A Locked or Unlocked icon is now shown in the Top Line Window to indicate the state of the setup lockout input.
The tree lines in the program screen Order Tree did not display correctly when adding the first few orders. Some connecting lines would be missing, usually on the second order in the list. This problem has now been resolved.
Normally Tree, Grid and List objects have scroll bars that are used to navigate and indicate the presence of more data above or below the viewing area.
The XL does not have scroll bars due to screen space constraints. This can sometimes cause confusion when operators are looking for things.
To help alleviate this confusion a very simple indication has been added to the Tree and Grid controls. The top and bottom row of data in each list will have a 3 pixel wide black bar at the top or bottom to indicate there is no more data. Because of the many tree menus and grids that don't have more data than fit on the screen I believe it will become intuitive, at least to some, what the indications mean.
There are other proposed solutions for this problem. They have not been implemented to date due to the complexity and length of development time and testing. This solution was simple, easy and relatively safe. Hopefully it is an improvement over nothing.
There have been a few reports of jumps in encoder position during power up.
The Closed Loop controller already read the encoders on power up to eliminate any encoder counts that may randomly get reported by the 5387 board during a power cycle. The Open Loop did not.
The Open Loop controllers now read the encoders during power up, attempting to eliminate this issue. In addition, both Open and Closed Loop controllers have a 50msec delay added to them to give the 5387 board more time to initialize, just in case, before doing the read.
The MODBUS PLC List Parameter code in the XL failed to allocate enough memory to store the list under some circumstances. This resulted in memory corruption of adjacent heap records in memory. When detected, the memory corruption caused Task Errors.
This change protects the controller from an improperly configured List when using MODBUS PLC List Parameters. If the PLC programmer fails to configure the Fraction field of the Parameter Format properly, the XL can fail to allocate enough memory for the list. As the XL is filling in the list it now checks the size of the list against the size of the memory allocated for it. If the list will not fit, the creation of the current and subsequent parameters will stop and an error message describing the problem will be displayed.
Using the format %ls the logger class can now add length strings to a debug print.