Objectsare used to represent systems, system components, real-world objects and software objects. Objectsare defined using the Object NodeClass, specified in Table 11.

Table 11– Object NodeClass

Name

Use

Data Type

Description

Attributes

Base NodeClass Attributes

M

--

Inherited from the Base NodeClass. See 5.2.

EventNotifier

M

EventNotifierType

The EventNotifier Attributeis used to indicate if the Nodecan be used to subscribe to Eventsor the read / write historic Events.

The EventNotifierType is defined in 0.

References

HasComponent

0..*

HasComponent Referencesidentify the DataVariables, the Methodsand Objectscontained in the Object.

HasProperty

0..*

HasProperty Referencesidentify the Propertiesof the Object.

HasModellingRule

0..1

Objectscan point to at most one ModellingRule Objectusing a HasModellingRule Reference(see 6.4.4for details on ModellingRules).

HasTypeDefinition

1

TheHasTypeDefinition Reference points to the type definition of the Object. Each Objectshall have exactly one type definition and therefore be the SourceNodeof exactly one HasTypeDefinition Referencepointing to an ObjectType. See 4.5for a description of type definitions.

HasEventSource

0..*

The HasEventSource Referencepoints to event sources of the Object. Referencesof this type can only be used for Objectshaving their “SubscribeToEvents” bit set in the EventNotifier Attribute. See 7.17for details.

HasNotifier

0..*

The HasNotifier Referencepoints to notifiers of the Object. Referencesof this type can only be used for Objectshaving their “SubscribeToEvents” bit set in the EventNotifier Attribute. See 7.18for details.

Organizes

0..*

This Referenceshould be used only for Objectsof the ObjectType FolderType(see 5.5.3).

<other References>

0..*

Objectsmay contain other References.

Standard Properties

NodeVersion

O

String

The NodeVersion Propertyis used to indicate the version of a Node.

The NodeVersion Propertyis updated each time a Referenceis added or deleted to the Nodethe Propertybelongs to. Attributevalue changes do not cause the NodeVersionto change. Clientsmay read the NodeVersion Propertyor subscribe to it to determine when the structure of a Nodehas changed.

Icon

O

Image

The Icon Propertyprovides an image that can be used by Clientswhen displaying the Node. It is expected that the Icon Propertycontains a relatively small image.

NamingRule

O

NamingRuleType

The NamingRuleProperty defines the NamingRuleof a ModellingRule(see 6.4.4.2.1for details). This Propertyshall only be used for Objectsof the type ModellingRuleTypedefined in 6.4.4.

The Object NodeClassinherits the base Attributesfrom the Base NodeClassdefined in 5.2.

The mandatory EventNotifier Attribute identifies whether the Objectcan be used to subscribe to Eventsor to read and write the history of the Events.

The Object NodeClassuses the HasComponent Referenceto define the DataVariables, Objectsand Methodsof an Object.

It uses the HasProperty Referenceto define the Propertiesof an Object. The Property NodeVersionis used to indicate the version of the Object. The Property Iconprovides an icon of the Object. The Property NamingRuledefines the NamingRuleof a ModellingRuleand shall only be applied to Objectsof type ModellingRuleType. There are no additional Propertiesdefined for Objectsin this document. Additional parts of this series of standards may define additional Propertiesfor Objects.

To specify its ModellingRule, an Objectcan use at most one HasModellingRule Referencepointing to a ModellingRule Object. ModellingRulesare defined in 6.4.4.

HasNotifierand HasEventSource Referencesare used to provide information about eventing and can only be applied to Objectsused as event notifiers. Details are defined in 7.16and 7.18.

The HasTypeDefinition Referencepoints to the ObjectTypeused as type definition of the Object.

Objectsmay use any additional Referencesto define relationships to other Nodes. No restrictions are placed on the types of Referencesused or on the NodeClassesof the Nodesthat may be referenced. However, restrictions may be defined by the ReferenceTypeexcluding its use for Objects. Standard ReferenceTypesare described in Clause 7.

If the Objectis used as an InstanceDeclaration(see 4.5) then all Nodesreferenced with forward hierarchical Referencesdirection shall have unique BrowseNamesin the context of this Object.

If the Objectis created based on an InstanceDeclarationthen it shall have the same BrowseNameas its InstanceDeclaration.

ObjectTypesprovide definitions for Objects. ObjectTypesare defined using the ObjectType NodeClass, which is specified in Table 12.

Table 12– ObjectType NodeClass

Name

Use

Data Type

Description

Attributes

Base NodeClass Attributes

M

--

Inherited from the Base NodeClass. See 5.2.

IsAbstract

M

Boolean

A boolean Attributewith the following values:

TRUEit is an abstract ObjectType, i.e. no Objectsof this type shall exist, only Objectsof its subtypes.

FALSEit is not an abstract ObjectType, i.e. Objectsof this type can exist.

References

HasComponent

0..*

HasComponent Referencesidentify the DataVariables, the Methods, and Objectscontained in the ObjectType.

If and how the referenced Nodesare instantiated when an Objectof this type is instantiated, is specified in 6.4.

