Warning
Potential for Data Loss: The steps detailed in the resolution of this article may result in a loss of critical data if not performed properly. Before beginning these steps, make sure all important data is backed up in the event of data loss. If you are unsure or unfamiliar with any complex steps detailed in this article, please contact Product Support for assistance.
Issue
How can duplicate Handle errors be fixed?
Product Line
Andover Continuum
Environment
- All versions of Continuum
- CX, i2 and infinet Controllers
Cause
An SQL database gives every object a unique handle that is used internally to reference that object. If Continuum requests a value from an Input point that has handle 1234, but that controller has handle 1234 for example as a TimeDate point, then problems will ensue.
Every object in the DB has a unique handle. This includes all classes: points, programs, graphics, reports, schedules, etc.
Duplicate handles can be caused on sites where engineers use multiple databases during commissioning on new panels (maybe a Single User on their laptop), It can also be caused by importing dump files with handles created from other databases, or just from database corruption on the server from failures etc. It can also be caused by the use of an Infinity LSX280 see Handle mismatch issues.
Resolution
- Usually reloading the controller will re-sync the controller and all of its object handles back to the site database.
- If the DB has become corrupted, run the analyzer and try to fixup (Clean) any issues
- You may even have to manually delete the offending objects, running the Import Export Fixup utility (See How to run the Import/Export Fixup Utility)
- Follow this with a controller reload
- Worst case would be to revert to a backup DB if it is found to be corrupt.
To avoid issues altogether, it is best to engineer a project all from a single DB and take care when importing dump files.