The following Locking feature is based on the AddInmodel specified in OPC 10001-7.

Locking is the means to avoid concurrent modifications to an Objectby restricting access to the entity (often a Clientbut could also be an internal process) that initiated the lock. LockingServicesare typically used to make a set of changes (for example, several Writeoperations and Methodinvocations) and where a consistent state is available only after all of these changes have been performed.

The context of the lock is specific to the ObjectTypewhere it is applied to (subsequently named "lock-owner"). These specifics need to be described as part of this lock-owner ObjectType. See for example the section on lock in the TopologyElement(clause 4.3) and the Network(clause 5.3).

By default, a lock allows other Applicationsto view (navigate/read) the locked element. However, Serversmay choose to implement an exclusive locking where other Applicationshave no access at all (e.g. in cases where even read operations require certain settings to Variables).