The LockingServicesTypeprovides Methodsto manage the lock and Propertieswith status information. This section describes the common semantic. The lock-owner ObjectTypeswill often extend these semantics.

Figure 31shows the LockingServicesTypedefinition. It is formally defined in Table 59.

image034.png

Figure 31– LockingServicesType

Table 59– LockingServicesType definition

Attribute

Value

BrowseName

LockingServicesType

IsAbstract

False

References

NodeClass

BrowseName

DataType

TypeDefinition

Other

Subtype of the BaseObjectType defined in OPC 10000-5.

0:HasComponent

Method

InitLock

Defined in 7.5

M

0:HasComponent

Method

RenewLock

Defined in 7.7

M

0:HasComponent

Method

ExitLock

Defined in 7.6

M

0:HasComponent

Method

BreakLock

Defined in 7.8

M

0:HasProperty

Variable

0:DefaultInstanceBrowseName

0:QualifiedName

0:PropertyType

0:HasProperty

Variable

Locked

0:Boolean

0:PropertyType

M

0:HasProperty

Variable

LockingClient

0:String

0:PropertyType

M

0:HasProperty

Variable

LockingUser

0:String

0:PropertyType

M

0:HasProperty

Variable

RemainingLockTime

0:Duration

0:PropertyType

M

Conformance Units

DI Locking

The StatusCode Bad_MethodInvalidshall be returned from the Call Servicefor Objectswhere locking is not supported. Bad_UserAccessDeniedshall be returned if the Client Userdoes not have the permission to call the Methods.

The DefaultInstanceBrowseName Property– defined in OPC 10000-3– is used to specify the recommended BrowseNamefor instances of the LockingServicesType. Its Value is defined in Table 60.

Table 60– LockingServicesType Additional Variable Attributes

Source Path

Value

0:DefaultInstanceBrowseName

Lock

A lock is typically initiated by a Clientcalling the InitLock Methodand removed by calling the ExitLock Method. The lock-owner ObjectTypescan define mechanisms that automatically initiate and remove a lock.

A lock request will be rejected if operations are active that will be prevented by the lock.

The lock is automatically removed if the MaxInactiveLockTimehas elapsed (see 7.4). The lock is also removed when the Sessionends during inactivity. This is typically the case when the connection to the Clientbreaks and the Sessiontimes out.

The following LockingServices Propertiesoffer lock-status information.

Lockedwhen True indicates that this element has been locked by some Applicationand that no or just limited access is available for other Applications.

When the lock is initiated by a Client, LockingClientcontains the ApplicationUri of the Clientas provided in the CreateSession Servicecall (see OPC 10000-4). Other options to get this information can be specified on the lock-owner ObjectType.

LockingUsercontains information to identify the user. When the lock is initiated by a Clientit is obtained directly or indirectly from the UserIdentityToken passed by the Clientin the ActivateSession Servicecall (see OPC 10000-4). Other options to get this information can be specified on the lock-owner ObjectType.

RemainingLockTimedenotes the remaining time in milliseconds after which the lock will automatically be removed by the Server. This time is based upon MaxInactiveLockTime(see 7.4).