D2000 CfgSynchro - comparing objects
In order to synchronize configuration databases it is necessary for every object to correctly determine
its image (counterpart) in the other database. For this purpose, so called unique identifier (UID -
64-character-long string), that is a part of each object's configuration and its value is generated
automatically by the D2000 system when the object is created and it never changes.
As for objects of System type, the UID is the same as the name of
the object itself. This ensures that that if any additional system objects are added to the system in
various configurations, they will be considered correct.
What stands above implies, if in two different configuration databases objects of the same name and type
are created, then when synchronizing, these will be considered to be totally different objects, which will not
permit the synchronization to take place, because of their UIDs being different (in certain cases it is
possible to suppress such behaviour by synchronizing the UIDs on user's request - this is referred to as
Name conflict).
The picture shows two configuration databases that consist of objects
of User variable type - U.New, U.Old, U.Old1
and U.Old2. So as to prevent ambiguities it is necessary to not only refer to an object by its name
but to include the name of the database the object belong to , as well, which will form the prefix of the
original object's name (e.g. A#U.New denotes an object called U.New from the configuration
database A).
In accordance to the definition, UID is generated for every object when it is created. Therefore we
can claim objects A#U.Old and B#U.Old2, as well as objects A#U.Old1 and B#U.Old2
to be identical (created as copies).
Objects A#U.New and B#U.New are different and due to which e.g. when copying object
A#U.New to the configuration of B, a quite new object is created. In order to preserve changes within
a configuration, in addition to being copied, the object will have to be renamed, too.
The first step of synchronizing databases is opening them. During this period, the necessary part of the
configuration is automatically loaded. If there are objects without set UID, they will receive one
automatically. Such a situation may occur if the database is opened by the process
D2000 CfgSynchro for the first time (after upgrading the version of
D2000 system).
Subsequently, pairs of objects are formed based on matching UIDs and their
mutual state is evaluated because of possible change of their
configuration.
Pridať komentár