HasProperty

0..*

HasProperty Referencesidentify the Propertiesof the ObjectType. If and how the Propertiesare instantiated when an Objectof this type is instantiated, is specified in 6.4.

HasSubtype

0..*

HasSubtype Referencesidentify ObjectTypesthat are subtypes of this type. The inverse SubtypeOf Referenceidentifies the parent type of this type.

GeneratesEvent

0..*

GeneratesEvent Referencesidentify the type of Eventsinstances of this type may generate.

<other References>

0..*

ObjectTypesmay contain other Referencesthat can be instantiated by Objectsdefined by this ObjectType.

Standard Properties

NodeVersion

O

String

The NodeVersion Propertyis used to indicate the version of a Node.

The NodeVersion Propertyis updated each time a Referenceis added or deleted to the Nodethe Propertybelongs to. Attributevalue changes do not cause the NodeVersionto change. Clientsmay read the NodeVersion Propertyor subscribe to it to determine when the structure of a Nodehas changed.

Icon

O

Image

The Icon Propertyprovides an image that can be used by Clientswhen displaying the Node. It is expected that the Icon Propertycontains a relatively small image.

The ObjectType NodeClassinherits the base Attributesfrom the Base NodeClassdefined in 5.2. The additional IsAbstract Attributeindicates if the ObjectTypeis abstract or not.

The ObjectType NodeClassuses the HasComponent Referencesto define the DataVariables, Objects, and Methodsfor it.

The HasProperty Referenceis used to identify the Properties. The Property NodeVersionis used to indicate the version of the ObjectType. The Property Iconprovides an icon of the ObjectType. There are no additional Propertiesdefined for ObjectTypes in this document. Additional parts of this series of standards may define additional Propertiesfor ObjectTypes.

HasSubtype Referencesare used to subtype ObjectTypes. ObjectTypesubtypes inherit the general semantics from the parent type. The general rules for subtyping apply as defined in Clause 6. It is not required to provide the HasSubtype Referencefor the supertype, but it is required that the subtype provides the inverse Referenceto its supertype.

GeneratesEvent Referencesidentify the type of Eventsthat instances of the ObjectTypemay generate. These Objectsmay be the source of an Eventof the specified type or one of its subtypes. Serversshould make GeneratesEvent Referencesbidirectional References. However, it is allowed to be unidirectional when the Serveris not able to expose the inverse direction pointing from the EventTypeto each ObjectTypesupporting the EventType. Note that the EventNotifier Attributeof an Objectand the GeneratesEvent Referencesof its ObjectTypeare completely unrelated. Objectsthat can generate Eventsmight not be used as Objectsto which Clientssubscribe to get the corresponding Eventnotifications.

GeneratesEvent Referencesare optional, i.e. Objectsmay generate Eventsof an EventTypethat is not exposed by its ObjectType.

ObjectTypesmay use any additional Referencesto define relationships to other Nodes. No restrictions are placed on the types of Referencesused or on the NodeClassesof the Nodesthat may be referenced. However, restrictions may be defined by the ReferenceTypeexcluding its use for ObjectTypes. Standard ReferenceTypesare described in Clause 7.

All Nodesreferenced with forward hierarchical Referencesshall have unique BrowseNamesin the context of an ObjectType (see 4.5).

The ObjectType FolderTypeis formally defined in OPC 10000-5. Its purpose is to provide Objectsthat have no other semantic than organizing of the AddressSpace. A special ReferenceTypeis introduced for those Folder Objects, the Organizes ReferenceType. The SourceNodeof such a Referenceshould always be a Viewor an Objectof the ObjectType FolderType; the TargetNodecan be of any NodeClass. Organizes Referencescan be used in any combination with HasChild References(HasComponent, HasProperty, etc.; see 7.5) and do not prevent loops. Thus, they can be used to span multiple hierarchies.

Objectsare always based on an ObjectType, i.e. they have a HasTypeDefinition Referencepointing to its ObjectType.

Clientscan create Objectsusing the AddNodes Servicedefined in OPC 10000-4. The Servicerequires specifying the TypeDefinitionNodeof the Object. An Objectcreated by the AddNodes Servicecontains all components defined by its ObjectTypedependent on the ModellingRulesspecified for the components. However, the Servermay add additional components and Referencesto the Objectand its components that are not defined by the ObjectType. This behaviour is Serverdependent. The ObjectTypeonly specifies the minimum set of components that shall exist for each Objectof an ObjectType.

In addition to the AddNodes Service ObjectTypesmay have a special Methodwith the BrowseNameCreate”. This Method is used to create an Objectof this ObjectType. This Methodmay be useful for the creation of Objectswhere the semantic of the creation should differ from the default behaviour expected in the context of the AddNodes Service. For example, the values should directly differ from the default values or additional Objectsshould be added, etc. The input and output arguments of this Methoddepend on the ObjectType; the only commonality is the BrowseNameidentifying that this Methodwill create an Objectbased on the ObjectType. Serversshould not provide a Methodon an ObjectTypewith the BrowseNameCreate” for any other purpose than creating Objectsof the ObjectType.